| 1810 | } |
| 1811 | |
| 1812 | function pt(e, t, n) { |
| 1813 | var r, i, o = 0, a = pt.prefilters.length, s = w.Deferred().always(function () { |
| 1814 | delete u.elem |
| 1815 | }), u = function () { |
| 1816 | if (i) return !1; |
| 1817 | for (var t = nt || st(), n = Math.max(0, l.startTime + l.duration - t), r = 1 - (n / l.duration || 0), o = 0, a = l.tweens.length; o < a; o++) l.tweens[o].run(r); |
| 1818 | return s.notifyWith(e, [l, r, n]), r < 1 && a ? n : (a || s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l]), !1) |
| 1819 | }, l = s.promise({ |
| 1820 | elem: e, |
| 1821 | props: w.extend({}, t), |
| 1822 | opts: w.extend(!0, {specialEasing: {}, easing: w.easing._default}, n), |
| 1823 | originalProperties: t, |
| 1824 | originalOptions: n, |
| 1825 | startTime: nt || st(), |
| 1826 | duration: n.duration, |
| 1827 | tweens: [], |
| 1828 | createTween: function (t, n) { |
| 1829 | var r = w.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing); |
| 1830 | return l.tweens.push(r), r |
| 1831 | }, |
| 1832 | stop: function (t) { |
| 1833 | var n = 0, r = t ? l.tweens.length : 0; |
| 1834 | if (i) return this; |
| 1835 | for (i = !0; n < r; n++) l.tweens[n].run(1); |
| 1836 | return t ? (s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l, t])) : s.rejectWith(e, [l, t]), this |
| 1837 | } |
| 1838 | }), c = l.props; |
| 1839 | for (ft(c, l.opts.specialEasing); o < a; o++) if (r = pt.prefilters[o].call(l, e, c, l.opts)) return g(r.stop) && (w._queueHooks(l.elem, l.opts.queue).stop = r.stop.bind(r)), r; |
| 1840 | return w.map(c, lt, l), g(l.opts.start) && l.opts.start.call(e, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), w.fx.timer(w.extend(u, { |
| 1841 | elem: e, |
| 1842 | anim: l, |
| 1843 | queue: l.opts.queue |
| 1844 | })), l |
| 1845 | } |
| 1846 | |
| 1847 | w.Animation = w.extend(pt, { |
| 1848 | tweeners: { |