wizechart
Version:
A jQuery + Bootstrap simple progress bar chart plugin
1,192 lines (1,191 loc) • 160 kB
JavaScript
var mt = { exports: {} };
/*!
* jQuery JavaScript Library v3.7.1
* https://jquery.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2023-08-28T13:37Z
*/
var Wr = mt.exports, Hn;
function Fr() {
return Hn || (Hn = 1, function(Pe) {
(function(L, Oe) {
Pe.exports = L.document ? Oe(L, !0) : function(P) {
if (!P.document)
throw new Error("jQuery requires a window with a document");
return Oe(P);
};
})(typeof window < "u" ? window : Wr, function(L, Oe) {
var P = [], De = Object.getPrototypeOf, Y = P.slice, Ve = P.flat ? function(e) {
return P.flat.call(e);
} : function(e) {
return P.concat.apply([], e);
}, z = P.push, X = P.indexOf, K = {}, Ne = K.toString, Z = K.hasOwnProperty, ut = Z.toString, ve = ut.call(Object), E = {}, D = function(t) {
return typeof t == "function" && typeof t.nodeType != "number" && typeof t.item != "function";
}, fe = function(t) {
return t != null && t === t.window;
}, k = L.document, Xe = {
type: !0,
src: !0,
nonce: !0,
noModule: !0
};
function Qe(e, t, n) {
n = n || k;
var r, o, a = n.createElement("script");
if (a.text = e, t)
for (r in Xe)
o = t[r] || t.getAttribute && t.getAttribute(r), o && a.setAttribute(r, o);
n.head.appendChild(a).parentNode.removeChild(a);
}
function we(e) {
return e == null ? e + "" : typeof e == "object" || typeof e == "function" ? K[Ne.call(e)] || "object" : typeof e;
}
var st = "3.7.1", Pn = /HTML$/i, i = function(e, t) {
return new i.fn.init(e, t);
};
i.fn = i.prototype = {
// The current version of jQuery being used
jquery: st,
constructor: i,
// The default length of a jQuery object is 0
length: 0,
toArray: function() {
return Y.call(this);
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function(e) {
return e == null ? Y.call(this) : e < 0 ? this[e + this.length] : this[e];
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function(e) {
var t = i.merge(this.constructor(), e);
return t.prevObject = this, t;
},
// Execute a callback for every element in the matched set.
each: function(e) {
return i.each(this, e);
},
map: function(e) {
return this.pushStack(i.map(this, function(t, n) {
return e.call(t, n, t);
}));
},
slice: function() {
return this.pushStack(Y.apply(this, arguments));
},
first: function() {
return this.eq(0);
},
last: function() {
return this.eq(-1);
},
even: function() {
return this.pushStack(i.grep(this, function(e, t) {
return (t + 1) % 2;
}));
},
odd: function() {
return this.pushStack(i.grep(this, function(e, t) {
return t % 2;
}));
},
eq: function(e) {
var t = this.length, n = +e + (e < 0 ? t : 0);
return this.pushStack(n >= 0 && n < t ? [this[n]] : []);
},
end: function() {
return this.prevObject || this.constructor();
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: z,
sort: P.sort,
splice: P.splice
}, i.extend = i.fn.extend = function() {
var e, t, n, r, o, a, u = arguments[0] || {}, c = 1, f = arguments.length, d = !1;
for (typeof u == "boolean" && (d = u, u = arguments[c] || {}, c++), typeof u != "object" && !D(u) && (u = {}), c === f && (u = this, c--); c < f; c++)
if ((e = arguments[c]) != null)
for (t in e)
r = e[t], !(t === "__proto__" || u === r) && (d && r && (i.isPlainObject(r) || (o = Array.isArray(r))) ? (n = u[t], o && !Array.isArray(n) ? a = [] : !o && !i.isPlainObject(n) ? a = {} : a = n, o = !1, u[t] = i.extend(d, a, r)) : r !== void 0 && (u[t] = r));
return u;
}, i.extend({
// Unique for each copy of jQuery on the page
expando: "jQuery" + (st + Math.random()).replace(/\D/g, ""),
// Assume jQuery is ready without the ready module
isReady: !0,
error: function(e) {
throw new Error(e);
},
noop: function() {
},
isPlainObject: function(e) {
var t, n;
return !e || Ne.call(e) !== "[object Object]" ? !1 : (t = De(e), t ? (n = Z.call(t, "constructor") && t.constructor, typeof n == "function" && ut.call(n) === ve) : !0);
},
isEmptyObject: function(e) {
var t;
for (t in e)
return !1;
return !0;
},
// Evaluates a script in a provided context; falls back to the global one
// if not specified.
globalEval: function(e, t, n) {
Qe(e, { nonce: t && t.nonce }, n);
},
each: function(e, t) {
var n, r = 0;
if (Tt(e))
for (n = e.length; r < n && t.call(e[r], r, e[r]) !== !1; r++)
;
else
for (r in e)
if (t.call(e[r], r, e[r]) === !1)
break;
return e;
},
// Retrieve the text value of an array of DOM nodes
text: function(e) {
var t, n = "", r = 0, o = e.nodeType;
if (!o)
for (; t = e[r++]; )
n += i.text(t);
return o === 1 || o === 11 ? e.textContent : o === 9 ? e.documentElement.textContent : o === 3 || o === 4 ? e.nodeValue : n;
},
// results is for internal usage only
makeArray: function(e, t) {
var n = t || [];
return e != null && (Tt(Object(e)) ? i.merge(
n,
typeof e == "string" ? [e] : e
) : z.call(n, e)), n;
},
inArray: function(e, t, n) {
return t == null ? -1 : X.call(t, e, n);
},
isXMLDoc: function(e) {
var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement;
return !Pn.test(t || n && n.nodeName || "HTML");
},
// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge: function(e, t) {
for (var n = +t.length, r = 0, o = e.length; r < n; r++)
e[o++] = t[r];
return e.length = o, e;
},
grep: function(e, t, n) {
for (var r, o = [], a = 0, u = e.length, c = !n; a < u; a++)
r = !t(e[a], a), r !== c && o.push(e[a]);
return o;
},
// arg is for internal usage only
map: function(e, t, n) {
var r, o, a = 0, u = [];
if (Tt(e))
for (r = e.length; a < r; a++)
o = t(e[a], a, n), o != null && u.push(o);
else
for (a in e)
o = t(e[a], a, n), o != null && u.push(o);
return Ve(u);
},
// A global GUID counter for objects
guid: 1,
// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support: E
}), typeof Symbol == "function" && (i.fn[Symbol.iterator] = P[Symbol.iterator]), i.each(
"Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
function(e, t) {
K["[object " + t + "]"] = t.toLowerCase();
}
);
function Tt(e) {
var t = !!e && "length" in e && e.length, n = we(e);
return D(e) || fe(e) ? !1 : n === "array" || t === 0 || typeof t == "number" && t > 0 && t - 1 in e;
}
function B(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
}
var On = P.pop, Mn = P.sort, Rn = P.splice, W = "[\\x20\\t\\r\\n\\f]", Ge = new RegExp(
"^" + W + "+|((?:^|[^\\\\])(?:\\\\.)*)" + W + "+$",
"g"
);
i.contains = function(e, t) {
var n = t && t.parentNode;
return e === n || !!(n && n.nodeType === 1 && // Support: IE 9 - 11+
// IE doesn't have `contains` on SVG.
(e.contains ? e.contains(n) : e.compareDocumentPosition && e.compareDocumentPosition(n) & 16));
};
var In = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
function _n(e, t) {
return t ? e === "\0" ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e;
}
i.escapeSelector = function(e) {
return (e + "").replace(In, _n);
};
var be = k, Ct = z;
(function() {
var e, t, n, r, o, a = Ct, u, c, f, d, y, b = i.expando, h = 0, x = 0, j = yt(), I = yt(), H = yt(), Q = yt(), V = function(s, l) {
return s === l && (o = !0), 0;
}, de = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", pe = "(?:\\\\[\\da-fA-F]{1,6}" + W + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", R = "\\[" + W + "*(" + pe + ")(?:" + W + // Operator (capture 2)
"*([*^$|!~]?=)" + W + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(` + pe + "))|)" + W + "*\\]", Le = ":(" + pe + `)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|` + R + ")*)|.*)\\)|)", _ = new RegExp(W + "+", "g"), U = new RegExp("^" + W + "*," + W + "*"), it = new RegExp("^" + W + "*([>+~]|" + W + ")" + W + "*"), _t = new RegExp(W + "|>"), he = new RegExp(Le), ot = new RegExp("^" + pe + "$"), ge = {
ID: new RegExp("^#(" + pe + ")"),
CLASS: new RegExp("^\\.(" + pe + ")"),
TAG: new RegExp("^(" + pe + "|[*])"),
ATTR: new RegExp("^" + R),
PSEUDO: new RegExp("^" + Le),
CHILD: new RegExp(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + W + "*(even|odd|(([+-]|)(\\d*)n|)" + W + "*(?:([+-]|)" + W + "*(\\d+)|))" + W + "*\\)|)",
"i"
),
bool: new RegExp("^(?:" + de + ")$", "i"),
// For use in libraries implementing .is()
// We use this for POS matching in `select`
needsContext: new RegExp("^" + W + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + W + "*((?:-\\d)?\\d*)" + W + "*\\)|)(?=[^-]|$)", "i")
}, Se = /^(?:input|select|textarea|button)$/i, Ee = /^h\d$/i, oe = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, $t = /[+~]/, Te = new RegExp("\\\\[\\da-fA-F]{1,6}" + W + "?|\\\\([^\\r\\n\\f])", "g"), Ce = function(s, l) {
var p = "0x" + s.slice(1) - 65536;
return l || (p < 0 ? String.fromCharCode(p + 65536) : String.fromCharCode(p >> 10 | 55296, p & 1023 | 56320));
}, Pr = function() {
Ae();
}, Or = bt(
function(s) {
return s.disabled === !0 && B(s, "fieldset");
},
{ dir: "parentNode", next: "legend" }
);
function Mr() {
try {
return u.activeElement;
} catch {
}
}
try {
a.apply(
P = Y.call(be.childNodes),
be.childNodes
), P[be.childNodes.length].nodeType;
} catch {
a = {
apply: function(l, p) {
Ct.apply(l, Y.call(p));
},
call: function(l) {
Ct.apply(l, Y.call(arguments, 1));
}
};
}
function $(s, l, p, g) {
var v, m, T, w, C, O, N, q = l && l.ownerDocument, M = l ? l.nodeType : 9;
if (p = p || [], typeof s != "string" || !s || M !== 1 && M !== 9 && M !== 11)
return p;
if (!g && (Ae(l), l = l || u, f)) {
if (M !== 11 && (C = oe.exec(s)))
if (v = C[1]) {
if (M === 9)
if (T = l.getElementById(v)) {
if (T.id === v)
return a.call(p, T), p;
} else
return p;
else if (q && (T = q.getElementById(v)) && $.contains(l, T) && T.id === v)
return a.call(p, T), p;
} else {
if (C[2])
return a.apply(p, l.getElementsByTagName(s)), p;
if ((v = C[3]) && l.getElementsByClassName)
return a.apply(p, l.getElementsByClassName(v)), p;
}
if (!Q[s + " "] && (!d || !d.test(s))) {
if (N = s, q = l, M === 1 && (_t.test(s) || it.test(s))) {
for (q = $t.test(s) && Wt(l.parentNode) || l, (q != l || !E.scope) && ((w = l.getAttribute("id")) ? w = i.escapeSelector(w) : l.setAttribute("id", w = b)), O = at(s), m = O.length; m--; )
O[m] = (w ? "#" + w : ":scope") + " " + vt(O[m]);
N = O.join(",");
}
try {
return a.apply(
p,
q.querySelectorAll(N)
), p;
} catch {
Q(s, !0);
} finally {
w === b && l.removeAttribute("id");
}
}
}
return Ln(s.replace(Ge, "$1"), l, p, g);
}
function yt() {
var s = [];
function l(p, g) {
return s.push(p + " ") > t.cacheLength && delete l[s.shift()], l[p + " "] = g;
}
return l;
}
function se(s) {
return s[b] = !0, s;
}
function ze(s) {
var l = u.createElement("fieldset");
try {
return !!s(l);
} catch {
return !1;
} finally {
l.parentNode && l.parentNode.removeChild(l), l = null;
}
}
function Rr(s) {
return function(l) {
return B(l, "input") && l.type === s;
};
}
function Ir(s) {
return function(l) {
return (B(l, "input") || B(l, "button")) && l.type === s;
};
}
function jn(s) {
return function(l) {
return "form" in l ? l.parentNode && l.disabled === !1 ? "label" in l ? "label" in l.parentNode ? l.parentNode.disabled === s : l.disabled === s : l.isDisabled === s || // Where there is no isDisabled, check manually
l.isDisabled !== !s && Or(l) === s : l.disabled === s : "label" in l ? l.disabled === s : !1;
};
}
function He(s) {
return se(function(l) {
return l = +l, se(function(p, g) {
for (var v, m = s([], p.length, l), T = m.length; T--; )
p[v = m[T]] && (p[v] = !(g[v] = p[v]));
});
});
}
function Wt(s) {
return s && typeof s.getElementsByTagName < "u" && s;
}
function Ae(s) {
var l, p = s ? s.ownerDocument || s : be;
return p == u || p.nodeType !== 9 || !p.documentElement || (u = p, c = u.documentElement, f = !i.isXMLDoc(u), y = c.matches || c.webkitMatchesSelector || c.msMatchesSelector, c.msMatchesSelector && // Support: IE 11+, Edge 17 - 18+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
// two documents; shallow comparisons work.
// eslint-disable-next-line eqeqeq
be != u && (l = u.defaultView) && l.top !== l && l.addEventListener("unload", Pr), E.getById = ze(function(g) {
return c.appendChild(g).id = i.expando, !u.getElementsByName || !u.getElementsByName(i.expando).length;
}), E.disconnectedMatch = ze(function(g) {
return y.call(g, "*");
}), E.scope = ze(function() {
return u.querySelectorAll(":scope");
}), E.cssHas = ze(function() {
try {
return u.querySelector(":has(*,:jqfake)"), !1;
} catch {
return !0;
}
}), E.getById ? (t.filter.ID = function(g) {
var v = g.replace(Te, Ce);
return function(m) {
return m.getAttribute("id") === v;
};
}, t.find.ID = function(g, v) {
if (typeof v.getElementById < "u" && f) {
var m = v.getElementById(g);
return m ? [m] : [];
}
}) : (t.filter.ID = function(g) {
var v = g.replace(Te, Ce);
return function(m) {
var T = typeof m.getAttributeNode < "u" && m.getAttributeNode("id");
return T && T.value === v;
};
}, t.find.ID = function(g, v) {
if (typeof v.getElementById < "u" && f) {
var m, T, w, C = v.getElementById(g);
if (C) {
if (m = C.getAttributeNode("id"), m && m.value === g)
return [C];
for (w = v.getElementsByName(g), T = 0; C = w[T++]; )
if (m = C.getAttributeNode("id"), m && m.value === g)
return [C];
}
return [];
}
}), t.find.TAG = function(g, v) {
return typeof v.getElementsByTagName < "u" ? v.getElementsByTagName(g) : v.querySelectorAll(g);
}, t.find.CLASS = function(g, v) {
if (typeof v.getElementsByClassName < "u" && f)
return v.getElementsByClassName(g);
}, d = [], ze(function(g) {
var v;
c.appendChild(g).innerHTML = "<a id='" + b + "' href='' disabled='disabled'></a><select id='" + b + "-\r\\' disabled='disabled'><option selected=''></option></select>", g.querySelectorAll("[selected]").length || d.push("\\[" + W + "*(?:value|" + de + ")"), g.querySelectorAll("[id~=" + b + "-]").length || d.push("~="), g.querySelectorAll("a#" + b + "+*").length || d.push(".#.+[+~]"), g.querySelectorAll(":checked").length || d.push(":checked"), v = u.createElement("input"), v.setAttribute("type", "hidden"), g.appendChild(v).setAttribute("name", "D"), c.appendChild(g).disabled = !0, g.querySelectorAll(":disabled").length !== 2 && d.push(":enabled", ":disabled"), v = u.createElement("input"), v.setAttribute("name", ""), g.appendChild(v), g.querySelectorAll("[name='']").length || d.push("\\[" + W + "*name" + W + "*=" + W + `*(?:''|"")`);
}), E.cssHas || d.push(":has"), d = d.length && new RegExp(d.join("|")), V = function(g, v) {
if (g === v)
return o = !0, 0;
var m = !g.compareDocumentPosition - !v.compareDocumentPosition;
return m || (m = (g.ownerDocument || g) == (v.ownerDocument || v) ? g.compareDocumentPosition(v) : (
// Otherwise we know they are disconnected
1
), m & 1 || !E.sortDetached && v.compareDocumentPosition(g) === m ? g === u || g.ownerDocument == be && $.contains(be, g) ? -1 : v === u || v.ownerDocument == be && $.contains(be, v) ? 1 : r ? X.call(r, g) - X.call(r, v) : 0 : m & 4 ? -1 : 1);
}), u;
}
$.matches = function(s, l) {
return $(s, null, null, l);
}, $.matchesSelector = function(s, l) {
if (Ae(s), f && !Q[l + " "] && (!d || !d.test(l)))
try {
var p = y.call(s, l);
if (p || E.disconnectedMatch || // As well, disconnected nodes are said to be in a document
// fragment in IE 9
s.document && s.document.nodeType !== 11)
return p;
} catch {
Q(l, !0);
}
return $(l, u, null, [s]).length > 0;
}, $.contains = function(s, l) {
return (s.ownerDocument || s) != u && Ae(s), i.contains(s, l);
}, $.attr = function(s, l) {
(s.ownerDocument || s) != u && Ae(s);
var p = t.attrHandle[l.toLowerCase()], g = p && Z.call(t.attrHandle, l.toLowerCase()) ? p(s, l, !f) : void 0;
return g !== void 0 ? g : s.getAttribute(l);
}, $.error = function(s) {
throw new Error("Syntax error, unrecognized expression: " + s);
}, i.uniqueSort = function(s) {
var l, p = [], g = 0, v = 0;
if (o = !E.sortStable, r = !E.sortStable && Y.call(s, 0), Mn.call(s, V), o) {
for (; l = s[v++]; )
l === s[v] && (g = p.push(v));
for (; g--; )
Rn.call(s, p[g], 1);
}
return r = null, s;
}, i.fn.uniqueSort = function() {
return this.pushStack(i.uniqueSort(Y.apply(this)));
}, t = i.expr = {
// Can be adjusted by the user
cacheLength: 50,
createPseudo: se,
match: ge,
attrHandle: {},
find: {},
relative: {
">": { dir: "parentNode", first: !0 },
" ": { dir: "parentNode" },
"+": { dir: "previousSibling", first: !0 },
"~": { dir: "previousSibling" }
},
preFilter: {
ATTR: function(s) {
return s[1] = s[1].replace(Te, Ce), s[3] = (s[3] || s[4] || s[5] || "").replace(Te, Ce), s[2] === "~=" && (s[3] = " " + s[3] + " "), s.slice(0, 4);
},
CHILD: function(s) {
return s[1] = s[1].toLowerCase(), s[1].slice(0, 3) === "nth" ? (s[3] || $.error(s[0]), s[4] = +(s[4] ? s[5] + (s[6] || 1) : 2 * (s[3] === "even" || s[3] === "odd")), s[5] = +(s[7] + s[8] || s[3] === "odd")) : s[3] && $.error(s[0]), s;
},
PSEUDO: function(s) {
var l, p = !s[6] && s[2];
return ge.CHILD.test(s[0]) ? null : (s[3] ? s[2] = s[4] || s[5] || "" : p && he.test(p) && // Get excess from tokenize (recursively)
(l = at(p, !0)) && // advance to the next closing parenthesis
(l = p.indexOf(")", p.length - l) - p.length) && (s[0] = s[0].slice(0, l), s[2] = p.slice(0, l)), s.slice(0, 3));
}
},
filter: {
TAG: function(s) {
var l = s.replace(Te, Ce).toLowerCase();
return s === "*" ? function() {
return !0;
} : function(p) {
return B(p, l);
};
},
CLASS: function(s) {
var l = j[s + " "];
return l || (l = new RegExp("(^|" + W + ")" + s + "(" + W + "|$)")) && j(s, function(p) {
return l.test(
typeof p.className == "string" && p.className || typeof p.getAttribute < "u" && p.getAttribute("class") || ""
);
});
},
ATTR: function(s, l, p) {
return function(g) {
var v = $.attr(g, s);
return v == null ? l === "!=" : l ? (v += "", l === "=" ? v === p : l === "!=" ? v !== p : l === "^=" ? p && v.indexOf(p) === 0 : l === "*=" ? p && v.indexOf(p) > -1 : l === "$=" ? p && v.slice(-p.length) === p : l === "~=" ? (" " + v.replace(_, " ") + " ").indexOf(p) > -1 : l === "|=" ? v === p || v.slice(0, p.length + 1) === p + "-" : !1) : !0;
};
},
CHILD: function(s, l, p, g, v) {
var m = s.slice(0, 3) !== "nth", T = s.slice(-4) !== "last", w = l === "of-type";
return g === 1 && v === 0 ? (
// Shortcut for :nth-*(n)
function(C) {
return !!C.parentNode;
}
) : function(C, O, N) {
var q, M, A, F, re, G = m !== T ? "nextSibling" : "previousSibling", ae = C.parentNode, ye = w && C.nodeName.toLowerCase(), Ue = !N && !w, J = !1;
if (ae) {
if (m) {
for (; G; ) {
for (A = C; A = A[G]; )
if (w ? B(A, ye) : A.nodeType === 1)
return !1;
re = G = s === "only" && !re && "nextSibling";
}
return !0;
}
if (re = [T ? ae.firstChild : ae.lastChild], T && Ue) {
for (M = ae[b] || (ae[b] = {}), q = M[s] || [], F = q[0] === h && q[1], J = F && q[2], A = F && ae.childNodes[F]; A = ++F && A && A[G] || // Fallback to seeking `elem` from the start
(J = F = 0) || re.pop(); )
if (A.nodeType === 1 && ++J && A === C) {
M[s] = [h, F, J];
break;
}
} else if (Ue && (M = C[b] || (C[b] = {}), q = M[s] || [], F = q[0] === h && q[1], J = F), J === !1)
for (; (A = ++F && A && A[G] || (J = F = 0) || re.pop()) && !((w ? B(A, ye) : A.nodeType === 1) && ++J && (Ue && (M = A[b] || (A[b] = {}), M[s] = [h, J]), A === C)); )
;
return J -= v, J === g || J % g === 0 && J / g >= 0;
}
};
},
PSEUDO: function(s, l) {
var p, g = t.pseudos[s] || t.setFilters[s.toLowerCase()] || $.error("unsupported pseudo: " + s);
return g[b] ? g(l) : g.length > 1 ? (p = [s, s, "", l], t.setFilters.hasOwnProperty(s.toLowerCase()) ? se(function(v, m) {
for (var T, w = g(v, l), C = w.length; C--; )
T = X.call(v, w[C]), v[T] = !(m[T] = w[C]);
}) : function(v) {
return g(v, 0, p);
}) : g;
}
},
pseudos: {
// Potentially complex pseudos
not: se(function(s) {
var l = [], p = [], g = Ut(s.replace(Ge, "$1"));
return g[b] ? se(function(v, m, T, w) {
for (var C, O = g(v, null, w, []), N = v.length; N--; )
(C = O[N]) && (v[N] = !(m[N] = C));
}) : function(v, m, T) {
return l[0] = v, g(l, null, T, p), l[0] = null, !p.pop();
};
}),
has: se(function(s) {
return function(l) {
return $(s, l).length > 0;
};
}),
contains: se(function(s) {
return s = s.replace(Te, Ce), function(l) {
return (l.textContent || i.text(l)).indexOf(s) > -1;
};
}),
// "Whether an element is represented by a :lang() selector
// is based solely on the element's language value
// being equal to the identifier C,
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
// https://www.w3.org/TR/selectors/#lang-pseudo
lang: se(function(s) {
return ot.test(s || "") || $.error("unsupported lang: " + s), s = s.replace(Te, Ce).toLowerCase(), function(l) {
var p;
do
if (p = f ? l.lang : l.getAttribute("xml:lang") || l.getAttribute("lang"))
return p = p.toLowerCase(), p === s || p.indexOf(s + "-") === 0;
while ((l = l.parentNode) && l.nodeType === 1);
return !1;
};
}),
// Miscellaneous
target: function(s) {
var l = L.location && L.location.hash;
return l && l.slice(1) === s.id;
},
root: function(s) {
return s === c;
},
focus: function(s) {
return s === Mr() && u.hasFocus() && !!(s.type || s.href || ~s.tabIndex);
},
// Boolean properties
enabled: jn(!1),
disabled: jn(!0),
checked: function(s) {
return B(s, "input") && !!s.checked || B(s, "option") && !!s.selected;
},
selected: function(s) {
return s.parentNode && s.parentNode.selectedIndex, s.selected === !0;
},
// Contents
empty: function(s) {
for (s = s.firstChild; s; s = s.nextSibling)
if (s.nodeType < 6)
return !1;
return !0;
},
parent: function(s) {
return !t.pseudos.empty(s);
},
// Element/input types
header: function(s) {
return Ee.test(s.nodeName);
},
input: function(s) {
return Se.test(s.nodeName);
},
button: function(s) {
return B(s, "input") && s.type === "button" || B(s, "button");
},
text: function(s) {
var l;
return B(s, "input") && s.type === "text" && // Support: IE <10 only
// New HTML5 attribute values (e.g., "search") appear
// with elem.type === "text"
((l = s.getAttribute("type")) == null || l.toLowerCase() === "text");
},
// Position-in-collection
first: He(function() {
return [0];
}),
last: He(function(s, l) {
return [l - 1];
}),
eq: He(function(s, l, p) {
return [p < 0 ? p + l : p];
}),
even: He(function(s, l) {
for (var p = 0; p < l; p += 2)
s.push(p);
return s;
}),
odd: He(function(s, l) {
for (var p = 1; p < l; p += 2)
s.push(p);
return s;
}),
lt: He(function(s, l, p) {
var g;
for (p < 0 ? g = p + l : p > l ? g = l : g = p; --g >= 0; )
s.push(g);
return s;
}),
gt: He(function(s, l, p) {
for (var g = p < 0 ? p + l : p; ++g < l; )
s.push(g);
return s;
})
}
}, t.pseudos.nth = t.pseudos.eq;
for (e in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })
t.pseudos[e] = Rr(e);
for (e in { submit: !0, reset: !0 })
t.pseudos[e] = Ir(e);
function qn() {
}
qn.prototype = t.filters = t.pseudos, t.setFilters = new qn();
function at(s, l) {
var p, g, v, m, T, w, C, O = I[s + " "];
if (O)
return l ? 0 : O.slice(0);
for (T = s, w = [], C = t.preFilter; T; ) {
(!p || (g = U.exec(T))) && (g && (T = T.slice(g[0].length) || T), w.push(v = [])), p = !1, (g = it.exec(T)) && (p = g.shift(), v.push({
value: p,
// Cast descendant combinators to space
type: g[0].replace(Ge, " ")
}), T = T.slice(p.length));
for (m in t.filter)
(g = ge[m].exec(T)) && (!C[m] || (g = C[m](g))) && (p = g.shift(), v.push({
value: p,
type: m,
matches: g
}), T = T.slice(p.length));
if (!p)
break;
}
return l ? T.length : T ? $.error(s) : (
// Cache the tokens
I(s, w).slice(0)
);
}
function vt(s) {
for (var l = 0, p = s.length, g = ""; l < p; l++)
g += s[l].value;
return g;
}
function bt(s, l, p) {
var g = l.dir, v = l.next, m = v || g, T = p && m === "parentNode", w = x++;
return l.first ? (
// Check against closest ancestor/preceding element
function(C, O, N) {
for (; C = C[g]; )
if (C.nodeType === 1 || T)
return s(C, O, N);
return !1;
}
) : (
// Check against all ancestor/preceding elements
function(C, O, N) {
var q, M, A = [h, w];
if (N) {
for (; C = C[g]; )
if ((C.nodeType === 1 || T) && s(C, O, N))
return !0;
} else
for (; C = C[g]; )
if (C.nodeType === 1 || T)
if (M = C[b] || (C[b] = {}), v && B(C, v))
C = C[g] || C;
else {
if ((q = M[m]) && q[0] === h && q[1] === w)
return A[2] = q[2];
if (M[m] = A, A[2] = s(C, O, N))
return !0;
}
return !1;
}
);
}
function Ft(s) {
return s.length > 1 ? function(l, p, g) {
for (var v = s.length; v--; )
if (!s[v](l, p, g))
return !1;
return !0;
} : s[0];
}
function _r(s, l, p) {
for (var g = 0, v = l.length; g < v; g++)
$(s, l[g], p);
return p;
}
function xt(s, l, p, g, v) {
for (var m, T = [], w = 0, C = s.length, O = l != null; w < C; w++)
(m = s[w]) && (!p || p(m, g, v)) && (T.push(m), O && l.push(w));
return T;
}
function Bt(s, l, p, g, v, m) {
return g && !g[b] && (g = Bt(g)), v && !v[b] && (v = Bt(v, m)), se(function(T, w, C, O) {
var N, q, M, A, F = [], re = [], G = w.length, ae = T || _r(
l || "*",
C.nodeType ? [C] : C,
[]
), ye = s && (T || !l) ? xt(ae, F, s, C, O) : ae;
if (p ? (A = v || (T ? s : G || g) ? (
// ...intermediate processing is necessary
[]
) : (
// ...otherwise use results directly
w
), p(ye, A, C, O)) : A = ye, g)
for (N = xt(A, re), g(N, [], C, O), q = N.length; q--; )
(M = N[q]) && (A[re[q]] = !(ye[re[q]] = M));
if (T) {
if (v || s) {
if (v) {
for (N = [], q = A.length; q--; )
(M = A[q]) && N.push(ye[q] = M);
v(null, A = [], N, O);
}
for (q = A.length; q--; )
(M = A[q]) && (N = v ? X.call(T, M) : F[q]) > -1 && (T[N] = !(w[N] = M));
}
} else
A = xt(
A === w ? A.splice(G, A.length) : A
), v ? v(null, w, A, O) : a.apply(w, A);
});
}
function zt(s) {
for (var l, p, g, v = s.length, m = t.relative[s[0].type], T = m || t.relative[" "], w = m ? 1 : 0, C = bt(function(q) {
return q === l;
}, T, !0), O = bt(function(q) {
return X.call(l, q) > -1;
}, T, !0), N = [function(q, M, A) {
var F = !m && (A || M != n) || ((l = M).nodeType ? C(q, M, A) : O(q, M, A));
return l = null, F;
}]; w < v; w++)
if (p = t.relative[s[w].type])
N = [bt(Ft(N), p)];
else {
if (p = t.filter[s[w].type].apply(null, s[w].matches), p[b]) {
for (g = ++w; g < v && !t.relative[s[g].type]; g++)
;
return Bt(
w > 1 && Ft(N),
w > 1 && vt(
// If the preceding token was a descendant combinator, insert an implicit any-element `*`
s.slice(0, w - 1).concat({ value: s[w - 2].type === " " ? "*" : "" })
).replace(Ge, "$1"),
p,
w < g && zt(s.slice(w, g)),
g < v && zt(s = s.slice(g)),
g < v && vt(s)
);
}
N.push(p);
}
return Ft(N);
}
function $r(s, l) {
var p = l.length > 0, g = s.length > 0, v = function(m, T, w, C, O) {
var N, q, M, A = 0, F = "0", re = m && [], G = [], ae = n, ye = m || g && t.find.TAG("*", O), Ue = h += ae == null ? 1 : Math.random() || 0.1, J = ye.length;
for (O && (n = T == u || T || O); F !== J && (N = ye[F]) != null; F++) {
if (g && N) {
for (q = 0, !T && N.ownerDocument != u && (Ae(N), w = !f); M = s[q++]; )
if (M(N, T || u, w)) {
a.call(C, N);
break;
}
O && (h = Ue);
}
p && ((N = !M && N) && A--, m && re.push(N));
}
if (A += F, p && F !== A) {
for (q = 0; M = l[q++]; )
M(re, G, T, w);
if (m) {
if (A > 0)
for (; F--; )
re[F] || G[F] || (G[F] = On.call(C));
G = xt(G);
}
a.apply(C, G), O && !m && G.length > 0 && A + l.length > 1 && i.uniqueSort(C);
}
return O && (h = Ue, n = ae), re;
};
return p ? se(v) : v;
}
function Ut(s, l) {
var p, g = [], v = [], m = H[s + " "];
if (!m) {
for (l || (l = at(s)), p = l.length; p--; )
m = zt(l[p]), m[b] ? g.push(m) : v.push(m);
m = H(
s,
$r(v, g)
), m.selector = s;
}
return m;
}
function Ln(s, l, p, g) {
var v, m, T, w, C, O = typeof s == "function" && s, N = !g && at(s = O.selector || s);
if (p = p || [], N.length === 1) {
if (m = N[0] = N[0].slice(0), m.length > 2 && (T = m[0]).type === "ID" && l.nodeType === 9 && f && t.relative[m[1].type]) {
if (l = (t.find.ID(
T.matches[0].replace(Te, Ce),
l
) || [])[0], l)
O && (l = l.parentNode);
else return p;
s = s.slice(m.shift().value.length);
}
for (v = ge.needsContext.test(s) ? 0 : m.length; v-- && (T = m[v], !t.relative[w = T.type]); )
if ((C = t.find[w]) && (g = C(
T.matches[0].replace(Te, Ce),
$t.test(m[0].type) && Wt(l.parentNode) || l
))) {
if (m.splice(v, 1), s = g.length && vt(m), !s)
return a.apply(p, g), p;
break;
}
}
return (O || Ut(s, N))(
g,
l,
!f,
p,
!l || $t.test(s) && Wt(l.parentNode) || l
), p;
}
E.sortStable = b.split("").sort(V).join("") === b, Ae(), E.sortDetached = ze(function(s) {
return s.compareDocumentPosition(u.createElement("fieldset")) & 1;
}), i.find = $, i.expr[":"] = i.expr.pseudos, i.unique = i.uniqueSort, $.compile = Ut, $.select = Ln, $.setDocument = Ae, $.tokenize = at, $.escape = i.escapeSelector, $.getText = i.text, $.isXML = i.isXMLDoc, $.selectors = i.expr, $.support = i.support, $.uniqueSort = i.uniqueSort;
})();
var Me = function(e, t, n) {
for (var r = [], o = n !== void 0; (e = e[t]) && e.nodeType !== 9; )
if (e.nodeType === 1) {
if (o && i(e).is(n))
break;
r.push(e);
}
return r;
}, Vt = function(e, t) {
for (var n = []; e; e = e.nextSibling)
e.nodeType === 1 && e !== t && n.push(e);
return n;
}, Xt = i.expr.match.needsContext, Qt = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
function wt(e, t, n) {
return D(t) ? i.grep(e, function(r, o) {
return !!t.call(r, o, r) !== n;
}) : t.nodeType ? i.grep(e, function(r) {
return r === t !== n;
}) : typeof t != "string" ? i.grep(e, function(r) {
return X.call(t, r) > -1 !== n;
}) : i.filter(t, e, n);
}
i.filter = function(e, t, n) {
var r = t[0];
return n && (e = ":not(" + e + ")"), t.length === 1 && r.nodeType === 1 ? i.find.matchesSelector(r, e) ? [r] : [] : i.find.matches(e, i.grep(t, function(o) {
return o.nodeType === 1;
}));
}, i.fn.extend({
find: function(e) {
var t, n, r = this.length, o = this;
if (typeof e != "string")
return this.pushStack(i(e).filter(function() {
for (t = 0; t < r; t++)
if (i.contains(o[t], this))
return !0;
}));
for (n = this.pushStack([]), t = 0; t < r; t++)
i.find(e, o[t], n);
return r > 1 ? i.uniqueSort(n) : n;
},
filter: function(e) {
return this.pushStack(wt(this, e || [], !1));
},
not: function(e) {
return this.pushStack(wt(this, e || [], !0));
},
is: function(e) {
return !!wt(
this,
// If this is a positional/relative selector, check membership in the returned set
// so $("p:first").is("p:last") won't return true for a doc with two "p".
typeof e == "string" && Xt.test(e) ? i(e) : e || [],
!1
).length;
}
});
var Gt, $n = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, Wn = i.fn.init = function(e, t, n) {
var r, o;
if (!e)
return this;
if (n = n || Gt, typeof e == "string")
if (e[0] === "<" && e[e.length - 1] === ">" && e.length >= 3 ? r = [null, e, null] : r = $n.exec(e), r && (r[1] || !t))
if (r[1]) {
if (t = t instanceof i ? t[0] : t, i.merge(this, i.parseHTML(
r[1],
t && t.nodeType ? t.ownerDocument || t : k,
!0
)), Qt.test(r[1]) && i.isPlainObject(t))
for (r in t)
D(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
return this;
} else
return o = k.getElementById(r[2]), o && (this[0] = o, this.length = 1), this;
else return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
else {
if (e.nodeType)
return this[0] = e, this.length = 1, this;
if (D(e))
return n.ready !== void 0 ? n.ready(e) : (
// Execute immediately if ready is not present
e(i)
);
}
return i.makeArray(e, this);
};
Wn.prototype = i.fn, Gt = i(k);
var Fn = /^(?:parents|prev(?:Until|All))/, Bn = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
i.fn.extend({
has: function(e) {
var t = i(e, this), n = t.length;
return this.filter(function() {
for (var r = 0; r < n; r++)
if (i.contains(this, t[r]))
return !0;
});
},
closest: function(e, t) {
var n, r = 0, o = this.length, a = [], u = typeof e != "string" && i(e);
if (!Xt.test(e)) {
for (; r < o; r++)
for (n = this[r]; n && n !== t; n = n.parentNode)
if (n.nodeType < 11 && (u ? u.index(n) > -1 : (
// Don't pass non-elements to jQuery#find
n.nodeType === 1 && i.find.matchesSelector(n, e)
))) {
a.push(n);
break;
}
}
return this.pushStack(a.length > 1 ? i.uniqueSort(a) : a);
},
// Determine the position of an element within the set
index: function(e) {
return e ? typeof e == "string" ? X.call(i(e), this[0]) : X.call(
this,
// If it receives a jQuery object, the first element is used
e.jquery ? e[0] : e
) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
},
add: function(e, t) {
return this.pushStack(
i.uniqueSort(
i.merge(this.get(), i(e, t))
)
);
},
addBack: function(e) {
return this.add(
e == null ? this.prevObject : this.prevObject.filter(e)
);
}
});
function Yt(e, t) {
for (; (e = e[t]) && e.nodeType !== 1; )
;
return e;
}
i.each({
parent: function(e) {
var t = e.parentNode;
return t && t.nodeType !== 11 ? t : null;
},
parents: function(e) {
return Me(e, "parentNode");
},
parentsUntil: function(e, t, n) {
return Me(e, "parentNode", n);
},
next: function(e) {
return Yt(e, "nextSibling");
},
prev: function(e) {
return Yt(e, "previousSibling");
},
nextAll: function(e) {
return Me(e, "nextSibling");
},
prevAll: function(e) {
return Me(e, "previousSibling");
},
nextUntil: function(e, t, n) {
return Me(e, "nextSibling", n);
},
prevUntil: function(e, t, n) {
return Me(e, "previousSibling", n);
},
siblings: function(e) {
return Vt((e.parentNode || {}).firstChild, e);
},
children: function(e) {
return Vt(e.firstChild);
},
contents: function(e) {
return e.contentDocument != null && // Support: IE 11+
// <object> elements with no `data` attribute has an object
// `contentDocument` with a `null` prototype.
De(e.contentDocument) ? e.contentDocument : (B(e, "template") && (e = e.content || e), i.merge([], e.childNodes));
}
}, function(e, t) {
i.fn[e] = function(n, r) {
var o = i.map(this, t, n);
return e.slice(-5) !== "Until" && (r = n), r && typeof r == "string" && (o = i.filter(r, o)), this.length > 1 && (Bn[e] || i.uniqueSort(o), Fn.test(e) && o.reverse()), this.pushStack(o);
};
});
var ce = /[^\x20\t\r\n\f]+/g;
function zn(e) {
var t = {};
return i.each(e.match(ce) || [], function(n, r) {
t[r] = !0;
}), t;
}
i.Callbacks = function(e) {
e = typeof e == "string" ? zn(e) : i.extend({}, e);
var t, n, r, o, a = [], u = [], c = -1, f = function() {
for (o = o || e.once, r = t = !0; u.length; c = -1)
for (n = u.shift(); ++c < a.length; )
a[c].apply(n[0], n[1]) === !1 && e.stopOnFalse && (c = a.length, n = !1);
e.memory || (n = !1), t = !1, o && (n ? a = [] : a = "");
}, d = {
// Add a callback or a collection of callbacks to the list
add: function() {
return a && (n && !t && (c = a.length - 1, u.push(n)), function y(b) {
i.each(b, function(h, x) {
D(x) ? (!e.unique || !d.has(x)) && a.push(x) : x && x.length && we(x) !== "string" && y(x);
});
}(arguments), n && !t && f()), this;
},
// Remove a callback from the list
remove: function() {
return i.each(arguments, function(y, b) {
for (var h; (h = i.inArray(b, a, h)) > -1; )
a.splice(h, 1), h <= c && c--;
}), this;
},
// Check if a given callback is in the list.
// If no argument is given, return whether or not list has callbacks attached.
has: function(y) {
return y ? i.inArray(y, a) > -1 : a.length > 0;
},
// Remove all callbacks from the list
empty: function() {
return a && (a = []), this;
},
// Disable .fire and .add
// Abort any current/pending executions
// Clear all callbacks and values
disable: function() {
return o = u = [], a = n = "", this;
},
disabled: function() {
return !a;
},
// Disable .fire
// Also disable .add unless we have memory (since it would have no effect)
// Abort any pending executions
lock: function() {
return o = u = [], !n && !t && (a = n = ""), this;
},
locked: function() {
return !!o;
},
// Call all callbacks with the given context and arguments
fireWith: function(y, b) {
return o || (b = b || [], b = [y, b.slice ? b.slice() : b], u.push(b), t || f()), this;
},
// Call all the callbacks with the given arguments
fire: function() {
return d.fireWith(this, arguments), this;
},
// To know if the callbacks have already been called at least once
fired: function() {
return !!r;
}
};
return d;
};
function Re(e) {
return e;
}
function ft(e) {
throw e;
}
function Jt(e, t, n, r) {
var o;
try {
e && D(o = e.promise) ? o.call(e).done(t).fail(n) : e && D(o = e.then) ? o.call(e, t, n) : t.apply(void 0, [e].slice(r));
} catch (a) {
n.apply(void 0, [a]);
}
}
i.extend({
Deferred: function(e) {
var t = [
// action, add listener, callbacks,
// ... .then handlers, argument index, [final state]
[
"notify",
"progress",
i.Callbacks("memory"),
i.Callbacks("memory"),