/* * anime.js v3.2.1 * (c) 2020 Julian Garnier * Released under the MIT license * animejs.com */ !(function (n, e) { "object" == typeof exports && "undefined" != typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define(e) : (n.anime = e()); })(this, function () { "use strict"; var n = { update: null, begin: null, loopBegin: null, changeBegin: null, change: null, changeComplete: null, loopComplete: null, complete: null, loop: 1, direction: "normal", autoplay: !0, timelineOffset: 0 }, e = { duration: 1e3, delay: 0, endDelay: 0, easing: "easeOutElastic(1, .5)", round: 0 }, t = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective", "matrix", "matrix3d"], r = { CSS: {}, springs: {} }; function a(n, e, t) { return Math.min(Math.max(n, e), t); } function o(n, e) { return n.indexOf(e) > -1; } function u(n, e) { return n.apply(null, e); } var i = { arr: function (n) { return Array.isArray(n); }, obj: function (n) { return o(Object.prototype.toString.call(n), "Object"); }, pth: function (n) { return i.obj(n) && n.hasOwnProperty("totalLength"); }, svg: function (n) { return n instanceof SVGElement; }, inp: function (n) { return n instanceof HTMLInputElement; }, dom: function (n) { return n.nodeType || i.svg(n); }, str: function (n) { return "string" == typeof n; }, fnc: function (n) { return "function" == typeof n; }, und: function (n) { return void 0 === n; }, nil: function (n) { return i.und(n) || null === n; }, hex: function (n) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n); }, rgb: function (n) { return /^rgb/.test(n); }, hsl: function (n) { return /^hsl/.test(n); }, col: function (n) { return i.hex(n) || i.rgb(n) || i.hsl(n); }, key: function (t) { return !n.hasOwnProperty(t) && !e.hasOwnProperty(t) && "targets" !== t && "keyframes" !== t; }, }; function c(n) { var e = /\(([^)]+)\)/.exec(n); return e ? e[1].split(",").map(function (n) { return parseFloat(n); }) : []; } function s(n, e) { var t = c(n), o = a(i.und(t[0]) ? 1 : t[0], 0.1, 100), u = a(i.und(t[1]) ? 100 : t[1], 0.1, 100), s = a(i.und(t[2]) ? 10 : t[2], 0.1, 100), f = a(i.und(t[3]) ? 0 : t[3], 0.1, 100), l = Math.sqrt(u / o), d = s / (2 * Math.sqrt(u * o)), p = d < 1 ? l * Math.sqrt(1 - d * d) : 0, v = 1, h = d < 1 ? (d * l - f) / p : -f + l; function g(n) { var t = e ? (e * n) / 1e3 : n; return (t = d < 1 ? Math.exp(-t * d * l) * (v * Math.cos(p * t) + h * Math.sin(p * t)) : (v + h * t) * Math.exp(-t * l)), 0 === n || 1 === n ? n : 1 - t; } return e ? g : function () { var e = r.springs[n]; if (e) return e; for (var t = 0, a = 0; ; ) if (1 === g((t += 1 / 6))) { if (++a >= 16) break; } else a = 0; var o = t * (1 / 6) * 1e3; return (r.springs[n] = o), o; }; } function f(n) { return ( void 0 === n && (n = 10), function (e) { return Math.ceil(a(e, 1e-6, 1) * n) * (1 / n); } ); } var l, d, p = (function () { var n = 11, e = 1 / (n - 1); function t(n, e) { return 1 - 3 * e + 3 * n; } function r(n, e) { return 3 * e - 6 * n; } function a(n) { return 3 * n; } function o(n, e, o) { return ((t(e, o) * n + r(e, o)) * n + a(e)) * n; } function u(n, e, o) { return 3 * t(e, o) * n * n + 2 * r(e, o) * n + a(e); } return function (t, r, a, i) { if (0 <= t && t <= 1 && 0 <= a && a <= 1) { var c = new Float32Array(n); if (t !== r || a !== i) for (var s = 0; s < n; ++s) c[s] = o(s * e, t, a); return function (n) { return t === r && a === i ? n : 0 === n || 1 === n ? n : o(f(n), r, i); }; } function f(r) { for (var i = 0, s = 1, f = n - 1; s !== f && c[s] <= r; ++s) i += e; var l = i + ((r - c[--s]) / (c[s + 1] - c[s])) * e, d = u(l, t, a); return d >= 0.001 ? (function (n, e, t, r) { for (var a = 0; a < 4; ++a) { var i = u(e, t, r); if (0 === i) return e; e -= (o(e, t, r) - n) / i; } return e; })(r, l, t, a) : 0 === d ? l : (function (n, e, t, r, a) { for (var u, i, c = 0; (u = o((i = e + (t - e) / 2), r, a) - n) > 0 ? (t = i) : (e = i), Math.abs(u) > 1e-7 && ++c < 10; ); return i; })(r, i, i + e, t, a); } }; })(), v = ((l = { linear: function () { return function (n) { return n; }; }, }), (d = { Sine: function () { return function (n) { return 1 - Math.cos((n * Math.PI) / 2); }; }, Circ: function () { return function (n) { return 1 - Math.sqrt(1 - n * n); }; }, Back: function () { return function (n) { return n * n * (3 * n - 2); }; }, Bounce: function () { return function (n) { for (var e, t = 4; n < ((e = Math.pow(2, --t)) - 1) / 11; ); return 1 / Math.pow(4, 3 - t) - 7.5625 * Math.pow((3 * e - 2) / 22 - n, 2); }; }, Elastic: function (n, e) { void 0 === n && (n = 1), void 0 === e && (e = 0.5); var t = a(n, 1, 10), r = a(e, 0.1, 2); return function (n) { return 0 === n || 1 === n ? n : -t * Math.pow(2, 10 * (n - 1)) * Math.sin(((n - 1 - (r / (2 * Math.PI)) * Math.asin(1 / t)) * (2 * Math.PI)) / r); }; }, }), ["Quad", "Cubic", "Quart", "Quint", "Expo"].forEach(function (n, e) { d[n] = function () { return function (n) { return Math.pow(n, e + 2); }; }; }), Object.keys(d).forEach(function (n) { var e = d[n]; (l["easeIn" + n] = e), (l["easeOut" + n] = function (n, t) { return function (r) { return 1 - e(n, t)(1 - r); }; }), (l["easeInOut" + n] = function (n, t) { return function (r) { return r < 0.5 ? e(n, t)(2 * r) / 2 : 1 - e(n, t)(-2 * r + 2) / 2; }; }), (l["easeOutIn" + n] = function (n, t) { return function (r) { return r < 0.5 ? (1 - e(n, t)(1 - 2 * r)) / 2 : (e(n, t)(2 * r - 1) + 1) / 2; }; }); }), l); function h(n, e) { if (i.fnc(n)) return n; var t = n.split("(")[0], r = v[t], a = c(n); switch (t) { case "spring": return s(n, e); case "cubicBezier": return u(p, a); case "steps": return u(f, a); default: return u(r, a); } } function g(n) { try { return document.querySelectorAll(n); } catch (n) { return; } } function m(n, e) { for (var t = n.length, r = arguments.length >= 2 ? arguments[1] : void 0, a = [], o = 0; o < t; o++) if (o in n) { var u = n[o]; e.call(r, u, o, n) && a.push(u); } return a; } function y(n) { return n.reduce(function (n, e) { return n.concat(i.arr(e) ? y(e) : e); }, []); } function b(n) { return i.arr(n) ? n : (i.str(n) && (n = g(n) || n), n instanceof NodeList || n instanceof HTMLCollection ? [].slice.call(n) : [n]); } function M(n, e) { return n.some(function (n) { return n === e; }); } function x(n) { var e = {}; for (var t in n) e[t] = n[t]; return e; } function w(n, e) { var t = x(n); for (var r in n) t[r] = e.hasOwnProperty(r) ? e[r] : n[r]; return t; } function k(n, e) { var t = x(n); for (var r in e) t[r] = i.und(n[r]) ? e[r] : n[r]; return t; } function O(n) { return i.rgb(n) ? (t = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec((e = n))) ? "rgba(" + t[1] + ",1)" : e : i.hex(n) ? ((r = n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (n, e, t, r) { return e + e + t + t + r + r; })), (a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r)), "rgba(" + parseInt(a[1], 16) + "," + parseInt(a[2], 16) + "," + parseInt(a[3], 16) + ",1)") : i.hsl(n) ? (function (n) { var e, t, r, a = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(n) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(n), o = parseInt(a[1], 10) / 360, u = parseInt(a[2], 10) / 100, i = parseInt(a[3], 10) / 100, c = a[4] || 1; function s(n, e, t) { return t < 0 && (t += 1), t > 1 && (t -= 1), t < 1 / 6 ? n + 6 * (e - n) * t : t < 0.5 ? e : t < 2 / 3 ? n + (e - n) * (2 / 3 - t) * 6 : n; } if (0 == u) e = t = r = i; else { var f = i < 0.5 ? i * (1 + u) : i + u - i * u, l = 2 * i - f; (e = s(l, f, o + 1 / 3)), (t = s(l, f, o)), (r = s(l, f, o - 1 / 3)); } return "rgba(" + 255 * e + "," + 255 * t + "," + 255 * r + "," + c + ")"; })(n) : void 0; var e, t, r, a; } function C(n) { var e = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(n); if (e) return e[1]; } function P(n, e) { return i.fnc(n) ? n(e.target, e.id, e.total) : n; } function I(n, e) { return n.getAttribute(e); } function D(n, e, t) { if (M([t, "deg", "rad", "turn"], C(e))) return e; var a = r.CSS[e + t]; if (!i.und(a)) return a; var o = document.createElement(n.tagName), u = n.parentNode && n.parentNode !== document ? n.parentNode : document.body; u.appendChild(o), (o.style.position = "absolute"), (o.style.width = 100 + t); var c = 100 / o.offsetWidth; u.removeChild(o); var s = c * parseFloat(e); return (r.CSS[e + t] = s), s; } function B(n, e, t) { if (e in n.style) { var r = e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(), a = n.style[e] || getComputedStyle(n).getPropertyValue(r) || "0"; return t ? D(n, a, t) : a; } } function T(n, e) { return i.dom(n) && !i.inp(n) && (!i.nil(I(n, e)) || (i.svg(n) && n[e])) ? "attribute" : i.dom(n) && M(t, e) ? "transform" : i.dom(n) && "transform" !== e && B(n, e) ? "css" : null != n[e] ? "object" : void 0; } function E(n) { if (i.dom(n)) { for (var e, t = n.style.transform || "", r = /(\w+)\(([^)]*)\)/g, a = new Map(); (e = r.exec(t)); ) a.set(e[1], e[2]); return a; } } function F(n, e, t, r) { var a, u = o(e, "scale") ? 1 : 0 + (o((a = e), "translate") || "perspective" === a ? "px" : o(a, "rotate") || o(a, "skew") ? "deg" : void 0), i = E(n).get(e) || u; return t && (t.transforms.list.set(e, i), (t.transforms.last = e)), r ? D(n, i, r) : i; } function A(n, e, t, r) { switch (T(n, e)) { case "transform": return F(n, e, r, t); case "css": return B(n, e, t); case "attribute": return I(n, e); default: return n[e] || 0; } } function N(n, e) { var t = /^(\*=|\+=|-=)/.exec(n); if (!t) return n; var r = C(n) || 0, a = parseFloat(e), o = parseFloat(n.replace(t[0], "")); switch (t[0][0]) { case "+": return a + o + r; case "-": return a - o + r; case "*": return a * o + r; } } function S(n, e) { if (i.col(n)) return O(n); if (/\s/g.test(n)) return n; var t = C(n), r = t ? n.substr(0, n.length - t.length) : n; return e ? r + e : r; } function L(n, e) { return Math.sqrt(Math.pow(e.x - n.x, 2) + Math.pow(e.y - n.y, 2)); } function j(n) { for (var e, t = n.points, r = 0, a = 0; a < t.numberOfItems; a++) { var o = t.getItem(a); a > 0 && (r += L(e, o)), (e = o); } return r; } function q(n) { if (n.getTotalLength) return n.getTotalLength(); switch (n.tagName.toLowerCase()) { case "circle": return (o = n), 2 * Math.PI * I(o, "r"); case "rect": return 2 * I((a = n), "width") + 2 * I(a, "height"); case "line": return L({ x: I((r = n), "x1"), y: I(r, "y1") }, { x: I(r, "x2"), y: I(r, "y2") }); case "polyline": return j(n); case "polygon": return (t = (e = n).points), j(e) + L(t.getItem(t.numberOfItems - 1), t.getItem(0)); } var e, t, r, a, o; } function H(n, e) { var t = e || {}, r = t.el || (function (n) { for (var e = n.parentNode; i.svg(e) && i.svg(e.parentNode); ) e = e.parentNode; return e; })(n), a = r.getBoundingClientRect(), o = I(r, "viewBox"), u = a.width, c = a.height, s = t.viewBox || (o ? o.split(" ") : [0, 0, u, c]); return { el: r, viewBox: s, x: s[0] / 1, y: s[1] / 1, w: u, h: c, vW: s[2], vH: s[3] }; } function V(n, e, t) { function r(t) { void 0 === t && (t = 0); var r = e + t >= 1 ? e + t : 0; return n.el.getPointAtLength(r); } var a = H(n.el, n.svg), o = r(), u = r(-1), i = r(1), c = t ? 1 : a.w / a.vW, s = t ? 1 : a.h / a.vH; switch (n.property) { case "x": return (o.x - a.x) * c; case "y": return (o.y - a.y) * s; case "angle": return (180 * Math.atan2(i.y - u.y, i.x - u.x)) / Math.PI; } } function $(n, e) { var t = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g, r = S(i.pth(n) ? n.totalLength : n, e) + ""; return { original: r, numbers: r.match(t) ? r.match(t).map(Number) : [0], strings: i.str(n) || e ? r.split(t) : [] }; } function W(n) { return m(n ? y(i.arr(n) ? n.map(b) : b(n)) : [], function (n, e, t) { return t.indexOf(n) === e; }); } function X(n) { var e = W(n); return e.map(function (n, t) { return { target: n, id: t, total: e.length, transforms: { list: E(n) } }; }); } function Y(n, e) { var t = x(e); if ((/^spring/.test(t.easing) && (t.duration = s(t.easing)), i.arr(n))) { var r = n.length; 2 === r && !i.obj(n[0]) ? (n = { value: n }) : i.fnc(e.duration) || (t.duration = e.duration / r); } var a = i.arr(n) ? n : [n]; return a .map(function (n, t) { var r = i.obj(n) && !i.pth(n) ? n : { value: n }; return i.und(r.delay) && (r.delay = t ? 0 : e.delay), i.und(r.endDelay) && (r.endDelay = t === a.length - 1 ? e.endDelay : 0), r; }) .map(function (n) { return k(n, t); }); } function Z(n, e) { var t = [], r = e.keyframes; for (var a in (r && (e = k( (function (n) { for ( var e = m( y( n.map(function (n) { return Object.keys(n); }) ), function (n) { return i.key(n); } ).reduce(function (n, e) { return n.indexOf(e) < 0 && n.push(e), n; }, []), t = {}, r = function (r) { var a = e[r]; t[a] = n.map(function (n) { var e = {}; for (var t in n) i.key(t) ? t == a && (e.value = n[t]) : (e[t] = n[t]); return e; }); }, a = 0; a < e.length; a++ ) r(a); return t; })(r), e )), e)) i.key(a) && t.push({ name: a, tweens: Y(e[a], n) }); return t; } function G(n, e) { var t; return n.tweens.map(function (r) { var a = (function (n, e) { var t = {}; for (var r in n) { var a = P(n[r], e); i.arr(a) && 1 === (a = a.map(function (n) { return P(n, e); })).length && (a = a[0]), (t[r] = a); } return (t.duration = parseFloat(t.duration)), (t.delay = parseFloat(t.delay)), t; })(r, e), o = a.value, u = i.arr(o) ? o[1] : o, c = C(u), s = A(e.target, n.name, c, e), f = t ? t.to.original : s, l = i.arr(o) ? o[0] : f, d = C(l) || C(s), p = c || d; return ( i.und(u) && (u = f), (a.from = $(l, p)), (a.to = $(N(u, l), p)), (a.start = t ? t.end : 0), (a.end = a.start + a.delay + a.duration + a.endDelay), (a.easing = h(a.easing, a.duration)), (a.isPath = i.pth(o)), (a.isPathTargetInsideSVG = a.isPath && i.svg(e.target)), (a.isColor = i.col(a.from.original)), a.isColor && (a.round = 1), (t = a), a ); }); } var Q = { css: function (n, e, t) { return (n.style[e] = t); }, attribute: function (n, e, t) { return n.setAttribute(e, t); }, object: function (n, e, t) { return (n[e] = t); }, transform: function (n, e, t, r, a) { if ((r.list.set(e, t), e === r.last || a)) { var o = ""; r.list.forEach(function (n, e) { o += e + "(" + n + ") "; }), (n.style.transform = o); } }, }; function z(n, e) { X(n).forEach(function (n) { for (var t in e) { var r = P(e[t], n), a = n.target, o = C(r), u = A(a, t, o, n), i = N(S(r, o || C(u)), u), c = T(a, t); Q[c](a, t, i, n.transforms, !0); } }); } function _(n, e) { return m( y( n.map(function (n) { return e.map(function (e) { return (function (n, e) { var t = T(n.target, e.name); if (t) { var r = G(e, n), a = r[r.length - 1]; return { type: t, property: e.name, animatable: n, tweens: r, duration: a.end, delay: r[0].delay, endDelay: a.endDelay }; } })(n, e); }); }) ), function (n) { return !i.und(n); } ); } function R(n, e) { var t = n.length, r = function (n) { return n.timelineOffset ? n.timelineOffset : 0; }, a = {}; return ( (a.duration = t ? Math.max.apply( Math, n.map(function (n) { return r(n) + n.duration; }) ) : e.duration), (a.delay = t ? Math.min.apply( Math, n.map(function (n) { return r(n) + n.delay; }) ) : e.delay), (a.endDelay = t ? a.duration - Math.max.apply( Math, n.map(function (n) { return r(n) + n.duration - n.endDelay; }) ) : e.endDelay), a ); } var J = 0; var K = [], U = (function () { var n; function e(t) { for (var r = K.length, a = 0; a < r; ) { var o = K[a]; o.paused ? (K.splice(a, 1), r--) : (o.tick(t), a++); } n = a > 0 ? requestAnimationFrame(e) : void 0; } return ( "undefined" != typeof document && document.addEventListener("visibilitychange", function () { en.suspendWhenDocumentHidden && (nn() ? (n = cancelAnimationFrame(n)) : (K.forEach(function (n) { return n._onDocumentVisibility(); }), U())); }), function () { n || (nn() && en.suspendWhenDocumentHidden) || !(K.length > 0) || (n = requestAnimationFrame(e)); } ); })(); function nn() { return !!document && document.hidden; } function en(t) { void 0 === t && (t = {}); var r, o = 0, u = 0, i = 0, c = 0, s = null; function f(n) { var e = window.Promise && new Promise(function (n) { return (s = n); }); return (n.finished = e), e; } var l, d, p, v, h, g, y, b, M = ((d = w(n, (l = t))), (p = w(e, l)), (v = Z(p, l)), (h = X(l.targets)), (g = _(h, v)), (y = R(g, p)), (b = J), J++, k(d, { id: b, children: [], animatables: h, animations: g, duration: y.duration, delay: y.delay, endDelay: y.endDelay })); f(M); function x() { var n = M.direction; "alternate" !== n && (M.direction = "normal" !== n ? "normal" : "reverse"), (M.reversed = !M.reversed), r.forEach(function (n) { return (n.reversed = M.reversed); }); } function O(n) { return M.reversed ? M.duration - n : n; } function C() { (o = 0), (u = O(M.currentTime) * (1 / en.speed)); } function P(n, e) { e && e.seek(n - e.timelineOffset); } function I(n) { for (var e = 0, t = M.animations, r = t.length; e < r; ) { var o = t[e], u = o.animatable, i = o.tweens, c = i.length - 1, s = i[c]; c && (s = m(i, function (e) { return n < e.end; })[0] || s); for (var f = a(n - s.start - s.delay, 0, s.duration) / s.duration, l = isNaN(f) ? 1 : s.easing(f), d = s.to.strings, p = s.round, v = [], h = s.to.numbers.length, g = void 0, y = 0; y < h; y++) { var b = void 0, x = s.to.numbers[y], w = s.from.numbers[y] || 0; (b = s.isPath ? V(s.value, l * x, s.isPathTargetInsideSVG) : w + l * (x - w)), p && ((s.isColor && y > 2) || (b = Math.round(b * p) / p)), v.push(b); } var k = d.length; if (k) { g = d[0]; for (var O = 0; O < k; O++) { d[O]; var C = d[O + 1], P = v[O]; isNaN(P) || (g += C ? P + C : P + " "); } } else g = v[0]; Q[o.type](u.target, o.property, g, u.transforms), (o.currentValue = g), e++; } } function D(n) { M[n] && !M.passThrough && M[n](M); } function B(n) { var e = M.duration, t = M.delay, l = e - M.endDelay, d = O(n); (M.progress = a((d / e) * 100, 0, 100)), (M.reversePlayback = d < M.currentTime), r && (function (n) { if (M.reversePlayback) for (var e = c; e--; ) P(n, r[e]); else for (var t = 0; t < c; t++) P(n, r[t]); })(d), !M.began && M.currentTime > 0 && ((M.began = !0), D("begin")), !M.loopBegan && M.currentTime > 0 && ((M.loopBegan = !0), D("loopBegin")), d <= t && 0 !== M.currentTime && I(0), ((d >= l && M.currentTime !== e) || !e) && I(e), d > t && d < l ? (M.changeBegan || ((M.changeBegan = !0), (M.changeCompleted = !1), D("changeBegin")), D("change"), I(d)) : M.changeBegan && ((M.changeCompleted = !0), (M.changeBegan = !1), D("changeComplete")), (M.currentTime = a(d, 0, e)), M.began && D("update"), n >= e && ((u = 0), M.remaining && !0 !== M.remaining && M.remaining--, M.remaining ? ((o = i), D("loopComplete"), (M.loopBegan = !1), "alternate" === M.direction && x()) : ((M.paused = !0), M.completed || ((M.completed = !0), D("loopComplete"), D("complete"), !M.passThrough && "Promise" in window && (s(), f(M))))); } return ( (M.reset = function () { var n = M.direction; (M.passThrough = !1), (M.currentTime = 0), (M.progress = 0), (M.paused = !0), (M.began = !1), (M.loopBegan = !1), (M.changeBegan = !1), (M.completed = !1), (M.changeCompleted = !1), (M.reversePlayback = !1), (M.reversed = "reverse" === n), (M.remaining = M.loop), (r = M.children); for (var e = (c = r.length); e--; ) M.children[e].reset(); ((M.reversed && !0 !== M.loop) || ("alternate" === n && 1 === M.loop)) && M.remaining++, I(M.reversed ? M.duration : 0); }), (M._onDocumentVisibility = C), (M.set = function (n, e) { return z(n, e), M; }), (M.tick = function (n) { (i = n), o || (o = i), B((i + (u - o)) * en.speed); }), (M.seek = function (n) { B(O(n)); }), (M.pause = function () { (M.paused = !0), C(); }), (M.play = function () { M.paused && (M.completed && M.reset(), (M.paused = !1), K.push(M), C(), U()); }), (M.reverse = function () { x(), (M.completed = !M.reversed), C(); }), (M.restart = function () { M.reset(), M.play(); }), (M.remove = function (n) { rn(W(n), M); }), M.reset(), M.autoplay && M.play(), M ); } function tn(n, e) { for (var t = e.length; t--; ) M(n, e[t].animatable.target) && e.splice(t, 1); } function rn(n, e) { var t = e.animations, r = e.children; tn(n, t); for (var a = r.length; a--; ) { var o = r[a], u = o.animations; tn(n, u), u.length || o.children.length || r.splice(a, 1); } t.length || r.length || e.pause(); } return ( (en.version = "3.2.1"), (en.speed = 1), (en.suspendWhenDocumentHidden = !0), (en.running = K), (en.remove = function (n) { for (var e = W(n), t = K.length; t--; ) rn(e, K[t]); }), (en.get = A), (en.set = z), (en.convertPx = D), (en.path = function (n, e) { var t = i.str(n) ? g(n)[0] : n, r = e || 100; return function (n) { return { property: n, el: t, svg: H(t), totalLength: q(t) * (r / 100) }; }; }), (en.setDashoffset = function (n) { var e = q(n); return n.setAttribute("stroke-dasharray", e), e; }), (en.stagger = function (n, e) { void 0 === e && (e = {}); var t = e.direction || "normal", r = e.easing ? h(e.easing) : null, a = e.grid, o = e.axis, u = e.from || 0, c = "first" === u, s = "center" === u, f = "last" === u, l = i.arr(n), d = l ? parseFloat(n[0]) : parseFloat(n), p = l ? parseFloat(n[1]) : 0, v = C(l ? n[1] : n) || 0, g = e.start || 0 + (l ? d : 0), m = [], y = 0; return function (n, e, i) { if ((c && (u = 0), s && (u = (i - 1) / 2), f && (u = i - 1), !m.length)) { for (var h = 0; h < i; h++) { if (a) { var b = s ? (a[0] - 1) / 2 : u % a[0], M = s ? (a[1] - 1) / 2 : Math.floor(u / a[0]), x = b - (h % a[0]), w = M - Math.floor(h / a[0]), k = Math.sqrt(x * x + w * w); "x" === o && (k = -x), "y" === o && (k = -w), m.push(k); } else m.push(Math.abs(u - h)); y = Math.max.apply(Math, m); } r && (m = m.map(function (n) { return r(n / y) * y; })), "reverse" === t && (m = m.map(function (n) { return o ? (n < 0 ? -1 * n : -n) : Math.abs(y - n); })); } return g + (l ? (p - d) / y : d) * (Math.round(100 * m[e]) / 100) + v; }; }), (en.timeline = function (n) { void 0 === n && (n = {}); var t = en(n); return ( (t.duration = 0), (t.add = function (r, a) { var o = K.indexOf(t), u = t.children; function c(n) { n.passThrough = !0; } o > -1 && K.splice(o, 1); for (var s = 0; s < u.length; s++) c(u[s]); var f = k(r, w(e, n)); f.targets = f.targets || n.targets; var l = t.duration; (f.autoplay = !1), (f.direction = t.direction), (f.timelineOffset = i.und(a) ? l : N(a, l)), c(t), t.seek(f.timelineOffset); var d = en(f); c(d), u.push(d); var p = R(u, n); return (t.delay = p.delay), (t.endDelay = p.endDelay), (t.duration = p.duration), t.seek(0), t.reset(), t.autoplay && t.play(), t; }), t ); }), (en.easing = h), (en.penner = v), (en.random = function (n, e) { return Math.floor(Math.random() * (e - n + 1)) + n; }), en ); });