UNPKG

chbim-plugins

Version:

此插件和chbim云平台强绑定

842 lines 1.38 MB
var xy = Object.defineProperty; var wy = (x, a, o) => a in x ? xy(x, a, { enumerable: !0, configurable: !0, writable: !0, value: o }) : x[a] = o; var Go = (x, a, o) => (wy(x, typeof a != "symbol" ? a + "" : a, o), o); import { openBlock as Zu, createElementBlock as Ju, normalizeClass as Nd, renderSlot as Fd, defineComponent as of, ref as Fc, onMounted as sf, createElementVNode as Mr, toDisplayString as Ty, createApp as xd } from "vue"; const My = (x, a) => { const o = x.__vccOpts || x; for (const [c, f] of a) o[c] = f; return o; }, Sy = { name: "MukButton" }, Ey = /* @__PURE__ */ Object.assign(Sy, { props: { size: { type: String, default: "middle" }, type: { type: String, default: "default" } }, setup(x) { return (a, o) => (Zu(), Ju("button", { class: Nd(["muk-btn", [x.size, x.type]]) }, [ Fd(a.$slots, "default", {}, void 0, !0) ], 2)); } }), by = /* @__PURE__ */ My(Ey, [["__scopeId", "data-v-0e6d93cd"]]); class Cy { constructor() { this.dom = { mask: document.querySelector(".js-mask"), slices: [...document.querySelectorAll(".js-mask__slice")], lines: [...document.querySelectorAll(".js-mask-line")], logo: document.querySelector(".js-logo"), titles: [...document.querySelectorAll(".js-transition-title")] }, this.tl = null, this.state = !1, this.init(); } resetScroll() { window.scrollTo(0, 0); } createTimeline() { this.tl = new TimelineMax({ paused: !0, onComplete: () => { this.state = !1; } }), this.tl.set(this.dom.titles, { yPercent: 0 }).set(this.dom.mask, { autoAlpha: 1 }).staggerFromTo( this.dom.slices, 1.5, { xPercent: 100 }, { xPercent: 0, ease: Expo.easeInOut }, -0.075 ).addCallback(this.resetScroll.bind(this)).addLabel("loaderStart").set(this.dom.titles, { yPercent: -100 }).set([this.dom.lines[0], this.dom.logo], { autoAlpha: 1 }).fromTo( this.dom.logo, 1, { yPercent: -100, rotation: 10 }, { yPercent: 0, rotation: 0, ease: Expo.easeOut } ).addLabel("intermediateFrame").staggerFromTo( this.dom.lines, 0.5, { scaleX: 0 }, { scaleX: 1, ease: Expo.easeInOut }, 0.75, "-=1" ).set(this.dom.lines, { transformOrigin: "right" }).fromTo( this.dom.lines[0], 1, { scaleX: 1 }, { scaleX: 0, ease: Expo.easeInOut } ).fromTo( this.dom.logo, 1, { yPercent: 0 }, { yPercent: 105, ease: Expo.easeOut }, "-=1" ).staggerFromTo( this.dom.slices, 0.5, { xPercent: 0 }, { xPercent: 100, ease: Expo.easeInOut }, 0.075 ).set(this.dom.mask, { autoAlpha: 0 }).addLabel("imagesStart", "-=0.85").staggerFromTo( this.dom.titles, 1.5, { yPercent: 100 }, { yPercent: 0, ease: Expo.easeInOut }, 0.05, "imagesStart" ).addLabel("loaderEnd"); } continuation() { this.init(), this.resetScroll(), this.tl.tweenFromTo("loaderStart", "loaderEnd"); } show() { this.init(), this.tl.tweenFromTo("loaderStart", "intermediateFrame"); } hide() { this.resetScroll(), this.tl.tweenFromTo("intermediateFrame", "loaderEnd"); } init() { document.querySelector(".mask-line.js-mask-line") && document.querySelector(".mask-line.js-mask-line").removeAttribute("style"), document.querySelector(".mask-line__inner.js-mask-line") && document.querySelector(".mask-line__inner.js-mask-line").removeAttribute("style"), this.createTimeline(); } } const Ay = { class: "mask js-mask" }, Py = /* @__PURE__ */ Mr("div", { class: "mask__slice js-mask__slice" }, null, -1), Ly = /* @__PURE__ */ Mr("div", { class: "mask__slice js-mask__slice" }, null, -1), Ry = /* @__PURE__ */ Mr("div", { class: "mask__slice js-mask__slice" }, null, -1), Oy = { class: "mask__inner" }, Iy = { class: "logo logo--mask" }, Dy = { class: "js-logo", style: { color: "#fff" } }, zy = /* @__PURE__ */ Mr("div", { class: "mask-line js-mask-line" }, [ /* @__PURE__ */ Mr("div", { class: "mask-line__inner js-mask-line" }) ], -1), ky = { name: "BimCutscenes" }, By = /* @__PURE__ */ of({ ...ky, props: { text: { type: String, default: "CHBIM云平台" } }, setup(x, { expose: a }) { const o = Fc(null), c = () => { o.value === null && (o.value = new Cy()); }, f = () => { c(), o.value.continuation(); }; return sf(() => { c(); }), a({ continuation: f }), (u, m) => (Zu(), Ju("div", Ay, [ Py, Ly, Ry, Mr("div", Oy, [ Mr("figure", Iy, [ Mr("p", Dy, Ty(x.text), 1) ]), zy ]) ])); } }); /*! * VERSION: 2.0.2 * DATE: 2018-08-27 * UPDATES AND DOCS AT: http://greensock.com * * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin * * @license Copyright (c) 2008-2018, GreenSock. All rights reserved. * This work is subject to the terms at http://greensock.com/standard-license or for * Club GreenSock members, the software agreement that was issued with your membership. * * @author: Jack Doyle, jack@greensock.com **/ var hn = typeof module < "u" && module.exports && typeof global < "u" ? global : globalThis || window; (hn._gsQueue || (hn._gsQueue = [])).push(function() { hn._gsDefine( "TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(x, a, o) { var c = function(E) { var P, w = [], M = E.length; for (P = 0; P !== M; w.push(E[P++])) ; return w; }, f = function(E, P, w) { var M, R, C = E.cycle; for (M in C) R = C[M], E[M] = typeof R == "function" ? R(w, P[w]) : R[w % R.length]; delete E.cycle; }, u = function(E, P, w) { o.call(this, E, P, w), this._cycle = 0, this._yoyo = this.vars.yoyo === !0 || !!this.vars.yoyoEase, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._repeat && this._uncache(!0), this.render = u.prototype.render; }, m = 1e-10, g = o._internals, v = g.isSelector, S = g.isArray, b = u.prototype = o.to({}, 0.1, {}), O = []; u.version = "2.0.2", b.constructor = u, b.kill()._gc = !1, u.killTweensOf = u.killDelayedCallsTo = o.killTweensOf, u.getTweensOf = o.getTweensOf, u.lagSmoothing = o.lagSmoothing, u.ticker = o.ticker, u.render = o.render, b.invalidate = function() { return this._yoyo = this.vars.yoyo === !0 || !!this.vars.yoyoEase, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._yoyoEase = null, this._uncache(!0), o.prototype.invalidate.call(this); }, b.updateTo = function(E, P) { var w, M = this.ratio, R = this.vars.immediateRender || E.immediateRender; P && this._startTime < this._timeline._time && (this._startTime = this._timeline._time, this._uncache(!1), this._gc ? this._enabled(!0, !1) : this._timeline.insert(this, this._startTime - this._delay)); for (w in E) this.vars[w] = E[w]; if (this._initted || R) { if (P) this._initted = !1, R && this.render(0, !0, !0); else if (this._gc && this._enabled(!0, !1), this._notifyPluginsOfEnabled && this._firstPT && o._onPluginEvent("_onDisable", this), this._time / this._duration > 0.998) { var C = this._totalTime; this.render(0, !0, !1), this._initted = !1, this.render(C, !0, !1); } else if (this._initted = !1, this._init(), this._time > 0 || R) for (var U, F = 1 / (1 - M), X = this._firstPT; X; ) U = X.s + X.c, X.c *= F, X.s = U - X.c, X = X._next; } return this; }, b.render = function(E, P, w) { this._initted || this._duration === 0 && this.vars.repeat && this.invalidate(); var M, R, C, U, F, X, K, Z, ct, Rt = this._dirty ? this.totalDuration() : this._totalDuration, tt = this._time, _t = this._totalTime, G = this._cycle, Pt = this._duration, Et = this._rawPrevTime; if (E >= Rt - 1e-7 && E >= 0 ? (this._totalTime = Rt, this._cycle = this._repeat, this._yoyo && 1 & this._cycle ? (this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0) : (this._time = Pt, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1), this._reversed || (M = !0, R = "onComplete", w = w || this._timeline.autoRemoveChildren), Pt === 0 && (this._initted || !this.vars.lazy || w) && (this._startTime === this._timeline._duration && (E = 0), (0 > Et || 0 >= E && E >= -1e-7 || Et === m && this.data !== "isPause") && Et !== E && (w = !0, Et > m && (R = "onReverseComplete")), this._rawPrevTime = Z = !P || E || Et === E ? E : m)) : 1e-7 > E ? (this._totalTime = this._time = this._cycle = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (_t !== 0 || Pt === 0 && Et > 0) && (R = "onReverseComplete", M = this._reversed), 0 > E && (this._active = !1, Pt === 0 && (this._initted || !this.vars.lazy || w) && (Et >= 0 && (w = !0), this._rawPrevTime = Z = !P || E || Et === E ? E : m)), this._initted || (w = !0)) : (this._totalTime = this._time = E, this._repeat !== 0 && (U = Pt + this._repeatDelay, this._cycle = this._totalTime / U >> 0, this._cycle !== 0 && this._cycle === this._totalTime / U && E >= _t && this._cycle--, this._time = this._totalTime - this._cycle * U, this._yoyo && 1 & this._cycle && (this._time = Pt - this._time, ct = this._yoyoEase || this.vars.yoyoEase, ct && (this._yoyoEase || (ct !== !0 || this._initted ? this._yoyoEase = ct = ct === !0 ? this._ease : ct instanceof Ease ? ct : Ease.map[ct] : (ct = this.vars.ease, this._yoyoEase = ct = ct ? ct instanceof Ease ? ct : typeof ct == "function" ? new Ease(ct, this.vars.easeParams) : Ease.map[ct] || o.defaultEase : o.defaultEase)), this.ratio = ct ? 1 - ct.getRatio((Pt - this._time) / Pt) : 0)), this._time > Pt ? this._time = Pt : this._time < 0 && (this._time = 0)), this._easeType && !ct ? (F = this._time / Pt, X = this._easeType, K = this._easePower, (X === 1 || X === 3 && F >= 0.5) && (F = 1 - F), X === 3 && (F *= 2), K === 1 ? F *= F : K === 2 ? F *= F * F : K === 3 ? F *= F * F * F : K === 4 && (F *= F * F * F * F), X === 1 ? this.ratio = 1 - F : X === 2 ? this.ratio = F : this._time / Pt < 0.5 ? this.ratio = F / 2 : this.ratio = 1 - F / 2) : ct || (this.ratio = this._ease.getRatio(this._time / Pt))), tt === this._time && !w && G === this._cycle) return void (_t !== this._totalTime && this._onUpdate && (P || this._callback("onUpdate"))); if (!this._initted) { if (this._init(), !this._initted || this._gc) return; if (!w && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = tt, this._totalTime = _t, this._rawPrevTime = Et, this._cycle = G, g.lazyTweens.push(this), void (this._lazy = [E, P]); !this._time || M || ct ? M && this._ease._calcEnd && !ct && (this.ratio = this._ease.getRatio(this._time === 0 ? 0 : 1)) : this.ratio = this._ease.getRatio(this._time / Pt); } for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== tt && E >= 0 && (this._active = !0), _t === 0 && (this._initted === 2 && E > 0 && this._init(), this._startAt && (E >= 0 ? this._startAt.render(E, !0, w) : R || (R = "_dummyGS")), this.vars.onStart && (this._totalTime !== 0 || Pt === 0) && (P || this._callback("onStart"))), C = this._firstPT; C; ) C.f ? C.t[C.p](C.c * this.ratio + C.s) : C.t[C.p] = C.c * this.ratio + C.s, C = C._next; this._onUpdate && (0 > E && this._startAt && this._startTime && this._startAt.render(E, !0, w), P || (this._totalTime !== _t || R) && this._callback("onUpdate")), this._cycle !== G && (P || this._gc || this.vars.onRepeat && this._callback("onRepeat")), R && (!this._gc || w) && (0 > E && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(E, !0, w), M && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !P && this.vars[R] && this._callback(R), Pt === 0 && this._rawPrevTime === m && Z !== m && (this._rawPrevTime = 0)); }, u.to = function(E, P, w) { return new u(E, P, w); }, u.from = function(E, P, w) { return w.runBackwards = !0, w.immediateRender = w.immediateRender != 0, new u(E, P, w); }, u.fromTo = function(E, P, w, M) { return M.startAt = w, M.immediateRender = M.immediateRender != 0 && w.immediateRender != 0, new u(E, P, M); }, u.staggerTo = u.allTo = function(E, P, w, M, R, C, U) { M = M || 0; var F, X, K, Z, ct = 0, Rt = [], tt = function() { w.onComplete && w.onComplete.apply(w.onCompleteScope || this, arguments), R.apply(U || w.callbackScope || this, C || O); }, _t = w.cycle, G = w.startAt && w.startAt.cycle; for (S(E) || (typeof E == "string" && (E = o.selector(E) || E), v(E) && (E = c(E))), E = E || [], 0 > M && (E = c(E), E.reverse(), M *= -1), F = E.length - 1, K = 0; F >= K; K++) { X = {}; for (Z in w) X[Z] = w[Z]; if (_t && (f(X, E, K), X.duration != null && (P = X.duration, delete X.duration)), G) { G = X.startAt = {}; for (Z in w.startAt) G[Z] = w.startAt[Z]; f(X.startAt, E, K); } X.delay = ct + (X.delay || 0), K === F && R && (X.onComplete = tt), Rt[K] = new u(E[K], P, X), ct += M; } return Rt; }, u.staggerFrom = u.allFrom = function(E, P, w, M, R, C, U) { return w.runBackwards = !0, w.immediateRender = w.immediateRender != 0, u.staggerTo(E, P, w, M, R, C, U); }, u.staggerFromTo = u.allFromTo = function(E, P, w, M, R, C, U, F) { return M.startAt = w, M.immediateRender = M.immediateRender != 0 && w.immediateRender != 0, u.staggerTo(E, P, M, R, C, U, F); }, u.delayedCall = function(E, P, w, M, R) { return new u(P, 0, { delay: E, onComplete: P, onCompleteParams: w, callbackScope: M, onReverseComplete: P, onReverseCompleteParams: w, immediateRender: !1, useFrames: R, overwrite: 0 }); }, u.set = function(E, P) { return new u(E, 0, P); }, u.isTweening = function(E) { return o.getTweensOf(E, !0).length > 0; }; var k = function(E, P) { for (var w = [], M = 0, R = E._first; R; ) R instanceof o ? w[M++] = R : (P && (w[M++] = R), w = w.concat(k(R, P)), M = w.length), R = R._next; return w; }, I = u.getAllTweens = function(E) { return k(x._rootTimeline, E).concat(k(x._rootFramesTimeline, E)); }; u.killAll = function(E, P, w, M) { P == null && (P = !0), w == null && (w = !0); var R, C, U, F = I(M != 0), X = F.length, K = P && w && M; for (U = 0; X > U; U++) C = F[U], (K || C instanceof a || (R = C.target === C.vars.onComplete) && w || P && !R) && (E ? C.totalTime(C._reversed ? 0 : C.totalDuration()) : C._enabled(!1, !1)); }, u.killChildTweensOf = function(E, P) { if (E != null) { var w, M, R, C, U, F = g.tweenLookup; if (typeof E == "string" && (E = o.selector(E) || E), v(E) && (E = c(E)), S(E)) for (C = E.length; --C > -1; ) u.killChildTweensOf(E[C], P); else { w = []; for (R in F) for (M = F[R].target.parentNode; M; ) M === E && (w = w.concat(F[R].tweens)), M = M.parentNode; for (U = w.length, C = 0; U > C; C++) P && w[C].totalTime(w[C].totalDuration()), w[C]._enabled(!1, !1); } } }; var N = function(E, P, w, M) { P = P !== !1, w = w !== !1, M = M !== !1; for (var R, C, U = I(M), F = P && w && M, X = U.length; --X > -1; ) C = U[X], (F || C instanceof a || (R = C.target === C.vars.onComplete) && w || P && !R) && C.paused(E); }; return u.pauseAll = function(E, P, w) { N(!0, E, P, w); }, u.resumeAll = function(E, P, w) { N(!1, E, P, w); }, u.globalTimeScale = function(E) { var P = x._rootTimeline, w = o.ticker.time; return arguments.length ? (E = E || m, P._startTime = w - (w - P._startTime) * P._timeScale / E, P = x._rootFramesTimeline, w = o.ticker.frame, P._startTime = w - (w - P._startTime) * P._timeScale / E, P._timeScale = x._rootTimeline._timeScale = E, E) : P._timeScale; }, b.progress = function(E, P) { return arguments.length ? this.totalTime( this.duration() * (this._yoyo && 1 & this._cycle ? 1 - E : E) + this._cycle * (this._duration + this._repeatDelay), P ) : this._time / this.duration(); }, b.totalProgress = function(E, P) { return arguments.length ? this.totalTime(this.totalDuration() * E, P) : this._totalTime / this.totalDuration(); }, b.time = function(E, P) { return arguments.length ? (this._dirty && this.totalDuration(), E > this._duration && (E = this._duration), this._yoyo && 1 & this._cycle ? E = this._duration - E + this._cycle * (this._duration + this._repeatDelay) : this._repeat !== 0 && (E += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(E, P)) : this._time; }, b.duration = function(E) { return arguments.length ? x.prototype.duration.call(this, E) : this._duration; }, b.totalDuration = function(E) { return arguments.length ? this._repeat === -1 ? this : this.duration( (E - this._repeat * this._repeatDelay) / (this._repeat + 1) ) : (this._dirty && (this._totalDuration = this._repeat === -1 ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration); }, b.repeat = function(E) { return arguments.length ? (this._repeat = E, this._uncache(!0)) : this._repeat; }, b.repeatDelay = function(E) { return arguments.length ? (this._repeatDelay = E, this._uncache(!0)) : this._repeatDelay; }, b.yoyo = function(E) { return arguments.length ? (this._yoyo = E, this) : this._yoyo; }, u; }, !0 ), hn._gsDefine( "TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(x, a, o) { var c = function(w) { a.call(this, w), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate; var M, R, C = this.vars; for (R in C) M = C[R], v(M) && M.join("").indexOf("{self}") !== -1 && (C[R] = this._swapSelfInParams(M)); v(C.tweens) && this.add(C.tweens, 0, C.align, C.stagger); }, f = 1e-10, u = o._internals, m = c._internals = {}, g = u.isSelector, v = u.isArray, S = u.lazyTweens, b = u.lazyRender, O = hn._gsDefine.globals, k = function(w) { var M, R = {}; for (M in w) R[M] = w[M]; return R; }, I = function(w, M, R) { var C, U, F = w.cycle; for (C in F) U = F[C], w[C] = typeof U == "function" ? U(R, M[R]) : U[R % U.length]; delete w.cycle; }, N = m.pauseCallback = function() { }, E = function(w) { var M, R = [], C = w.length; for (M = 0; M !== C; R.push(w[M++])) ; return R; }, P = c.prototype = new a(); return c.version = "2.0.2", P.constructor = c, P.kill()._gc = P._forcingPlayhead = P._hasPause = !1, P.to = function(w, M, R, C) { var U = R.repeat && O.TweenMax || o; return M ? this.add(new U(w, M, R), C) : this.set(w, R, C); }, P.from = function(w, M, R, C) { return this.add((R.repeat && O.TweenMax || o).from(w, M, R), C); }, P.fromTo = function(w, M, R, C, U) { var F = C.repeat && O.TweenMax || o; return M ? this.add(F.fromTo(w, M, R, C), U) : this.set(w, C, U); }, P.staggerTo = function(w, M, R, C, U, F, X, K) { var Z, ct, Rt = new c({ onComplete: F, onCompleteParams: X, callbackScope: K, smoothChildTiming: this.smoothChildTiming }), tt = R.cycle; for (typeof w == "string" && (w = o.selector(w) || w), w = w || [], g(w) && (w = E(w)), C = C || 0, 0 > C && (w = E(w), w.reverse(), C *= -1), ct = 0; ct < w.length; ct++) Z = k(R), Z.startAt && (Z.startAt = k(Z.startAt), Z.startAt.cycle && I(Z.startAt, w, ct)), tt && (I(Z, w, ct), Z.duration != null && (M = Z.duration, delete Z.duration)), Rt.to(w[ct], M, Z, ct * C); return this.add(Rt, U); }, P.staggerFrom = function(w, M, R, C, U, F, X, K) { return R.immediateRender = R.immediateRender != 0, R.runBackwards = !0, this.staggerTo(w, M, R, C, U, F, X, K); }, P.staggerFromTo = function(w, M, R, C, U, F, X, K, Z) { return C.startAt = R, C.immediateRender = C.immediateRender != 0 && R.immediateRender != 0, this.staggerTo(w, M, C, U, F, X, K, Z); }, P.call = function(w, M, R, C) { return this.add(o.delayedCall(0, w, M, R), C); }, P.set = function(w, M, R) { return R = this._parseTimeOrLabel(R, 0, !0), M.immediateRender == null && (M.immediateRender = R === this._time && !this._paused), this.add(new o(w, 0, M), R); }, c.exportRoot = function(w, M) { w = w || {}, w.smoothChildTiming == null && (w.smoothChildTiming = !0); var R, C, U, F, X = new c(w), K = X._timeline; for (M == null && (M = !0), K._remove(X, !0), X._startTime = 0, X._rawPrevTime = X._time = X._totalTime = K._time, U = K._first; U; ) F = U._next, M && U instanceof o && U.target === U.vars.onComplete || (C = U._startTime - U._delay, 0 > C && (R = 1), X.add(U, C)), U = F; return K.add(X, 0), R && X.totalDuration(), X; }, P.add = function(w, M, R, C) { var U, F, X, K, Z, ct; if (typeof M != "number" && (M = this._parseTimeOrLabel(M, 0, !0, w)), !(w instanceof x)) { if (w instanceof Array || w && w.push && v(w)) { for (R = R || "normal", C = C || 0, U = M, F = w.length, X = 0; F > X; X++) v(K = w[X]) && (K = new c({ tweens: K })), this.add(K, U), typeof K != "string" && typeof K != "function" && (R === "sequence" ? U = K._startTime + K.totalDuration() / K._timeScale : R === "start" && (K._startTime -= K.delay())), U += C; return this._uncache(!0); } if (typeof w == "string") return this.addLabel(w, M); if (typeof w != "function") throw "Cannot add " + w + " into the timeline; it is not a tween, timeline, function, or string."; w = o.delayedCall(0, w); } if (a.prototype.add.call(this, w, M), w._time && (U = Math.max( 0, Math.min( w.totalDuration(), (this.rawTime() - w._startTime) * w._timeScale ) ), Math.abs(U - w._totalTime) > 1e-5 && w.render(U, !1, !1)), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) for (Z = this, ct = Z.rawTime() > w._startTime; Z._timeline; ) ct && Z._timeline.smoothChildTiming ? Z.totalTime(Z._totalTime, !0) : Z._gc && Z._enabled(!0, !1), Z = Z._timeline; return this; }, P.remove = function(w) { if (w instanceof x) { this._remove(w, !1); var M = w._timeline = w.vars.useFrames ? x._rootFramesTimeline : x._rootTimeline; return w._startTime = (w._paused ? w._pauseTime : M._time) - (w._reversed ? w.totalDuration() - w._totalTime : w._totalTime) / w._timeScale, this; } if (w instanceof Array || w && w.push && v(w)) { for (var R = w.length; --R > -1; ) this.remove(w[R]); return this; } return typeof w == "string" ? this.removeLabel(w) : this.kill(null, w); }, P._remove = function(w, M) { a.prototype._remove.call(this, w, M); var R = this._last; return R ? this._time > this.duration() && (this._time = this._duration, this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this; }, P.append = function(w, M) { return this.add(w, this._parseTimeOrLabel(null, M, !0, w)); }, P.insert = P.insertMultiple = function(w, M, R, C) { return this.add(w, M || 0, R, C); }, P.appendMultiple = function(w, M, R, C) { return this.add(w, this._parseTimeOrLabel(null, M, !0, w), R, C); }, P.addLabel = function(w, M) { return this._labels[w] = this._parseTimeOrLabel(M), this; }, P.addPause = function(w, M, R, C) { var U = o.delayedCall(0, N, R, C || this); return U.vars.onComplete = U.vars.onReverseComplete = M, U.data = "isPause", this._hasPause = !0, this.add(U, w); }, P.removeLabel = function(w) { return delete this._labels[w], this; }, P.getLabelTime = function(w) { return this._labels[w] != null ? this._labels[w] : -1; }, P._parseTimeOrLabel = function(w, M, R, C) { var U, F; if (C instanceof x && C.timeline === this) this.remove(C); else if (C && (C instanceof Array || C.push && v(C))) for (F = C.length; --F > -1; ) C[F] instanceof x && C[F].timeline === this && this.remove(C[F]); if (U = typeof w != "number" || M ? this.duration() > 99999999999 ? this.recent().endTime(!1) : this._duration : 0, typeof M == "string") return this._parseTimeOrLabel( M, R && typeof w == "number" && this._labels[M] == null ? w - U : 0, R ); if (M = M || 0, typeof w != "string" || !isNaN(w) && this._labels[w] == null) w == null && (w = U); else { if (F = w.indexOf("="), F === -1) return this._labels[w] == null ? R ? this._labels[w] = U + M : M : this._labels[w] + M; M = parseInt(w.charAt(F - 1) + "1", 10) * Number(w.substr(F + 1)), w = F > 1 ? this._parseTimeOrLabel(w.substr(0, F - 1), 0, R) : U; } return Number(w) + M; }, P.seek = function(w, M) { return this.totalTime( typeof w == "number" ? w : this._parseTimeOrLabel(w), M !== !1 ); }, P.stop = function() { return this.paused(!0); }, P.gotoAndPlay = function(w, M) { return this.play(w, M); }, P.gotoAndStop = function(w, M) { return this.pause(w, M); }, P.render = function(w, M, R) { this._gc && this._enabled(!0, !1); var C, U, F, X, K, Z, ct, Rt = this._time, tt = this._dirty ? this.totalDuration() : this._totalDuration, _t = this._startTime, G = this._timeScale, Pt = this._paused; if (Rt !== this._time && (w += this._time - Rt), w >= tt - 1e-7 && w >= 0) this._totalTime = this._time = tt, this._reversed || this._hasPausedChild() || (U = !0, X = "onComplete", K = !!this._timeline.autoRemoveChildren, this._duration === 0 && (0 >= w && w >= -1e-7 || this._rawPrevTime < 0 || this._rawPrevTime === f) && this._rawPrevTime !== w && this._first && (K = !0, this._rawPrevTime > f && (X = "onReverseComplete"))), this._rawPrevTime = this._duration || !M || w || this._rawPrevTime === w ? w : f, w = tt + 1e-4; else if (1e-7 > w) if (this._totalTime = this._time = 0, (Rt !== 0 || this._duration === 0 && this._rawPrevTime !== f && (this._rawPrevTime > 0 || 0 > w && this._rawPrevTime >= 0)) && (X = "onReverseComplete", U = this._reversed), 0 > w) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (K = U = !0, X = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (K = !0), this._rawPrevTime = w; else { if (this._rawPrevTime = this._duration || !M || w || this._rawPrevTime === w ? w : f, w === 0 && U) for (C = this._first; C && C._startTime === 0; ) C._duration || (U = !1), C = C._next; w = 0, this._initted || (K = !0); } else { if (this._hasPause && !this._forcingPlayhead && !M) { if (w >= Rt) for (C = this._first; C && C._startTime <= w && !Z; ) C._duration || C.data !== "isPause" || C.ratio || C._startTime === 0 && this._rawPrevTime === 0 || (Z = C), C = C._next; else for (C = this._last; C && C._startTime >= w && !Z; ) C._duration || C.data === "isPause" && C._rawPrevTime > 0 && (Z = C), C = C._prev; Z && (this._time = w = Z._startTime, this._totalTime = w + this._cycle * (this._totalDuration + this._repeatDelay)); } this._totalTime = this._time = this._rawPrevTime = w; } if (this._time !== Rt && this._first || R || K || Z) { if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== Rt && w > 0 && (this._active = !0), Rt === 0 && this.vars.onStart && (this._time === 0 && this._duration || M || this._callback("onStart")), ct = this._time, ct >= Rt) for (C = this._first; C && (F = C._next, ct === this._time && (!this._paused || Pt)); ) (C._active || C._startTime <= ct && !C._paused && !C._gc) && (Z === C && this.pause(), C._reversed ? C.render( (C._dirty ? C.totalDuration() : C._totalDuration) - (w - C._startTime) * C._timeScale, M, R ) : C.render((w - C._startTime) * C._timeScale, M, R)), C = F; else for (C = this._last; C && (F = C._prev, ct === this._time && (!this._paused || Pt)); ) { if (C._active || C._startTime <= Rt && !C._paused && !C._gc) { if (Z === C) { for (Z = C._prev; Z && Z.endTime() > this._time; ) Z.render( Z._reversed ? Z.totalDuration() - (w - Z._startTime) * Z._timeScale : (w - Z._startTime) * Z._timeScale, M, R ), Z = Z._prev; Z = null, this.pause(); } C._reversed ? C.render( (C._dirty ? C.totalDuration() : C._totalDuration) - (w - C._startTime) * C._timeScale, M, R ) : C.render((w - C._startTime) * C._timeScale, M, R); } C = F; } this._onUpdate && (M || (S.length && b(), this._callback("onUpdate"))), X && (this._gc || (_t === this._startTime || G !== this._timeScale) && (this._time === 0 || tt >= this.totalDuration()) && (U && (S.length && b(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !M && this.vars[X] && this._callback(X))); } }, P._hasPausedChild = function() { for (var w = this._first; w; ) { if (w._paused || w instanceof c && w._hasPausedChild()) return !0; w = w._next; } return !1; }, P.getChildren = function(w, M, R, C) { C = C || -9999999999; for (var U = [], F = this._first, X = 0; F; ) F._startTime < C || (F instanceof o ? M !== !1 && (U[X++] = F) : (R !== !1 && (U[X++] = F), w !== !1 && (U = U.concat(F.getChildren(!0, M, R)), X = U.length))), F = F._next; return U; }, P.getTweensOf = function(w, M) { var R, C, U = this._gc, F = [], X = 0; for (U && this._enabled(!0, !0), R = o.getTweensOf(w), C = R.length; --C > -1; ) (R[C].timeline === this || M && this._contains(R[C])) && (F[X++] = R[C]); return U && this._enabled(!1, !0), F; }, P.recent = function() { return this._recent; }, P._contains = function(w) { for (var M = w.timeline; M; ) { if (M === this) return !0; M = M.timeline; } return !1; }, P.shiftChildren = function(w, M, R) { R = R || 0; for (var C, U = this._first, F = this._labels; U; ) U._startTime >= R && (U._startTime += w), U = U._next; if (M) for (C in F) F[C] >= R && (F[C] += w); return this._uncache(!0); }, P._kill = function(w, M) { if (!w && !M) return this._enabled(!1, !1); for (var R = M ? this.getTweensOf(M) : this.getChildren(!0, !0, !1), C = R.length, U = !1; --C > -1; ) R[C]._kill(w, M) && (U = !0); return U; }, P.clear = function(w) { var M = this.getChildren(!1, !0, !0), R = M.length; for (this._time = this._totalTime = 0; --R > -1; ) M[R]._enabled(!1, !1); return w !== !1 && (this._labels = {}), this._uncache(!0); }, P.invalidate = function() { for (var w = this._first; w; ) w.invalidate(), w = w._next; return x.prototype.invalidate.call(this); }, P._enabled = function(w, M) { if (w === this._gc) for (var R = this._first; R; ) R._enabled(w, !0), R = R._next; return a.prototype._enabled.call(this, w, M); }, P.totalTime = function(w, M, R) { this._forcingPlayhead = !0; var C = x.prototype.totalTime.apply(this, arguments); return this._forcingPlayhead = !1, C; }, P.duration = function(w) { return arguments.length ? (this.duration() !== 0 && w !== 0 && this.timeScale(this._duration / w), this) : (this._dirty && this.totalDuration(), this._duration); }, P.totalDuration = function(w) { if (!arguments.length) { if (this._dirty) { for (var M, R, C = 0, U = this._last, F = 999999999999; U; ) M = U._prev, U._dirty && U.totalDuration(), U._startTime > F && this._sortChildren && !U._paused && !this._calculatingDuration ? (this._calculatingDuration = 1, this.add(U, U._startTime - U._delay), this._calculatingDuration = 0) : F = U._startTime, U._startTime < 0 && !U._paused && (C -= U._startTime, this._timeline.smoothChildTiming && (this._startTime += U._startTime / this._timeScale, this._time -= U._startTime, this._totalTime -= U._startTime, this._rawPrevTime -= U._startTime), this.shiftChildren(-U._startTime, !1, -9999999999), F = 0), R = U._startTime + U._totalDuration / U._timeScale, R > C && (C = R), U = M; this._duration = this._totalDuration = C, this._dirty = !1; } return this._totalDuration; } return w && this.totalDuration() ? this.timeScale(this._totalDuration / w) : this; }, P.paused = function(w) { if (!w) for (var M = this._first, R = this._time; M; ) M._startTime === R && M.data === "isPause" && (M._rawPrevTime = 0), M = M._next; return x.prototype.paused.apply(this, arguments); }, P.usesFrames = function() { for (var w = this._timeline; w._timeline; ) w = w._timeline; return w === x._rootFramesTimeline; }, P.rawTime = function(w) { return w && (this._paused || this._repeat && this.time() > 0 && this.totalProgress() < 1) ? this._totalTime % (this._duration + this._repeatDelay) : this._paused ? this._totalTime : (this._timeline.rawTime(w) - this._startTime) * this._timeScale; }, c; }, !0 ), hn._gsDefine( "TimelineMax", ["TimelineLite", "TweenLite", "easing.Ease"], function(x, a, o) { var c = function(O) { x.call(this, O), this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._dirty = !0; }, f = 1e-10, u = a._internals, m = u.lazyTweens, g = u.lazyRender, v = hn._gsDefine.globals, S = new o(null, null, 1, 0), b = c.prototype = new x(); return b.constructor = c, b.kill()._gc = !1, c.version = "2.0.2", b.invalidate = function() { return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), x.prototype.invalidate.call(this); }, b.addCallback = function(O, k, I, N) { return this.add(a.delayedCall(0, O, I, N), k); }, b.removeCallback = function(O, k) { if (O) if (k == null) this._kill(null, O); else for (var I = this.getTweensOf(O, !1), N = I.length, E = this._parseTimeOrLabel(k); --N > -1; ) I[N]._startTime === E && I[N]._enabled(!1, !1); return this; }, b.removePause = function(O) { return this.removeCallback(x._internals.pauseCallback, O); }, b.tweenTo = function(O, k) { k = k || {}; var I, N, E, P = { ease: S, useFrames: this.usesFrames(), immediateRender: !1, lazy: !1 }, w = k.repeat && v.TweenMax || a; for (N in k) P[N] = k[N]; return P.time = this._parseTimeOrLabel(O), I = Math.abs(Number(P.time) - this._time) / this._timeScale || 1e-3, E = new w(this, I, P), P.onStart = function() { E.target.paused(!0), E.vars.time === E.target.time() || I !== E.duration() || E.isFromTo || E.duration( Math.abs(E.vars.time - E.target.time()) / E.target._timeScale ).render(E.time(), !0, !0), k.onStart && k.onStart.apply( k.onStartScope || k.callbackScope || E, k.onStartParams || [] ); }, E; }, b.tweenFromTo = function(O, k, I) { I = I || {}, O = this._parseTimeOrLabel(O), I.startAt = { onComplete: this.seek, onCompleteParams: [O], callbackScope: this }, I.immediateRender = I.immediateRender !== !1; var N = this.tweenTo(k, I); return N.isFromTo = 1, N.duration(Math.abs(N.vars.time - O) / this._timeScale || 1e-3); }, b.render = function(O, k, I) { this._gc && this._enabled(!0, !1); var N, E, P, w, M, R, C, U, F = this._time, X = this._dirty ? this.totalDuration() : this._totalDuration, K = this._duration, Z = this._totalTime, ct = this._startTime, Rt = this._timeScale, tt = this._rawPrevTime, _t = this._paused, G = this._cycle; if (F !== this._time && (O += this._time - F), O >= X - 1e-7 && O >= 0) this._locked || (this._totalTime = X, this._cycle = this._repeat), this._reversed || this._hasPausedChild() || (E = !0, w = "onComplete", M = !!this._timeline.autoRemoveChildren, this._duration === 0 && (0 >= O && O >= -1e-7 || 0 > tt || tt === f) && tt !== O && this._first && (M = !0, tt > f && (w = "onReverseComplete"))), this._rawPrevTime = this._duration || !k || O || this._rawPrevTime === O ? O : f, this._yoyo && 1 & this._cycle ? this._time = O = 0 : (this._time = K, O = K + 1e-4); else if (1e-7 > O) if (this._locked || (this._totalTime = this._cycle = 0), this._time = 0, (F !== 0 || K === 0 && tt !== f && (tt > 0 || 0 > O && tt >= 0) && !this._locked) && (w = "onReverseComplete", E = this._reversed), 0 > O) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (M = E = !0, w = "onReverseComplete") : tt >= 0 && this._first && (M = !0), this._rawPrevTime = O; else { if (this._rawPrevTime = K || !k || O || this._rawPrevTime === O ? O : f, O === 0 && E) for (N = this._first; N && N._startTime === 0; ) N._duration || (E = !1), N = N._next; O = 0, this._initted || (M = !0); } else if (K === 0 && 0 > tt && (M = !0), this._time = this._rawPrevTime = O, this._locked || (this._totalTime = O, this._repeat !== 0 && (R = K + this._repeatDelay, this._cycle = this._totalTime / R >> 0, this._cycle !== 0 && this._cycle === this._totalTime / R && O >= Z && this._cycle--, this._time = this._totalTime - this._cycle * R, this._yoyo && 1 & this._cycle && (this._time = K - this._time), this._time > K ? (this._time = K, O = K + 1e-4) : this._time < 0 ? this._time = O = 0 : O = this._time)), this._hasPause && !this._forcingPlayhead && !k) { if (O = this._time, O >= F || this._repeat && G !== this._cycle) for (N = this._first; N && N._startTime <= O && !C; ) N._duration || N.data !== "isPause" || N.ratio || N._startTime === 0 && this._rawPrevTime === 0 || (C = N), N = N._next; else for (N = this._last; N && N._startTime >= O && !C; ) N._duration || N.data === "isPause" && N._rawPrevTime > 0 && (C = N), N = N._prev; C && C._startTime < K && (this._time = O = C._startTime, this._totalTime = O + this._cycle * (this._totalDuration + this._repeatDelay)); } if (this._cycle !== G && !this._locked) { var Pt = this._yoyo && (1 & G) !== 0, Et = Pt === (this._yoyo && (1 & this._cycle) !== 0), At = this._totalTime, ce = this._cycle, re = this._rawPrevTime, Ft = this._time; if (this._totalTime = G * K, this._cycle < G ? Pt = !Pt : this._totalTime += K, this._time = F, this._rawPrevTime = K === 0 ? tt - 1e-4 : tt, this._cycle = G, this._locked = !0, F = Pt ? 0 : K, this.render(F, k, K === 0), k || this._gc || this.vars.onRepeat && (this._cycle = ce, this._locked = !1, this._callback("onRepeat")), F !== this._time || (Et && (this._cycle = G, this._locked = !0, F = Pt ? K + 1e-4 : -1e-4, this.render(F, !0, !1)), this._locked = !1, this._paused && !_t)) return; this._time = Ft, this._totalTime = At, this._cycle = ce, this._rawPrevTime = re; } if (!(this._time !== F && this._first || I || M || C)) return void (Z !== this._totalTime && this._onUpdate && (k || this._callback("onUpdate"))); if (this._initted || (this._initted = !0), this._active || !this._paused && this._totalTime !== Z && O > 0 && (this._active = !0), Z === 0 && this.vars.onStart && (this._totalTime === 0 && this._totalDuration || k || this._callback("onStart")), U = this._time, U >= F) for (N = this._first; N && (P = N._next, U === this._time && (!this._paused || _t)); ) (N._active || N._startTime <= this._time && !N._paused && !N._gc) && (C === N && this.pause(), N._reversed ? N.render( (N._dirty ? N.totalDuration() : N._totalDuration) - (O - N._startTime) * N._timeScale, k, I ) : N.render((O - N._startTime) * N._timeScale, k, I)), N = P; else for (N = this._last; N && (P = N._prev, U === this._time && (!this._paused || _t)); ) { if (N._active || N._startTime <= F && !N._paused && !N._gc) { if (C === N) { for (C = N._prev; C && C.endTime() > this._time; ) C.render( C._reversed ? C.totalDuration() - (O - C._startTime) * C._timeScale : (O - C._startTime) * C._timeScale, k, I ), C = C._prev; C = null, this.pause(); } N._reversed ? N.render( (N._dirty ? N.totalDuration() : N._totalDuration) - (O - N._startTime) * N._timeScale, k, I ) : N.render((O - N._startTime) * N._timeScale, k, I); } N = P; } this._onUpdate && (k || (m.length && g(), this._callback("onUpdate"))), w && (this._locked || this._gc || (ct === this._startTime || Rt !== this._timeScale) && (this._time === 0 || X >= this.totalDuration()) && (E && (m.length && g(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !k && this.vars[w] && this._callback(w))); }, b.getActive = function(O, k, I) { O == null && (O = !0), k == null && (k = !0), I == null && (I = !1); var N, E, P = [], w = this.getChildren(O, k, I), M = 0, R = w.length; for (N = 0; R > N; N++) E = w[N], E.isActive() && (P[M++] = E); return P; }, b.getLabelAfter = function(O) { O || O !== 0 && (O = this._time); var k, I = this.getLabelsArray(), N = I.length; for (k = 0; N > k; k++) if (I[k].time > O) return I[k].name; return null; }, b.getLabelBefore = function(O) { O == null && (O = this._time); for (var k = this.getLabelsArray(), I = k.length; --I > -1; ) if (k[I].time < O) return k[I].name; return null; }, b.getLabelsArray = function() { var O, k = [], I = 0; for (O in this._labels) k[I++] = { time: this._labels[O], name: O }; return k.sort(function(N, E) { return N.time - E.time; }), k; }, b.invalidate = function() { return this._locked = !1, x.prototype.invalidate.call(this); }, b.progress = function(O, k) { return arguments.length ? this.totalTime( this.duration() * (this._yoyo && 1 & this._cycle ? 1 - O : O) + this._cycle * (this._duration + this._repeatDelay), k ) : this._time / this.duration() || 0; }, b.totalProgress = function(O, k) { return arguments.length ? this.totalTime(this.totalDuration() * O, k) : this._totalTime / this.totalDuration() || 0; }, b.totalDuration = function(O) { return arguments.length ? this._repeat !== -1 && O ? this.timeScale(this.totalDuration() / O) : this : (this._dirty && (x.prototype.totalDuration.call(this), this._totalDuration = this._repeat === -1 ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat), this._totalDuration); }, b.time = function(O, k) { return arguments.length ? (this._dirty && this.totalDuration(), O > this._duration && (O = this._duration), this._yoyo && 1 & this._cycle ? O = this._duration - O + this._cycle * (this._duration + this._repeatDelay) : this._repeat !== 0 && (O += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(O, k)) : this._time; }, b.repeat = function(O) { return arguments.length ? (this._repeat = O, this._uncache(!0)) : this._repeat; }, b.repeatDelay = function(O) { return arguments.length ? (this._repeatDelay = O, this._uncache(!0)) : this._repeatDelay; }, b.yoyo = function(O) { return arguments.length ? (this._yoyo = O, this) : this._yoyo; }, b.currentLabel = function(O) { return arguments.length ? this.seek(O, !0) : this.getLabelBefore(this._time + 1e-8); }, c; }, !0 ), function() { var x = 180 / Math.PI, a = [], o = [], c = [], f = {}, u = hn._gsDefine.globals, m = function(w, M, R, C) { R === C && (R = C - (C - M) / 1e6), w === M && (M = w + (R - w) / 1e6), this.a = w, this.b = M, this.c = R, this.d = C, this.da = C - w, this.ca = R - w, this.ba = M - w; }, g = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,", v = function(w, M, R, C) { var U = { a: w }, F = {}, X = {}, K = { c: C }, Z = (w + M) / 2, ct = (M + R) / 2, Rt = (R + C) / 2, tt = (Z + ct) / 2, _t = (ct + Rt) / 2, G = (_t - tt) / 8; return U.b = Z + (w - Z) / 4, F.b = tt + G, U.c = F.a = (U.b + F.b) / 2, F.c = X.a = (tt + _t) / 2, X.b = _t - G, K.b = Rt + (C - Rt) / 4, X.c = K.a = (X.b + K.b) / 2, [U, F, X, K]; }, S = function(w, M, R, C, U) { var F, X, K, Z, ct, Rt, tt, _t, G, Pt, Et, At, ce, re = w.length - 1, Ft = 0, It = w[0].a; for (F = 0; re > F; F++) ct = w[Ft], X = ct.a, K = ct.d, Z = w[Ft + 1].d, U ? (Et = a[F], At = o[F], ce = (At + Et) * M * 0.25 / (C ? 0.5 : c[F] || 0.5), Rt = K - (K - X) * (C ? 0.5 * M : Et !== 0 ? ce / Et : 0), tt = K + (Z - K) * (C ? 0.5 * M : At !== 0 ? ce / At : 0), _t = K - (Rt + ((tt - Rt) * (3 * Et / (Et + At) + 0.5) / 4 || 0))) : (Rt = K - (K - X) * M * 0.5, tt = K + (Z - K) * M * 0.5, _t = K - (Rt + tt) / 2), Rt += _t, tt += _t, ct.c = G = Rt, F !== 0 ? ct.b = It : ct.b = It = ct.a + 0.6 * (ct.c - ct.a), ct.da = K - X, ct.ca = G - X, ct.ba = It - X, R ? (Pt = v(X, It, G, K), w.splice(Ft, 1, Pt[0], Pt[1], Pt[2], Pt[3]), Ft += 4) : Ft++, It = tt; ct = w[Ft], ct.b = It, ct.c = It + 0.4 * (ct.d - It), ct.da = ct.d - ct.a, ct.ca = ct.c - ct.a, ct.ba = It - ct.a, R && (Pt = v(ct.a, It, ct.c, ct.d), w.splice(Ft, 1, Pt[0], Pt[1], Pt[2], Pt[3])); }, b = function(w, M, R, C) { var U, F, X, K, Z, ct, Rt = []; if (C) for (w = [C].concat(w), F = w.length; --F > -1; ) typeof (ct = w[F][M]) == "string" && ct.charAt(1) === "=" && (w[F][M] = C[M] + Number(ct.charAt(0) + ct.substr(2))); if (U = w.length - 2, 0 > U) return Rt[0] = new m(w[0][M], 0, 0, w[0][M]), Rt; for (F = 0; U > F; F++) X = w[F][M], K = w[F + 1][M], Rt[F] = new m(X, 0, 0, K), R && (Z = w[F + 2][M], a[F] = (a[F] || 0) + (K - X) * (K - X), o[F] = (o[F] || 0) + (Z - K) * (Z - K)); return Rt[F] = new m(w[F][M], 0, 0, w[F + 1][M]), Rt; }, O = function(w, M, R, C, U, F) { var X, K, Z, ct, Rt, tt, _t, G, Pt = {}, Et = [], At = F || w[0]; U = typeof U == "string" ? "," + U + "," : g, M == null && (M = 1); for (K in w[0]) Et.push(K); if (w.length > 1) { for (G = w[w.length - 1], _t = !0, X = Et.length; --X > -1; ) if (K = Et[X], Math.abs(At[K] - G[K]) > 0.05) { _t = !1; break; } _t && (w = w.conc