{"version":3,"file":"static/js/main.a6e1164a.js","mappings":"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","sources":["../node_modules/@babel/runtime/regenerator/index.js","../node_modules/axios/node_modules/form-data/lib/browser.js","../node_modules/fast-deep-equal/react.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-router/node_modules/react-is/index.js","../node_modules/react-tsparticles/cjs/particles.js","../node_modules/react-tsparticles/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/tsparticles-engine/esm/Utils/EventDispatcher.js","../node_modules/tsparticles-engine/esm/Core/Utils/Vector.js","../node_modules/tsparticles-engine/esm/Utils/NumberUtils.js","../node_modules/tsparticles-engine/esm/Options/Classes/OptionsColor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Options.js","../node_modules/tsparticles-engine/esm/Options/Classes/Background/Background.js","../node_modules/tsparticles-engine/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js","../node_modules/tsparticles-engine/esm/Options/Classes/BackgroundMask/BackgroundMask.js","../node_modules/tsparticles-engine/esm/Options/Classes/FullScreen/FullScreen.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/ClickEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/DivEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/Parallax.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/HoverEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/Events.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Attract.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Bounce.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/BubbleBase.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/BubbleDiv.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Bubble.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/ConnectLinks.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Connect.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/GrabLinks.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Grab.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/LightGradient.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/LightArea.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/LightShadow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Light.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Push.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Remove.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/RepulseBase.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/RepulseDiv.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Repulse.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Slow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Trail.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Modes.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Interactivity.js","../node_modules/tsparticles-engine/esm/Options/Classes/ManualParticle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Motion/MotionReduce.js","../node_modules/tsparticles-engine/esm/Options/Classes/Motion/Motion.js","../node_modules/tsparticles-engine/esm/Options/Classes/Responsive.js","../node_modules/tsparticles-engine/esm/Options/Classes/Theme/ThemeDefault.js","../node_modules/tsparticles-engine/esm/Options/Classes/Theme/Theme.js","../node_modules/tsparticles-engine/esm/Options/Classes/ColorAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/HslAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/AnimatableColor.js","../node_modules/tsparticles-engine/esm/Options/Classes/AnimatableGradient.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.js","../node_modules/tsparticles-engine/esm/Options/Classes/Random.js","../node_modules/tsparticles-engine/esm/Options/Classes/ValueWithRandom.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Collisions/Collisions.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/SplitFactor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/SplitRate.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/Split.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/Destroy.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Life/LifeDelay.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Life/LifeDuration.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Life/Life.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Links/LinksShadow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Links/LinksTriangle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Links/Links.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveAngle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveAttract.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveGravity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Path/MovePathDelay.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Path/MovePath.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveTrail.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/OutModes.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Spin.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Move.js","../node_modules/tsparticles-engine/esm/Options/Classes/AnimationOptions.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Opacity/Opacity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Orbit/OrbitRotation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Orbit/Orbit.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Number/ParticlesDensity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Number/ParticlesNumber.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Repulse/ParticlesRepulse.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Roll/RollLight.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Roll/Roll.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Rotate/RotateAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Rotate/Rotate.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Shadow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Shape/Shape.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Size/SizeAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Size/Size.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Stroke.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Tilt/TiltAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Tilt/Tilt.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Twinkle/TwinkleValues.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Twinkle/Twinkle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Wobble/Wobble.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/ZIndex/ZIndex.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/ParticlesOptions.js","../node_modules/tsparticles-engine/esm/Utils/Utils.js","../node_modules/tsparticles-engine/esm/Core/Utils/Constants.js","../node_modules/tsparticles-engine/esm/Utils/ColorUtils.js","../node_modules/tsparticles-engine/esm/Utils/CanvasUtils.js","../node_modules/tsparticles-engine/esm/Core/Canvas.js","../node_modules/tsparticles-engine/esm/Core/Utils/EventListeners.js","../node_modules/tsparticles-engine/esm/Core/Utils/InteractionManager.js","../node_modules/tsparticles-engine/esm/Core/Utils/FrameManager.js","../node_modules/tsparticles-engine/esm/Core/Utils/Vector3d.js","../node_modules/tsparticles-engine/esm/Core/Particle.js","../node_modules/tsparticles-engine/esm/Core/Utils/Point.js","../node_modules/tsparticles-engine/esm/Core/Particles.js","../node_modules/tsparticles-engine/esm/Core/Utils/Range.js","../node_modules/tsparticles-engine/esm/Core/Utils/Circle.js","../node_modules/tsparticles-engine/esm/Core/Utils/Rectangle.js","../node_modules/tsparticles-engine/esm/Core/Utils/CircleWarp.js","../node_modules/tsparticles-engine/esm/Core/Utils/QuadTree.js","../node_modules/tsparticles-engine/esm/Core/Retina.js","../node_modules/tsparticles-engine/esm/Core/Container.js","../node_modules/tsparticles-engine/esm/Core/Loader.js","../node_modules/tsparticles-engine/esm/Core/Utils/Plugins.js","../node_modules/tsparticles-engine/esm/engine.js","../node_modules/tsparticles-engine/esm/Core/Utils/ExternalInteractorBase.js","../node_modules/tsparticles-engine/esm/Core/Utils/ParticlesInteractorBase.js","../node_modules/tsparticles-engine/esm/index.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/createClass.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/createSuper.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/get.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/inherits.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/typeof.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/history/esm/history.js","../node_modules/mini-create-react-context/dist/esm/index.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-router/modules/createNameContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","Components/Infinity/index.js","../node_modules/tsparticles-plugin-absorbers/esm/Options/Classes/AbsorberSizeLimit.js","../node_modules/tsparticles-plugin-absorbers/esm/Options/Classes/AbsorberSize.js","../node_modules/tsparticles-plugin-absorbers/esm/Options/Classes/Absorber.js","../node_modules/tsparticles-plugin-absorbers/esm/AbsorberInstance.js","../node_modules/tsparticles-plugin-absorbers/esm/Absorbers.js","../node_modules/tsparticles-plugin-absorbers/esm/index.js","../node_modules/tsparticles-plugin-emitters/esm/Shapes/Circle/CircleShape.js","../node_modules/tsparticles-plugin-emitters/esm/EmitterInstance.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/EmitterLife.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/EmitterRate.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/EmitterSize.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/Emitter.js","../node_modules/tsparticles-plugin-emitters/esm/Emitters.js","../node_modules/tsparticles-plugin-emitters/esm/ShapeManager.js","../node_modules/tsparticles-plugin-emitters/esm/Shapes/Square/SquareShape.js","../node_modules/tsparticles-plugin-emitters/esm/index.js","../node_modules/tsparticles-interaction-external-trail/esm/TrailMaker.js","../node_modules/tsparticles-interaction-external-trail/esm/index.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskDrawStroke.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskDraw.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskInline.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskLocalSvg.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskMove.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMask.js","../node_modules/tsparticles-plugin-polygon-mask/esm/utils.js","../node_modules/tsparticles-plugin-polygon-mask/esm/PolygonMaskInstance.js","../node_modules/tsparticles-plugin-polygon-mask/esm/index.js","../node_modules/tsparticles-updater-roll/esm/RollUpdater.js","../node_modules/tsparticles-updater-roll/esm/index.js","../node_modules/tsparticles-particles.js/esm/index.js","../node_modules/tsparticles-updater-angle/esm/AngleUpdater.js","../node_modules/tsparticles-updater-angle/esm/index.js","../node_modules/tsparticles-move-base/esm/BaseMover.js","../node_modules/tsparticles-move-base/esm/Utils.js","../node_modules/tsparticles-move-base/esm/index.js","../node_modules/tsparticles-shape-circle/esm/CircleDrawer.js","../node_modules/tsparticles-shape-circle/esm/index.js","../node_modules/tsparticles-updater-color/esm/ColorUpdater.js","../node_modules/tsparticles-updater-color/esm/index.js","../node_modules/tsparticles-interaction-external-attract/esm/Attractor.js","../node_modules/tsparticles-interaction-external-attract/esm/index.js","../node_modules/tsparticles-interaction-external-bounce/esm/Bouncer.js","../node_modules/tsparticles-interaction-external-bounce/esm/index.js","../node_modules/tsparticles-interaction-external-bubble/esm/Bubbler.js","../node_modules/tsparticles-interaction-external-bubble/esm/index.js","../node_modules/tsparticles-interaction-external-connect/esm/Connector.js","../node_modules/tsparticles-interaction-external-connect/esm/index.js","../node_modules/tsparticles-interaction-external-grab/esm/Grabber.js","../node_modules/tsparticles-interaction-external-grab/esm/index.js","../node_modules/tsparticles-interaction-external-pause/esm/Pauser.js","../node_modules/tsparticles-interaction-external-pause/esm/index.js","../node_modules/tsparticles-interaction-external-push/esm/Pusher.js","../node_modules/tsparticles-interaction-external-push/esm/index.js","../node_modules/tsparticles-interaction-external-remove/esm/Remover.js","../node_modules/tsparticles-interaction-external-remove/esm/index.js","../node_modules/tsparticles-interaction-external-repulse/esm/Repulser.js","../node_modules/tsparticles-interaction-external-repulse/esm/index.js","../node_modules/tsparticles-shape-image/esm/Utils.js","../node_modules/tsparticles-shape-image/esm/ImageDrawer.js","../node_modules/tsparticles-shape-image/esm/index.js","../node_modules/tsparticles-updater-life/esm/LifeUpdater.js","../node_modules/tsparticles-updater-life/esm/index.js","../node_modules/tsparticles-shape-line/esm/LineDrawer.js","../node_modules/tsparticles-shape-line/esm/index.js","../node_modules/tsparticles-updater-opacity/esm/OpacityUpdater.js","../node_modules/tsparticles-updater-opacity/esm/index.js","../node_modules/tsparticles-updater-out-modes/esm/BounceOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/Utils.js","../node_modules/tsparticles-updater-out-modes/esm/DestroyOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/NoneOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/OutOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/OutOfCanvasUpdater.js","../node_modules/tsparticles-updater-out-modes/esm/index.js","../node_modules/tsparticles-move-parallax/esm/ParallaxMover.js","../node_modules/tsparticles-move-parallax/esm/index.js","../node_modules/tsparticles-interaction-particles-attract/esm/Attractor.js","../node_modules/tsparticles-interaction-particles-attract/esm/index.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Bounce.js","../node_modules/tsparticles-interaction-particles-collisions/esm/ResolveCollision.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Absorb.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Destroy.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Collider.js","../node_modules/tsparticles-interaction-particles-collisions/esm/index.js","../node_modules/tsparticles-interaction-particles-links/esm/Linker.js","../node_modules/tsparticles-interaction-particles-links/esm/interaction.js","../node_modules/tsparticles-interaction-particles-links/esm/LinkInstance.js","../node_modules/tsparticles-interaction-particles-links/esm/Utils.js","../node_modules/tsparticles-interaction-particles-links/esm/plugin.js","../node_modules/tsparticles-interaction-particles-links/esm/index.js","../node_modules/tsparticles-shape-polygon/esm/PolygonDrawerBase.js","../node_modules/tsparticles-shape-polygon/esm/PolygonDrawer.js","../node_modules/tsparticles-shape-polygon/esm/TriangleDrawer.js","../node_modules/tsparticles-shape-polygon/esm/index.js","../node_modules/tsparticles-updater-size/esm/SizeUpdater.js","../node_modules/tsparticles-updater-size/esm/index.js","../node_modules/tsparticles-shape-square/esm/SquareDrawer.js","../node_modules/tsparticles-shape-square/esm/index.js","../node_modules/tsparticles-shape-star/esm/StarDrawer.js","../node_modules/tsparticles-shape-star/esm/index.js","../node_modules/tsparticles-updater-stroke-color/esm/StrokeColorUpdater.js","../node_modules/tsparticles-updater-stroke-color/esm/index.js","../node_modules/tsparticles-shape-text/esm/TextDrawer.js","../node_modules/tsparticles-shape-text/esm/index.js","../node_modules/tsparticles-slim/esm/index.js","../node_modules/tsparticles-updater-tilt/esm/TiltUpdater.js","../node_modules/tsparticles-updater-tilt/esm/index.js","../node_modules/tsparticles-updater-twinkle/esm/TwinkleUpdater.js","../node_modules/tsparticles-updater-twinkle/esm/index.js","../node_modules/tsparticles-updater-wobble/esm/WobbleUpdater.js","../node_modules/tsparticles-updater-wobble/esm/index.js","../node_modules/tsparticles/esm/index.js","Components/Menu/index.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/ssr-window/ssr-window.esm.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/construct.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/dom7/dom7.esm.js","../node_modules/swiper/shared/dom.js","../node_modules/swiper/shared/get-support.js","../node_modules/swiper/shared/get-device.js","../node_modules/swiper/shared/get-browser.js","../javascript/esm|/home/ubuntu/cloud_link_frontend/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/swiper/shared/utils.js","../node_modules/swiper/core/events-emitter.js","../node_modules/swiper/core/update/index.js","../node_modules/swiper/core/update/updateSize.js","../node_modules/swiper/core/update/updateSlides.js","../node_modules/swiper/core/update/updateAutoHeight.js","../node_modules/swiper/core/update/updateSlidesOffset.js","../node_modules/swiper/core/update/updateSlidesProgress.js","../node_modules/swiper/core/update/updateProgress.js","../node_modules/swiper/core/update/updateSlidesClasses.js","../node_modules/swiper/core/update/updateActiveIndex.js","../node_modules/swiper/core/update/updateClickedSlide.js","../node_modules/swiper/core/translate/index.js","../node_modules/swiper/core/translate/getTranslate.js","../node_modules/swiper/core/translate/setTranslate.js","../node_modules/swiper/core/translate/minTranslate.js","../node_modules/swiper/core/translate/maxTranslate.js","../node_modules/swiper/core/translate/translateTo.js","../node_modules/swiper/core/transition/transitionEmit.js","../node_modules/swiper/core/slide/index.js","../node_modules/swiper/core/slide/slideTo.js","../node_modules/swiper/core/slide/slideToLoop.js","../node_modules/swiper/core/slide/slideNext.js","../node_modules/swiper/core/slide/slidePrev.js","../node_modules/swiper/core/slide/slideReset.js","../node_modules/swiper/core/slide/slideToClosest.js","../node_modules/swiper/core/slide/slideToClickedSlide.js","../node_modules/swiper/core/loop/index.js","../node_modules/swiper/core/loop/loopCreate.js","../node_modules/swiper/core/loop/loopFix.js","../node_modules/swiper/core/loop/loopDestroy.js","../node_modules/swiper/core/events/onTouchStart.js","../node_modules/swiper/core/events/onTouchMove.js","../node_modules/swiper/core/events/onTouchEnd.js","../node_modules/swiper/core/events/onResize.js","../node_modules/swiper/core/events/onClick.js","../node_modules/swiper/core/events/onScroll.js","../node_modules/swiper/core/events/index.js","../node_modules/swiper/core/breakpoints/setBreakpoint.js","../node_modules/swiper/core/breakpoints/index.js","../node_modules/swiper/core/breakpoints/getBreakpoint.js","../node_modules/swiper/core/classes/index.js","../node_modules/swiper/core/classes/addClasses.js","../node_modules/swiper/core/classes/removeClasses.js","../node_modules/swiper/core/images/index.js","../node_modules/swiper/core/images/loadImage.js","../node_modules/swiper/core/images/preloadImages.js","../node_modules/swiper/core/check-overflow/index.js","../node_modules/swiper/core/defaults.js","../node_modules/swiper/core/moduleExtendParams.js","../node_modules/swiper/core/core.js","../node_modules/swiper/core/transition/index.js","../node_modules/swiper/core/transition/setTransition.js","../node_modules/swiper/core/transition/transitionStart.js","../node_modules/swiper/core/transition/transitionEnd.js","../node_modules/swiper/core/grab-cursor/index.js","../node_modules/swiper/core/grab-cursor/setGrabCursor.js","../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","../node_modules/swiper/core/modules/resize/resize.js","../node_modules/swiper/core/modules/observer/observer.js","../node_modules/swiper/modules/keyboard/keyboard.js","../node_modules/swiper/modules/mousewheel/mousewheel.js","../node_modules/swiper/shared/create-element-if-not-defined.js","../node_modules/swiper/modules/navigation/navigation.js","../node_modules/swiper/shared/classes-to-selector.js","../node_modules/swiper/modules/pagination/pagination.js","../node_modules/swiper/react/utils.js","../node_modules/swiper/react/params-list.js","../node_modules/swiper/react/loop.js","../node_modules/swiper/react/get-children.js","../node_modules/swiper/react/update-swiper.js","../node_modules/swiper/react/use-isomorphic-layout-effect.js","../node_modules/swiper/react/context.js","../node_modules/swiper/react/swiper.js","../node_modules/swiper/react/get-params.js","../node_modules/swiper/react/mount-swiper.js","../node_modules/swiper/react/get-changed-params.js","../node_modules/swiper/react/virtual.js","../node_modules/swiper/react/swiper-slide.js","Components/Products/index.js","Components/Contact/index.js","Containers/Main/index.js","Components/Logo/index.js","Components/Head/index.js","Components/Subjects/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/env/classes/FormData.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/index.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","Components/Project/index.js","Components/PageNotFound/index.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\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\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\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\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 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 }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","(()=>{var t={757:(t,e,r)=>{t.exports=r(666)},666:t=>{var e=function(t){\"use strict\";var e,r=Object.prototype,n=r.hasOwnProperty,o=\"function\"==typeof Symbol?Symbol:{},i=o.iterator||\"@@iterator\",a=o.asyncIterator||\"@@asyncIterator\",c=o.toStringTag||\"@@toStringTag\";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof v?e:v,i=Object.create(o.prototype),a=new L(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===p)throw new Error(\"Generator is already running\");if(n===y){if(\"throw\"===o)throw i;return N()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=P(a,r);if(c){if(c===d)continue;return c}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(n===l)throw n=y,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=p;var u=f(t,e,r);if(\"normal\"===u.type){if(n=r.done?y:h,u.arg===d)continue;return{value:u.arg,done:r.done}}\"throw\"===u.type&&(n=y,r.method=\"throw\",r.arg=u.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:\"normal\",arg:t.call(e,r)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=s;var l=\"suspendedStart\",h=\"suspendedYield\",p=\"executing\",y=\"completed\",d={};function v(){}function m(){}function g(){}var w={};w[i]=function(){return this};var b=Object.getPrototypeOf,x=b&&b(b(S([])));x&&x!==r&&n.call(x,i)&&(w=x);var O=g.prototype=v.prototype=Object.create(w);function _(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if(\"throw\"!==u.type){var s=u.arg,l=s.value;return l&&\"object\"==typeof l&&n.call(l,\"__await\")?e.resolve(l.__await).then((function(t){r(\"next\",t,a,c)}),(function(t){r(\"throw\",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r(\"throw\",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function P(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,\"throw\"===r.method){if(t.iterator.return&&(r.method=\"return\",r.arg=e,P(t,r),\"throw\"===r.method))return d;r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return d}var o=f(n,t.iterator,r.arg);if(\"throw\"===o.type)return r.method=\"throw\",r.arg=o.arg,r.delegate=null,d;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=e),r.delegate=null,d):i:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,d)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(k,this),this.reset(!0)}function S(t){if(t){var r=t[i];if(r)return r.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if(\"root\"===a.tryLoc)return o(\"end\");if(a.tryLoc<=this.prev){var u=n.call(a,\"catchLoc\"),s=n.call(a,\"finallyLoc\");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;E(r)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,r,n){return this.delegate={iterator:S(t),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function(\"r\",\"regeneratorRuntime = r\")(e)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var n={};(()=>{\"use strict\";function t(t,e){for(var r=0;rm,default:()=>g});var s=r(757),f=r.n(s);const l=require(\"react\");var h=r.n(l);const p=require(\"tsparticles-engine\"),y=require(\"fast-deep-equal/react\");var d=r.n(y);var v=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function c(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,c)}u((n=n.apply(t,e||[])).next())}))},m=function(r){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");Object.defineProperty(t,\"prototype\",{value:Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),writable:!1}),e&&a(t,e)}(y,r);var n,o,c,s,l=(c=y,s=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,r=e(c);if(s){var n=e(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return u(this,t)});function y(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,y),(e=l.call(this,t)).state={init:!1,library:void 0},e}return n=y,(o=[{key:\"destroy\",value:function(){this.state.library&&(this.state.library.destroy(),this.setState({library:void 0}))}},{key:\"shouldComponentUpdate\",value:function(t){return!d()(t,this.props)}},{key:\"componentDidUpdate\",value:function(){this.refresh()}},{key:\"forceUpdate\",value:function(){var t=this;this.refresh().then((function(){i(e(y.prototype),\"forceUpdate\",t).call(t)}))}},{key:\"componentDidMount\",value:function(){v(this,void 0,void 0,f().mark((function t(){var e=this;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.props.init){t.next=3;break}return t.next=3,this.props.init(p.tsParticles);case 3:this.setState({init:!0},(function(){return v(e,void 0,void 0,f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.loadParticles();case 2:case\"end\":return t.stop()}}),t,this)})))}));case 4:case\"end\":return t.stop()}}),t,this)})))}},{key:\"componentWillUnmount\",value:function(){this.destroy()}},{key:\"render\",value:function(){var t=this.props,e=t.width,r=t.height,n=t.className,o=t.canvasClassName,i=t.id;return h().createElement(\"div\",{className:n,id:i},h().createElement(\"canvas\",{className:o,style:Object.assign(Object.assign({},this.props.style),{width:e,height:r})}))}},{key:\"refresh\",value:function(){return v(this,void 0,void 0,f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.destroy(),t.next=3,this.loadParticles();case 3:case\"end\":return t.stop()}}),t,this)})))}},{key:\"loadParticles\",value:function(){var t;return v(this,void 0,void 0,f().mark((function e(){var r,n,o=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state.init){e.next=2;break}return e.abrupt(\"return\");case 2:if(r=function(t){return v(o,void 0,void 0,f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.container&&(this.props.container.current=t),this.setState({library:t}),!this.props.loaded){e.next=5;break}return e.next=5,this.props.loaded(t);case 5:case\"end\":return e.stop()}}),e,this)})))},!this.props.url){e.next=9;break}return e.next=6,p.tsParticles.loadJSON(this.props.id,this.props.url);case 6:e.t0=e.sent,e.next=12;break;case 9:return e.next=11,p.tsParticles.load(this.props.id,null!==(t=this.props.params)&&void 0!==t?t:this.props.options);case 11:e.t0=e.sent;case 12:return n=e.t0,e.next=15,r(n);case 15:case\"end\":return e.stop()}}),e,this)})))}}])&&t(n.prototype,o),Object.defineProperty(n,\"prototype\",{writable:!1}),y}(l.Component);m.defaultProps={width:\"100%\",height:\"100%\",options:{},style:{},url:void 0,id:\"tsparticles\"};const g=m})();var o=exports;for(var i in n)o[i]=n[i];n.__esModule&&Object.defineProperty(o,\"__esModule\",{value:!0})})();","const ReactParticles = require(\"./cjs/particles\");\n\nfor (let key in ReactParticles) {\n ReactParticles.default[key] = ReactParticles[key];\n}\n\nmodule.exports = ReactParticles.default;\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c 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","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","var __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};\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};\nvar _EventDispatcher_listeners;\nexport class EventDispatcher {\n constructor() {\n _EventDispatcher_listeners.set(this, void 0);\n __classPrivateFieldSet(this, _EventDispatcher_listeners, new Map(), \"f\");\n }\n addEventListener(type, listener) {\n var _a;\n this.removeEventListener(type, listener);\n if (!__classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type)) {\n __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").set(type, []);\n }\n (_a = __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type)) === null || _a === void 0 ? void 0 : _a.push(listener);\n }\n removeEventListener(type, listener) {\n const arr = __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type);\n if (!arr) {\n return;\n }\n const length = arr.length, idx = arr.indexOf(listener);\n if (idx < 0) {\n return;\n }\n if (length === 1) {\n __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").delete(type);\n }\n else {\n arr.splice(idx, 1);\n }\n }\n removeAllEventListeners(type) {\n if (!type) {\n __classPrivateFieldSet(this, _EventDispatcher_listeners, new Map(), \"f\");\n }\n else {\n __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").delete(type);\n }\n }\n dispatchEvent(type, args) {\n var _a;\n (_a = __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => handler(args));\n }\n hasEventListener(type) {\n return !!__classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type);\n }\n}\n_EventDispatcher_listeners = new WeakMap();\n","export class Vector {\n constructor(xOrCoords, y) {\n if (typeof xOrCoords !== \"number\" && xOrCoords) {\n this.x = xOrCoords.x;\n this.y = xOrCoords.y;\n }\n else if (xOrCoords !== undefined && y !== undefined) {\n this.x = xOrCoords;\n this.y = y;\n }\n else {\n throw new Error(\"tsParticles - Vector not initialized correctly\");\n }\n }\n static clone(source) {\n return Vector.create(source.x, source.y);\n }\n static create(x, y) {\n return new Vector(x, y);\n }\n static get origin() {\n return Vector.create(0, 0);\n }\n get angle() {\n return Math.atan2(this.y, this.x);\n }\n set angle(angle) {\n this.updateFromAngle(angle, this.length);\n }\n get length() {\n return Math.sqrt(this.getLengthSq());\n }\n set length(length) {\n this.updateFromAngle(this.angle, length);\n }\n add(v) {\n return Vector.create(this.x + v.x, this.y + v.y);\n }\n addTo(v) {\n this.x += v.x;\n this.y += v.y;\n }\n sub(v) {\n return Vector.create(this.x - v.x, this.y - v.y);\n }\n subFrom(v) {\n this.x -= v.x;\n this.y -= v.y;\n }\n mult(n) {\n return Vector.create(this.x * n, this.y * n);\n }\n multTo(n) {\n this.x *= n;\n this.y *= n;\n }\n div(n) {\n return Vector.create(this.x / n, this.y / n);\n }\n divTo(n) {\n this.x /= n;\n this.y /= n;\n }\n distanceTo(v) {\n return this.sub(v).length;\n }\n getLengthSq() {\n return this.x ** 2 + this.y ** 2;\n }\n distanceToSq(v) {\n return this.sub(v).getLengthSq();\n }\n manhattanDistanceTo(v) {\n return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);\n }\n copy() {\n return Vector.clone(this);\n }\n setTo(v) {\n this.x = v.x;\n this.y = v.y;\n }\n 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 updateFromAngle(angle, length) {\n this.x = Math.cos(angle) * length;\n this.y = Math.sin(angle) * length;\n }\n}\n","import { Vector } from \"../Core/Utils/Vector\";\nexport function clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nexport function mix(comp1, comp2, weight1, weight2) {\n return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));\n}\nexport function randomInRange(r) {\n const max = getRangeMax(r);\n let min = getRangeMin(r);\n if (max === min) {\n min = 0;\n }\n return Math.random() * (max - min) + min;\n}\nexport function getRangeValue(value) {\n return typeof value === \"number\" ? value : randomInRange(value);\n}\nexport function getRangeMin(value) {\n return typeof value === \"number\" ? value : value.min;\n}\nexport function getRangeMax(value) {\n return typeof value === \"number\" ? value : value.max;\n}\nexport function setRangeValue(source, value) {\n if (source === value || (value === undefined && typeof source === \"number\")) {\n return source;\n }\n const min = getRangeMin(source), max = getRangeMax(source);\n return value !== undefined\n ? {\n min: Math.min(min, value),\n max: Math.max(max, value),\n }\n : setRangeValue(min, max);\n}\nexport function getValue(options) {\n const random = options.random, { enable, minimumValue } = typeof random === \"boolean\"\n ? {\n enable: random,\n minimumValue: 0,\n }\n : random;\n return enable ? getRangeValue(setRangeValue(options.value, minimumValue)) : getRangeValue(options.value);\n}\nexport function getDistances(pointA, pointB) {\n const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;\n return { dx: dx, dy: dy, distance: Math.sqrt(dx * dx + dy * dy) };\n}\nexport function getDistance(pointA, pointB) {\n return getDistances(pointA, pointB).distance;\n}\nexport function getParticleDirectionAngle(direction, position, center) {\n if (typeof direction === \"number\") {\n return (direction * Math.PI) / 180;\n }\n else {\n switch (direction) {\n case \"top\":\n return -Math.PI / 2;\n case \"top-right\":\n return -Math.PI / 4;\n case \"right\":\n return 0;\n case \"bottom-right\":\n return Math.PI / 4;\n case \"bottom\":\n return Math.PI / 2;\n case \"bottom-left\":\n return (3 * Math.PI) / 4;\n case \"left\":\n return Math.PI;\n case \"top-left\":\n return (-3 * Math.PI) / 4;\n case \"inside\":\n return Math.atan2(center.y - position.y, center.x - position.x);\n case \"outside\":\n return Math.atan2(position.y - center.y, position.x - center.x);\n case \"none\":\n default:\n return Math.random() * Math.PI * 2;\n }\n }\n}\nexport function getParticleBaseVelocity(direction) {\n const baseVelocity = Vector.origin;\n baseVelocity.length = 1;\n baseVelocity.angle = direction;\n return baseVelocity;\n}\nexport function collisionVelocity(v1, v2, m1, m2) {\n return Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * 2 * m2) / (m1 + m2), v1.y);\n}\nexport function calcEasing(value, type) {\n switch (type) {\n case \"ease-out-quad\":\n return 1 - (1 - value) ** 2;\n case \"ease-out-cubic\":\n return 1 - (1 - value) ** 3;\n case \"ease-out-quart\":\n return 1 - (1 - value) ** 4;\n case \"ease-out-quint\":\n return 1 - (1 - value) ** 5;\n case \"ease-out-expo\":\n return value === 1 ? 1 : 1 - Math.pow(2, -10 * value);\n case \"ease-out-sine\":\n return Math.sin((value * Math.PI) / 2);\n case \"ease-out-back\": {\n const c1 = 1.70158, c3 = c1 + 1;\n return 1 + c3 * Math.pow(value - 1, 3) + c1 * Math.pow(value - 1, 2);\n }\n case \"ease-out-circ\":\n return Math.sqrt(1 - Math.pow(value - 1, 2));\n default:\n return value;\n }\n}\nexport function calcPositionFromSize(data) {\n var _a, _b;\n return ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined && ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined\n ? {\n x: (data.position.x * data.size.width) / 100,\n y: (data.position.y * data.size.height) / 100,\n }\n : undefined;\n}\nexport function calcPositionOrRandomFromSize(data) {\n var _a, _b, _c, _d;\n return {\n x: (((_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : Math.random() * 100) * data.size.width) / 100,\n y: (((_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : Math.random() * 100) * data.size.height) / 100,\n };\n}\nexport function calcPositionOrRandomFromSizeRanged(data) {\n var _a, _b;\n const position = {\n x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,\n y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,\n };\n return calcPositionOrRandomFromSize({ size: data.size, position });\n}\nexport function calcExactPositionOrRandomFromSize(data) {\n var _a, _b, _c, _d;\n return {\n x: (_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : Math.random() * data.size.width,\n y: (_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : Math.random() * data.size.height,\n };\n}\nexport function calcExactPositionOrRandomFromSizeRanged(data) {\n var _a, _b;\n const position = {\n x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,\n y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,\n };\n return calcExactPositionOrRandomFromSize({ size: data.size, position });\n}\n","export class OptionsColor {\n constructor() {\n this.value = \"\";\n }\n static create(source, data) {\n const color = new OptionsColor();\n color.load(source);\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({ value: data });\n }\n else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n if ((data === null || data === void 0 ? void 0 : data.value) === undefined) {\n return;\n }\n this.value = data.value;\n }\n}\n","var __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};\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};\nvar _Options_instances, _Options_engine, _Options_findDefaultTheme;\nimport { deepExtend, loadParticlesOptions } from \"../../Utils/Utils\";\nimport { Background } from \"./Background/Background\";\nimport { BackgroundMask } from \"./BackgroundMask/BackgroundMask\";\nimport { FullScreen } from \"./FullScreen/FullScreen\";\nimport { Interactivity } from \"./Interactivity/Interactivity\";\nimport { ManualParticle } from \"./ManualParticle\";\nimport { Motion } from \"./Motion/Motion\";\nimport { Responsive } from \"./Responsive\";\nimport { Theme } from \"./Theme/Theme\";\nexport class Options {\n constructor(engine) {\n _Options_instances.add(this);\n _Options_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Options_engine, engine, \"f\");\n this.autoPlay = true;\n this.background = new Background();\n this.backgroundMask = new BackgroundMask();\n this.fullScreen = new FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 120;\n this.interactivity = new Interactivity();\n this.manualParticles = [];\n this.motion = new Motion();\n this.particles = loadParticlesOptions();\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.style = {};\n this.themes = [];\n this.zLayers = 100;\n }\n get fps_limit() {\n return this.fpsLimit;\n }\n set fps_limit(value) {\n this.fpsLimit = value;\n }\n get retina_detect() {\n return this.detectRetina;\n }\n set retina_detect(value) {\n this.detectRetina = value;\n }\n get backgroundMode() {\n return this.fullScreen;\n }\n set backgroundMode(value) {\n this.fullScreen.load(value);\n }\n load(data) {\n var _a, _b, _c, _d, _e;\n if (!data) {\n return;\n }\n if (data.preset !== undefined) {\n if (data.preset instanceof Array) {\n for (const preset of data.preset) {\n this.importPreset(preset);\n }\n }\n else {\n this.importPreset(data.preset);\n }\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n const detectRetina = (_a = data.detectRetina) !== null && _a !== void 0 ? _a : data.retina_detect;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n const fpsLimit = (_b = data.fpsLimit) !== null && _b !== void 0 ? _b : data.fps_limit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = (_c = data.fullScreen) !== null && _c !== void 0 ? _c : data.backgroundMode;\n if (typeof fullScreen === \"boolean\") {\n this.fullScreen.enable = fullScreen;\n }\n else {\n this.fullScreen.load(fullScreen);\n }\n this.backgroundMask.load(data.backgroundMask);\n this.interactivity.load(data.interactivity);\n if (data.manualParticles !== undefined) {\n this.manualParticles = data.manualParticles.map((t) => {\n const tmp = new ManualParticle();\n tmp.load(t);\n return tmp;\n });\n }\n this.motion.load(data.motion);\n this.particles.load(data.particles);\n this.style = deepExtend(this.style, data.style);\n __classPrivateFieldGet(this, _Options_engine, \"f\").plugins.loadOptions(this, data);\n if (data.responsive !== undefined) {\n for (const responsive of data.responsive) {\n const optResponsive = new Responsive();\n optResponsive.load(responsive);\n this.responsive.push(optResponsive);\n }\n }\n this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);\n if (data.themes !== undefined) {\n for (const theme of data.themes) {\n const optTheme = new Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n }\n }\n this.defaultDarkTheme = (_d = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, \"dark\")) === null || _d === void 0 ? void 0 : _d.name;\n this.defaultLightTheme = (_e = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, \"light\")) === null || _e === void 0 ? void 0 : _e.name;\n }\n setTheme(name) {\n if (name) {\n const chosenTheme = this.themes.find((theme) => theme.name === name);\n if (chosenTheme) {\n this.load(chosenTheme.options);\n }\n }\n else {\n const mediaMatch = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, clientDarkMode ? \"dark\" : \"light\");\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n const responsiveOptions = this.responsive.find((t) => t.mode === \"screen\" && screen\n ? t.maxWidth * pxRatio > screen.availWidth\n : t.maxWidth * pxRatio > width);\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 importPreset(preset) {\n this.load(__classPrivateFieldGet(this, _Options_engine, \"f\").plugins.getPreset(preset));\n }\n}\n_Options_engine = new WeakMap(), _Options_instances = new WeakSet(), _Options_findDefaultTheme = function _Options_findDefaultTheme(mode) {\n var _a;\n return ((_a = this.themes.find((theme) => theme.default.value && theme.default.mode === mode)) !== null && _a !== void 0 ? _a : this.themes.find((theme) => theme.default.value && theme.default.mode === \"any\"));\n};\n","import { OptionsColor } from \"../OptionsColor\";\nexport class Background {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"\";\n this.image = \"\";\n this.position = \"\";\n this.repeat = \"\";\n this.size = \"\";\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.position !== undefined) {\n this.position = data.position;\n }\n if (data.repeat !== undefined) {\n this.repeat = data.repeat;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { OptionsColor } from \"../OptionsColor\";\nexport class BackgroundMaskCover {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"#fff\";\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { BackgroundMaskCover } from \"./BackgroundMaskCover\";\nexport class BackgroundMask {\n constructor() {\n this.composite = \"destination-out\";\n this.cover = new BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover;\n const color = (typeof data.cover === \"string\" ? { color: data.cover } : data.cover);\n this.cover.load(cover.color !== undefined ? cover : { color: color });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","export class FullScreen {\n constructor() {\n this.enable = true;\n this.zIndex = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n }\n}\n","export class ClickEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n }\n}\n","export class DivEvent {\n constructor() {\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = \"circle\";\n }\n get elementId() {\n return this.ids;\n }\n set elementId(value) {\n this.ids = value;\n }\n get el() {\n return this.elementId;\n }\n set el(value) {\n this.elementId = value;\n }\n get ids() {\n return this.selectors instanceof Array\n ? this.selectors.map((t) => t.replace(\"#\", \"\"))\n : this.selectors.replace(\"#\", \"\");\n }\n set ids(value) {\n this.selectors = value instanceof Array ? value.map((t) => `#${t}`) : `#${value}`;\n }\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n const ids = (_b = (_a = data.ids) !== null && _a !== void 0 ? _a : data.elementId) !== null && _b !== void 0 ? _b : data.el;\n if (ids !== undefined) {\n this.ids = ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n","export class Parallax {\n constructor() {\n this.enable = false;\n this.force = 2;\n this.smooth = 10;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.force !== undefined) {\n this.force = data.force;\n }\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n }\n}\n","import { Parallax } from \"./Parallax\";\nexport class HoverEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n this.parallax = new Parallax();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.parallax.load(data.parallax);\n }\n}\n","import { ClickEvent } from \"./ClickEvent\";\nimport { DivEvent } from \"./DivEvent\";\nimport { HoverEvent } from \"./HoverEvent\";\nexport class Events {\n constructor() {\n this.onClick = new ClickEvent();\n this.onDiv = new DivEvent();\n this.onHover = new HoverEvent();\n this.resize = true;\n }\n get onclick() {\n return this.onClick;\n }\n set onclick(value) {\n this.onClick = value;\n }\n get ondiv() {\n return this.onDiv;\n }\n set ondiv(value) {\n this.onDiv = value;\n }\n get onhover() {\n return this.onHover;\n }\n set onhover(value) {\n this.onHover = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n this.onClick.load((_a = data.onClick) !== null && _a !== void 0 ? _a : data.onclick);\n const onDiv = (_b = data.onDiv) !== null && _b !== void 0 ? _b : data.ondiv;\n if (onDiv !== undefined) {\n if (onDiv instanceof Array) {\n this.onDiv = onDiv.map((div) => {\n const tmp = new DivEvent();\n tmp.load(div);\n return tmp;\n });\n }\n else {\n this.onDiv = new DivEvent();\n this.onDiv.load(onDiv);\n }\n }\n this.onHover.load((_c = data.onHover) !== null && _c !== void 0 ? _c : data.onhover);\n if (data.resize !== undefined) {\n this.resize = data.resize;\n }\n }\n}\n","export class Attract {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.easing = \"ease-out-quad\";\n this.factor = 1;\n this.maxSpeed = 50;\n this.speed = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\n","export class Bounce {\n constructor() {\n this.distance = 200;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class BubbleBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.mix = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.mix !== undefined) {\n this.mix = data.mix;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.color !== undefined) {\n if (data.color instanceof Array) {\n this.color = data.color.map((s) => OptionsColor.create(undefined, s));\n }\n else {\n if (this.color instanceof Array) {\n this.color = new OptionsColor();\n }\n this.color = OptionsColor.create(this.color, data.color);\n }\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n }\n}\n","import { BubbleBase } from \"./BubbleBase\";\nexport class BubbleDiv extends BubbleBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n return this.selectors instanceof Array\n ? this.selectors.map((t) => t.replace(\"#\", \"\"))\n : this.selectors.replace(\"#\", \"\");\n }\n set ids(value) {\n this.selectors = value instanceof Array ? value.map((t) => `#${t}`) : `#${value}`;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\n","import { BubbleBase } from \"./BubbleBase\";\nimport { BubbleDiv } from \"./BubbleDiv\";\nexport class Bubble extends BubbleBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.divs instanceof Array) {\n this.divs = data.divs.map((s) => {\n const tmp = new BubbleDiv();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new BubbleDiv();\n }\n this.divs.load(data.divs);\n }\n }\n}\n","export class ConnectLinks {\n constructor() {\n this.opacity = 0.5;\n }\n load(data) {\n if (!(data !== undefined && data.opacity !== undefined)) {\n return;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { ConnectLinks } from \"./ConnectLinks\";\nexport class Connect {\n constructor() {\n this.distance = 80;\n this.links = new ConnectLinks();\n this.radius = 60;\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\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 if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class GrabLinks {\n constructor() {\n this.blink = false;\n this.consent = false;\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { GrabLinks } from \"./GrabLinks\";\nexport class Grab {\n constructor() {\n this.distance = 100;\n this.links = new GrabLinks();\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\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","import { OptionsColor } from \"../../OptionsColor\";\nexport class LightGradient {\n constructor() {\n this.start = new OptionsColor();\n this.stop = new OptionsColor();\n this.start.value = \"#ffffff\";\n this.stop.value = \"#000000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n this.start = OptionsColor.create(this.start, data.start);\n this.stop = OptionsColor.create(this.stop, data.stop);\n }\n}\n","import { LightGradient } from \"./LightGradient\";\nexport class LightArea {\n constructor() {\n this.gradient = new LightGradient();\n this.radius = 1000;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.gradient.load(data.gradient);\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class LightShadow {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"#000000\";\n this.length = 2000;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n","import { LightArea } from \"./LightArea\";\nimport { LightShadow } from \"./LightShadow\";\nexport class Light {\n constructor() {\n this.area = new LightArea();\n this.shadow = new LightShadow();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.area.load(data.area);\n this.shadow.load(data.shadow);\n }\n}\n","export class Push {\n constructor() {\n this.default = true;\n this.groups = [];\n this.quantity = 4;\n }\n get particles_nb() {\n return this.quantity;\n }\n set particles_nb(value) {\n this.quantity = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n if (data.groups !== undefined) {\n this.groups = data.groups.map((t) => t);\n }\n if (!this.groups.length) {\n this.default = true;\n }\n const quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n}\n","export class Remove {\n constructor() {\n this.quantity = 2;\n }\n get particles_nb() {\n return this.quantity;\n }\n set particles_nb(value) {\n this.quantity = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n const quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n}\n","export class RepulseBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = \"ease-out-quad\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\n","import { RepulseBase } from \"./RepulseBase\";\nexport class RepulseDiv extends RepulseBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n if (this.selectors instanceof Array) {\n return this.selectors.map((t) => t.replace(\"#\", \"\"));\n }\n else {\n return this.selectors.replace(\"#\", \"\");\n }\n }\n set ids(value) {\n if (value instanceof Array) {\n this.selectors = value.map(() => `#${value}`);\n }\n else {\n this.selectors = `#${value}`;\n }\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\n","import { RepulseBase } from \"./RepulseBase\";\nimport { RepulseDiv } from \"./RepulseDiv\";\nexport class Repulse extends RepulseBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.divs instanceof Array) {\n this.divs = data.divs.map((s) => {\n const tmp = new RepulseDiv();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new RepulseDiv();\n }\n this.divs.load(data.divs);\n }\n }\n}\n","export class Slow {\n constructor() {\n this.factor = 3;\n this.radius = 200;\n }\n get active() {\n return false;\n }\n set active(_value) {\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { deepExtend } from \"../../../../Utils/Utils\";\nexport class Trail {\n constructor() {\n this.delay = 1;\n this.pauseOnStop = false;\n this.quantity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.quantity !== undefined) {\n this.quantity = data.quantity;\n }\n if (data.particles !== undefined) {\n this.particles = deepExtend({}, data.particles);\n }\n if (data.pauseOnStop !== undefined) {\n this.pauseOnStop = data.pauseOnStop;\n }\n }\n}\n","import { Attract } from \"./Attract\";\nimport { Bounce } from \"./Bounce\";\nimport { Bubble } from \"./Bubble\";\nimport { Connect } from \"./Connect\";\nimport { Grab } from \"./Grab\";\nimport { Light } from \"./Light\";\nimport { Push } from \"./Push\";\nimport { Remove } from \"./Remove\";\nimport { Repulse } from \"./Repulse\";\nimport { Slow } from \"./Slow\";\nimport { Trail } from \"./Trail\";\nexport class Modes {\n constructor() {\n this.attract = new Attract();\n this.bounce = new Bounce();\n this.bubble = new Bubble();\n this.connect = new Connect();\n this.grab = new Grab();\n this.light = new Light();\n this.push = new Push();\n this.remove = new Remove();\n this.repulse = new Repulse();\n this.slow = new Slow();\n this.trail = new Trail();\n }\n load(data) {\n if (!data) {\n return;\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","import { Events } from \"./Events/Events\";\nimport { Modes } from \"./Modes/Modes\";\nexport class Interactivity {\n constructor() {\n this.detectsOn = \"window\";\n this.events = new Events();\n this.modes = new Modes();\n }\n get detect_on() {\n return this.detectsOn;\n }\n set detect_on(value) {\n this.detectsOn = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n const detectsOn = (_a = data.detectsOn) !== null && _a !== void 0 ? _a : data.detect_on;\n if (detectsOn !== undefined) {\n this.detectsOn = detectsOn;\n }\n this.events.load(data.events);\n this.modes.load(data.modes);\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(\"slow\") < 0) {\n this.events.onHover.mode.push(\"slow\");\n }\n }\n else if (this.events.onHover.mode !== \"slow\") {\n this.events.onHover.mode = [this.events.onHover.mode, \"slow\"];\n }\n }\n }\n}\n","import { deepExtend } from \"../../Utils/Utils\";\nexport class ManualParticle {\n load(data) {\n var _a, _b;\n if (!data) {\n return;\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 if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","export class MotionReduce {\n constructor() {\n this.factor = 4;\n this.value = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n","import { MotionReduce } from \"./MotionReduce\";\nexport class Motion {\n constructor() {\n this.disable = false;\n this.reduce = new MotionReduce();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.disable !== undefined) {\n this.disable = data.disable;\n }\n this.reduce.load(data.reduce);\n }\n}\n","import { deepExtend } from \"../../Utils/Utils\";\nexport class Responsive {\n constructor() {\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = \"canvas\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.maxWidth !== undefined) {\n this.maxWidth = data.maxWidth;\n }\n if (data.mode !== undefined) {\n if (data.mode === \"screen\") {\n this.mode = \"screen\";\n }\n else {\n this.mode = \"canvas\";\n }\n }\n if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","export class ThemeDefault {\n constructor() {\n this.auto = false;\n this.mode = \"any\";\n this.value = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.auto !== undefined) {\n this.auto = data.auto;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n","import { ThemeDefault } from \"./ThemeDefault\";\nimport { deepExtend } from \"../../../Utils/Utils\";\nexport class Theme {\n constructor() {\n this.name = \"\";\n this.default = new ThemeDefault();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n this.default.load(data.default);\n if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","import { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class ColorAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.offset = 0;\n this.speed = 1;\n this.sync = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = setRangeValue(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset !== undefined) {\n this.offset = setRangeValue(data.offset);\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { ColorAnimation } from \"./ColorAnimation\";\nexport class HslAnimation {\n constructor() {\n this.h = new ColorAnimation();\n this.s = new ColorAnimation();\n this.l = new ColorAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.h.load(data.h);\n this.s.load(data.s);\n this.l.load(data.l);\n }\n}\n","import { HslAnimation } from \"./HslAnimation\";\nimport { OptionsColor } from \"./OptionsColor\";\nexport class AnimatableColor extends OptionsColor {\n constructor() {\n super();\n this.animation = new HslAnimation();\n }\n static create(source, data) {\n const color = new AnimatableColor();\n color.load(source);\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({ value: data });\n }\n else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n const colorAnimation = data.animation;\n if (colorAnimation !== undefined) {\n if (colorAnimation.enable !== undefined) {\n this.animation.h.load(colorAnimation);\n }\n else {\n this.animation.load(data.animation);\n }\n }\n }\n}\n","import { AnimatableColor } from \"./AnimatableColor\";\nimport { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class AnimatableGradient {\n constructor() {\n this.angle = new GradientAngle();\n this.colors = [];\n this.type = \"random\";\n }\n load(data) {\n if (!data) {\n return;\n }\n this.angle.load(data.angle);\n if (data.colors !== undefined) {\n this.colors = data.colors.map((s) => {\n const tmp = new AnimatableGradientColor();\n tmp.load(s);\n return tmp;\n });\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\nexport class GradientAngle {\n constructor() {\n this.value = 0;\n this.animation = new GradientAngleAnimation();\n this.direction = \"clockwise\";\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.value !== undefined) {\n this.value = data.value;\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n }\n}\nexport class GradientColorOpacity {\n constructor() {\n this.value = 0;\n this.animation = new GradientColorOpacityAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value);\n }\n }\n}\nexport class AnimatableGradientColor {\n constructor() {\n this.stop = 0;\n this.value = new AnimatableColor();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.stop !== undefined) {\n this.stop = data.stop;\n }\n this.value = AnimatableColor.create(this.value, data.value);\n if (data.opacity !== undefined) {\n this.opacity = new GradientColorOpacity();\n if (typeof data.opacity === \"number\") {\n this.opacity.value = data.opacity;\n }\n else {\n this.opacity.load(data.opacity);\n }\n }\n }\n}\nexport class GradientAngleAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = setRangeValue(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexport class GradientColorOpacityAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n this.startValue = \"random\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = setRangeValue(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n }\n}\n","export class CollisionsOverlap {\n constructor() {\n this.enable = true;\n this.retries = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.retries !== undefined) {\n this.retries = data.retries;\n }\n }\n}\n","export class Random {\n constructor() {\n this.enable = false;\n this.minimumValue = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.minimumValue !== undefined) {\n this.minimumValue = data.minimumValue;\n }\n }\n}\n","import { Random } from \"./Random\";\nimport { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class ValueWithRandom {\n constructor() {\n this.random = new Random();\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (typeof data.random === \"boolean\") {\n this.random.enable = data.random;\n }\n else {\n this.random.load(data.random);\n }\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value, this.random.enable ? this.random.minimumValue : undefined);\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class ParticlesBounceFactor extends ValueWithRandom {\n constructor() {\n super();\n this.random.minimumValue = 0.1;\n this.value = 1;\n }\n}\n","import { ParticlesBounceFactor } from \"./ParticlesBounceFactor\";\nexport class ParticlesBounce {\n constructor() {\n this.horizontal = new ParticlesBounceFactor();\n this.vertical = new ParticlesBounceFactor();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.horizontal.load(data.horizontal);\n this.vertical.load(data.vertical);\n }\n}\n","import { CollisionsOverlap } from \"./CollisionsOverlap\";\nimport { ParticlesBounce } from \"../Bounce/ParticlesBounce\";\nexport class Collisions {\n constructor() {\n this.bounce = new ParticlesBounce();\n this.enable = false;\n this.mode = \"bounce\";\n this.overlap = new CollisionsOverlap();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.bounce.load(data.bounce);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.overlap.load(data.overlap);\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class SplitFactor extends ValueWithRandom {\n constructor() {\n super();\n this.value = 3;\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class SplitRate extends ValueWithRandom {\n constructor() {\n super();\n this.value = { min: 4, max: 9 };\n }\n}\n","import { SplitFactor } from \"./SplitFactor\";\nimport { SplitRate } from \"./SplitRate\";\nimport { deepExtend } from \"../../../../Utils/Utils\";\nexport class Split {\n constructor() {\n this.count = 1;\n this.factor = new SplitFactor();\n this.rate = new SplitRate();\n this.sizeOffset = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.factor.load(data.factor);\n this.rate.load(data.rate);\n if (data.particles !== undefined) {\n this.particles = deepExtend({}, data.particles);\n }\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n }\n}\n","import { Split } from \"./Split\";\nexport class Destroy {\n constructor() {\n this.mode = \"none\";\n this.split = new Split();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.split.load(data.split);\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class LifeDelay extends ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class LifeDuration extends ValueWithRandom {\n constructor() {\n super();\n this.random.minimumValue = 0.0001;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { LifeDelay } from \"./LifeDelay\";\nimport { LifeDuration } from \"./LifeDuration\";\nexport class Life {\n constructor() {\n this.count = 0;\n this.delay = new LifeDelay();\n this.duration = new LifeDuration();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.delay.load(data.delay);\n this.duration.load(data.duration);\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class LinksShadow {\n constructor() {\n this.blur = 5;\n this.color = new OptionsColor();\n this.color.value = \"#000\";\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class LinksTriangle {\n constructor() {\n this.enable = false;\n this.frequency = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { LinksShadow } from \"./LinksShadow\";\nimport { LinksTriangle } from \"./LinksTriangle\";\nimport { OptionsColor } from \"../../OptionsColor\";\nexport class Links {\n constructor() {\n this.blink = false;\n this.color = new OptionsColor();\n this.color.value = \"#fff\";\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();\n this.triangles = new LinksTriangle();\n this.width = 1;\n this.warp = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.id !== undefined) {\n this.id = data.id;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n this.shadow.load(data.shadow);\n this.triangles.load(data.triangles);\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class MoveAngle {\n constructor() {\n this.offset = 0;\n this.value = 90;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = setRangeValue(data.offset);\n }\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value);\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class MoveAttract {\n constructor() {\n this.distance = 200;\n this.enable = false;\n this.rotate = {\n x: 3000,\n y: 3000,\n };\n }\n get rotateX() {\n return this.rotate.x;\n }\n set rotateX(value) {\n this.rotate.x = value;\n }\n get rotateY() {\n return this.rotate.y;\n }\n set rotateY(value) {\n this.rotate.y = value;\n }\n load(data) {\n var _a, _b, _c, _d;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = setRangeValue(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;\n if (rotateX !== undefined) {\n this.rotate.x = rotateX;\n }\n const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;\n if (rotateY !== undefined) {\n this.rotate.y = rotateY;\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class MoveGravity {\n constructor() {\n this.acceleration = 9.81;\n this.enable = false;\n this.inverse = false;\n this.maxSpeed = 50;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = setRangeValue(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.inverse !== undefined) {\n this.inverse = data.inverse;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = setRangeValue(data.maxSpeed);\n }\n }\n}\n","import { ValueWithRandom } from \"../../../ValueWithRandom\";\nexport class MovePathDelay extends ValueWithRandom {\n constructor() {\n super();\n }\n}\n","import { MovePathDelay } from \"./MovePathDelay\";\nimport { deepExtend } from \"../../../../../Utils/Utils\";\nexport class MovePath {\n constructor() {\n this.clamp = true;\n this.delay = new MovePathDelay();\n this.enable = false;\n this.options = {};\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.clamp !== undefined) {\n this.clamp = data.clamp;\n }\n this.delay.load(data.delay);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.generator = data.generator;\n if (data.options) {\n this.options = deepExtend(this.options, data.options);\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class MoveTrail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fillColor = new OptionsColor();\n this.fillColor.value = \"#000000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.fillColor = OptionsColor.create(this.fillColor, data.fillColor);\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n","export class OutModes {\n constructor() {\n this.default = \"out\";\n }\n load(data) {\n var _a, _b, _c, _d;\n if (!data) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\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","import { deepExtend } from \"../../../../Utils/Utils\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Spin {\n constructor() {\n this.acceleration = 0;\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = setRangeValue(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.position = data.position ? deepExtend({}, data.position) : undefined;\n }\n}\n","import { MoveAngle } from \"./MoveAngle\";\nimport { MoveAttract } from \"./MoveAttract\";\nimport { MoveGravity } from \"./MoveGravity\";\nimport { MovePath } from \"./Path/MovePath\";\nimport { MoveTrail } from \"./MoveTrail\";\nimport { OutModes } from \"./OutModes\";\nimport { Spin } from \"./Spin\";\nimport { deepExtend } from \"../../../../Utils/Utils\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Move {\n constructor() {\n this.angle = new MoveAngle();\n this.attract = new MoveAttract();\n this.center = {\n x: 50,\n y: 50,\n radius: 0,\n };\n this.decay = 0;\n this.distance = {};\n this.direction = \"none\";\n this.drift = 0;\n this.enable = false;\n this.gravity = new MoveGravity();\n this.path = new MovePath();\n this.outModes = new OutModes();\n this.random = false;\n this.size = false;\n this.speed = 2;\n this.spin = new Spin();\n this.straight = false;\n this.trail = new MoveTrail();\n this.vibrate = false;\n this.warp = false;\n }\n get collisions() {\n return false;\n }\n set collisions(value) {\n }\n get bounce() {\n return this.collisions;\n }\n set bounce(value) {\n this.collisions = value;\n }\n get out_mode() {\n return this.outMode;\n }\n set out_mode(value) {\n this.outMode = value;\n }\n get outMode() {\n return this.outModes.default;\n }\n set outMode(value) {\n this.outModes.default = value;\n }\n get noise() {\n return this.path;\n }\n set noise(value) {\n this.path = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n if (data.angle !== undefined) {\n if (typeof data.angle === \"number\") {\n this.angle.value = data.angle;\n }\n else {\n this.angle.load(data.angle);\n }\n }\n this.attract.load(data.attract);\n this.center = deepExtend(this.center, data.center);\n if (data.decay !== undefined) {\n this.decay = data.decay;\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.distance !== undefined) {\n this.distance =\n typeof data.distance === \"number\"\n ? {\n horizontal: data.distance,\n vertical: data.distance,\n }\n : deepExtend({}, data.distance);\n }\n if (data.drift !== undefined) {\n this.drift = setRangeValue(data.drift);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.gravity.load(data.gravity);\n const outMode = (_a = data.outMode) !== null && _a !== void 0 ? _a : data.out_mode;\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 }\n else {\n this.outModes.load(data.outModes);\n }\n }\n this.path.load((_c = data.path) !== null && _c !== void 0 ? _c : data.noise);\n if (data.random !== undefined) {\n this.random = data.random;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n this.spin.load(data.spin);\n if (data.straight !== undefined) {\n this.straight = data.straight;\n }\n this.trail.load(data.trail);\n if (data.vibrate !== undefined) {\n this.vibrate = data.vibrate;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\n","import { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class AnimationOptions {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 1;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = setRangeValue(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { AnimationOptions } from \"../../AnimationOptions\";\nexport class OpacityAnimation extends AnimationOptions {\n constructor() {\n super();\n this.destroy = \"none\";\n this.enable = false;\n this.speed = 2;\n this.startValue = \"random\";\n this.sync = false;\n }\n get opacity_min() {\n return this.minimumValue;\n }\n set opacity_min(value) {\n this.minimumValue = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n super.load(data);\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { OpacityAnimation } from \"./OpacityAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Opacity extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new OpacityAnimation();\n this.random.minimumValue = 0.1;\n this.value = 1;\n }\n get anim() {\n return this.animation;\n }\n set anim(value) {\n this.animation = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n super.load(data);\n const animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = setRangeValue(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class OrbitRotation extends ValueWithRandom {\n constructor() {\n super();\n this.value = 45;\n this.random.enable = false;\n this.random.minimumValue = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n super.load(data);\n }\n}\n","import { AnimationOptions } from \"../../AnimationOptions\";\nimport { OptionsColor } from \"../../OptionsColor\";\nimport { OrbitRotation } from \"./OrbitRotation\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Orbit {\n constructor() {\n this.animation = new AnimationOptions();\n this.enable = false;\n this.opacity = 1;\n this.rotation = new OrbitRotation();\n this.width = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n this.rotation.load(data.rotation);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.opacity !== undefined) {\n this.opacity = setRangeValue(data.opacity);\n }\n if (data.width !== undefined) {\n this.width = setRangeValue(data.width);\n }\n if (data.radius !== undefined) {\n this.radius = setRangeValue(data.radius);\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n }\n}\n","export class ParticlesDensity {\n constructor() {\n this.enable = false;\n this.area = 800;\n this.factor = 1000;\n }\n get value_area() {\n return this.area;\n }\n set value_area(value) {\n this.area = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const area = (_a = data.area) !== null && _a !== void 0 ? _a : data.value_area;\n if (area !== undefined) {\n this.area = area;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n }\n}\n","import { ParticlesDensity } from \"./ParticlesDensity\";\nexport class ParticlesNumber {\n constructor() {\n this.density = new ParticlesDensity();\n this.limit = 0;\n this.value = 100;\n }\n get max() {\n return this.limit;\n }\n set max(value) {\n this.limit = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n this.density.load(data.density);\n const limit = (_a = data.limit) !== null && _a !== void 0 ? _a : data.max;\n if (limit !== undefined) {\n this.limit = limit;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class ParticlesRepulse extends ValueWithRandom {\n constructor() {\n super();\n this.enabled = false;\n this.distance = 1;\n this.duration = 1;\n this.factor = 1;\n this.speed = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.enabled !== undefined) {\n this.enabled = data.enabled;\n }\n if (data.distance !== undefined) {\n this.distance = setRangeValue(data.distance);\n }\n if (data.duration !== undefined) {\n this.duration = setRangeValue(data.duration);\n }\n if (data.factor !== undefined) {\n this.factor = setRangeValue(data.factor);\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value);\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nimport { RollLight } from \"./RollLight\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Roll {\n constructor() {\n this.darken = new RollLight();\n this.enable = false;\n this.enlighten = new RollLight();\n this.mode = \"vertical\";\n this.speed = 25;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { RotateAnimation } from \"./RotateAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class Rotate extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new RotateAnimation();\n this.direction = \"clockwise\";\n this.path = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.animation.load(data.animation);\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n}\n","import { OptionsColor } from \"../OptionsColor\";\nexport class Shadow {\n constructor() {\n this.blur = 0;\n this.color = new OptionsColor();\n this.enable = false;\n this.offset = {\n x: 0,\n y: 0,\n };\n this.color.value = \"#000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset === undefined) {\n return;\n }\n if (data.offset.x !== undefined) {\n this.offset.x = data.offset.x;\n }\n if (data.offset.y !== undefined) {\n this.offset.y = data.offset.y;\n }\n }\n}\n","import { deepExtend } from \"../../../../Utils/Utils\";\nexport class Shape {\n constructor() {\n this.options = {};\n this.type = \"circle\";\n }\n get image() {\n var _a;\n return ((_a = this.options[\"image\"]) !== null && _a !== void 0 ? _a : this.options[\"images\"]);\n }\n set image(value) {\n this.options[\"image\"] = value;\n this.options[\"images\"] = value;\n }\n get custom() {\n return this.options;\n }\n set custom(value) {\n this.options = value;\n }\n get images() {\n return this.image;\n }\n set images(value) {\n this.image = value;\n }\n get stroke() {\n return [];\n }\n set stroke(_value) {\n }\n get character() {\n var _a;\n return ((_a = this.options[\"character\"]) !== null && _a !== void 0 ? _a : this.options[\"char\"]);\n }\n set character(value) {\n this.options[\"character\"] = value;\n this.options[\"char\"] = value;\n }\n get polygon() {\n var _a;\n return ((_a = this.options[\"polygon\"]) !== null && _a !== void 0 ? _a : this.options[\"star\"]);\n }\n set polygon(value) {\n this.options[\"polygon\"] = value;\n this.options[\"star\"] = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n const options = (_a = data.options) !== null && _a !== void 0 ? _a : data.custom;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item) {\n this.options[shape] = deepExtend((_b = this.options[shape]) !== null && _b !== void 0 ? _b : {}, item);\n }\n }\n }\n this.loadShape(data.character, \"character\", \"char\", true);\n this.loadShape(data.polygon, \"polygon\", \"star\", false);\n this.loadShape((_c = data.image) !== null && _c !== void 0 ? _c : data.images, \"image\", \"images\", true);\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n loadShape(item, mainKey, altKey, altOverride) {\n var _a, _b, _c, _d;\n if (item === undefined) {\n return;\n }\n if (item instanceof Array) {\n if (!(this.options[mainKey] instanceof Array)) {\n this.options[mainKey] = [];\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = [];\n }\n }\n this.options[mainKey] = deepExtend((_a = this.options[mainKey]) !== null && _a !== void 0 ? _a : [], item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = deepExtend((_b = this.options[altKey]) !== null && _b !== void 0 ? _b : [], item);\n }\n }\n else {\n if (this.options[mainKey] instanceof Array) {\n this.options[mainKey] = {};\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = {};\n }\n }\n this.options[mainKey] = deepExtend((_c = this.options[mainKey]) !== null && _c !== void 0 ? _c : {}, item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = deepExtend((_d = this.options[altKey]) !== null && _d !== void 0 ? _d : {}, item);\n }\n }\n }\n}\n","import { AnimationOptions } from \"../../AnimationOptions\";\nexport class SizeAnimation extends AnimationOptions {\n constructor() {\n super();\n this.destroy = \"none\";\n this.enable = false;\n this.speed = 5;\n this.startValue = \"random\";\n this.sync = false;\n }\n get size_min() {\n return this.minimumValue;\n }\n set size_min(value) {\n this.minimumValue = value;\n }\n load(data) {\n var _a;\n super.load(data);\n if (!data) {\n return;\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { SizeAnimation } from \"./SizeAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Size extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new SizeAnimation();\n this.random.minimumValue = 1;\n this.value = 3;\n }\n get anim() {\n return this.animation;\n }\n set anim(value) {\n this.animation = value;\n }\n load(data) {\n var _a;\n super.load(data);\n if (!data) {\n return;\n }\n const animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = setRangeValue(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n}\n","import { AnimatableColor } from \"../AnimatableColor\";\nexport class Stroke {\n constructor() {\n this.width = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = AnimatableColor.create(this.color, data.color);\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { TiltAnimation } from \"./TiltAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class Tilt extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new TiltAnimation();\n this.direction = \"clockwise\";\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class TwinkleValues {\n constructor() {\n this.enable = false;\n this.frequency = 0.05;\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = setRangeValue(data.opacity);\n }\n }\n}\n","import { TwinkleValues } from \"./TwinkleValues\";\nexport class Twinkle {\n constructor() {\n this.lines = new TwinkleValues();\n this.particles = new TwinkleValues();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.lines.load(data.lines);\n this.particles.load(data.particles);\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Wobble {\n constructor() {\n this.distance = 5;\n this.enable = false;\n this.speed = 50;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = setRangeValue(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class ZIndex extends ValueWithRandom {\n constructor() {\n super();\n this.opacityRate = 1;\n this.sizeRate = 1;\n this.velocityRate = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.opacityRate !== undefined) {\n this.opacityRate = data.opacityRate;\n }\n if (data.sizeRate !== undefined) {\n this.sizeRate = data.sizeRate;\n }\n if (data.velocityRate !== undefined) {\n this.velocityRate = data.velocityRate;\n }\n }\n}\n","import { AnimatableColor } from \"../AnimatableColor\";\nimport { AnimatableGradient } from \"../AnimatableGradient\";\nimport { Collisions } from \"./Collisions/Collisions\";\nimport { Destroy } from \"./Destroy/Destroy\";\nimport { Life } from \"./Life/Life\";\nimport { Links } from \"./Links/Links\";\nimport { Move } from \"./Move/Move\";\nimport { Opacity } from \"./Opacity/Opacity\";\nimport { Orbit } from \"./Orbit/Orbit\";\nimport { ParticlesBounce } from \"./Bounce/ParticlesBounce\";\nimport { ParticlesNumber } from \"./Number/ParticlesNumber\";\nimport { ParticlesRepulse } from \"./Repulse/ParticlesRepulse\";\nimport { Roll } from \"./Roll/Roll\";\nimport { Rotate } from \"./Rotate/Rotate\";\nimport { Shadow } from \"./Shadow\";\nimport { Shape } from \"./Shape/Shape\";\nimport { Size } from \"./Size/Size\";\nimport { Stroke } from \"./Stroke\";\nimport { Tilt } from \"./Tilt/Tilt\";\nimport { Twinkle } from \"./Twinkle/Twinkle\";\nimport { Wobble } from \"./Wobble/Wobble\";\nimport { ZIndex } from \"./ZIndex/ZIndex\";\nimport { deepExtend } from \"../../../Utils/Utils\";\nexport class ParticlesOptions {\n constructor() {\n this.bounce = new ParticlesBounce();\n this.collisions = new Collisions();\n this.color = new AnimatableColor();\n this.color.value = \"#fff\";\n this.destroy = new Destroy();\n this.gradient = [];\n this.groups = {};\n this.life = new Life();\n this.links = new Links();\n this.move = new Move();\n this.number = new ParticlesNumber();\n this.opacity = new Opacity();\n this.orbit = new Orbit();\n this.reduceDuplicates = false;\n this.repulse = new ParticlesRepulse();\n this.roll = new Roll();\n this.rotate = new Rotate();\n this.shadow = new Shadow();\n this.shape = new Shape();\n this.size = new Size();\n this.stroke = new Stroke();\n this.tilt = new Tilt();\n this.twinkle = new Twinkle();\n this.wobble = new Wobble();\n this.zIndex = new ZIndex();\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (!data) {\n return;\n }\n this.bounce.load(data.bounce);\n this.color.load(AnimatableColor.create(this.color, data.color));\n this.destroy.load(data.destroy);\n this.life.load(data.life);\n const links = (_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked;\n if (links !== undefined) {\n this.links.load(links);\n }\n if (data.groups !== undefined) {\n for (const group in data.groups) {\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = deepExtend((_c = this.groups[group]) !== null && _c !== void 0 ? _c : {}, item);\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 if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\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 const 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 if (collisions !== undefined) {\n this.collisions.enable = collisions;\n }\n this.collisions.load(data.collisions);\n const strokeToLoad = (_g = data.stroke) !== null && _g !== void 0 ? _g : (_h = data.shape) === null || _h === void 0 ? void 0 : _h.stroke;\n if (strokeToLoad) {\n if (strokeToLoad instanceof Array) {\n this.stroke = strokeToLoad.map((s) => {\n const tmp = new Stroke();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.stroke instanceof Array) {\n this.stroke = new Stroke();\n }\n this.stroke.load(strokeToLoad);\n }\n }\n const gradientToLoad = data.gradient;\n if (gradientToLoad) {\n if (gradientToLoad instanceof Array) {\n this.gradient = gradientToLoad.map((s) => {\n const tmp = new AnimatableGradient();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.gradient instanceof Array) {\n this.gradient = new AnimatableGradient();\n }\n this.gradient.load(gradientToLoad);\n }\n }\n }\n}\n","import { collisionVelocity, getDistances, getValue } from \"./NumberUtils\";\nimport { Options } from \"../Options/Classes/Options\";\nimport { ParticlesOptions } from \"../Options/Classes/Particles/ParticlesOptions\";\nimport { Vector } from \"../Core/Utils/Vector\";\nfunction rectSideBounce(pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor) {\n const res = { bounced: false };\n if (pOtherSide.min < rectOtherSide.min ||\n pOtherSide.min > rectOtherSide.max ||\n pOtherSide.max < rectOtherSide.min ||\n pOtherSide.max > rectOtherSide.max) {\n return res;\n }\n if ((pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) / 2 && velocity > 0) ||\n (pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) / 2 && velocity < 0)) {\n res.velocity = velocity * -factor;\n res.bounced = true;\n }\n return res;\n}\nfunction checkSelector(element, selectors) {\n if (!(selectors instanceof Array)) {\n return element.matches(selectors);\n }\n for (const selector of selectors) {\n if (element.matches(selector)) {\n return true;\n }\n }\n return false;\n}\nexport function isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\nexport function animate() {\n return isSsr()\n ? (callback) => setTimeout(callback)\n : (callback) => (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n window.setTimeout)(callback);\n}\nexport function cancelAnimation() {\n return isSsr()\n ? (handle) => clearTimeout(handle)\n : (handle) => (window.cancelAnimationFrame ||\n window.webkitCancelRequestAnimationFrame ||\n window.mozCancelRequestAnimationFrame ||\n window.oCancelRequestAnimationFrame ||\n window.msCancelRequestAnimationFrame ||\n window.clearTimeout)(handle);\n}\nexport function isInArray(value, array) {\n return value === array || (array instanceof Array && array.indexOf(value) > -1);\n}\nexport async function loadFont(font, weight) {\n try {\n await document.fonts.load(`${weight !== null && weight !== void 0 ? weight : \"400\"} 36px '${font !== null && font !== void 0 ? font : \"Verdana\"}'`);\n }\n catch (_a) {\n }\n}\nexport function arrayRandomIndex(array) {\n return Math.floor(Math.random() * array.length);\n}\nexport function itemFromArray(array, index, useIndex = true) {\n const fixedIndex = index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array);\n return array[fixedIndex];\n}\nexport function isPointInside(point, size, offset, radius, direction) {\n return areBoundsInside(calculateBounds(point, radius !== null && radius !== void 0 ? radius : 0), size, offset, direction);\n}\nexport function areBoundsInside(bounds, size, offset, direction) {\n let inside = true;\n if (!direction || direction === \"bottom\") {\n inside = bounds.top < size.height + offset.x;\n }\n if (inside && (!direction || direction === \"left\")) {\n inside = bounds.right > offset.x;\n }\n if (inside && (!direction || direction === \"right\")) {\n inside = bounds.left < size.width + offset.y;\n }\n if (inside && (!direction || direction === \"top\")) {\n inside = bounds.bottom > offset.y;\n }\n return inside;\n}\nexport function 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}\nexport function deepExtend(destination, ...sources) {\n for (const source of sources) {\n if (source === undefined || source === null) {\n continue;\n }\n if (typeof source !== \"object\") {\n destination = source;\n continue;\n }\n const sourceIsArray = Array.isArray(source);\n if (sourceIsArray && (typeof destination !== \"object\" || !destination || !Array.isArray(destination))) {\n destination = [];\n }\n else if (!sourceIsArray && (typeof destination !== \"object\" || !destination || Array.isArray(destination))) {\n destination = {};\n }\n for (const key in source) {\n if (key === \"__proto__\") {\n continue;\n }\n const sourceDict = source, value = sourceDict[key], isObject = typeof value === \"object\", destDict = destination;\n destDict[key] =\n isObject && Array.isArray(value)\n ? value.map((v) => deepExtend(destDict[key], v))\n : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nexport function isDivModeEnabled(mode, divs) {\n return divs instanceof Array ? !!divs.find((t) => t.enable && isInArray(mode, t.mode)) : isInArray(mode, divs.mode);\n}\nexport function divModeExecute(mode, divs, callback) {\n if (divs instanceof Array) {\n for (const div of divs) {\n const divMode = div.mode, divEnabled = div.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n }\n }\n else {\n const divMode = divs.mode, divEnabled = divs.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(divs, callback);\n }\n }\n}\nexport function singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n if (selectors instanceof Array) {\n for (const selector of selectors) {\n callback(selector, div);\n }\n }\n else {\n callback(selectors, div);\n }\n}\nexport function divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n if (divs instanceof Array) {\n return divs.find((d) => checkSelector(element, d.selectors));\n }\n else if (checkSelector(element, divs.selectors)) {\n return divs;\n }\n}\nexport function circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: Vector.create(getValue(p.options.bounce.horizontal), getValue(p.options.bounce.vertical)),\n };\n}\nexport function circleBounce(p1, p2) {\n const { x: xVelocityDiff, y: yVelocityDiff } = p1.velocity.sub(p2.velocity), [pos1, pos2] = [p1.position, p2.position], { dx: xDist, dy: yDist } = getDistances(pos2, pos1);\n if (xVelocityDiff * xDist + yVelocityDiff * yDist < 0) {\n return;\n }\n const angle = -Math.atan2(yDist, xDist), m1 = p1.mass, m2 = p2.mass, u1 = p1.velocity.rotate(angle), u2 = p2.velocity.rotate(angle), v1 = collisionVelocity(u1, u2, m1, m2), v2 = collisionVelocity(u2, u1, m1, m2), vFinal1 = v1.rotate(-angle), 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}\nexport function rectBounce(particle, divBounds) {\n const pPos = particle.getPosition(), size = particle.getRadius(), bounds = calculateBounds(pPos, size);\n const 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, getValue(particle.options.bounce.horizontal));\n if (resH.bounced) {\n if (resH.velocity !== undefined) {\n particle.velocity.x = resH.velocity;\n }\n if (resH.position !== undefined) {\n particle.position.x = resH.position;\n }\n }\n const 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, getValue(particle.options.bounce.vertical));\n if (resV.bounced) {\n if (resV.velocity !== undefined) {\n particle.velocity.y = resV.velocity;\n }\n if (resV.position !== undefined) {\n particle.position.y = resV.position;\n }\n }\n}\nfunction loadOptions(options, ...sourceOptionsArr) {\n for (const sourceOptions of sourceOptionsArr) {\n options.load(sourceOptions);\n }\n}\nexport function loadContainerOptions(engine, ...sourceOptionsArr) {\n const options = new Options(engine);\n loadOptions(options, ...sourceOptionsArr);\n return options;\n}\nexport function loadParticlesOptions(...sourceOptionsArr) {\n const options = new ParticlesOptions();\n loadOptions(options, ...sourceOptionsArr);\n return options;\n}\n","export const generatedAttribute = \"generated\";\nexport const randomColorValue = \"random\";\nexport const midColorValue = \"mid\";\nexport const touchEndEvent = \"touchend\";\nexport const mouseDownEvent = \"mousedown\";\nexport const mouseUpEvent = \"mouseup\";\nexport const mouseMoveEvent = \"mousemove\";\nexport const touchStartEvent = \"touchstart\";\nexport const touchMoveEvent = \"touchmove\";\nexport const mouseLeaveEvent = \"mouseleave\";\nexport const mouseOutEvent = \"mouseout\";\nexport const touchCancelEvent = \"touchcancel\";\nexport const resizeEvent = \"resize\";\nexport const visibilityChangeEvent = \"visibilitychange\";\nexport const noPolygonDataLoaded = \"No polygon data loaded.\";\nexport const noPolygonFound = \"No polygon found, you need to specify SVG url in config.\";\n","import { getRangeValue, mix, randomInRange, setRangeValue } from \"./NumberUtils\";\nimport { midColorValue, randomColorValue } from \"../Core/Utils/Constants\";\nimport { itemFromArray } from \"./Utils\";\nfunction hue2rgb(p, q, t) {\n let tCalc = t;\n if (tCalc < 0) {\n tCalc += 1;\n }\n if (tCalc > 1) {\n tCalc -= 1;\n }\n if (tCalc < 1 / 6) {\n return p + (q - p) * 6 * tCalc;\n }\n if (tCalc < 1 / 2) {\n return q;\n }\n if (tCalc < 2 / 3) {\n return p + (q - p) * (2 / 3 - tCalc) * 6;\n }\n return p;\n}\nfunction stringToRgba(input) {\n if (input.startsWith(\"rgb\")) {\n const regex = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? {\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 }\n : undefined;\n }\n else if (input.startsWith(\"hsl\")) {\n const regex = /hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? 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 })\n : undefined;\n }\n else if (input.startsWith(\"hsv\")) {\n const regex = /hsva?\\(\\s*(\\d+)°\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? hsvaToRgba({\n a: result.length > 4 ? parseFloat(result[5]) : 1,\n h: parseInt(result[1], 10),\n s: parseInt(result[2], 10),\n v: parseInt(result[3], 10),\n })\n : undefined;\n }\n else {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i;\n const hexFixed = input.replace(shorthandRegex, (_m, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n });\n const regex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\n const result = regex.exec(hexFixed);\n return result\n ? {\n a: result[4] !== undefined ? parseInt(result[4], 16) / 0xff : 1,\n b: parseInt(result[3], 16),\n g: parseInt(result[2], 16),\n r: parseInt(result[1], 16),\n }\n : undefined;\n }\n}\nexport function colorToRgb(input, index, useIndex = true) {\n var _a, _b, _c;\n if (input === undefined) {\n return;\n }\n const color = typeof input === \"string\" ? { value: input } : input;\n let res;\n if (typeof color.value === \"string\") {\n res = color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);\n }\n else {\n if (color.value instanceof Array) {\n const colorSelected = itemFromArray(color.value, index, useIndex);\n res = colorToRgb({ value: colorSelected });\n }\n else {\n const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;\n if (rgbColor.r !== undefined) {\n res = rgbColor;\n }\n else {\n const hslColor = (_b = colorValue.hsl) !== null && _b !== void 0 ? _b : color.value;\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n res = hslToRgb(hslColor);\n }\n else {\n const hsvColor = (_c = colorValue.hsv) !== null && _c !== void 0 ? _c : color.value;\n if (hsvColor.h !== undefined && hsvColor.v !== undefined) {\n res = hsvToRgb(hsvColor);\n }\n }\n }\n }\n }\n return res;\n}\nexport function colorToHsl(color, index, useIndex = true) {\n const rgb = colorToRgb(color, index, useIndex);\n return rgb !== undefined ? rgbToHsl(rgb) : undefined;\n}\nexport function rgbToHsl(color) {\n const r1 = color.r / 255, g1 = color.g / 255, b1 = color.b / 255;\n const max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1);\n const res = {\n h: 0,\n l: (max + min) / 2,\n s: 0,\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 =\n r1 === max\n ? (g1 - b1) / (max - min)\n : (res.h = g1 === max ? 2.0 + (b1 - r1) / (max - min) : 4.0 + (r1 - g1) / (max - min));\n }\n res.l *= 100;\n res.s *= 100;\n res.h *= 60;\n if (res.h < 0) {\n res.h += 360;\n }\n return res;\n}\nexport function stringToAlpha(input) {\n var _a;\n return (_a = stringToRgba(input)) === null || _a === void 0 ? void 0 : _a.a;\n}\nexport function stringToRgb(input) {\n return stringToRgba(input);\n}\nexport function hslToRgb(hsl) {\n const result = { b: 0, g: 0, r: 0 }, hslPercent = {\n h: hsl.h / 360,\n l: hsl.l / 100,\n s: hsl.s / 100,\n };\n if (hslPercent.s === 0) {\n result.b = hslPercent.l;\n result.g = hslPercent.l;\n result.r = hslPercent.l;\n }\n else {\n const q = hslPercent.l < 0.5\n ? hslPercent.l * (1 + hslPercent.s)\n : hslPercent.l + hslPercent.s - hslPercent.l * hslPercent.s, 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 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}\nexport function hslaToRgba(hsla) {\n const rgbResult = hslToRgb(hsla);\n return {\n a: hsla.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r,\n };\n}\nexport function hslToHsv(hsl) {\n const l = hsl.l / 100, sl = hsl.s / 100, v = l + sl * Math.min(l, 1 - l), sv = !v ? 0 : 2 * (1 - l / v);\n return {\n h: hsl.h,\n s: sv * 100,\n v: v * 100,\n };\n}\nexport function hslaToHsva(hsla) {\n const hsvResult = hslToHsv(hsla);\n return {\n a: hsla.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v,\n };\n}\nexport function hsvToHsl(hsv) {\n const v = hsv.v / 100, sv = hsv.s / 100, l = v * (1 - sv / 2), 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}\nexport function hsvaToHsla(hsva) {\n const hslResult = hsvToHsl(hsva);\n return {\n a: hsva.a,\n h: hslResult.h,\n l: hslResult.l,\n s: hslResult.s,\n };\n}\nexport function hsvToRgb(hsv) {\n const result = { b: 0, g: 0, r: 0 }, hsvPercent = {\n h: hsv.h / 60,\n s: hsv.s / 100,\n v: hsv.v / 100,\n };\n const c = hsvPercent.v * hsvPercent.s, x = c * (1 - Math.abs((hsvPercent.h % 2) - 1));\n let tempRgb;\n if (hsvPercent.h >= 0 && hsvPercent.h <= 1) {\n tempRgb = {\n r: c,\n g: x,\n b: 0,\n };\n }\n else if (hsvPercent.h > 1 && hsvPercent.h <= 2) {\n tempRgb = {\n r: x,\n g: c,\n b: 0,\n };\n }\n else if (hsvPercent.h > 2 && hsvPercent.h <= 3) {\n tempRgb = {\n r: 0,\n g: c,\n b: x,\n };\n }\n else if (hsvPercent.h > 3 && hsvPercent.h <= 4) {\n tempRgb = {\n r: 0,\n g: x,\n b: c,\n };\n }\n else if (hsvPercent.h > 4 && hsvPercent.h <= 5) {\n tempRgb = {\n r: x,\n g: 0,\n b: c,\n };\n }\n else if (hsvPercent.h > 5 && hsvPercent.h <= 6) {\n tempRgb = {\n r: c,\n g: 0,\n b: x,\n };\n }\n if (tempRgb) {\n const 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 return result;\n}\nexport function hsvaToRgba(hsva) {\n const rgbResult = hsvToRgb(hsva);\n return {\n a: hsva.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r,\n };\n}\nexport function rgbToHsv(rgb) {\n const rgbPercent = {\n r: rgb.r / 255,\n g: rgb.g / 255,\n b: rgb.b / 255,\n }, xMax = Math.max(rgbPercent.r, rgbPercent.g, rgbPercent.b), xMin = Math.min(rgbPercent.r, rgbPercent.g, rgbPercent.b), v = xMax, c = xMax - xMin;\n let h = 0;\n if (v === rgbPercent.r) {\n h = 60 * ((rgbPercent.g - rgbPercent.b) / c);\n }\n else if (v === rgbPercent.g) {\n h = 60 * (2 + (rgbPercent.b - rgbPercent.r) / c);\n }\n else if (v === rgbPercent.b) {\n h = 60 * (4 + (rgbPercent.r - rgbPercent.g) / c);\n }\n const s = !v ? 0 : c / v;\n return {\n h,\n s: s * 100,\n v: v * 100,\n };\n}\nexport function rgbaToHsva(rgba) {\n const hsvResult = rgbToHsv(rgba);\n return {\n a: rgba.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v,\n };\n}\nexport function getRandomRgbColor(min) {\n const fixedMin = min !== null && min !== void 0 ? min : 0;\n return {\n b: Math.floor(randomInRange(setRangeValue(fixedMin, 256))),\n g: Math.floor(randomInRange(setRangeValue(fixedMin, 256))),\n r: Math.floor(randomInRange(setRangeValue(fixedMin, 256))),\n };\n}\nexport function getStyleFromRgb(color, opacity) {\n return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;\n}\nexport function getStyleFromHsl(color, opacity) {\n return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;\n}\nexport function getStyleFromHsv(color, opacity) {\n return getStyleFromHsl(hsvToHsl(color), opacity);\n}\nexport function colorMix(color1, color2, size1, size2) {\n let rgb1 = color1, rgb2 = color2;\n if (rgb1.r === undefined) {\n rgb1 = hslToRgb(color1);\n }\n if (rgb2.r === undefined) {\n rgb2 = hslToRgb(color2);\n }\n return {\n b: mix(rgb1.b, rgb2.b, size1, size2),\n g: mix(rgb1.g, rgb2.g, size1, size2),\n r: mix(rgb1.r, rgb2.r, size1, size2),\n };\n}\nexport function getLinkColor(p1, p2, linkColor) {\n var _a, _b;\n if (linkColor === randomColorValue) {\n return getRandomRgbColor();\n }\n else if (linkColor === \"mid\") {\n const sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor(), 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 if (sourceColor && destColor && p2) {\n return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());\n }\n else {\n const hslColor = sourceColor !== null && sourceColor !== void 0 ? sourceColor : destColor;\n if (hslColor) {\n return hslToRgb(hslColor);\n }\n }\n }\n else {\n return linkColor;\n }\n}\nexport function getLinkRandomColor(optColor, blink, consent) {\n const color = typeof optColor === \"string\" ? optColor : optColor.value;\n if (color === randomColorValue) {\n if (consent) {\n return colorToRgb({\n value: color,\n });\n }\n else if (blink) {\n return randomColorValue;\n }\n else {\n return midColorValue;\n }\n }\n else {\n return colorToRgb({\n value: color,\n });\n }\n}\nexport function getHslFromAnimation(animation) {\n return animation !== undefined\n ? {\n h: animation.h.value,\n s: animation.s.value,\n l: animation.l.value,\n }\n : undefined;\n}\nexport function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {\n const 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 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 return resColor;\n}\nfunction setColorAnimation(colorValue, colorAnimation, reduceFactor) {\n colorValue.enable = colorAnimation.enable;\n if (colorValue.enable) {\n colorValue.velocity = (getRangeValue(colorAnimation.speed) / 100) * reduceFactor;\n if (colorAnimation.sync) {\n return;\n }\n colorValue.status = 0;\n colorValue.velocity *= Math.random();\n if (colorValue.value) {\n colorValue.value *= Math.random();\n }\n }\n else {\n colorValue.velocity = 0;\n }\n}\n","import { colorMix, getStyleFromHsl, getStyleFromRgb } from \"./ColorUtils\";\nexport function 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}\nexport function 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}\nexport function 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}\nexport function clear(context, dimension) {\n context.clearRect(0, 0, dimension.width, dimension.height);\n}\nexport function 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}\nexport function gradient(context, p1, p2, opacity) {\n const gradStop = Math.floor(p2.getRadius() / p1.getRadius()), color1 = p1.getFillColor(), color2 = p2.getFillColor();\n if (!color1 || !color2) {\n return;\n }\n const sourcePos = p1.getPosition(), destPos = p2.getPosition(), midRgb = colorMix(color1, color2, p1.getRadius(), p2.getRadius()), grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y);\n grad.addColorStop(0, getStyleFromHsl(color1, opacity));\n grad.addColorStop(gradStop > 1 ? 1 : gradStop, getStyleFromRgb(midRgb, opacity));\n grad.addColorStop(1, getStyleFromHsl(color2, opacity));\n return grad;\n}\nexport function drawGrabLine(context, width, begin, end, colorLine, opacity) {\n context.save();\n drawLine(context, begin, end);\n context.strokeStyle = getStyleFromRgb(colorLine, opacity);\n context.lineWidth = width;\n context.stroke();\n context.restore();\n}\nexport function drawParticle(container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow) {\n var _a, _b, _c, _d;\n const pos = particle.getPosition(), tiltOptions = particle.options.tilt, rollOptions = particle.options.roll;\n context.save();\n if (tiltOptions.enable || rollOptions.enable) {\n const roll = rollOptions.enable && particle.roll, tilt = tiltOptions.enable && particle.tilt, rollHorizontal = roll && (rollOptions.mode === \"horizontal\" || rollOptions.mode === \"both\"), rollVertical = roll && (rollOptions.mode === \"vertical\" || rollOptions.mode === \"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 }\n else {\n context.translate(pos.x, pos.y);\n }\n context.beginPath();\n const 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 if (angle !== 0) {\n context.rotate(angle);\n }\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n const shadowColor = particle.shadowColor;\n if (shadow.enable && shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = getStyleFromRgb(shadowColor);\n context.shadowOffsetX = shadow.offset.x;\n context.shadowOffsetY = shadow.offset.y;\n }\n if (colorStyles.fill) {\n context.fillStyle = colorStyles.fill;\n }\n const stroke = particle.stroke;\n context.lineWidth = (_c = particle.strokeWidth) !== null && _c !== void 0 ? _c : 0;\n if (colorStyles.stroke) {\n context.strokeStyle = colorStyles.stroke;\n }\n drawShape(container, context, particle, radius, opacity, delta);\n if (((_d = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _d !== void 0 ? _d : 0) > 0) {\n context.stroke();\n }\n if (particle.close) {\n context.closePath();\n }\n if (particle.fill) {\n context.fill();\n }\n context.restore();\n context.save();\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 }\n else {\n context.translate(pos.x, pos.y);\n }\n if (angle !== 0) {\n context.rotate(angle);\n }\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n drawShapeAfterEffect(container, context, particle, radius, opacity, delta);\n context.restore();\n}\nexport function drawShape(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n const drawer = container.drawers.get(particle.shape);\n if (!drawer) {\n return;\n }\n drawer.draw(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\nexport function drawShapeAfterEffect(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n const drawer = container.drawers.get(particle.shape);\n if (!(drawer === null || drawer === void 0 ? void 0 : drawer.afterEffect)) {\n return;\n }\n drawer.afterEffect(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\nexport function drawPlugin(context, plugin, delta) {\n if (!plugin.draw) {\n return;\n }\n context.save();\n plugin.draw(context, delta);\n context.restore();\n}\nexport function drawParticlePlugin(context, plugin, particle, delta) {\n if (!plugin.drawParticle) {\n return;\n }\n context.save();\n plugin.drawParticle(context, particle, delta);\n context.restore();\n}\nexport function drawEllipse(context, particle, fillColorValue, radius, opacity, width, rotation, start, end) {\n if (width <= 0) {\n return;\n }\n const pos = particle.getPosition();\n if (fillColorValue) {\n context.strokeStyle = getStyleFromHsl(fillColorValue, opacity);\n }\n context.lineWidth = width;\n const 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}\nexport function alterHsl(color, type, value) {\n return {\n h: color.h,\n s: color.s,\n l: color.l + (type === \"darken\" ? -1 : 1) * value,\n };\n}\n","import { clear, drawConnectLine, drawGrabLine, drawParticle, drawParticlePlugin, drawPlugin, gradient, paintBase, } from \"../Utils/CanvasUtils\";\nimport { colorToHsl, colorToRgb, getStyleFromHsl, getStyleFromRgb } from \"../Utils/ColorUtils\";\nimport { deepExtend } from \"../Utils/Utils\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nexport class Canvas {\n constructor(container) {\n this.container = container;\n this.size = {\n height: 0,\n width: 0,\n };\n this.context = null;\n this.generatedCanvas = false;\n }\n init() {\n this.resize();\n this.initStyle();\n this.initCover();\n this.initTrail();\n this.initBackground();\n this.paint();\n }\n loadCanvas(canvas) {\n var _a;\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this.generatedCanvas =\n canvas.dataset && generatedAttribute in canvas.dataset\n ? canvas.dataset[generatedAttribute] === \"true\"\n : this.generatedCanvas;\n this.element = canvas;\n this.originalStyle = 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 destroy() {\n var _a;\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\n }\n paint() {\n const options = this.container.actualOptions;\n this.draw((ctx) => {\n if (options.backgroundMask.enable && options.backgroundMask.cover) {\n clear(ctx, this.size);\n this.paintBase(this.coverColorStyle);\n }\n else {\n this.paintBase();\n }\n });\n }\n clear() {\n const options = this.container.actualOptions, trail = options.particles.move.trail;\n if (options.backgroundMask.enable) {\n this.paint();\n }\n else if (trail.enable && trail.length > 0 && this.trailFillColor) {\n this.paintBase(getStyleFromRgb(this.trailFillColor, 1 / trail.length));\n }\n else {\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\n }\n }\n async windowResize() {\n if (!this.element) {\n return;\n }\n this.resize();\n const container = this.container, needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n for (const [, plugin] of container.plugins) {\n if (plugin.resize !== undefined) {\n plugin.resize();\n }\n }\n if (needsRefresh) {\n await container.refresh();\n }\n }\n resize() {\n if (!this.element) {\n return;\n }\n const container = this.container, pxRatio = container.retina.pixelRatio, size = container.canvas.size, newSize = {\n width: this.element.offsetWidth * pxRatio,\n height: this.element.offsetHeight * pxRatio,\n };\n if (newSize.height === size.height &&\n newSize.width === size.width &&\n newSize.height === this.element.height &&\n newSize.width === this.element.width) {\n return;\n }\n const oldSize = Object.assign({}, size);\n this.element.width = size.width = this.element.offsetWidth * pxRatio;\n this.element.height = size.height = this.element.offsetHeight * pxRatio;\n if (this.container.started) {\n this.resizeFactor = {\n width: size.width / oldSize.width,\n height: size.height / oldSize.height,\n };\n }\n }\n drawConnectLine(p1, p2) {\n this.draw((ctx) => {\n var _a;\n const lineStyle = this.lineStyle(p1, p2);\n if (!lineStyle) {\n return;\n }\n const pos1 = p1.getPosition(), pos2 = p2.getPosition();\n drawConnectLine(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : this.container.retina.linksWidth, lineStyle, pos1, pos2);\n });\n }\n drawGrabLine(particle, lineColor, opacity, mousePos) {\n const container = this.container;\n this.draw((ctx) => {\n var _a;\n const beginPos = particle.getPosition();\n drawGrabLine(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, beginPos, mousePos, lineColor, opacity);\n });\n }\n drawParticle(particle, delta) {\n var _a, _b, _c, _d, _e, _f;\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const radius = particle.getRadius();\n if (radius <= 0) {\n return;\n }\n const pfColor = particle.getFillColor(), psColor = (_a = particle.getStrokeColor()) !== null && _a !== void 0 ? _a : pfColor;\n if (!pfColor && !psColor) {\n return;\n }\n let [fColor, sColor] = this.getPluginParticleColors(particle);\n if (!fColor || !sColor) {\n if (!fColor) {\n fColor = pfColor ? pfColor : undefined;\n }\n if (!sColor) {\n sColor = psColor ? psColor : undefined;\n }\n }\n const options = this.container.actualOptions, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, 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, strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity, zOpacity = opacity * zOpacityFactor, zStrokeOpacity = strokeOpacity * zOpacityFactor;\n const colorStyles = {\n fill: fColor ? getStyleFromHsl(fColor, zOpacity) : undefined,\n };\n colorStyles.stroke = sColor ? getStyleFromHsl(sColor, zStrokeOpacity) : colorStyles.fill;\n this.draw((ctx) => {\n const zSizeFactor = (1 - particle.zIndexFactor) ** zIndexOptions.sizeRate, container = this.container;\n for (const updater of container.particles.updaters) {\n if (updater.beforeDraw) {\n updater.beforeDraw(particle);\n }\n if (updater.getColorStyles) {\n const { fill, stroke } = updater.getColorStyles(particle, ctx, radius, zOpacity);\n if (fill) {\n colorStyles.fill = fill;\n }\n if (stroke) {\n colorStyles.stroke = stroke;\n }\n }\n }\n drawParticle(container, ctx, particle, delta, colorStyles, options.backgroundMask.enable, options.backgroundMask.composite, radius * zSizeFactor, zOpacity, particle.options.shadow);\n for (const updater of container.particles.updaters) {\n if (updater.afterDraw) {\n updater.afterDraw(particle);\n }\n }\n });\n }\n drawPlugin(plugin, delta) {\n this.draw((ctx) => {\n drawPlugin(ctx, plugin, delta);\n });\n }\n drawParticlePlugin(plugin, particle, delta) {\n this.draw((ctx) => {\n drawParticlePlugin(ctx, plugin, particle, delta);\n });\n }\n initBackground() {\n const options = this.container.actualOptions, background = options.background, element = this.element, elementStyle = element === null || element === void 0 ? void 0 : element.style;\n if (!elementStyle) {\n return;\n }\n if (background.color) {\n const color = colorToRgb(background.color);\n elementStyle.backgroundColor = color ? getStyleFromRgb(color, background.opacity) : \"\";\n }\n else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n draw(cb) {\n if (!this.context) {\n return;\n }\n return cb(this.context);\n }\n initCover() {\n const options = this.container.actualOptions, cover = options.backgroundMask.cover, color = cover.color, coverRgb = colorToRgb(color);\n if (coverRgb) {\n const coverColor = {\n r: coverRgb.r,\n g: coverRgb.g,\n b: coverRgb.b,\n a: cover.opacity,\n };\n this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);\n }\n }\n initTrail() {\n const options = this.container.actualOptions, trail = options.particles.move.trail, fillColor = colorToRgb(trail.fillColor);\n if (fillColor) {\n const 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 getPluginParticleColors(particle) {\n let fColor, sColor;\n for (const [, plugin] of this.container.plugins) {\n if (!fColor && plugin.particleFillColor) {\n fColor = colorToHsl(plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = colorToHsl(plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n return [fColor, sColor];\n }\n initStyle() {\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n const originalStyle = this.originalStyle;\n if (options.fullScreen.enable) {\n this.originalStyle = deepExtend({}, element.style);\n element.style.setProperty(\"position\", \"fixed\", \"important\");\n element.style.setProperty(\"z-index\", options.fullScreen.zIndex.toString(10), \"important\");\n element.style.setProperty(\"top\", \"0\", \"important\");\n element.style.setProperty(\"left\", \"0\", \"important\");\n element.style.setProperty(\"width\", \"100%\", \"important\");\n element.style.setProperty(\"height\", \"100%\", \"important\");\n }\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 for (const key in options.style) {\n if (!key || !options.style) {\n continue;\n }\n const value = options.style[key];\n if (!value) {\n continue;\n }\n element.style.setProperty(key, value, \"important\");\n }\n }\n paintBase(baseColor) {\n this.draw((ctx) => {\n paintBase(ctx, this.size, baseColor);\n });\n }\n lineStyle(p1, p2) {\n return this.draw((ctx) => {\n const options = this.container.actualOptions, connectOptions = options.interactivity.modes.connect;\n return gradient(ctx, p1, p2, connectOptions.links.opacity);\n });\n }\n}\n","import { mouseDownEvent, mouseLeaveEvent, mouseMoveEvent, mouseOutEvent, mouseUpEvent, resizeEvent, touchCancelEvent, touchEndEvent, touchMoveEvent, touchStartEvent, visibilityChangeEvent, } from \"./Constants\";\nimport { isSsr } from \"../../Utils/Utils\";\nfunction manageListener(element, event, handler, add, options) {\n if (add) {\n let addOptions = { passive: true };\n if (typeof options === \"boolean\") {\n addOptions.capture = options;\n }\n else if (options !== undefined) {\n addOptions = options;\n }\n element.addEventListener(event, handler, addOptions);\n }\n else {\n const removeOptions = options;\n element.removeEventListener(event, handler, removeOptions);\n }\n}\nexport class EventListeners {\n constructor(container) {\n this.container = container;\n this.canPush = true;\n this.mouseMoveHandler = (e) => this.mouseTouchMove(e);\n this.touchStartHandler = (e) => this.mouseTouchMove(e);\n this.touchMoveHandler = (e) => this.mouseTouchMove(e);\n this.touchEndHandler = () => this.mouseTouchFinish();\n this.mouseLeaveHandler = () => this.mouseTouchFinish();\n this.touchCancelHandler = () => this.mouseTouchFinish();\n this.touchEndClickHandler = (e) => this.mouseTouchClick(e);\n this.mouseUpHandler = (e) => this.mouseTouchClick(e);\n this.mouseDownHandler = () => this.mouseDown();\n this.visibilityChangeHandler = () => this.handleVisibilityChange();\n this.themeChangeHandler = (e) => this.handleThemeChange(e);\n this.oldThemeChangeHandler = (e) => this.handleThemeChange(e);\n this.resizeHandler = () => this.handleWindowResize();\n }\n addListeners() {\n this.manageListeners(true);\n }\n removeListeners() {\n this.manageListeners(false);\n }\n manageListeners(add) {\n var _a;\n const container = this.container, options = container.actualOptions, detectType = options.interactivity.detectsOn;\n let mouseLeaveTmpEvent = mouseLeaveEvent;\n if (detectType === \"window\") {\n container.interactivity.element = window;\n mouseLeaveTmpEvent = mouseOutEvent;\n }\n else if (detectType === \"parent\" && container.canvas.element) {\n const canvasEl = container.canvas.element;\n container.interactivity.element = (_a = canvasEl.parentElement) !== null && _a !== void 0 ? _a : canvasEl.parentNode;\n }\n else {\n container.interactivity.element = container.canvas.element;\n }\n const mediaMatch = !isSsr() && typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\");\n if (mediaMatch) {\n if (mediaMatch.addEventListener !== undefined) {\n manageListener(mediaMatch, \"change\", this.themeChangeHandler, add);\n }\n else if (mediaMatch.addListener !== undefined) {\n if (add) {\n mediaMatch.addListener(this.oldThemeChangeHandler);\n }\n else {\n mediaMatch.removeListener(this.oldThemeChangeHandler);\n }\n }\n }\n const interactivityEl = container.interactivity.element;\n if (!interactivityEl) {\n return;\n }\n const html = interactivityEl;\n if (options.interactivity.events.onHover.enable || options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, mouseMoveEvent, this.mouseMoveHandler, add);\n manageListener(interactivityEl, touchStartEvent, this.touchStartHandler, add);\n manageListener(interactivityEl, touchMoveEvent, this.touchMoveHandler, add);\n if (!options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, touchEndEvent, this.touchEndHandler, add);\n }\n else {\n manageListener(interactivityEl, touchEndEvent, this.touchEndClickHandler, add);\n manageListener(interactivityEl, mouseUpEvent, this.mouseUpHandler, add);\n manageListener(interactivityEl, mouseDownEvent, this.mouseDownHandler, add);\n }\n manageListener(interactivityEl, mouseLeaveTmpEvent, this.mouseLeaveHandler, add);\n manageListener(interactivityEl, touchCancelEvent, this.touchCancelHandler, add);\n }\n if (container.canvas.element) {\n container.canvas.element.style.pointerEvents = html === container.canvas.element ? \"initial\" : \"none\";\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 this.resizeObserver.disconnect();\n delete this.resizeObserver;\n }\n else if (!this.resizeObserver && add && container.canvas.element) {\n this.resizeObserver = new ResizeObserver((entries) => {\n const entry = entries.find((e) => e.target === container.canvas.element);\n if (!entry) {\n return;\n }\n this.handleWindowResize();\n });\n this.resizeObserver.observe(container.canvas.element);\n }\n }\n else {\n manageListener(window, resizeEvent, this.resizeHandler, add);\n }\n }\n if (document) {\n manageListener(document, visibilityChangeEvent, this.visibilityChangeHandler, add, false);\n }\n }\n handleWindowResize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n delete this.resizeTimeout;\n }\n this.resizeTimeout = setTimeout(async () => { var _a; return (_a = this.container.canvas) === null || _a === void 0 ? void 0 : _a.windowResize(); }, 500);\n }\n handleVisibilityChange() {\n const container = this.container, options = container.actualOptions;\n this.mouseTouchFinish();\n if (!options.pauseOnBlur) {\n return;\n }\n if (document === null || document === void 0 ? void 0 : document.hidden) {\n container.pageHidden = true;\n container.pause();\n }\n else {\n container.pageHidden = false;\n if (container.getAnimationStatus()) {\n container.play(true);\n }\n else {\n container.draw(true);\n }\n }\n }\n mouseDown() {\n const interactivity = this.container.interactivity;\n if (interactivity) {\n const mouse = interactivity.mouse;\n mouse.clicking = true;\n mouse.downPosition = mouse.position;\n }\n }\n mouseTouchMove(e) {\n var _a, _b, _c, _d, _e, _f, _g;\n const container = this.container, options = container.actualOptions;\n if (!((_a = container.interactivity) === null || _a === void 0 ? void 0 : _a.element)) {\n return;\n }\n container.interactivity.mouse.inside = true;\n let pos;\n const canvas = container.canvas.element;\n if (e.type.startsWith(\"mouse\")) {\n this.canPush = true;\n const mouseEvent = e;\n if (container.interactivity.element === window) {\n if (canvas) {\n const clientRect = canvas.getBoundingClientRect();\n pos = {\n x: mouseEvent.clientX - clientRect.left,\n y: mouseEvent.clientY - clientRect.top,\n };\n }\n }\n else if (options.interactivity.detectsOn === \"parent\") {\n const source = mouseEvent.target;\n const target = mouseEvent.currentTarget;\n const canvasEl = container.canvas.element;\n if (source && target && canvasEl) {\n const sourceRect = source.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n const 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 }\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 }\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 }\n else {\n this.canPush = e.type !== \"touchmove\";\n const touchEvent = e;\n const lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n const canvasRect = canvas === null || canvas === void 0 ? void 0 : canvas.getBoundingClientRect();\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 const pxRatio = container.retina.pixelRatio;\n if (pos) {\n pos.x *= pxRatio;\n pos.y *= pxRatio;\n }\n container.interactivity.mouse.position = pos;\n container.interactivity.status = mouseMoveEvent;\n }\n mouseTouchFinish() {\n const interactivity = this.container.interactivity;\n if (!interactivity) {\n return;\n }\n const mouse = interactivity.mouse;\n delete mouse.position;\n delete mouse.clickPosition;\n delete mouse.downPosition;\n interactivity.status = mouseLeaveEvent;\n mouse.inside = false;\n mouse.clicking = false;\n }\n mouseTouchClick(e) {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse;\n mouse.inside = true;\n let handled = false;\n const mousePosition = mouse.position;\n if (!mousePosition || !options.interactivity.events.onClick.enable) {\n return;\n }\n for (const [, plugin] of container.plugins) {\n if (!plugin.clickPositionValid) {\n continue;\n }\n handled = plugin.clickPositionValid(mousePosition);\n if (handled) {\n break;\n }\n }\n if (!handled) {\n this.doMouseTouchClick(e);\n }\n mouse.clicking = false;\n }\n doMouseTouchClick(e) {\n const container = this.container, options = container.actualOptions;\n if (this.canPush) {\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n container.interactivity.mouse.clickPosition = {\n x: mousePos.x,\n y: mousePos.y,\n };\n container.interactivity.mouse.clickTime = new Date().getTime();\n const onClick = options.interactivity.events.onClick;\n if (onClick.mode instanceof Array) {\n for (const mode of onClick.mode) {\n this.handleClickMode(mode);\n }\n }\n else {\n this.handleClickMode(onClick.mode);\n }\n }\n if (e.type === \"touchend\") {\n setTimeout(() => this.mouseTouchFinish(), 500);\n }\n }\n handleThemeChange(e) {\n const mediaEvent = e, themeName = mediaEvent.matches\n ? this.container.options.defaultDarkTheme\n : this.container.options.defaultLightTheme, theme = this.container.options.themes.find((theme) => theme.name === themeName);\n if (theme && theme.default.auto) {\n this.container.loadTheme(themeName);\n }\n }\n handleClickMode(mode) {\n this.container.handleClickMode(mode);\n }\n}\n","var __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};\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};\nvar _InteractionManager_engine;\nexport class InteractionManager {\n constructor(engine, container) {\n this.container = container;\n _InteractionManager_engine.set(this, void 0);\n __classPrivateFieldSet(this, _InteractionManager_engine, engine, \"f\");\n this.externalInteractors = [];\n this.particleInteractors = [];\n this.init();\n }\n init() {\n const interactors = __classPrivateFieldGet(this, _InteractionManager_engine, \"f\").plugins.getInteractors(this.container, true);\n this.externalInteractors = [];\n this.particleInteractors = [];\n for (const interactor of interactors) {\n switch (interactor.type) {\n case 0:\n this.externalInteractors.push(interactor);\n break;\n case 1:\n this.particleInteractors.push(interactor);\n break;\n }\n }\n }\n async externalInteract(delta) {\n for (const interactor of this.externalInteractors) {\n if (interactor.isEnabled()) {\n await interactor.interact(delta);\n }\n }\n }\n async particlesInteract(particle, delta) {\n for (const interactor of this.externalInteractors) {\n interactor.reset(particle);\n }\n for (const interactor of this.particleInteractors) {\n if (interactor.isEnabled(particle)) {\n await interactor.interact(particle, delta);\n }\n }\n }\n handleClickMode(mode) {\n for (const interactor of this.externalInteractors) {\n if (interactor.handleClickMode) {\n interactor.handleClickMode(mode);\n }\n }\n }\n}\n_InteractionManager_engine = new WeakMap();\n","export class FrameManager {\n constructor(container) {\n this.container = container;\n }\n async nextFrame(timestamp) {\n var _a;\n try {\n const container = this.container;\n if (container.lastFrameTime !== undefined &&\n timestamp < container.lastFrameTime + 1000 / container.fpsLimit) {\n container.draw(false);\n return;\n }\n (_a = container.lastFrameTime) !== null && _a !== void 0 ? _a : (container.lastFrameTime = timestamp);\n const deltaValue = timestamp - container.lastFrameTime, delta = {\n value: deltaValue,\n factor: (60 * deltaValue) / 1000,\n };\n container.lifeTime += delta.value;\n container.lastFrameTime = timestamp;\n if (deltaValue > 1000) {\n container.draw(false);\n return;\n }\n await container.particles.draw(delta);\n if (container.duration > 0 && container.lifeTime > container.duration) {\n container.destroy();\n return;\n }\n if (container.getAnimationStatus()) {\n container.draw(false);\n }\n }\n catch (e) {\n console.error(\"tsParticles error in animation loop\", e);\n }\n }\n}\n","import { Vector } from \"./Vector\";\nexport class Vector3d extends Vector {\n constructor(xOrCoords, y, z) {\n super(xOrCoords, y);\n if (typeof xOrCoords !== \"number\" && xOrCoords) {\n this.z = xOrCoords.z;\n }\n else if (z !== undefined) {\n this.z = z;\n }\n else {\n throw new Error(\"tsParticles - Vector not initialized correctly\");\n }\n }\n static clone(source) {\n return Vector3d.create(source.x, source.y, source.z);\n }\n static create(x, y, z) {\n return new Vector3d(x, y, z);\n }\n static get origin() {\n return Vector3d.create(0, 0, 0);\n }\n add(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z) : super.add(v);\n }\n addTo(v) {\n super.addTo(v);\n if (v instanceof Vector3d) {\n this.z += v.z;\n }\n }\n sub(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z) : super.sub(v);\n }\n subFrom(v) {\n super.subFrom(v);\n if (v instanceof Vector3d) {\n this.z -= v.z;\n }\n }\n mult(n) {\n return Vector3d.create(this.x * n, this.y * n, this.z * n);\n }\n multTo(n) {\n super.multTo(n);\n this.z *= n;\n }\n div(n) {\n return Vector3d.create(this.x / n, this.y / n, this.z / n);\n }\n divTo(n) {\n super.divTo(n);\n this.z /= n;\n }\n copy() {\n return Vector3d.clone(this);\n }\n setTo(v) {\n super.setTo(v);\n const v3d = v;\n if (v3d.z !== undefined) {\n this.z = v3d.z;\n }\n }\n}\n","var __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};\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};\nvar _Particle_engine;\nimport { calcExactPositionOrRandomFromSize, clamp, getDistance, getParticleBaseVelocity, getParticleDirectionAngle, getRangeMax, getRangeMin, getRangeValue, getValue, randomInRange, setRangeValue, } from \"../Utils/NumberUtils\";\nimport { colorToRgb, getHslFromAnimation } from \"../Utils/ColorUtils\";\nimport { deepExtend, isInArray, itemFromArray, loadParticlesOptions } from \"../Utils/Utils\";\nimport { Shape } from \"../Options/Classes/Particles/Shape/Shape\";\nimport { Vector } from \"./Utils/Vector\";\nimport { Vector3d } from \"./Utils/Vector3d\";\nimport { alterHsl } from \"../Utils/CanvasUtils\";\nconst fixOutMode = (data) => {\n if (!(isInArray(data.outMode, data.checkModes) || isInArray(data.outMode, data.checkModes))) {\n return;\n }\n if (data.coord > data.maxCoord - data.radius * 2) {\n data.setCb(-data.radius);\n }\n else if (data.coord < data.radius * 2) {\n data.setCb(data.radius);\n }\n};\nexport class Particle {\n constructor(engine, id, container, position, overrideOptions, group) {\n var _a, _b, _c, _d, _e, _f, _g;\n this.id = id;\n this.container = container;\n this.group = group;\n _Particle_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Particle_engine, engine, \"f\");\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 this.outType = \"normal\";\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, particlesOptions = loadParticlesOptions(mainOptions.particles);\n const shapeType = particlesOptions.shape.type, reduceDuplicates = particlesOptions.reduceDuplicates;\n this.shape = shapeType instanceof Array ? itemFromArray(shapeType, this.id, reduceDuplicates) : shapeType;\n if (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.shape) {\n if (overrideOptions.shape.type) {\n const overrideShapeType = overrideOptions.shape.type;\n this.shape =\n overrideShapeType instanceof Array\n ? itemFromArray(overrideShapeType, this.id, reduceDuplicates)\n : overrideShapeType;\n }\n const shapeOptions = new Shape();\n shapeOptions.load(overrideOptions.shape);\n if (this.shape) {\n this.shapeData = this.loadShapeData(shapeOptions, reduceDuplicates);\n }\n }\n else {\n this.shapeData = this.loadShapeData(particlesOptions.shape, reduceDuplicates);\n }\n if (overrideOptions !== undefined) {\n particlesOptions.load(overrideOptions);\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 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 = getValue(this.options.move.path.delay) * 1000;\n const zIndexValue = getRangeValue(this.options.zIndex.value);\n container.retina.initParticle(this);\n const sizeOptions = this.options.size, sizeRange = sizeOptions.value;\n this.size = {\n enable: sizeOptions.animation.enable,\n value: getRangeValue(sizeOptions.value) * container.retina.pixelRatio,\n max: getRangeMax(sizeRange) * pxRatio,\n min: getRangeMin(sizeRange) * pxRatio,\n loops: 0,\n maxLoops: getRangeValue(sizeOptions.animation.count),\n };\n const sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n this.size.status = 0;\n switch (sizeAnimation.startValue) {\n case \"min\":\n this.size.value = this.size.min;\n this.size.status = 0;\n break;\n case \"random\":\n this.size.value = randomInRange(this.size) * pxRatio;\n this.size.status = Math.random() >= 0.5 ? 0 : 1;\n break;\n case \"max\":\n default:\n this.size.value = this.size.max;\n this.size.status = 1;\n break;\n }\n this.size.velocity =\n (((_g = this.retina.sizeAnimationSpeed) !== null && _g !== void 0 ? _g : container.retina.sizeAnimationSpeed) / 100) *\n container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n this.size.velocity *= Math.random();\n }\n }\n this.bubble = {\n inRange: false,\n };\n this.position = this.calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size, moveCenterPerc = this.options.move.center;\n this.moveCenter = {\n x: (canvasSize.width * moveCenterPerc.x) / 100,\n y: (canvasSize.height * moveCenterPerc.y) / 100,\n radius: this.options.move.center.radius,\n };\n this.direction = getParticleDirectionAngle(this.options.move.direction, this.position, this.moveCenter);\n switch (this.options.move.direction) {\n case \"inside\":\n this.outType = \"inside\";\n break;\n case \"outside\":\n this.outType = \"outside\";\n break;\n }\n this.initialVelocity = this.calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n this.moveDecay = 1 - getRangeValue(this.options.move.decay);\n const gravityOptions = this.options.move.gravity;\n this.gravity = {\n enable: gravityOptions.enable,\n acceleration: getRangeValue(gravityOptions.acceleration),\n inverse: gravityOptions.inverse,\n };\n this.offset = Vector.origin;\n const 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 let drawer = container.drawers.get(this.shape);\n if (!drawer) {\n drawer = __classPrivateFieldGet(this, _Particle_engine, \"f\").plugins.getShapeDrawer(this.shape);\n if (drawer) {\n container.drawers.set(this.shape, drawer);\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 const sideCountFunc = drawer === null || drawer === void 0 ? void 0 : drawer.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.life = this.loadLife();\n this.spawning = this.life.delay > 0;\n this.shadowColor = colorToRgb(this.options.shadow.color);\n for (const updater of container.particles.updaters) {\n if (updater.init) {\n updater.init(this);\n }\n }\n for (const mover of container.particles.movers) {\n if (mover.init) {\n mover.init(this);\n }\n }\n if (drawer && drawer.particleInit) {\n drawer.particleInit(container, this);\n }\n for (const [, plugin] of container.plugins) {\n if (plugin.particleCreated) {\n plugin.particleCreated(this);\n }\n }\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n isInsideCanvas() {\n const radius = this.getRadius(), canvasSize = this.container.canvas.size;\n return (this.position.x >= -radius &&\n this.position.y >= -radius &&\n this.position.y <= canvasSize.height + radius &&\n this.position.x <= canvasSize.width + radius);\n }\n draw(delta) {\n const container = this.container;\n for (const [, plugin] of container.plugins) {\n container.canvas.drawParticlePlugin(plugin, this, delta);\n }\n container.canvas.drawParticle(this, delta);\n }\n 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 getRadius() {\n var _a;\n return (_a = this.bubble.radius) !== null && _a !== void 0 ? _a : this.size.value;\n }\n getMass() {\n return (this.getRadius() ** 2 * Math.PI) / 2;\n }\n getFillColor() {\n var _a, _b;\n const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);\n if (color && this.roll && (this.backColor || this.roll.alter)) {\n const backFactor = this.options.roll.mode === \"both\" ? 2 : 1, backSum = this.options.roll.mode === \"horizontal\" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;\n if (rolled) {\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return alterHsl(color, this.roll.alter.type, this.roll.alter.value);\n }\n }\n }\n return color;\n }\n getStrokeColor() {\n var _a, _b;\n return (_b = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.strokeColor)) !== null && _b !== void 0 ? _b : this.getFillColor();\n }\n destroy(override) {\n this.destroyed = true;\n this.bubble.inRange = false;\n if (this.unbreakable) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (plugin.particleDestroyed) {\n plugin.particleDestroyed(this, override);\n }\n }\n if (override) {\n return;\n }\n const destroyOptions = this.options.destroy;\n if (destroyOptions.mode === \"split\") {\n this.split();\n }\n }\n reset() {\n if (this.opacity) {\n this.opacity.loops = 0;\n }\n this.size.loops = 0;\n }\n split() {\n const splitOptions = this.options.destroy.split;\n if (splitOptions.count >= 0 && this.splitCount++ > splitOptions.count) {\n return;\n }\n const rate = getValue(splitOptions.rate);\n for (let i = 0; i < rate; i++) {\n this.container.particles.addSplitParticle(this);\n }\n }\n calcPosition(container, position, zIndex, tryCount = 0) {\n var _a, _b, _c, _d;\n for (const [, plugin] of container.plugins) {\n const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n if (pluginPos !== undefined) {\n return Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const canvasSize = container.canvas.size, exactPosition = calcExactPositionOrRandomFromSize({\n size: canvasSize,\n position: position,\n }), pos = Vector3d.create(exactPosition.x, exactPosition.y, zIndex), radius = this.getRadius(), outModes = this.options.move.outModes, fixHorizontal = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [\"bounce\", \"bounce-horizontal\"],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: (value) => (pos.x += value),\n radius,\n });\n }, fixVertical = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [\"bounce\", \"bounce-vertical\"],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: (value) => (pos.y += value),\n radius,\n });\n };\n fixHorizontal((_a = outModes.left) !== null && _a !== void 0 ? _a : outModes.default);\n fixHorizontal((_b = outModes.right) !== null && _b !== void 0 ? _b : outModes.default);\n fixVertical((_c = outModes.top) !== null && _c !== void 0 ? _c : outModes.default);\n fixVertical((_d = outModes.bottom) !== null && _d !== void 0 ? _d : outModes.default);\n if (this.checkOverlap(pos, tryCount)) {\n return this.calcPosition(container, undefined, zIndex, tryCount + 1);\n }\n return pos;\n }\n checkOverlap(pos, tryCount = 0) {\n const collisionsOptions = this.options.collisions, radius = this.getRadius();\n if (!collisionsOptions.enable) {\n return false;\n }\n const overlapOptions = collisionsOptions.overlap;\n if (overlapOptions.enable) {\n return false;\n }\n const retries = overlapOptions.retries;\n if (retries >= 0 && tryCount > retries) {\n throw new Error(\"Particle is overlapping and can't be placed\");\n }\n let overlaps = false;\n for (const particle of this.container.particles.array) {\n if (getDistance(pos, particle.position) < radius + particle.getRadius()) {\n overlaps = true;\n break;\n }\n }\n return overlaps;\n }\n calculateVelocity() {\n const baseVelocity = getParticleBaseVelocity(this.direction);\n const res = baseVelocity.copy();\n const moveOptions = this.options.move;\n if (moveOptions.direction === \"inside\" || moveOptions.direction === \"outside\") {\n return res;\n }\n const rad = (Math.PI / 180) * getRangeValue(moveOptions.angle.value);\n const radOffset = (Math.PI / 180) * getRangeValue(moveOptions.angle.offset);\n const range = {\n left: radOffset - rad / 2,\n right: radOffset + rad / 2,\n };\n if (!moveOptions.straight) {\n res.angle += randomInRange(setRangeValue(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= Math.random();\n }\n return res;\n }\n loadShapeData(shapeOptions, reduceDuplicates) {\n const shapeData = shapeOptions.options[this.shape];\n if (shapeData) {\n return deepExtend({}, shapeData instanceof Array ? itemFromArray(shapeData, this.id, reduceDuplicates) : shapeData);\n }\n }\n loadLife() {\n const container = this.container, particlesOptions = this.options, lifeOptions = particlesOptions.life, life = {\n delay: container.retina.reduceFactor\n ? ((getRangeValue(lifeOptions.delay.value) * (lifeOptions.delay.sync ? 1 : Math.random())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n delayTime: 0,\n duration: container.retina.reduceFactor\n ? ((getRangeValue(lifeOptions.duration.value) * (lifeOptions.duration.sync ? 1 : Math.random())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n time: 0,\n count: particlesOptions.life.count,\n };\n if (life.duration <= 0) {\n life.duration = -1;\n }\n if (life.count <= 0) {\n life.count = -1;\n }\n return life;\n }\n}\n_Particle_engine = new WeakMap();\n","export class Point {\n constructor(position, particle) {\n this.position = position;\n this.particle = particle;\n }\n}\n","var __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};\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};\nvar _Particles_engine;\nimport { calcPositionFromSize, getRangeMax, getRangeMin, getValue, randomInRange, setRangeValue, } from \"../Utils/NumberUtils\";\nimport { InteractionManager } from \"./Utils/InteractionManager\";\nimport { Particle } from \"./Particle\";\nimport { Point } from \"./Utils/Point\";\nimport { QuadTree } from \"./Utils/QuadTree\";\nimport { Rectangle } from \"./Utils/Rectangle\";\nimport { loadParticlesOptions } from \"../Utils/Utils\";\nexport class Particles {\n constructor(engine, container) {\n this.container = container;\n _Particles_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Particles_engine, engine, \"f\");\n this.nextId = 0;\n this.array = [];\n this.zArray = [];\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(__classPrivateFieldGet(this, _Particles_engine, \"f\"), container);\n const canvasSize = this.container.canvas.size;\n this.linksColors = new Map();\n this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);\n this.movers = __classPrivateFieldGet(this, _Particles_engine, \"f\").plugins.getMovers(container, true);\n this.updaters = __classPrivateFieldGet(this, _Particles_engine, \"f\").plugins.getUpdaters(container, true);\n }\n get count() {\n return this.array.length;\n }\n init() {\n var _a;\n const container = this.container, options = container.actualOptions;\n this.lastZIndex = 0;\n this.needsSort = false;\n this.freqs.links = new Map();\n this.freqs.triangles = new Map();\n let handled = false;\n this.updaters = __classPrivateFieldGet(this, _Particles_engine, \"f\").plugins.getUpdaters(container, true);\n this.interactionManager.init();\n for (const [, plugin] of container.plugins) {\n if (plugin.particlesInitialization !== undefined) {\n handled = plugin.particlesInitialization();\n }\n if (handled) {\n break;\n }\n }\n this.addManualParticles();\n if (!handled) {\n for (const group in options.particles.groups) {\n const groupOptions = options.particles.groups[group];\n for (let 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 for (let i = this.count; i < options.particles.number.value; i++) {\n this.addParticle();\n }\n }\n container.pathGenerator.init(container);\n }\n async redraw() {\n this.clear();\n this.init();\n await this.draw({ value: 0, factor: 0 });\n }\n removeAt(index, quantity = 1, group, override) {\n if (!(index >= 0 && index <= this.count)) {\n return;\n }\n let deleted = 0;\n for (let i = index; deleted < quantity && i < this.count; i++) {\n const particle = this.array[i];\n if (!particle || particle.group !== group) {\n continue;\n }\n particle.destroy(override);\n this.array.splice(i--, 1);\n const zIdx = this.zArray.indexOf(particle);\n this.zArray.splice(zIdx, 1);\n deleted++;\n __classPrivateFieldGet(this, _Particles_engine, \"f\").dispatchEvent(\"particleRemoved\", {\n container: this.container,\n data: {\n particle,\n },\n });\n }\n }\n remove(particle, group, override) {\n this.removeAt(this.array.indexOf(particle), undefined, group, override);\n }\n async update(delta) {\n const container = this.container, particlesToDelete = [];\n container.pathGenerator.update();\n for (const [, plugin] of container.plugins) {\n if (plugin.update !== undefined) {\n plugin.update(delta);\n }\n }\n for (const particle of this.array) {\n const resizeFactor = container.canvas.resizeFactor;\n if (resizeFactor && !particle.ignoresResizeRatio) {\n particle.position.x *= resizeFactor.width;\n particle.position.y *= resizeFactor.height;\n }\n particle.ignoresResizeRatio = false;\n particle.bubble.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (particle.destroyed) {\n break;\n }\n if (plugin.particleUpdate) {\n plugin.particleUpdate(particle, delta);\n }\n }\n for (const mover of this.movers) {\n if (mover.isEnabled(particle)) {\n mover.move(particle, delta);\n }\n }\n if (particle.destroyed) {\n particlesToDelete.push(particle);\n continue;\n }\n this.quadTree.insert(new Point(particle.getPosition(), particle));\n }\n for (const particle of particlesToDelete) {\n this.remove(particle);\n }\n await this.interactionManager.externalInteract(delta);\n for (const particle of container.particles.array) {\n for (const updater of this.updaters) {\n updater.update(particle, delta);\n }\n if (!particle.destroyed && !particle.spawning) {\n await this.interactionManager.particlesInteract(particle, delta);\n }\n }\n delete container.canvas.resizeFactor;\n }\n async draw(delta) {\n const container = this.container, canvasSize = this.container.canvas.size;\n this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);\n container.canvas.clear();\n await this.update(delta);\n if (this.needsSort) {\n this.zArray.sort((a, b) => b.position.z - a.position.z || a.id - b.id);\n this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;\n this.needsSort = false;\n }\n for (const [, plugin] of container.plugins) {\n container.canvas.drawPlugin(plugin, delta);\n }\n for (const p of this.zArray) {\n p.draw(delta);\n }\n }\n clear() {\n this.array = [];\n this.zArray = [];\n }\n push(nb, mouse, overrideOptions, group) {\n this.pushing = true;\n for (let i = 0; i < nb; i++) {\n this.addParticle(mouse === null || mouse === void 0 ? void 0 : mouse.position, overrideOptions, group);\n }\n this.pushing = false;\n }\n addParticle(position, overrideOptions, group) {\n const container = this.container, options = container.actualOptions, limit = options.particles.number.limit * container.density;\n if (limit > 0) {\n const countToRemove = this.count + 1 - limit;\n if (countToRemove > 0) {\n this.removeQuantity(countToRemove);\n }\n }\n return this.pushParticle(position, overrideOptions, group);\n }\n addSplitParticle(parent) {\n const splitOptions = parent.options.destroy.split;\n const options = loadParticlesOptions(parent.options);\n const factor = getValue(splitOptions.factor);\n options.color.load({\n value: {\n hsl: parent.getFillColor(),\n },\n });\n if (typeof options.size.value === \"number\") {\n options.size.value /= factor;\n }\n else {\n options.size.value.min /= factor;\n options.size.value.max /= factor;\n }\n options.load(splitOptions.particles);\n const offset = splitOptions.sizeOffset ? setRangeValue(-parent.size.value, parent.size.value) : 0, position = {\n x: parent.position.x + randomInRange(offset),\n y: parent.position.y + randomInRange(offset),\n };\n return this.pushParticle(position, options, parent.group, (particle) => {\n if (particle.size.value < 0.5) {\n return false;\n }\n particle.velocity.length = randomInRange(setRangeValue(parent.velocity.length, particle.velocity.length));\n particle.splitCount = parent.splitCount + 1;\n particle.unbreakable = true;\n setTimeout(() => {\n particle.unbreakable = false;\n }, 500);\n return true;\n });\n }\n removeQuantity(quantity, group) {\n this.removeAt(0, quantity, group);\n }\n getLinkFrequency(p1, p2) {\n const range = setRangeValue(p1.id, p2.id), key = `${getRangeMin(range)}_${getRangeMax(range)}`;\n let res = this.freqs.links.get(key);\n if (res === undefined) {\n res = Math.random();\n this.freqs.links.set(key, res);\n }\n return res;\n }\n getTriangleFrequency(p1, p2, p3) {\n let [id1, id2, id3] = [p1.id, p2.id, p3.id];\n if (id1 > id2) {\n [id2, id1] = [id1, id2];\n }\n if (id2 > id3) {\n [id3, id2] = [id2, id3];\n }\n if (id1 > id3) {\n [id3, id1] = [id1, id3];\n }\n const key = `${id1}_${id2}_${id3}`;\n let res = this.freqs.triangles.get(key);\n if (res === undefined) {\n res = Math.random();\n this.freqs.triangles.set(key, res);\n }\n return res;\n }\n addManualParticles() {\n const container = this.container, options = container.actualOptions;\n for (const particle of options.manualParticles) {\n this.addParticle(calcPositionFromSize({\n size: container.canvas.size,\n position: particle.position,\n }), particle.options);\n }\n }\n setDensity() {\n const options = this.container.actualOptions;\n for (const group in options.particles.groups) {\n this.applyDensity(options.particles.groups[group], 0, group);\n }\n this.applyDensity(options.particles, options.manualParticles.length);\n }\n handleClickMode(mode) {\n this.interactionManager.handleClickMode(mode);\n }\n applyDensity(options, manualCount, group) {\n var _a;\n if (!((_a = options.number.density) === null || _a === void 0 ? void 0 : _a.enable)) {\n return;\n }\n const numberOptions = options.number, densityFactor = this.initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, optParticlesLimit = numberOptions.limit > 0 ? numberOptions.limit : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount, particlesCount = Math.min(this.count, this.array.filter((t) => t.group === group).length);\n this.limit = numberOptions.limit * densityFactor;\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n }\n else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n }\n initDensityFactor(densityOptions) {\n const container = this.container;\n if (!container.canvas.element || !densityOptions.enable) {\n return 1;\n }\n const canvas = container.canvas.element, pxRatio = container.retina.pixelRatio;\n return (canvas.width * canvas.height) / (densityOptions.factor * pxRatio ** 2 * densityOptions.area);\n }\n pushParticle(position, overrideOptions, group, initializer) {\n try {\n const particle = new Particle(__classPrivateFieldGet(this, _Particles_engine, \"f\"), this.nextId, this.container, position, overrideOptions, group);\n let canAdd = true;\n if (initializer) {\n canAdd = initializer(particle);\n }\n if (!canAdd) {\n return;\n }\n this.array.push(particle);\n this.zArray.push(particle);\n this.nextId++;\n __classPrivateFieldGet(this, _Particles_engine, \"f\").dispatchEvent(\"particleAdded\", {\n container: this.container,\n data: {\n particle,\n },\n });\n return particle;\n }\n catch (e) {\n console.warn(`error adding particle: ${e}`);\n return;\n }\n }\n}\n_Particles_engine = new WeakMap();\n","export class Range {\n constructor(x, y) {\n this.position = {\n x: x,\n y: y,\n };\n }\n}\n","import { Range } from \"./Range\";\nimport { getDistance } from \"../../Utils/NumberUtils\";\nexport class Circle extends Range {\n constructor(x, y, radius) {\n super(x, y);\n this.radius = radius;\n }\n contains(point) {\n return getDistance(point, this.position) <= this.radius;\n }\n intersects(range) {\n const rect = range, circle = range, pos1 = this.position, pos2 = range.position, xDist = Math.abs(pos2.x - pos1.x), yDist = Math.abs(pos2.y - pos1.y), r = this.radius;\n if (circle.radius !== undefined) {\n const rSum = r + circle.radius, dist = Math.sqrt(xDist * xDist + yDist + yDist);\n return rSum > dist;\n }\n else if (rect.size !== undefined) {\n const w = rect.size.width, h = rect.size.height, edges = Math.pow(xDist - w, 2) + Math.pow(yDist - h, 2);\n if (xDist > r + w || yDist > r + h) {\n return false;\n }\n if (xDist <= w || yDist <= h) {\n return true;\n }\n return edges <= r * r;\n }\n return false;\n }\n}\n","import { Range } from \"./Range\";\nexport class Rectangle extends Range {\n constructor(x, y, width, height) {\n super(x, y);\n this.size = {\n height: height,\n width: width,\n };\n }\n contains(point) {\n const w = this.size.width, h = this.size.height, 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 intersects(range) {\n const rect = range, circle = range, w = this.size.width, h = this.size.height, pos1 = this.position, pos2 = range.position;\n if (circle.radius !== undefined) {\n return circle.intersects(this);\n }\n if (!rect.size) {\n return false;\n }\n const size2 = rect.size, w2 = size2.width, 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","import { Circle } from \"./Circle\";\nimport { Rectangle } from \"./Rectangle\";\nexport class CircleWarp extends Circle {\n constructor(x, y, radius, canvasSize) {\n super(x, y, radius);\n this.canvasSize = canvasSize;\n this.canvasSize = Object.assign({}, canvasSize);\n }\n contains(point) {\n if (super.contains(point)) {\n return true;\n }\n const posNE = {\n x: point.x - this.canvasSize.width,\n y: point.y,\n };\n if (super.contains(posNE)) {\n return true;\n }\n const posSE = {\n x: point.x - this.canvasSize.width,\n y: point.y - this.canvasSize.height,\n };\n if (super.contains(posSE)) {\n return true;\n }\n const posSW = {\n x: point.x,\n y: point.y - this.canvasSize.height,\n };\n return super.contains(posSW);\n }\n intersects(range) {\n if (super.intersects(range)) {\n return true;\n }\n const rect = range, circle = range, newPos = {\n x: range.position.x - this.canvasSize.width,\n y: range.position.y - this.canvasSize.height,\n };\n if (circle.radius !== undefined) {\n const biggerCircle = new Circle(newPos.x, newPos.y, circle.radius * 2);\n return super.intersects(biggerCircle);\n }\n else if (rect.size !== undefined) {\n const rectSW = new Rectangle(newPos.x, newPos.y, rect.size.width * 2, rect.size.height * 2);\n return super.intersects(rectSW);\n }\n return false;\n }\n}\n","import { Circle } from \"./Circle\";\nimport { CircleWarp } from \"./CircleWarp\";\nimport { Rectangle } from \"./Rectangle\";\nimport { getDistance } from \"../../Utils/NumberUtils\";\nexport class QuadTree {\n constructor(rectangle, capacity) {\n this.rectangle = rectangle;\n this.capacity = capacity;\n this.points = [];\n this.divided = false;\n }\n insert(point) {\n var _a, _b, _c, _d, _e;\n if (!this.rectangle.contains(point.position)) {\n return false;\n }\n if (this.points.length < this.capacity) {\n this.points.push(point);\n return true;\n }\n if (!this.divided) {\n this.subdivide();\n }\n return ((_e = (((_a = this.northEast) === null || _a === void 0 ? void 0 : _a.insert(point)) ||\n ((_b = this.northWest) === null || _b === void 0 ? void 0 : _b.insert(point)) ||\n ((_c = this.southEast) === null || _c === void 0 ? void 0 : _c.insert(point)) ||\n ((_d = this.southWest) === null || _d === void 0 ? void 0 : _d.insert(point)))) !== null && _e !== void 0 ? _e : false);\n }\n queryCircle(position, radius) {\n return this.query(new Circle(position.x, position.y, radius));\n }\n queryCircleWarp(position, radius, containerOrSize) {\n const container = containerOrSize, size = containerOrSize;\n return this.query(new CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size));\n }\n queryRectangle(position, size) {\n return this.query(new Rectangle(position.x, position.y, size.width, size.height));\n }\n query(range, found) {\n var _a, _b, _c, _d;\n const res = found !== null && found !== void 0 ? found : [];\n if (!range.intersects(this.rectangle)) {\n return [];\n }\n for (const p of this.points) {\n if (!range.contains(p.position) && getDistance(range.position, p.position) > p.particle.getRadius()) {\n continue;\n }\n res.push(p.particle);\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 return res;\n }\n subdivide() {\n const x = this.rectangle.position.x, y = this.rectangle.position.y, w = this.rectangle.size.width, h = this.rectangle.size.height, capacity = this.capacity;\n this.northEast = new QuadTree(new Rectangle(x, y, w / 2, h / 2), capacity);\n this.northWest = new QuadTree(new Rectangle(x + w / 2, y, w / 2, h / 2), capacity);\n this.southEast = new QuadTree(new Rectangle(x, y + h / 2, w / 2, h / 2), capacity);\n this.southWest = new QuadTree(new Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);\n this.divided = true;\n }\n}\n","import { getRangeValue } from \"../Utils/NumberUtils\";\nimport { isSsr } from \"../Utils/Utils\";\nexport class Retina {\n constructor(container) {\n this.container = container;\n }\n init() {\n const container = this.container, options = container.actualOptions;\n this.pixelRatio = !options.detectRetina || isSsr() ? 1 : window.devicePixelRatio;\n const motionOptions = this.container.actualOptions.motion;\n if (motionOptions && (motionOptions.disable || motionOptions.reduce.value)) {\n if (isSsr() || typeof matchMedia === \"undefined\" || !matchMedia) {\n this.reduceFactor = 1;\n }\n else {\n const mediaQuery = matchMedia(\"(prefers-reduced-motion: reduce)\");\n if (mediaQuery) {\n this.handleMotionChange(mediaQuery);\n const handleChange = () => {\n this.handleMotionChange(mediaQuery);\n container.refresh().catch(() => {\n });\n };\n if (mediaQuery.addEventListener !== undefined) {\n mediaQuery.addEventListener(\"change\", handleChange);\n }\n else if (mediaQuery.addListener !== undefined) {\n mediaQuery.addListener(handleChange);\n }\n }\n }\n }\n else {\n this.reduceFactor = 1;\n }\n const ratio = this.pixelRatio;\n if (container.canvas.element) {\n const element = container.canvas.element;\n container.canvas.size.width = element.offsetWidth * ratio;\n container.canvas.size.height = element.offsetHeight * ratio;\n }\n const particles = options.particles;\n this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;\n this.linksDistance = particles.links.distance * ratio;\n this.linksWidth = particles.links.width * ratio;\n this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;\n this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;\n const 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 if (modes.bubble.size) {\n this.bubbleModeSize = modes.bubble.size * ratio;\n }\n }\n initParticle(particle) {\n const options = particle.options, ratio = this.pixelRatio, moveDistance = options.move.distance, props = particle.retina;\n props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;\n props.linksDistance = options.links.distance * ratio;\n props.linksWidth = options.links.width * ratio;\n props.moveDrift = getRangeValue(options.move.drift) * ratio;\n props.moveSpeed = getRangeValue(options.move.speed) * ratio;\n props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;\n const 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 = getRangeValue(options.move.gravity.maxSpeed) * ratio;\n }\n handleMotionChange(mediaQuery) {\n const options = this.container.actualOptions;\n if (mediaQuery.matches) {\n const motion = options.motion;\n this.reduceFactor = motion.disable ? 0 : motion.reduce.value ? 1 / motion.reduce.factor : 1;\n }\n else {\n this.reduceFactor = 1;\n }\n }\n}\n","var __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};\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};\nvar _Container_engine;\nimport { animate, cancelAnimation, loadContainerOptions } from \"../Utils/Utils\";\nimport { Canvas } from \"./Canvas\";\nimport { EventListeners } from \"./Utils/EventListeners\";\nimport { FrameManager } from \"./Utils/FrameManager\";\nimport { Particles } from \"./Particles\";\nimport { Retina } from \"./Retina\";\nimport { getRangeValue } from \"../Utils/NumberUtils\";\nexport class Container {\n constructor(engine, id, sourceOptions) {\n this.id = id;\n _Container_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Container_engine, engine, \"f\");\n this.fpsLimit = 120;\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(this);\n this.canvas = new Canvas(this);\n this.particles = new Particles(__classPrivateFieldGet(this, _Container_engine, \"f\"), this);\n this.drawer = new FrameManager(this);\n this.pathGenerator = {\n generate: (p) => {\n const v = p.velocity.copy();\n v.angle += (v.length * Math.PI) / 180;\n return v;\n },\n init: () => {\n },\n update: () => {\n },\n };\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false,\n },\n };\n this.plugins = new Map();\n this.drawers = new Map();\n this.density = 1;\n this._options = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"));\n this.actualOptions = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"));\n this.eventListeners = new EventListeners(this);\n if (typeof IntersectionObserver !== \"undefined\" && IntersectionObserver) {\n this.intersectionObserver = new IntersectionObserver((entries) => this.intersectionManager(entries));\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerBuilt\", { container: this });\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n play(force) {\n const needsUpdate = this.paused || force;\n if (this.firstStart && !this.actualOptions.autoPlay) {\n this.firstStart = false;\n return;\n }\n if (this.paused) {\n this.paused = false;\n }\n if (needsUpdate) {\n for (const [, plugin] of this.plugins) {\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerPlay\", { container: this });\n this.draw(needsUpdate || false);\n }\n pause() {\n if (this.drawAnimationFrame !== undefined) {\n cancelAnimation()(this.drawAnimationFrame);\n delete this.drawAnimationFrame;\n }\n if (this.paused) {\n return;\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.pause) {\n plugin.pause();\n }\n }\n if (!this.pageHidden) {\n this.paused = true;\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerPaused\", { container: this });\n }\n draw(force) {\n let refreshTime = force;\n this.drawAnimationFrame = animate()(async (timestamp) => {\n if (refreshTime) {\n this.lastFrameTime = undefined;\n refreshTime = false;\n }\n await this.drawer.nextFrame(timestamp);\n });\n }\n getAnimationStatus() {\n return !this.paused && !this.pageHidden;\n }\n setNoise(noiseOrGenerator, init, update) {\n this.setPath(noiseOrGenerator, init, update);\n }\n setPath(pathOrGenerator, init, update) {\n var _a, _b, _c;\n if (!pathOrGenerator) {\n return;\n }\n if (typeof pathOrGenerator === \"function\") {\n this.pathGenerator.generate = pathOrGenerator;\n if (init) {\n this.pathGenerator.init = init;\n }\n if (update) {\n this.pathGenerator.update = update;\n }\n }\n else {\n const oldGenerator = this.pathGenerator;\n this.pathGenerator = pathOrGenerator;\n (_a = this.pathGenerator).generate || (_a.generate = oldGenerator.generate);\n (_b = this.pathGenerator).init || (_b.init = oldGenerator.init);\n (_c = this.pathGenerator).update || (_c.update = oldGenerator.update);\n }\n }\n destroy() {\n this.stop();\n this.canvas.destroy();\n for (const [, drawer] of this.drawers) {\n if (drawer.destroy) {\n drawer.destroy(this);\n }\n }\n for (const key of this.drawers.keys()) {\n this.drawers.delete(key);\n }\n this.destroyed = true;\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerDestroyed\", { container: this });\n }\n exportImg(callback) {\n this.exportImage(callback);\n }\n exportImage(callback, type, quality) {\n var _a;\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 exportConfiguration() {\n return JSON.stringify(this.actualOptions, undefined, 2);\n }\n refresh() {\n this.stop();\n return this.start();\n }\n reset() {\n this._options = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"));\n return this.refresh();\n }\n stop() {\n if (!this.started) {\n return;\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 if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.unobserve(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.stop) {\n plugin.stop();\n }\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n this.particles.linksColors = new Map();\n delete this.particles.grabLineColor;\n delete this.particles.linksColor;\n this._sourceOptions = this._options;\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerStopped\", { container: this });\n }\n async loadTheme(name) {\n this.currentTheme = name;\n await this.refresh();\n }\n async start() {\n if (this.started) {\n return;\n }\n await this.init();\n this.started = true;\n this.eventListeners.addListeners();\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.observe(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.startAsync !== undefined) {\n await plugin.startAsync();\n }\n else if (plugin.start !== undefined) {\n plugin.start();\n }\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerStarted\", { container: this });\n this.play();\n }\n addClickHandler(callback) {\n const el = this.interactivity.element;\n if (!el) {\n return;\n }\n const clickOrTouchHandler = (e, pos, radius) => {\n if (this.destroyed) {\n return;\n }\n const pxRatio = this.retina.pixelRatio, posRetina = {\n x: pos.x * pxRatio,\n y: pos.y * pxRatio,\n }, particles = this.particles.quadTree.queryCircle(posRetina, radius * pxRatio);\n callback(e, particles);\n };\n const clickHandler = (e) => {\n if (this.destroyed) {\n return;\n }\n const mouseEvent = e, pos = {\n x: mouseEvent.offsetX || mouseEvent.clientX,\n y: mouseEvent.offsetY || mouseEvent.clientY,\n };\n clickOrTouchHandler(e, pos, 1);\n };\n const touchStartHandler = () => {\n if (this.destroyed) {\n return;\n }\n touched = true;\n touchMoved = false;\n };\n const touchMoveHandler = () => {\n if (this.destroyed) {\n return;\n }\n touchMoved = true;\n };\n const touchEndHandler = (e) => {\n var _a, _b, _c;\n if (this.destroyed) {\n return;\n }\n if (touched && !touchMoved) {\n const touchEvent = e;\n let lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n if (!lastTouch) {\n lastTouch = touchEvent.changedTouches[touchEvent.changedTouches.length - 1];\n if (!lastTouch) {\n return;\n }\n }\n const canvasRect = (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect(), 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 touched = false;\n touchMoved = false;\n };\n const touchCancelHandler = () => {\n if (this.destroyed) {\n return;\n }\n touched = false;\n touchMoved = false;\n };\n let touched = false;\n let 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 handleClickMode(mode) {\n this.particles.handleClickMode(mode);\n for (const [, plugin] of this.plugins) {\n if (plugin.handleClickMode) {\n plugin.handleClickMode(mode);\n }\n }\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this.currentTheme);\n if (this.responsiveMaxWidth != newMaxWidth) {\n this.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n return false;\n }\n async init() {\n const shapes = __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getSupportedShapes();\n for (const type of shapes) {\n const drawer = __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getShapeDrawer(type);\n if (drawer) {\n this.drawers.set(type, drawer);\n }\n }\n this._options = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), 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 = getRangeValue(this.actualOptions.duration);\n this.lifeTime = 0;\n this.fpsLimit = this.actualOptions.fpsLimit > 0 ? this.actualOptions.fpsLimit : 120;\n const availablePlugins = __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getAvailablePlugins(this);\n for (const [id, plugin] of availablePlugins) {\n this.plugins.set(id, plugin);\n }\n for (const [, drawer] of this.drawers) {\n if (drawer.init) {\n await drawer.init(this);\n }\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.init) {\n plugin.init(this.actualOptions);\n }\n else if (plugin.initAsync !== undefined) {\n await plugin.initAsync(this.actualOptions);\n }\n }\n const pathOptions = this.actualOptions.particles.move.path;\n if (pathOptions.generator) {\n this.setPath(__classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getPathGenerator(pathOptions.generator));\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerInit\", { container: this });\n this.particles.init();\n this.particles.setDensity();\n for (const [, plugin] of this.plugins) {\n if (plugin.particlesSetup !== undefined) {\n plugin.particlesSetup();\n }\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"particlesSetup\", { container: this });\n }\n intersectionManager(entries) {\n if (!this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n for (const entry of entries) {\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n if (entry.isIntersecting) {\n this.play();\n }\n else {\n this.pause();\n }\n }\n }\n}\n_Container_engine = new WeakMap();\n","var __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};\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};\nvar _Loader_engine;\nimport { Container } from \"./Container\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nimport { itemFromArray } from \"../Utils/Utils\";\nfunction fetchError(statusCode) {\n console.error(`Error tsParticles - fetch status: ${statusCode}`);\n console.error(\"Error tsParticles - File config not found\");\n}\nexport class Loader {\n constructor(engine) {\n _Loader_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Loader_engine, engine, \"f\");\n }\n dom() {\n return __classPrivateFieldGet(this, _Loader_engine, \"f\").domArray;\n }\n domItem(index) {\n const dom = this.dom();\n const item = dom[index];\n if (item && !item.destroyed) {\n return item;\n }\n dom.splice(index, 1);\n }\n async loadOptions(params) {\n var _a, _b, _c;\n const tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : `tsparticles${Math.floor(Math.random() * 10000)}`, { options, index } = params;\n let domContainer = (_b = params.element) !== null && _b !== void 0 ? _b : document.getElementById(tagId);\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 const currentOptions = options instanceof Array ? itemFromArray(options, index) : options, dom = this.dom(), oldIndex = dom.findIndex((v) => v.id === tagId);\n if (oldIndex >= 0) {\n const old = this.domItem(oldIndex);\n if (old && !old.destroyed) {\n old.destroy();\n dom.splice(oldIndex, 1);\n }\n }\n let canvasEl;\n if (domContainer.tagName.toLowerCase() === \"canvas\") {\n canvasEl = domContainer;\n canvasEl.dataset[generatedAttribute] = \"false\";\n }\n else {\n const existingCanvases = domContainer.getElementsByTagName(\"canvas\");\n if (existingCanvases.length) {\n canvasEl = existingCanvases[0];\n canvasEl.dataset[generatedAttribute] = \"false\";\n }\n else {\n canvasEl = document.createElement(\"canvas\");\n canvasEl.dataset[generatedAttribute] = \"true\";\n canvasEl.style.width = \"100%\";\n canvasEl.style.height = \"100%\";\n domContainer.appendChild(canvasEl);\n }\n }\n const newItem = new Container(__classPrivateFieldGet(this, _Loader_engine, \"f\"), tagId, currentOptions);\n if (oldIndex >= 0) {\n dom.splice(oldIndex, 0, newItem);\n }\n else {\n dom.push(newItem);\n }\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n async loadRemoteOptions(params) {\n const { url: jsonUrl, index } = params, url = jsonUrl instanceof Array ? itemFromArray(jsonUrl, index) : jsonUrl;\n if (!url) {\n return;\n }\n const response = await fetch(url);\n if (!response.ok) {\n fetchError(response.status);\n return;\n }\n const data = await response.json();\n return this.loadOptions({\n tagId: params.tagId,\n element: params.element,\n index,\n options: data,\n });\n }\n load(tagId, options, index) {\n const params = { index };\n if (typeof tagId === \"string\") {\n params.tagId = tagId;\n }\n else {\n params.options = tagId;\n }\n if (typeof options === \"number\") {\n params.index = options !== null && options !== void 0 ? options : params.index;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n async set(id, domContainer, options, index) {\n const params = { index };\n if (typeof id === \"string\") {\n params.tagId = id;\n }\n else {\n params.element = id;\n }\n if (domContainer instanceof HTMLElement) {\n params.element = domContainer;\n }\n else {\n params.options = domContainer;\n }\n if (typeof options === \"number\") {\n params.index = options;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n async loadJSON(tagId, jsonUrl, index) {\n let url, id;\n if (typeof jsonUrl === \"number\" || jsonUrl === undefined) {\n url = tagId;\n }\n else {\n id = tagId;\n url = jsonUrl;\n }\n return this.loadRemoteOptions({ tagId: id, url, index });\n }\n async setJSON(id, domContainer, jsonUrl, index) {\n let url, newId, newIndex, element;\n if (id instanceof HTMLElement) {\n element = id;\n url = domContainer;\n newIndex = jsonUrl;\n }\n else {\n newId = id;\n element = domContainer;\n url = jsonUrl;\n newIndex = index;\n }\n return this.loadRemoteOptions({ tagId: newId, url, index: newIndex, element });\n }\n setOnClickHandler(callback) {\n const dom = this.dom();\n if (!dom.length) {\n throw new Error(\"Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()\");\n }\n for (const domItem of dom) {\n domItem.addClickHandler(callback);\n }\n }\n addEventListener(type, listener) {\n __classPrivateFieldGet(this, _Loader_engine, \"f\").eventDispatcher.addEventListener(type, listener);\n }\n removeEventListener(type, listener) {\n __classPrivateFieldGet(this, _Loader_engine, \"f\").eventDispatcher.removeEventListener(type, listener);\n }\n dispatchEvent(type, args) {\n __classPrivateFieldGet(this, _Loader_engine, \"f\").eventDispatcher.dispatchEvent(type, args);\n }\n}\n_Loader_engine = new WeakMap();\n","var __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};\nvar _Plugins_engine;\nexport class Plugins {\n constructor(engine) {\n _Plugins_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Plugins_engine, engine, \"f\");\n this.plugins = [];\n this.interactorsInitializers = new Map();\n this.moversInitializers = new Map();\n this.updatersInitializers = new Map();\n this.interactors = new Map();\n this.movers = new Map();\n this.updaters = new Map();\n this.presets = new Map();\n this.drawers = new Map();\n this.pathGenerators = new Map();\n }\n getPlugin(plugin) {\n return this.plugins.find((t) => t.id === plugin);\n }\n addPlugin(plugin) {\n if (!this.getPlugin(plugin.id)) {\n this.plugins.push(plugin);\n }\n }\n getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of this.plugins) {\n if (!plugin.needsPlugin(container.actualOptions)) {\n continue;\n }\n res.set(plugin.id, plugin.getPlugin(container));\n }\n return res;\n }\n loadOptions(options, sourceOptions) {\n for (const plugin of this.plugins) {\n plugin.loadOptions(options, sourceOptions);\n }\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n addPreset(presetKey, options, override = false) {\n if (override || !this.getPreset(presetKey)) {\n this.presets.set(presetKey, options);\n }\n }\n getShapeDrawer(type) {\n return this.drawers.get(type);\n }\n addShapeDrawer(type, drawer) {\n if (!this.getShapeDrawer(type)) {\n this.drawers.set(type, drawer);\n }\n }\n getSupportedShapes() {\n return this.drawers.keys();\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n addPathGenerator(type, pathGenerator) {\n if (!this.getPathGenerator(type)) {\n this.pathGenerators.set(type, pathGenerator);\n }\n }\n getInteractors(container, force = false) {\n let res = this.interactors.get(container);\n if (!res || force) {\n res = [...this.interactorsInitializers.values()].map((t) => t(container));\n this.interactors.set(container, res);\n }\n return res;\n }\n addInteractor(name, initInteractor) {\n this.interactorsInitializers.set(name, initInteractor);\n }\n getUpdaters(container, force = false) {\n let res = this.updaters.get(container);\n if (!res || force) {\n res = [...this.updatersInitializers.values()].map((t) => t(container));\n this.updaters.set(container, res);\n }\n return res;\n }\n addParticleUpdater(name, initUpdater) {\n this.updatersInitializers.set(name, initUpdater);\n }\n getMovers(container, force = false) {\n let res = this.movers.get(container);\n if (!res || force) {\n res = [...this.moversInitializers.values()].map((t) => t(container));\n this.movers.set(container, res);\n }\n return res;\n }\n addParticleMover(name, initMover) {\n this.moversInitializers.set(name, initMover);\n }\n}\n_Plugins_engine = new WeakMap();\n","var __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};\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};\nvar _Engine_initialized, _Engine_loader;\nimport { EventDispatcher } from \"./Utils/EventDispatcher\";\nimport { Loader } from \"./Core/Loader\";\nimport { Plugins } from \"./Core/Utils/Plugins\";\nexport class Engine {\n constructor() {\n _Engine_initialized.set(this, void 0);\n _Engine_loader.set(this, void 0);\n this.domArray = [];\n this.eventDispatcher = new EventDispatcher();\n __classPrivateFieldSet(this, _Engine_initialized, false, \"f\");\n __classPrivateFieldSet(this, _Engine_loader, new Loader(this), \"f\");\n this.plugins = new Plugins(this);\n }\n init() {\n if (!__classPrivateFieldGet(this, _Engine_initialized, \"f\")) {\n __classPrivateFieldSet(this, _Engine_initialized, true, \"f\");\n }\n }\n async loadFromArray(tagId, options, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").load(tagId, options, index);\n }\n async load(tagId, options) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").load(tagId, options);\n }\n async set(id, element, options) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").set(id, element, options);\n }\n async loadJSON(tagId, pathConfigJson, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").loadJSON(tagId, pathConfigJson, index);\n }\n async setJSON(id, element, pathConfigJson, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").setJSON(id, element, pathConfigJson, index);\n }\n setOnClickHandler(callback) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").setOnClickHandler(callback);\n }\n dom() {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").dom();\n }\n domItem(index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").domItem(index);\n }\n async refresh() {\n for (const instance of this.dom()) {\n await instance.refresh();\n }\n }\n async addShape(shape, drawer, init, afterEffect, destroy) {\n let customDrawer;\n if (typeof drawer === \"function\") {\n customDrawer = {\n afterEffect: afterEffect,\n destroy: destroy,\n draw: drawer,\n init: init,\n };\n }\n else {\n customDrawer = drawer;\n }\n this.plugins.addShapeDrawer(shape, customDrawer);\n await this.refresh();\n }\n async addPreset(preset, options, override = false) {\n this.plugins.addPreset(preset, options, override);\n await this.refresh();\n }\n async addPlugin(plugin) {\n this.plugins.addPlugin(plugin);\n await this.refresh();\n }\n async addPathGenerator(name, generator) {\n this.plugins.addPathGenerator(name, generator);\n await this.refresh();\n }\n async addInteractor(name, interactorInitializer) {\n this.plugins.addInteractor(name, interactorInitializer);\n await this.refresh();\n }\n async addMover(name, moverInitializer) {\n this.plugins.addParticleMover(name, moverInitializer);\n await this.refresh();\n }\n async addParticleUpdater(name, updaterInitializer) {\n this.plugins.addParticleUpdater(name, updaterInitializer);\n await this.refresh();\n }\n addEventListener(type, listener) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").addEventListener(type, listener);\n }\n removeEventListener(type, listener) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").removeEventListener(type, listener);\n }\n dispatchEvent(type, args) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").dispatchEvent(type, args);\n }\n}\n_Engine_initialized = new WeakMap(), _Engine_loader = new WeakMap();\n","export class ExternalInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = 0;\n }\n}\n","export class ParticlesInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = 1;\n }\n}\n","import { Engine } from \"./engine\";\nconst tsParticles = new Engine();\ntsParticles.init();\nexport * from \"./Core/Interfaces/Colors\";\nexport * from \"./Core/Interfaces/Gradients\";\nexport * from \"./Core/Interfaces/IBounds\";\nexport * from \"./Core/Interfaces/IBubbleParticleData\";\nexport * from \"./Core/Interfaces/ICircleBouncer\";\nexport * from \"./Core/Interfaces/IContainerInteractivity\";\nexport * from \"./Core/Interfaces/IContainerPlugin\";\nexport * from \"./Core/Interfaces/ICoordinates\";\nexport * from \"./Core/Interfaces/IDelta\";\nexport * from \"./Core/Interfaces/IDimension\";\nexport * from \"./Core/Interfaces/IDistance\";\nexport * from \"./Core/Interfaces/IExternalInteractor\";\nexport * from \"./Core/Interfaces/IInteractor\";\nexport * from \"./Core/Interfaces/IMouseData\";\nexport * from \"./Core/Interfaces/IMovePathGenerator\";\nexport * from \"./Core/Interfaces/IParticle\";\nexport * from \"./Core/Interfaces/IParticleColorStyle\";\nexport * from \"./Core/Interfaces/IParticleGravity\";\nexport * from \"./Core/Interfaces/IParticleHslAnimation\";\nexport * from \"./Core/Interfaces/IParticlesInteractor\";\nexport * from \"./Core/Interfaces/IParticleLife\";\nexport * from \"./Core/Interfaces/IParticleLoops\";\nexport * from \"./Core/Interfaces/IParticleRetinaProps\";\nexport * from \"./Core/Interfaces/IParticleRoll\";\nexport * from \"./Core/Interfaces/IParticleUpdater\";\nexport * from \"./Core/Interfaces/IParticleValueAnimation\";\nexport * from \"./Core/Interfaces/IParticleWobble\";\nexport * from \"./Core/Interfaces/IParticlesMover\";\nexport * from \"./Core/Interfaces/IPlugin\";\nexport * from \"./Core/Interfaces/IRangeValue\";\nexport * from \"./Core/Interfaces/IRectSideResult\";\nexport * from \"./Core/Interfaces/IShapeDrawer\";\nexport * from \"./Core/Interfaces/IShapeValues\";\nexport * from \"./Core/Utils/Circle\";\nexport * from \"./Core/Utils/CircleWarp\";\nexport * from \"./Core/Utils/Constants\";\nexport * from \"./Core/Utils/EventListeners\";\nexport * from \"./Core/Utils/ExternalInteractorBase\";\nexport * from \"./Core/Utils/FrameManager\";\nexport * from \"./Core/Utils/InteractionManager\";\nexport * from \"./Core/Utils/ParticlesInteractorBase\";\nexport * from \"./Core/Utils/Plugins\";\nexport * from \"./Core/Utils/Point\";\nexport * from \"./Core/Utils/QuadTree\";\nexport * from \"./Core/Utils/Range\";\nexport * from \"./Core/Utils/Rectangle\";\nexport * from \"./Core/Utils/Vector\";\nexport * from \"./Core/Utils/Vector3d\";\nexport * from \"./Core/Canvas\";\nexport * from \"./Core/Container\";\nexport * from \"./Core/Loader\";\nexport * from \"./Core/Particle\";\nexport * from \"./Core/Particles\";\nexport * from \"./Core/Retina\";\nexport * from \"./Enums/Directions/MoveDirection\";\nexport * from \"./Enums/Directions/RotateDirection\";\nexport * from \"./Enums/Directions/OutModeDirection\";\nexport * from \"./Enums/Directions/TiltDirection\";\nexport * from \"./Enums/Modes/ClickMode\";\nexport * from \"./Enums/Modes/DestroyMode\";\nexport * from \"./Enums/Modes/DivMode\";\nexport * from \"./Enums/Modes/HoverMode\";\nexport * from \"./Enums/Modes/CollisionMode\";\nexport * from \"./Enums/Modes/OutMode\";\nexport * from \"./Enums/Modes/RollMode\";\nexport * from \"./Enums/Modes/SizeMode\";\nexport * from \"./Enums/Modes/ThemeMode\";\nexport * from \"./Enums/Modes/ResponsiveMode\";\nexport * from \"./Enums/Types/AlterType\";\nexport * from \"./Enums/Types/DestroyType\";\nexport * from \"./Enums/Types/GradientType\";\nexport * from \"./Enums/Types/InteractorType\";\nexport * from \"./Enums/Types/ParticleOutType\";\nexport * from \"./Enums/Types/StartValueType\";\nexport * from \"./Enums/Types/DivType\";\nexport * from \"./Enums/Types/EasingType\";\nexport * from \"./Enums/AnimationStatus\";\nexport * from \"./Enums/InteractivityDetect\";\nexport { Engine, Engine as Main };\nexport * from \"./Options/Classes/AnimatableColor\";\nexport * from \"./Options/Classes/AnimatableGradient\";\nexport * from \"./Options/Classes/AnimationOptions\";\nexport * from \"./Options/Classes/Background/Background\";\nexport * from \"./Options/Classes/BackgroundMask/BackgroundMask\";\nexport * from \"./Options/Classes/BackgroundMask/BackgroundMaskCover\";\nexport * from \"./Options/Classes/ColorAnimation\";\nexport * from \"./Options/Classes/FullScreen/FullScreen\";\nexport * from \"./Options/Classes/HslAnimation\";\nexport * from \"./Options/Classes/Interactivity/Events/ClickEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/DivEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/ClickEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/DivEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/Events\";\nexport * from \"./Options/Classes/Interactivity/Events/HoverEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/Parallax\";\nexport * from \"./Options/Classes/Interactivity/Interactivity\";\nexport * from \"./Options/Classes/Interactivity/Modes/Attract\";\nexport * from \"./Options/Classes/Interactivity/Modes/Bounce\";\nexport * from \"./Options/Classes/Interactivity/Modes/Bubble\";\nexport * from \"./Options/Classes/Interactivity/Modes/BubbleBase\";\nexport * from \"./Options/Classes/Interactivity/Modes/BubbleDiv\";\nexport * from \"./Options/Classes/Interactivity/Modes/Connect\";\nexport * from \"./Options/Classes/Interactivity/Modes/ConnectLinks\";\nexport * from \"./Options/Classes/Interactivity/Modes/Grab\";\nexport * from \"./Options/Classes/Interactivity/Modes/GrabLinks\";\nexport * from \"./Options/Classes/Interactivity/Modes/Light\";\nexport * from \"./Options/Classes/Interactivity/Modes/LightArea\";\nexport * from \"./Options/Classes/Interactivity/Modes/LightGradient\";\nexport * from \"./Options/Classes/Interactivity/Modes/LightShadow\";\nexport * from \"./Options/Classes/Interactivity/Modes/Modes\";\nexport * from \"./Options/Classes/Interactivity/Modes/Push\";\nexport * from \"./Options/Classes/Interactivity/Modes/Remove\";\nexport * from \"./Options/Classes/Interactivity/Modes/Repulse\";\nexport * from \"./Options/Classes/Interactivity/Modes/RepulseBase\";\nexport * from \"./Options/Classes/Interactivity/Modes/RepulseDiv\";\nexport * from \"./Options/Classes/Interactivity/Modes/Slow\";\nexport * from \"./Options/Classes/Interactivity/Modes/Trail\";\nexport * from \"./Options/Classes/ManualParticle\";\nexport * from \"./Options/Classes/Motion/Motion\";\nexport * from \"./Options/Classes/Motion/MotionReduce\";\nexport * from \"./Options/Classes/Options\";\nexport * from \"./Options/Classes/OptionsColor\";\nexport * from \"./Options/Classes/Particles/Bounce/ParticlesBounce\";\nexport * from \"./Options/Classes/Particles/Bounce/ParticlesBounceFactor\";\nexport * from \"./Options/Classes/Particles/Collisions/Collisions\";\nexport * from \"./Options/Classes/Particles/Collisions/CollisionsOverlap\";\nexport * from \"./Options/Classes/Particles/Destroy/Destroy\";\nexport * from \"./Options/Classes/Particles/Destroy/Split\";\nexport * from \"./Options/Classes/Particles/Destroy/SplitFactor\";\nexport * from \"./Options/Classes/Particles/Destroy/SplitRate\";\nexport * from \"./Options/Classes/Particles/ParticlesOptions\";\nexport * from \"./Options/Classes/Particles/Shadow\";\nexport * from \"./Options/Classes/Particles/Stroke\";\nexport * from \"./Options/Classes/Particles/Life/Life\";\nexport * from \"./Options/Classes/Particles/Life/LifeDelay\";\nexport * from \"./Options/Classes/Particles/Life/LifeDuration\";\nexport * from \"./Options/Classes/Particles/Links/Links\";\nexport * from \"./Options/Classes/Particles/Links/LinksShadow\";\nexport * from \"./Options/Classes/Particles/Links/LinksTriangle\";\nexport * from \"./Options/Classes/Particles/Move/MoveAttract\";\nexport * from \"./Options/Classes/Particles/Move/Move\";\nexport * from \"./Options/Classes/Particles/Move/MoveAngle\";\nexport * from \"./Options/Classes/Particles/Move/MoveGravity\";\nexport * from \"./Options/Classes/Particles/Move/OutModes\";\nexport * from \"./Options/Classes/Particles/Move/Path/MovePath\";\nexport * from \"./Options/Classes/Particles/Move/Path/MovePathDelay\";\nexport * from \"./Options/Classes/Particles/Move/Spin\";\nexport * from \"./Options/Classes/Particles/Move/MoveTrail\";\nexport * from \"./Options/Classes/Particles/Number/ParticlesNumber\";\nexport * from \"./Options/Classes/Particles/Number/ParticlesDensity\";\nexport * from \"./Options/Classes/Particles/Opacity/Opacity\";\nexport * from \"./Options/Classes/Particles/Opacity/OpacityAnimation\";\nexport * from \"./Options/Classes/Particles/Orbit/Orbit\";\nexport * from \"./Options/Classes/Particles/Orbit/OrbitRotation\";\nexport * from \"./Options/Classes/Particles/Repulse/ParticlesRepulse\";\nexport * from \"./Options/Classes/Particles/Roll/Roll\";\nexport * from \"./Options/Classes/Particles/Roll/RollLight\";\nexport * from \"./Options/Classes/Particles/Rotate/Rotate\";\nexport * from \"./Options/Classes/Particles/Rotate/RotateAnimation\";\nexport * from \"./Options/Classes/Particles/Shape/Shape\";\nexport * from \"./Options/Classes/Particles/Size/Size\";\nexport * from \"./Options/Classes/Particles/Size/SizeAnimation\";\nexport * from \"./Options/Classes/Particles/Tilt/Tilt\";\nexport * from \"./Options/Classes/Particles/Tilt/TiltAnimation\";\nexport * from \"./Options/Classes/Particles/Twinkle/Twinkle\";\nexport * from \"./Options/Classes/Particles/Twinkle/TwinkleValues\";\nexport * from \"./Options/Classes/Particles/Wobble/Wobble\";\nexport * from \"./Options/Classes/Particles/ZIndex/ZIndex\";\nexport * from \"./Options/Classes/Responsive\";\nexport * from \"./Options/Classes/Theme/Theme\";\nexport * from \"./Options/Classes/Theme/ThemeDefault\";\nexport * from \"./Options/Classes/ValueWithRandom\";\nexport * from \"./Options/Interfaces/Background/IBackground\";\nexport * from \"./Options/Interfaces/BackgroundMask/IBackgroundMask\";\nexport * from \"./Options/Interfaces/BackgroundMask/IBackgroundMaskCover\";\nexport * from \"./Options/Interfaces/FullScreen/IFullScreen\";\nexport * from \"./Options/Interfaces/IAnimatable\";\nexport * from \"./Options/Interfaces/IAnimatableColor\";\nexport * from \"./Options/Interfaces/IAnimatableGradient\";\nexport * from \"./Options/Interfaces/IAnimation\";\nexport * from \"./Options/Interfaces/IColorAnimation\";\nexport * from \"./Options/Interfaces/IHslAnimation\";\nexport * from \"./Options/Interfaces/IManualParticle\";\nexport * from \"./Options/Interfaces/IOptionLoader\";\nexport * from \"./Options/Interfaces/IOptions\";\nexport * from \"./Options/Interfaces/IOptionsColor\";\nexport * from \"./Options/Interfaces/IOptionsGradient\";\nexport * from \"./Options/Interfaces/IResponsive\";\nexport * from \"./Options/Interfaces/IValueWithRandom\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IClickEvent\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IDivEvent\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IEvents\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IHoverEvent\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IParallax\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IAttract\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBounce\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBubble\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBubbleBase\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBubbleDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IConnect\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IConnectLinks\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IGrab\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IGrabLinks\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILight\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILightArea\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILightGradient\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILightShadow\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IModeDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IModes\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IPush\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRemove\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRepulse\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRepulseBase\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRepulseDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ISlow\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ITrail\";\nexport * from \"./Options/Interfaces/Interactivity/IInteractivity\";\nexport * from \"./Options/Interfaces/Motion/IMotion\";\nexport * from \"./Options/Interfaces/Motion/IMotionReduce\";\nexport * from \"./Options/Interfaces/Particles/Bounce/IParticlesBounce\";\nexport * from \"./Options/Interfaces/Particles/Collisions/ICollisions\";\nexport * from \"./Options/Interfaces/Particles/Collisions/ICollisionsOverlap\";\nexport * from \"./Options/Interfaces/Particles/Destroy/IDestroy\";\nexport * from \"./Options/Interfaces/Particles/Destroy/ISplit\";\nexport * from \"./Options/Interfaces/Particles/IParticlesOptions\";\nexport * from \"./Options/Interfaces/Particles/IShadow\";\nexport * from \"./Options/Interfaces/Particles/IStroke\";\nexport * from \"./Options/Interfaces/Particles/Life/ILife\";\nexport * from \"./Options/Interfaces/Particles/Life/ILifeDelay\";\nexport * from \"./Options/Interfaces/Particles/Life/ILifeDuration\";\nexport * from \"./Options/Interfaces/Particles/Links/ILinks\";\nexport * from \"./Options/Interfaces/Particles/Links/ILinksShadow\";\nexport * from \"./Options/Interfaces/Particles/Links/ILinksTriangle\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveAttract\";\nexport * from \"./Options/Interfaces/Particles/Move/IMove\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveAngle\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveGravity\";\nexport * from \"./Options/Interfaces/Particles/Move/Path/IMovePath\";\nexport * from \"./Options/Interfaces/Particles/Move/IOutModes\";\nexport * from \"./Options/Interfaces/Particles/Move/ISpin\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveTrail\";\nexport * from \"./Options/Interfaces/Particles/Number/IParticlesDensity\";\nexport * from \"./Options/Interfaces/Particles/Number/IParticlesNumber\";\nexport * from \"./Options/Interfaces/Particles/Opacity/IOpacity\";\nexport * from \"./Options/Interfaces/Particles/Opacity/IOpacityAnimation\";\nexport * from \"./Options/Interfaces/Particles/Orbit/IOrbit\";\nexport * from \"./Options/Interfaces/Particles/Repulse/IParticlesRepulse\";\nexport * from \"./Options/Interfaces/Particles/Roll/IRoll\";\nexport * from \"./Options/Interfaces/Particles/Roll/IRollLight\";\nexport * from \"./Options/Interfaces/Particles/Rotate/IRotate\";\nexport * from \"./Options/Interfaces/Particles/Rotate/IRotateAnimation\";\nexport * from \"./Options/Interfaces/Particles/Shape/ICharacterShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IImageShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IPolygonShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IShapeValues\";\nexport * from \"./Options/Interfaces/Particles/Shape/IStarShape\";\nexport * from \"./Options/Interfaces/Particles/Size/ISize\";\nexport * from \"./Options/Interfaces/Particles/Size/ISizeAnimation\";\nexport * from \"./Options/Interfaces/Particles/Tilt/ITilt\";\nexport * from \"./Options/Interfaces/Particles/Tilt/ITiltAnimation\";\nexport * from \"./Options/Interfaces/Particles/Twinkle/ITwinkle\";\nexport * from \"./Options/Interfaces/Particles/Twinkle/ITwinkleValues\";\nexport * from \"./Options/Interfaces/Particles/Wobble/IWobble\";\nexport * from \"./Options/Interfaces/Particles/ZIndex/IZIndex\";\nexport * from \"./Options/Interfaces/Theme/ITheme\";\nexport * from \"./Options/Interfaces/Theme/IThemeDefault\";\nexport * from \"./Types/RangeValue\";\nexport * from \"./Types/RecursivePartial\";\nexport * from \"./Types/ShapeData\";\nexport * from \"./Types/ShapeDrawerFunctions\";\nexport * from \"./Types/SingleOrMultiple\";\nexport * from \"./Types/PathOptions\";\nexport * from \"./Utils/CanvasUtils\";\nexport * from \"./Utils/ColorUtils\";\nexport * from \"./Utils/NumberUtils\";\nexport * from \"./Utils/Utils\";\nexport { tsParticles };\n","export default 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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","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\nexport default function _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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _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}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _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\n return _get.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _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 Object.defineProperty(subClass, \"prototype\", {\n value: Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n }),\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _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}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default 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}","export default 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}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default 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}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _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}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"787\":\"f904dd3a\",\"937\":\"82d39370\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"react-link:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkreact_link\"] = self[\"webpackChunkreact_link\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _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\n return _extends.apply(this, arguments);\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(Context).match;\n\n return path ? matchPath(location.pathname, path) : match;\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const method = replace ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\",\n activeStyle,\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n const className = isActive\n ? joinClassnames(classNameProp, activeClassName)\n : classNameProp;\n const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.object\n };\n}\n\nexport default NavLink;\n","\nimport './style.scss'\n\nconst Infinity = () => {\n\n// const infinityIcon = document.querySelector('.infinity__svg');\n// const linkContainer = document.getElementById('link-container')\n\n// console.log(linkContainer)\n\n// linkContainer.addEventListener('mousemove', (e) => {\n// // pageXY 為當下滑鼠所在的座標,除法只是為了降低數值,避免過度rotate\n// let xAxis = (window.innerWidth / 2 - e.pageX)/25;\n// let yAxis = (window.innerHeight / 2 - e.pageY)/25;\n// infinityIcon.style.transform = `rotateX(${yAxis}deg) rotateY(${xAxis}deg)`\n// });\n\n return (\n \n );\n};\n\nexport default Infinity;","export class AbsorberSizeLimit {\n constructor() {\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { AbsorberSizeLimit } from \"./AbsorberSizeLimit\";\nimport { ValueWithRandom } from \"tsparticles-engine\";\nexport class AbsorberSize extends ValueWithRandom {\n constructor() {\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new AbsorberSizeLimit();\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if (typeof data.limit === \"number\") {\n this.limit.radius = data.limit;\n }\n else {\n this.limit.load(data.limit);\n }\n }\n}\n","import { OptionsColor, setRangeValue } from \"tsparticles-engine\";\nimport { AbsorberSize } from \"./AbsorberSize\";\nexport class Absorber {\n constructor() {\n this.color = new 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();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = setRangeValue(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = setRangeValue(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n","import { Vector, calcPositionOrRandomFromSize, calcPositionOrRandomFromSizeRanged, colorToRgb, getDistance, getDistances, getRangeValue, getStyleFromRgb, isPointInside, } from \"tsparticles-engine\";\nimport { Absorber } from \"./Options/Classes/Absorber\";\nexport class AbsorberInstance {\n constructor(absorbers, container, options, position) {\n var _a, _b, _c;\n this.absorbers = absorbers;\n this.container = container;\n this.initialPosition = position ? Vector.create(position.x, position.y) : undefined;\n if (options instanceof Absorber) {\n this.options = options;\n }\n else {\n this.options = new Absorber();\n this.options.load(options);\n }\n this.dragging = false;\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = getRangeValue(this.options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * this.options.size.density * container.retina.reduceFactor;\n const limit = this.options.size.limit;\n this.limit = {\n radius: limit.radius * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: limit.mass,\n };\n this.color = (_a = colorToRgb(this.options.color)) !== null && _a !== void 0 ? _a : {\n b: 0,\n g: 0,\n r: 0,\n };\n this.position = (_c = (_b = this.initialPosition) === null || _b === void 0 ? void 0 : _b.copy()) !== null && _c !== void 0 ? _c : this.calcPosition();\n }\n attract(particle) {\n const container = this.container, options = this.options;\n if (options.draggable) {\n const mouse = container.interactivity.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = getDistance(this.position, mouse.downPosition);\n if (mouseDist <= this.size) {\n this.dragging = true;\n }\n }\n else {\n this.dragging = false;\n }\n if (this.dragging && mouse.position) {\n this.position.x = mouse.position.x;\n this.position.y = mouse.position.y;\n }\n }\n const pos = particle.getPosition(), { dx, dy, distance } = getDistances(this.position, pos), v = Vector.create(dx, dy);\n v.length = (this.mass / Math.pow(distance, 2)) * container.retina.reduceFactor;\n if (distance < this.size + particle.getRadius()) {\n const sizeFactor = particle.getRadius() * 0.033 * container.retina.pixelRatio;\n if ((this.size > particle.getRadius() && distance < this.size - particle.getRadius()) ||\n (particle.absorberOrbit !== undefined && particle.absorberOrbit.length < 0)) {\n if (options.destroy) {\n particle.destroy();\n }\n else {\n particle.needsNewPosition = true;\n this.updateParticlePosition(particle, v);\n }\n }\n else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n this.updateParticlePosition(particle, v);\n }\n if (this.limit.radius <= 0 || this.size < this.limit.radius) {\n this.size += sizeFactor;\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 }\n else {\n this.updateParticlePosition(particle, v);\n }\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position =\n initialPosition && isPointInside(initialPosition, this.container.canvas.size, Vector.origin)\n ? initialPosition\n : this.calcPosition();\n }\n 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 = getStyleFromRgb(this.color, this.opacity);\n context.fill();\n }\n calcPosition() {\n const exactPosition = calcPositionOrRandomFromSizeRanged({\n size: this.container.canvas.size,\n position: this.options.position,\n });\n return Vector.create(exactPosition.x, exactPosition.y);\n }\n updateParticlePosition(particle, v) {\n var _a;\n if (particle.destroyed) {\n return;\n }\n const container = this.container, canvasSize = container.canvas.size;\n if (particle.needsNewPosition) {\n const newPosition = calcPositionOrRandomFromSize({ size: canvasSize });\n particle.position.setTo(newPosition);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = Vector.create(0, 0);\n particle.absorberOrbit.length = getDistance(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = Math.random() * Math.PI * 2;\n }\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n const minSize = Math.min(canvasSize.width, canvasSize.height);\n particle.absorberOrbit.length = minSize * (1 + (Math.random() * 0.2 - 0.1));\n }\n if (particle.absorberOrbitDirection === undefined) {\n particle.absorberOrbitDirection =\n particle.velocity.x >= 0 ? \"clockwise\" : \"counter-clockwise\";\n }\n const orbitRadius = particle.absorberOrbit.length, orbitAngle = particle.absorberOrbit.angle, orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.setTo(Vector.origin);\n const updateFunc = {\n x: orbitDirection === \"clockwise\" ? Math.cos : Math.sin,\n y: orbitDirection === \"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 +=\n ((((_a = particle.retina.moveSpeed) !== null && _a !== void 0 ? _a : 0) * container.retina.pixelRatio) / 100) *\n container.retina.reduceFactor;\n }\n else {\n const addV = Vector.origin;\n addV.length = v.length;\n addV.angle = v.angle;\n particle.velocity.addTo(addV);\n }\n }\n}\n","import { Absorber } from \"./Options/Classes/Absorber\";\nimport { AbsorberInstance } from \"./AbsorberInstance\";\nimport { itemFromArray } from \"tsparticles-engine\";\nexport class Absorbers {\n constructor(container) {\n this.container = container;\n this.array = [];\n this.absorbers = [];\n this.interactivityAbsorbers = [];\n container.getAbsorber = (idxOrName) => idxOrName === undefined || typeof idxOrName === \"number\"\n ? this.array[idxOrName || 0]\n : this.array.find((t) => t.name === idxOrName);\n container.addAbsorber = (options, position) => this.addAbsorber(options, position);\n }\n init(options) {\n var _a, _b;\n if (!options) {\n return;\n }\n if (options.absorbers) {\n if (options.absorbers instanceof Array) {\n this.absorbers = options.absorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.absorbers instanceof Array) {\n this.absorbers = new Absorber();\n }\n this.absorbers.load(options.absorbers);\n }\n }\n const interactivityAbsorbers = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers;\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = interactivityAbsorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = new Absorber();\n }\n this.interactivityAbsorbers.load(interactivityAbsorbers);\n }\n }\n if (this.absorbers instanceof Array) {\n for (const absorberOptions of this.absorbers) {\n this.addAbsorber(absorberOptions);\n }\n }\n else {\n this.addAbsorber(this.absorbers);\n }\n }\n particleUpdate(particle) {\n for (const absorber of this.array) {\n absorber.attract(particle);\n if (particle.destroyed) {\n break;\n }\n }\n }\n draw(context) {\n for (const absorber of this.array) {\n context.save();\n absorber.draw(context);\n context.restore();\n }\n }\n stop() {\n this.array = [];\n }\n resize() {\n for (const absorber of this.array) {\n absorber.resize();\n }\n }\n handleClickMode(mode) {\n const absorberOptions = this.absorbers, modeAbsorbers = this.interactivityAbsorbers;\n if (mode === \"absorber\") {\n let absorbersModeOptions;\n if (modeAbsorbers instanceof Array) {\n if (modeAbsorbers.length > 0) {\n absorbersModeOptions = itemFromArray(modeAbsorbers);\n }\n }\n else {\n absorbersModeOptions = modeAbsorbers;\n }\n const absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : (absorberOptions instanceof Array ? itemFromArray(absorberOptions) : absorberOptions), aPosition = this.container.interactivity.mouse.clickPosition;\n this.addAbsorber(absorbersOptions, aPosition);\n }\n }\n addAbsorber(options, position) {\n const absorber = new AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n removeAbsorber(absorber) {\n const index = this.array.indexOf(absorber);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n}\n","import { Absorber } from \"./Options/Classes/Absorber\";\nimport { Absorbers } from \"./Absorbers\";\nimport { isInArray } from \"tsparticles-engine\";\nclass AbsorbersPlugin {\n constructor() {\n this.id = \"absorbers\";\n }\n getPlugin(container) {\n return new Absorbers(container);\n }\n needsPlugin(options) {\n var _a, _b, _c;\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if (absorbers instanceof Array) {\n return !!absorbers.length;\n }\n else if (absorbers) {\n return true;\n }\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) &&\n isInArray(\"absorber\", options.interactivity.events.onClick.mode)) {\n return true;\n }\n return false;\n }\n loadOptions(options, source) {\n var _a, _b;\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\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((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let absorberOptions = optionsCast.absorbers;\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.absorbers = absorberOptions = new Absorber();\n }\n absorberOptions.load(source === null || source === void 0 ? void 0 : source.absorbers);\n }\n }\n const 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 if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n optionsCast.interactivity.modes.absorbers = interactivityAbsorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let absorberOptions = optionsCast.interactivity.modes.absorbers;\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.interactivity.modes.absorbers = absorberOptions = new Absorber();\n }\n absorberOptions.load(interactivityAbsorbers);\n }\n }\n }\n}\nexport async function loadAbsorbersPlugin(engine) {\n const plugin = new AbsorbersPlugin();\n await engine.addPlugin(plugin);\n}\nexport * from \"./AbsorberContainer\";\nexport * from \"./Enums/AbsorberClickMode\";\nexport * from \"./Options/Interfaces/IAbsorberOptions\";\n","export class CircleShape {\n randomPosition(position, size, fill) {\n const generateTheta = (x, y) => {\n const u = Math.random() / 4.0, theta = Math.atan((y / x) * Math.tan(2 * Math.PI * u)), v = Math.random();\n if (v < 0.25) {\n return theta;\n }\n else if (v < 0.5) {\n return Math.PI - theta;\n }\n else if (v < 0.75) {\n return Math.PI + theta;\n }\n else {\n return -theta;\n }\n }, radius = (x, y, theta) => (x * y) / Math.sqrt((y * Math.cos(theta)) ** 2 + (x * Math.sin(theta)) ** 2), [a, b] = [size.width / 2, size.height / 2], randomTheta = generateTheta(a, b), maxRadius = radius(a, b, randomTheta), 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","var __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};\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};\nvar _EmitterInstance_firstSpawn, _EmitterInstance_startParticlesAdded, _EmitterInstance_engine;\nimport { Vector, calcPositionOrRandomFromSizeRanged, colorToHsl, deepExtend, getRangeValue, isPointInside, randomInRange, } from \"tsparticles-engine\";\nimport { Emitter } from \"./Options/Classes/Emitter\";\nimport { EmitterSize } from \"./Options/Classes/EmitterSize\";\nexport class EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n var _a, _b, _c, _d, _e, _f, _g;\n var _h;\n this.emitters = emitters;\n this.container = container;\n _EmitterInstance_firstSpawn.set(this, void 0);\n _EmitterInstance_startParticlesAdded.set(this, void 0);\n _EmitterInstance_engine.set(this, void 0);\n __classPrivateFieldSet(this, _EmitterInstance_engine, engine, \"f\");\n this.currentDuration = 0;\n this.currentEmitDelay = 0;\n this.currentSpawnDelay = 0;\n this.initialPosition = position;\n if (options instanceof Emitter) {\n this.options = options;\n }\n else {\n this.options = new Emitter();\n this.options.load(options);\n }\n this.spawnDelay = (((_a = this.options.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 = this.options.name;\n this.shape = (_c = __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").emitterShapeManager) === null || _c === void 0 ? void 0 : _c.getShape(this.options.shape);\n this.fill = this.options.fill;\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, !this.options.life.wait, \"f\");\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, false, \"f\");\n let particlesOptions = deepExtend({}, this.options.particles);\n particlesOptions !== null && particlesOptions !== void 0 ? particlesOptions : (particlesOptions = {});\n (_d = particlesOptions.move) !== null && _d !== void 0 ? _d : (particlesOptions.move = {});\n (_e = (_h = particlesOptions.move).direction) !== null && _e !== void 0 ? _e : (_h.direction = this.options.direction);\n if (this.options.spawnColor) {\n this.spawnColor = colorToHsl(this.options.spawnColor);\n }\n this.paused = !this.options.autoPlay;\n this.particlesOptions = particlesOptions;\n this.size =\n (_f = this.options.size) !== null && _f !== void 0 ? _f : (() => {\n const size = new EmitterSize();\n size.load({\n height: 0,\n mode: \"percent\",\n width: 0,\n });\n return size;\n })();\n this.lifeCount = (_g = this.options.life.count) !== null && _g !== void 0 ? _g : -1;\n this.immortal = this.lifeCount <= 0;\n __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this,\n },\n });\n this.play();\n }\n externalPlay() {\n this.paused = false;\n this.play();\n }\n externalPause() {\n this.paused = true;\n this.pause();\n }\n play() {\n var _a;\n if (this.paused) {\n return;\n }\n if (!(this.container.retina.reduceFactor &&\n (this.lifeCount > 0 || this.immortal || !this.options.life.count) &&\n (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\") || this.currentSpawnDelay >= ((_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0)))) {\n return;\n }\n if (this.emitDelay === undefined) {\n const delay = getRangeValue(this.options.rate.delay);\n this.emitDelay = (1000 * delay) / this.container.retina.reduceFactor;\n }\n if (this.lifeCount > 0 || this.immortal) {\n this.prepareToDie();\n }\n }\n pause() {\n if (this.paused) {\n return;\n }\n delete this.emitDelay;\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position =\n initialPosition && isPointInside(initialPosition, this.container.canvas.size, Vector.origin)\n ? initialPosition\n : this.calcPosition();\n }\n update(delta) {\n var _a, _b, _c;\n if (this.paused) {\n return;\n }\n if (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, false, \"f\");\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 if (!__classPrivateFieldGet(this, _EmitterInstance_startParticlesAdded, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, true, \"f\");\n this.emitParticles(this.options.startCount);\n }\n if (this.duration !== undefined) {\n this.currentDuration += delta.value;\n if (this.currentDuration >= this.duration) {\n this.pause();\n if (this.spawnDelay !== undefined) {\n delete this.spawnDelay;\n }\n if (!this.immortal) {\n this.lifeCount--;\n }\n if (this.lifeCount > 0 || this.immortal) {\n this.position = this.calcPosition();\n this.spawnDelay = (((_c = this.options.life.delay) !== null && _c !== void 0 ? _c : 0) * 1000) / this.container.retina.reduceFactor;\n }\n else {\n this.destroy();\n }\n this.currentDuration -= this.duration;\n delete this.duration;\n }\n }\n if (this.spawnDelay !== undefined) {\n this.currentSpawnDelay += delta.value;\n if (this.currentSpawnDelay >= this.spawnDelay) {\n __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").dispatchEvent(\"emitterPlay\", {\n container: this.container,\n });\n this.play();\n this.currentSpawnDelay -= this.currentSpawnDelay;\n delete this.spawnDelay;\n }\n }\n if (this.emitDelay !== undefined) {\n this.currentEmitDelay += delta.value;\n if (this.currentEmitDelay >= this.emitDelay) {\n this.emit();\n this.currentEmitDelay -= this.emitDelay;\n }\n }\n }\n getPosition() {\n if (this.options.domId) {\n const container = this.container, element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n x: (elRect.x + elRect.width / 2) * container.retina.pixelRatio,\n y: (elRect.y + elRect.height / 2) * container.retina.pixelRatio,\n };\n }\n }\n return this.position;\n }\n getSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n };\n }\n }\n return {\n width: this.size.mode === \"percent\"\n ? (container.canvas.size.width * this.size.width) / 100\n : this.size.width,\n height: this.size.mode === \"percent\"\n ? (container.canvas.size.height * this.size.height) / 100\n : this.size.height,\n };\n }\n prepareToDie() {\n var _a;\n if (this.paused) {\n return;\n }\n const duration = (_a = this.options.life) === null || _a === void 0 ? void 0 : _a.duration;\n if (this.container.retina.reduceFactor &&\n (this.lifeCount > 0 || this.immortal) &&\n duration !== undefined &&\n duration > 0) {\n this.duration = duration * 1000;\n }\n }\n destroy() {\n this.emitters.removeEmitter(this);\n __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this,\n },\n });\n }\n calcPosition() {\n return calcPositionOrRandomFromSizeRanged({\n size: this.container.canvas.size,\n position: this.options.position,\n });\n }\n emit() {\n if (this.paused) {\n return;\n }\n const quantity = getRangeValue(this.options.rate.quantity);\n this.emitParticles(quantity);\n }\n emitParticles(quantity) {\n var _a, _b, _c;\n const position = this.getPosition(), size = this.getSize();\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = deepExtend({}, this.particlesOptions);\n if (this.spawnColor) {\n const hslAnimation = (_a = this.options.spawnColor) === null || _a === void 0 ? void 0 : _a.animation;\n if (hslAnimation) {\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 if (!particlesOptions.color) {\n particlesOptions.color = {\n value: this.spawnColor,\n };\n }\n else {\n particlesOptions.color.value = this.spawnColor;\n }\n }\n if (!position) {\n return;\n }\n const pPosition = (_c = (_b = this.shape) === null || _b === void 0 ? void 0 : _b.randomPosition(position, size, this.fill)) !== null && _c !== void 0 ? _c : position;\n this.container.particles.addParticle(pPosition, particlesOptions);\n }\n }\n setColorAnimation(animation, initValue, maxValue) {\n var _a;\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = randomInRange(animation.offset), delay = getRangeValue(this.options.rate.delay), emitFactor = (1000 * delay) / container.retina.reduceFactor, colorSpeed = getRangeValue((_a = animation.speed) !== null && _a !== void 0 ? _a : 0);\n return (initValue + (colorSpeed * container.fpsLimit) / emitFactor + colorOffset * 3.6) % maxValue;\n }\n}\n_EmitterInstance_firstSpawn = new WeakMap(), _EmitterInstance_startParticlesAdded = new WeakMap(), _EmitterInstance_engine = new WeakMap();\n","export class EmitterLife {\n constructor() {\n this.wait = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class EmitterRate {\n constructor() {\n this.quantity = 1;\n this.delay = 0.1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.quantity !== undefined) {\n this.quantity = setRangeValue(data.quantity);\n }\n if (data.delay !== undefined) {\n this.delay = setRangeValue(data.delay);\n }\n }\n}\n","export class EmitterSize {\n constructor() {\n this.mode = \"percent\";\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n","import { AnimatableColor, deepExtend, setRangeValue } from \"tsparticles-engine\";\nimport { EmitterLife } from \"./EmitterLife\";\nimport { EmitterRate } from \"./EmitterRate\";\nimport { EmitterSize } from \"./EmitterSize\";\nexport class Emitter {\n constructor() {\n this.autoPlay = true;\n this.fill = true;\n this.life = new EmitterLife();\n this.rate = new EmitterRate();\n this.shape = \"square\";\n this.startCount = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n if (this.size === undefined) {\n this.size = new EmitterSize();\n }\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n if (data.particles !== undefined) {\n this.particles = deepExtend({}, data.particles);\n }\n this.rate.load(data.rate);\n if (data.shape !== undefined) {\n this.shape = data.shape;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = setRangeValue(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = setRangeValue(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new AnimatableColor();\n }\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n","var __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};\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};\nvar _Emitters_engine;\nimport { deepExtend, itemFromArray } from \"tsparticles-engine\";\nimport { Emitter } from \"./Options/Classes/Emitter\";\nimport { EmitterInstance } from \"./EmitterInstance\";\nexport class Emitters {\n constructor(engine, container) {\n this.container = container;\n _Emitters_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Emitters_engine, engine, \"f\");\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = [];\n container.getEmitter = (idxOrName) => idxOrName === undefined || typeof idxOrName === \"number\"\n ? this.array[idxOrName || 0]\n : this.array.find((t) => t.name === idxOrName);\n container.addEmitter = (options, position) => this.addEmitter(options, position);\n container.removeEmitter = (idxOrName) => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n this.removeEmitter(emitter);\n }\n };\n container.playEmitter = (idxOrName) => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = (idxOrName) => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n init(options) {\n var _a, _b;\n if (!options) {\n return;\n }\n if (options.emitters) {\n if (options.emitters instanceof Array) {\n this.emitters = options.emitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.emitters instanceof Array) {\n this.emitters = new Emitter();\n }\n this.emitters.load(options.emitters);\n }\n }\n const interactivityEmitters = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.emitters;\n if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n this.interactivityEmitters = interactivityEmitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.interactivityEmitters instanceof Array) {\n this.interactivityEmitters = new Emitter();\n }\n this.interactivityEmitters.load(interactivityEmitters);\n }\n }\n if (this.emitters instanceof Array) {\n for (const emitterOptions of this.emitters) {\n this.addEmitter(emitterOptions);\n }\n }\n else {\n this.addEmitter(this.emitters);\n }\n }\n play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\n }\n }\n stop() {\n this.array = [];\n }\n update(delta) {\n for (const emitter of this.array) {\n emitter.update(delta);\n }\n }\n handleClickMode(mode) {\n const emitterOptions = this.emitters, modeEmitters = this.interactivityEmitters;\n if (mode === \"emitter\") {\n let emitterModeOptions;\n if (modeEmitters instanceof Array) {\n if (modeEmitters.length > 0) {\n emitterModeOptions = itemFromArray(modeEmitters);\n }\n }\n else {\n emitterModeOptions = modeEmitters;\n }\n const emittersOptions = emitterModeOptions !== null && emitterModeOptions !== void 0 ? emitterModeOptions : (emitterOptions instanceof Array ? itemFromArray(emitterOptions) : emitterOptions), ePosition = this.container.interactivity.mouse.clickPosition;\n this.addEmitter(deepExtend({}, emittersOptions), ePosition);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\n }\n }\n addEmitter(options, position) {\n const emitterOptions = new Emitter();\n emitterOptions.load(options);\n const emitter = new EmitterInstance(__classPrivateFieldGet(this, _Emitters_engine, \"f\"), this, this.container, emitterOptions, position);\n this.array.push(emitter);\n return emitter;\n }\n removeEmitter(emitter) {\n const index = this.array.indexOf(emitter);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n}\n_Emitters_engine = new WeakMap();\n","var __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};\nvar _ShapeManager_engine;\nconst shapes = new Map();\nexport class ShapeManager {\n constructor(engine) {\n _ShapeManager_engine.set(this, void 0);\n __classPrivateFieldSet(this, _ShapeManager_engine, engine, \"f\");\n }\n addShape(name, drawer) {\n if (!this.getShape(name)) {\n shapes.set(name, drawer);\n }\n }\n getShape(name) {\n return shapes.get(name);\n }\n getSupportedShapes() {\n return shapes.keys();\n }\n}\n_ShapeManager_engine = new WeakMap();\n","function randomSquareCoordinate(position, offset) {\n return position + offset * (Math.random() - 0.5);\n}\nexport class SquareShape {\n randomPosition(position, size, fill) {\n if (fill) {\n return {\n x: randomSquareCoordinate(position.x, size.width),\n y: randomSquareCoordinate(position.y, size.height),\n };\n }\n else {\n const halfW = size.width / 2, halfH = size.height / 2, side = Math.floor(Math.random() * 4), v = (Math.random() - 0.5) * 2;\n switch (side) {\n case 0:\n return {\n x: position.x + v * halfW,\n y: position.y - halfH,\n };\n case 1:\n return {\n x: position.x - halfW,\n y: position.y + v * halfH,\n };\n case 2:\n return {\n x: position.x + v * halfW,\n y: position.y + halfH,\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","var __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};\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};\nvar _EmittersPlugin_engine;\nimport { CircleShape } from \"./Shapes/Circle/CircleShape\";\nimport { Emitter } from \"./Options/Classes/Emitter\";\nimport { Emitters } from \"./Emitters\";\nimport { ShapeManager } from \"./ShapeManager\";\nimport { SquareShape } from \"./Shapes/Square/SquareShape\";\nimport { isInArray } from \"tsparticles-engine\";\nclass EmittersPlugin {\n constructor(engine) {\n _EmittersPlugin_engine.set(this, void 0);\n __classPrivateFieldSet(this, _EmittersPlugin_engine, engine, \"f\");\n this.id = \"emitters\";\n }\n getPlugin(container) {\n return new Emitters(__classPrivateFieldGet(this, _EmittersPlugin_engine, \"f\"), container);\n }\n needsPlugin(options) {\n var _a, _b, _c;\n if (options === undefined) {\n return false;\n }\n const emitters = options.emitters;\n return ((emitters instanceof Array && !!emitters.length) ||\n emitters !== undefined ||\n (!!((_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) &&\n isInArray(\"emitter\", options.interactivity.events.onClick.mode)));\n }\n loadOptions(options, source) {\n var _a, _b;\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\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((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let emitterOptions = optionsCast.emitters;\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.emitters = emitterOptions = new Emitter();\n }\n emitterOptions.load(source === null || source === void 0 ? void 0 : source.emitters);\n }\n }\n const 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 if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n optionsCast.interactivity.modes.emitters = interactivityEmitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let emitterOptions = optionsCast.interactivity.modes.emitters;\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.interactivity.modes.emitters = emitterOptions = new Emitter();\n }\n emitterOptions.load(interactivityEmitters);\n }\n }\n }\n}\n_EmittersPlugin_engine = new WeakMap();\nexport async function loadEmittersPlugin(engine) {\n if (!engine.emitterShapeManager) {\n engine.emitterShapeManager = new ShapeManager(engine);\n }\n if (!engine.addEmitterShape) {\n engine.addEmitterShape = (name, shape) => {\n var _a;\n (_a = engine.emitterShapeManager) === null || _a === void 0 ? void 0 : _a.addShape(name, shape);\n };\n }\n const plugin = new EmittersPlugin(engine);\n await engine.addPlugin(plugin);\n engine.addEmitterShape(\"circle\", new CircleShape());\n engine.addEmitterShape(\"square\", new SquareShape());\n}\nexport * from \"./EmitterContainer\";\nexport * from \"./EmittersEngine\";\nexport * from \"./Enums/EmitterClickMode\";\nexport * from \"./Enums/EmitterShapeType\";\nexport * from \"./Options/Interfaces/IEmitterOptions\";\n","import { ExternalInteractorBase, isInArray } from \"tsparticles-engine\";\nexport class TrailMaker extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.delay = 0;\n }\n async interact(delta) {\n var _a, _b, _c, _d;\n if (!this.container.retina.reduceFactor) {\n return;\n }\n const container = this.container, options = container.actualOptions, trailOptions = options.interactivity.modes.trail, optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;\n if (this.delay < optDelay) {\n this.delay += delta.value;\n }\n if (this.delay < optDelay) {\n return;\n }\n let canEmit = true;\n if (trailOptions.pauseOnStop) {\n if (container.interactivity.mouse.position === this.lastPosition ||\n (((_a = container.interactivity.mouse.position) === null || _a === void 0 ? void 0 : _a.x) === ((_b = this.lastPosition) === null || _b === void 0 ? void 0 : _b.x) &&\n ((_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 if (container.interactivity.mouse.position) {\n this.lastPosition = {\n x: container.interactivity.mouse.position.x,\n y: container.interactivity.mouse.position.y,\n };\n }\n else {\n delete this.lastPosition;\n }\n if (canEmit) {\n container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);\n }\n this.delay -= optDelay;\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events;\n return ((mouse.clicking && mouse.inside && !!mouse.position && isInArray(\"trail\", events.onClick.mode)) ||\n (mouse.inside && !!mouse.position && isInArray(\"trail\", events.onHover.mode)));\n }\n reset() {\n }\n}\n","import { TrailMaker } from \"./TrailMaker\";\nexport async function loadExternalTrailInteraction(engine) {\n await engine.addInteractor(\"externalTrail\", (container) => new TrailMaker(container));\n}\n","import { OptionsColor, stringToAlpha } from \"tsparticles-engine\";\nexport class PolygonMaskDrawStroke {\n constructor() {\n this.color = new OptionsColor();\n this.width = 0.5;\n this.opacity = 1;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (typeof this.color.value === \"string\") {\n this.opacity = (_a = stringToAlpha(this.color.value)) !== null && _a !== void 0 ? _a : this.opacity;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n","import { OptionsColor } from \"tsparticles-engine\";\nimport { PolygonMaskDrawStroke } from \"./PolygonMaskDrawStroke\";\nexport class PolygonMaskDraw {\n constructor() {\n this.enable = false;\n this.stroke = new PolygonMaskDrawStroke();\n }\n get lineWidth() {\n return this.stroke.width;\n }\n set lineWidth(value) {\n this.stroke.width = value;\n }\n get lineColor() {\n return this.stroke.color;\n }\n set lineColor(value) {\n this.stroke.color = OptionsColor.create(this.stroke.color, value);\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const 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","export class PolygonMaskInline {\n constructor() {\n this.arrangement = \"one-per-point\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.arrangement !== undefined) {\n this.arrangement = data.arrangement;\n }\n }\n}\n","export class PolygonMaskLocalSvg {\n constructor() {\n this.path = [];\n this.size = {\n height: 0,\n width: 0,\n };\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.path !== undefined) {\n this.path = data.path;\n }\n if (data.size !== undefined) {\n if (data.size.width !== undefined) {\n this.size.width = data.size.width;\n }\n if (data.size.height !== undefined) {\n this.size.height = data.size.height;\n }\n }\n }\n}\n","export class PolygonMaskMove {\n constructor() {\n this.radius = 10;\n this.type = \"path\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n","import { PolygonMaskDraw } from \"./PolygonMaskDraw\";\nimport { PolygonMaskInline } from \"./PolygonMaskInline\";\nimport { PolygonMaskLocalSvg } from \"./PolygonMaskLocalSvg\";\nimport { PolygonMaskMove } from \"./PolygonMaskMove\";\nimport { deepExtend } from \"tsparticles-engine\";\nexport class PolygonMask {\n constructor() {\n this.draw = new PolygonMaskDraw();\n this.enable = false;\n this.inline = new PolygonMaskInline();\n this.move = new PolygonMaskMove();\n this.scale = 1;\n this.type = \"none\";\n }\n get inlineArrangement() {\n return this.inline.arrangement;\n }\n set inlineArrangement(value) {\n this.inline.arrangement = value;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.draw.load(data.draw);\n this.inline.load(data.inline);\n this.move.load(data.move);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n else {\n this.enable = this.type !== \"none\";\n }\n if (data.url !== undefined) {\n this.url = data.url;\n }\n if (data.data !== undefined) {\n if (typeof data.data === \"string\") {\n this.data = data.data;\n }\n else {\n this.data = new PolygonMaskLocalSvg();\n this.data.load(data.data);\n }\n }\n if (data.position !== undefined) {\n this.position = deepExtend({}, data.position);\n }\n }\n}\n","import { Vector, colorToRgb, getDistances, getStyleFromRgb } from \"tsparticles-engine\";\nexport function drawPolygonMask(context, rawData, stroke) {\n const color = colorToRgb(stroke.color);\n if (!color) {\n return;\n }\n context.beginPath();\n context.moveTo(rawData[0].x, rawData[0].y);\n for (const item of rawData) {\n context.lineTo(item.x, item.y);\n }\n context.closePath();\n context.strokeStyle = getStyleFromRgb(color);\n context.lineWidth = stroke.width;\n context.stroke();\n}\nexport function drawPolygonMaskPath(context, path, stroke, position) {\n context.translate(position.x, position.y);\n const color = colorToRgb(stroke.color);\n if (!color) {\n return;\n }\n context.strokeStyle = getStyleFromRgb(color, stroke.opacity);\n context.lineWidth = stroke.width;\n context.stroke(path);\n}\nexport function parsePaths(paths, scale, offset) {\n var _a;\n const res = [];\n for (const path of paths) {\n const segments = path.element.pathSegList, len = (_a = segments === null || segments === void 0 ? void 0 : segments.numberOfItems) !== null && _a !== void 0 ? _a : 0, p = {\n x: 0,\n y: 0,\n };\n for (let i = 0; i < len; i++) {\n const segment = segments === null || segments === void 0 ? void 0 : segments.getItem(i);\n const svgPathSeg = window.SVGPathSeg;\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 const absSeg = segment;\n p.x = absSeg.x;\n p.y = absSeg.y;\n break;\n }\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n p.x = segment.x;\n break;\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n p.y = segment.y;\n break;\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 const relSeg = segment;\n p.x += relSeg.x;\n p.y += relSeg.y;\n break;\n }\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n p.x += segment.x;\n break;\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n p.y += segment.y;\n break;\n case svgPathSeg.PATHSEG_UNKNOWN:\n case svgPathSeg.PATHSEG_CLOSEPATH:\n continue;\n }\n res.push({\n x: p.x * scale + offset.x,\n y: p.y * scale + offset.y,\n });\n }\n }\n return res;\n}\nexport function calcClosestPtOnSegment(s1, s2, pos) {\n const { dx, dy } = getDistances(pos, s1), { dx: dxx, dy: dyy } = getDistances(s2, s1), t = (dx * dxx + dy * dyy) / (dxx ** 2 + dyy ** 2), res = {\n x: s1.x + dxx * t,\n y: s1.x + dyy * t,\n isOnSegment: t >= 0 && t <= 1,\n };\n if (t < 0) {\n res.x = s1.x;\n res.y = s1.y;\n }\n else if (t > 1) {\n res.x = s2.x;\n res.y = s2.y;\n }\n return res;\n}\nexport function segmentBounce(start, stop, velocity) {\n const { dx, dy } = getDistances(start, stop), wallAngle = Math.atan2(dy, dx), wallNormal = Vector.create(Math.sin(wallAngle), -Math.cos(wallAngle)), d = 2 * (velocity.x * wallNormal.x + velocity.y * wallNormal.y);\n wallNormal.multTo(d);\n velocity.subFrom(wallNormal);\n}\n","var __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};\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};\nvar _PolygonMaskInstance_engine;\nimport { calcClosestPtOnSegment, drawPolygonMask, drawPolygonMaskPath, parsePaths, segmentBounce } from \"./utils\";\nimport { deepExtend, getDistance, getDistances, itemFromArray, noPolygonDataLoaded, noPolygonFound, } from \"tsparticles-engine\";\nimport { PolygonMask } from \"./Options/Classes/PolygonMask\";\nexport class PolygonMaskInstance {\n constructor(container, engine) {\n this.container = container;\n _PolygonMaskInstance_engine.set(this, void 0);\n __classPrivateFieldSet(this, _PolygonMaskInstance_engine, engine, \"f\");\n this.dimension = {\n height: 0,\n width: 0,\n };\n this.path2DSupported = !!window.Path2D;\n this.options = new PolygonMask();\n this.polygonMaskMoveRadius = this.options.move.radius * container.retina.pixelRatio;\n }\n async initAsync(options) {\n this.options.load(options === null || options === void 0 ? void 0 : options.polygon);\n const polygonMaskOptions = this.options;\n this.polygonMaskMoveRadius = polygonMaskOptions.move.radius * this.container.retina.pixelRatio;\n if (polygonMaskOptions.enable) {\n await this.initRawData();\n }\n }\n resize() {\n const container = this.container, options = this.options;\n if (!(options.enable && options.type !== \"none\")) {\n return;\n }\n if (this.redrawTimeout) {\n clearTimeout(this.redrawTimeout);\n }\n this.redrawTimeout = window.setTimeout(async () => {\n await this.initRawData(true);\n await container.particles.redraw();\n }, 250);\n }\n stop() {\n delete this.raw;\n delete this.paths;\n }\n particlesInitialization() {\n const options = this.options;\n if (options.enable &&\n options.type === \"inline\" &&\n (options.inline.arrangement === \"one-per-point\" ||\n options.inline.arrangement === \"per-point\")) {\n this.drawPoints();\n return true;\n }\n return false;\n }\n particlePosition(position) {\n var _a, _b;\n const options = this.options;\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 return deepExtend({}, position ? position : this.randomPoint());\n }\n particleBounce(particle, delta, direction) {\n return this.polygonBounce(particle, delta, direction);\n }\n clickPositionValid(position) {\n const options = this.options;\n return (options.enable &&\n options.type !== \"none\" &&\n options.type !== \"inline\" &&\n this.checkInsidePolygon(position));\n }\n draw(context) {\n var _a;\n if (!((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n const options = this.options, polygonDraw = options.draw;\n if (!options.enable || !polygonDraw.enable) {\n return;\n }\n const rawData = this.raw;\n for (const path of this.paths) {\n const path2d = path.path2d, path2dSupported = this.path2DSupported;\n if (!context) {\n continue;\n }\n if (path2dSupported && path2d && this.offset) {\n drawPolygonMaskPath(context, path2d, polygonDraw.stroke, this.offset);\n }\n else if (rawData) {\n drawPolygonMask(context, rawData, polygonDraw.stroke);\n }\n }\n }\n polygonBounce(particle, _delta, direction) {\n const options = this.options;\n if (!this.raw || !options.enable || direction !== \"top\") {\n return false;\n }\n if (options.type === \"inside\" || options.type === \"outside\") {\n let closest, dx, dy;\n const pos = particle.getPosition(), radius = particle.getRadius();\n for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n const pi = this.raw[i], pj = this.raw[j];\n closest = calcClosestPtOnSegment(pi, pj, pos);\n const dist = getDistances(pos, closest);\n [dx, dy] = [dist.dx, dist.dy];\n if (dist.distance < radius) {\n segmentBounce(pi, pj, particle.velocity);\n return true;\n }\n }\n if (closest && dx !== undefined && dy !== undefined && !this.checkInsidePolygon(pos)) {\n const factor = { x: 1, y: 1 };\n if (particle.position.x >= closest.x) {\n factor.x = -1;\n }\n if (particle.position.y >= closest.y) {\n factor.y = -1;\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 }\n else if (options.type === \"inline\" && particle.initialPosition) {\n const dist = getDistance(particle.initialPosition, particle.getPosition());\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 return false;\n }\n checkInsidePolygon(position) {\n var _a, _b;\n const container = this.container, options = this.options;\n if (!options.enable || options.type === \"none\" || options.type === \"inline\") {\n return true;\n }\n if (!this.raw) {\n throw new Error(noPolygonFound);\n }\n const canvasSize = container.canvas.size, x = (_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width, y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height;\n let inside = false;\n for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n const pi = this.raw[i], pj = this.raw[j], intersect = pi.y > y !== pj.y > y && x < ((pj.x - pi.x) * (y - pi.y)) / (pj.y - pi.y) + pi.x;\n if (intersect) {\n inside = !inside;\n }\n }\n return options.type === \"inside\"\n ? inside\n : options.type === \"outside\"\n ? !inside\n : false;\n }\n parseSvgPath(xml, force) {\n var _a, _b, _c;\n const forceDownload = force !== null && force !== void 0 ? force : false;\n if (this.paths !== undefined && !forceDownload) {\n return this.raw;\n }\n const container = this.container, options = this.options, parser = new DOMParser(), doc = parser.parseFromString(xml, \"image/svg+xml\"), svg = doc.getElementsByTagName(\"svg\")[0];\n let svgPaths = svg.getElementsByTagName(\"path\");\n if (!svgPaths.length) {\n svgPaths = doc.getElementsByTagName(\"path\");\n }\n this.paths = [];\n for (let i = 0; i < svgPaths.length; i++) {\n const path = svgPaths.item(i);\n if (path) {\n this.paths.push({\n element: path,\n length: path.getTotalLength(),\n });\n }\n }\n const pxRatio = container.retina.pixelRatio, 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 const 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 parsePaths(this.paths, scale, this.offset);\n }\n async downloadSvgPath(svgUrl, force) {\n const options = this.options, url = svgUrl || options.url, forceDownload = force !== null && force !== void 0 ? force : false;\n if (!url || (this.paths !== undefined && !forceDownload)) {\n return this.raw;\n }\n const req = await fetch(url);\n if (!req.ok) {\n throw new Error(\"tsParticles Error - Error occurred during polygon mask download\");\n }\n return this.parseSvgPath(await req.text(), force);\n }\n drawPoints() {\n if (!this.raw) {\n return;\n }\n for (const item of this.raw) {\n this.container.particles.addParticle({\n x: item.x,\n y: item.y,\n });\n }\n }\n randomPoint() {\n const container = this.container, options = this.options;\n let position;\n if (options.type === \"inline\") {\n switch (options.inline.arrangement) {\n case \"random-point\":\n position = this.getRandomPoint();\n break;\n case \"random-length\":\n position = this.getRandomPointByLength();\n break;\n case \"equidistant\":\n position = this.getEquidistantPointByIndex(container.particles.count);\n break;\n case \"one-per-point\":\n case \"per-point\":\n default:\n position = this.getPointByIndex(container.particles.count);\n }\n }\n else {\n position = {\n x: Math.random() * container.canvas.size.width,\n y: Math.random() * container.canvas.size.height,\n };\n }\n if (this.checkInsidePolygon(position)) {\n return position;\n }\n else {\n return this.randomPoint();\n }\n }\n getRandomPoint() {\n if (!this.raw || !this.raw.length) {\n throw new Error(noPolygonDataLoaded);\n }\n const coords = itemFromArray(this.raw);\n return {\n x: coords.x,\n y: coords.y,\n };\n }\n getRandomPointByLength() {\n var _a, _b, _c;\n const options = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n throw new Error(noPolygonDataLoaded);\n }\n const path = itemFromArray(this.paths), distance = Math.floor(Math.random() * path.length) + 1, 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 getEquidistantPointByIndex(index) {\n var _a, _b, _c, _d, _e, _f, _g;\n const options = this.container.actualOptions, polygonMaskOptions = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length))\n throw new Error(noPolygonDataLoaded);\n let offset = 0, point;\n const totalLength = this.paths.reduce((tot, path) => tot + path.length, 0), distance = totalLength / options.particles.number.value;\n for (const path of this.paths) {\n const pathDistance = distance * index - offset;\n if (pathDistance <= path.length) {\n point = path.element.getPointAtLength(pathDistance);\n break;\n }\n else {\n offset += path.length;\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 getPointByIndex(index) {\n if (!this.raw || !this.raw.length) {\n throw new Error(noPolygonDataLoaded);\n }\n const coords = this.raw[index % this.raw.length];\n return {\n x: coords.x,\n y: coords.y,\n };\n }\n createPath2D() {\n var _a, _b;\n const options = this.options;\n if (!this.path2DSupported || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n for (const path of this.paths) {\n const pathData = (_b = path.element) === null || _b === void 0 ? void 0 : _b.getAttribute(\"d\");\n if (pathData) {\n const path2d = new Path2D(pathData), matrix = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGMatrix(), finalPath = new Path2D(), transform = matrix.scale(options.scale);\n if (finalPath.addPath) {\n finalPath.addPath(path2d, transform);\n path.path2d = finalPath;\n }\n else {\n delete path.path2d;\n }\n }\n else {\n delete path.path2d;\n }\n if (path.path2d || !this.raw) {\n continue;\n }\n path.path2d = new Path2D();\n path.path2d.moveTo(this.raw[0].x, this.raw[0].y);\n this.raw.forEach((pos, i) => {\n var _a;\n if (i > 0) {\n (_a = path.path2d) === null || _a === void 0 ? void 0 : _a.lineTo(pos.x, pos.y);\n }\n });\n path.path2d.closePath();\n }\n }\n async initRawData(force) {\n const options = this.options;\n if (options.url) {\n this.raw = await this.downloadSvgPath(options.url, force);\n }\n else if (options.data) {\n const data = options.data;\n let svg;\n if (typeof data !== \"string\") {\n const path = data.path instanceof Array\n ? data.path.map((t) => ``).join(\"\")\n : ``;\n const namespaces = 'xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n svg = `${path}`;\n }\n else {\n svg = data;\n }\n this.raw = this.parseSvgPath(svg, force);\n }\n this.createPath2D();\n __classPrivateFieldGet(this, _PolygonMaskInstance_engine, \"f\").dispatchEvent(\"polygonMaskLoaded\", {\n container: this.container,\n });\n }\n}\n_PolygonMaskInstance_engine = new WeakMap();\n","var __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};\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};\nvar _PolygonMaskPlugin_engine;\nimport { PolygonMask } from \"./Options/Classes/PolygonMask\";\nimport { PolygonMaskInstance } from \"./PolygonMaskInstance\";\nimport { isSsr } from \"tsparticles-engine\";\nclass PolygonMaskPlugin {\n constructor(engine) {\n _PolygonMaskPlugin_engine.set(this, void 0);\n this.id = \"polygonMask\";\n __classPrivateFieldSet(this, _PolygonMaskPlugin_engine, engine, \"f\");\n }\n getPlugin(container) {\n return new PolygonMaskInstance(container, __classPrivateFieldGet(this, _PolygonMaskPlugin_engine, \"f\"));\n }\n needsPlugin(options) {\n var _a, _b, _c;\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 !== \"none\"));\n }\n loadOptions(options, source) {\n if (!this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\n let polygonOptions = optionsCast.polygon;\n if ((polygonOptions === null || polygonOptions === void 0 ? void 0 : polygonOptions.load) === undefined) {\n optionsCast.polygon = polygonOptions = new PolygonMask();\n }\n polygonOptions.load(source === null || source === void 0 ? void 0 : source.polygon);\n }\n}\n_PolygonMaskPlugin_engine = new WeakMap();\nexport async function loadPolygonMaskPlugin(engine) {\n if (!isSsr() && !(\"SVGPathSeg\" in window)) {\n await import(\"./pathseg.js\");\n }\n const plugin = new PolygonMaskPlugin(engine);\n await engine.addPlugin(plugin);\n}\nexport * from \"./Enums/PolygonMaskInlineArrangement\";\nexport * from \"./Enums/PolygonMaskMoveType\";\nexport * from \"./Enums/PolygonMaskType\";\nexport * from \"./Options/Interfaces/IPolygonMaskOptions\";\n","import { colorToHsl, getRangeValue } from \"tsparticles-engine\";\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll;\n if (!particle.roll || !roll.enable) {\n return;\n }\n const speed = particle.roll.speed * delta.factor;\n const max = 2 * Math.PI;\n particle.roll.angle += speed;\n if (particle.roll.angle > max) {\n particle.roll.angle -= max;\n }\n}\nexport class RollUpdater {\n init(particle) {\n const rollOpt = particle.options.roll;\n if (rollOpt.enable) {\n particle.roll = {\n angle: Math.random() * Math.PI * 2,\n speed: getRangeValue(rollOpt.speed) / 360,\n };\n if (rollOpt.backColor) {\n particle.backColor = colorToHsl(rollOpt.backColor);\n }\n else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = Math.random() >= 0.5 ? \"darken\" : \"enlighten\";\n particle.roll.alter = {\n type: alterType,\n value: getRangeValue(alterType === \"darken\" ? rollOpt.darken.value : rollOpt.enlighten.value),\n };\n }\n else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: \"darken\",\n value: getRangeValue(rollOpt.darken.value),\n };\n }\n else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: \"enlighten\",\n value: getRangeValue(rollOpt.enlighten.value),\n };\n }\n }\n else {\n particle.roll = { angle: 0, speed: 0 };\n }\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && roll.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateRoll(particle, delta);\n }\n}\n","import { RollUpdater } from \"./RollUpdater\";\nexport async function loadRollUpdater(engine) {\n await engine.addParticleUpdater(\"roll\", () => new RollUpdater());\n}\n","const initPjs = (engine) => {\n const particlesJS = (tagId, options) => {\n return engine.load(tagId, options);\n };\n particlesJS.load = (tagId, pathConfigJson, callback) => {\n engine\n .loadJSON(tagId, pathConfigJson)\n .then((container) => {\n if (container) {\n callback(container);\n }\n })\n .catch(() => {\n callback(undefined);\n });\n };\n particlesJS.setOnClickHandler = (callback) => {\n engine.setOnClickHandler(callback);\n };\n const pJSDom = engine.dom();\n return { particlesJS, pJSDom };\n};\nexport { initPjs };\n","import { getRangeValue } from \"tsparticles-engine\";\nfunction updateAngle(particle, delta) {\n var _a;\n const rotate = particle.rotate;\n if (!rotate) {\n return;\n }\n const rotateOptions = particle.options.rotate;\n const rotateAnimation = rotateOptions.animation;\n const speed = ((_a = rotate.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const max = 2 * Math.PI;\n if (!rotateAnimation.enable) {\n return;\n }\n switch (rotate.status) {\n case 0:\n rotate.value += speed;\n if (rotate.value > max) {\n rotate.value -= max;\n }\n break;\n case 1:\n default:\n rotate.value -= speed;\n if (rotate.value < 0) {\n rotate.value += max;\n }\n break;\n }\n}\nexport class AngleUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const rotateOptions = particle.options.rotate;\n particle.rotate = {\n enable: rotateOptions.animation.enable,\n value: (getRangeValue(rotateOptions.value) * Math.PI) / 180,\n };\n let rotateDirection = rotateOptions.direction;\n if (rotateDirection === \"random\") {\n const index = Math.floor(Math.random() * 2);\n rotateDirection = index > 0 ? \"counter-clockwise\" : \"clockwise\";\n }\n switch (rotateDirection) {\n case \"counter-clockwise\":\n case \"counterClockwise\":\n particle.rotate.status = 1;\n break;\n case \"clockwise\":\n particle.rotate.status = 0;\n break;\n }\n const rotateAnimation = particle.options.rotate.animation;\n if (rotateAnimation.enable) {\n particle.rotate.velocity =\n (getRangeValue(rotateAnimation.speed) / 360) * this.container.retina.reduceFactor;\n if (!rotateAnimation.sync) {\n particle.rotate.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n const rotate = particle.options.rotate;\n const rotateAnimation = rotate.animation;\n return !particle.destroyed && !particle.spawning && !rotate.path && rotateAnimation.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateAngle(particle, delta);\n }\n}\n","import { AngleUpdater } from \"./AngleUpdater\";\nexport async function loadAngleUpdater(engine) {\n await engine.addParticleUpdater(\"angle\", (container) => new AngleUpdater(container));\n}\n","import { getDistance, getRangeMax, getRangeValue } from \"tsparticles-engine\";\nimport { applyDistance, applyPath, getProximitySpeedFactor, spin } from \"./Utils\";\nexport class BaseMover {\n init(particle) {\n var _a;\n const container = particle.container, options = particle.options, spinOptions = options.move.spin;\n if (spinOptions.enable) {\n const spinPos = (_a = spinOptions.position) !== null && _a !== void 0 ? _a : { x: 50, y: 50 };\n const spinCenter = {\n x: (spinPos.x / 100) * container.canvas.size.width,\n y: (spinPos.y / 100) * container.canvas.size.height,\n };\n const pos = particle.getPosition();\n const distance = getDistance(pos, spinCenter);\n const spinAcceleration = getRangeValue(spinOptions.acceleration);\n particle.retina.spinAcceleration = spinAcceleration * container.retina.pixelRatio;\n particle.spin = {\n center: spinCenter,\n direction: particle.velocity.x >= 0 ? \"clockwise\" : \"counter-clockwise\",\n angle: particle.velocity.angle,\n radius: distance,\n acceleration: particle.retina.spinAcceleration,\n };\n }\n }\n isEnabled(particle) {\n return !particle.destroyed && particle.options.move.enable;\n }\n move(particle, delta) {\n var _a, _b, _c;\n var _d, _e;\n const particleOptions = particle.options, moveOptions = particleOptions.move;\n if (!moveOptions.enable) {\n return;\n }\n const container = particle.container, slowFactor = getProximitySpeedFactor(particle), baseSpeed = ((_a = (_d = particle.retina).moveSpeed) !== null && _a !== void 0 ? _a : (_d.moveSpeed = getRangeValue(moveOptions.speed) * container.retina.pixelRatio)) *\n container.retina.reduceFactor, moveDrift = ((_b = (_e = particle.retina).moveDrift) !== null && _b !== void 0 ? _b : (_e.moveDrift = getRangeValue(particle.options.move.drift) * container.retina.pixelRatio)), maxSize = getRangeMax(particleOptions.size.value) * container.retina.pixelRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : 1, speedFactor = sizeFactor * slowFactor * (delta.factor || 1), diffFactor = 2, moveSpeed = (baseSpeed * speedFactor) / diffFactor;\n applyPath(particle, delta);\n const gravityOptions = particle.gravity, gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;\n if (gravityOptions.enable && moveSpeed) {\n particle.velocity.y += (gravityFactor * (gravityOptions.acceleration * delta.factor)) / (60 * moveSpeed);\n }\n if (moveDrift && moveSpeed) {\n particle.velocity.x += (moveDrift * delta.factor) / (60 * moveSpeed);\n }\n const decay = particle.moveDecay;\n if (decay != 1) {\n particle.velocity.multTo(decay);\n }\n const velocity = particle.velocity.mult(moveSpeed), maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;\n if (gravityOptions.enable &&\n maxSpeed > 0 &&\n ((!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed) ||\n (gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed))) {\n velocity.y = gravityFactor * maxSpeed;\n if (moveSpeed) {\n particle.velocity.y = velocity.y / moveSpeed;\n }\n }\n const zIndexOptions = particle.options.zIndex, zVelocityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.velocityRate;\n if (moveOptions.spin.enable) {\n spin(particle, moveSpeed);\n }\n else {\n if (zVelocityFactor != 1) {\n velocity.multTo(zVelocityFactor);\n }\n particle.position.addTo(velocity);\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 applyDistance(particle);\n }\n}\n","import { clamp, getDistance, getDistances, isInArray } from \"tsparticles-engine\";\nexport function applyDistance(particle) {\n const initialPosition = particle.initialPosition;\n const { dx, dy } = getDistances(initialPosition, particle.position);\n const dxFixed = Math.abs(dx), dyFixed = Math.abs(dy);\n const hDistance = particle.retina.maxDistance.horizontal;\n const vDistance = particle.retina.maxDistance.vertical;\n if (!hDistance && !vDistance) {\n return;\n }\n if (((hDistance && dxFixed >= hDistance) || (vDistance && dyFixed >= vDistance)) && !particle.misplaced) {\n particle.misplaced = (!!hDistance && dxFixed > hDistance) || (!!vDistance && dyFixed > vDistance);\n if (hDistance) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n }\n if (vDistance) {\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n }\n }\n else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {\n particle.misplaced = false;\n }\n else if (particle.misplaced) {\n const pos = particle.position, vel = particle.velocity;\n if (hDistance && ((pos.x < initialPosition.x && vel.x < 0) || (pos.x > initialPosition.x && vel.x > 0))) {\n vel.x *= -Math.random();\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}\nexport function spin(particle, moveSpeed) {\n const container = particle.container;\n if (!particle.spin) {\n return;\n }\n const updateFunc = {\n x: particle.spin.direction === \"clockwise\" ? Math.cos : Math.sin,\n y: particle.spin.direction === \"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 const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);\n if (particle.spin.radius > maxCanvasSize / 2) {\n particle.spin.radius = maxCanvasSize / 2;\n particle.spin.acceleration *= -1;\n }\n else if (particle.spin.radius < 0) {\n particle.spin.radius = 0;\n particle.spin.acceleration *= -1;\n }\n particle.spin.angle += (moveSpeed / 100) * (1 - particle.spin.radius / maxCanvasSize);\n}\nexport function applyPath(particle, delta) {\n const particlesOptions = particle.options;\n const pathOptions = particlesOptions.move.path;\n const pathEnabled = pathOptions.enable;\n if (!pathEnabled) {\n return;\n }\n const container = particle.container;\n if (particle.lastPathTime <= particle.pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n const path = container.pathGenerator.generate(particle);\n particle.velocity.addTo(path);\n if (pathOptions.clamp) {\n particle.velocity.x = clamp(particle.velocity.x, -1, 1);\n particle.velocity.y = clamp(particle.velocity.y, -1, 1);\n }\n particle.lastPathTime -= particle.pathDelay;\n}\nexport function getProximitySpeedFactor(particle) {\n const container = particle.container;\n const options = container.actualOptions;\n const active = isInArray(\"slow\", options.interactivity.events.onHover.mode);\n if (!active) {\n return 1;\n }\n const mousePos = particle.container.interactivity.mouse.position;\n if (!mousePos) {\n return 1;\n }\n const particlePos = particle.getPosition();\n const dist = getDistance(mousePos, particlePos);\n const radius = container.retina.slowModeRadius;\n if (dist > radius) {\n return 1;\n }\n const proximityFactor = dist / radius || 0;\n const slowFactor = options.interactivity.modes.slow.factor;\n return proximityFactor / slowFactor;\n}\n","import { BaseMover } from \"./BaseMover\";\nexport async function loadBaseMover(engine) {\n engine.addMover(\"base\", () => new BaseMover());\n}\n","export class CircleDrawer {\n getSidesCount() {\n return 12;\n }\n draw(context, particle, radius) {\n context.arc(0, 0, radius, 0, Math.PI * 2, false);\n }\n}\n","import { CircleDrawer } from \"./CircleDrawer\";\nexport async function loadCircleShape(engine) {\n await engine.addShape(\"circle\", new CircleDrawer());\n}\n","import { colorToHsl, getHslAnimationFromHsl, randomInRange } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n const colorValue = value;\n if (!colorValue || !valueAnimation.enable) {\n return;\n }\n const offset = randomInRange(valueAnimation.offset);\n const velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\n if (!decrease || colorValue.status === 0) {\n colorValue.value += velocity;\n if (decrease && colorValue.value > max) {\n colorValue.status = 1;\n colorValue.value -= colorValue.value % max;\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n colorValue.status = 0;\n colorValue.value += colorValue.value;\n }\n }\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\nfunction updateColor(particle, delta) {\n var _a, _b, _c;\n const animationOptions = particle.options.color.animation;\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 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 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}\nexport class ColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const hslColor = colorToHsl(particle.options.color, particle.id, particle.options.reduceDuplicates);\n if (hslColor) {\n particle.color = getHslAnimationFromHsl(hslColor, particle.options.color.animation, this.container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c;\n const animationOptions = particle.options.color.animation;\n return (!particle.destroyed &&\n !particle.spawning &&\n ((((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h.value) !== undefined && animationOptions.h.enable) ||\n (((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s.value) !== undefined && animationOptions.s.enable) ||\n (((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l.value) !== undefined && animationOptions.l.enable)));\n }\n update(particle, delta) {\n updateColor(particle, delta);\n }\n}\n","import { ColorUpdater } from \"./ColorUpdater\";\nexport async function loadColorUpdater(engine) {\n await engine.addParticleUpdater(\"color\", (container) => new ColorUpdater(container));\n}\n","import { Circle, ExternalInteractorBase, Vector, calcEasing, clamp, getDistances, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nexport class Attractor extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = this.container.actualOptions;\n if (mode !== \"attract\") {\n return;\n }\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n container.attract.clicking = true;\n container.attract.count = 0;\n for (const particle of container.attract.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.attract.particles = [];\n container.attract.finish = false;\n setTimeout(() => {\n if (!container.destroyed) {\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n container.attract.clicking = false;\n }\n }, options.interactivity.modes.attract.duration * 1000);\n };\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events;\n if ((!mouse.position || !events.onHover.enable) && (!mouse.clickPosition || !events.onClick.enable)) {\n return false;\n }\n const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;\n return isInArray(\"attract\", hoverMode) || isInArray(\"attract\", clickMode);\n }\n reset() {\n }\n async interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"attract\", hoverMode)) {\n this.hoverAttract();\n }\n else if (clickEnabled && isInArray(\"attract\", clickMode)) {\n this.clickAttract();\n }\n }\n hoverAttract() {\n const container = this.container;\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Circle(mousePos.x, mousePos.y, attractRadius));\n }\n processAttract(position, attractRadius, area) {\n const container = this.container;\n const attractOptions = container.actualOptions.interactivity.modes.attract;\n const query = container.particles.quadTree.query(area);\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(particle.position, position);\n const velocity = attractOptions.speed * attractOptions.factor;\n const attractFactor = clamp(calcEasing(1 - distance / attractRadius, attractOptions.easing) * velocity, 0, attractOptions.maxSpeed);\n const normVec = Vector.create(distance === 0 ? velocity : (dx / distance) * attractFactor, distance === 0 ? velocity : (dy / distance) * attractFactor);\n particle.position.subFrom(normVec);\n }\n }\n clickAttract() {\n const container = this.container;\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n if (!container.attract.finish) {\n if (!container.attract.count) {\n container.attract.count = 0;\n }\n container.attract.count++;\n if (container.attract.count === container.particles.count) {\n container.attract.finish = true;\n }\n }\n if (container.attract.clicking) {\n const mousePos = container.interactivity.mouse.clickPosition;\n if (!mousePos) {\n return;\n }\n const attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Circle(mousePos.x, mousePos.y, attractRadius));\n }\n else if (container.attract.clicking === false) {\n container.attract.particles = [];\n }\n return;\n }\n}\n","import { Attractor } from \"./Attractor\";\nexport async function loadExternalAttractInteraction(engine) {\n await engine.addInteractor(\"externalAttract\", (container) => new Attractor(container));\n}\n","import { Circle, ExternalInteractorBase, Rectangle, Vector, calculateBounds, circleBounce, circleBounceDataFromParticle, divModeExecute, isDivModeEnabled, isInArray, mouseMoveEvent, rectBounce, } from \"tsparticles-engine\";\nexport class Bouncer extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv;\n return ((mouse.position && events.onHover.enable && isInArray(\"bounce\", events.onHover.mode)) ||\n isDivModeEnabled(\"bounce\", divs));\n }\n async interact() {\n const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"bounce\", hoverMode)) {\n this.processMouseBounce();\n }\n else {\n divModeExecute(\"bounce\", divs, (selector, div) => this.singleSelectorBounce(selector, div));\n }\n }\n reset() {\n }\n processMouseBounce() {\n const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance;\n if (mousePos) {\n this.processBounce(mousePos, radius, new Circle(mousePos.x, mousePos.y, radius + tolerance));\n }\n }\n singleSelectorBounce(selector, div) {\n const container = this.container, query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, radius = (elem.offsetWidth / 2) * pxRatio, tolerance = 10 * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, radius + tolerance)\n : new Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);\n this.processBounce(pos, radius, area);\n });\n }\n processBounce(position, radius, area) {\n const query = this.container.particles.quadTree.query(area);\n for (const particle of query) {\n if (area instanceof Circle) {\n circleBounce(circleBounceDataFromParticle(particle), {\n position,\n radius,\n mass: (radius ** 2 * Math.PI) / 2,\n velocity: Vector.origin,\n factor: Vector.origin,\n });\n }\n else if (area instanceof Rectangle) {\n rectBounce(particle, calculateBounds(position, radius));\n }\n }\n }\n}\n","import { Bouncer } from \"./Bouncer\";\nexport async function loadExternalBounceInteraction(engine) {\n await engine.addInteractor(\"externalBounce\", (container) => new Bouncer(container));\n}\n","import { Circle, ExternalInteractorBase, Rectangle, clamp, colorMix, colorToHsl, divMode, divModeExecute, getDistance, getRangeMax, isDivModeEnabled, isInArray, itemFromArray, mouseLeaveEvent, mouseMoveEvent, rgbToHsl, } from \"tsparticles-engine\";\nfunction calculateBubbleValue(particleValue, modeValue, optionsValue, ratio) {\n if (modeValue >= optionsValue) {\n const value = particleValue + (modeValue - optionsValue) * ratio;\n return clamp(value, particleValue, modeValue);\n }\n else if (modeValue < optionsValue) {\n const value = particleValue - (optionsValue - modeValue) * ratio;\n return clamp(value, modeValue, particleValue);\n }\n}\nexport class Bubbler extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.bubble) {\n container.bubble = {};\n }\n this.handleClickMode = (mode) => {\n if (mode !== \"bubble\") {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n container.bubble.clicking = true;\n };\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv, divBubble = isDivModeEnabled(\"bubble\", divs);\n if (!(divBubble || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))) {\n return false;\n }\n const hoverMode = events.onHover.mode;\n const clickMode = events.onClick.mode;\n return isInArray(\"bubble\", hoverMode) || isInArray(\"bubble\", clickMode) || divBubble;\n }\n reset(particle, force) {\n if (!(!particle.bubble.inRange || force)) {\n return;\n }\n delete particle.bubble.div;\n delete particle.bubble.opacity;\n delete particle.bubble.radius;\n delete particle.bubble.color;\n }\n async interact() {\n const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;\n if (hoverEnabled && isInArray(\"bubble\", hoverMode)) {\n this.hoverBubble();\n }\n else if (clickEnabled && isInArray(\"bubble\", clickMode)) {\n this.clickBubble();\n }\n else {\n divModeExecute(\"bubble\", divs, (selector, div) => this.singleSelectorHover(selector, div));\n }\n }\n singleSelectorHover(selector, div) {\n const container = this.container, selectors = document.querySelectorAll(selector);\n if (!selectors.length) {\n return;\n }\n selectors.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, repulseRadius = (elem.offsetWidth / 2) * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, repulseRadius)\n : new Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio), query = container.particles.quadTree.query(area);\n for (const particle of query) {\n if (!area.contains(particle.getPosition())) {\n continue;\n }\n particle.bubble.inRange = true;\n const divs = container.actualOptions.interactivity.modes.bubble.divs;\n const divBubble = divMode(divs, elem);\n if (!particle.bubble.div || particle.bubble.div !== elem) {\n this.reset(particle, true);\n particle.bubble.div = elem;\n }\n this.hoverBubbleSize(particle, 1, divBubble);\n this.hoverBubbleOpacity(particle, 1, divBubble);\n this.hoverBubbleColor(particle, 1, divBubble);\n }\n });\n }\n process(particle, distMouse, timeSpent, data) {\n const container = this.container, bubbleParam = data.bubbleObj.optValue;\n if (bubbleParam === undefined) {\n return;\n }\n const options = container.actualOptions, bubbleDuration = options.interactivity.modes.bubble.duration, bubbleDistance = container.retina.bubbleModeDistance, particlesParam = data.particlesObj.optValue, pObjBubble = data.bubbleObj.value, pObj = data.particlesObj.value || 0, type = data.type;\n if (bubbleParam === particlesParam) {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n if (!container.bubble.durationEnd) {\n if (distMouse <= bubbleDistance) {\n const obj = pObjBubble !== null && pObjBubble !== void 0 ? pObjBubble : pObj;\n if (obj !== bubbleParam) {\n const value = pObj - (timeSpent * (pObj - bubbleParam)) / bubbleDuration;\n if (type === \"size\") {\n particle.bubble.radius = value;\n }\n if (type === \"opacity\") {\n particle.bubble.opacity = value;\n }\n }\n }\n else {\n if (type === \"size\") {\n delete particle.bubble.radius;\n }\n if (type === \"opacity\") {\n delete particle.bubble.opacity;\n }\n }\n }\n else if (pObjBubble) {\n if (type === \"size\") {\n delete particle.bubble.radius;\n }\n if (type === \"opacity\") {\n delete particle.bubble.opacity;\n }\n }\n }\n clickBubble() {\n var _a, _b;\n const container = this.container, options = container.actualOptions, mouseClickPos = container.interactivity.mouse.clickPosition;\n if (!mouseClickPos) {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mouseClickPos, distance);\n for (const particle of query) {\n if (!container.bubble.clicking) {\n continue;\n }\n particle.bubble.inRange = !container.bubble.durationEnd;\n const pos = particle.getPosition(), distMouse = getDistance(pos, mouseClickPos), timeSpent = (new Date().getTime() - (container.interactivity.mouse.clickTime || 0)) / 1000;\n if (timeSpent > options.interactivity.modes.bubble.duration) {\n container.bubble.durationEnd = true;\n }\n if (timeSpent > options.interactivity.modes.bubble.duration * 2) {\n container.bubble.clicking = false;\n container.bubble.durationEnd = false;\n }\n const sizeData = {\n bubbleObj: {\n optValue: container.retina.bubbleModeSize,\n value: particle.bubble.radius,\n },\n particlesObj: {\n optValue: getRangeMax(particle.options.size.value) * container.retina.pixelRatio,\n value: particle.size.value,\n },\n type: \"size\",\n };\n this.process(particle, distMouse, timeSpent, sizeData);\n const opacityData = {\n bubbleObj: {\n optValue: options.interactivity.modes.bubble.opacity,\n value: particle.bubble.opacity,\n },\n particlesObj: {\n optValue: 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: \"opacity\",\n };\n this.process(particle, distMouse, timeSpent, opacityData);\n if (!container.bubble.durationEnd) {\n if (distMouse <= container.retina.bubbleModeDistance) {\n this.hoverBubbleColor(particle, distMouse);\n }\n else {\n delete particle.bubble.color;\n }\n }\n else {\n delete particle.bubble.color;\n }\n }\n }\n hoverBubble() {\n const container = this.container, mousePos = container.interactivity.mouse.position;\n if (mousePos === undefined) {\n return;\n }\n const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);\n for (const particle of query) {\n particle.bubble.inRange = true;\n const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos), ratio = 1 - pointDistance / distance;\n if (pointDistance <= distance) {\n if (ratio >= 0 && container.interactivity.status === mouseMoveEvent) {\n this.hoverBubbleSize(particle, ratio);\n this.hoverBubbleOpacity(particle, ratio);\n this.hoverBubbleColor(particle, ratio);\n }\n }\n else {\n this.reset(particle);\n }\n if (container.interactivity.status === mouseLeaveEvent) {\n this.reset(particle);\n }\n }\n }\n hoverBubbleSize(particle, ratio, divBubble) {\n const container = this.container, modeSize = (divBubble === null || divBubble === void 0 ? void 0 : divBubble.size) ? divBubble.size * container.retina.pixelRatio : container.retina.bubbleModeSize;\n if (modeSize === undefined) {\n return;\n }\n const optSize = getRangeMax(particle.options.size.value) * container.retina.pixelRatio;\n const pSize = particle.size.value;\n const size = calculateBubbleValue(pSize, modeSize, optSize, ratio);\n if (size !== undefined) {\n particle.bubble.radius = size;\n }\n }\n hoverBubbleOpacity(particle, ratio, divBubble) {\n var _a, _b, _c;\n const container = this.container, options = container.actualOptions, modeOpacity = (_a = divBubble === null || divBubble === void 0 ? void 0 : divBubble.opacity) !== null && _a !== void 0 ? _a : options.interactivity.modes.bubble.opacity;\n if (!modeOpacity) {\n return;\n }\n const optOpacity = particle.options.opacity.value;\n const pOpacity = (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1;\n const opacity = calculateBubbleValue(pOpacity, modeOpacity, getRangeMax(optOpacity), ratio);\n if (opacity !== undefined) {\n particle.bubble.opacity = opacity;\n }\n }\n hoverBubbleColor(particle, ratio, divBubble) {\n const options = this.container.actualOptions;\n const bubbleOptions = divBubble !== null && divBubble !== void 0 ? divBubble : options.interactivity.modes.bubble;\n if (!particle.bubble.finalColor) {\n const modeColor = bubbleOptions.color;\n if (!modeColor) {\n return;\n }\n const bubbleColor = modeColor instanceof Array ? itemFromArray(modeColor) : modeColor;\n particle.bubble.finalColor = colorToHsl(bubbleColor);\n }\n if (!particle.bubble.finalColor) {\n return;\n }\n if (bubbleOptions.mix) {\n particle.bubble.color = undefined;\n const pColor = particle.getFillColor();\n particle.bubble.color = pColor\n ? rgbToHsl(colorMix(pColor, particle.bubble.finalColor, 1 - ratio, ratio))\n : particle.bubble.finalColor;\n }\n else {\n particle.bubble.color = particle.bubble.finalColor;\n }\n }\n}\n","import { Bubbler } from \"./Bubbler\";\nexport async function loadExternalBubbleInteraction(engine) {\n await engine.addInteractor(\"externalBubble\", (container) => new Bubbler(container));\n}\n","import { ExternalInteractorBase, isInArray } from \"tsparticles-engine\";\nexport class Connector extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, mouse = container.interactivity.mouse, events = container.actualOptions.interactivity.events;\n if (!(events.onHover.enable && mouse.position)) {\n return false;\n }\n return isInArray(\"connect\", events.onHover.mode);\n }\n reset() {\n }\n async interact() {\n const container = this.container, options = container.actualOptions;\n if (options.interactivity.events.onHover.enable && container.interactivity.status === \"mousemove\") {\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const distance = Math.abs(container.retina.connectModeRadius), query = container.particles.quadTree.queryCircle(mousePos, distance);\n let i = 0;\n for (const p1 of query) {\n const pos1 = p1.getPosition();\n for (const p2 of query.slice(i + 1)) {\n const pos2 = p2.getPosition(), distMax = Math.abs(container.retina.connectModeDistance), xDiff = Math.abs(pos1.x - pos2.x), yDiff = Math.abs(pos1.y - pos2.y);\n if (xDiff < distMax && yDiff < distMax) {\n container.canvas.drawConnectLine(p1, p2);\n }\n }\n ++i;\n }\n }\n }\n}\n","import { Connector } from \"./Connector\";\nexport async function loadExternalConnectInteraction(engine) {\n await engine.addInteractor(\"externalConnect\", (container) => new Connector(container));\n}\n","import { ExternalInteractorBase, getDistance, getLinkColor, getLinkRandomColor, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nexport class Grabber extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, mouse = container.interactivity.mouse, events = container.actualOptions.interactivity.events;\n return events.onHover.enable && !!mouse.position && isInArray(\"grab\", events.onHover.mode);\n }\n reset() {\n }\n async interact() {\n var _a;\n const container = this.container, options = container.actualOptions, interactivity = options.interactivity;\n if (!interactivity.events.onHover.enable || container.interactivity.status !== mouseMoveEvent) {\n return;\n }\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const distance = container.retina.grabModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);\n for (const particle of query) {\n const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos);\n if (pointDistance > distance) {\n continue;\n }\n const grabLineOptions = interactivity.modes.grab.links, lineOpacity = grabLineOptions.opacity, opacityLine = lineOpacity - (pointDistance * lineOpacity) / distance;\n if (opacityLine <= 0) {\n continue;\n }\n const optColor = (_a = grabLineOptions.color) !== null && _a !== void 0 ? _a : particle.options.links.color;\n if (!container.particles.grabLineColor) {\n const linksOptions = options.interactivity.modes.grab.links;\n container.particles.grabLineColor = getLinkRandomColor(optColor, linksOptions.blink, linksOptions.consent);\n }\n const colorLine = getLinkColor(particle, undefined, container.particles.grabLineColor);\n if (!colorLine) {\n return;\n }\n container.canvas.drawGrabLine(particle, colorLine, opacityLine, mousePos);\n }\n }\n}\n","import { Grabber } from \"./Grabber\";\nexport async function loadExternalGrabInteraction(engine) {\n await engine.addInteractor(\"externalGrab\", (container) => new Grabber(container));\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nexport class Pauser extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"pause\") {\n return;\n }\n const container = this.container;\n if (container.getAnimationStatus()) {\n container.pause();\n }\n else {\n container.play();\n }\n };\n }\n isEnabled() {\n return true;\n }\n reset() {\n }\n async interact() {\n }\n}\n","import { Pauser } from \"./Pauser\";\nexport function loadExternalPauseInteraction(engine) {\n engine.addInteractor(\"externalPause\", (container) => new Pauser(container));\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nimport { itemFromArray } from \"tsparticles-engine\";\nexport class Pusher extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"push\") {\n return;\n }\n const container = this.container;\n const options = container.actualOptions;\n const pushNb = options.interactivity.modes.push.quantity;\n if (pushNb <= 0) {\n return;\n }\n const pushOptions = options.interactivity.modes.push;\n const group = itemFromArray([undefined, ...pushOptions.groups]);\n const groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;\n container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);\n };\n }\n isEnabled() {\n return true;\n }\n reset() {\n }\n async interact() {\n }\n}\n","import { Pusher } from \"./Pusher\";\nexport async function loadExternalPushInteraction(engine) {\n await engine.addInteractor(\"externalPush\", (container) => new Pusher(container));\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nexport class Remover extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"remove\") {\n return;\n }\n const container = this.container;\n const options = container.actualOptions;\n const removeNb = options.interactivity.modes.remove.quantity;\n container.particles.removeQuantity(removeNb);\n };\n }\n isEnabled() {\n return true;\n }\n reset() {\n }\n async interact() {\n }\n}\n","import { Remover } from \"./Remover\";\nexport function loadExternalRemoveInteraction(engine) {\n engine.addInteractor(\"externalRemove\", (container) => new Remover(container));\n}\n","import { Circle, ExternalInteractorBase, Rectangle, Vector, calcEasing, clamp, divMode, divModeExecute, getDistances, isDivModeEnabled, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nexport class Repulser extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = this.container.actualOptions;\n if (mode !== \"repulse\") {\n return;\n }\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n container.repulse.clicking = true;\n container.repulse.count = 0;\n for (const particle of container.repulse.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.repulse.particles = [];\n container.repulse.finish = false;\n setTimeout(() => {\n if (!container.destroyed) {\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n container.repulse.clicking = false;\n }\n }, options.interactivity.modes.repulse.duration * 1000);\n };\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv, divRepulse = isDivModeEnabled(\"repulse\", divs);\n if (!(divRepulse || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))) {\n return false;\n }\n const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;\n return isInArray(\"repulse\", hoverMode) || isInArray(\"repulse\", clickMode) || divRepulse;\n }\n reset() {\n }\n async interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"repulse\", hoverMode)) {\n this.hoverRepulse();\n }\n else if (clickEnabled && isInArray(\"repulse\", clickMode)) {\n this.clickRepulse();\n }\n else {\n divModeExecute(\"repulse\", divs, (selector, div) => this.singleSelectorRepulse(selector, div));\n }\n }\n singleSelectorRepulse(selector, div) {\n const container = this.container, query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, repulseRadius = (elem.offsetWidth / 2) * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, repulseRadius)\n : new Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio), divs = container.actualOptions.interactivity.modes.repulse.divs, divRepulse = divMode(divs, elem);\n this.processRepulse(pos, repulseRadius, area, divRepulse);\n });\n }\n hoverRepulse() {\n const container = this.container, mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const repulseRadius = container.retina.repulseModeDistance;\n this.processRepulse(mousePos, repulseRadius, new Circle(mousePos.x, mousePos.y, repulseRadius));\n }\n processRepulse(position, repulseRadius, area, divRepulse) {\n var _a;\n const container = this.container, query = container.particles.quadTree.query(area), repulseOptions = container.actualOptions.interactivity.modes.repulse;\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(particle.position, position), velocity = ((_a = divRepulse === null || divRepulse === void 0 ? void 0 : divRepulse.speed) !== null && _a !== void 0 ? _a : repulseOptions.speed) * repulseOptions.factor, repulseFactor = clamp(calcEasing(1 - distance / repulseRadius, repulseOptions.easing) * velocity, 0, repulseOptions.maxSpeed), normVec = Vector.create(distance === 0 ? velocity : (dx / distance) * repulseFactor, distance === 0 ? velocity : (dy / distance) * repulseFactor);\n particle.position.addTo(normVec);\n }\n }\n clickRepulse() {\n const container = this.container;\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n if (!container.repulse.finish) {\n if (!container.repulse.count) {\n container.repulse.count = 0;\n }\n container.repulse.count++;\n if (container.repulse.count === container.particles.count) {\n container.repulse.finish = true;\n }\n }\n if (container.repulse.clicking) {\n const repulseDistance = container.retina.repulseModeDistance, repulseRadius = Math.pow(repulseDistance / 6, 3), mouseClickPos = container.interactivity.mouse.clickPosition;\n if (mouseClickPos === undefined) {\n return;\n }\n const range = new Circle(mouseClickPos.x, mouseClickPos.y, repulseRadius), query = container.particles.quadTree.query(range);\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(mouseClickPos, particle.position), d = distance ** 2, velocity = container.actualOptions.interactivity.modes.repulse.speed, force = (-repulseRadius * velocity) / d;\n if (d <= repulseRadius) {\n container.repulse.particles.push(particle);\n const vect = Vector.create(dx, dy);\n vect.length = force;\n particle.velocity.setTo(vect);\n }\n }\n }\n else if (container.repulse.clicking === false) {\n for (const particle of container.repulse.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.repulse.particles = [];\n }\n }\n}\n","import { Repulser } from \"./Repulser\";\nexport async function loadExternalRepulseInteraction(engine) {\n await engine.addInteractor(\"externalRepulse\", (container) => new Repulser(container));\n}\n","import { getStyleFromHsl } from \"tsparticles-engine\";\nconst currentColorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\nfunction replaceColorSvg(imageShape, color, opacity) {\n const { svgData } = imageShape;\n if (!svgData) {\n return \"\";\n }\n const colorStyle = getStyleFromHsl(color, opacity);\n if (svgData.includes(\"fill\")) {\n return svgData.replace(currentColorRegex, () => colorStyle);\n }\n const preFillIndex = svgData.indexOf(\">\");\n return `${svgData.substring(0, preFillIndex)} fill=\"${colorStyle}\"${svgData.substring(preFillIndex)}`;\n}\nexport async function loadImage(image) {\n return new Promise((resolve) => {\n image.loading = true;\n const img = new Image();\n img.addEventListener(\"load\", () => {\n image.element = img;\n image.loading = false;\n resolve();\n });\n img.addEventListener(\"error\", () => {\n image.error = true;\n image.loading = false;\n console.error(`Error tsParticles - loading image: ${image.source}`);\n resolve();\n });\n img.src = image.source;\n });\n}\nexport async function downloadSvgImage(image) {\n if (image.type !== \"svg\") {\n await loadImage(image);\n return;\n }\n image.loading = true;\n const response = await fetch(image.source);\n image.loading = false;\n if (!response.ok) {\n console.error(\"Error tsParticles - Image not found\");\n image.error = true;\n }\n if (!image.error) {\n image.svgData = await response.text();\n }\n}\nexport function replaceImageColor(image, imageData, color, particle) {\n var _a, _b, _c;\n const svgColoredData = replaceColorSvg(image, color, (_b = (_a = particle.opacity) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1);\n const svg = new Blob([svgColoredData], { type: \"image/svg+xml\" });\n const domUrl = URL || window.URL || window.webkitURL || window;\n const url = domUrl.createObjectURL(svg);\n const img = new Image();\n const imageRes = {\n data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),\n ratio: imageData.width / imageData.height,\n replaceColor: (_c = imageData.replaceColor) !== null && _c !== void 0 ? _c : imageData.replace_color,\n source: imageData.src,\n };\n img.addEventListener(\"load\", () => {\n const pImage = particle.image;\n if (pImage) {\n pImage.loaded = true;\n image.element = img;\n }\n domUrl.revokeObjectURL(url);\n });\n img.addEventListener(\"error\", () => {\n domUrl.revokeObjectURL(url);\n const img2 = Object.assign(Object.assign({}, image), { error: false, loading: true });\n loadImage(img2).then(() => {\n const pImage = particle.image;\n if (pImage) {\n image.element = img2.element;\n pImage.loaded = true;\n }\n });\n });\n img.src = url;\n return imageRes;\n}\n","var __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};\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};\nvar _ImageDrawer_images;\nimport { downloadSvgImage, loadImage, replaceImageColor } from \"./Utils\";\nexport class ImageDrawer {\n constructor() {\n _ImageDrawer_images.set(this, void 0);\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\n }\n getSidesCount() {\n return 12;\n }\n getImages(container) {\n const containerImages = __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").find((t) => t.id === container.id);\n if (!containerImages) {\n __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").push({\n id: container.id,\n images: [],\n });\n return this.getImages(container);\n }\n else {\n return containerImages;\n }\n }\n addImage(container, image) {\n const containerImages = this.getImages(container);\n containerImages === null || containerImages === void 0 ? void 0 : containerImages.images.push(image);\n }\n destroy() {\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\n }\n draw(context, particle, radius, opacity) {\n var _a, _b;\n const image = particle.image;\n const element = (_a = image === null || image === void 0 ? void 0 : image.data) === null || _a === void 0 ? void 0 : _a.element;\n if (!element) {\n return;\n }\n const ratio = (_b = image === null || image === void 0 ? void 0 : image.ratio) !== null && _b !== void 0 ? _b : 1;\n const pos = {\n x: -radius,\n y: -radius,\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 context.drawImage(element, pos.x, pos.y, radius * 2, (radius * 2) / ratio);\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 loadShape(particle) {\n var _a, _b, _c;\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const images = this.getImages(particle.container).images;\n const imageData = particle.shapeData;\n const image = images.find((t) => t.source === imageData.src);\n let imageRes;\n if (!image) {\n this.loadImageShape(particle.container, imageData).then(() => {\n this.loadShape(particle);\n });\n return;\n }\n if (image.error) {\n return;\n }\n const color = particle.getFillColor();\n if (image.svgData && imageData.replaceColor && color) {\n imageRes = replaceImageColor(image, imageData, color, particle);\n }\n else {\n imageRes = {\n data: image,\n loaded: true,\n ratio: imageData.width / imageData.height,\n replaceColor: (_a = imageData.replaceColor) !== null && _a !== void 0 ? _a : imageData.replace_color,\n source: imageData.src,\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const fill = (_b = imageData.fill) !== null && _b !== void 0 ? _b : particle.fill;\n const close = (_c = imageData.close) !== null && _c !== void 0 ? _c : particle.close;\n const imageShape = {\n image: imageRes,\n fill,\n close,\n };\n particle.image = imageShape.image;\n particle.fill = imageShape.fill;\n particle.close = imageShape.close;\n }\n async loadImageShape(container, imageShape) {\n const source = imageShape.src;\n if (!source) {\n throw new Error(\"Error tsParticles - No image.src\");\n }\n try {\n const image = {\n source: source,\n type: source.substr(source.length - 3),\n error: false,\n loading: true,\n };\n this.addImage(container, image);\n const imageFunc = imageShape.replaceColor ? downloadSvgImage : loadImage;\n await imageFunc(image);\n }\n catch (_a) {\n throw new Error(`tsParticles error - ${imageShape.src} not found`);\n }\n }\n}\n_ImageDrawer_images = new WeakMap();\n","import { ImageDrawer } from \"./ImageDrawer\";\nexport async function loadImageShape(engine) {\n const imageDrawer = new ImageDrawer();\n await engine.addShape(\"image\", imageDrawer);\n await engine.addShape(\"images\", imageDrawer);\n}\n","import { getRangeValue, randomInRange, setRangeValue } from \"tsparticles-engine\";\nexport class LifeUpdater {\n constructor(container) {\n this.container = container;\n }\n init() {\n }\n isEnabled(particle) {\n return !particle.destroyed;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n const life = particle.life;\n let justSpawned = false;\n if (particle.spawning) {\n life.delayTime += delta.value;\n if (life.delayTime >= particle.life.delay) {\n justSpawned = true;\n particle.spawning = false;\n life.delayTime = 0;\n life.time = 0;\n }\n else {\n return;\n }\n }\n if (life.duration === -1) {\n return;\n }\n if (particle.spawning) {\n return;\n }\n if (justSpawned) {\n life.time = 0;\n }\n else {\n life.time += delta.value;\n }\n if (life.time < life.duration) {\n return;\n }\n life.time = 0;\n if (particle.life.count > 0) {\n particle.life.count--;\n }\n if (particle.life.count === 0) {\n particle.destroy();\n return;\n }\n const canvasSize = this.container.canvas.size, widthRange = setRangeValue(0, canvasSize.width), heightRange = setRangeValue(0, canvasSize.width);\n particle.position.x = randomInRange(widthRange);\n particle.position.y = randomInRange(heightRange);\n particle.spawning = true;\n life.delayTime = 0;\n life.time = 0;\n particle.reset();\n const lifeOptions = particle.options.life;\n life.delay = getRangeValue(lifeOptions.delay.value) * 1000;\n life.duration = getRangeValue(lifeOptions.duration.value) * 1000;\n }\n}\n","import { LifeUpdater } from \"./LifeUpdater\";\nexport async function loadLifeUpdater(engine) {\n await engine.addParticleUpdater(\"life\", (container) => new LifeUpdater(container));\n}\n","export class LineDrawer {\n getSidesCount() {\n return 1;\n }\n draw(context, particle, radius) {\n context.moveTo(-radius / 2, 0);\n context.lineTo(radius / 2, 0);\n }\n}\n","import { LineDrawer } from \"./LineDrawer\";\nexport async function loadLineShape(engine) {\n await engine.addShape(\"line\", new LineDrawer());\n}\n","import { clamp, getRangeMax, getRangeMin, getRangeValue, randomInRange, } from \"tsparticles-engine\";\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.opacity.animation.destroy) {\n case \"max\":\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case \"min\":\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateOpacity(particle, delta) {\n var _a, _b, _c, _d, _e;\n if (!particle.opacity) {\n return;\n }\n const minValue = particle.opacity.min;\n const maxValue = particle.opacity.max;\n if (particle.destroyed ||\n !particle.opacity.enable ||\n (((_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 switch (particle.opacity.status) {\n case 0:\n if (particle.opacity.value >= maxValue) {\n particle.opacity.status = 1;\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n particle.opacity.loops++;\n }\n else {\n particle.opacity.value += ((_d = particle.opacity.velocity) !== null && _d !== void 0 ? _d : 0) * delta.factor;\n }\n break;\n case 1:\n if (particle.opacity.value <= minValue) {\n particle.opacity.status = 0;\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n particle.opacity.loops++;\n }\n else {\n particle.opacity.value -= ((_e = particle.opacity.velocity) !== null && _e !== void 0 ? _e : 0) * delta.factor;\n }\n break;\n }\n checkDestroy(particle, particle.opacity.value, minValue, maxValue);\n if (!particle.destroyed) {\n particle.opacity.value = clamp(particle.opacity.value, minValue, maxValue);\n }\n}\nexport class OpacityUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const opacityOptions = particle.options.opacity;\n particle.opacity = {\n enable: opacityOptions.animation.enable,\n max: getRangeMax(opacityOptions.value),\n min: getRangeMin(opacityOptions.value),\n value: getRangeValue(opacityOptions.value),\n loops: 0,\n maxLoops: getRangeValue(opacityOptions.animation.count),\n };\n const opacityAnimation = opacityOptions.animation;\n if (opacityAnimation.enable) {\n particle.opacity.status = 0;\n const opacityRange = opacityOptions.value;\n particle.opacity.min = getRangeMin(opacityRange);\n particle.opacity.max = getRangeMax(opacityRange);\n switch (opacityAnimation.startValue) {\n case \"min\":\n particle.opacity.value = particle.opacity.min;\n particle.opacity.status = 0;\n break;\n case \"random\":\n particle.opacity.value = randomInRange(particle.opacity);\n particle.opacity.status =\n Math.random() >= 0.5 ? 0 : 1;\n break;\n case \"max\":\n default:\n particle.opacity.value = particle.opacity.max;\n particle.opacity.status = 1;\n break;\n }\n particle.opacity.velocity =\n (getRangeValue(opacityAnimation.speed) / 100) * this.container.retina.reduceFactor;\n if (!opacityAnimation.sync) {\n particle.opacity.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!particle.opacity &&\n particle.opacity.enable &&\n (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 ||\n (((_b = particle.opacity.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 &&\n ((_c = particle.opacity.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.opacity.maxLoops) !== null && _d !== void 0 ? _d : 0))));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateOpacity(particle, delta);\n }\n}\n","import { OpacityUpdater } from \"./OpacityUpdater\";\nexport async function loadOpacityUpdater(engine) {\n await engine.addParticleUpdater(\"opacity\", (container) => new OpacityUpdater(container));\n}\n","import { calculateBounds } from \"tsparticles-engine\";\nimport { bounceHorizontal, bounceVertical } from \"./Utils\";\nexport class BounceOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\n \"bounce\",\n \"bounce-vertical\",\n \"bounce-horizontal\",\n \"bounceVertical\",\n \"bounceHorizontal\",\n \"split\",\n ];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n let handled = false;\n for (const [, plugin] of container.plugins) {\n if (plugin.particleBounce !== undefined) {\n handled = plugin.particleBounce(particle, delta, direction);\n }\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n const pos = particle.getPosition(), offset = particle.offset, size = particle.getRadius(), bounds = calculateBounds(pos, size), canvasSize = container.canvas.size;\n bounceHorizontal({ particle, outMode, direction, bounds, canvasSize, offset, size });\n bounceVertical({ particle, outMode, direction, bounds, canvasSize, offset, size });\n }\n}\n","import { getValue } from \"tsparticles-engine\";\nexport function bounceHorizontal(data) {\n if (!(data.outMode === \"bounce\" ||\n data.outMode === \"bounce-horizontal\" ||\n data.outMode === \"bounceHorizontal\" ||\n data.outMode === \"split\")) {\n return;\n }\n const velocity = data.particle.velocity.x;\n let bounced = false;\n if ((data.direction === \"right\" && data.bounds.right >= data.canvasSize.width && velocity > 0) ||\n (data.direction === \"left\" && data.bounds.left <= 0 && velocity < 0)) {\n const newVelocity = getValue(data.particle.options.bounce.horizontal);\n data.particle.velocity.x *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.x + data.size;\n if (data.bounds.right >= data.canvasSize.width) {\n data.particle.position.x = data.canvasSize.width - minPos;\n }\n else if (data.bounds.left <= 0) {\n data.particle.position.x = minPos;\n }\n if (data.outMode === \"split\") {\n data.particle.destroy();\n }\n}\nexport function bounceVertical(data) {\n if (data.outMode === \"bounce\" ||\n data.outMode === \"bounce-vertical\" ||\n data.outMode === \"bounceVertical\" ||\n data.outMode === \"split\") {\n const velocity = data.particle.velocity.y;\n let bounced = false;\n if ((data.direction === \"bottom\" &&\n data.bounds.bottom >= data.canvasSize.height &&\n velocity > 0) ||\n (data.direction === \"top\" && data.bounds.top <= 0 && velocity < 0)) {\n const newVelocity = getValue(data.particle.options.bounce.vertical);\n data.particle.velocity.y *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.y + data.size;\n if (data.bounds.bottom >= data.canvasSize.height) {\n data.particle.position.y = data.canvasSize.height - minPos;\n }\n else if (data.bounds.top <= 0) {\n data.particle.position.y = minPos;\n }\n if (data.outMode === \"split\") {\n data.particle.destroy();\n }\n }\n}\n","import { Vector, getDistances, isPointInside } from \"tsparticles-engine\";\nexport class DestroyOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\"destroy\"];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch (particle.outType) {\n case \"normal\":\n case \"outside\":\n if (isPointInside(particle.position, container.canvas.size, Vector.origin, particle.getRadius(), direction)) {\n return;\n }\n break;\n case \"inside\": {\n const { dx, dy } = getDistances(particle.position, particle.moveCenter);\n const { x: vx, y: vy } = particle.velocity;\n if ((vx < 0 && dx > particle.moveCenter.radius) ||\n (vy < 0 && dy > particle.moveCenter.radius) ||\n (vx >= 0 && dx < -particle.moveCenter.radius) ||\n (vy >= 0 && dy < -particle.moveCenter.radius)) {\n return;\n }\n break;\n }\n }\n container.particles.remove(particle, undefined, true);\n }\n}\n","import { Vector, isPointInside } from \"tsparticles-engine\";\nexport class NoneOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\"none\"];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n if ((particle.options.move.distance.horizontal &&\n (direction === \"left\" || direction === \"right\")) ||\n (particle.options.move.distance.vertical &&\n (direction === \"top\" || direction === \"bottom\"))) {\n return;\n }\n const gravityOptions = particle.options.move.gravity, container = this.container;\n const canvasSize = container.canvas.size;\n const pRadius = particle.getRadius();\n if (!gravityOptions.enable) {\n if ((particle.velocity.y > 0 && particle.position.y <= canvasSize.height + pRadius) ||\n (particle.velocity.y < 0 && particle.position.y >= -pRadius) ||\n (particle.velocity.x > 0 && particle.position.x <= canvasSize.width + pRadius) ||\n (particle.velocity.x < 0 && particle.position.x >= -pRadius)) {\n return;\n }\n if (!isPointInside(particle.position, container.canvas.size, Vector.origin, pRadius, direction)) {\n container.particles.remove(particle);\n }\n }\n else {\n const position = particle.position;\n if ((!gravityOptions.inverse &&\n position.y > canvasSize.height + pRadius &&\n direction === \"bottom\") ||\n (gravityOptions.inverse && position.y < -pRadius && direction === \"top\")) {\n container.particles.remove(particle);\n }\n }\n }\n}\n","import { Vector, calculateBounds, getDistances, isPointInside, randomInRange, } from \"tsparticles-engine\";\nexport class OutOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\"out\"];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch (particle.outType) {\n case \"inside\": {\n const { x: vx, y: vy } = particle.velocity;\n const circVec = Vector.origin;\n circVec.length = particle.moveCenter.radius;\n circVec.angle = particle.velocity.angle + Math.PI;\n circVec.addTo(Vector.create(particle.moveCenter));\n const { dx, dy } = getDistances(particle.position, circVec);\n if ((vx <= 0 && dx >= 0) || (vy <= 0 && dy >= 0) || (vx >= 0 && dx <= 0) || (vy >= 0 && dy <= 0)) {\n return;\n }\n particle.position.x = Math.floor(randomInRange({\n min: 0,\n max: container.canvas.size.width,\n }));\n particle.position.y = Math.floor(randomInRange({\n min: 0,\n max: container.canvas.size.height,\n }));\n const { dx: newDx, dy: newDy } = getDistances(particle.position, particle.moveCenter);\n particle.direction = Math.atan2(-newDy, -newDx);\n particle.velocity.angle = particle.direction;\n break;\n }\n default: {\n if (isPointInside(particle.position, container.canvas.size, Vector.origin, particle.getRadius(), direction)) {\n return;\n }\n switch (particle.outType) {\n case \"outside\": {\n particle.position.x =\n Math.floor(randomInRange({\n min: -particle.moveCenter.radius,\n max: particle.moveCenter.radius,\n })) + particle.moveCenter.x;\n particle.position.y =\n Math.floor(randomInRange({\n min: -particle.moveCenter.radius,\n max: particle.moveCenter.radius,\n })) + particle.moveCenter.y;\n const { dx, dy } = getDistances(particle.position, particle.moveCenter);\n if (particle.moveCenter.radius) {\n particle.direction = Math.atan2(dy, dx);\n particle.velocity.angle = particle.direction;\n }\n break;\n }\n case \"normal\": {\n const wrap = particle.options.move.warp, canvasSize = container.canvas.size, 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 }, sizeValue = particle.getRadius(), nextBounds = calculateBounds(particle.position, sizeValue);\n if (direction === \"right\" &&\n nextBounds.left > canvasSize.width + particle.offset.x) {\n particle.position.x = newPos.left;\n particle.initialPosition.x = particle.position.x;\n if (!wrap) {\n particle.position.y = Math.random() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n else if (direction === \"left\" && nextBounds.right < -particle.offset.x) {\n particle.position.x = newPos.right;\n particle.initialPosition.x = particle.position.x;\n if (!wrap) {\n particle.position.y = Math.random() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n if (direction === \"bottom\" &&\n 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 particle.position.y = newPos.top;\n particle.initialPosition.y = particle.position.y;\n }\n else if (direction === \"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 particle.position.y = newPos.bottom;\n particle.initialPosition.y = particle.position.y;\n }\n break;\n }\n }\n break;\n }\n }\n }\n}\n","import { BounceOutMode } from \"./BounceOutMode\";\nimport { DestroyOutMode } from \"./DestroyOutMode\";\nimport { NoneOutMode } from \"./NoneOutMode\";\nimport { OutOutMode } from \"./OutOutMode\";\nexport class OutOfCanvasUpdater {\n constructor(container) {\n this.container = container;\n this.updaters = [\n new BounceOutMode(container),\n new DestroyOutMode(container),\n new OutOutMode(container),\n new NoneOutMode(container),\n ];\n }\n init() {\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning;\n }\n update(particle, delta) {\n var _a, _b, _c, _d;\n const outModes = particle.options.move.outModes;\n this.updateOutMode(particle, delta, (_a = outModes.bottom) !== null && _a !== void 0 ? _a : outModes.default, \"bottom\");\n this.updateOutMode(particle, delta, (_b = outModes.left) !== null && _b !== void 0 ? _b : outModes.default, \"left\");\n this.updateOutMode(particle, delta, (_c = outModes.right) !== null && _c !== void 0 ? _c : outModes.default, \"right\");\n this.updateOutMode(particle, delta, (_d = outModes.top) !== null && _d !== void 0 ? _d : outModes.default, \"top\");\n }\n updateOutMode(particle, delta, outMode, direction) {\n for (const updater of this.updaters) {\n updater.update(particle, direction, delta, outMode);\n }\n }\n}\n","import { OutOfCanvasUpdater } from \"./OutOfCanvasUpdater\";\nexport async function loadOutModesUpdater(engine) {\n await engine.addParticleUpdater(\"outModes\", (container) => new OutOfCanvasUpdater(container));\n}\n","import { isSsr } from \"tsparticles-engine\";\nexport class ParallaxMover {\n init() {\n }\n isEnabled(particle) {\n return (!isSsr() &&\n !particle.destroyed &&\n particle.container.actualOptions.interactivity.events.onHover.parallax.enable);\n }\n move(particle) {\n const container = particle.container, options = container.actualOptions;\n if (isSsr() || !options.interactivity.events.onHover.parallax.enable) {\n return;\n }\n const parallaxForce = options.interactivity.events.onHover.parallax.force, mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const canvasCenter = {\n x: container.canvas.size.width / 2,\n y: container.canvas.size.height / 2,\n }, parallaxSmooth = options.interactivity.events.onHover.parallax.smooth, factor = particle.getRadius() / parallaxForce, centerDistance = {\n x: (mousePos.x - canvasCenter.x) * factor,\n y: (mousePos.y - canvasCenter.y) * factor,\n };\n particle.offset.x += (centerDistance.x - particle.offset.x) / parallaxSmooth;\n particle.offset.y += (centerDistance.y - particle.offset.y) / parallaxSmooth;\n }\n}\n","import { ParallaxMover } from \"./ParallaxMover\";\nexport async function loadParallaxMover(engine) {\n engine.addMover(\"parallax\", () => new ParallaxMover());\n}\n","import { ParticlesInteractorBase, getDistances } from \"tsparticles-engine\";\nexport class Attractor extends ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n async interact(p1) {\n var _a;\n const container = this.container, distance = (_a = p1.retina.attractDistance) !== null && _a !== void 0 ? _a : container.retina.attractDistance, pos1 = p1.getPosition(), query = container.particles.quadTree.queryCircle(pos1, distance);\n for (const p2 of query) {\n if (p1 === p2 || !p2.options.move.attract.enable || p2.destroyed || p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition(), { dx, dy } = getDistances(pos1, pos2), rotate = p1.options.move.attract.rotate, ax = dx / (rotate.x * 1000), ay = dy / (rotate.y * 1000), p1Factor = p2.size.value / p1.size.value, p2Factor = 1 / p1Factor;\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 }\n isEnabled(particle) {\n return particle.options.move.attract.enable;\n }\n reset() {\n }\n}\n","import { Attractor } from \"./Attractor\";\nexport async function loadParticlesAttractInteraction(engine) {\n await engine.addInteractor(\"particlesAttract\", (container) => new Attractor(container));\n}\n","import { circleBounce, circleBounceDataFromParticle } from \"tsparticles-engine\";\nexport function bounce(p1, p2) {\n circleBounce(circleBounceDataFromParticle(p1), circleBounceDataFromParticle(p2));\n}\n","import { absorb } from \"./Absorb\";\nimport { bounce } from \"./Bounce\";\nimport { destroy } from \"./Destroy\";\nexport function resolveCollision(p1, p2, fps, pixelRatio) {\n switch (p1.options.collisions.mode) {\n case \"absorb\": {\n absorb(p1, p2, fps, pixelRatio);\n break;\n }\n case \"bounce\": {\n bounce(p1, p2);\n break;\n }\n case \"destroy\": {\n destroy(p1, p2);\n break;\n }\n }\n}\n","import { clamp } from \"tsparticles-engine\";\nexport function absorb(p1, p2, fps, pixelRatio) {\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n if (p1.getRadius() >= p2.getRadius()) {\n const factor = clamp(p1.getRadius() / p2.getRadius(), 0, p2.getRadius()) * fps;\n p1.size.value += factor;\n p2.size.value -= factor;\n if (p2.getRadius() <= pixelRatio) {\n p2.size.value = 0;\n p2.destroy();\n }\n }\n else {\n const factor = clamp(p2.getRadius() / p1.getRadius(), 0, p1.getRadius()) * fps;\n p1.size.value -= factor;\n p2.size.value += factor;\n if (p1.getRadius() <= pixelRatio) {\n p1.size.value = 0;\n p1.destroy();\n }\n }\n }\n}\n","import { bounce } from \"./Bounce\";\nexport function destroy(p1, p2) {\n if (!p1.unbreakable && !p2.unbreakable) {\n bounce(p1, p2);\n }\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n if (p1.getRadius() >= p2.getRadius()) {\n p2.destroy();\n }\n else {\n p1.destroy();\n }\n }\n}\n","import { ParticlesInteractorBase, getDistance } from \"tsparticles-engine\";\nimport { resolveCollision } from \"./ResolveCollision\";\nexport class Collider extends ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled(particle) {\n return particle.options.collisions.enable;\n }\n reset() {\n }\n async interact(p1) {\n const container = this.container, pos1 = p1.getPosition(), radius1 = p1.getRadius(), query = container.particles.quadTree.queryCircle(pos1, radius1 * 2);\n for (const p2 of query) {\n if (p1 === p2 ||\n !p2.options.collisions.enable ||\n p1.options.collisions.mode !== p2.options.collisions.mode ||\n p2.destroyed ||\n p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition();\n const radius2 = p2.getRadius();\n if (Math.abs(Math.round(pos1.z) - Math.round(pos2.z)) > radius1 + radius2) {\n continue;\n }\n const dist = getDistance(pos1, pos2);\n const distP = radius1 + radius2;\n if (dist > distP) {\n continue;\n }\n resolveCollision(p1, p2, container.fpsLimit / 1000, container.retina.pixelRatio);\n }\n }\n}\n","import { Collider } from \"./Collider\";\nexport async function loadParticlesCollisionsInteraction(engine) {\n await engine.addInteractor(\"particlesCollisions\", (container) => new Collider(container));\n}\n","import { Circle, CircleWarp, ParticlesInteractorBase, getDistance, getLinkRandomColor } from \"tsparticles-engine\";\nfunction getLinkDistance(pos1, pos2, optDistance, canvasSize, warp) {\n let distance = getDistance(pos1, pos2);\n if (!warp || distance <= optDistance) {\n return distance;\n }\n const pos2NE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y,\n };\n distance = getDistance(pos1, pos2NE);\n if (distance <= optDistance) {\n return distance;\n }\n const pos2SE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y - canvasSize.height,\n };\n distance = getDistance(pos1, pos2SE);\n if (distance <= optDistance) {\n return distance;\n }\n const pos2SW = {\n x: pos2.x,\n y: pos2.y - canvasSize.height,\n };\n distance = getDistance(pos1, pos2SW);\n return distance;\n}\nexport class Linker extends ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled(particle) {\n return particle.options.links.enable;\n }\n reset() {\n }\n async interact(p1) {\n var _a;\n p1.links = [];\n const pos1 = p1.getPosition(), container = this.container, canvasSize = container.canvas.size;\n if (pos1.x < 0 || pos1.y < 0 || pos1.x > canvasSize.width || pos1.y > canvasSize.height) {\n return;\n }\n const linkOpt1 = p1.options.links, optOpacity = linkOpt1.opacity, optDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : container.retina.linksDistance, warp = linkOpt1.warp, range = warp\n ? new CircleWarp(pos1.x, pos1.y, optDistance, canvasSize)\n : new Circle(pos1.x, pos1.y, optDistance), query = container.particles.quadTree.query(range);\n for (const p2 of query) {\n const linkOpt2 = p2.options.links;\n if (p1 === p2 ||\n !linkOpt2.enable ||\n linkOpt1.id !== linkOpt2.id ||\n p2.spawning ||\n p2.destroyed ||\n p1.links.map((t) => t.destination).indexOf(p2) !== -1 ||\n p2.links.map((t) => t.destination).indexOf(p1) !== -1) {\n continue;\n }\n const pos2 = p2.getPosition();\n if (pos2.x < 0 || pos2.y < 0 || pos2.x > canvasSize.width || pos2.y > canvasSize.height) {\n continue;\n }\n const distance = getLinkDistance(pos1, pos2, optDistance, canvasSize, warp && linkOpt2.warp);\n if (distance > optDistance) {\n return;\n }\n const opacityLine = (1 - distance / optDistance) * optOpacity;\n this.setColor(p1);\n p1.links.push({\n destination: p2,\n opacity: opacityLine,\n });\n }\n }\n setColor(p1) {\n const container = this.container, linksOptions = p1.options.links;\n let linkColor = linksOptions.id === undefined\n ? container.particles.linksColor\n : container.particles.linksColors.get(linksOptions.id);\n if (!linkColor) {\n const optColor = linksOptions.color;\n linkColor = getLinkRandomColor(optColor, linksOptions.blink, linksOptions.consent);\n if (linksOptions.id === undefined) {\n container.particles.linksColor = linkColor;\n }\n else {\n container.particles.linksColors.set(linksOptions.id, linkColor);\n }\n }\n }\n}\n","import { Linker } from \"./Linker\";\nexport async function loadInteraction(engine) {\n await engine.addInteractor(\"particlesLinks\", (container) => new Linker(container));\n}\n","import { colorToRgb, getDistance, getLinkColor, getRangeValue } from \"tsparticles-engine\";\nimport { drawLinkLine, drawLinkTriangle } from \"./Utils\";\nexport class LinkInstance {\n constructor(container) {\n this.container = container;\n }\n particleCreated(particle) {\n const linkParticle = particle;\n linkParticle.links = [];\n }\n particleDestroyed(particle) {\n const linkParticle = particle;\n linkParticle.links = [];\n }\n drawParticle(context, particle) {\n const linkParticle = particle, container = this.container, particles = container.particles, pOptions = particle.options;\n if (linkParticle.links.length <= 0) {\n return;\n }\n context.save();\n const p1Links = linkParticle.links.filter((l) => {\n const linkFreq = container.particles.getLinkFrequency(linkParticle, l.destination);\n return linkFreq <= pOptions.links.frequency;\n });\n for (const link of p1Links) {\n const p2 = link.destination;\n if (pOptions.links.triangles.enable) {\n const links = p1Links.map((l) => l.destination), vertices = p2.links.filter((t) => {\n const linkFreq = container.particles.getLinkFrequency(p2, t.destination);\n return linkFreq <= p2.options.links.frequency && links.indexOf(t.destination) >= 0;\n });\n if (vertices.length) {\n for (const vertex of vertices) {\n const p3 = vertex.destination, triangleFreq = particles.getTriangleFrequency(linkParticle, p2, p3);\n if (triangleFreq > pOptions.links.triangles.frequency) {\n continue;\n }\n this.drawLinkTriangle(linkParticle, link, vertex);\n }\n }\n }\n if (link.opacity > 0 && container.retina.linksWidth > 0) {\n this.drawLinkLine(linkParticle, link);\n }\n }\n context.restore();\n }\n drawLinkTriangle(p1, link1, link2) {\n var _a;\n const container = this.container, options = container.actualOptions, p2 = link1.destination, p3 = link2.destination, triangleOptions = p1.options.links.triangles, opacityTriangle = (_a = triangleOptions.opacity) !== null && _a !== void 0 ? _a : (link1.opacity + link2.opacity) / 2;\n if (opacityTriangle <= 0) {\n return;\n }\n container.canvas.draw((ctx) => {\n const pos1 = p1.getPosition();\n const pos2 = p2.getPosition();\n const pos3 = p3.getPosition();\n if (getDistance(pos1, pos2) > container.retina.linksDistance ||\n getDistance(pos3, pos2) > container.retina.linksDistance ||\n getDistance(pos3, pos1) > container.retina.linksDistance) {\n return;\n }\n let colorTriangle = colorToRgb(triangleOptions.color);\n if (!colorTriangle) {\n const linksOptions = p1.options.links, linkColor = linksOptions.id !== undefined\n ? container.particles.linksColors.get(linksOptions.id)\n : container.particles.linksColor;\n colorTriangle = getLinkColor(p1, p2, linkColor);\n }\n if (!colorTriangle) {\n return;\n }\n drawLinkTriangle(ctx, pos1, pos2, pos3, options.backgroundMask.enable, options.backgroundMask.composite, colorTriangle, opacityTriangle);\n });\n }\n drawLinkLine(p1, link) {\n const container = this.container, options = container.actualOptions, p2 = link.destination, pos1 = p1.getPosition(), pos2 = p2.getPosition();\n let opacity = link.opacity;\n container.canvas.draw((ctx) => {\n var _a, _b;\n let colorLine;\n const twinkle = p1.options.twinkle.lines;\n if (twinkle.enable) {\n const twinkleFreq = twinkle.frequency, twinkleRgb = colorToRgb(twinkle.color), twinkling = Math.random() < twinkleFreq;\n if (twinkling && twinkleRgb) {\n colorLine = twinkleRgb;\n opacity = getRangeValue(twinkle.opacity);\n }\n }\n if (!colorLine) {\n const linksOptions = p1.options.links, linkColor = linksOptions.id !== undefined\n ? container.particles.linksColors.get(linksOptions.id)\n : container.particles.linksColor;\n colorLine = getLinkColor(p1, p2, linkColor);\n }\n if (!colorLine) {\n return;\n }\n const width = (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, maxDistance = (_b = p1.retina.linksDistance) !== null && _b !== void 0 ? _b : container.retina.linksDistance;\n 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","import { colorToRgb, drawLine, drawTriangle, getDistance, getDistances, getStyleFromRgb, } from \"tsparticles-engine\";\nexport function drawLinkLine(context, width, begin, end, maxDistance, canvasSize, warp, backgroundMask, composite, colorLine, opacity, shadow) {\n let drawn = false;\n if (getDistance(begin, end) <= maxDistance) {\n drawLine(context, begin, end);\n drawn = true;\n }\n else if (warp) {\n let pi1;\n let pi2;\n const endNE = {\n x: end.x - canvasSize.width,\n y: end.y,\n };\n const d1 = getDistances(begin, endNE);\n if (d1.distance <= maxDistance) {\n const yi = begin.y - (d1.dy / d1.dx) * begin.x;\n pi1 = { x: 0, y: yi };\n pi2 = { x: canvasSize.width, y: yi };\n }\n else {\n const endSW = {\n x: end.x,\n y: end.y - canvasSize.height,\n };\n const d2 = getDistances(begin, endSW);\n if (d2.distance <= maxDistance) {\n const yi = begin.y - (d2.dy / d2.dx) * begin.x;\n const xi = -yi / (d2.dy / d2.dx);\n pi1 = { x: xi, y: 0 };\n pi2 = { x: xi, y: canvasSize.height };\n }\n else {\n const endSE = {\n x: end.x - canvasSize.width,\n y: end.y - canvasSize.height,\n };\n const d3 = getDistances(begin, endSE);\n if (d3.distance <= maxDistance) {\n const yi = begin.y - (d3.dy / d3.dx) * begin.x;\n const xi = -yi / (d3.dy / d3.dx);\n pi1 = { x: xi, y: yi };\n pi2 = { x: pi1.x + canvasSize.width, y: pi1.y + canvasSize.height };\n }\n }\n }\n if (pi1 && pi2) {\n drawLine(context, begin, pi1);\n drawLine(context, end, pi2);\n drawn = true;\n }\n }\n if (!drawn) {\n return;\n }\n context.lineWidth = width;\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n context.strokeStyle = getStyleFromRgb(colorLine, opacity);\n if (shadow.enable) {\n const shadowColor = colorToRgb(shadow.color);\n if (shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = getStyleFromRgb(shadowColor);\n }\n }\n context.stroke();\n}\nexport function drawLinkTriangle(context, pos1, pos2, pos3, backgroundMask, composite, colorTriangle, opacityTriangle) {\n drawTriangle(context, pos1, pos2, pos3);\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n context.fillStyle = getStyleFromRgb(colorTriangle, opacityTriangle);\n context.fill();\n}\n","import { LinkInstance } from \"./LinkInstance\";\nclass LinksPlugin {\n constructor() {\n this.id = \"links\";\n }\n getPlugin(container) {\n return new LinkInstance(container);\n }\n needsPlugin() {\n return true;\n }\n loadOptions() {\n }\n}\nexport async function loadPlugin(engine) {\n const plugin = new LinksPlugin();\n await engine.addPlugin(plugin);\n}\n","import { loadInteraction } from \"./interaction\";\nimport { loadPlugin } from \"./plugin\";\nexport async function loadParticlesLinksInteraction(engine) {\n await loadInteraction(engine);\n await loadPlugin(engine);\n}\n","export class PolygonDrawerBase {\n getSidesCount(particle) {\n var _a, _b;\n const 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 draw(context, particle, radius) {\n const start = this.getCenter(particle, radius);\n const side = this.getSidesData(particle, radius);\n const sideCount = side.count.numerator * side.count.denominator;\n const decimalSides = side.count.numerator / side.count.denominator;\n const interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides;\n const interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180;\n if (!context) {\n return;\n }\n context.beginPath();\n context.translate(start.x, start.y);\n context.moveTo(0, 0);\n for (let 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","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class PolygonDrawer extends PolygonDrawerBase {\n getSidesData(particle, radius) {\n var _a, _b;\n const polygon = particle.shapeData;\n const 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 getCenter(particle, radius) {\n const sides = this.getSidesCount(particle);\n return {\n x: -radius / (sides / 3.5),\n y: -radius / (2.66 / 3.5),\n };\n }\n}\n","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class TriangleDrawer extends PolygonDrawerBase {\n getSidesCount() {\n return 3;\n }\n getSidesData(particle, radius) {\n return {\n count: {\n denominator: 2,\n numerator: 3,\n },\n length: radius * 2,\n };\n }\n getCenter(particle, radius) {\n return {\n x: -radius,\n y: radius / 1.66,\n };\n }\n}\n","import { PolygonDrawer } from \"./PolygonDrawer\";\nimport { TriangleDrawer } from \"./TriangleDrawer\";\nexport async function loadGenericPolygonShape(engine) {\n await engine.addShape(\"polygon\", new PolygonDrawer());\n}\nexport async function loadTriangleShape(engine) {\n await engine.addShape(\"triangle\", new TriangleDrawer());\n}\nexport async function loadPolygonShape(engine) {\n await loadGenericPolygonShape(engine);\n await loadTriangleShape(engine);\n}\n","import { clamp } from \"tsparticles-engine\";\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.size.animation.destroy) {\n case \"max\":\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case \"min\":\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateSize(particle, delta) {\n var _a, _b, _c, _d;\n const sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const minValue = particle.size.min;\n const maxValue = particle.size.max;\n if (particle.destroyed ||\n !particle.size.enable ||\n (((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) > ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0))) {\n return;\n }\n switch (particle.size.status) {\n case 0:\n if (particle.size.value >= maxValue) {\n particle.size.status = 1;\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n particle.size.loops++;\n }\n else {\n particle.size.value += sizeVelocity;\n }\n break;\n case 1:\n if (particle.size.value <= minValue) {\n particle.size.status = 0;\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n particle.size.loops++;\n }\n else {\n particle.size.value -= sizeVelocity;\n }\n }\n checkDestroy(particle, particle.size.value, minValue, maxValue);\n if (!particle.destroyed) {\n particle.size.value = clamp(particle.size.value, minValue, maxValue);\n }\n}\nexport class SizeUpdater {\n init() {\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n return (!particle.destroyed &&\n !particle.spawning &&\n particle.size.enable &&\n (((_a = particle.size.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 ||\n (((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0))));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateSize(particle, delta);\n }\n}\n","import { SizeUpdater } from \"./SizeUpdater\";\nexport async function loadSizeUpdater(engine) {\n await engine.addParticleUpdater(\"size\", () => new SizeUpdater());\n}\n","const fixFactor = Math.sqrt(2);\nexport class SquareDrawer {\n getSidesCount() {\n return 4;\n }\n draw(context, particle, radius) {\n context.rect(-radius / fixFactor, -radius / fixFactor, (radius * 2) / fixFactor, (radius * 2) / fixFactor);\n }\n}\n","import { SquareDrawer } from \"./SquareDrawer\";\nexport async function loadSquareShape(engine) {\n const drawer = new SquareDrawer();\n await engine.addShape(\"edge\", drawer);\n await engine.addShape(\"square\", drawer);\n}\n","export class StarDrawer {\n getSidesCount(particle) {\n var _a, _b;\n const 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 draw(context, particle, radius) {\n var _a;\n const star = particle.shapeData;\n const sides = this.getSidesCount(particle);\n const inset = (_a = star === null || star === void 0 ? void 0 : star.inset) !== null && _a !== void 0 ? _a : 2;\n context.moveTo(0, 0 - radius);\n for (let 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","import { StarDrawer } from \"./StarDrawer\";\nexport async function loadStarShape(engine) {\n await engine.addShape(\"star\", new StarDrawer());\n}\n","import { colorToHsl, getHslAnimationFromHsl, itemFromArray, randomInRange } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n const colorValue = value;\n if (!colorValue || !colorValue.enable) {\n return;\n }\n const offset = randomInRange(valueAnimation.offset);\n const velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\n if (!decrease || colorValue.status === 0) {\n colorValue.value += velocity;\n if (decrease && colorValue.value > max) {\n colorValue.status = 1;\n colorValue.value -= colorValue.value % max;\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n colorValue.status = 0;\n colorValue.value += colorValue.value;\n }\n }\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\nfunction updateStrokeColor(particle, delta) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!((_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color)) {\n return;\n }\n const animationOptions = particle.stroke.color.animation;\n const 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 if (h) {\n updateColorValue(delta, h, animationOptions.h, 360, false);\n }\n const 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 if (s) {\n updateColorValue(delta, s, animationOptions.s, 100, true);\n }\n const 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 if (l) {\n updateColorValue(delta, l, animationOptions.l, 100, true);\n }\n}\nexport class StrokeColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n var _a, _b;\n const container = this.container;\n particle.stroke =\n particle.options.stroke instanceof Array\n ? itemFromArray(particle.options.stroke, particle.id, particle.options.reduceDuplicates)\n : particle.options.stroke;\n particle.strokeWidth = particle.stroke.width * container.retina.pixelRatio;\n const strokeHslColor = (_a = colorToHsl(particle.stroke.color)) !== null && _a !== void 0 ? _a : particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = getHslAnimationFromHsl(strokeHslColor, (_b = particle.stroke.color) === null || _b === void 0 ? void 0 : _b.animation, container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n const color = (_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!color &&\n ((((_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h.value) !== undefined && color.animation.h.enable) ||\n (((_c = particle.strokeColor) === null || _c === void 0 ? void 0 : _c.s.value) !== undefined && color.animation.s.enable) ||\n (((_d = particle.strokeColor) === null || _d === void 0 ? void 0 : _d.l.value) !== undefined && color.animation.l.enable)));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateStrokeColor(particle, delta);\n }\n}\n","import { StrokeColorUpdater } from \"./StrokeColorUpdater\";\nexport async function loadStrokeColorUpdater(engine) {\n await engine.addParticleUpdater(\"strokeColor\", (container) => new StrokeColorUpdater(container));\n}\n","import { isInArray, itemFromArray, loadFont } from \"tsparticles-engine\";\nexport const validTypes = [\"text\", \"character\", \"char\"];\nexport class TextDrawer {\n getSidesCount() {\n return 12;\n }\n async init(container) {\n const options = container.actualOptions;\n if (validTypes.find((t) => isInArray(t, options.particles.shape.type))) {\n const shapeOptions = validTypes\n .map((t) => options.particles.shape.options[t])\n .find((t) => !!t);\n if (shapeOptions instanceof Array) {\n const promises = [];\n for (const character of shapeOptions) {\n const charShape = character;\n promises.push(loadFont(charShape.font, charShape.weight));\n }\n await Promise.allSettled(promises);\n }\n else {\n if (shapeOptions !== undefined) {\n const charShape = shapeOptions;\n await loadFont(charShape.font, charShape.weight);\n }\n }\n }\n }\n draw(context, particle, radius, opacity) {\n var _a, _b, _c;\n const character = particle.shapeData;\n if (character === undefined) {\n return;\n }\n const textData = character.value;\n if (textData === undefined) {\n return;\n }\n const textParticle = particle;\n if (textParticle.text === undefined) {\n textParticle.text =\n textData instanceof Array ? itemFromArray(textData, particle.randomIndexData) : textData;\n }\n const text = textParticle.text;\n const style = (_a = character.style) !== null && _a !== void 0 ? _a : \"\";\n const weight = (_b = character.weight) !== null && _b !== void 0 ? _b : \"400\";\n const size = Math.round(radius) * 2;\n const font = (_c = character.font) !== null && _c !== void 0 ? _c : \"Verdana\";\n const fill = particle.fill;\n const offsetX = (text.length * radius) / 2;\n context.font = `${style} ${weight} ${size}px \"${font}\"`;\n const pos = {\n x: -offsetX,\n y: radius / 2,\n };\n context.globalAlpha = opacity;\n if (fill) {\n context.fillText(text, pos.x, pos.y);\n }\n else {\n context.strokeText(text, pos.x, pos.y);\n }\n context.globalAlpha = 1;\n }\n}\n","import { TextDrawer, validTypes } from \"./TextDrawer\";\nexport async function loadTextShape(engine) {\n const drawer = new TextDrawer();\n for (const type of validTypes) {\n await engine.addShape(type, drawer);\n }\n}\n","import { initPjs } from \"tsparticles-particles.js\";\nimport { loadAngleUpdater } from \"tsparticles-updater-angle\";\nimport { loadBaseMover } from \"tsparticles-move-base\";\nimport { loadCircleShape } from \"tsparticles-shape-circle\";\nimport { loadColorUpdater } from \"tsparticles-updater-color\";\nimport { loadExternalAttractInteraction } from \"tsparticles-interaction-external-attract\";\nimport { loadExternalBounceInteraction } from \"tsparticles-interaction-external-bounce\";\nimport { loadExternalBubbleInteraction } from \"tsparticles-interaction-external-bubble\";\nimport { loadExternalConnectInteraction } from \"tsparticles-interaction-external-connect\";\nimport { loadExternalGrabInteraction } from \"tsparticles-interaction-external-grab\";\nimport { loadExternalPauseInteraction } from \"tsparticles-interaction-external-pause\";\nimport { loadExternalPushInteraction } from \"tsparticles-interaction-external-push\";\nimport { loadExternalRemoveInteraction } from \"tsparticles-interaction-external-remove\";\nimport { loadExternalRepulseInteraction } from \"tsparticles-interaction-external-repulse\";\nimport { loadImageShape } from \"tsparticles-shape-image\";\nimport { loadLifeUpdater } from \"tsparticles-updater-life\";\nimport { loadLineShape } from \"tsparticles-shape-line\";\nimport { loadOpacityUpdater } from \"tsparticles-updater-opacity\";\nimport { loadOutModesUpdater } from \"tsparticles-updater-out-modes\";\nimport { loadParallaxMover } from \"tsparticles-move-parallax\";\nimport { loadParticlesAttractInteraction } from \"tsparticles-interaction-particles-attract\";\nimport { loadParticlesCollisionsInteraction } from \"tsparticles-interaction-particles-collisions\";\nimport { loadParticlesLinksInteraction } from \"tsparticles-interaction-particles-links\";\nimport { loadPolygonShape } from \"tsparticles-shape-polygon\";\nimport { loadSizeUpdater } from \"tsparticles-updater-size\";\nimport { loadSquareShape } from \"tsparticles-shape-square\";\nimport { loadStarShape } from \"tsparticles-shape-star\";\nimport { loadStrokeColorUpdater } from \"tsparticles-updater-stroke-color\";\nimport { loadTextShape } from \"tsparticles-shape-text\";\nexport async function loadSlim(engine) {\n await loadBaseMover(engine);\n await loadParallaxMover(engine);\n await loadExternalAttractInteraction(engine);\n await loadExternalBounceInteraction(engine);\n await loadExternalBubbleInteraction(engine);\n await loadExternalConnectInteraction(engine);\n await loadExternalGrabInteraction(engine);\n await loadExternalPauseInteraction(engine);\n await loadExternalPushInteraction(engine);\n await loadExternalRemoveInteraction(engine);\n await loadExternalRepulseInteraction(engine);\n await loadParticlesAttractInteraction(engine);\n await loadParticlesCollisionsInteraction(engine);\n await loadParticlesLinksInteraction(engine);\n await loadCircleShape(engine);\n await loadImageShape(engine);\n await loadLineShape(engine);\n await loadPolygonShape(engine);\n await loadSquareShape(engine);\n await loadStarShape(engine);\n await loadTextShape(engine);\n await loadLifeUpdater(engine);\n await loadOpacityUpdater(engine);\n await loadSizeUpdater(engine);\n await loadAngleUpdater(engine);\n await loadColorUpdater(engine);\n await loadStrokeColorUpdater(engine);\n await loadOutModesUpdater(engine);\n await initPjs(engine);\n}\n","import { getRangeValue } from \"tsparticles-engine\";\nfunction updateTilt(particle, delta) {\n var _a;\n if (!particle.tilt) {\n return;\n }\n const tilt = particle.options.tilt;\n const tiltAnimation = tilt.animation;\n const speed = ((_a = particle.tilt.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const max = 2 * Math.PI;\n if (!tiltAnimation.enable) {\n return;\n }\n switch (particle.tilt.status) {\n case 0:\n particle.tilt.value += speed;\n if (particle.tilt.value > max) {\n particle.tilt.value -= max;\n }\n break;\n case 1:\n default:\n particle.tilt.value -= speed;\n if (particle.tilt.value < 0) {\n particle.tilt.value += max;\n }\n break;\n }\n}\nexport class TiltUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const tiltOptions = particle.options.tilt;\n particle.tilt = {\n enable: tiltOptions.enable,\n value: (getRangeValue(tiltOptions.value) * Math.PI) / 180,\n sinDirection: Math.random() >= 0.5 ? 1 : -1,\n cosDirection: Math.random() >= 0.5 ? 1 : -1,\n };\n let tiltDirection = tiltOptions.direction;\n if (tiltDirection === \"random\") {\n const index = Math.floor(Math.random() * 2);\n tiltDirection = index > 0 ? \"counter-clockwise\" : \"clockwise\";\n }\n switch (tiltDirection) {\n case \"counter-clockwise\":\n case \"counterClockwise\":\n particle.tilt.status = 1;\n break;\n case \"clockwise\":\n particle.tilt.status = 0;\n break;\n }\n const tiltAnimation = particle.options.tilt.animation;\n if (tiltAnimation.enable) {\n particle.tilt.velocity = (getRangeValue(tiltAnimation.speed) / 360) * this.container.retina.reduceFactor;\n if (!tiltAnimation.sync) {\n particle.tilt.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n const tilt = particle.options.tilt;\n const tiltAnimation = tilt.animation;\n return !particle.destroyed && !particle.spawning && tiltAnimation.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateTilt(particle, delta);\n }\n}\n","import { TiltUpdater } from \"./TiltUpdater\";\nexport async function loadTiltUpdater(engine) {\n await engine.addParticleUpdater(\"tilt\", (container) => new TiltUpdater(container));\n}\n","import { colorToHsl, getRangeValue, getStyleFromHsl } from \"tsparticles-engine\";\nexport class TwinkleUpdater {\n getColorStyles(particle, context, radius, opacity) {\n const pOptions = particle.options, twinkle = pOptions.twinkle.particles, twinkling = twinkle.enable && Math.random() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = colorToHsl(twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;\n res.fill = needsTwinkle ? twinkleStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStyle : undefined;\n return res;\n }\n init() {\n }\n isEnabled(particle) {\n return particle.options.twinkle.particles.enable;\n }\n update() {\n }\n}\n","import { TwinkleUpdater } from \"./TwinkleUpdater\";\nexport async function loadTwinkleUpdater(engine) {\n await engine.addParticleUpdater(\"twinkle\", () => new TwinkleUpdater());\n}\n","import { getRangeValue } from \"tsparticles-engine\";\nfunction updateWobble(particle, delta) {\n var _a;\n const wobble = particle.options.wobble;\n if (!wobble.enable || !particle.wobble) {\n return;\n }\n const speed = particle.wobble.speed * delta.factor;\n const distance = (((_a = particle.retina.wobbleDistance) !== null && _a !== void 0 ? _a : 0) * delta.factor) / (1000 / 60);\n const max = 2 * Math.PI;\n particle.wobble.angle += speed;\n if (particle.wobble.angle > max) {\n particle.wobble.angle -= max;\n }\n particle.position.x += distance * Math.cos(particle.wobble.angle);\n particle.position.y += distance * Math.abs(Math.sin(particle.wobble.angle));\n}\nexport class WobbleUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const wobbleOpt = particle.options.wobble;\n if (wobbleOpt.enable) {\n particle.wobble = {\n angle: Math.random() * Math.PI * 2,\n speed: getRangeValue(wobbleOpt.speed) / 360,\n };\n }\n else {\n particle.wobble = {\n angle: 0,\n speed: 0,\n };\n }\n particle.retina.wobbleDistance = getRangeValue(wobbleOpt.distance) * this.container.retina.pixelRatio;\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.options.wobble.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateWobble(particle, delta);\n }\n}\n","import { WobbleUpdater } from \"./WobbleUpdater\";\nexport async function loadWobbleUpdater(engine) {\n await engine.addParticleUpdater(\"wobble\", (container) => new WobbleUpdater(container));\n}\n","import { loadAbsorbersPlugin } from \"tsparticles-plugin-absorbers\";\nimport { loadEmittersPlugin } from \"tsparticles-plugin-emitters\";\nimport { loadExternalTrailInteraction } from \"tsparticles-interaction-external-trail\";\nimport { loadPolygonMaskPlugin } from \"tsparticles-plugin-polygon-mask\";\nimport { loadRollUpdater } from \"tsparticles-updater-roll\";\nimport { loadSlim } from \"tsparticles-slim\";\nimport { loadTiltUpdater } from \"tsparticles-updater-tilt\";\nimport { loadTwinkleUpdater } from \"tsparticles-updater-twinkle\";\nimport { loadWobbleUpdater } from \"tsparticles-updater-wobble\";\nexport async function loadFull(engine) {\n await loadSlim(engine);\n await loadRollUpdater(engine);\n await loadTiltUpdater(engine);\n await loadTwinkleUpdater(engine);\n await loadWobbleUpdater(engine);\n await loadExternalTrailInteraction(engine);\n await loadAbsorbersPlugin(engine);\n await loadEmittersPlugin(engine);\n await loadPolygonMaskPlugin(engine);\n}\n","import Particles from \"react-tsparticles\";\nimport { loadFull } from \"tsparticles\";\nimport { Link } from \"react-router-dom\";\n\nimport './style.scss'\n\nconst Menu = (props) => {\n const particlesInit = async (main) => {\n console.log(main);\n // you can initialize the tsParticles instance (main) here, adding custom shapes or presets\n // this loads the tsparticles package bundle, it's the easiest method for getting everything ready\n // starting from v2 you can add only the features you need reducing the bundle size\n await loadFull(main);\n };\n\n const particlesLoaded = (container) => {\n console.log(container);\n };\n\n return (\n <>\n \n
\n
\n OUR SOLUTIONS\n
\n
\n \n
\n
\n
\n
\n Manageability\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n Reliability\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n Security\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n Performance\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n Development\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n Connectivity\n
\n
\n
\n
\n \n
\n
\n \n \n )\n};\n\nexport default Menu;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf(' c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nconst Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove\n};\nObject.keys(Methods).forEach(methodName => {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getWindow, getDocument } from 'ssr-window';\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n passiveListener: function checkPassiveListener() {\n let supportsPassive = false;\n\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n }\n\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\nlet deviceCached;\n\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n\n return deviceCached;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nlet browser;\n\nfunction calcBrowser() {\n const window = getWindow();\n\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","export default function _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}","import { getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\n\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n\n const animate = () => {\n time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n\n animate();\n}\n\nexport { animateCSSModeScroll, deleteProps, nextTick, now, getTranslate, isObject, extend, getComputedStyle, setCSSProperty };","/* eslint-disable no-underscore-dangle */\nexport default {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n\n};","import updateSize from './updateSize.js';\nimport updateSlides from './updateSlides.js';\nimport updateAutoHeight from './updateAutoHeight.js';\nimport updateSlidesOffset from './updateSlidesOffset.js';\nimport updateSlidesProgress from './updateSlidesProgress.js';\nimport updateProgress from './updateProgress.js';\nimport updateSlidesClasses from './updateSlidesClasses.js';\nimport updateActiveIndex from './updateActiveIndex.js';\nimport updateClickedSlide from './updateClickedSlide.js';\nexport default {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};","export default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { setCSSProperty } from '../../shared/utils.js';\nexport default function updateSlides() {\n const swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n const params = swiper.params;\n const {\n $wrapperEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n let offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n }); // reset cssMode offsets\n\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n } // Calc slides\n\n\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n\n const slideStyles = getComputedStyle(slide[0]);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide[0];\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n\n if (params.setWrapperSize) {\n $wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css({\n [key]: `${spaceBetween}px`\n });\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(snap => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);\n}","export default function updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","export default function updateProgress(translate) {\n const swiper = this;\n\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n Object.assign(swiper, {\n progress,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n $wrapperEl,\n activeIndex,\n realIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);\n let activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`);\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","export default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid,\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = $(e).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n let slideIndex;\n\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import getTranslate from './getTranslate.js';\nimport setTranslate from './setTranslate.js';\nimport minTranslate from './minTranslate.js';\nimport maxTranslate from './maxTranslate.js';\nimport translateTo from './translateTo.js';\nexport default {\n getTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};","import { getTranslate } from '../../shared/utils.js';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n $wrapperEl\n } = swiper;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n let currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n $wrapperEl,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit(`transition${step}`);\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n\n swiper.emit(`slideChangeTransition${step}`);\n\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}","import slideTo from './slideTo.js';\nimport slideToLoop from './slideToLoop.js';\nimport slideNext from './slideNext.js';\nimport slidePrev from './slidePrev.js';\nimport slideReset from './slideReset.js';\nimport slideToClosest from './slideToClosest.js';\nimport slideToClickedSlide from './slideToClickedSlide.js';\nexport default {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`);\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n const translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n let newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n animating,\n enabled,\n params\n } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n params,\n animating,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n\n let prevIndex = 0;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n const swiper = this;\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\nexport default function slideToClickedSlide() {\n const swiper = this;\n const {\n params,\n $wrapperEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate.js';\nimport loopFix from './loopFix.js';\nimport loopDestroy from './loopDestroy.js';\nexport default {\n loopCreate,\n loopFix,\n loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loopCreate() {\n const swiper = this;\n const document = getDocument();\n const {\n params,\n $wrapperEl\n } = swiper; // Remove duplicated slides\n\n const $selector = $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n let slides = $selector.children(`.${params.slideClass}`);\n\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = $(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);\n $selector.append(blankNode);\n }\n\n slides = $selector.children(`.${params.slideClass}`);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n const prependSlides = [];\n const appendSlides = [];\n slides.each((el, index) => {\n const slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (let i = 0; i < appendSlides.length; i += 1) {\n $selector.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $selector.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n const swiper = this;\n swiper.emit('beforeLoopFix');\n const {\n activeIndex,\n slides,\n loopedSlides,\n allowSlidePrev,\n allowSlideNext,\n snapGrid,\n rtlTranslate: rtl\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n const swiper = this;\n const {\n $wrapperEl,\n params,\n slides\n } = swiper;\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n\n if (!found && !el.getRootNode) {\n return null;\n }\n\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n let preventDefault = true;\n\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../shared/utils.js';\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n } // Find current slide\n\n\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n } // Find current slide size\n\n\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\nlet dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n touchEvents,\n el,\n wrapperEl,\n device,\n support\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method; // Touch Events\n\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture\n } : capture);\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n};\n\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const {\n params,\n support\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n}\n\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\n\nexport default {\n attachEvents,\n detachEvents\n};","import { extend } from '../../shared/utils.js';\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\n\nexport default function setBreakpoint() {\n const swiper = this;\n const {\n activeIndex,\n initialized,\n loopedSlides = 0,\n params,\n $el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(`${params.containerModifierClass}grid`);\n\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n $el.addClass(`${params.containerModifierClass}grid-column`);\n }\n\n swiper.emitContainerClasses();\n }\n\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import setBreakpoint from './setBreakpoint.js';\nimport getBreakpoint from './getBreakpoint.js';\nexport default {\n setBreakpoint,\n getBreakpoint\n};","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import addClasses from './addClasses.js';\nimport removeClasses from './removeClasses.js';\nexport default {\n addClasses,\n removeClasses\n};","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n $el,\n device,\n support\n } = swiper; // prettier-ignore\n\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': !support.touch\n }, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n $el.addClass([...classNames].join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n const swiper = this;\n const {\n $el,\n classNames\n } = swiper;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import loadImage from './loadImage.js';\nimport preloadImages from './preloadImages.js';\nexport default {\n loadImage,\n preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n const window = getWindow();\n let image;\n\n function onReady() {\n if (callback) callback();\n }\n\n const isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","function checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\n\nexport default {\n checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","import { extend } from '../shared/utils.js';\nexport default function moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../shared/dom.js';\nimport { extend, now, deleteProps } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\nimport eventsEmitter from './events-emitter.js';\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport images from './images/index.js';\nimport checkOverflow from './check-overflow/index.js';\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes,\n images\n};\nconst extendedDefaults = {};\n\nclass Swiper {\n constructor() {\n let el;\n let params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n const swipers = [];\n $(params.el).each(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n }); // Extend defaults with modules params\n\n const swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n const desktop = ['pointerdown', 'pointermove', 'pointerup'];\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n }\n\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n }\n\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.each(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n\n if (exact === void 0) {\n exact = false;\n }\n\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n\n return spv;\n }\n\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n let translated;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n }\n\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n const swiper = this;\n const currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n\n mount(el) {\n const swiper = this;\n if (swiper.mounted) return true; // Find el\n\n const $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = options => $el.children(options);\n\n return res;\n }\n\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n let $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n const document = getDocument();\n const wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(`.${swiper.params.slideClass}`).each(slideEl => {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n }\n\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n const swiper = this;\n const {\n params,\n $el,\n $wrapperEl,\n slides\n } = swiper;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n }\n\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n\n static get extendedDefaults() {\n return extendedDefaults;\n }\n\n static get defaults() {\n return defaults;\n }\n\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n }\n\n}\n\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import setTransition from './setTransition.js';\nimport transitionStart from './transitionStart.js';\nimport transitionEnd from './transitionEnd.js';\nexport default {\n setTransition,\n transitionStart,\n transitionEnd\n};","export default function setTransition(duration, byController) {\n const swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}","import setGrabCursor from './setGrabCursor.js';\nimport unsetGrabCursor from './unsetGrabCursor.js';\nexport default {\n setGrabCursor,\n unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n const swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n const swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}","import { getWindow } from 'ssr-window';\nexport default function Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}","import { getWindow } from 'ssr-window';\nexport default function Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n\n const init = () => {\n if (!swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n } // Observe container\n\n\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n };\n\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}","/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function Keyboard(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n\n function handle(event) {\n if (!swiper.enabled) return;\n const {\n rtlTranslate: rtl\n } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40; // Directions locks\n\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n let inView = false; // Check that swiper should be inside of visible area of window\n\n if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) {\n return undefined;\n }\n\n const $el = swiper.$el;\n const swiperWidth = $el[0].clientWidth;\n const swiperHeight = $el[0].clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n if (!inView) return undefined;\n }\n\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n\n emit('keyPress', kc);\n return undefined;\n }\n\n function enable() {\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n\n function disable() {\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable,\n disable\n });\n}","/* eslint-disable consistent-return */\nimport { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now, nextTick } from '../../shared/utils.js';\nexport default function Mousewheel(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null\n }\n });\n swiper.mousewheel = {\n enabled: false\n };\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n\n function normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n let sX = 0;\n let sY = 0; // spinX, spinY\n\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n // Legacy\n\n if ('detail' in e) {\n sY = e.detail;\n }\n\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n } // side scrolling on FF with DOMMouseScroll\n\n\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n } // Fall-back if spin cannot be determined\n\n\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n }\n\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n\n function animateSlider(newEvent) {\n if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n\n if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n } // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n\n\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n } // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n\n\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n } // If you got here is because an animation has been triggered so store the current time\n\n\n lastScrollTime = new window.Date().getTime(); // Return false as a default\n\n return false;\n }\n\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n\n return false;\n }\n\n function handle(event) {\n let e = event;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n const params = swiper.params.mousewheel;\n\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n\n let target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n const data = normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n if (params.invert) delta = -delta; // Get the scroll positions\n\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n }; // Keep the most recent events\n\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n } // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n\n\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;\n\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n\n if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(() => {\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n } // Emit event\n\n\n if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay\n\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions\n\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n }\n\n function events(method) {\n let target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n target[method]('mouseenter', handleMouseEnter);\n target[method]('mouseleave', handleMouseLeave);\n target[method]('wheel', handle);\n }\n\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n\n if (swiper.mousewheel.enabled) return false;\n events('on');\n swiper.mousewheel.enabled = true;\n return true;\n }\n\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n\n if (!swiper.mousewheel.enabled) return false;\n events('off');\n swiper.mousewheel.enabled = false;\n return true;\n }\n\n on('init', () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', () => {\n if (swiper.params.cssMode) {\n enable();\n }\n\n if (swiper.mousewheel.enabled) disable();\n });\n Object.assign(swiper.mousewheel, {\n enable,\n disable\n });\n}","import { getDocument } from 'ssr-window';\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n const document = getDocument();\n\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = swiper.$el.children(`.${checkProps[key]}`)[0];\n\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n\n return params;\n}","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport $ from '../../shared/dom.js';\nexport default function Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n });\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null\n };\n\n function getEl(el) {\n let $el;\n\n if (el) {\n $el = $(el);\n\n if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) {\n $el = swiper.$el.find(el);\n }\n }\n\n return $el;\n }\n\n function toggleEl($el, disabled) {\n const params = swiper.params.navigation;\n\n if ($el && $el.length > 0) {\n $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n }\n\n function update() {\n // Update Navigation Buttons\n if (swiper.params.loop) return;\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n }\n\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n }\n\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n const $nextEl = getEl(params.nextEl);\n const $prevEl = getEl(params.prevEl);\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', onPrevClick);\n }\n\n Object.assign(swiper.navigation, {\n $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n\n on('init', () => {\n init();\n update();\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n });\n on('click', (_s, e) => {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n const targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n });\n Object.assign(swiper.navigation, {\n update,\n init,\n destroy\n });\n}","export default function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return `.${classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}","import $ from '../../shared/dom.js';\nimport classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`\n }\n });\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;\n }\n\n function setSideBullets($bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`);\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el; // Current/Total\n\n let current;\n const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`);\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' '));\n\n if ($el.length > 1) {\n bullets.each(bullet => {\n const $bullet = $(bullet);\n const bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, 'next');\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n const bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {\n bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`);\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n let progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el;\n let paginationHTML = '';\n\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper\n\n if ($el.length > 1) {\n $el = $el.filter(el => {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n let index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', () => {\n init();\n render();\n update();\n });\n on('activeIndexChange', () => {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', () => {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', () => {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const {\n $el\n } = swiper.pagination;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const {\n $el\n } = swiper.pagination;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n Object.assign(swiper.pagination, {\n render,\n update,\n init,\n destroy\n });\n}","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\n\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\n\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\n\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\n\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\n\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses };","/* underscore in name -> watch for changes */\nconst paramsList = ['modules', 'init', '_direction', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_preloadImages', 'updateOnImagesReady', '_loop', '_loopAdditionalSlides', '_loopedSlides', '_loopFillGroupWithBlank', 'loopPreventsSlide', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideBlankClass', 'slideActiveClass', 'slideDuplicateActiveClass', 'slideVisibleClass', 'slideDuplicateClass', 'slideNextClass', 'slideDuplicateNextClass', 'slidePrevClass', 'slideDuplicatePrevClass', 'wrapperClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren', // modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'lazy', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom'];\nexport { paramsList };","import React from 'react';\nimport Swiper from 'swiper';\n\nfunction calcLoopedSlides(slides, swiperParams) {\n let slidesPerViewParams = swiperParams.slidesPerView;\n\n if (swiperParams.breakpoints) {\n const breakpoint = Swiper.prototype.getBreakpoint(swiperParams.breakpoints);\n const breakpointOnlyParams = breakpoint in swiperParams.breakpoints ? swiperParams.breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams && breakpointOnlyParams.slidesPerView) {\n slidesPerViewParams = breakpointOnlyParams.slidesPerView;\n }\n }\n\n let loopedSlides = Math.ceil(parseFloat(swiperParams.loopedSlides || slidesPerViewParams, 10));\n loopedSlides += swiperParams.loopAdditionalSlides;\n\n if (loopedSlides > slides.length) {\n loopedSlides = slides.length;\n }\n\n return loopedSlides;\n}\n\nfunction renderLoop(swiper, slides, swiperParams) {\n const modifiedSlides = slides.map((child, index) => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper,\n 'data-swiper-slide-index': index\n });\n });\n\n function duplicateSlide(child, index, position) {\n return /*#__PURE__*/React.cloneElement(child, {\n key: `${child.key}-duplicate-${index}-${position}`,\n className: `${child.props.className || ''} ${swiperParams.slideDuplicateClass}`\n });\n }\n\n if (swiperParams.loopFillGroupWithBlank) {\n const blankSlidesNum = swiperParams.slidesPerGroup - modifiedSlides.length % swiperParams.slidesPerGroup;\n\n if (blankSlidesNum !== swiperParams.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankSlide = /*#__PURE__*/React.createElement(\"div\", {\n className: `${swiperParams.slideClass} ${swiperParams.slideBlankClass}`\n });\n modifiedSlides.push(blankSlide);\n }\n }\n }\n\n if (swiperParams.slidesPerView === 'auto' && !swiperParams.loopedSlides) {\n swiperParams.loopedSlides = modifiedSlides.length;\n }\n\n const loopedSlides = calcLoopedSlides(modifiedSlides, swiperParams);\n const prependSlides = [];\n const appendSlides = [];\n modifiedSlides.forEach((child, index) => {\n if (index < loopedSlides) {\n appendSlides.push(duplicateSlide(child, index, 'prepend'));\n }\n\n if (index < modifiedSlides.length && index >= modifiedSlides.length - loopedSlides) {\n prependSlides.push(duplicateSlide(child, index, 'append'));\n }\n });\n\n if (swiper) {\n swiper.loopedSlides = loopedSlides;\n }\n\n return [...prependSlides, ...modifiedSlides, ...appendSlides];\n}\n\nexport { calcLoopedSlides, renderLoop };","import React from 'react';\n\nfunction processChildren(c) {\n const slides = [];\n React.Children.toArray(c).forEach(child => {\n if (child.type && child.type.displayName === 'SwiperSlide') {\n slides.push(child);\n } else if (child.props && child.props.children) {\n processChildren(child.props.children).forEach(slide => slides.push(slide));\n }\n });\n return slides;\n}\n\nfunction getChildren(c) {\n const slides = [];\n const slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n React.Children.toArray(c).forEach(child => {\n if (child.type && child.type.displayName === 'SwiperSlide') {\n slides.push(child);\n } else if (child.props && child.props.slot && slots[child.props.slot]) {\n slots[child.props.slot].push(child);\n } else if (child.props && child.props.children) {\n const foundSlides = processChildren(child.props.children);\n\n if (foundSlides.length > 0) {\n foundSlides.forEach(slide => slides.push(slide));\n } else {\n slots['container-end'].push(child);\n }\n } else {\n slots['container-end'].push(child);\n }\n });\n return {\n slides,\n slots\n };\n}\n\nexport { getChildren };","import { isObject, extend } from './utils.js';\n\nfunction updateSwiper(_ref) {\n let {\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n } = _ref;\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) {\n needThumbsInit = true;\n }\n\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n\n if (mod === 'navigation') {\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n extend(currentParams[key], passedParams[key]);\n } else {\n const newValue = passedParams[key];\n\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n\n if (changedParams.includes('children') && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n } else if (changedParams.includes('children') && swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n\n if (needPaginationInit) {\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n\n if (needScrollbarInit) {\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n\n if (needNavigationInit) {\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n\n swiper.update();\n}\n\nexport { updateSwiper };","import { useEffect, useLayoutEffect } from 'react';\n\nfunction useIsomorphicLayoutEffect(callback, deps) {\n // eslint-disable-next-line\n if (typeof window === 'undefined') return useEffect(callback, deps);\n return useLayoutEffect(callback, deps);\n}\n\nexport { useIsomorphicLayoutEffect };","import { createContext, useContext } from 'react';\nexport const SwiperSlideContext = /*#__PURE__*/createContext(null);\nexport const useSwiperSlide = () => {\n return useContext(SwiperSlideContext);\n};\nexport const SwiperContext = /*#__PURE__*/createContext(null);\nexport const useSwiper = () => {\n return useContext(SwiperContext);\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport SwiperCore from 'swiper';\nimport { getParams } from './get-params.js';\nimport { mountSwiper } from './mount-swiper.js';\nimport { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend } from './utils.js';\nimport { renderLoop, calcLoopedSlides } from './loop.js';\nimport { getChangedParams } from './get-changed-params.js';\nimport { getChildren } from './get-children.js';\nimport { updateSwiper } from './update-swiper.js';\nimport { renderVirtual, updateOnVirtualData } from './virtual.js';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';\nimport { SwiperContext } from './context.js';\nconst Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n let {\n className,\n tag: Tag = 'div',\n wrapperTag: WrapperTag = 'div',\n children,\n onSwiper,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n let eventsAssigned = false;\n const [containerClasses, setContainerClasses] = useState('swiper');\n const [virtualData, setVirtualData] = useState(null);\n const [breakpointChanged, setBreakpointChanged] = useState(false);\n const initializedRef = useRef(false);\n const swiperElRef = useRef(null);\n const swiperRef = useRef(null);\n const oldPassedParamsRef = useRef(null);\n const oldSlides = useRef(null);\n const nextElRef = useRef(null);\n const prevElRef = useRef(null);\n const paginationElRef = useRef(null);\n const scrollbarElRef = useRef(null);\n const {\n params: swiperParams,\n passedParams,\n rest: restProps,\n events\n } = getParams(rest);\n const {\n slides,\n slots\n } = getChildren(children);\n\n const onBeforeBreakpoint = () => {\n setBreakpointChanged(!breakpointChanged);\n };\n\n Object.assign(swiperParams.on, {\n _containerClasses(swiper, classes) {\n setContainerClasses(classes);\n }\n\n });\n\n const initSwiper = () => {\n // init swiper\n Object.assign(swiperParams.on, events);\n eventsAssigned = true;\n swiperRef.current = new SwiperCore(swiperParams);\n\n swiperRef.current.loopCreate = () => {};\n\n swiperRef.current.loopDestroy = () => {};\n\n if (swiperParams.loop) {\n swiperRef.current.loopedSlides = calcLoopedSlides(slides, swiperParams);\n }\n\n if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n swiperRef.current.virtual.slides = slides;\n const extendWith = {\n cache: false,\n slides,\n renderExternal: setVirtualData,\n renderExternalUpdate: false\n };\n extend(swiperRef.current.params.virtual, extendWith);\n extend(swiperRef.current.originalParams.virtual, extendWith);\n }\n };\n\n if (!swiperElRef.current) {\n initSwiper();\n } // Listen for breakpoints change\n\n\n if (swiperRef.current) {\n swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n }\n\n const attachEvents = () => {\n if (eventsAssigned || !events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.on(eventName, events[eventName]);\n });\n };\n\n const detachEvents = () => {\n if (!events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.off(eventName, events[eventName]);\n });\n };\n\n useEffect(() => {\n return () => {\n if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n };\n }); // set initialized flag\n\n useEffect(() => {\n if (!initializedRef.current && swiperRef.current) {\n swiperRef.current.emitSlidesClasses();\n initializedRef.current = true;\n }\n }); // mount swiper\n\n useIsomorphicLayoutEffect(() => {\n if (externalElRef) {\n externalElRef.current = swiperElRef.current;\n }\n\n if (!swiperElRef.current) return;\n\n if (swiperRef.current.destroyed) {\n initSwiper();\n }\n\n mountSwiper({\n el: swiperElRef.current,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n paginationEl: paginationElRef.current,\n scrollbarEl: scrollbarElRef.current,\n swiper: swiperRef.current\n }, swiperParams);\n if (onSwiper) onSwiper(swiperRef.current); // eslint-disable-next-line\n\n return () => {\n if (swiperRef.current && !swiperRef.current.destroyed) {\n swiperRef.current.destroy(true, false);\n }\n };\n }, []); // watch for params change\n\n useIsomorphicLayoutEffect(() => {\n attachEvents();\n const changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current);\n oldPassedParamsRef.current = passedParams;\n oldSlides.current = slides;\n\n if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n updateSwiper({\n swiper: swiperRef.current,\n slides,\n passedParams,\n changedParams,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n scrollbarEl: scrollbarElRef.current,\n paginationEl: paginationElRef.current\n });\n }\n\n return () => {\n detachEvents();\n };\n }); // update on virtual update\n\n useIsomorphicLayoutEffect(() => {\n updateOnVirtualData(swiperRef.current);\n }, [virtualData]); // bypass swiper instance to slides\n\n function renderSlides() {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef.current, slides, virtualData);\n }\n\n if (!swiperParams.loop || swiperRef.current && swiperRef.current.destroyed) {\n return slides.map(child => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiperRef.current\n });\n });\n }\n\n return renderLoop(swiperRef.current, slides, swiperParams);\n }\n\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: swiperElRef,\n className: uniqueClasses(`${containerClasses}${className ? ` ${className}` : ''}`)\n }, restProps), /*#__PURE__*/React.createElement(SwiperContext.Provider, {\n value: swiperRef.current\n }, slots['container-start'], /*#__PURE__*/React.createElement(WrapperTag, {\n className: \"swiper-wrapper\"\n }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: prevElRef,\n className: \"swiper-button-prev\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: nextElRef,\n className: \"swiper-button-next\"\n })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarElRef,\n className: \"swiper-scrollbar\"\n }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: paginationElRef,\n className: \"swiper-pagination\"\n }), slots['container-end']));\n});\nSwiper.displayName = 'Swiper';\nexport { Swiper };","import Swiper from 'swiper';\nimport { isObject, extend } from './utils.js';\nimport { paramsList } from './params-list.js';\n\nfunction getParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n\n const params = {\n on: {}\n };\n const events = {};\n const passedParams = {};\n extend(params, Swiper.defaults);\n extend(params, Swiper.extendedDefaults);\n params._emitClasses = true;\n params.init = false;\n const rest = {};\n const allowedParams = paramsList.map(key => key.replace(/_/, ''));\n Object.keys(obj).forEach(key => {\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(key => {\n if (params[key] === true) params[key] = {};\n if (params[key] === false) delete params[key];\n });\n return {\n params,\n passedParams,\n rest,\n events\n };\n}\n\nexport { getParams };","import { needsNavigation, needsPagination, needsScrollbar } from './utils.js';\n\nfunction mountSwiper(_ref, swiperParams) {\n let {\n el,\n nextEl,\n prevEl,\n paginationEl,\n scrollbarEl,\n swiper\n } = _ref;\n\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n\n swiper.init(el);\n}\n\nexport { mountSwiper };","import { paramsList } from './params-list.js';\nimport { isObject } from './utils.js';\n\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren) {\n const keys = [];\n if (!oldParams) return keys;\n\n const addKey = key => {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n\n const oldChildrenKeys = oldChildren.map(child => child.key);\n const childrenKeys = children.map(child => child.key);\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));\n watchParams.forEach(key => {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n const newKeys = Object.keys(swiperParams[key]);\n const oldKeys = Object.keys(oldParams[key]);\n\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(newKey => {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(oldKey => {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\n\nexport { getChangedParams };","import React from 'react';\n\nfunction updateOnVirtualData(swiper) {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n\n if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n swiper.parallax.setTranslate();\n }\n}\n\nfunction renderVirtual(swiper, slides, virtualData) {\n if (!virtualData) return null;\n const style = swiper.isHorizontal() ? {\n [swiper.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`\n } : {\n top: `${virtualData.offset}px`\n };\n return slides.filter((child, index) => index >= virtualData.from && index <= virtualData.to).map(child => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper,\n style\n });\n });\n}\n\nexport { renderVirtual, updateOnVirtualData };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { useRef, useState, forwardRef } from 'react';\nimport { uniqueClasses } from './utils.js';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';\nimport { SwiperSlideContext } from './context.js';\nconst SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n let {\n tag: Tag = 'div',\n children,\n className = '',\n swiper,\n zoom,\n virtualIndex,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n const slideElRef = useRef(null);\n const [slideClasses, setSlideClasses] = useState('swiper-slide');\n\n function updateClasses(_s, el, classNames) {\n if (el === slideElRef.current) {\n setSlideClasses(classNames);\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n if (externalRef) {\n externalRef.current = slideElRef.current;\n }\n\n if (!slideElRef.current || !swiper) {\n return;\n }\n\n if (swiper.destroyed) {\n if (slideClasses !== 'swiper-slide') {\n setSlideClasses('swiper-slide');\n }\n\n return;\n }\n\n swiper.on('_slideClass', updateClasses); // eslint-disable-next-line\n\n return () => {\n if (!swiper) return;\n swiper.off('_slideClass', updateClasses);\n };\n });\n useIsomorphicLayoutEffect(() => {\n if (swiper && slideElRef.current && !swiper.destroyed) {\n setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n }\n }, [swiper]);\n const slideData = {\n isActive: slideClasses.indexOf('swiper-slide-active') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-active') >= 0,\n isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n isDuplicate: slideClasses.indexOf('swiper-slide-duplicate') >= 0,\n isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-prev') >= 0,\n isNext: slideClasses.indexOf('swiper-slide-next') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-next') >= 0\n };\n\n const renderChildren = () => {\n return typeof children === 'function' ? children(slideData) : children;\n };\n\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: slideElRef,\n className: uniqueClasses(`${slideClasses}${className ? ` ${className}` : ''}`),\n \"data-swiper-slide-index\": virtualIndex\n }, rest), /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, zoom ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-zoom-container\",\n \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n }, renderChildren()) : renderChildren()));\n});\nSwiperSlide.displayName = 'SwiperSlide';\nexport { SwiperSlide };","import { Swiper, SwiperSlide } from \"swiper/react\";\nimport LEC7242 from '../../images/lec7242.png';\n\n// Import Swiper styles\nimport \"swiper/css\";\nimport \"swiper/css/pagination\";\nimport \"swiper/css/navigation\";\n\n// import required modules\nimport { Pagination, Navigation, Mousewheel, Keyboard } from \"swiper\";\nimport './style.scss';\n\nconst Products = (props) => {\n\n return (\n
\n
\n FEATURED PRODUCTS\n
\n
\n \n \n
\n
\n
\n \n
\n
\n LEC - 7242\n Industrial wireless gateway with Intel® Apollo Lake CPU and FCC/CE/PTCRB certification for LTE or Wifi.\n
    \n
  • Intel® Apollo Lake CPU
  • \n
  • 2x GbE RJ45, 1x RS232/422/485 COM Port
  • \n
  • 2x USB 3.0, 1x Display Port, 1x HDMI
  • \n
  • 1x M.2 3042 B+M Key Socket w/ Dual SIM
  • \n
  • 1x Mini-PCIe Socket w/ Dual SIM
  • \n
  • TPM 2.0 Support
  • \n
\n
\n
\n
\n \n \n
\n
\n
\n Coming soon...\n
\n
\n
\n \n
\n
\n );\n};\n\nexport default Products;","import './style.scss';\n\n\n\nconst Contact = (props) => {\n \n\n\n return (\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n Send\n
\n
\n
\n
\n
\n GET IN TOUCH\n
\n
\n Lanner Electronics Inc.\n +886-2-8692-6060\n contact@lannerinc.com\n 7F, No.173, Section 2 Datong Road, XiZhi District, New Taipei City, 221, Taiwan\n
\n Find us:  \n \n Facebook\n \n   /  \n \n YouTube\n \n   /  \n \n LinkedIn\n \n
\n
\n
\n
\n Copyright © 2022 Lanner Electronics Inc. All Rights Reserved.\n
\n
\n
\n );\n};\n\nexport default Contact;","import Infinity from '../../Components/Infinity';\nimport Menu from '../../Components/Menu';\nimport Products from '../../Components/Products';\nimport Contact from '../../Components/Contact';\n\nimport './style.scss';\n\nconst Main = (props) => {\n return (\n
\n \n \n \n \n
\n )\n};\n\nexport default Main;","import { Link } from 'react-router-dom';\nimport './style.scss';\n\nconst Logo = () => {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n\nexport default Logo;","import { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport Logo from '../Logo';\nimport './style.scss';\n\nconst Head = (props) => {\n \n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const menuTrgger = () => {\n setIsMenuOpen(!isMenuOpen);\n };\n\n return (\n
\n \n
\n
\n
\n
\n
\n
\n MANAGEABILITY\n RELIABILITY\n SECURITY\n PERFORMANCE\n DEVELOPMENT\n CONNECTIVITY\n
\n
\n );\n};\n\nexport default Head;","import Head from '../Head';\nimport { Link } from 'react-router-dom';\nimport './style.scss';\n\n\nconst smallLogo = (\n
\n \n \n \n \n \n \n \n \n \n
\n);\n\nconst Subjects = (props) => {\n\n let contentList = props.content.map((c, i) => {\n return(\n
\n
\n {c[0]}\n
\n );\n });\n\n return (\n
\n
\n \n
\n
\n {contentList}\n
\n
\n
\n
\n
\n {props.title}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {smallLogo}\n
\n
\n
\n
\n
\n {smallLogo}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default Subjects;","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const assignValue = (val, key) => {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\nconst $defaults = Symbol('defaults');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nfunction AxiosHeaders(headers, defaults) {\n headers && this.set(headers);\n this[$defaults] = defaults || null;\n}\n\nObject.assign(AxiosHeaders.prototype, {\n set: function(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = findKey(self, lHeader);\n\n if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {\n return;\n }\n\n self[key || _header] = normalizeValue(_value);\n }\n\n if (utils.isPlainObject(header)) {\n utils.forEach(header, (_value, _header) => {\n setHeader(_value, _header, valueOrRewrite);\n });\n } else {\n setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n },\n\n get: function(header, parser) {\n header = normalizeHeader(header);\n\n if (!header) return undefined;\n\n const key = findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n },\n\n has: function(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n },\n\n delete: function(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n },\n\n clear: function() {\n return Object.keys(this).forEach(this.delete.bind(this));\n },\n\n normalize: function(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n },\n\n toJSON: function(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(Object.assign({}, this[$defaults] || null, this),\n (value, header) => {\n if (value == null || value === false) return;\n obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value;\n });\n\n return obj;\n }\n});\n\nObject.assign(AxiosHeaders, {\n from: function(thing) {\n if (utils.isString(thing)) {\n return new this(parseHeaders(thing));\n }\n return thing instanceof this ? thing : new this(thing);\n },\n\n accessor: function(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n});\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nexport default function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\n\nconst adapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nexport default {\n getAdapter: (nameOrAdapter) => {\n if(utils.isString(nameOrAdapter)){\n const adapter = adapters[nameOrAdapter];\n\n if (!nameOrAdapter) {\n throw Error(\n utils.hasOwnProp(nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Can not resolve adapter '${nameOrAdapter}'`\n );\n }\n\n return adapter\n }\n\n if (!utils.isFunction(nameOrAdapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return nameOrAdapter;\n },\n adapters\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nimport adapters from '../adapters/index.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\n/**\n * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP\n * adapter\n *\n * @returns {Function}\n */\nfunction getDefaultAdapter() {\n let adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = adapters.getAdapter('xhr');\n } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {\n // For node use HTTP adapter\n adapter = adapters.getAdapter('http');\n }\n return adapter;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n const adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n const mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.1.3\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n const defaultHeaders = config.headers && utils.merge(\n config.headers.common,\n config.headers[config.method]\n );\n\n defaultHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n config.headers = new AxiosHeaders(config.headers, defaultHeaders);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.formToJSON = thing => {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData\n} = axios;\n\nexport default axios;\nexport {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData\n}\n","import Head from '../Head';\nimport axios from 'axios';\nimport { useEffect, useState } from 'react';\nimport './style.scss';\n\nconst Project = (props) => {\n\n const [appliance, setAppliance] = useState([]);\n\n let photos = props.photos;\n let devices;\n\n useEffect(() => {\n if(props.project && props.project === 'python-api-for-lanner-psp') {\n axios.get('https://link.lannerinc.com/api/psp/models')\n .then((res) => {\n if(res && res.data) {\n setAppliance(res.data);\n } else {\n setAppliance([]);\n }\n })\n .catch((err) => {\n setAppliance([]);\n });\n }\n }, []);\n\n const copyToClipboard = async (e, text) => {\n e.target.innerText = 'Copied!'\n try {\n await navigator.clipboard.writeText(`${text}`);\n } catch (err) {\n console.error('Failed to copy: ', err);\n }\n let removeCopied = setTimeout(() => {\n e.target.innerHTML = 'CopyInstallationCommand'\n clearTimeout(removeCopied);\n }, 1500);\n };\n \n if (props.project == 'python-api-for-lanner-psp') {\n if(!appliance.length) {\n devices = [];\n } else {\n devices = appliance.map((a, i) => {\n return (\n
\n \n
\n \n {a.name}\n
\n
\n
{e.stopPropagation(); copyToClipboard(e, a.one_step_automated_install)}}>\n Copy\n Installation\n Command\n
\n
\n );\n });\n };\n } else {\n if (!photos.length) {\n devices = [];\n } else {\n devices = props.photos.map((p, i) => {\n return (\n \n
\n \n {p.name}\n
\n
\n );\n });\n };\n };\n\n let docLinks = props.docs.map((d, i) => {\n return(\n
\n
\n {d.name}\n
\n );\n });\n\n return (\n
\n \n
\n
\n
\n
\n {props.title}\n
\n {props.project !== 'psp' && (\n <>\n
\n Is a software developed by Lanner Software Team to provide you a easy way to set, control and secure your connections.\n
\n
\n
\n Appliance\n
\n
\n {devices}\n
\n
\n \n )}\n {props.project === 'psp' && (\n
\n
\n
Information
\n
\n

\n This package is Lanner's platform software support package for accessing motherboard resource. The supported functions will depend on the design of the platform hardware.\n

\n

\n Normally, the functions include Watch-Dog-Timer (WDT), General Purpose IO (GPIO), Hardware Monitor (HWM), Software Reset Button (SWR), System/Status LED (SLED), Lanner Gen3 Bypass (LBP), EEPROM (EEP), Redundant Power Supply (PSU) and some external device functions such as the LCD module.\n

\n
\n
\n
\n
Benefits
\n
\n

- Faster Time to Market

\n

Lanner’s API helps developers to write applications to control the hardware without knowing the hardware specs of the chipsets and driver architecture.

\n

- Reduced Project Effort

\n

Accessing the API, developers are being given a more efficient way to utilize chipsets, communication bus, and physical I/Os. In addition, Lanner PSP also provides corresponding tools to prevent unexpected downtime causing from environment setup matters.

\n

- Enhances Lanner Platform Reliability

\n

Lanner PSP is released after a series of reliability tests and security validations which combines manufacturing test sequences to enhance complete system reliability.

\n

- Flexible Upgrade Possibilities

\n

Considering customer’s application maintenance and upgrade tasks, Lanner PSP is designed to be flexible to update/upgrade to the module level. The simple re-initialization process will bring up the updated and upgraded modules to be functional.

\n

- Backward compatibility

\n

Lanner grants the responsibility to control API backward support, allowing customers to worry less about the development of new products.

\n

- Functions

\n

Normally, the functions include Watch-Dog-Timer (WDT), General Purpose IO (GPIO), Hardware Monitor (HWM), Software Reset Button (SWR), System/Status LED (SLED), Lanner Gen3 Bypass (LBP), EEPROM (EEP), Redundant Power Supply (PSU) and some external device functions such as the LCD module.

\n
\n
\n
\n
History
\n
\n

SDK 1.0

\n
    \n
  • Publication : 2018/3/23
  • \n
  • Access Mode : direct IO access mode
  • \n
  • Open Source : None, only binary files
  • \n
  • Stage : Maintain Only
  • \n
  • direct IO access mode, not open source
  • \n
\n

PSP 2.0

\n
    \n
  • Publication : 2019/4/1
  • \n
  • Access Mode : Driver access mode
  • \n
  • Open Source : SDK library binary files, Driver and IO library is opened
  • \n
  • Stage : Maintain Only
  • \n
  • driver access mode and open source both driver and library, but SDK API not including yet
  • \n
\n

PSP 2.1

\n
    \n
  • Publication : 2019/7/1
  • \n
  • Access Mode : Driver access mode
  • \n
  • Open Source : all source is opened
  • \n
  • Stage : Maintain Only
  • \n
\n

PSP 2.2

\n
    \n
  • Publication : 2020/3/1
  • \n
  • Access Mode : Driver access mode
  • \n
  • Open Source : all source is opened
  • \n
  • Stage : Maintain Only
  • \n
  • Note: 2.2 same as 2.1 with driver sysfs support
  • \n
\n

PSP 2.3

\n
    \n
  • Publication : 2020/7/23
  • \n
  • Access Mode : Driver access mode
  • \n
  • Open Source : all source is opened
  • \n
  • Stage : NPI development
  • \n
  • New Function: add IPMI API group and build-in critical value
  • \n
\n

PSP 3.0

\n
    \n
  • Alpha: 2021/06/18 (NCA-5530)
  • \n
  • Access Mode : Driver access mode
  • \n
  • Open Source : all source is opened
  • \n
  • Stage : NPI development
  • \n
  • New Function: \n
      \n
    1. Common Weakness Enumeration compatibility Level 3
    2. \n
    3. static code analysis by cppcheck ready
    4. \n
    \n
  • \n
\n

SDK1.0 & PSP Differentiation

\n
\n
\n
Functions
\n
SDK 1.0
\n
PSP 2.0
\n
PSP 2.1
\n
PSP 2.2
\n
PSP 2.3
\n
PSP 3.0 Alpha
\n
\n
\n
\n
Access Method
\n
Direct IO
\n
Driver
\n
Driver
\n
Driver
\n
Driver
\n
Driver
\n
\n
\n
Functions Modularization
\n
Yes
\n
Yes
\n
No
\n
No
\n
No
\n
No
\n
\n
\n
Binary Pre-build
\n
Both x64 and x32
\n
Both x64 and x32
\n
No
\n
No
\n
No
\n
No
\n
\n
\n
Open Source
\n
No
\n
Open without SDK
\n
All
\n
All
\n
All
\n
All
\n
\n
\n
Dynamic Libraries
\n
Yes
\n
Yes
\n
Yes
\n
Yes
\n
Yes
\n
Yes
\n
\n
\n
Dynamic Mode Utilities
\n
Yes
\n
Yes
\n
Option
\n
Option
\n
Option
\n
Option
\n
\n
\n
Static Libraries
\n
No
\n
No
\n
Yes
\n
Yes
\n
Yes
\n
Yes
\n
\n
\n
Static Mode Utilities
\n
No
\n
No
\n
Default
\n
Default
\n
Default
\n
Default
\n
\n
\n
Driver Sysfs Support
\n
No
\n
No
\n
No
\n
Yes
\n
Yes
\n
Option
\n
\n
\n
IPMI API Group
\n
No
\n
No
\n
No
\n
No
\n
Yes
\n
Yes
\n
\n
\n
Build-in Critical Value
\n
No
\n
No
\n
No
\n
No
\n
Yes
\n
Yes
\n
\n
\n
CWE Compatibility
\n
No
\n
No
\n
No
\n
No
\n
No
\n
Level 3
\n
\n
\n
cppcheck
\n
No
\n
No
\n
No
\n
No
\n
No
\n
Ready
\n
\n
\n
\n
\n
\n
\n \n\n )}\n
\n
\n
\n
\n Relative Links\n
\n
\n {docLinks}\n
\n
\n
\n
\n
\n );\n};\n\nexport default Project;","\nimport './style.scss';\n\nconst PageNotFound = (props) => {\n\n return (\n
\n
\n 404\n |\n Page not found.\n
\n
\n );\n};\n\nexport default PageNotFound;","import { useState, useEffect } from \"react\";\n\nimport {\n BrowserRouter as Router,\n Route,\n Switch,\n} from \"react-router-dom\";\n\nimport Main from \"./Containers/Main\";\nimport Subjects from './Components/Subjects';\nimport Project from './Components/Project';\nimport PageNotFound from \"./Components/PageNotFound\";\n\nfunction App() {\n\n const [firstTierRouter, setFirstTierRouter] = useState('');\n const [secondTierRouter, setSecondTierRouter] = useState('');\n\n const setRouter = () => {\n let currentUrl = window.location.pathname;\n let pathArr = currentUrl.split(\"/\");\n let projectPath = pathArr.pop();\n let subjectPath = pathArr.pop();\n setFirstTierRouter(subjectPath);\n setSecondTierRouter(projectPath);\n localStorage.setItem('subj', subjectPath);\n localStorage.setItem('proj', projectPath);\n };\n\n useEffect(() => {\n let currentUrl = window.location.pathname;\n let pathArr = currentUrl.split(\"/\");\n let projectPath = pathArr.pop();\n let subjectPath = pathArr.pop();\n let proj = localStorage.getItem('proj');\n let subj = localStorage.getItem('subj');\n if(projectPath === proj) {\n setSecondTierRouter(projectPath);\n };\n if(subjectPath === subj) {\n setFirstTierRouter(subjectPath);\n };\n }, []);\n\n return (\n \n \n \n
\n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n {/* second tier routers */}\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n }\n />\n \n \n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["module","exports","self","FormData","window","equal","a","b","constructor","length","i","keys","Array","isArray","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","key","$$typeof","reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","concat","targetStatics","sourceStatics","descriptor","e","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","r","t","v","w","x","y","z","u","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","propIsEnumerable","propertyIsEnumerable","toObject","val","undefined","TypeError","assign","test1","String","test2","fromCharCode","map","join","test3","split","forEach","letter","err","shouldUseNative","target","from","symbols","to","s","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","aa","encodeURIComponent","ba","Set","ca","da","ea","add","fa","document","createElement","ha","ia","ja","ka","B","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","D","toLowerCase","oa","pa","toUpperCase","qa","slice","ma","isNaN","na","test","la","removeAttribute","setAttribute","setAttributeNS","replace","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","E","Ma","Ka","iterator","La","Na","stack","trim","match","Oa","Pa","prepareStackTrace","set","Reflect","construct","Qa","tag","_render","Ra","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","value","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","children","Children","db","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","style","indexOf","setProperty","charAt","substring","ub","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","push","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","addEventListener","removeEventListener","Rb","apply","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","child","sibling","current","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","shift","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","F","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","Math","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","id","bind","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","code","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","offset","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","href","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","start","selectionStart","end","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","instance","listener","G","$e","has","af","bf","random","cf","df","capture","passive","Nb","ef","ff","parentWindow","gf","hf","J","K","Q","L","je","char","ke","unshift","jf","kf","lf","mf","autoFocus","nf","__html","of","setTimeout","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","M","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","O","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","context","observedBits","next","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","callback","Ag","Bg","Cg","C","Dg","Eg","Fg","Component","refs","Gg","Kg","isMounted","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","state","updater","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","ref","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","index","Tg","Ug","mode","Vg","implementation","Wg","Xg","done","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","hh","P","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","S","T","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","useState","getSnapshot","subscribe","useEffect","setSnapshot","Oh","Ph","Qh","Rh","create","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","last","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","size","createElementNS","createTextNode","V","Hi","Ii","W","Ji","Ki","Li","Mi","message","Ni","console","error","Oi","WeakMap","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","display","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","then","mj","nj","ceil","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","min","extend","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","JSON","stringify","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","version","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","arr","isarray","pathToRegexp","parse","compile","str","tokensToFunction","tokensToRegExp","PATH_REGEXP","res","tokens","path","defaultDelimiter","delimiter","exec","escaped","prefix","group","modifier","asterisk","partial","optional","pattern","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","charCodeAt","matches","obj","opts","encode","pretty","token","segment","j","attachKeys","sensitive","strict","route","endsWithDelimiter","groups","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","o","asyncIterator","toStringTag","writable","_invoke","method","arg","delegate","sent","_sent","dispatchException","abrupt","wrap","_","resolve","__await","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","reverse","pop","values","prev","stop","rval","complete","finish","catch","delegateYield","regeneratorRuntime","Function","__esModule","default","ReferenceError","Particles","throw","sham","Proxy","Boolean","init","library","setState","refresh","tsParticles","loadParticles","className","canvasClassName","container","loaded","loadJSON","t0","load","params","ReactParticles","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","IsSomeRendererActing","count","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","memo","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","fn","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","PromiseImpl","invoke","reject","result","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","pushTryEntry","locs","entry","resetTryEntry","iterable","iteratorMethod","genFun","ctor","iter","skipTempReset","rootRecord","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","accidentalStrictMode","globalThis","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","floor","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","_EventDispatcher_listeners","__classPrivateFieldSet","receiver","kind","__classPrivateFieldGet","EventDispatcher","_a","idx","splice","args","handler","Vector","xOrCoords","atan2","angle","updateFromAngle","sqrt","getLengthSq","sub","abs","clone","cos","sin","clamp","num","max","mix","comp1","comp2","weight1","weight2","randomInRange","getRangeMax","getRangeMin","getRangeValue","setRangeValue","enable","minimumValue","getDistances","pointA","pointB","dx","dy","distance","getDistance","getParticleDirectionAngle","direction","position","center","PI","getParticleBaseVelocity","baseVelocity","origin","collisionVelocity","v1","v2","m1","m2","calcEasing","pow","c1","calcPositionFromSize","_b","calcPositionOrRandomFromSize","_c","_d","calcPositionOrRandomFromSizeRanged","calcExactPositionOrRandomFromSize","calcExactPositionOrRandomFromSizeRanged","_Options_instances","_Options_engine","_Options_findDefaultTheme","OptionsColor","Background","image","BackgroundMaskCover","BackgroundMask","composite","cover","FullScreen","ClickEvent","DivEvent","selectors","ids","elementId","el","Parallax","force","smooth","HoverEvent","parallax","onDiv","onHover","resize","ondiv","div","tmp","onhover","Attract","duration","easing","factor","maxSpeed","speed","Bounce","BubbleBase","BubbleDiv","Bubble","divs","ConnectLinks","Connect","links","radius","lineLinked","line_linked","GrabLinks","blink","consent","Grab","LightGradient","LightArea","gradient","LightShadow","Light","shadow","Push","quantity","particles_nb","Remove","RepulseBase","RepulseDiv","Repulse","Slow","_value","Trail","pauseOnStop","particles","deepExtend","Modes","attract","bounce","bubble","connect","grab","light","remove","repulse","slow","trail","Interactivity","detectsOn","events","modes","detect_on","active","ManualParticle","MotionReduce","Motion","disable","reduce","Responsive","maxWidth","ThemeDefault","auto","Theme","Options","engine","autoPlay","background","backgroundMask","fullScreen","detectRetina","fpsLimit","interactivity","manualParticles","motion","loadParticlesOptions","pauseOnBlur","pauseOnOutsideViewport","responsive","themes","zLayers","_e","preset","importPreset","retina_detect","fps_limit","backgroundMode","plugins","loadOptions","optResponsive","sort","theme","optTheme","defaultDarkTheme","defaultLightTheme","chosenTheme","find","mediaMatch","matchMedia","clientDarkMode","defaultTheme","pxRatio","defaultOptions","responsiveOptions","screen","availWidth","getPreset","ColorAnimation","sync","HslAnimation","AnimatableColor","colorAnimation","AnimatableGradient","GradientAngle","colors","AnimatableGradientColor","GradientAngleAnimation","GradientColorOpacity","GradientColorOpacityAnimation","startValue","CollisionsOverlap","retries","Random","ValueWithRandom","ParticlesBounceFactor","ParticlesBounce","horizontal","vertical","Collisions","overlap","SplitFactor","SplitRate","Split","rate","sizeOffset","Destroy","LifeDelay","LifeDuration","Life","LinksShadow","blur","LinksTriangle","frequency","Links","triangles","warp","MoveAngle","MoveAttract","rotate","rotateX","rotateY","MoveGravity","acceleration","inverse","MovePathDelay","MovePath","MoveTrail","fillColor","OutModes","bottom","right","Spin","Move","decay","drift","gravity","outModes","spin","straight","vibrate","collisions","outMode","out_mode","noise","AnimationOptions","OpacityAnimation","opacity_min","Opacity","anim","OrbitRotation","Orbit","rotation","ParticlesDensity","value_area","ParticlesNumber","density","limit","ParticlesRepulse","enabled","RollLight","Roll","darken","enlighten","backColor","RotateAnimation","Rotate","Shadow","Shape","custom","item","loadShape","character","polygon","images","mainKey","altOverride","SizeAnimation","size_min","Size","Stroke","TiltAnimation","Tilt","TwinkleValues","Twinkle","lines","Wobble","ZIndex","opacityRate","sizeRate","velocityRate","ParticlesOptions","life","move","orbit","reduceDuplicates","roll","stroke","tilt","twinkle","wobble","_f","_g","_h","strokeToLoad","gradientToLoad","rectSideBounce","pSide","pOtherSide","rectSide","rectOtherSide","velocity","bounced","checkSelector","selector","isSsr","animate","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","cancelAnimation","webkitCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","isInArray","loadFont","font","weight","fonts","arrayRandomIndex","itemFromArray","useIndex","fixedIndex","isPointInside","point","areBoundsInside","calculateBounds","bounds","inside","destination","sources","sourceIsArray","isObject","destDict","isDivModeEnabled","divModeExecute","divMode","singleDivModeExecute","circleBounceDataFromParticle","getPosition","getRadius","mass","getMass","circleBounce","p1","p2","xVelocityDiff","yVelocityDiff","xDist","yDist","u1","u2","vFinal1","vFinal2","rectBounce","particle","divBounds","resH","resV","sourceOptionsArr","sourceOptions","loadContainerOptions","generatedAttribute","randomColorValue","midColorValue","touchEndEvent","mouseDownEvent","mouseUpEvent","mouseMoveEvent","touchStartEvent","touchMoveEvent","mouseLeaveEvent","mouseOutEvent","touchCancelEvent","resizeEvent","visibilityChangeEvent","noPolygonDataLoaded","noPolygonFound","hue2rgb","tCalc","stringToRgba","startsWith","parseFloat","parseInt","hslaToRgba","hsvaToRgba","hexFixed","_m","colorToRgb","getRandomRgbColor","stringToRgb","colorSelected","colorValue","rgbColor","rgb","hslColor","hsl","hslToRgb","hsvColor","hsv","hsvToRgb","colorToHsl","rgbToHsl","r1","g1","b1","stringToAlpha","hslPercent","hsla","rgbResult","hslToHsv","sv","hslaToHsva","hsvResult","hsvToHsl","sl","hsvaToHsla","hsva","hslResult","tempRgb","hsvPercent","rgbToHsv","rgbPercent","xMax","rgbaToHsva","rgba","fixedMin","getStyleFromRgb","getStyleFromHsl","getStyleFromHsv","colorMix","color1","color2","size1","size2","rgb1","rgb2","getLinkColor","linkColor","sourceColor","getFillColor","getStrokeColor","destColor","getLinkRandomColor","optColor","getHslFromAnimation","getHslAnimationFromHsl","animationOptions","reduceFactor","resColor","setColorAnimation","status","drawLine","begin","beginPath","moveTo","lineTo","closePath","drawTriangle","p3","paintBase","dimension","baseColor","save","fillStyle","fillRect","restore","clear","clearRect","drawConnectLine","lineStyle","lineWidth","strokeStyle","gradStop","sourcePos","destPos","midRgb","grad","createLinearGradient","addColorStop","drawGrabLine","colorLine","drawParticle","delta","colorStyles","pos","tiltOptions","rollOptions","rollHorizontal","rollVertical","setTransform","cosDirection","sinDirection","translate","globalCompositeOperation","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","fill","drawShape","close","drawShapeAfterEffect","drawer","drawers","draw","retina","pixelRatio","afterEffect","drawPlugin","plugin","drawParticlePlugin","drawEllipse","fillColorValue","rotationRadian","ellipse","alterHsl","Canvas","generatedCanvas","initStyle","initCover","initTrail","initBackground","paint","canvas","dataset","originalStyle","offsetHeight","offsetWidth","getContext","ctx","actualOptions","coverColorStyle","trailFillColor","needsRefresh","updateActualOptions","setDensity","newSize","oldSize","started","resizeFactor","pos1","pos2","linksWidth","lineColor","mousePos","beginPos","spawning","destroyed","pfColor","psColor","getPluginParticleColors","fColor","sColor","zIndexOptions","zOpacityFactor","zIndexFactor","zOpacity","zStrokeOpacity","zSizeFactor","updaters","beforeDraw","getColorStyles","afterDraw","elementStyle","backgroundColor","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","coverRgb","coverColor","particleFillColor","particleStrokeColor","connectOptions","manageListener","addOptions","removeOptions","_InteractionManager_engine","EventListeners","canPush","mouseMoveHandler","mouseTouchMove","touchStartHandler","touchMoveHandler","touchEndHandler","mouseTouchFinish","mouseLeaveHandler","touchCancelHandler","touchEndClickHandler","mouseTouchClick","mouseUpHandler","mouseDownHandler","mouseDown","visibilityChangeHandler","handleVisibilityChange","themeChangeHandler","handleThemeChange","oldThemeChangeHandler","resizeHandler","handleWindowResize","manageListeners","detectType","mouseLeaveTmpEvent","canvasEl","parentElement","addListener","removeListener","interactivityEl","html","pointerEvents","ResizeObserver","resizeObserver","unobserve","disconnect","entries","observe","resizeTimeout","windowResize","hidden","pageHidden","pause","getAnimationStatus","play","mouse","clicking","downPosition","mouseEvent","clientRect","getBoundingClientRect","sourceRect","targetRect","canvasRect","offsetX","offsetY","touchEvent","lastTouch","clickPosition","handled","mousePosition","clickPositionValid","doMouseTouchClick","clickTime","getTime","handleClickMode","themeName","loadTheme","FrameManager","timestamp","lastFrameTime","deltaValue","lifeTime","InteractionManager","externalInteractors","particleInteractors","interactors","getInteractors","interactor","isEnabled","interact","_Particle_engine","Vector3d","v3d","fixOutMode","checkModes","coord","maxCoord","setCb","Particle","overrideOptions","lastPathTime","unbreakable","splitCount","misplaced","maxDistance","outType","ignoresResizeRatio","particlesOptions","shapeType","overrideShapeType","shapeOptions","shapeData","loadShapeData","pathDelay","zIndexValue","initParticle","sizeOptions","sizeRange","loops","maxLoops","sizeAnimation","sizeAnimationSpeed","inRange","calcPosition","initialPosition","copy","canvasSize","moveCenterPerc","moveCenter","initialVelocity","calculateVelocity","moveDecay","gravityOptions","needsSort","lastZIndex","sides","getShapeDrawer","sideCountFunc","getSidesCount","loadLife","movers","mover","particleInit","particleCreated","isInsideCanvas","alter","backFactor","backSum","strokeColor","override","particleDestroyed","splitOptions","addSplitParticle","tryCount","pluginPos","particlePosition","exactPosition","fixHorizontal","fixVertical","checkOverlap","collisionsOptions","overlapOptions","overlaps","moveOptions","rad","radOffset","lifeOptions","delayTime","_Particles_engine","Point","Range","Circle","rect","circle","edges","Rectangle","intersects","w2","h2","CircleWarp","posNE","posSE","posSW","newPos","biggerCircle","rectSW","QuadTree","rectangle","capacity","points","divided","subdivide","northEast","insert","northWest","southEast","southWest","query","containerOrSize","found","nextId","zArray","freqs","interactionManager","linksColors","quadTree","getMovers","getUpdaters","particlesInitialization","addManualParticles","groupOptions","addParticle","pathGenerator","deleted","zIdx","dispatchEvent","removeAt","particlesToDelete","update","particleUpdate","externalInteract","particlesInteract","pushing","countToRemove","removeQuantity","pushParticle","parent","id1","id2","id3","applyDensity","manualCount","numberOptions","densityFactor","initDensityFactor","optParticlesNumber","optParticlesLimit","particlesNumber","particlesCount","filter","densityOptions","initializer","canAdd","warn","_Container_engine","Retina","devicePixelRatio","motionOptions","mediaQuery","handleMotionChange","handleChange","ratio","attractDistance","linksDistance","connectModeDistance","connectModeRadius","grabModeDistance","repulseModeDistance","bounceModeDistance","attractModeDistance","slowModeRadius","bubbleModeDistance","bubbleModeSize","moveDistance","moveDrift","moveSpeed","Container","firstStart","paused","_sourceOptions","_initialSourceOptions","generate","_options","eventListeners","IntersectionObserver","intersectionObserver","intersectionManager","needsUpdate","drawAnimationFrame","refreshTime","nextFrame","noiseOrGenerator","setPath","pathOrGenerator","oldGenerator","exportImage","quality","toBlob","removeListeners","HTMLElement","grabLineColor","linksColor","currentTheme","addListeners","startAsync","clickOrTouchHandler","posRetina","queryCircle","touched","touchMoved","radiusX","radiusY","newMaxWidth","setResponsive","setTheme","responsiveMaxWidth","shapes","getSupportedShapes","availablePlugins","getAvailablePlugins","initAsync","pathOptions","getPathGenerator","particlesSetup","isIntersecting","_Loader_engine","Loader","domArray","dom","tagId","domContainer","getElementById","querySelector","append","currentOptions","oldIndex","findIndex","old","domItem","existingCanvases","getElementsByTagName","newItem","loadCanvas","jsonUrl","fetch","response","statusCode","json","loadRemoteOptions","newIndex","newId","addClickHandler","eventDispatcher","_Plugins_engine","Plugins","interactorsInitializers","moversInitializers","updatersInitializers","presets","pathGenerators","getPlugin","needsPlugin","presetKey","initInteractor","initUpdater","initMover","_Engine_initialized","_Engine_loader","Engine","pathConfigJson","setJSON","setOnClickHandler","customDrawer","addShapeDrawer","addPreset","addPlugin","addPathGenerator","interactorInitializer","addInteractor","moverInitializer","addParticleMover","updaterInitializer","addParticleUpdater","ExternalInteractorBase","ParticlesInteractorBase","_arrayLikeToArray","len","arr2","_assertThisInitialized","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_createForOfIteratorHelper","allowArrayLike","it","normalCompletion","didErr","step","_e2","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_superPropBase","property","_get","desc","_getPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","_typeof","_possibleConstructorReturn","assertThisInitialized","_setPrototypeOf","_slicedToArray","_i","_s","_arr","_n","unsupportedIterableToArray","_toConsumableArray","arrayLikeToArray","_unsupportedIterableToArray","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","ns","def","definition","chunkId","all","promises","miniCssF","prop","inProgress","dataWebpackPrefix","script","needAttach","scripts","getAttribute","charset","timeout","src","onScriptComplete","onerror","onload","doneFns","head","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","some","chunkLoadingGlobal","_inheritsLoose","isAbsolute","pathname","spliceOne","list","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","part","invariant","condition","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","_extends","decodeURI","URIError","resolvePathname","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","notifyListeners","_len","_key","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","navigator","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","MAX_SIGNED_31_BIT_INT","commonjsGlobal","global","createEventEmitter","handlers","on","off","newValue","changedBits","React","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","_this","emitter","_proto","nextProps","oldValue","_Component2","_this2","onUpdate","_proto2","onlyChild","excluded","sourceKeys","createNamedContext","historyContext","Router","computeRootMatch","isExact","_pendingLocation","RouterContext","staticContext","HistoryContext","cache","cacheCount","matchPath","matched","cacheKey","pathCache","regexp","compilePath","Route","createURL","staticHandler","methodName","noop","Switch","computedMatch","BrowserRouter","createHistory","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","innerRef","navigate","rest","ex","isModifiedEvent","forwardedRef","Link","ariaCurrent","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","xmlns","viewBox","x1","y1","x2","y2","stopColor","dur","repeatCount","AbsorberSizeLimit","AbsorberSize","Absorber","draggable","orbits","AbsorberInstance","absorbers","dragging","sizeFactor","absorberOrbit","needsNewPosition","updateParticlePosition","arc","newPosition","setTo","minSize","absorberOrbitDirection","orbitRadius","orbitAngle","orbitDirection","updateFunc","addV","addTo","Absorbers","interactivityAbsorbers","getAbsorber","idxOrName","addAbsorber","absorberOptions","absorber","modeAbsorbers","absorbersModeOptions","absorbersOptions","aPosition","AbsorbersPlugin","optionsCast","loadAbsorbersPlugin","_EmitterInstance_firstSpawn","_EmitterInstance_startParticlesAdded","_EmitterInstance_engine","CircleShape","theta","randomTheta","atan","tan","generateTheta","maxRadius","randomRadius","EmitterLife","wait","EmitterRate","EmitterSize","Emitter","startCount","domId","spawnColor","EmitterInstance","emitters","currentDuration","currentEmitDelay","currentSpawnDelay","spawnDelay","emitterShapeManager","getShape","lifeCount","immortal","emitDelay","prepareToDie","emitParticles","emit","elRect","removeEmitter","getSize","hslAnimation","pPosition","randomPosition","initValue","maxValue","colorOffset","emitFactor","_Emitters_engine","Emitters","interactivityEmitters","getEmitter","addEmitter","playEmitter","externalPlay","pauseEmitter","externalPause","emitterOptions","modeEmitters","emitterModeOptions","emittersOptions","ePosition","_ShapeManager_engine","ShapeManager","randomSquareCoordinate","_EmittersPlugin_engine","SquareShape","halfW","halfH","side","EmittersPlugin","loadEmittersPlugin","addEmitterShape","addShape","TrailMaker","trailOptions","optDelay","canEmit","lastPosition","loadExternalTrailInteraction","PolygonMaskDrawStroke","PolygonMaskDraw","PolygonMaskInline","arrangement","PolygonMaskLocalSvg","PolygonMaskMove","PolygonMask","inline","scale","drawPolygonMask","rawData","drawPolygonMaskPath","calcClosestPtOnSegment","s1","s2","dxx","dyy","isOnSegment","segmentBounce","wallAngle","wallNormal","multTo","subFrom","_PolygonMaskInstance_engine","PolygonMaskInstance","path2DSupported","Path2D","polygonMaskMoveRadius","polygonMaskOptions","initRawData","redrawTimeout","redraw","raw","paths","drawPoints","randomPoint","polygonBounce","checkInsidePolygon","polygonDraw","path2d","path2dSupported","_delta","closest","dist","mult","xml","forceDownload","doc","DOMParser","parseFromString","svg","svgPaths","getTotalLength","segments","pathSegList","numberOfItems","getItem","svgPathSeg","SVGPathSeg","pathSegType","PATHSEG_MOVETO_ABS","PATHSEG_LINETO_ABS","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_ARC_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","absSeg","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_REL","PATHSEG_MOVETO_REL","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","relSeg","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","parsePaths","svgUrl","req","parseSvgPath","getRandomPoint","getRandomPointByLength","getEquidistantPointByIndex","getPointByIndex","coords","getPointAtLength","totalLength","tot","pathDistance","pathData","matrix","createSVGMatrix","finalPath","transform","addPath","downloadSvgPath","createPath2D","_PolygonMaskPlugin_engine","PolygonMaskPlugin","polygonOptions","loadPolygonMaskPlugin","RollUpdater","rollOpt","alterType","updateRoll","loadRollUpdater","initPjs","particlesJS","pJSDom","AngleUpdater","rotateOptions","rotateDirection","rotateAnimation","updateAngle","loadAngleUpdater","BaseMover","spinOptions","spinPos","spinCenter","spinAcceleration","particleOptions","slowFactor","particlePos","getProximitySpeedFactor","baseSpeed","maxSize","applyPath","gravityFactor","zVelocityFactor","maxCanvasSize","dxFixed","dyFixed","hDistance","vDistance","vel","applyDistance","loadBaseMover","addMover","CircleDrawer","loadCircleShape","updateColorValue","valueAnimation","decrease","ColorUpdater","updateColor","loadColorUpdater","Attractor","hoverMode","clickMode","mouseMoveStatus","hoverEnabled","clickEnabled","hoverAttract","clickAttract","attractRadius","processAttract","attractOptions","attractFactor","normVec","loadExternalAttractInteraction","Bouncer","processMouseBounce","singleSelectorBounce","tolerance","processBounce","elem","offsetLeft","offsetTop","loadExternalBounceInteraction","calculateBubbleValue","particleValue","modeValue","optionsValue","Bubbler","divBubble","hoverBubble","clickBubble","singleSelectorHover","repulseRadius","hoverBubbleSize","hoverBubbleOpacity","hoverBubbleColor","distMouse","timeSpent","bubbleParam","bubbleObj","optValue","bubbleDuration","bubbleDistance","particlesParam","particlesObj","pObjBubble","pObj","durationEnd","mouseClickPos","sizeData","process","opacityData","pointDistance","modeSize","optSize","modeOpacity","optOpacity","bubbleOptions","finalColor","modeColor","bubbleColor","pColor","loadExternalBubbleInteraction","Connector","distMax","xDiff","yDiff","loadExternalConnectInteraction","Grabber","grabLineOptions","lineOpacity","opacityLine","linksOptions","loadExternalGrabInteraction","Pauser","loadExternalPauseInteraction","Pusher","pushNb","pushOptions","loadExternalPushInteraction","Remover","removeNb","loadExternalRemoveInteraction","Repulser","divRepulse","hoverRepulse","clickRepulse","singleSelectorRepulse","processRepulse","repulseOptions","repulseFactor","repulseDistance","vect","loadExternalRepulseInteraction","currentColorRegex","loadImage","loading","Image","downloadSvgImage","svgData","replaceImageColor","imageData","svgColoredData","imageShape","colorStyle","includes","preFillIndex","replaceColorSvg","Blob","domUrl","URL","webkitURL","createObjectURL","imageRes","replaceColor","replace_color","pImage","revokeObjectURL","img2","_ImageDrawer_images","ImageDrawer","containerImages","getImages","globalAlpha","drawImage","loadImageShape","addImage","imageFunc","imageDrawer","LifeUpdater","justSpawned","widthRange","heightRange","loadLifeUpdater","LineDrawer","loadLineShape","OpacityUpdater","opacityOptions","opacityAnimation","opacityRange","minValue","checkDestroy","updateOpacity","loadOpacityUpdater","BounceOutMode","particleBounce","newVelocity","minPos","bounceHorizontal","bounceVertical","DestroyOutMode","vx","vy","NoneOutMode","pRadius","OutOutMode","circVec","newDx","newDy","sizeValue","nextBounds","OutOfCanvasUpdater","updateOutMode","loadOutModesUpdater","ParallaxMover","parallaxForce","canvasCenter","parallaxSmooth","centerDistance","loadParallaxMover","ax","ay","p1Factor","p2Factor","loadParticlesAttractInteraction","resolveCollision","fps","absorb","Collider","radius1","radius2","round","loadParticlesCollisionsInteraction","getLinkDistance","optDistance","pos2NE","pos2SE","pos2SW","Linker","linkOpt1","linkOpt2","setColor","loadInteraction","LinkInstance","linkParticle","pOptions","p1Links","getLinkFrequency","vertices","vertex","getTriangleFrequency","drawLinkTriangle","drawLinkLine","link1","link2","triangleOptions","opacityTriangle","pos3","colorTriangle","twinkleFreq","twinkleRgb","drawn","pi1","pi2","endNE","d1","endSW","d2","endSE","d3","LinksPlugin","loadPlugin","loadParticlesLinksInteraction","PolygonDrawerBase","nb_sides","getCenter","getSidesData","sideCount","numerator","denominator","decimalSides","interiorAngleDegrees","interiorAngle","PolygonDrawer","TriangleDrawer","loadGenericPolygonShape","loadTriangleShape","loadPolygonShape","SizeUpdater","sizeVelocity","updateSize","loadSizeUpdater","fixFactor","SquareDrawer","loadSquareShape","StarDrawer","star","inset","loadStarShape","StrokeColorUpdater","strokeHslColor","_j","_k","updateStrokeColor","loadStrokeColorUpdater","validTypes","TextDrawer","charShape","allSettled","textData","textParticle","randomIndexData","fillText","strokeText","loadTextShape","loadSlim","TiltUpdater","tiltDirection","tiltAnimation","updateTilt","loadTiltUpdater","TwinkleUpdater","twinkling","twinklingOpacity","twinkleStyle","needsTwinkle","loadTwinkleUpdater","WobbleUpdater","wobbleOpt","wobbleDistance","updateWobble","loadWobbleUpdater","loadFull","particlesInit","main","_objectWithoutProperties","sourceSymbolKeys","ssrDocument","createEvent","initEvent","childNodes","importNode","host","hostname","protocol","getDocument","ssrWindow","back","CustomEvent","getComputedStyle","getPropertyValue","getWindow","win","_construct","Parent","Class","isNativeReflectConstruct","_wrapNativeSuper","_cache","Wrapper","Dom7","items","proto","makeReactive","arrayFlat","arrayFilter","$","toCreate","tempParent","qsa","uniqueArray","arrayUnique","noTrigger","shortcut","trigger","Methods","addClass","classes","classNames","classList","removeClass","hasClass","toggleClass","toggle","attr","attrs","attrName","removeAttr","transitionDuration","eventType","targetSelector","handleLiveEvent","eventData","dom7EventData","parents","handleEvent","dom7LiveListeners","proxyListener","dom7Listeners","dom7proxy","evt","dataIndex","transitionEnd","fireCallBack","outerWidth","includeMargins","styles","outerHeight","box","clientTop","clientLeft","scrollY","scrollX","css","each","compareWith","webkitMatchesSelector","msMatchesSelector","eq","returnIndex","newChild","tempDiv","prepend","nextElementSibling","nextAll","nextEls","previousElementSibling","prevAll","prevEls","foundElements","support","deviceCached","browser","_defineProperty","nextTick","getTranslate","axis","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","noExtend","nextSource","keysArray","nextKey","__swiper__","setCSSProperty","varName","varValue","animateCSSModeScroll","swiper","targetPosition","startPosition","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","progress","easeProgress","currentPosition","scrollTo","overflow","getSupport","smoothScroll","touch","DocumentTouch","passiveListener","supportsPassive","gestures","calcSupport","getDevice","overrides","_temp","platform","device","ios","android","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isSafari","isWebView","calcBrowser","eventsListeners","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","_len2","_key2","eventsArray","$el","clientWidth","clientHeight","isHorizontal","isVertical","Number","updateSlides","getDirectionLabel","getDirectionPropertyValue","label","$wrapperEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","centeredSlides","cssMode","slideSize","gridEnabled","grid","rows","initSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","visibleSlides","activeIndex","swiperSlideOffset","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","autoHeight","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","initialized","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","onTranslateToWrapperTransitionEnd","transitionEmit","slideTo","initial","indexAsNumber","isFinite","initialSlide","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","loopedSlides","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","increment","loopPreventsSlide","loopFix","_clientLeft","rewind","slidePrev","normalize","prevSnapIndex","normalizedSnapGrid","prevSnap","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","loopCreate","$selector","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","diff","loopDestroy","onTouchStart","touchEventsData","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","isTouched","isMoved","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","touchAngle","touchMoveStopPropagation","nested","startTranslate","allowMomentumBounce","grabCursor","setGrabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","currentPos","touchEndTime","timeDiff","pathTree","composedPath","lastClickTime","stopIndex","groupSize","rewindFirstIndex","rewindLastIndex","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","autoplay","running","run","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","touchEvents","domMethod","swiperMethod","passiveListeners","cancel","updateOnWindowResize","attachEvents","detachEvents","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","directionChanged","needsReLoop","changeDirection","containerEl","currentHeight","innerHeight","minRatio","addClasses","suffixes","resultClasses","prepareClasses","removeClasses","imageEl","srcset","sizes","checkForComplete","onReady","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","createElements","simulateTouch","uniqueNavElements","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","prototypes","eventsEmitter","moving","isLocked","cursor","unsetGrabCursor","wasLocked","lastSlideIndex","lastSlideRightEdge","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","defaults","passedParams","eventName","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","cls","slideEl","updates","getSlideClasses","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mounted","getWrapperSelector","getWrapper","wrapper","mount","deleteInstance","cleanStyles","deleteProps","newDefaults","installModule","prototypeGroup","protoMethod","use","observer","animationFrame","orientationChangeHandler","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observers","attach","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","Keyboard","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","Mousewheel","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","rtlFactor","sX","sY","pX","pY","HORIZONTAL_AXIS","spinX","spinY","pixelX","pixelY","positions","sign","ignoreWheelEvents","sticky","prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","releaseScroll","createElementIfNotDefined","checkProps","Navigation","getEl","toggleEl","disabledClass","lockClass","$nextEl","$prevEl","onPrevClick","onNextClick","hideOnClick","hiddenClass","targetEl","pagination","clickable","isHidden","classesToSelector","Pagination","bulletSize","pfx","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","total","paginationType","firstIndex","midIndex","suffix","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","progressbarDirection","scaleX","scaleY","paginationHTML","numberOfBullets","needsNavigation","needsPagination","needsScrollbar","scrollbar","uniqueClasses","unique","paramsList","calcLoopedSlides","slidesPerViewParams","breakpointOnlyParams","processChildren","getChildren","slots","slot","foundSlides","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","thumbs","controller","control","useIsomorphicLayoutEffect","SwiperSlideContext","SwiperContext","externalElRef","Tag","wrapperTag","WrapperTag","onSwiper","eventsAssigned","containerClasses","setContainerClasses","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","allowedParams","getParams","restProps","onBeforeBreakpoint","_containerClasses","initSwiper","SwiperCore","extendWith","renderExternal","renderExternalUpdate","mountSwiper","oldParams","oldChildren","addKey","oldChildrenKeys","childrenKeys","watchParams","newKeys","oldKeys","newKey","oldKey","getChangedParams","renderVirtual","modifiedSlides","duplicateSlide","blankSlide","renderLoop","SwiperSlide","externalRef","virtualIndex","slideElRef","slideClasses","setSlideClasses","updateClasses","slideData","isVisible","isDuplicate","isPrev","isNext","renderChildren","rel","placeholder","isMenuOpen","setIsMenuOpen","menuTrgger","smallLogo","contentList","content","setRouter","title","cubeColor","thisArg","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","TypedArray","isTypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","defineProperties","isBuffer","isFormData","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","assignValue","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","forEachEntry","pair","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","AxiosError","config","captureStackTrace","utils","toJSON","description","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","envFormData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","convertValue","toISOString","Buffer","isFlatArray","exposedHelpers","build","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","fulfilled","rejected","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","isBrowser","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","write","expires","domain","secure","cookie","toGMTString","read","decodeURIComponent","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","port","requestURL","parsed","CanceledError","__CANCEL__","ignoreDuplicateOf","$internals","$defaults","normalizeHeader","header","normalizeValue","matchHeaderValue","findKey","AxiosHeaders","headers","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","parser","tokensRE","parseTokens","matcher","deleteHeader","format","normalized","formatHeader","asStrings","rawHeaders","line","parseHeaders","accessor","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","samplesCount","firstSampleTS","bytes","timestamps","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","lengthComputable","progressBytes","estimated","xhrAdapter","onCanceled","requestData","requestHeaders","responseType","cancelToken","unsubscribe","signal","setContentType","XMLHttpRequest","auth","username","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","validateStatus","settle","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","onabort","ontimeout","timeoutErrorMessage","transitional","transitionalDefaults","xsrfValue","withCredentials","isURLSameOrigin","xsrfCookieName","cookies","xsrfHeaderName","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","aborted","parseProtocol","send","adapters","http","httpAdapter","xhr","nameOrAdapter","adapter","DEFAULT_CONTENT_TYPE","getDefaultAdapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","common","transformData","fns","isCancel","throwIfCancellationRequested","throwIfRequested","dispatchRequest","reason","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","defaultHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","axios","createInstance","defaultConfig","Cancel","spread","isAxiosError","formToJSON","devices","appliance","setAppliance","photos","project","copyToClipboard","innerText","clipboard","writeText","removeCopied","product_page","one_step_automated_install","pic","docLinks","docs","firstTierRouter","setFirstTierRouter","secondTierRouter","setSecondTierRouter","pathArr","projectPath","subjectPath","localStorage","setItem","proj","subj","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","reportWebVitals"],"sourceRoot":""}