diff --git "a/jsnew_image-upscaler.js" "b/jsnew_image-upscaler.js"
new file mode 100644--- /dev/null
+++ "b/jsnew_image-upscaler.js"
@@ -0,0 +1,3544 @@
+"use strict";
+var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
+ return typeof e
+} : function(e) {
+ return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
+};
+! function(e, t) {
+ "object" == ("undefined" == typeof module ? "undefined" : _typeof(module)) && "object" == _typeof(module.exports) ? module.exports = e.document ? t(e, !0) : function(e) {
+ if (!e.document) throw new Error("jQuery requires a window with a document");
+ return t(e)
+ } : t(e)
+}("undefined" != typeof window ? window : void 0, function(h, e) {
+ function t(e, t) {
+ return t.toUpperCase()
+ }
+ var n = [],
+ u = n.slice,
+ g = n.concat,
+ a = n.push,
+ o = n.indexOf,
+ i = {},
+ r = i.toString,
+ m = i.hasOwnProperty,
+ v = {},
+ y = h.document,
+ s = "2.1.1 -css/hiddenVisibleSelectors,-effects/animatedSelector",
+ w = function e(t, n) {
+ return new e.fn.init(t, n)
+ },
+ l = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+ c = /^-ms-/,
+ d = /-([\da-z])/gi;
+
+ function f(e) {
+ var t = e.length,
+ n = w.type(e);
+ return "function" !== n && !w.isWindow(e) && (!(1 !== e.nodeType || !t) || ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e))
+ }
+ w.fn = w.prototype = {
+ jquery: s,
+ constructor: w,
+ selector: "",
+ length: 0,
+ toArray: function() {
+ return u.call(this)
+ },
+ get: function(e) {
+ return null != e ? e < 0 ? this[e + this.length] : this[e] : u.call(this)
+ },
+ pushStack: function(e) {
+ e = w.merge(this.constructor(), e);
+ return e.prevObject = this, e.context = this.context, e
+ },
+ each: function(e, t) {
+ return w.each(this, e, t)
+ },
+ map: function(n) {
+ return this.pushStack(w.map(this, function(e, t) {
+ return n.call(e, t, e)
+ }))
+ },
+ slice: function() {
+ return this.pushStack(u.apply(this, arguments))
+ },
+ first: function() {
+ return this.eq(0)
+ },
+ last: function() {
+ return this.eq(-1)
+ },
+ eq: function(e) {
+ var t = this.length,
+ e = +e + (e < 0 ? t : 0);
+ return this.pushStack(0 <= e && e < t ? [this[e]] : [])
+ },
+ end: function() {
+ return this.prevObject || this.constructor(null)
+ },
+ push: a,
+ sort: n.sort,
+ splice: n.splice
+ }, w.extend = w.fn.extend = function() {
+ var e, t, n, i, o, r = arguments[0] || {},
+ s = 1,
+ a = arguments.length,
+ l = !1;
+ for ("boolean" == typeof r && (l = r, r = arguments[s] || {}, s++), "object" == (void 0 === r ? "undefined" : _typeof(r)) || w.isFunction(r) || (r = {}), s === a && (r = this, s--); s < a; s++)
+ if (null != (e = arguments[s]))
+ for (t in e) o = r[t], r !== (n = e[t]) && (l && n && (w.isPlainObject(n) || (i = w.isArray(n))) ? (o = i ? (i = !1, o && w.isArray(o) ? o : []) : o && w.isPlainObject(o) ? o : {}, r[t] = w.extend(l, o, n)) : void 0 !== n && (r[t] = n));
+ return r
+ }, w.extend({
+ expando: "jQuery" + (s + Math.random()).replace(/\D/g, ""),
+ isReady: !0,
+ error: function(e) {
+ throw new Error(e)
+ },
+ noop: function() {},
+ isFunction: function(e) {
+ return "function" === w.type(e)
+ },
+ isArray: Array.isArray,
+ isWindow: function(e) {
+ return null != e && e === e.window
+ },
+ isNumeric: function(e) {
+ return !w.isArray(e) && 0 <= e - parseFloat(e)
+ },
+ isPlainObject: function(e) {
+ return "object" === w.type(e) && !e.nodeType && !w.isWindow(e) && !(e.constructor && !m.call(e.constructor.prototype, "isPrototypeOf"))
+ },
+ isEmptyObject: function(e) {
+ for (var t in e) return !1;
+ return !0
+ },
+ type: function(e) {
+ return null == e ? e + "" : "object" == (void 0 === e ? "undefined" : _typeof(e)) || "function" == typeof e ? i[r.call(e)] || "object" : void 0 === e ? "undefined" : _typeof(e)
+ },
+ globalEval: function(e) {
+ var t, n = eval;
+ (e = w.trim(e)) && (1 === e.indexOf("use strict") ? ((t = y.createElement("script")).text = e, y.head.appendChild(t).parentNode.removeChild(t)) : n(e))
+ },
+ camelCase: function(e) {
+ return e.replace(c, "ms-").replace(d, t)
+ },
+ nodeName: function(e, t) {
+ return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
+ },
+ each: function(e, t, n) {
+ var i = 0,
+ o = e.length,
+ r = f(e);
+ if (n) {
+ if (r)
+ for (; i < o && !1 !== t.apply(e[i], n); i++);
+ else
+ for (i in e)
+ if (!1 === t.apply(e[i], n)) break
+ } else if (r)
+ for (; i < o && !1 !== t.call(e[i], i, e[i]); i++);
+ else
+ for (i in e)
+ if (!1 === t.call(e[i], i, e[i])) break;
+ return e
+ },
+ trim: function(e) {
+ return null == e ? "" : (e + "").replace(l, "")
+ },
+ makeArray: function(e, t) {
+ t = t || [];
+ return null != e && (f(Object(e)) ? w.merge(t, "string" == typeof e ? [e] : e) : a.call(t, e)), t
+ },
+ inArray: function(e, t, n) {
+ return null == t ? -1 : o.call(t, e, n)
+ },
+ merge: function(e, t) {
+ for (var n = +t.length, i = 0, o = e.length; i < n; i++) e[o++] = t[i];
+ return e.length = o, e
+ },
+ grep: function(e, t, n) {
+ for (var i = [], o = 0, r = e.length, s = !n; o < r; o++) !t(e[o], o) != s && i.push(e[o]);
+ return i
+ },
+ map: function(e, t, n) {
+ var i, o = 0,
+ r = e.length,
+ s = [];
+ if (f(e))
+ for (; o < r; o++) null != (i = t(e[o], o, n)) && s.push(i);
+ else
+ for (o in e) null != (i = t(e[o], o, n)) && s.push(i);
+ return g.apply([], s)
+ },
+ guid: 1,
+ proxy: function(e, t) {
+ var n, i;
+ return "string" == typeof t && (i = e[t], t = e, e = i), w.isFunction(e) ? (n = u.call(arguments, 2), (i = function() {
+ return e.apply(t || this, n.concat(u.call(arguments)))
+ }).guid = e.guid = e.guid || w.guid++, i) : void 0
+ },
+ now: Date.now,
+ support: v
+ }), w.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) {
+ i["[object " + t + "]"] = t.toLowerCase()
+ });
+
+ function p(e, t) {
+ if (e === t) return b = !0, 0;
+ var n = t.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(t);
+ return n ? 1 & n ? e === y || w.contains(y, e) ? -1 : t === y || w.contains(y, t) ? 1 : 0 : 4 & n ? -1 : 1 : e.compareDocumentPosition ? -1 : 1
+ }
+ var b, x = (Dt = h.document.documentElement).matches || Dt.webkitMatchesSelector || Dt.mozMatchesSelector || Dt.oMatchesSelector || Dt.msMatchesSelector;
+ w.extend({
+ find: function(e, t, n, i) {
+ var o, r, s = 0;
+ if (n = n || [], !e || "string" != typeof e) return n;
+ if (1 !== (r = (t = t || y).nodeType) && 9 !== r) return [];
+ if (i)
+ for (; o = i[s++];) w.find.matchesSelector(o, e) && n.push(o);
+ else w.merge(n, t.querySelectorAll(e));
+ return n
+ },
+ unique: function(e) {
+ var t, n = [],
+ i = 0,
+ o = 0;
+ if (b = !1, e.sort(p), b) {
+ for (; t = e[i++];) t === e[i] && (o = n.push(i));
+ for (; o--;) e.splice(n[o], 1)
+ }
+ return e
+ },
+ text: function(e) {
+ var t, n = "",
+ i = 0,
+ o = e.nodeType;
+ if (o) {
+ if (1 === o || 9 === o || 11 === o) return e.textContent;
+ if (3 === o || 4 === o) return e.nodeValue
+ } else
+ for (; t = e[i++];) n += w.text(t);
+ return n
+ },
+ contains: function(e, t) {
+ var n = 9 === e.nodeType ? e.documentElement : e,
+ t = t && t.parentNode;
+ return e === t || !(!t || 1 !== t.nodeType || !n.contains(t))
+ },
+ isXMLDoc: function(e) {
+ return "HTML" !== (e.ownerDocument || e).documentElement.nodeName
+ },
+ expr: {
+ attrHandle: {},
+ match: {
+ bool: /^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i,
+ needsContext: /^[\x20\t\r\n\f]*[>+~]/
+ }
+ }
+ }), w.extend(w.find, {
+ matches: function(e, t) {
+ return w.find(e, null, null, t)
+ },
+ matchesSelector: function(e, t) {
+ return x.call(e, t)
+ },
+ attr: function(e, t) {
+ return e.getAttribute(t)
+ }
+ });
+ var $ = w.expr.match.needsContext,
+ _ = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
+ C = /^.[^:#\[\.,]*$/;
+
+ function T(e, n, i) {
+ if (w.isFunction(n)) return w.grep(e, function(e, t) {
+ return !!n.call(e, t, e) !== i
+ });
+ if (n.nodeType) return w.grep(e, function(e) {
+ return e === n !== i
+ });
+ if ("string" == typeof n) {
+ if (C.test(n)) return w.filter(n, e, i);
+ n = w.filter(n, e)
+ }
+ return w.grep(e, function(e) {
+ return 0 <= o.call(n, e) !== i
+ })
+ }
+ w.filter = function(e, t, n) {
+ var i = t[0];
+ return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? w.find.matchesSelector(i, e) ? [i] : [] : w.find.matches(e, w.grep(t, function(e) {
+ return 1 === e.nodeType
+ }))
+ }, w.fn.extend({
+ find: function(e) {
+ var t, n = this.length,
+ i = [],
+ o = this;
+ if ("string" != typeof e) return this.pushStack(w(e).filter(function() {
+ for (t = 0; t < n; t++)
+ if (w.contains(o[t], this)) return !0
+ }));
+ for (t = 0; t < n; t++) w.find(e, o[t], i);
+ return (i = this.pushStack(1 < n ? w.unique(i) : i)).selector = this.selector ? this.selector + " " + e : e, i
+ },
+ filter: function(e) {
+ return this.pushStack(T(this, e || [], !1))
+ },
+ not: function(e) {
+ return this.pushStack(T(this, e || [], !0))
+ },
+ is: function(e) {
+ return !!T(this, "string" == typeof e && $.test(e) ? w(e) : e || [], !1).length
+ }
+ });
+ var k, j = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;
+ (w.fn.init = function(e, t) {
+ var n, i;
+ if (!e) return this;
+ if ("string" != typeof e) return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : w.isFunction(e) ? void 0 !== k.ready ? k.ready(e) : e(w) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), w.makeArray(e, this));
+ if (!(n = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : j.exec(e)) || !n[1] && t) return (!t || t.jquery ? t || k : this.constructor(t)).find(e);
+ if (n[1]) {
+ if (t = t instanceof w ? t[0] : t, w.merge(this, w.parseHTML(n[1], t && t.nodeType ? t.ownerDocument || t : y, !0)), _.test(n[1]) && w.isPlainObject(t))
+ for (n in t) w.isFunction(this[n]) ? this[n](t[n]) : this.attr(n, t[n]);
+ return this
+ }
+ return (i = y.getElementById(n[2])) && i.parentNode && (this.length = 1, this[0] = i), this.context = y, this.selector = e, this
+ }).prototype = w.fn, k = w(y);
+ var q = /^(?:parents|prev(?:Until|All))/,
+ N = {
+ children: !0,
+ contents: !0,
+ next: !0,
+ prev: !0
+ };
+
+ function E(e, t) {
+ for (;
+ (e = e[t]) && 1 !== e.nodeType;);
+ return e
+ }
+ w.extend({
+ dir: function(e, t, n) {
+ for (var i = [], o = void 0 !== n;
+ (e = e[t]) && 9 !== e.nodeType;)
+ if (1 === e.nodeType) {
+ if (o && w(e).is(n)) break;
+ i.push(e)
+ } return i
+ },
+ sibling: function(e, t) {
+ for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
+ return n
+ }
+ }), w.fn.extend({
+ has: function(e) {
+ var t = w(e, this),
+ n = t.length;
+ return this.filter(function() {
+ for (var e = 0; e < n; e++)
+ if (w.contains(this, t[e])) return !0
+ })
+ },
+ closest: function(e, t) {
+ for (var n, i = 0, o = this.length, r = [], s = $.test(e) || "string" != typeof e ? w(e, t || this.context) : 0; i < o; i++)
+ for (n = this[i]; n && n !== t; n = n.parentNode)
+ if (n.nodeType < 11 && (s ? -1 < s.index(n) : 1 === n.nodeType && w.find.matchesSelector(n, e))) {
+ r.push(n);
+ break
+ } return this.pushStack(1 < r.length ? w.unique(r) : r)
+ },
+ index: function(e) {
+ return e ? "string" == typeof e ? o.call(w(e), this[0]) : o.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
+ },
+ add: function(e, t) {
+ return this.pushStack(w.unique(w.merge(this.get(), w(e, t))))
+ },
+ addBack: function(e) {
+ return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
+ }
+ }), w.each({
+ parent: function(e) {
+ e = e.parentNode;
+ return e && 11 !== e.nodeType ? e : null
+ },
+ parents: function(e) {
+ return w.dir(e, "parentNode")
+ },
+ parentsUntil: function(e, t, n) {
+ return w.dir(e, "parentNode", n)
+ },
+ next: function(e) {
+ return E(e, "nextSibling")
+ },
+ prev: function(e) {
+ return E(e, "previousSibling")
+ },
+ nextAll: function(e) {
+ return w.dir(e, "nextSibling")
+ },
+ prevAll: function(e) {
+ return w.dir(e, "previousSibling")
+ },
+ nextUntil: function(e, t, n) {
+ return w.dir(e, "nextSibling", n)
+ },
+ prevUntil: function(e, t, n) {
+ return w.dir(e, "previousSibling", n)
+ },
+ siblings: function(e) {
+ return w.sibling((e.parentNode || {}).firstChild, e)
+ },
+ children: function(e) {
+ return w.sibling(e.firstChild)
+ },
+ contents: function(e) {
+ return e.contentDocument || w.merge([], e.childNodes)
+ }
+ }, function(i, o) {
+ w.fn[i] = function(e, t) {
+ var n = w.map(this, o, e);
+ return "Until" !== i.slice(-5) && (t = e), t && "string" == typeof t && (n = w.filter(t, n)), 1 < this.length && (N[i] || w.unique(n), q.test(i) && n.reverse()), this.pushStack(n)
+ }
+ });
+ var S, D = /\S+/g,
+ A = {};
+
+ function L() {
+ y.removeEventListener("DOMContentLoaded", L, !1), h.removeEventListener("load", L, !1), w.ready()
+ }
+ w.Callbacks = function(o) {
+ var e, n;
+ o = "string" == typeof o ? A[o] || (n = A[e = o] = {}, w.each(e.match(D) || [], function(e, t) {
+ n[t] = !0
+ }), n) : w.extend({}, o);
+
+ function i(e) {
+ for (t = o.memory && e, r = !0, c = a || 0, a = 0, l = u.length, s = !0; u && c < l; c++)
+ if (!1 === u[c].apply(e[0], e[1]) && o.stopOnFalse) {
+ t = !1;
+ break
+ } s = !1, u && (d ? d.length && i(d.shift()) : t ? u = [] : f.disable())
+ }
+ var t, r, s, a, l, c, u = [],
+ d = !o.once && [],
+ f = {
+ add: function() {
+ var e;
+ return u && (e = u.length, function i(e) {
+ w.each(e, function(e, t) {
+ var n = w.type(t);
+ "function" === n ? o.unique && f.has(t) || u.push(t) : t && t.length && "string" !== n && i(t)
+ })
+ }(arguments), s ? l = u.length : t && (a = e, i(t))), this
+ },
+ remove: function() {
+ return u && w.each(arguments, function(e, t) {
+ for (var n; - 1 < (n = w.inArray(t, u, n));) u.splice(n, 1), s && (n <= l && l--, n <= c && c--)
+ }), this
+ },
+ has: function(e) {
+ return e ? -1 < w.inArray(e, u) : !(!u || !u.length)
+ },
+ empty: function() {
+ return u = [], l = 0, this
+ },
+ disable: function() {
+ return u = d = t = void 0, this
+ },
+ disabled: function() {
+ return !u
+ },
+ lock: function() {
+ return d = void 0, t || f.disable(), this
+ },
+ locked: function() {
+ return !d
+ },
+ fireWith: function(e, t) {
+ return !u || r && !d || (t = [e, (t = t || []).slice ? t.slice() : t], s ? d.push(t) : i(t)), this
+ },
+ fire: function() {
+ return f.fireWith(this, arguments), this
+ },
+ fired: function() {
+ return !!r
+ }
+ };
+ return f
+ }, w.extend({
+ Deferred: function(e) {
+ var r = [
+ ["resolve", "done", w.Callbacks("once memory"), "resolved"],
+ ["reject", "fail", w.Callbacks("once memory"), "rejected"],
+ ["notify", "progress", w.Callbacks("memory")]
+ ],
+ o = "pending",
+ s = {
+ state: function() {
+ return o
+ },
+ always: function() {
+ return a.done(arguments).fail(arguments), this
+ },
+ then: function() {
+ var o = arguments;
+ return w.Deferred(function(i) {
+ w.each(r, function(e, t) {
+ var n = w.isFunction(o[e]) && o[e];
+ a[t[1]](function() {
+ var e = n && n.apply(this, arguments);
+ e && w.isFunction(e.promise) ? e.promise().done(i.resolve).fail(i.reject).progress(i.notify) : i[t[0] + "With"](this === s ? i.promise() : this, n ? [e] : arguments)
+ })
+ }), o = null
+ }).promise()
+ },
+ promise: function(e) {
+ return null != e ? w.extend(e, s) : s
+ }
+ },
+ a = {};
+ return s.pipe = s.then, w.each(r, function(e, t) {
+ var n = t[2],
+ i = t[3];
+ s[t[1]] = n.add, i && n.add(function() {
+ o = i
+ }, r[1 ^ e][2].disable, r[2][2].lock), a[t[0]] = function() {
+ return a[t[0] + "With"](this === a ? s : this, arguments), this
+ }, a[t[0] + "With"] = n.fireWith
+ }), s.promise(a), e && e.call(a, a), a
+ },
+ when: function(e) {
+ function t(t, n, i) {
+ return function(e) {
+ n[t] = this, i[t] = 1 < arguments.length ? u.call(arguments) : e, i === o ? c.notifyWith(n, i) : --l || c.resolveWith(n, i)
+ }
+ }
+ var o, n, i, r = 0,
+ s = u.call(arguments),
+ a = s.length,
+ l = 1 !== a || e && w.isFunction(e.promise) ? a : 0,
+ c = 1 === l ? e : w.Deferred();
+ if (1 < a)
+ for (o = new Array(a), n = new Array(a), i = new Array(a); r < a; r++) s[r] && w.isFunction(s[r].promise) ? s[r].promise().done(t(r, i, s)).fail(c.reject).progress(t(r, n, o)) : --l;
+ return l || c.resolveWith(i, s), c.promise()
+ }
+ }), w.fn.ready = function(e) {
+ return w.ready.promise().done(e), this
+ }, w.extend({
+ isReady: !1,
+ readyWait: 1,
+ holdReady: function(e) {
+ e ? w.readyWait++ : w.ready(!0)
+ },
+ ready: function(e) {
+ (!0 === e ? --w.readyWait : w.isReady) || ((w.isReady = !0) !== e && 0 < --w.readyWait || (S.resolveWith(y, [w]), w.fn.triggerHandler && (w(y).triggerHandler("ready"), w(y).off("ready"))))
+ }
+ }), w.ready.promise = function(e) {
+ return S || (S = w.Deferred(), "complete" === y.readyState ? setTimeout(w.ready) : (y.addEventListener("DOMContentLoaded", L, !1), h.addEventListener("load", L, !1))), S.promise(e)
+ }, w.ready.promise();
+ var O = w.access = function(e, t, n, i, o, r, s) {
+ var a = 0,
+ l = e.length,
+ c = null == n;
+ if ("object" === w.type(n))
+ for (a in o = !0, n) w.access(e, t, a, n[a], !0, r, s);
+ else if (void 0 !== i && (o = !0, w.isFunction(i) || (s = !0), c && (t = s ? (t.call(e, i), null) : (c = t, function(e, t, n) {
+ return c.call(w(e), n)
+ })), t))
+ for (; a < l; a++) t(e[a], n, s ? i : i.call(e[a], a, t(e[a], n)));
+ return o ? e : c ? t.call(e) : l ? t(e[0], n) : r
+ };
+
+ function P() {
+ Object.defineProperty(this.cache = {}, 0, {
+ get: function() {
+ return {}
+ }
+ }), this.expando = w.expando + Math.random()
+ }
+ w.acceptData = function(e) {
+ return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
+ }, P.uid = 1, P.accepts = w.acceptData, P.prototype = {
+ key: function(t) {
+ if (!P.accepts(t)) return 0;
+ var n = {},
+ i = t[this.expando];
+ if (!i) {
+ i = P.uid++;
+ try {
+ n[this.expando] = {
+ value: i
+ }, Object.defineProperties(t, n)
+ } catch (e) {
+ n[this.expando] = i, w.extend(t, n)
+ }
+ }
+ return this.cache[i] || (this.cache[i] = {}), i
+ },
+ set: function(e, t, n) {
+ var i, e = this.key(e),
+ o = this.cache[e];
+ if ("string" == typeof t) o[t] = n;
+ else if (w.isEmptyObject(o)) w.extend(this.cache[e], t);
+ else
+ for (i in t) o[i] = t[i];
+ return o
+ },
+ get: function(e, t) {
+ e = this.cache[this.key(e)];
+ return void 0 === t ? e : e[t]
+ },
+ access: function(e, t, n) {
+ var i;
+ return void 0 === t || t && "string" == typeof t && void 0 === n ? void 0 !== (i = this.get(e, t)) ? i : this.get(e, w.camelCase(t)) : (this.set(e, t, n), void 0 !== n ? n : t)
+ },
+ remove: function(e, t) {
+ var n, i, e = this.key(e),
+ o = this.cache[e];
+ if (void 0 === t) this.cache[e] = {};
+ else {
+ n = (i = w.isArray(t) ? t.concat(t.map(w.camelCase)) : (e = w.camelCase(t), t in o ? [t, e] : (i = e) in o ? [i] : i.match(D) || [])).length;
+ for (; n--;) delete o[i[n]]
+ }
+ },
+ hasData: function(e) {
+ return !w.isEmptyObject(this.cache[e[this.expando]] || {})
+ },
+ discard: function(e) {
+ e[this.expando] && delete this.cache[e[this.expando]]
+ }
+ };
+ var H = new P,
+ M = new P,
+ I = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ F = /([A-Z])/g;
+
+ function R(e, t, n) {
+ var i;
+ if (void 0 === n && 1 === e.nodeType)
+ if (i = "data-" + t.replace(F, "-$1").toLowerCase(), "string" == typeof(n = e.getAttribute(i))) {
+ try {
+ n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : I.test(n) ? w.parseJSON(n) : n)
+ } catch (e) {}
+ M.set(e, t, n)
+ } else n = void 0;
+ return n
+ }
+ w.extend({
+ hasData: function(e) {
+ return M.hasData(e) || H.hasData(e)
+ },
+ data: function(e, t, n) {
+ return M.access(e, t, n)
+ },
+ removeData: function(e, t) {
+ M.remove(e, t)
+ },
+ _data: function(e, t, n) {
+ return H.access(e, t, n)
+ },
+ _removeData: function(e, t) {
+ H.remove(e, t)
+ }
+ }), w.fn.extend({
+ data: function(i, e) {
+ var t, n, o, r = this[0],
+ s = r && r.attributes;
+ if (void 0 !== i) return "object" == (void 0 === i ? "undefined" : _typeof(i)) ? this.each(function() {
+ M.set(this, i)
+ }) : O(this, function(t) {
+ var e, n = w.camelCase(i);
+ if (r && void 0 === t) return void 0 !== (e = M.get(r, i)) || void 0 !== (e = M.get(r, n)) ? e : void 0 !== (e = R(r, n, void 0)) ? e : void 0;
+ this.each(function() {
+ var e = M.get(this, n);
+ M.set(this, n, t), -1 !== i.indexOf("-") && void 0 !== e && M.set(this, i, t)
+ })
+ }, null, e, 1 < arguments.length, null, !0);
+ if (this.length && (o = M.get(r), 1 === r.nodeType && !H.get(r, "hasDataAttrs"))) {
+ for (t = s.length; t--;) s[t] && (0 === (n = s[t].name).indexOf("data-") && (n = w.camelCase(n.slice(5)), R(r, n, o[n])));
+ H.set(r, "hasDataAttrs", !0)
+ }
+ return o
+ },
+ removeData: function(e) {
+ return this.each(function() {
+ M.remove(this, e)
+ })
+ }
+ }), w.extend({
+ queue: function(e, t, n) {
+ var i;
+ return e ? (t = (t || "fx") + "queue", i = H.get(e, t), n && (!i || w.isArray(n) ? i = H.access(e, t, w.makeArray(n)) : i.push(n)), i || []) : void 0
+ },
+ dequeue: function(e, t) {
+ t = t || "fx";
+ var n = w.queue(e, t),
+ i = n.length,
+ o = n.shift(),
+ r = w._queueHooks(e, t);
+ "inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), delete r.stop, o.call(e, function() {
+ w.dequeue(e, t)
+ }, r)), !i && r && r.empty.fire()
+ },
+ _queueHooks: function(e, t) {
+ var n = t + "queueHooks";
+ return H.get(e, n) || H.access(e, n, {
+ empty: w.Callbacks("once memory").add(function() {
+ H.remove(e, [t + "queue", n])
+ })
+ })
+ }
+ }), w.fn.extend({
+ queue: function(t, n) {
+ var e = 2;
+ return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? w.queue(this[0], t) : void 0 === n ? this : this.each(function() {
+ var e = w.queue(this, t, n);
+ w._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && w.dequeue(this, t)
+ })
+ },
+ dequeue: function(e) {
+ return this.each(function() {
+ w.dequeue(this, e)
+ })
+ },
+ clearQueue: function(e) {
+ return this.queue(e || "fx", [])
+ },
+ promise: function(e, t) {
+ function n() {
+ --o || r.resolveWith(s, [s])
+ }
+ var i, o = 1,
+ r = w.Deferred(),
+ s = this,
+ a = this.length;
+ for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(i = H.get(s[a], e + "queueHooks")) && i.empty && (o++, i.empty.add(n));
+ return n(), r.promise(t)
+ }
+ });
+
+ function W(e, t) {
+ return e = t || e, "none" === w.css(e, "display") || !w.contains(e.ownerDocument, e)
+ }
+ var z = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
+ B = ["Top", "Right", "Bottom", "Left"],
+ X = /^(?:checkbox|radio)$/i;
+ n = y.createDocumentFragment().appendChild(y.createElement("div")), (s = y.createElement("input")).setAttribute("type", "radio"), s.setAttribute("checked", "checked"), s.setAttribute("name", "t"), n.appendChild(s), v.checkClone = n.cloneNode(!0).cloneNode(!0).lastChild.checked, n.innerHTML = "", v.noCloneChecked = !!n.cloneNode(!0).lastChild.defaultValue;
+ var Q = "undefined";
+ v.focusinBubbles = "onfocusin" in h;
+ var U = /^key/,
+ V = /^(?:mouse|pointer|contextmenu)|click/,
+ Y = /^(?:focusinfocus|focusoutblur)$/,
+ G = /^([^.]*)(?:\.(.+)|)$/;
+
+ function J() {
+ return !0
+ }
+
+ function K() {
+ return !1
+ }
+
+ function Z() {
+ try {
+ return y.activeElement
+ } catch (e) {}
+ }
+ w.event = {
+ global: {},
+ add: function(t, e, n, i, o) {
+ var r, s, a, l, c, u, d, f, p, h = H.get(t);
+ if (h)
+ for (n.handler && (n = (r = n).handler, o = r.selector), n.guid || (n.guid = w.guid++), (a = h.events) || (a = h.events = {}), (s = h.handle) || (s = h.handle = function(e) {
+ return (void 0 === w ? "undefined" : _typeof(w)) !== Q && w.event.triggered !== e.type ? w.event.dispatch.apply(t, arguments) : void 0
+ }), l = (e = (e || "").match(D) || [""]).length; l--;) d = p = (c = G.exec(e[l]) || [])[1], f = (c[2] || "").split(".").sort(), d && (u = w.event.special[d] || {}, d = (o ? u.delegateType : u.bindType) || d, u = w.event.special[d] || {}, c = w.extend({
+ type: d,
+ origType: p,
+ data: i,
+ handler: n,
+ guid: n.guid,
+ selector: o,
+ needsContext: o && w.expr.match.needsContext.test(o),
+ namespace: f.join(".")
+ }, r), (p = a[d]) || ((p = a[d] = []).delegateCount = 0, u.setup && !1 !== u.setup.call(t, i, f, s) || t.addEventListener && t.addEventListener(d, s, !1)), u.add && (u.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), o ? p.splice(p.delegateCount++, 0, c) : p.push(c), w.event.global[d] = !0)
+ },
+ remove: function(e, t, n, i, o) {
+ var r, s, a, l, c, u, d, f, p, h, g, m = H.hasData(e) && H.get(e);
+ if (m && (l = m.events)) {
+ for (c = (t = (t || "").match(D) || [""]).length; c--;)
+ if (p = g = (a = G.exec(t[c]) || [])[1], h = (a[2] || "").split(".").sort(), p) {
+ for (d = w.event.special[p] || {}, f = l[p = (i ? d.delegateType : d.bindType) || p] || [], a = a[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = r = f.length; r--;) u = f[r], !o && g !== u.origType || n && n.guid !== u.guid || a && !a.test(u.namespace) || i && i !== u.selector && ("**" !== i || !u.selector) || (f.splice(r, 1), u.selector && f.delegateCount--, d.remove && d.remove.call(e, u));
+ s && !f.length && (d.teardown && !1 !== d.teardown.call(e, h, m.handle) || w.removeEvent(e, p, m.handle), delete l[p])
+ } else
+ for (p in l) w.event.remove(e, p + t[c], n, i, !0);
+ w.isEmptyObject(l) && (delete m.handle, H.remove(e, "events"))
+ }
+ },
+ trigger: function(e, t, n, i) {
+ var o, r, s, a, l, c, u = [n || y],
+ d = m.call(e, "type") ? e.type : e,
+ f = m.call(e, "namespace") ? e.namespace.split(".") : [],
+ p = r = n = n || y;
+ if (3 !== n.nodeType && 8 !== n.nodeType && !Y.test(d + w.event.triggered) && (0 <= d.indexOf(".") && (d = (f = d.split(".")).shift(), f.sort()), a = d.indexOf(":") < 0 && "on" + d, (e = e[w.expando] ? e : new w.Event(d, "object" == (void 0 === e ? "undefined" : _typeof(e)) && e)).isTrigger = i ? 2 : 3, e.namespace = f.join("."), e.namespace_re = e.namespace ? new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : w.makeArray(t, [e]), c = w.event.special[d] || {}, i || !c.trigger || !1 !== c.trigger.apply(n, t))) {
+ if (!i && !c.noBubble && !w.isWindow(n)) {
+ for (s = c.delegateType || d, Y.test(s + d) || (p = p.parentNode); p; p = p.parentNode) u.push(p), r = p;
+ r === (n.ownerDocument || y) && u.push(r.defaultView || r.parentWindow || h)
+ }
+ for (o = 0;
+ (p = u[o++]) && !e.isPropagationStopped();) e.type = 1 < o ? s : c.bindType || d, (l = (H.get(p, "events") || {})[e.type] && H.get(p, "handle")) && l.apply(p, t), (l = a && p[a]) && l.apply && w.acceptData(p) && (e.result = l.apply(p, t), !1 === e.result && e.preventDefault());
+ return e.type = d, i || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(u.pop(), t) || !w.acceptData(n) || a && w.isFunction(n[d]) && !w.isWindow(n) && ((r = n[a]) && (n[a] = null), n[w.event.triggered = d](), w.event.triggered = void 0, r && (n[a] = r)), e.result
+ }
+ },
+ dispatch: function(e) {
+ e = w.event.fix(e);
+ var t, n, i, o, r, s = u.call(arguments),
+ a = (H.get(this, "events") || {})[e.type] || [],
+ l = w.event.special[e.type] || {};
+ if ((s[0] = e).delegateTarget = this, !l.preDispatch || !1 !== l.preDispatch.call(this, e)) {
+ for (r = w.event.handlers.call(this, e, a), t = 0;
+ (i = r[t++]) && !e.isPropagationStopped();)
+ for (e.currentTarget = i.elem, n = 0;
+ (o = i.handlers[n++]) && !e.isImmediatePropagationStopped();) e.namespace_re && !e.namespace_re.test(o.namespace) || (e.handleObj = o, e.data = o.data, void 0 !== (o = ((w.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (e.result = o) && (e.preventDefault(), e.stopPropagation()));
+ return l.postDispatch && l.postDispatch.call(this, e), e.result
+ }
+ },
+ handlers: function(e, t) {
+ var n, i, o, r, s = [],
+ a = t.delegateCount,
+ l = e.target;
+ if (a && l.nodeType && (!e.button || "click" !== e.type))
+ for (; l !== this; l = l.parentNode || this)
+ if (!0 !== l.disabled || "click" !== e.type) {
+ for (i = [], n = 0; n < a; n++) void 0 === i[o = (r = t[n]).selector + " "] && (i[o] = r.needsContext ? 0 <= w(o, this).index(l) : w.find(o, this, null, [l]).length), i[o] && i.push(r);
+ i.length && s.push({
+ elem: l,
+ handlers: i
+ })
+ } return a < t.length && s.push({
+ elem: this,
+ handlers: t.slice(a)
+ }), s
+ },
+ props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+ fixHooks: {},
+ keyHooks: {
+ props: "char charCode key keyCode".split(" "),
+ filter: function(e, t) {
+ return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
+ }
+ },
+ mouseHooks: {
+ props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+ filter: function(e, t) {
+ var n, i, o = t.button;
+ return null == e.pageX && null != t.clientX && (n = (i = e.target.ownerDocument || y).documentElement, i = i.body, e.pageX = t.clientX + (n && n.scrollLeft || i && i.scrollLeft || 0) - (n && n.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (n && n.scrollTop || i && i.scrollTop || 0) - (n && n.clientTop || i && i.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
+ }
+ },
+ fix: function(e) {
+ if (e[w.expando]) return e;
+ var t, n, i, o = e.type,
+ r = e,
+ s = this.fixHooks[o];
+ for (s || (this.fixHooks[o] = s = V.test(o) ? this.mouseHooks : U.test(o) ? this.keyHooks : {}), i = s.props ? this.props.concat(s.props) : this.props, e = new w.Event(r), t = i.length; t--;) e[n = i[t]] = r[n];
+ return e.target || (e.target = y), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, r) : e
+ },
+ special: {
+ load: {
+ noBubble: !0
+ },
+ focus: {
+ trigger: function() {
+ return this !== Z() && this.focus ? (this.focus(), !1) : void 0
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ return this === Z() && this.blur ? (this.blur(), !1) : void 0
+ },
+ delegateType: "focusout"
+ },
+ click: {
+ trigger: function() {
+ return "checkbox" === this.type && this.click && w.nodeName(this, "input") ? (this.click(), !1) : void 0
+ },
+ _default: function(e) {
+ return w.nodeName(e.target, "a")
+ }
+ },
+ beforeunload: {
+ postDispatch: function(e) {
+ void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
+ }
+ }
+ },
+ simulate: function(e, t, n, i) {
+ e = w.extend(new w.Event, n, {
+ type: e,
+ isSimulated: !0,
+ originalEvent: {}
+ });
+ i ? w.event.trigger(e, null, t) : w.event.dispatch.call(t, e), e.isDefaultPrevented() && n.preventDefault()
+ }
+ }, w.removeEvent = function(e, t, n) {
+ e.removeEventListener && e.removeEventListener(t, n, !1)
+ }, w.Event = function(e, t) {
+ return this instanceof w.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? J : K) : this.type = e, t && w.extend(this, t), this.timeStamp = e && e.timeStamp || w.now(), void(this[w.expando] = !0)) : new w.Event(e, t)
+ }, w.Event.prototype = {
+ isDefaultPrevented: K,
+ isPropagationStopped: K,
+ isImmediatePropagationStopped: K,
+ preventDefault: function() {
+ var e = this.originalEvent;
+ this.isDefaultPrevented = J, e && e.preventDefault && e.preventDefault()
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+ this.isPropagationStopped = J, e && e.stopPropagation && e.stopPropagation()
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+ this.isImmediatePropagationStopped = J, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), this.stopPropagation()
+ }
+ }, w.each({
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+ }, function(e, o) {
+ w.event.special[e] = {
+ delegateType: o,
+ bindType: o,
+ handle: function(e) {
+ var t, n = e.relatedTarget,
+ i = e.handleObj;
+ return n && (n === this || w.contains(this, n)) || (e.type = i.origType, t = i.handler.apply(this, arguments), e.type = o), t
+ }
+ }
+ }), v.focusinBubbles || w.each({
+ focus: "focusin",
+ blur: "focusout"
+ }, function(n, i) {
+ function o(e) {
+ w.event.simulate(i, e.target, w.event.fix(e), !0)
+ }
+ w.event.special[i] = {
+ setup: function() {
+ var e = this.ownerDocument || this,
+ t = H.access(e, i);
+ t || e.addEventListener(n, o, !0), H.access(e, i, (t || 0) + 1)
+ },
+ teardown: function() {
+ var e = this.ownerDocument || this,
+ t = H.access(e, i) - 1;
+ t ? H.access(e, i, t) : (e.removeEventListener(n, o, !0), H.remove(e, i))
+ }
+ }
+ }), w.fn.extend({
+ on: function(e, t, n, i, o) {
+ var r, s;
+ if ("object" == (void 0 === e ? "undefined" : _typeof(e))) {
+ for (s in "string" != typeof t && (n = n || t, t = void 0), e) this.on(s, t, n, e[s], o);
+ return this
+ }
+ if (null == n && null == i ? (i = t, n = t = void 0) : null == i && ("string" == typeof t ? (i = n, n = void 0) : (i = n, n = t, t = void 0)), !1 === i) i = K;
+ else if (!i) return this;
+ return 1 === o && (r = i, (i = function(e) {
+ return w().off(e), r.apply(this, arguments)
+ }).guid = r.guid || (r.guid = w.guid++)), this.each(function() {
+ w.event.add(this, e, i, n, t)
+ })
+ },
+ one: function(e, t, n, i) {
+ return this.on(e, t, n, i, 1)
+ },
+ off: function(e, t, n) {
+ var i, o;
+ if (e && e.preventDefault && e.handleObj) return i = e.handleObj, w(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
+ if ("object" != (void 0 === e ? "undefined" : _typeof(e))) return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = K), this.each(function() {
+ w.event.remove(this, e, n, t)
+ });
+ for (o in e) this.off(o, t, e[o]);
+ return this
+ },
+ trigger: function(e, t) {
+ return this.each(function() {
+ w.event.trigger(e, t, this)
+ })
+ },
+ triggerHandler: function(e, t) {
+ var n = this[0];
+ return n ? w.event.trigger(e, t, n, !0) : void 0
+ }
+ });
+ var ee = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
+ te = /<([\w:]+)/,
+ ne = /<|?\w+;/,
+ ie = /<(?:script|style|link)/i,
+ oe = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ re = /^$|\/(?:java|ecma)script/i,
+ se = /^true\/(.*)/,
+ ae = /^\s*\s*$/g,
+ le = {
+ option: [1, ""],
+ thead: [1, "
"],
+ col: [2, ""],
+ tr: [2, ""],
+ td: [3, ""],
+ _default: [0, "", ""]
+ };
+
+ function ce(e, t) {
+ return w.nodeName(e, "table") && w.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
+ }
+
+ function ue(e) {
+ return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
+ }
+
+ function de(e) {
+ var t = se.exec(e.type);
+ return t ? e.type = t[1] : e.removeAttribute("type"), e
+ }
+
+ function fe(e, t) {
+ for (var n = 0, i = e.length; n < i; n++) H.set(e[n], "globalEval", !t || H.get(t[n], "globalEval"))
+ }
+
+ function pe(e, t) {
+ var n, i, o, r, s, a;
+ if (1 === t.nodeType) {
+ if (H.hasData(e) && (r = H.access(e), s = H.set(t, r), a = r.events))
+ for (o in delete s.handle, s.events = {}, a)
+ for (n = 0, i = a[o].length; n < i; n++) w.event.add(t, o, a[o][n]);
+ M.hasData(e) && (e = M.access(e), e = w.extend({}, e), M.set(t, e))
+ }
+ }
+
+ function he(e, t) {
+ var n = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
+ return void 0 === t || t && w.nodeName(e, t) ? w.merge([e], n) : n
+ }
+ le.optgroup = le.option, le.tbody = le.tfoot = le.colgroup = le.caption = le.thead, le.th = le.td, w.extend({
+ clone: function(e, t, n) {
+ var i, o, r, s, a, l, c, u = e.cloneNode(!0),
+ d = w.contains(e.ownerDocument, e);
+ if (!(v.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || w.isXMLDoc(e)))
+ for (s = he(u), i = 0, o = (r = he(e)).length; i < o; i++) a = r[i], l = s[i], c = void 0, "input" === (c = l.nodeName.toLowerCase()) && X.test(a.type) ? l.checked = a.checked : "input" !== c && "textarea" !== c || (l.defaultValue = a.defaultValue);
+ if (t)
+ if (n)
+ for (r = r || he(e), s = s || he(u), i = 0, o = r.length; i < o; i++) pe(r[i], s[i]);
+ else pe(e, u);
+ return 0 < (s = he(u, "script")).length && fe(s, !d && he(e, "script")), u
+ },
+ buildFragment: function(e, t, n, i) {
+ for (var o, r, s, a, l, c = t.createDocumentFragment(), u = [], d = 0, f = e.length; d < f; d++)
+ if ((o = e[d]) || 0 === o)
+ if ("object" === w.type(o)) w.merge(u, o.nodeType ? [o] : o);
+ else if (ne.test(o)) {
+ for (r = r || c.appendChild(t.createElement("div")), s = (te.exec(o) || ["", ""])[1].toLowerCase(), s = le[s] || le._default, r.innerHTML = s[1] + o.replace(ee, "<$1>$2>") + s[2], l = s[0]; l--;) r = r.lastChild;
+ w.merge(u, r.childNodes), (r = c.firstChild).textContent = ""
+ } else u.push(t.createTextNode(o));
+ for (c.textContent = "", d = 0; o = u[d++];)
+ if ((!i || -1 === w.inArray(o, i)) && (a = w.contains(o.ownerDocument, o), r = he(c.appendChild(o), "script"), a && fe(r), n))
+ for (l = 0; o = r[l++];) re.test(o.type || "") && n.push(o);
+ return c
+ },
+ cleanData: function(e) {
+ for (var t, n, i, o, r = w.event.special, s = 0; void 0 !== (n = e[s]); s++) {
+ if (w.acceptData(n) && ((o = n[H.expando]) && (t = H.cache[o]))) {
+ if (t.events)
+ for (i in t.events) r[i] ? w.event.remove(n, i) : w.removeEvent(n, i, t.handle);
+ H.cache[o] && delete H.cache[o]
+ }
+ delete M.cache[n[M.expando]]
+ }
+ }
+ }), w.fn.extend({
+ text: function(e) {
+ return O(this, function(e) {
+ return void 0 === e ? w.text(this) : this.empty().each(function() {
+ 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
+ })
+ }, null, e, arguments.length)
+ },
+ append: function() {
+ return this.domManip(arguments, function(e) {
+ 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || ce(this, e).appendChild(e)
+ })
+ },
+ prepend: function() {
+ return this.domManip(arguments, function(e) {
+ var t;
+ 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (t = ce(this, e)).insertBefore(e, t.firstChild)
+ })
+ },
+ before: function() {
+ return this.domManip(arguments, function(e) {
+ this.parentNode && this.parentNode.insertBefore(e, this)
+ })
+ },
+ after: function() {
+ return this.domManip(arguments, function(e) {
+ this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
+ })
+ },
+ remove: function(e, t) {
+ for (var n, i = e ? w.filter(e, this) : this, o = 0; null != (n = i[o]); o++) t || 1 !== n.nodeType || w.cleanData(he(n)), n.parentNode && (t && w.contains(n.ownerDocument, n) && fe(he(n, "script")), n.parentNode.removeChild(n));
+ return this
+ },
+ empty: function() {
+ for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (w.cleanData(he(e, !1)), e.textContent = "");
+ return this
+ },
+ clone: function(e, t) {
+ return e = null != e && e, t = null == t ? e : t, this.map(function() {
+ return w.clone(this, e, t)
+ })
+ },
+ html: function(e) {
+ return O(this, function(e) {
+ var t = this[0] || {},
+ n = 0,
+ i = this.length;
+ if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
+ if ("string" == typeof e && !ie.test(e) && !le[(te.exec(e) || ["", ""])[1].toLowerCase()]) {
+ e = e.replace(ee, "<$1>$2>");
+ try {
+ for (; n < i; n++) 1 === (t = this[n] || {}).nodeType && (w.cleanData(he(t, !1)), t.innerHTML = e);
+ t = 0
+ } catch (e) {}
+ }
+ t && this.empty().append(e)
+ }, null, e, arguments.length)
+ },
+ replaceWith: function(e) {
+ var t = e;
+ return this.domManip(arguments, function(e) {
+ t = this.parentNode, w.cleanData(he(this)), t && t.replaceChild(e, this)
+ }), t && (t.length || t.nodeType) ? this : this.remove()
+ },
+ detach: function(e) {
+ return this.remove(e, !0)
+ },
+ domManip: function(n, i) {
+ n = g.apply([], n);
+ var e, t, o, r, s, a, l = 0,
+ c = this.length,
+ u = this,
+ d = c - 1,
+ f = n[0],
+ p = w.isFunction(f);
+ if (p || 1 < c && "string" == typeof f && !v.checkClone && oe.test(f)) return this.each(function(e) {
+ var t = u.eq(e);
+ p && (n[0] = f.call(this, e, t.html())), t.domManip(n, i)
+ });
+ if (c && (t = (e = w.buildFragment(n, this[0].ownerDocument, !1, this)).firstChild, 1 === e.childNodes.length && (e = t), t)) {
+ for (r = (o = w.map(he(e, "script"), ue)).length; l < c; l++) s = e, l !== d && (s = w.clone(s, !0, !0), r && w.merge(o, he(s, "script"))), i.call(this[l], s, l);
+ if (r)
+ for (a = o[o.length - 1].ownerDocument, w.map(o, de), l = 0; l < r; l++) s = o[l], re.test(s.type || "") && !H.access(s, "globalEval") && w.contains(a, s) && (s.src ? w._evalUrl && w._evalUrl(s.src) : w.globalEval(s.textContent.replace(ae, "")))
+ }
+ return this
+ }
+ }), w.each({
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+ }, function(e, s) {
+ w.fn[e] = function(e) {
+ for (var t, n = [], i = w(e), o = i.length - 1, r = 0; r <= o; r++) t = r === o ? this : this.clone(!0), w(i[r])[s](t), a.apply(n, t.get());
+ return this.pushStack(n)
+ }
+ });
+ var ge, me = {};
+
+ function ve(e, t) {
+ var t = w(t.createElement(e)).appendTo(t.body),
+ n = h.getDefaultComputedStyle && (n = h.getDefaultComputedStyle(t[0])) ? n.display : w.css(t[0], "display");
+ return t.detach(), n
+ }
+
+ function ye(e) {
+ var t = y,
+ n = me[e];
+ return n || ("none" !== (n = ve(e, t)) && n || ((t = (ge = (ge || w("")).appendTo(t.documentElement))[0].contentDocument).write(), t.close(), n = ve(e, t), ge.detach()), me[e] = n), n
+ }
+ var be, xe, we, $e, _e, Ce, Te = /^margin/,
+ ke = new RegExp("^(" + z + ")(?!px)[a-z%]+$", "i"),
+ je = function(e) {
+ return e.ownerDocument.defaultView.getComputedStyle(e, null)
+ };
+
+ function qe(e, t, n) {
+ var i, o, r = e.style;
+ return (n = n || je(e)) && (o = n.getPropertyValue(t) || n[t]), n && ("" !== o || w.contains(e.ownerDocument, e) || (o = w.style(e, t)), ke.test(o) && Te.test(t) && (i = r.width, e = r.minWidth, t = r.maxWidth, r.minWidth = r.maxWidth = r.width = o, o = n.width, r.width = i, r.minWidth = e, r.maxWidth = t)), void 0 !== o ? o + "" : o
+ }
+
+ function Ne(e, t) {
+ return {
+ get: function() {
+ return e() ? void delete this.get : (this.get = t).apply(this, arguments)
+ }
+ }
+ }
+ $e = y.documentElement, _e = y.createElement("div"), (Ce = y.createElement("div")).style && (we = function() {
+ Ce.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", Ce.innerHTML = "", $e.appendChild(_e);
+ var e = h.getComputedStyle(Ce, null);
+ be = "1%" !== e.top, xe = "4px" === e.width, $e.removeChild(_e)
+ }, Ce.style.backgroundClip = "content-box", Ce.cloneNode(!0).style.backgroundClip = "", v.clearCloneStyle = "content-box" === Ce.style.backgroundClip, _e.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", _e.appendChild(Ce), h.getComputedStyle && w.extend(v, {
+ pixelPosition: function() {
+ return we(), be
+ },
+ boxSizingReliable: function() {
+ return null == xe && we(), xe
+ },
+ reliableMarginRight: function() {
+ var e = Ce.appendChild(y.createElement("div"));
+ return e.style.cssText = Ce.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", e.style.marginRight = e.style.width = "0", Ce.style.width = "1px", $e.appendChild(_e), e = !parseFloat(h.getComputedStyle(e, null).marginRight), $e.removeChild(_e), e
+ }
+ })), w.swap = function(e, t, n, i) {
+ var o, r = {};
+ for (o in t) r[o] = e.style[o], e.style[o] = t[o];
+ for (o in i = n.apply(e, i || []), t) e.style[o] = r[o];
+ return i
+ };
+ var Ee = /^(none|table(?!-c[ea]).+)/,
+ Se = new RegExp("^(" + z + ")(.*)$", "i"),
+ De = new RegExp("^([+-])=(" + z + ")", "i"),
+ Ae = {
+ position: "absolute",
+ visibility: "hidden",
+ display: "block"
+ },
+ Le = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ },
+ Oe = ["Webkit", "O", "Moz", "ms"];
+
+ function Pe(e, t) {
+ if (t in e) return t;
+ for (var n = t[0].toUpperCase() + t.slice(1), i = t, o = Oe.length; o--;)
+ if ((t = Oe[o] + n) in e) return t;
+ return i
+ }
+
+ function He(e, t, n) {
+ var i = Se.exec(t);
+ return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : t
+ }
+
+ function Me(e, t, n, i, o) {
+ for (var r = n === (i ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; r < 4; r += 2) "margin" === n && (s += w.css(e, n + B[r], !0, o)), i ? ("content" === n && (s -= w.css(e, "padding" + B[r], !0, o)), "margin" !== n && (s -= w.css(e, "border" + B[r] + "Width", !0, o))) : (s += w.css(e, "padding" + B[r], !0, o), "padding" !== n && (s += w.css(e, "border" + B[r] + "Width", !0, o)));
+ return s
+ }
+
+ function Ie(e, t, n) {
+ var i = !0,
+ o = "width" === t ? e.offsetWidth : e.offsetHeight,
+ r = je(e),
+ s = "border-box" === w.css(e, "boxSizing", !1, r);
+ if (o <= 0 || null == o) {
+ if (((o = qe(e, t, r)) < 0 || null == o) && (o = e.style[t]), ke.test(o)) return o;
+ i = s && (v.boxSizingReliable() || o === e.style[t]), o = parseFloat(o) || 0
+ }
+ return o + Me(e, t, n || (s ? "border" : "content"), i, r) + "px"
+ }
+
+ function Fe(e, t) {
+ for (var n, i, o, r = [], s = 0, a = e.length; s < a; s++)(i = e[s]).style && (r[s] = H.get(i, "olddisplay"), n = i.style.display, t ? (r[s] || "none" !== n || (i.style.display = ""), "" === i.style.display && W(i) && (r[s] = H.access(i, "olddisplay", ye(i.nodeName)))) : (o = W(i), "none" === n && o || H.set(i, "olddisplay", o ? n : w.css(i, "display"))));
+ for (s = 0; s < a; s++)(i = e[s]).style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? r[s] || "" : "none"));
+ return e
+ }
+
+ function Re(e, t, n, i, o) {
+ return new Re.prototype.init(e, t, n, i, o)
+ }
+ w.extend({
+ cssHooks: {
+ opacity: {
+ get: function(e, t) {
+ if (t) {
+ e = qe(e, "opacity");
+ return "" === e ? "1" : e
+ }
+ }
+ }
+ },
+ cssNumber: {
+ columnCount: !0,
+ fillOpacity: !0,
+ flexGrow: !0,
+ flexShrink: !0,
+ fontWeight: !0,
+ lineHeight: !0,
+ opacity: !0,
+ order: !0,
+ orphans: !0,
+ widows: !0,
+ zIndex: !0,
+ zoom: !0
+ },
+ cssProps: {
+ float: "cssFloat"
+ },
+ style: function(e, t, n, i) {
+ if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
+ var o, r, s, a = w.camelCase(t),
+ l = e.style;
+ return t = w.cssProps[a] || (w.cssProps[a] = Pe(l, a)), s = w.cssHooks[t] || w.cssHooks[a], void 0 === n ? s && "get" in s && void 0 !== (o = s.get(e, !1, i)) ? o : l[t] : ("string" === (r = void 0 === n ? "undefined" : _typeof(n)) && (o = De.exec(n)) && (n = (o[1] + 1) * o[2] + parseFloat(w.css(e, t)), r = "number"), void(null != n && n == n && ("number" !== r || w.cssNumber[a] || (n += "px"), v.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), s && "set" in s && void 0 === (n = s.set(e, n, i)) || (l[t] = n))))
+ }
+ },
+ css: function(e, t, n, i) {
+ var o, r = w.camelCase(t);
+ return t = w.cssProps[r] || (w.cssProps[r] = Pe(e.style, r)), (r = w.cssHooks[t] || w.cssHooks[r]) && "get" in r && (o = r.get(e, !0, n)), void 0 === o && (o = qe(e, t, i)), "normal" === o && t in Le && (o = Le[t]), "" === n || n ? (t = parseFloat(o), !0 === n || w.isNumeric(t) ? t || 0 : o) : o
+ }
+ }), w.each(["height", "width"], function(e, o) {
+ w.cssHooks[o] = {
+ get: function(e, t, n) {
+ return t ? Ee.test(w.css(e, "display")) && 0 === e.offsetWidth ? w.swap(e, Ae, function() {
+ return Ie(e, o, n)
+ }) : Ie(e, o, n) : void 0
+ },
+ set: function(e, t, n) {
+ var i = n && je(e);
+ return He(0, t, n ? Me(e, o, n, "border-box" === w.css(e, "boxSizing", !1, i), i) : 0)
+ }
+ }
+ }), w.cssHooks.marginRight = Ne(v.reliableMarginRight, function(e, t) {
+ return t ? w.swap(e, {
+ display: "inline-block"
+ }, qe, [e, "marginRight"]) : void 0
+ }), w.each({
+ margin: "",
+ padding: "",
+ border: "Width"
+ }, function(o, r) {
+ w.cssHooks[o + r] = {
+ expand: function(e) {
+ for (var t = 0, n = {}, i = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) n[o + B[t] + r] = i[t] || i[t - 2] || i[0];
+ return n
+ }
+ }, Te.test(o) || (w.cssHooks[o + r].set = He)
+ }), w.fn.extend({
+ css: function(e, t) {
+ return O(this, function(e, t, n) {
+ var i, o, r = {},
+ s = 0;
+ if (w.isArray(t)) {
+ for (i = je(e), o = t.length; s < o; s++) r[t[s]] = w.css(e, t[s], !1, i);
+ return r
+ }
+ return void 0 !== n ? w.style(e, t, n) : w.css(e, t)
+ }, e, t, 1 < arguments.length)
+ },
+ show: function() {
+ return Fe(this, !0)
+ },
+ hide: function() {
+ return Fe(this)
+ },
+ toggle: function(e) {
+ return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() {
+ W(this) ? w(this).show() : w(this).hide()
+ })
+ }
+ }), (w.Tween = Re).prototype = {
+ constructor: Re,
+ init: function(e, t, n, i, o, r) {
+ this.elem = e, this.prop = n, this.easing = o || "swing", this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = r || (w.cssNumber[n] ? "" : "px")
+ },
+ cur: function() {
+ var e = Re.propHooks[this.prop];
+ return (e && e.get ? e : Re.propHooks._default).get(this)
+ },
+ run: function(e) {
+ var t = Re.propHooks[this.prop];
+ return this.pos = e = this.options.duration ? w.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : e, this.now = (this.end - this.start) * e + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), (t && t.set ? t : Re.propHooks._default).set(this), this
+ }
+ }, Re.prototype.init.prototype = Re.prototype, Re.propHooks = {
+ _default: {
+ get: function(e) {
+ var t;
+ return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = w.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 : e.elem[e.prop]
+ },
+ set: function(e) {
+ w.fx.step[e.prop] ? w.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[w.cssProps[e.prop]] || w.cssHooks[e.prop]) ? w.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
+ }
+ }
+ }, Re.propHooks.scrollTop = Re.propHooks.scrollLeft = {
+ set: function(e) {
+ e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
+ }
+ }, w.easing = {
+ linear: function(e) {
+ return e
+ },
+ swing: function(e) {
+ return .5 - Math.cos(e * Math.PI) / 2
+ }
+ }, w.fx = Re.prototype.init, w.fx.step = {};
+ var We, ze, Be = /^(?:toggle|show|hide)$/,
+ Xe = new RegExp("^(?:([+-])=|)(" + z + ")([a-z%]*)$", "i"),
+ Qe = /queueHooks$/,
+ Ue = [function(t, e, n) {
+ var i, o, r, s, a, l, c, u = this,
+ d = {},
+ f = t.style,
+ p = t.nodeType && W(t),
+ h = H.get(t, "fxshow");
+ for (i in n.queue || (null == (a = w._queueHooks(t, "fx")).unqueued && (a.unqueued = 0, l = a.empty.fire, a.empty.fire = function() {
+ a.unqueued || l()
+ }), a.unqueued++, u.always(function() {
+ u.always(function() {
+ a.unqueued--, w.queue(t, "fx").length || a.empty.fire()
+ })
+ })), 1 === t.nodeType && ("height" in e || "width" in e) && (n.overflow = [f.overflow, f.overflowX, f.overflowY], c = w.css(t, "display"), "inline" === ("none" === c ? H.get(t, "olddisplay") || ye(t.nodeName) : c) && "none" === w.css(t, "float") && (f.display = "inline-block")), n.overflow && (f.overflow = "hidden", u.always(function() {
+ f.overflow = n.overflow[0], f.overflowX = n.overflow[1], f.overflowY = n.overflow[2]
+ })), e)
+ if (o = e[i], Be.exec(o)) {
+ if (delete e[i], r = r || "toggle" === o, o === (p ? "hide" : "show")) {
+ if ("show" !== o || !h || void 0 === h[i]) continue;
+ p = !0
+ }
+ d[i] = h && h[i] || w.style(t, i)
+ } else c = void 0;
+ if (w.isEmptyObject(d)) "inline" === ("none" === c ? ye(t.nodeName) : c) && (f.display = c);
+ else
+ for (i in h ? "hidden" in h && (p = h.hidden) : h = H.access(t, "fxshow", {}), r && (h.hidden = !p), p ? w(t).show() : u.done(function() {
+ w(t).hide()
+ }), u.done(function() {
+ for (var e in H.remove(t, "fxshow"), d) w.style(t, e, d[e])
+ }), d) s = Je(p ? h[i] : 0, i, u), i in h || (h[i] = s.start, p && (s.end = s.start, s.start = "width" === i || "height" === i ? 1 : 0))
+ }],
+ Ve = {
+ "*": [function(e, t) {
+ var n = this.createTween(e, t),
+ i = n.cur(),
+ t = Xe.exec(t),
+ o = t && t[3] || (w.cssNumber[e] ? "" : "px"),
+ r = (w.cssNumber[e] || "px" !== o && +i) && Xe.exec(w.css(n.elem, e)),
+ s = 1,
+ a = 20;
+ if (r && r[3] !== o)
+ for (o = o || r[3], t = t || [], r = +i || 1; r /= s = s || ".5", w.style(n.elem, e, r + o), s !== (s = n.cur() / i) && 1 !== s && --a;);
+ return t && (r = n.start = +r || +i || 0, n.unit = o, n.end = t[1] ? r + (t[1] + 1) * t[2] : +t[2]), n
+ }]
+ };
+
+ function Ye() {
+ return setTimeout(function() {
+ We = void 0
+ }), We = w.now()
+ }
+
+ function Ge(e, t) {
+ var n, i = 0,
+ o = {
+ height: e
+ };
+ for (t = t ? 1 : 0; i < 4; i += 2 - t) o["margin" + (n = B[i])] = o["padding" + n] = e;
+ return t && (o.opacity = o.width = e), o
+ }
+
+ function Je(e, t, n) {
+ for (var i, o = (Ve[t] || []).concat(Ve["*"]), r = 0, s = o.length; r < s; r++)
+ if (i = o[r].call(n, t, e)) return i
+ }
+
+ function Ke(o, e, t) {
+ var n, r, i = 0,
+ s = Ue.length,
+ a = w.Deferred().always(function() {
+ delete l.elem
+ }),
+ l = function() {
+ if (r) return !1;
+ for (var e = We || Ye(), e = Math.max(0, c.startTime + c.duration - e), t = 1 - (e / c.duration || 0), n = 0, i = c.tweens.length; n < i; n++) c.tweens[n].run(t);
+ return a.notifyWith(o, [c, t, e]), t < 1 && i ? e : (a.resolveWith(o, [c]), !1)
+ },
+ c = a.promise({
+ elem: o,
+ props: w.extend({}, e),
+ opts: w.extend(!0, {
+ specialEasing: {}
+ }, t),
+ originalProperties: e,
+ originalOptions: t,
+ startTime: We || Ye(),
+ duration: t.duration,
+ tweens: [],
+ createTween: function(e, t) {
+ e = w.Tween(o, c.opts, e, t, c.opts.specialEasing[e] || c.opts.easing);
+ return c.tweens.push(e), e
+ },
+ stop: function(e) {
+ var t = 0,
+ n = e ? c.tweens.length : 0;
+ if (r) return this;
+ for (r = !0; t < n; t++) c.tweens[t].run(1);
+ return e ? a.resolveWith(o, [c, e]) : a.rejectWith(o, [c, e]), this
+ }
+ }),
+ u = c.props;
+ for (function(e, t) {
+ var n, i, o, r, s;
+ for (n in e)
+ if (o = t[i = w.camelCase(n)], r = e[n], w.isArray(r) && (o = r[1], r = e[n] = r[0]), n !== i && (e[i] = r, delete e[n]), (s = w.cssHooks[i]) && "expand" in s)
+ for (n in r = s.expand(r), delete e[i], r) n in e || (e[n] = r[n], t[n] = o);
+ else t[i] = o
+ }(u, c.opts.specialEasing); i < s; i++)
+ if (n = Ue[i].call(c, o, u, c.opts)) return n;
+ return w.map(u, Je, c), w.isFunction(c.opts.start) && c.opts.start.call(o, c), w.fx.timer(w.extend(l, {
+ elem: o,
+ anim: c,
+ queue: c.opts.queue
+ })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always)
+ }
+ w.Animation = w.extend(Ke, {
+ tweener: function(e, t) {
+ for (var n, i = 0, o = (e = w.isFunction(e) ? (t = e, ["*"]) : e.split(" ")).length; i < o; i++) n = e[i], Ve[n] = Ve[n] || [], Ve[n].unshift(t)
+ },
+ prefilter: function(e, t) {
+ t ? Ue.unshift(e) : Ue.push(e)
+ }
+ }), w.speed = function(e, t, n) {
+ var i = e && "object" == (void 0 === e ? "undefined" : _typeof(e)) ? w.extend({}, e) : {
+ complete: n || !n && t || w.isFunction(e) && e,
+ duration: e,
+ easing: n && t || t && !w.isFunction(t) && t
+ };
+ return i.duration = w.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in w.fx.speeds ? w.fx.speeds[i.duration] : w.fx.speeds._default, null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function() {
+ w.isFunction(i.old) && i.old.call(this), i.queue && w.dequeue(this, i.queue)
+ }, i
+ }, w.fn.extend({
+ fadeTo: function(e, t, n, i) {
+ return this.filter(W).css("opacity", 0).show().end().animate({
+ opacity: t
+ }, e, n, i)
+ },
+ animate: function(t, e, n, i) {
+ var o = w.isEmptyObject(t),
+ r = w.speed(e, n, i),
+ i = function() {
+ var e = Ke(this, w.extend({}, t), r);
+ (o || H.get(this, "finish")) && e.stop(!0)
+ };
+ return i.finish = i, o || !1 === r.queue ? this.each(i) : this.queue(r.queue, i)
+ },
+ stop: function(o, e, r) {
+ function s(e) {
+ var t = e.stop;
+ delete e.stop, t(r)
+ }
+ return "string" != typeof o && (r = e, e = o, o = void 0), e && !1 !== o && this.queue(o || "fx", []), this.each(function() {
+ var e = !0,
+ t = null != o && o + "queueHooks",
+ n = w.timers,
+ i = H.get(this);
+ if (t) i[t] && i[t].stop && s(i[t]);
+ else
+ for (t in i) i[t] && i[t].stop && Qe.test(t) && s(i[t]);
+ for (t = n.length; t--;) n[t].elem !== this || null != o && n[t].queue !== o || (n[t].anim.stop(r), e = !1, n.splice(t, 1));
+ !e && r || w.dequeue(this, o)
+ })
+ },
+ finish: function(s) {
+ return !1 !== s && (s = s || "fx"), this.each(function() {
+ var e, t = H.get(this),
+ n = t[s + "queue"],
+ i = t[s + "queueHooks"],
+ o = w.timers,
+ r = n ? n.length : 0;
+ for (t.finish = !0, w.queue(this, s, []), i && i.stop && i.stop.call(this, !0), e = o.length; e--;) o[e].elem === this && o[e].queue === s && (o[e].anim.stop(!0), o.splice(e, 1));
+ for (e = 0; e < r; e++) n[e] && n[e].finish && n[e].finish.call(this);
+ delete t.finish
+ })
+ }
+ }), w.each(["toggle", "show", "hide"], function(e, i) {
+ var o = w.fn[i];
+ w.fn[i] = function(e, t, n) {
+ return null == e || "boolean" == typeof e ? o.apply(this, arguments) : this.animate(Ge(i, !0), e, t, n)
+ }
+ }), w.each({
+ slideDown: Ge("show"),
+ slideUp: Ge("hide"),
+ slideToggle: Ge("toggle"),
+ fadeIn: {
+ opacity: "show"
+ },
+ fadeOut: {
+ opacity: "hide"
+ },
+ fadeToggle: {
+ opacity: "toggle"
+ }
+ }, function(e, i) {
+ w.fn[e] = function(e, t, n) {
+ return this.animate(i, e, t, n)
+ }
+ }), w.timers = [], w.fx.tick = function() {
+ var e, t = 0,
+ n = w.timers;
+ for (We = w.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
+ n.length || w.fx.stop(), We = void 0
+ }, w.fx.timer = function(e) {
+ w.timers.push(e), e() ? w.fx.start() : w.timers.pop()
+ }, w.fx.interval = 13, w.fx.start = function() {
+ ze = ze || setInterval(w.fx.tick, w.fx.interval)
+ }, w.fx.stop = function() {
+ clearInterval(ze), ze = null
+ }, w.fx.speeds = {
+ slow: 600,
+ fast: 200,
+ _default: 400
+ }, w.fn.delay = function(i, e) {
+ return i = w.fx && w.fx.speeds[i] || i, e = e || "fx", this.queue(e, function(e, t) {
+ var n = setTimeout(e, i);
+ t.stop = function() {
+ clearTimeout(n)
+ }
+ })
+ }, s = y.createElement("input"), n = y.createElement("select"), z = n.appendChild(y.createElement("option")), s.type = "checkbox", v.checkOn = "" !== s.value, v.optSelected = z.selected, n.disabled = !0, v.optDisabled = !z.disabled, (s = y.createElement("input")).value = "t", s.type = "radio", v.radioValue = "t" === s.value;
+ var Ze, et = w.expr.attrHandle;
+ w.fn.extend({
+ attr: function(e, t) {
+ return O(this, w.attr, e, t, 1 < arguments.length)
+ },
+ removeAttr: function(e) {
+ return this.each(function() {
+ w.removeAttr(this, e)
+ })
+ }
+ }), w.extend({
+ attr: function(e, t, n) {
+ var i, o, r = e.nodeType;
+ if (e && 3 !== r && 8 !== r && 2 !== r) return _typeof(e.getAttribute) === Q ? w.prop(e, t, n) : (1 === r && w.isXMLDoc(e) || (t = t.toLowerCase(), i = w.attrHooks[t] || (w.expr.match.bool.test(t) ? Ze : void 0)), void 0 === n ? i && "get" in i && null !== (o = i.get(e, t)) ? o : null == (o = w.find.attr(e, t)) ? void 0 : o : null !== n ? i && "set" in i && void 0 !== (o = i.set(e, n, t)) ? o : (e.setAttribute(t, n + ""), n) : void w.removeAttr(e, t))
+ },
+ removeAttr: function(e, t) {
+ var n, i, o = 0,
+ r = t && t.match(D);
+ if (r && 1 === e.nodeType)
+ for (; n = r[o++];) i = w.propFix[n] || n, w.expr.match.bool.test(n) && (e[i] = !1), e.removeAttribute(n)
+ },
+ attrHooks: {
+ type: {
+ set: function(e, t) {
+ if (!v.radioValue && "radio" === t && w.nodeName(e, "input")) {
+ var n = e.value;
+ return e.setAttribute("type", t), n && (e.value = n), t
+ }
+ }
+ }
+ }
+ }), Ze = {
+ set: function(e, t, n) {
+ return !1 === t ? w.removeAttr(e, n) : e.setAttribute(n, n), n
+ }
+ }, w.each(w.expr.match.bool.source.match(/\w+/g), function(e, t) {
+ var r = et[t] || w.find.attr;
+ et[t] = function(e, t, n) {
+ var i, o;
+ return n || (o = et[t], et[t] = i, i = null != r(e, t, n) ? t.toLowerCase() : null, et[t] = o), i
+ }
+ });
+ var tt = /^(?:input|select|textarea|button)$/i;
+ w.fn.extend({
+ prop: function(e, t) {
+ return O(this, w.prop, e, t, 1 < arguments.length)
+ },
+ removeProp: function(e) {
+ return this.each(function() {
+ delete this[w.propFix[e] || e]
+ })
+ }
+ }), w.extend({
+ propFix: {
+ for: "htmlFor",
+ class: "className"
+ },
+ prop: function(e, t, n) {
+ var i, o, r = e.nodeType;
+ if (e && 3 !== r && 8 !== r && 2 !== r) return (1 !== r || !w.isXMLDoc(e)) && (t = w.propFix[t] || t, o = w.propHooks[t]), void 0 !== n ? o && "set" in o && void 0 !== (i = o.set(e, n, t)) ? i : e[t] = n : o && "get" in o && null !== (i = o.get(e, t)) ? i : e[t]
+ },
+ propHooks: {
+ tabIndex: {
+ get: function(e) {
+ return e.hasAttribute("tabindex") || tt.test(e.nodeName) || e.href ? e.tabIndex : -1
+ }
+ }
+ }
+ }), v.optSelected || (w.propHooks.selected = {
+ get: function(e) {
+ e = e.parentNode;
+ return e && e.parentNode && e.parentNode.selectedIndex, null
+ }
+ }), w.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
+ w.propFix[this.toLowerCase()] = this
+ });
+ var nt = /[\t\r\n\f]/g;
+ w.fn.extend({
+ addClass: function(t) {
+ var e, n, i, o, r, s, a = "string" == typeof t && t,
+ l = 0,
+ c = this.length;
+ if (w.isFunction(t)) return this.each(function(e) {
+ w(this).addClass(t.call(this, e, this.className))
+ });
+ if (a)
+ for (e = (t || "").match(D) || []; l < c; l++)
+ if (i = 1 === (n = this[l]).nodeType && (n.className ? (" " + n.className + " ").replace(nt, " ") : " ")) {
+ for (r = 0; o = e[r++];) i.indexOf(" " + o + " ") < 0 && (i += o + " ");
+ s = w.trim(i), n.className !== s && (n.className = s)
+ } return this
+ },
+ removeClass: function(t) {
+ var e, n, i, o, r, s, a = 0 === arguments.length || "string" == typeof t && t,
+ l = 0,
+ c = this.length;
+ if (w.isFunction(t)) return this.each(function(e) {
+ w(this).removeClass(t.call(this, e, this.className))
+ });
+ if (a)
+ for (e = (t || "").match(D) || []; l < c; l++)
+ if (i = 1 === (n = this[l]).nodeType && (n.className ? (" " + n.className + " ").replace(nt, " ") : "")) {
+ for (r = 0; o = e[r++];)
+ for (; 0 <= i.indexOf(" " + o + " ");) i = i.replace(" " + o + " ", " ");
+ s = t ? w.trim(i) : "", n.className !== s && (n.className = s)
+ } return this
+ },
+ toggleClass: function(o, t) {
+ var r = void 0 === o ? "undefined" : _typeof(o);
+ return "boolean" == typeof t && "string" === r ? t ? this.addClass(o) : this.removeClass(o) : this.each(w.isFunction(o) ? function(e) {
+ w(this).toggleClass(o.call(this, e, this.className, t), t)
+ } : function() {
+ if ("string" === r)
+ for (var e, t = 0, n = w(this), i = o.match(D) || []; e = i[t++];) n.hasClass(e) ? n.removeClass(e) : n.addClass(e);
+ else r !== Q && "boolean" !== r || (this.className && H.set(this, "__className__", this.className), this.className = !this.className && !1 !== o && H.get(this, "__className__") || "")
+ })
+ },
+ hasClass: function(e) {
+ for (var t = " " + e + " ", n = 0, i = this.length; n < i; n++)
+ if (1 === this[n].nodeType && 0 <= (" " + this[n].className + " ").replace(nt, " ").indexOf(t)) return !0;
+ return !1
+ }
+ });
+ var it = /\r/g;
+ w.fn.extend({
+ val: function(t) {
+ var n, e, i, o = this[0];
+ return arguments.length ? (i = w.isFunction(t), this.each(function(e) {
+ 1 === this.nodeType && (null == (e = i ? t.call(this, e, w(this).val()) : t) ? e = "" : "number" == typeof e ? e += "" : w.isArray(e) && (e = w.map(e, function(e) {
+ return null == e ? "" : e + ""
+ })), (n = w.valHooks[this.type] || w.valHooks[this.nodeName.toLowerCase()]) && "set" in n && void 0 !== n.set(this, e, "value") || (this.value = e))
+ })) : o ? (n = w.valHooks[o.type] || w.valHooks[o.nodeName.toLowerCase()]) && "get" in n && void 0 !== (e = n.get(o, "value")) ? e : "string" == typeof(e = o.value) ? e.replace(it, "") : null == e ? "" : e : void 0
+ }
+ }), w.extend({
+ valHooks: {
+ option: {
+ get: function(e) {
+ var t = w.find.attr(e, "value");
+ return null != t ? t : w.trim(w.text(e))
+ }
+ },
+ select: {
+ get: function(e) {
+ for (var t, n = e.options, i = e.selectedIndex, o = "select-one" === e.type || i < 0, r = o ? null : [], s = o ? i + 1 : n.length, a = i < 0 ? s : o ? i : 0; a < s; a++)
+ if (!(!(t = n[a]).selected && a !== i || (v.optDisabled ? t.disabled : null !== t.getAttribute("disabled")) || t.parentNode.disabled && w.nodeName(t.parentNode, "optgroup"))) {
+ if (t = w(t).val(), o) return t;
+ r.push(t)
+ } return r
+ },
+ set: function(e, t) {
+ for (var n, i, o = e.options, r = w.makeArray(t), s = o.length; s--;)((i = o[s]).selected = 0 <= w.inArray(i.value, r)) && (n = !0);
+ return n || (e.selectedIndex = -1), r
+ }
+ }
+ }
+ }), w.each(["radio", "checkbox"], function() {
+ w.valHooks[this] = {
+ set: function(e, t) {
+ return w.isArray(t) ? e.checked = 0 <= w.inArray(w(e).val(), t) : void 0
+ }
+ }, v.checkOn || (w.valHooks[this].get = function(e) {
+ return null === e.getAttribute("value") ? "on" : e.value
+ })
+ }), w.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, n) {
+ w.fn[n] = function(e, t) {
+ return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n)
+ }
+ }), w.fn.extend({
+ hover: function(e, t) {
+ return this.mouseenter(e).mouseleave(t || e)
+ },
+ bind: function(e, t, n) {
+ return this.on(e, null, t, n)
+ },
+ unbind: function(e, t) {
+ return this.off(e, null, t)
+ },
+ delegate: function(e, t, n, i) {
+ return this.on(t, e, n, i)
+ },
+ undelegate: function(e, t, n) {
+ return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
+ }
+ });
+ var ot = w.now(),
+ rt = /\?/;
+ w.parseJSON = function(e) {
+ return JSON.parse(e + "")
+ }, w.parseXML = function(e) {
+ var t;
+ if (!e || "string" != typeof e) return null;
+ try {
+ t = (new DOMParser).parseFromString(e, "text/xml")
+ } catch (e) {
+ t = void 0
+ }
+ return t && !t.getElementsByTagName("parsererror").length || w.error("Invalid XML: " + e), t
+ };
+ var st, at, lt = /#.*$/,
+ ct = /([?&])_=[^&]*/,
+ ut = /^(.*?):[ \t]*([^\r\n]*)$/gm,
+ dt = /^(?:GET|HEAD)$/,
+ ft = /^\/\//,
+ pt = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
+ ht = {},
+ gt = {},
+ mt = "*/".concat("*");
+ try {
+ at = location.href
+ } catch (e) {
+ (at = y.createElement("a")).href = "", at = at.href
+ }
+
+ function vt(r) {
+ return function(e, t) {
+ "string" != typeof e && (t = e, e = "*");
+ var n, i = 0,
+ o = e.toLowerCase().match(D) || [];
+ if (w.isFunction(t))
+ for (; n = o[i++];) "+" === n[0] ? (n = n.slice(1) || "*", (r[n] = r[n] || []).unshift(t)) : (r[n] = r[n] || []).push(t)
+ }
+ }
+
+ function yt(t, i, o, r) {
+ var s = {},
+ a = t === gt;
+
+ function l(e) {
+ var n;
+ return s[e] = !0, w.each(t[e] || [], function(e, t) {
+ t = t(i, o, r);
+ return "string" != typeof t || a || s[t] ? a ? !(n = t) : void 0 : (i.dataTypes.unshift(t), l(t), !1)
+ }), n
+ }
+ return l(i.dataTypes[0]) || !s["*"] && l("*")
+ }
+
+ function bt(e, t) {
+ var n, i, o = w.ajaxSettings.flatOptions || {};
+ for (n in t) void 0 !== t[n] && ((o[n] ? e : i = i || {})[n] = t[n]);
+ return i && w.extend(!0, e, i), e
+ }
+ st = pt.exec(at.toLowerCase()) || [], w.extend({
+ active: 0,
+ lastModified: {},
+ etag: {},
+ ajaxSettings: {
+ url: at,
+ type: "GET",
+ isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(st[1]),
+ global: !0,
+ processData: !0,
+ async: !0,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+ accepts: {
+ "*": mt,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+ contents: {
+ xml: /xml/,
+ html: /html/,
+ json: /json/
+ },
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+ converters: {
+ "* text": String,
+ "text html": !0,
+ "text json": w.parseJSON,
+ "text xml": w.parseXML
+ },
+ flatOptions: {
+ url: !0,
+ context: !0
+ }
+ },
+ ajaxSetup: function(e, t) {
+ return t ? bt(bt(e, w.ajaxSettings), t) : bt(w.ajaxSettings, e)
+ },
+ ajaxPrefilter: vt(ht),
+ ajaxTransport: vt(gt),
+ ajax: function(e, t) {
+ "object" == (void 0 === e ? "undefined" : _typeof(e)) && (t = e, e = void 0), t = t || {};
+ var l, c, u, n, d, f, i, p = w.ajaxSetup({}, t),
+ h = p.context || p,
+ g = p.context && (h.nodeType || h.jquery) ? w(h) : w.event,
+ m = w.Deferred(),
+ v = w.Callbacks("once memory"),
+ y = p.statusCode || {},
+ o = {},
+ r = {},
+ b = 0,
+ s = "canceled",
+ x = {
+ readyState: 0,
+ getResponseHeader: function(e) {
+ var t;
+ if (2 === b) {
+ if (!n)
+ for (n = {}; t = ut.exec(u);) n[t[1].toLowerCase()] = t[2];
+ t = n[e.toLowerCase()]
+ }
+ return null == t ? null : t
+ },
+ getAllResponseHeaders: function() {
+ return 2 === b ? u : null
+ },
+ setRequestHeader: function(e, t) {
+ var n = e.toLowerCase();
+ return b || (e = r[n] = r[n] || e, o[e] = t), this
+ },
+ overrideMimeType: function(e) {
+ return b || (p.mimeType = e), this
+ },
+ statusCode: function(e) {
+ if (e)
+ if (b < 2)
+ for (var t in e) y[t] = [y[t], e[t]];
+ else x.always(e[x.status]);
+ return this
+ },
+ abort: function(e) {
+ e = e || s;
+ return l && l.abort(e), a(0, e), this
+ }
+ };
+ if (m.promise(x).complete = v.add, x.success = x.done, x.error = x.fail, p.url = ((e || p.url || at) + "").replace(lt, "").replace(ft, st[1] + "//"), p.type = t.method || t.type || p.method || p.type, p.dataTypes = w.trim(p.dataType || "*").toLowerCase().match(D) || [""], null == p.crossDomain && (e = pt.exec(p.url.toLowerCase()), p.crossDomain = !(!e || e[1] === st[1] && e[2] === st[2] && (e[3] || ("http:" === e[1] ? "80" : "443")) === (st[3] || ("http:" === st[1] ? "80" : "443")))), p.data && p.processData && "string" != typeof p.data && (p.data = w.param(p.data, p.traditional)), yt(ht, p, t, x), 2 === b) return x;
+ for (i in (f = p.global) && 0 == w.active++ && w.event.trigger("ajaxStart"), p.type = p.type.toUpperCase(), p.hasContent = !dt.test(p.type), c = p.url, p.hasContent || (p.data && (c = p.url += (rt.test(c) ? "&" : "?") + p.data, delete p.data), !1 === p.cache && (p.url = ct.test(c) ? c.replace(ct, "$1_=" + ot++) : c + (rt.test(c) ? "&" : "?") + "_=" + ot++)), p.ifModified && (w.lastModified[c] && x.setRequestHeader("If-Modified-Since", w.lastModified[c]), w.etag[c] && x.setRequestHeader("If-None-Match", w.etag[c])), (p.data && p.hasContent && !1 !== p.contentType || t.contentType) && x.setRequestHeader("Content-Type", p.contentType), x.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + mt + "; q=0.01" : "") : p.accepts["*"]), p.headers) x.setRequestHeader(i, p.headers[i]);
+ if (p.beforeSend && (!1 === p.beforeSend.call(h, x, p) || 2 === b)) return x.abort();
+ for (i in s = "abort", {
+ success: 1,
+ error: 1,
+ complete: 1
+ }) x[i](p[i]);
+ if (l = yt(gt, p, t, x)) {
+ x.readyState = 1, f && g.trigger("ajaxSend", [x, p]), p.async && 0 < p.timeout && (d = setTimeout(function() {
+ x.abort("timeout")
+ }, p.timeout));
+ try {
+ b = 1, l.send(o, a)
+ } catch (e) {
+ if (!(b < 2)) throw e;
+ a(-1, e)
+ }
+ } else a(-1, "No Transport");
+
+ function a(e, t, n, i) {
+ var o, r, s, a = t;
+ 2 !== b && (b = 2, d && clearTimeout(d), l = void 0, u = i || "", x.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function(e, t, n) {
+ for (var i, o, r, s, a = e.contents, l = e.dataTypes;
+ "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type"));
+ if (i)
+ for (o in a)
+ if (a[o] && a[o].test(i)) {
+ l.unshift(o);
+ break
+ } if (l[0] in n) r = l[0];
+ else {
+ for (o in n) {
+ if (!l[0] || e.converters[o + " " + l[0]]) {
+ r = o;
+ break
+ }
+ s = s || o
+ }
+ r = r || s
+ }
+ return r ? (r !== l[0] && l.unshift(r), n[r]) : void 0
+ }(p, x, n)), s = function(e, t, n, i) {
+ var o, r, s, a, l, c = {},
+ u = e.dataTypes.slice();
+ if (u[1])
+ for (s in e.converters) c[s.toLowerCase()] = e.converters[s];
+ for (r = u.shift(); r;)
+ if (e.responseFields[r] && (n[e.responseFields[r]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = r, r = u.shift())
+ if ("*" === r) r = l;
+ else if ("*" !== l && l !== r) {
+ if (!(s = c[l + " " + r] || c["* " + r]))
+ for (o in c)
+ if ((a = o.split(" "))[1] === r && (s = c[l + " " + a[0]] || c["* " + a[0]])) {
+ !0 === s ? s = c[o] : !0 !== c[o] && (r = a[0], u.unshift(a[1]));
+ break
+ } if (!0 !== s)
+ if (s && e.throws) t = s(t);
+ else try {
+ t = s(t)
+ } catch (e) {
+ return {
+ state: "parsererror",
+ error: s ? e : "No conversion from " + l + " to " + r
+ }
+ }
+ }
+ return {
+ state: "success",
+ data: t
+ }
+ }(p, s, x, i), i ? (p.ifModified && ((n = x.getResponseHeader("Last-Modified")) && (w.lastModified[c] = n), (n = x.getResponseHeader("etag")) && (w.etag[c] = n)), 204 === e || "HEAD" === p.type ? a = "nocontent" : 304 === e ? a = "notmodified" : (a = s.state, o = s.data, i = !(r = s.error))) : (r = a, !e && a || (a = "error", e < 0 && (e = 0))), x.status = e, x.statusText = (t || a) + "", i ? m.resolveWith(h, [o, a, x]) : m.rejectWith(h, [x, a, r]), x.statusCode(y), y = void 0, f && g.trigger(i ? "ajaxSuccess" : "ajaxError", [x, p, i ? o : r]), v.fireWith(h, [x, a]), f && (g.trigger("ajaxComplete", [x, p]), --w.active || w.event.trigger("ajaxStop")))
+ }
+ return x
+ },
+ getJSON: function(e, t, n) {
+ return w.get(e, t, n, "json")
+ },
+ getScript: function(e, t) {
+ return w.get(e, void 0, t, "script")
+ }
+ }), w.each(["get", "post"], function(e, o) {
+ w[o] = function(e, t, n, i) {
+ return w.isFunction(t) && (i = i || n, n = t, t = void 0), w.ajax({
+ url: e,
+ type: o,
+ dataType: i,
+ data: t,
+ success: n
+ })
+ }
+ }), w.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) {
+ w.fn[t] = function(e) {
+ return this.on(t, e)
+ }
+ }), w._evalUrl = function(e) {
+ return w.ajax({
+ url: e,
+ type: "GET",
+ dataType: "script",
+ async: !1,
+ global: !1,
+ throws: !0
+ })
+ }, w.fn.extend({
+ wrapAll: function(t) {
+ var e;
+ return w.isFunction(t) ? this.each(function(e) {
+ w(this).wrapAll(t.call(this, e))
+ }) : (this[0] && (e = w(t, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && e.insertBefore(this[0]), e.map(function() {
+ for (var e = this; e.firstElementChild;) e = e.firstElementChild;
+ return e
+ }).append(this)), this)
+ },
+ wrapInner: function(n) {
+ return this.each(w.isFunction(n) ? function(e) {
+ w(this).wrapInner(n.call(this, e))
+ } : function() {
+ var e = w(this),
+ t = e.contents();
+ t.length ? t.wrapAll(n) : e.append(n)
+ })
+ },
+ wrap: function(t) {
+ var n = w.isFunction(t);
+ return this.each(function(e) {
+ w(this).wrapAll(n ? t.call(this, e) : t)
+ })
+ },
+ unwrap: function() {
+ return this.parent().each(function() {
+ w.nodeName(this, "body") || w(this).replaceWith(this.childNodes)
+ }).end()
+ }
+ });
+ var xt = /%20/g,
+ wt = /\[\]$/,
+ $t = /\r?\n/g,
+ _t = /^(?:submit|button|image|reset|file)$/i,
+ Ct = /^(?:input|select|textarea|keygen)/i;
+ w.param = function(e, t) {
+ function n(e, t) {
+ t = w.isFunction(t) ? t() : null == t ? "" : t, o[o.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
+ }
+ var i, o = [];
+ if (void 0 === t && (t = w.ajaxSettings && w.ajaxSettings.traditional), w.isArray(e) || e.jquery && !w.isPlainObject(e)) w.each(e, function() {
+ n(this.name, this.value)
+ });
+ else
+ for (i in e) ! function n(i, e, o, r) {
+ if (w.isArray(e)) w.each(e, function(e, t) {
+ o || wt.test(i) ? r(i, t) : n(i + "[" + ("object" == (void 0 === t ? "undefined" : _typeof(t)) ? e : "") + "]", t, o, r)
+ });
+ else if (o || "object" !== w.type(e)) r(i, e);
+ else
+ for (var t in e) n(i + "[" + t + "]", e[t], o, r)
+ }(i, e[i], t, n);
+ return o.join("&").replace(xt, "+")
+ }, w.fn.extend({
+ serialize: function() {
+ return w.param(this.serializeArray())
+ },
+ serializeArray: function() {
+ return this.map(function() {
+ var e = w.prop(this, "elements");
+ return e ? w.makeArray(e) : this
+ }).filter(function() {
+ var e = this.type;
+ return this.name && !w(this).is(":disabled") && Ct.test(this.nodeName) && !_t.test(e) && (this.checked || !X.test(e))
+ }).map(function(e, t) {
+ var n = w(this).val();
+ return null == n ? null : w.isArray(n) ? w.map(n, function(e) {
+ return {
+ name: t.name,
+ value: e.replace($t, "\r\n")
+ }
+ }) : {
+ name: t.name,
+ value: n.replace($t, "\r\n")
+ }
+ }).get()
+ }
+ }), w.ajaxSettings.xhr = function() {
+ try {
+ return new XMLHttpRequest
+ } catch (e) {}
+ };
+ var Tt = 0,
+ kt = {},
+ jt = {
+ 0: 200,
+ 1223: 204
+ },
+ qt = w.ajaxSettings.xhr();
+ h.ActiveXObject && w(h).on("unload", function() {
+ for (var e in kt) kt[e]()
+ }), v.cors = !!qt && "withCredentials" in qt, v.ajax = qt = !!qt, w.ajaxTransport(function(r) {
+ var s;
+ return v.cors || qt && !r.crossDomain ? {
+ send: function(e, t) {
+ var n, i = r.xhr(),
+ o = ++Tt;
+ if (i.open(r.type, r.url, r.async, r.username, r.password), r.xhrFields)
+ for (n in r.xhrFields) i[n] = r.xhrFields[n];
+ for (n in r.mimeType && i.overrideMimeType && i.overrideMimeType(r.mimeType), r.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) i.setRequestHeader(n, e[n]);
+ s = function(e) {
+ return function() {
+ s && (delete kt[o], s = i.onload = i.onerror = null, "abort" === e ? i.abort() : "error" === e ? t(i.status, i.statusText) : t(jt[i.status] || i.status, i.statusText, "string" == typeof i.responseText ? {
+ text: i.responseText
+ } : void 0, i.getAllResponseHeaders()))
+ }
+ }, i.onload = s(), i.onerror = s("error"), s = kt[o] = s("abort");
+ try {
+ i.send(r.hasContent && r.data || null)
+ } catch (e) {
+ if (s) throw e
+ }
+ },
+ abort: function() {
+ s && s()
+ }
+ } : void 0
+ }), w.ajaxSetup({
+ accepts: {
+ script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /(?:java|ecma)script/
+ },
+ converters: {
+ "text script": function(e) {
+ return w.globalEval(e), e
+ }
+ }
+ }), w.ajaxPrefilter("script", function(e) {
+ void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
+ }), w.ajaxTransport("script", function(n) {
+ var i, o;
+ if (n.crossDomain) return {
+ send: function(e, t) {
+ i = w("