From 56cf04590093ad155e773e9d50e4ea2e3c74c489 Mon Sep 17 00:00:00 2001 From: Zicheng <37530692+ZichengQu@users.noreply.github.com> Date: Thu, 10 Jan 2019 16:27:03 +0800 Subject: [PATCH 01/17] Add files via upload --- Others/jQuery_day01/js/jquery-1.7.1.min.js | 3730 +++++++++++++++++ .../\345\210\235\350\257\206jq.html" | 30 + ...\351\200\211\346\213\251\345\231\250.html" | 32 + ...\351\200\211\346\213\251\345\231\250.html" | 24 + ...\351\200\211\346\213\251\345\231\250.html" | 30 + 5 files changed, 3846 insertions(+) create mode 100644 Others/jQuery_day01/js/jquery-1.7.1.min.js create mode 100644 "Others/jQuery_day01/\345\210\235\350\257\206jq.html" create mode 100644 "Others/jQuery_day01/\345\237\272\346\234\254\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" create mode 100644 "Others/jQuery_day01/\345\237\272\346\234\254\351\200\211\346\213\251\345\231\250.html" create mode 100644 "Others/jQuery_day01/\345\261\202\347\272\247\351\200\211\346\213\251\345\231\250.html" diff --git a/Others/jQuery_day01/js/jquery-1.7.1.min.js b/Others/jQuery_day01/js/jquery-1.7.1.min.js new file mode 100644 index 0000000..dea9408 --- /dev/null +++ b/Others/jQuery_day01/js/jquery-1.7.1.min.js @@ -0,0 +1,3730 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a, b) { + function cy(a) { + return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1 + } + + function cv(a) { + if (!ck[a]) { + var b = c.body, + d = f("<" + a + ">").appendTo(b), + e = d.css("display"); + d.remove(); + if (e === "none" || e === "") { + cl || (cl = c.createElement("iframe"), cl.frameBorder = cl.width = cl.height = 0), b.appendChild(cl); + if (!cm || !cl.createElement) cm = (cl.contentWindow || cl.contentDocument).document, cm.write((c.compatMode === "CSS1Compat" ? "" : "") + ""), cm.close(); + d = cm.createElement(a), cm.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cl) + } + ck[a] = e + } + return ck[a] + } + + function cu(a, b) { + var c = {}; + f.each(cq.concat.apply([], cq.slice(0, b)), function() { + c[this] = a + }); + return c + } + + function ct() { + cr = b + } + + function cs() { + setTimeout(ct, 0); + return cr = f.now() + } + + function cj() { + try { + return new a.ActiveXObject("Microsoft.XMLHTTP") + } catch (b) {} + } + + function ci() { + try { + return new a.XMLHttpRequest + } catch (b) {} + } + + function cc(a, c) { + a.dataFilter && (c = a.dataFilter(c, a.dataType)); + var d = a.dataTypes, + e = {}, + g, h, i = d.length, + j, k = d[0], + l, m, n, o, p; + for (g = 1; g < i; g++) { + if (g === 1) + for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]); + l = k, k = d[g]; + if (k === "*") k = l; + else if (l !== "*" && l !== k) { + m = l + " " + k, n = e[m] || e["* " + k]; + if (!n) { + p = b; + for (o in e) { + j = o.split(" "); + if (j[0] === l || j[0] === "*") { + p = e[j[1] + " " + k]; + if (p) { + o = e[o], o === !0 ? n = p : p === !0 && (n = o); + break + } + } + } + }!n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c))) + } + } + return c + } + + function cb(a, c, d) { + var e = a.contents, + f = a.dataTypes, + g = a.responseFields, + h, i, j, k; + for (i in g) i in d && (c[g[i]] = d[i]); + while (f[0] === "*") f.shift(), h === b && (h = a.mimeType || c.getResponseHeader("content-type")); + if (h) + for (i in e) + if (e[i] && e[i].test(h)) { + f.unshift(i); + break + } + if (f[0] in d) j = f[0]; + else { + for (i in d) { + if (!f[0] || a.converters[i + " " + f[0]]) { + j = i; + break + } + k || (k = i) + } + j = j || k + } + if (j) { + j !== f[0] && f.unshift(j); + return d[j] + } + } + + function ca(a, b, c, d) { + if (f.isArray(b)) f.each(b, function(b, e) { + c || bE.test(a) ? d(a, e) : ca(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d) + }); + else if (!c && b != null && typeof b == "object") + for (var e in b) ca(a + "[" + e + "]", b[e], c, d); + else d(a, b) + } + + function b_(a, c) { + var d, e, g = f.ajaxSettings.flatOptions || {}; + for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]); + e && f.extend(!0, a, e) + } + + function b$(a, c, d, e, f, g) { + f = f || c.dataTypes[0], g = g || {}, g[f] = !0; + var h = a[f], + i = 0, + j = h ? h.length : 0, + k = a === bT, + l; + for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = b$(a, c, d, e, l, g))); + (k || !l) && !g["*"] && (l = b$(a, c, d, e, "*", g)); + return l + } + + function bZ(a) { + return function(b, c) { + typeof b != "string" && (c = b, b = "*"); + if (f.isFunction(c)) { + var d = b.toLowerCase().split(bP), + e = 0, + g = d.length, + h, i, j; + for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c) + } + } + } + + function bC(a, b, c) { + var d = b === "width" ? a.offsetWidth : a.offsetHeight, + e = b === "width" ? bx : by, + g = 0, + h = e.length; + if (d > 0) { + if (c !== "border") + for (; g < h; g++) c || (d -= parseFloat(f.css(a, "padding" + e[g])) || 0), c === "margin" ? d += parseFloat(f.css(a, c + e[g])) || 0 : d -= parseFloat(f.css(a, "border" + e[g] + "Width")) || 0; + return d + "px" + } + d = bz(a, b, b); + if (d < 0 || d == null) d = a.style[b] || 0; + d = parseFloat(d) || 0; + if (c) + for (; g < h; g++) d += parseFloat(f.css(a, "padding" + e[g])) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + e[g] + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + e[g])) || 0); + return d + "px" + } + + function bp(a, b) { + b.src ? f.ajax({ + url: b.src, + async: !1, + dataType: "script" + }) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bf, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b) + } + + function bo(a) { + var b = c.createElement("div"); + bh.appendChild(b), b.innerHTML = a.outerHTML; + return b.firstChild + } + + function bn(a) { + var b = (a.nodeName || "").toLowerCase(); + b === "input" ? bm(a) : b !== "script" && typeof a.getElementsByTagName != "undefined" && f.grep(a.getElementsByTagName("input"), bm) + } + + function bm(a) { + if (a.type === "checkbox" || a.type === "radio") a.defaultChecked = a.checked + } + + function bl(a) { + return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : [] + } + + function bk(a, b) { + var c; + if (b.nodeType === 1) { + b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(); + if (c === "object") b.outerHTML = a.outerHTML; + else if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") { + if (c === "option") b.selected = a.defaultSelected; + else if (c === "input" || c === "textarea") b.defaultValue = a.defaultValue + } else a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value); + b.removeAttribute(f.expando) + } + } + + function bj(a, b) { + if (b.nodeType === 1 && !!f.hasData(a)) { + var c, d, e, g = f._data(a), + h = f._data(b, g), + i = g.events; + if (i) { + delete h.handle, h.events = {}; + for (c in i) + for (d = 0, e = i[c].length; d < e; d++) f.event.add(b, c + (i[c][d].namespace ? "." : "") + i[c][d].namespace, i[c][d], i[c][d].data) + } + h.data && (h.data = f.extend({}, h.data)) + } + } + + function bi(a, b) { + return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a + } + + function U(a) { + var b = V.split("|"), + c = a.createDocumentFragment(); + if (c.createElement) + while (b.length) c.createElement(b.pop()); + return c + } + + function T(a, b, c) { + b = b || 0; + if (f.isFunction(b)) return f.grep(a, function(a, d) { + var e = !!b.call(a, d, a); + return e === c + }); + if (b.nodeType) return f.grep(a, function(a, d) { + return a === b === c + }); + if (typeof b == "string") { + var d = f.grep(a, function(a) { + return a.nodeType === 1 + }); + if (O.test(b)) return f.filter(b, d, !c); + b = f.filter(b, d) + } + return f.grep(a, function(a, d) { + return f.inArray(a, b) >= 0 === c + }) + } + + function S(a) { + return !a || !a.parentNode || a.parentNode.nodeType === 11 + } + + function K() { + return !0 + } + + function J() { + return !1 + } + + function n(a, b, c) { + var d = b + "defer", + e = b + "queue", + g = b + "mark", + h = f._data(a, d); + h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function() { + !f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire()) + }, 0) + } + + function m(a) { + for (var b in a) { + if (b === "data" && f.isEmptyObject(a[b])) continue; + if (b !== "toJSON") return !1 + } + return !0 + } + + function l(a, c, d) { + if (d === b && a.nodeType === 1) { + var e = "data-" + c.replace(k, "-$1").toLowerCase(); + d = a.getAttribute(e); + if (typeof d == "string") { + try { + d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNumeric(d) ? parseFloat(d) : j.test(d) ? f.parseJSON(d) : d + } catch (g) {} + f.data(a, c, d) + } else d = b + } + return d + } + + function h(a) { + var b = g[a] = {}, + c, d; + a = a.split(/\s+/); + for (c = 0, d = a.length; c < d; c++) b[a[c]] = !0; + return b + } + var c = a.document, + d = a.navigator, + e = a.location, + f = function() { + function J() { + if (!e.isReady) { + try { + c.documentElement.doScroll("left") + } catch (a) { + setTimeout(J, 1); + return + } + e.ready() + } + } + var e = function(a, b) { + return new e.fn.init(a, b, h) + }, + f = a.jQuery, + g = a.$, + h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + j = /\S/, + k = /^\s+/, + l = /\s+$/, + m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + n = /^[\],:{}\s]*$/, + o = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + q = /(?:^|:|,)(?:\s*\[)+/g, + r = /(webkit)[ \/]([\w.]+)/, + s = /(opera)(?:.*version)?[ \/]([\w.]+)/, + t = /(msie) ([\w.]+)/, + u = /(mozilla)(?:.*? rv:([\w.]+))?/, + v = /-([a-z]|[0-9])/ig, + w = /^-ms-/, + x = function(a, b) { + return (b + "").toUpperCase() + }, + y = d.userAgent, + z, A, B, C = Object.prototype.toString, + D = Object.prototype.hasOwnProperty, + E = Array.prototype.push, + F = Array.prototype.slice, + G = String.prototype.trim, + H = Array.prototype.indexOf, + I = {}; + e.fn = e.prototype = { + constructor: e, + init: function(a, d, f) { + var g, h, j, k; + if (!a) return this; + if (a.nodeType) { + this.context = this[0] = a, this.length = 1; + return this + } + if (a === "body" && !d && c.body) { + this.context = c, this[0] = c.body, this.selector = a, this.length = 1; + return this + } + if (typeof a == "string") { + a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null]; + if (g && (g[1] || !d)) { + if (g[1]) { + d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = m.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes); + return e.merge(this, a) + } + h = c.getElementById(g[2]); + if (h && h.parentNode) { + if (h.id !== g[2]) return f.find(a); + this.length = 1, this[0] = h + } + this.context = c, this.selector = a; + return this + } + return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a) + } + if (e.isFunction(a)) return f.ready(a); + a.selector !== b && (this.selector = a.selector, this.context = a.context); + return e.makeArray(a, this) + }, + selector: "", + jquery: "1.7.1", + length: 0, + size: function() { + return this.length + }, + toArray: function() { + return F.call(this, 0) + }, + get: function(a) { + return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] + }, + pushStack: function(a, b, c) { + var d = this.constructor(); + e.isArray(a) ? E.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"); + return d + }, + each: function(a, b) { + return e.each(this, a, b) + }, + ready: function(a) { + e.bindReady(), A.add(a); + return this + }, + eq: function(a) { + a = +a; + return a === -1 ? this.slice(a) : this.slice(a, a + 1) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + slice: function() { + return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) + }, + map: function(a) { + return this.pushStack(e.map(this, function(b, c) { + return a.call(b, c, b) + })) + }, + end: function() { + return this.prevObject || this.constructor(null) + }, + push: E, + sort: [].sort, + splice: [].splice + }, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function() { + var a, c, d, f, g, h, i = arguments[0] || {}, + j = 1, + k = arguments.length, + l = !1; + typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j); + for (; j < k; j++) + if ((a = arguments[j]) != null) + for (c in a) { + d = i[c], f = a[c]; + if (i === f) continue; + l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f) + } + return i + }, e.extend({ + noConflict: function(b) { + a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f); + return e + }, + isReady: !1, + readyWait: 1, + holdReady: function(a) { + a ? e.readyWait++ : e.ready(!0) + }, + ready: function(a) { + if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) { + if (!c.body) return setTimeout(e.ready, 1); + e.isReady = !0; + if (a !== !0 && --e.readyWait > 0) return; + A.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready") + } + }, + bindReady: function() { + if (!A) { + A = e.Callbacks("once memory"); + if (c.readyState === "complete") return setTimeout(e.ready, 1); + if (c.addEventListener) c.addEventListener("DOMContentLoaded", B, !1), a.addEventListener("load", e.ready, !1); + else if (c.attachEvent) { + c.attachEvent("onreadystatechange", B), a.attachEvent("onload", e.ready); + var b = !1; + try { + b = a.frameElement == null + } catch (d) {} + c.documentElement.doScroll && b && J() + } + } + }, + isFunction: function(a) { + return e.type(a) === "function" + }, + isArray: Array.isArray || function(a) { + return e.type(a) === "array" + }, + isWindow: function(a) { + return a && typeof a == "object" && "setInterval" in a + }, + isNumeric: function(a) { + return !isNaN(parseFloat(a)) && isFinite(a) + }, + type: function(a) { + return a == null ? String(a) : I[C.call(a)] || "object" + }, + isPlainObject: function(a) { + if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1; + try { + if (a.constructor && !D.call(a, "constructor") && !D.call(a.constructor.prototype, "isPrototypeOf")) return !1 + } catch (c) { + return !1 + } + var d; + for (d in a); + return d === b || D.call(a, d) + }, + isEmptyObject: function(a) { + for (var b in a) return !1; + return !0 + }, + error: function(a) { + throw new Error(a) + }, + parseJSON: function(b) { + if (typeof b != "string" || !b) return null; + b = e.trim(b); + if (a.JSON && a.JSON.parse) return a.JSON.parse(b); + if (n.test(b.replace(o, "@").replace(p, "]").replace(q, ""))) return (new Function("return " + b))(); + e.error("Invalid JSON: " + b) + }, + parseXML: function(c) { + var d, f; + try { + a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) + } catch (g) { + d = b + }(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c); + return d + }, + noop: function() {}, + globalEval: function(b) { + b && j.test(b) && (a.execScript || function(b) { + a.eval.call(a, b) + })(b) + }, + camelCase: function(a) { + return a.replace(w, "ms-").replace(v, x) + }, + nodeName: function(a, b) { + return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() + }, + each: function(a, c, d) { + var f, g = 0, + h = a.length, + i = h === b || e.isFunction(a); + if (d) { + if (i) { + for (f in a) + if (c.apply(a[f], d) === !1) break + } else + for (; g < h;) + if (c.apply(a[g++], d) === !1) break + } else if (i) { + for (f in a) + if (c.call(a[f], f, a[f]) === !1) break + } else + for (; g < h;) + if (c.call(a[g], g, a[g++]) === !1) break; return a + }, + trim: G ? function(a) { + return a == null ? "" : G.call(a) + } : function(a) { + return a == null ? "" : (a + "").replace(k, "").replace(l, "") + }, + makeArray: function(a, b) { + var c = b || []; + if (a != null) { + var d = e.type(a); + a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? E.call(c, a) : e.merge(c, a) + } + return c + }, + inArray: function(a, b, c) { + var d; + if (b) { + if (H) return H.call(b, a, c); + d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0; + for (; c < d; c++) + if (c in b && b[c] === a) return c + } + return -1 + }, + merge: function(a, c) { + var d = a.length, + e = 0; + if (typeof c.length == "number") + for (var f = c.length; e < f; e++) a[d++] = c[e]; + else + while (c[e] !== b) a[d++] = c[e++]; + a.length = d; + return a + }, + grep: function(a, b, c) { + var d = [], + e; + c = !!c; + for (var f = 0, g = a.length; f < g; f++) e = !!b(a[f], f), c !== e && d.push(a[f]); + return d + }, + map: function(a, c, d) { + var f, g, h = [], + i = 0, + j = a.length, + k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a)); + if (k) + for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f); + else + for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f); + return h.concat.apply([], h) + }, + guid: 1, + proxy: function(a, c) { + if (typeof c == "string") { + var d = a[c]; + c = a, a = d + } + if (!e.isFunction(a)) return b; + var f = F.call(arguments, 2), + g = function() { + return a.apply(c, f.concat(F.call(arguments))) + }; + g.guid = a.guid = a.guid || g.guid || e.guid++; + return g + }, + access: function(a, c, d, f, g, h) { + var i = a.length; + if (typeof c == "object") { + for (var j in c) e.access(a, j, c[j], f, g, d); + return a + } + if (d !== b) { + f = !h && f && e.isFunction(d); + for (var k = 0; k < i; k++) g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h); + return a + } + return i ? g(a[0], c) : b + }, + now: function() { + return (new Date).getTime() + }, + uaMatch: function(a) { + a = a.toLowerCase(); + var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexOf("compatible") < 0 && u.exec(a) || []; + return { + browser: b[1] || "", + version: b[2] || "0" + } + }, + sub: function() { + function a(b, c) { + return new a.fn.init(b, c) + } + e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function(d, f) { + f && f instanceof e && !(f instanceof a) && (f = a(f)); + return e.fn.init.call(this, d, f, b) + }, a.fn.init.prototype = a.fn; + var b = a(c); + return a + }, + browser: {} + }), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) { + I["[object " + b + "]"] = b.toLowerCase() + }), z = e.uaMatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? B = function() { + c.removeEventListener("DOMContentLoaded", B, !1), e.ready() + } : c.attachEvent && (B = function() { + c.readyState === "complete" && (c.detachEvent("onreadystatechange", B), e.ready()) + }); + return e + }(), + g = {}; + f.Callbacks = function(a) { + a = a ? g[a] || h(a) : {}; + var c = [], + d = [], + e, i, j, k, l, m = function(b) { + var d, e, g, h, i; + for (d = 0, e = b.length; d < e; d++) g = b[d], h = f.type(g), h === "array" ? m(g) : h === "function" && (!a.unique || !o.has(g)) && c.push(g) + }, + n = function(b, f) { + f = f || [], e = !a.memory || [b, f], i = !0, l = j || 0, j = 0, k = c.length; + for (; c && l < k; l++) + if (c[l].apply(b, f) === !1 && a.stopOnFalse) { + e = !0; + break + } + i = !1, c && (a.once ? e === !0 ? o.disable() : c = [] : d && d.length && (e = d.shift(), o.fireWith(e[0], e[1]))) + }, + o = { + add: function() { + if (c) { + var a = c.length; + m(arguments), i ? k = c.length : e && e !== !0 && (j = a, n(e[0], e[1])) + } + return this + }, + remove: function() { + if (c) { + var b = arguments, + d = 0, + e = b.length; + for (; d < e; d++) + for (var f = 0; f < c.length; f++) + if (b[d] === c[f]) { + i && f <= k && (k--, f <= l && l--), c.splice(f--, 1); + if (a.unique) break + } + } + return this + }, + has: function(a) { + if (c) { + var b = 0, + d = c.length; + for (; b < d; b++) + if (a === c[b]) return !0 + } + return !1 + }, + empty: function() { + c = []; + return this + }, + disable: function() { + c = d = e = b; + return this + }, + disabled: function() { + return !c + }, + lock: function() { + d = b, (!e || e === !0) && o.disable(); + return this + }, + locked: function() { + return !d + }, + fireWith: function(b, c) { + d && (i ? a.once || d.push([b, c]) : (!a.once || !e) && n(b, c)); + return this + }, + fire: function() { + o.fireWith(this, arguments); + return this + }, + fired: function() { + return !!e + } + }; + return o + }; + var i = [].slice; + f.extend({ + Deferred: function(a) { + var b = f.Callbacks("once memory"), + c = f.Callbacks("once memory"), + d = f.Callbacks("memory"), + e = "pending", + g = { + resolve: b, + reject: c, + notify: d + }, + h = { + done: b.add, + fail: c.add, + progress: d.add, + state: function() { + return e + }, + isResolved: b.fired, + isRejected: c.fired, + then: function(a, b, c) { + i.done(a).fail(b).progress(c); + return this + }, + always: function() { + i.done.apply(i, arguments).fail.apply(i, arguments); + return this + }, + pipe: function(a, b, c) { + return f.Deferred(function(d) { + f.each({ + done: [a, "resolve"], + fail: [b, "reject"], + progress: [c, "notify"] + }, function(a, b) { + var c = b[0], + e = b[1], + g; + f.isFunction(c) ? i[a](function() { + g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g]) + }) : i[a](d[e]) + }) + }).promise() + }, + promise: function(a) { + if (a == null) a = h; + else + for (var b in h) a[b] = h[b]; + return a + } + }, + i = h.promise({}), + j; + for (j in g) i[j] = g[j].fire, i[j + "With"] = g[j].fireWith; + i.done(function() { + e = "resolved" + }, c.disable, d.lock).fail(function() { + e = "rejected" + }, b.disable, d.lock), a && a.call(i, i); + return i + }, + when: function(a) { + function m(a) { + return function(b) { + e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e) + } + } + + function l(a) { + return function(c) { + b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolveWith(j, b) + } + } + var b = i.call(arguments, 0), + c = 0, + d = b.length, + e = Array(d), + g = d, + h = d, + j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(), + k = j.promise(); + if (d > 1) { + for (; c < d; c++) b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g; + g || j.resolveWith(j, b) + } else j !== a && j.resolveWith(j, d ? [a] : []); + return k + } + }), f.support = function() { + var b, d, e, g, h, i, j, k, l, m, n, o, p, q = c.createElement("div"), + r = c.documentElement; + q.setAttribute("className", "t"), q.innerHTML = "
a", d = q.getElementsByTagName("*"), e = q.getElementsByTagName("a")[0]; + if (!d || !d.length || !e) return {}; + g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = q.getElementsByTagName("input")[0], b = { + leadingWhitespace: q.firstChild.nodeType === 3, + tbody: !q.getElementsByTagName("tbody").length, + htmlSerialize: !!q.getElementsByTagName("link").length, + style: /top/.test(e.getAttribute("style")), + hrefNormalized: e.getAttribute("href") === "/a", + opacity: /^0.55/.test(e.style.opacity), + cssFloat: !!e.style.cssFloat, + checkOn: i.value === "on", + optSelected: h.selected, + getSetAttribute: q.className !== "t", + enctype: !!c.createElement("form").enctype, + html5Clone: c.createElement("nav").cloneNode(!0).outerHTML !== "<:nav>", + submitBubbles: !0, + changeBubbles: !0, + focusinBubbles: !1, + deleteExpando: !0, + noCloneEvent: !0, + inlineBlockNeedsLayout: !1, + shrinkWrapBlocks: !1, + reliableMarginRight: !0 + }, i.checked = !0, b.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, b.optDisabled = !h.disabled; + try { + delete q.test + } catch (s) { + b.deleteExpando = !1 + }!q.addEventListener && q.attachEvent && q.fireEvent && (q.attachEvent("onclick", function() { + b.noCloneEvent = !1 + }), q.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), b.radioValue = i.value === "t", i.setAttribute("checked", "checked"), q.appendChild(i), k = c.createDocumentFragment(), k.appendChild(q.lastChild), b.checkClone = k.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = i.checked, k.removeChild(i), k.appendChild(q), q.innerHTML = "", a.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", q.style.width = "2px", q.appendChild(j), b.reliableMarginRight = (parseInt((a.getComputedStyle(j, null) || { + marginRight: 0 + }).marginRight, 10) || 0) === 0); + if (q.attachEvent) + for (o in { + submit: 1, + change: 1, + focusin: 1 + }) n = "on" + o, p = n in q, p || (q.setAttribute(n, "return;"), p = typeof q[n] == "function"), b[o + "Bubbles"] = p; + k.removeChild(q), k = g = h = j = q = i = null, f(function() { + var a, d, e, g, h, i, j, k, m, n, o, r = c.getElementsByTagName("body")[0]; + !r || (j = 1, k = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", m = "visibility:hidden;border:0;", n = "style='" + k + "border:5px solid #000;padding:0;'", o = "
" + "" + "
", a = c.createElement("div"), a.style.cssText = m + "width:0;height:0;position:static;top:0;margin-top:" + j + "px", r.insertBefore(a, r.firstChild), q = c.createElement("div"), a.appendChild(q), q.innerHTML = "
t
", l = q.getElementsByTagName("td"), p = l[0].offsetHeight === 0, l[0].style.display = "", l[1].style.display = "none", b.reliableHiddenOffsets = p && l[0].offsetHeight === 0, q.innerHTML = "", q.style.width = q.style.paddingLeft = "1px", f.boxModel = b.boxModel = q.offsetWidth === 2, typeof q.style.zoom != "undefined" && (q.style.display = "inline", q.style.zoom = 1, b.inlineBlockNeedsLayout = q.offsetWidth === 2, q.style.display = "", q.innerHTML = "
", b.shrinkWrapBlocks = q.offsetWidth !== 2), q.style.cssText = k + m, q.innerHTML = o, d = q.firstChild, e = d.firstChild, h = d.nextSibling.firstChild.firstChild, i = { + doesNotAddBorder: e.offsetTop !== 5, + doesAddBorderForTableAndCells: h.offsetTop === 5 + }, e.style.position = "fixed", e.style.top = "20px", i.fixedPosition = e.offsetTop === 20 || e.offsetTop === 15, e.style.position = e.style.top = "", d.style.overflow = "hidden", d.style.position = "relative", i.subtractsBorderForOverflowNotVisible = e.offsetTop === -5, i.doesNotIncludeMarginInBodyOffset = r.offsetTop !== j, r.removeChild(a), q = a = null, f.extend(b, i)) + }); + return b + }(); + var j = /^(?:\{.*\}|\[.*\])$/, + k = /([A-Z])/g; + f.extend({ + cache: {}, + uuid: 0, + expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""), + noData: { + embed: !0, + object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + applet: !0 + }, + hasData: function(a) { + a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando]; + return !!a && !m(a) + }, + data: function(a, c, d, e) { + if (!!f.acceptData(a)) { + var g, h, i, j = f.expando, + k = typeof c == "string", + l = a.nodeType, + m = l ? f.cache : a, + n = l ? a[j] : a[j] && j, + o = c === "events"; + if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return; + n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop)); + if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c); + g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d); + if (o && !h[c]) return g.events; + k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h; + return i + } + }, + removeData: function(a, b, c) { + if (!!f.acceptData(a)) { + var d, e, g, h = f.expando, + i = a.nodeType, + j = i ? f.cache : a, + k = i ? a[h] : h; + if (!j[k]) return; + if (b) { + d = c ? j[k] : j[k].data; + if (d) { + f.isArray(b) || (b in d ? b = [b] : (b = f.camelCase(b), b in d ? b = [b] : b = b.split(" "))); + for (e = 0, g = b.length; e < g; e++) delete d[b[e]]; + if (!(c ? m : f.isEmptyObject)(d)) return + } + } + if (!c) { + delete j[k].data; + if (!m(j[k])) return + } + f.support.deleteExpando || !j.setInterval ? delete j[k] : j[k] = null, i && (f.support.deleteExpando ? delete a[h] : a.removeAttribute ? a.removeAttribute(h) : a[h] = null) + } + }, + _data: function(a, b, c) { + return f.data(a, b, c, !0) + }, + acceptData: function(a) { + if (a.nodeName) { + var b = f.noData[a.nodeName.toLowerCase()]; + if (b) return b !== !0 && a.getAttribute("classid") === b + } + return !0 + } + }), f.fn.extend({ + data: function(a, c) { + var d, e, g, h = null; + if (typeof a == "undefined") { + if (this.length) { + h = f.data(this[0]); + if (this[0].nodeType === 1 && !f._data(this[0], "parsedAttrs")) { + e = this[0].attributes; + for (var i = 0, j = e.length; i < j; i++) g = e[i].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), l(this[0], g, h[g])); + f._data(this[0], "parsedAttrs", !0) + } + } + return h + } + if (typeof a == "object") return this.each(function() { + f.data(this, a) + }); + d = a.split("."), d[1] = d[1] ? "." + d[1] : ""; + if (c === b) { + h = this.triggerHandler("getData" + d[1] + "!", [d[0]]), h === b && this.length && (h = f.data(this[0], a), h = l(this[0], a, h)); + return h === b && d[1] ? this.data(d[0]) : h + } + return this.each(function() { + var b = f(this), + e = [d[0], c]; + b.triggerHandler("setData" + d[1] + "!", e), f.data(this, a, c), b.triggerHandler("changeData" + d[1] + "!", e) + }) + }, + removeData: function(a) { + return this.each(function() { + f.removeData(this, a) + }) + } + }), f.extend({ + _mark: function(a, b) { + a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1)) + }, + _unmark: function(a, b, c) { + a !== !0 && (c = b, b = a, a = !1); + if (b) { + c = c || "fx"; + var d = c + "mark", + e = a ? 0 : (f._data(b, d) || 1) - 1; + e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark")) + } + }, + queue: function(a, b, c) { + var d; + if (a) { + b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c)); + return d || [] + } + }, + dequeue: function(a, b) { + b = b || "fx"; + var c = f.queue(a, b), + d = c.shift(), + e = {}; + d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function() { + f.dequeue(a, b) + }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue")) + } + }), f.fn.extend({ + queue: function(a, c) { + typeof a != "string" && (c = a, a = "fx"); + if (c === b) return f.queue(this[0], a); + return this.each(function() { + var b = f.queue(this, a, c); + a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a) + }) + }, + dequeue: function(a) { + return this.each(function() { + f.dequeue(this, a) + }) + }, + delay: function(a, b) { + a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx"; + return this.queue(b, function(b, c) { + var d = setTimeout(b, a); + c.stop = function() { + clearTimeout(d) + } + }) + }, + clearQueue: function(a) { + return this.queue(a || "fx", []) + }, + promise: function(a, c) { + function m() { + --h || d.resolveWith(e, [e]) + } + typeof a != "string" && (c = a, a = b), a = a || "fx"; + var d = f.Deferred(), + e = this, + g = e.length, + h = 1, + i = a + "defer", + j = a + "queue", + k = a + "mark", + l; + while (g--) + if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0)) h++, l.add(m); + m(); + return d.promise() + } + }); + var o = /[\n\t\r]/g, + p = /\s+/, + q = /\r/g, + r = /^(?:button|input)$/i, + s = /^(?:button|input|object|select|textarea)$/i, + t = /^a(?:rea)?$/i, + u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + v = f.support.getSetAttribute, + w, x, y; + f.fn.extend({ + attr: function(a, b) { + return f.access(this, a, b, !0, f.attr) + }, + removeAttr: function(a) { + return this.each(function() { + f.removeAttr(this, a) + }) + }, + prop: function(a, b) { + return f.access(this, a, b, !0, f.prop) + }, + removeProp: function(a) { + a = f.propFix[a] || a; + return this.each(function() { + try { + this[a] = b, delete this[a] + } catch (c) {} + }) + }, + addClass: function(a) { + var b, c, d, e, g, h, i; + if (f.isFunction(a)) return this.each(function(b) { + f(this).addClass(a.call(this, b, this.className)) + }); + if (a && typeof a == "string") { + b = a.split(p); + for (c = 0, d = this.length; c < d; c++) { + e = this[c]; + if (e.nodeType === 1) + if (!e.className && b.length === 1) e.className = a; + else { + g = " " + e.className + " "; + for (h = 0, i = b.length; h < i; h++) ~g.indexOf(" " + b[h] + " ") || (g += b[h] + " "); + e.className = f.trim(g) + } + } + } + return this + }, + removeClass: function(a) { + var c, d, e, g, h, i, j; + if (f.isFunction(a)) return this.each(function(b) { + f(this).removeClass(a.call(this, b, this.className)) + }); + if (a && typeof a == "string" || a === b) { + c = (a || "").split(p); + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + if (g.nodeType === 1 && g.className) + if (a) { + h = (" " + g.className + " ").replace(o, " "); + for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " "); + g.className = f.trim(h) + } else g.className = "" + } + } + return this + }, + toggleClass: function(a, b) { + var c = typeof a, + d = typeof b == "boolean"; + if (f.isFunction(a)) return this.each(function(c) { + f(this).toggleClass(a.call(this, c, this.className, b), b) + }); + return this.each(function() { + if (c === "string") { + var e, g = 0, + h = f(this), + i = b, + j = a.split(p); + while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e) + } else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "" + }) + }, + hasClass: function(a) { + var b = " " + a + " ", + c = 0, + d = this.length; + for (; c < d; c++) + if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1) return !0; + return !1 + }, + val: function(a) { + var c, d, e, g = this[0]; { + if (!!arguments.length) { + e = f.isFunction(a); + return this.each(function(d) { + var g = f(this), + h; + if (this.nodeType === 1) { + e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function(a) { + return a == null ? "" : a + "" + })), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type]; + if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h + } + }) + } + if (g) { + c = f.valHooks[g.nodeName.toLowerCase()] || f.valHooks[g.type]; + if (c && "get" in c && (d = c.get(g, "value")) !== b) return d; + d = g.value; + return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d + } + } + } + }), f.extend({ + valHooks: { + option: { + get: function(a) { + var b = a.attributes.value; + return !b || b.specified ? a.value : a.text + } + }, + select: { + get: function(a) { + var b, c, d, e, g = a.selectedIndex, + h = [], + i = a.options, + j = a.type === "select-one"; + if (g < 0) return null; + c = j ? g : 0, d = j ? g + 1 : i.length; + for (; c < d; c++) { + e = i[c]; + if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) { + b = f(e).val(); + if (j) return b; + h.push(b) + } + } + if (j && !h.length && i.length) return f(i[g]).val(); + return h + }, + set: function(a, b) { + var c = f.makeArray(b); + f(a).find("option").each(function() { + this.selected = f.inArray(f(this).val(), c) >= 0 + }), c.length || (a.selectedIndex = -1); + return c + } + } + }, + attrFn: { + val: !0, + css: !0, + html: !0, + text: !0, + data: !0, + width: !0, + height: !0, + offset: !0 + }, + attr: function(a, c, d, e) { + var g, h, i, j = a.nodeType; + if (!!a && j !== 3 && j !== 8 && j !== 2) { + if (e && c in f.attrFn) return f(a)[c](d); + if (typeof a.getAttribute == "undefined") return f.prop(a, c, d); + i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w)); + if (d !== b) { + if (d === null) { + f.removeAttr(a, c); + return + } + if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g; + a.setAttribute(c, "" + d); + return d + } + if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g; + g = a.getAttribute(c); + return g === null ? b : g + } + }, + removeAttr: function(a, b) { + var c, d, e, g, h = 0; + if (b && a.nodeType === 1) { + d = b.toLowerCase().split(p), g = d.length; + for (; h < g; h++) e = d[h], e && (c = f.propFix[e] || e, f.attr(a, e, ""), a.removeAttribute(v ? e : c), u.test(e) && c in a && (a[c] = !1)) + } + }, + attrHooks: { + type: { + set: function(a, b) { + if (r.test(a.nodeName) && a.parentNode) f.error("type property can't be changed"); + else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) { + var c = a.value; + a.setAttribute("type", b), c && (a.value = c); + return b + } + } + }, + value: { + get: function(a, b) { + if (w && f.nodeName(a, "button")) return w.get(a, b); + return b in a ? a.value : null + }, + set: function(a, b, c) { + if (w && f.nodeName(a, "button")) return w.set(a, b, c); + a.value = b + } + } + }, + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + prop: function(a, c, d) { + var e, g, h, i = a.nodeType; + if (!!a && i !== 3 && i !== 8 && i !== 2) { + h = i !== 1 || !f.isXMLDoc(a), h && (c = f.propFix[c] || c, g = f.propHooks[c]); + return d !== b ? g && "set" in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get" in g && (e = g.get(a, c)) !== null ? e : a[c] + } + }, + propHooks: { + tabIndex: { + get: function(a) { + var c = a.getAttributeNode("tabindex"); + return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b + } + } + } + }), f.attrHooks.tabindex = f.propHooks.tabIndex, x = { + get: function(a, c) { + var d, e = f.prop(a, c); + return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b + }, + set: function(a, b, c) { + var d; + b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())); + return c + } + }, v || (y = { + name: !0, + id: !0 + }, w = f.valHooks.button = { + get: function(a, c) { + var d; + d = a.getAttributeNode(c); + return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b + }, + set: function(a, b, d) { + var e = a.getAttributeNode(d); + e || (e = c.createAttribute(d), a.setAttributeNode(e)); + return e.nodeValue = b + "" + } + }, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function(a, b) { + f.attrHooks[b] = f.extend(f.attrHooks[b], { + set: function(a, c) { + if (c === "") { + a.setAttribute(b, "auto"); + return c + } + } + }) + }), f.attrHooks.contenteditable = { + get: w.get, + set: function(a, b, c) { + b === "" && (b = "false"), w.set(a, b, c) + } + }), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function(a, c) { + f.attrHooks[c] = f.extend(f.attrHooks[c], { + get: function(a) { + var d = a.getAttribute(c, 2); + return d === null ? b : d + } + }) + }), f.support.style || (f.attrHooks.style = { + get: function(a) { + return a.style.cssText.toLowerCase() || b + }, + set: function(a, b) { + return a.style.cssText = "" + b + } + }), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, { + get: function(a) { + var b = a.parentNode; + b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex); + return null + } + })), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function() { + f.valHooks[this] = { + get: function(a) { + return a.getAttribute("value") === null ? "on" : a.value + } + } + }), f.each(["radio", "checkbox"], function() { + f.valHooks[this] = f.extend(f.valHooks[this], { + set: function(a, b) { + if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0 + } + }) + }); + var z = /^(?:textarea|input|select)$/i, + A = /^([^\.]*)?(?:\.(.+))?$/, + B = /\bhover(\.\S+)?\b/, + C = /^key/, + D = /^(?:mouse|contextmenu)|click/, + E = /^(?:focusinfocus|focusoutblur)$/, + F = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, + G = function(a) { + var b = F.exec(a); + b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)")); + return b + }, + H = function(a, b) { + var c = a.attributes || {}; + return (!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value)) + }, + I = function(a) { + return f.event.special.hover ? a : a.replace(B, "mouseenter$1 mouseleave$1") + }; + f.event = { + add: function(a, c, d, e, g) { + var h, i, j, k, l, m, n, o, p, q, r, s; + if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) { + d.handler && (p = d, d = p.handler), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function(a) { + return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b + }, i.elem = a), c = f.trim(I(c)).split(" "); + for (k = 0; k < c.length; k++) { + l = A.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({ + type: m, + origType: l[1], + data: e, + handler: d, + guid: d.guid, + selector: g, + quick: G(g), + namespace: n.join(".") + }, p), r = j[m]; + if (!r) { + r = j[m] = [], r.delegateCount = 0; + if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i) + } + s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0 + } + a = null + } + }, + global: {}, + remove: function(a, b, c, d, e) { + var g = f.hasData(a) && f._data(a), + h, i, j, k, l, m, n, o, p, q, r, s; + if (!!g && !!(o = g.events)) { + b = f.trim(I(b || "")).split(" "); + for (h = 0; h < b.length; h++) { + i = A.exec(b[h]) || [], j = k = i[1], l = i[2]; + if (!j) { + for (j in o) f.event.remove(a, j + b[h], c, d, !0); + continue + } + p = f.event.special[j] || {}, j = (d ? p.delegateType : p.bindType) || j, r = o[j] || [], m = r.length, l = l ? new RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + for (n = 0; n < r.length; n++) s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s)); + r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeEvent(a, j, g.handle), delete o[j]) + } + f.isEmptyObject(o) && (q = g.handle, q && (q.elem = null), f.removeData(a, ["events", "handle"], !0)) + } + }, + customEvent: { + getData: !0, + setData: !0, + changeData: !0 + }, + trigger: function(c, d, e, g) { + if (!e || e.nodeType !== 3 && e.nodeType !== 8) { + var h = c.type || c, + i = [], + j, k, l, m, n, o, p, q, r, s; + if (E.test(h + f.event.triggered)) return; + h.indexOf("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort()); + if ((!e || f.event.customEvent[h]) && !f.event.global[h]) return; + c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : ""; + if (!e) { + j = f.cache; + for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0); + return + } + c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {}; + if (p.trigger && p.trigger.apply(e, d) === !1) return; + r = [ + [e, p.bindType || h] + ]; + if (!g && !p.noBubble && !f.isWindow(e)) { + s = p.delegateType || h, m = E.test(s + h) ? e : e.parentNode, n = null; + for (; m; m = m.parentNode) r.push([m, s]), n = m; + n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s]) + } + for (l = 0; l < r.length && !c.isPropagationStopped(); l++) m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d) === !1 && c.preventDefault(); + c.type = h, !g && !c.isDefaultPrevented() && (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n)); + return c.result + } + }, + dispatch: function(c) { + c = f.event.fix(c || a.event); + var d = (f._data(this, "events") || {})[c.type] || [], + e = d.delegateCount, + g = [].slice.call(arguments, 0), + h = !c.exclusive && !c.namespace, + i = [], + j, k, l, m, n, o, p, q, r, s, t; + g[0] = c, c.delegateTarget = this; + if (e && !c.target.disabled && (!c.button || c.type !== "click")) { + m = f(this), m.context = this.ownerDocument || this; + for (l = c.target; l != this; l = l.parentNode || this) { + o = {}, q = [], m[0] = l; + for (j = 0; j < e; j++) r = d[j], s = r.selector, o[s] === b && (o[s] = r.quick ? H(l, r.quick) : m.is(s)), o[s] && q.push(r); + q.length && i.push({ + elem: l, + matches: q + }) + } + } + d.length > e && i.push({ + elem: this, + matches: d.slice(e) + }); + for (j = 0; j < i.length && !c.isPropagationStopped(); j++) { + p = i[j], c.currentTarget = p.elem; + for (k = 0; k < p.matches.length && !c.isImmediatePropagationStopped(); k++) { + r = p.matches[k]; + if (h || !c.namespace && !r.namespace || c.namespace_re && c.namespace_re.test(r.namespace)) c.data = r.data, c.handleObj = r, n = ((f.event.special[r.origType] || {}).handle || r.handler).apply(p.elem, g), n !== b && (c.result = n, n === !1 && (c.preventDefault(), c.stopPropagation())) + } + } + return c.result + }, + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + fixHooks: {}, + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function(a, b) { + a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode); + return a + } + }, + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function(a, d) { + var e, f, g, h = d.button, + i = d.fromElement; + a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0); + return a + } + }, + fix: function(a) { + if (a[f.expando]) return a; + var d, e, g = a, + h = f.event.fixHooks[a.type] || {}, + i = h.props ? this.props.concat(h.props) : this.props; + a = f.Event(g); + for (d = i.length; d;) e = i[--d], a[e] = g[e]; + a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey); + return h.filter ? h.filter(a, g) : a + }, + special: { + ready: { + setup: f.bindReady + }, + load: { + noBubble: !0 + }, + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + beforeunload: { + setup: function(a, b, c) { + f.isWindow(this) && (this.onbeforeunload = c) + }, + teardown: function(a, b) { + this.onbeforeunload === b && (this.onbeforeunload = null) + } + } + }, + simulate: function(a, b, c, d) { + var e = f.extend(new f.Event, c, { + type: a, + isSimulated: !0, + originalEvent: {} + }); + d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() + } + }, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function(a, b, c) { + a.removeEventListener && a.removeEventListener(b, c, !1) + } : function(a, b, c) { + a.detachEvent && a.detachEvent("on" + b, c) + }, f.Event = function(a, b) { + if (!(this instanceof f.Event)) return new f.Event(a, b); + a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? K : J) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0 + }, f.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = K; + var a = this.originalEvent; + !a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1) + }, + stopPropagation: function() { + this.isPropagationStopped = K; + var a = this.originalEvent; + !a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = K, this.stopPropagation() + }, + isDefaultPrevented: J, + isPropagationStopped: J, + isImmediatePropagationStopped: J + }, f.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" + }, function(a, b) { + f.event.special[a] = { + delegateType: b, + bindType: b, + handle: function(a) { + var c = this, + d = a.relatedTarget, + e = a.handleObj, + g = e.selector, + h; + if (!d || d !== c && !f.contains(c, d)) a.type = e.origType, h = e.handler.apply(this, arguments), a.type = b; + return h + } + } + }), f.support.submitBubbles || (f.event.special.submit = { + setup: function() { + if (f.nodeName(this, "form")) return !1; + f.event.add(this, "click._submit keypress._submit", function(a) { + var c = a.target, + d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b; + d && !d._submit_attached && (f.event.add(d, "submit._submit", function(a) { + this.parentNode && !a.isTrigger && f.event.simulate("submit", this.parentNode, a, !0) + }), d._submit_attached = !0) + }) + }, + teardown: function() { + if (f.nodeName(this, "form")) return !1; + f.event.remove(this, "._submit") + } + }), f.support.changeBubbles || (f.event.special.change = { + setup: function() { + if (z.test(this.nodeName)) { + if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function(a) { + a.originalEvent.propertyName === "checked" && (this._just_changed = !0) + }), f.event.add(this, "click._change", function(a) { + this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) + }); + return !1 + } + f.event.add(this, "beforeactivate._change", function(a) { + var b = a.target; + z.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function(a) { + this.parentNode && !a.isSimulated && !a.isTrigger && f.event.simulate("change", this.parentNode, a, !0) + }), b._change_attached = !0) + }) + }, + handle: function(a) { + var b = a.target; + if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments) + }, + teardown: function() { + f.event.remove(this, "._change"); + return z.test(this.nodeName) + } + }), f.support.focusinBubbles || f.each({ + focus: "focusin", + blur: "focusout" + }, function(a, b) { + var d = 0, + e = function(a) { + f.event.simulate(b, a.target, f.event.fix(a), !0) + }; + f.event.special[b] = { + setup: function() { + d++ === 0 && c.addEventListener(a, e, !0) + }, + teardown: function() { + --d === 0 && c.removeEventListener(a, e, !0) + } + } + }), f.fn.extend({ + on: function(a, c, d, e, g) { + var h, i; + if (typeof a == "object") { + typeof c != "string" && (d = c, c = b); + for (i in a) this.on(i, c, d, a[i], g); + return this + } + d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b)); + if (e === !1) e = J; + else if (!e) return this; + g === 1 && (h = e, e = function(a) { + f().off(a); + return h.apply(this, arguments) + }, e.guid = h.guid || (h.guid = f.guid++)); + return this.each(function() { + f.event.add(this, a, e, d, c) + }) + }, + one: function(a, b, c, d) { + return this.on.call(this, a, b, c, d, 1) + }, + off: function(a, c, d) { + if (a && a.preventDefault && a.handleObj) { + var e = a.handleObj; + f(a.delegateTarget).off(e.namespace ? e.type + "." + e.namespace : e.type, e.selector, e.handler); + return this + } + if (typeof a == "object") { + for (var g in a) this.off(g, c, a[g]); + return this + } + if (c === !1 || typeof c == "function") d = c, c = b; + d === !1 && (d = J); + return this.each(function() { + f.event.remove(this, a, d, c) + }) + }, + bind: function(a, b, c) { + return this.on(a, null, b, c) + }, + unbind: function(a, b) { + return this.off(a, null, b) + }, + live: function(a, b, c) { + f(this.context).on(a, this.selector, b, c); + return this + }, + die: function(a, b) { + f(this.context).off(a, this.selector || "**", b); + return this + }, + delegate: function(a, b, c, d) { + return this.on(b, a, c, d) + }, + undelegate: function(a, b, c) { + return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c) + }, + trigger: function(a, b) { + return this.each(function() { + f.event.trigger(a, b, this) + }) + }, + triggerHandler: function(a, b) { + if (this[0]) return f.event.trigger(a, b, this[0], !0) + }, + toggle: function(a) { + var b = arguments, + c = a.guid || f.guid++, + d = 0, + e = function(c) { + var e = (f._data(this, "lastToggle" + a.guid) || 0) % d; + f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(); + return b[e].apply(this, arguments) || !1 + }; + e.guid = c; + while (d < b.length) b[d++].guid = c; + return this.click(e) + }, + hover: function(a, b) { + return this.mouseenter(a).mouseleave(b || a) + } + }), f.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(a, b) { + f.fn[b] = function(a, c) { + c == null && (c = a, a = null); + return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) + }, f.attrFn && (f.attrFn[b] = !0), C.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), D.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks) + }), + function() { + function x(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + if (j.nodeType === 1) { + g || (j[d] = c, j.sizset = h); + if (typeof b != "string") { + if (j === b) { + k = !0; + break + } + } else if (m.filter(b, [j]).length > 0) { + k = j; + break + } + } + j = j[a] + } + e[h] = k + } + } + } + + function w(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + j.nodeType === 1 && !g && (j[d] = c, j.sizset = h); + if (j.nodeName.toLowerCase() === b) { + k = j; + break + } + j = j[a] + } + e[h] = k + } + } + } + var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + d = "sizcache" + (Math.random() + "").replace(".", ""), + e = 0, + g = Object.prototype.toString, + h = !1, + i = !0, + j = /\\/g, + k = /\r\n/g, + l = /\W/; + [0, 0].sort(function() { + i = !1; + return 0 + }); + var m = function(b, d, e, f) { + e = e || [], d = d || c; + var h = d; + if (d.nodeType !== 1 && d.nodeType !== 9) return []; + if (!b || typeof b != "string") return e; + var i, j, k, l, n, q, r, t, u = !0, + v = m.isXML(d), + w = [], + x = b; + do { + a.exec(""), i = a.exec(x); + if (i) { + x = i[3], w.push(i[1]); + if (i[2]) { + l = i[3]; + break + } + } + } while (i); + if (w.length > 1 && p.exec(b)) + if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f); + else { + j = o.relative[w[0]] ? [d] : m(w.shift(), d); + while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f) + } + else { + !f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]); + if (d) { + n = f ? { + expr: w.pop(), + set: s(f) + } : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1; + while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v) + } else k = w = [] + } + k || (k = j), k || m.error(q || b); + if (g.call(k) === "[object Array]") + if (!u) e.push.apply(e, k); + else if (d && d.nodeType === 1) + for (t = 0; k[t] != null; t++) k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]); + else + for (t = 0; k[t] != null; t++) k[t] && k[t].nodeType === 1 && e.push(j[t]); + else s(k, e); + l && (m(l, h, e, f), m.uniqueSort(e)); + return e + }; + m.uniqueSort = function(a) { + if (u) { + h = i, a.sort(u); + if (h) + for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1) + } + return a + }, m.matches = function(a, b) { + return m(a, null, null, b) + }, m.matchesSelector = function(a, b) { + return m(b, null, null, [a]).length > 0 + }, m.find = function(a, b, c) { + var d, e, f, g, h, i; + if (!a) return []; + for (e = 0, f = o.order.length; e < f; e++) { + h = o.order[e]; + if (g = o.leftMatch[h].exec(a)) { + i = g[1], g.splice(1, 1); + if (i.substr(i.length - 1) !== "\\") { + g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c); + if (d != null) { + a = a.replace(o.match[h], ""); + break + } + } + } + } + d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []); + return { + set: d, + expr: a + } + }, m.filter = function(a, c, d, e) { + var f, g, h, i, j, k, l, n, p, q = a, + r = [], + s = c, + t = c && c[0] && m.isXML(c[0]); + while (a && c.length) { + for (h in o.filter) + if ((f = o.leftMatch[h].exec(a)) != null && f[2]) { + k = o.filter[h], l = f[1], g = !1, f.splice(1, 1); + if (l.substr(l.length - 1) === "\\") continue; + s === r && (r = []); + if (o.preFilter[h]) { + f = o.preFilter[h](f, s, d, r, e, t); + if (!f) g = i = !0; + else if (f === !0) continue + } + if (f) + for (n = 0; + (j = s[n]) != null; n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0)); + if (i !== b) { + d || (s = r), a = a.replace(o.match[h], ""); + if (!g) return []; + break + } + } + if (a === q) + if (g == null) m.error(a); + else break; + q = a + } + return s + }, m.error = function(a) { + throw new Error("Syntax error, unrecognized expression: " + a) + }; + var n = m.getText = function(a) { + var b, c, d = a.nodeType, + e = ""; + if (d) { + if (d === 1 || d === 9) { + if (typeof a.textContent == "string") return a.textContent; + if (typeof a.innerText == "string") return a.innerText.replace(k, ""); + for (a = a.firstChild; a; a = a.nextSibling) e += n(a) + } else if (d === 3 || d === 4) return a.nodeValue + } else + for (b = 0; c = a[b]; b++) c.nodeType !== 8 && (e += n(c)); + return e + }, + o = m.selectors = { + order: ["ID", "NAME", "TAG"], + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + leftMatch: {}, + attrMap: { + "class": "className", + "for": "htmlFor" + }, + attrHandle: { + href: function(a) { + return a.getAttribute("href") + }, + type: function(a) { + return a.getAttribute("type") + } + }, + relative: { + "+": function(a, b) { + var c = typeof b == "string", + d = c && !l.test(b), + e = c && !d; + d && (b = b.toLowerCase()); + for (var f = 0, g = a.length, h; f < g; f++) + if (h = a[f]) { + while ((h = h.previousSibling) && h.nodeType !== 1); + a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b + } + e && m.filter(b, a, !0) + }, + ">": function(a, b) { + var c, d = typeof b == "string", + e = 0, + f = a.length; + if (d && !l.test(b)) { + b = b.toLowerCase(); + for (; e < f; e++) { + c = a[e]; + if (c) { + var g = c.parentNode; + a[e] = g.nodeName.toLowerCase() === b ? g : !1 + } + } + } else { + for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b); + d && m.filter(b, a, !0) + } + }, + "": function(a, b, c) { + var d, f = e++, + g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c) + }, + "~": function(a, b, c) { + var d, f = e++, + g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c) + } + }, + find: { + ID: function(a, b, c) { + if (typeof b.getElementById != "undefined" && !c) { + var d = b.getElementById(a[1]); + return d && d.parentNode ? [d] : [] + } + }, + NAME: function(a, b) { + if (typeof b.getElementsByName != "undefined") { + var c = [], + d = b.getElementsByName(a[1]); + for (var e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]); + return c.length === 0 ? null : c + } + }, + TAG: function(a, b) { + if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1]) + } + }, + preFilter: { + CLASS: function(a, b, c, d, e, f) { + a = " " + a[1].replace(j, "") + " "; + if (f) return a; + for (var g = 0, h; + (h = b[g]) != null; g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1)); + return !1 + }, + ID: function(a) { + return a[1].replace(j, "") + }, + TAG: function(a, b) { + return a[1].replace(j, "").toLowerCase() + }, + CHILD: function(a) { + if (a[1] === "nth") { + a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, ""); + var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]); + a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0 + } else a[2] && m.error(a[0]); + a[0] = e++; + return a + }, + ATTR: function(a, b, c, d, e, f) { + var g = a[1] = a[1].replace(j, ""); + !f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " "); + return a + }, + PSEUDO: function(b, c, d, e, f) { + if (b[1] === "not") + if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c); + else { + var g = m.filter(b[3], c, d, !0 ^ f); + d || e.push.apply(e, g); + return !1 + } + else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0])) return !0; + return b + }, + POS: function(a) { + a.unshift(!0); + return a + } + }, + filters: { + enabled: function(a) { + return a.disabled === !1 && a.type !== "hidden" + }, + disabled: function(a) { + return a.disabled === !0 + }, + checked: function(a) { + return a.checked === !0 + }, + selected: function(a) { + a.parentNode && a.parentNode.selectedIndex; + return a.selected === !0 + }, + parent: function(a) { + return !!a.firstChild + }, + empty: function(a) { + return !a.firstChild + }, + has: function(a, b, c) { + return !!m(c[3], a).length + }, + header: function(a) { + return /h\d/i.test(a.nodeName) + }, + text: function(a) { + var b = a.getAttribute("type"), + c = a.type; + return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null) + }, + radio: function(a) { + return a.nodeName.toLowerCase() === "input" && "radio" === a.type + }, + checkbox: function(a) { + return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type + }, + file: function(a) { + return a.nodeName.toLowerCase() === "input" && "file" === a.type + }, + password: function(a) { + return a.nodeName.toLowerCase() === "input" && "password" === a.type + }, + submit: function(a) { + var b = a.nodeName.toLowerCase(); + return (b === "input" || b === "button") && "submit" === a.type + }, + image: function(a) { + return a.nodeName.toLowerCase() === "input" && "image" === a.type + }, + reset: function(a) { + var b = a.nodeName.toLowerCase(); + return (b === "input" || b === "button") && "reset" === a.type + }, + button: function(a) { + var b = a.nodeName.toLowerCase(); + return b === "input" && "button" === a.type || b === "button" + }, + input: function(a) { + return /input|select|textarea|button/i.test(a.nodeName) + }, + focus: function(a) { + return a === a.ownerDocument.activeElement + } + }, + setFilters: { + first: function(a, b) { + return b === 0 + }, + last: function(a, b, c, d) { + return b === d.length - 1 + }, + even: function(a, b) { + return b % 2 === 0 + }, + odd: function(a, b) { + return b % 2 === 1 + }, + lt: function(a, b, c) { + return b < c[3] - 0 + }, + gt: function(a, b, c) { + return b > c[3] - 0 + }, + nth: function(a, b, c) { + return c[3] - 0 === b + }, + eq: function(a, b, c) { + return c[3] - 0 === b + } + }, + filter: { + PSEUDO: function(a, b, c, d) { + var e = b[1], + f = o.filters[e]; + if (f) return f(a, c, b, d); + if (e === "contains") return (a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0; + if (e === "not") { + var g = b[3]; + for (var h = 0, i = g.length; h < i; h++) + if (g[h] === a) return !1; + return !0 + } + m.error(e) + }, + CHILD: function(a, b) { + var c, e, f, g, h, i, j, k = b[1], + l = a; + switch (k) { + case "only": + case "first": + while (l = l.previousSibling) + if (l.nodeType === 1) return !1; + if (k === "first") return !0; + l = a; + case "last": + while (l = l.nextSibling) + if (l.nodeType === 1) return !1; + return !0; + case "nth": + c = b[2], e = b[3]; + if (c === 1 && e === 0) return !0; + f = b[0], g = a.parentNode; + if (g && (g[d] !== f || !a.nodeIndex)) { + i = 0; + for (l = g.firstChild; l; l = l.nextSibling) l.nodeType === 1 && (l.nodeIndex = ++i); + g[d] = f + } + j = a.nodeIndex - e; + return c === 0 ? j === 0 : j % c === 0 && j / c >= 0 + } + }, + ID: function(a, b) { + return a.nodeType === 1 && a.getAttribute("id") === b + }, + TAG: function(a, b) { + return b === "*" && a.nodeType === 1 || !!a.nodeName && a.nodeName.toLowerCase() === b + }, + CLASS: function(a, b) { + return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1 + }, + ATTR: function(a, b) { + var c = b[1], + d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), + e = d + "", + f = b[2], + g = b[4]; + return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1 + }, + POS: function(a, b, c, d) { + var e = b[2], + f = o.setFilters[e]; + if (f) return f(a, c, b, d) + } + } + }, + p = o.match.POS, + q = function(a, b) { + return "\\" + (b - 0 + 1) + }; + for (var r in o.match) o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q)); + var s = function(a, b) { + a = Array.prototype.slice.call(a, 0); + if (b) { + b.push.apply(b, a); + return b + } + return a + }; + try { + Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType + } catch (t) { + s = function(a, b) { + var c = 0, + d = b || []; + if (g.call(a) === "[object Array]") Array.prototype.push.apply(d, a); + else if (typeof a.length == "number") + for (var e = a.length; c < e; c++) d.push(a[c]); + else + for (; a[c]; c++) d.push(a[c]); + return d + } + } + var u, v; + c.documentElement.compareDocumentPosition ? u = function(a, b) { + if (a === b) { + h = !0; + return 0 + } + if (!a.compareDocumentPosition || !b.compareDocumentPosition) return a.compareDocumentPosition ? -1 : 1; + return a.compareDocumentPosition(b) & 4 ? -1 : 1 + } : (u = function(a, b) { + if (a === b) { + h = !0; + return 0 + } + if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex; + var c, d, e = [], + f = [], + g = a.parentNode, + i = b.parentNode, + j = g; + if (g === i) return v(a, b); + if (!g) return -1; + if (!i) return 1; + while (j) e.unshift(j), j = j.parentNode; + j = i; + while (j) f.unshift(j), j = j.parentNode; + c = e.length, d = f.length; + for (var k = 0; k < c && k < d; k++) + if (e[k] !== f[k]) return v(e[k], f[k]); + return k === c ? v(a, f[k], -1) : v(e[k], b, 1) + }, v = function(a, b, c) { + if (a === b) return c; + var d = a.nextSibling; + while (d) { + if (d === b) return -1; + d = d.nextSibling + } + return 1 + }), + function() { + var a = c.createElement("div"), + d = "script" + (new Date).getTime(), + e = c.documentElement; + a.innerHTML = "", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function(a, c, d) { + if (typeof c.getElementById != "undefined" && !d) { + var e = c.getElementById(a[1]); + return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : [] + } + }, o.filter.ID = function(a, b) { + var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id"); + return a.nodeType === 1 && c && c.nodeValue === b + }), e.removeChild(a), e = a = null + }(), + function() { + var a = c.createElement("div"); + a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function(a, b) { + var c = b.getElementsByTagName(a[1]); + if (a[1] === "*") { + var d = []; + for (var e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]); + c = d + } + return c + }), a.innerHTML = "", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function(a) { + return a.getAttribute("href", 2) + }), a = null + }(), c.querySelectorAll && function() { + var a = m, + b = c.createElement("div"), + d = "__sizzle__"; + b.innerHTML = "

"; + if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) { + m = function(b, e, f, g) { + e = e || c; + if (!g && !m.isXML(e)) { + var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b); + if (h && (e.nodeType === 1 || e.nodeType === 9)) { + if (h[1]) return s(e.getElementsByTagName(b), f); + if (h[2] && o.find.CLASS && e.getElementsByClassName) return s(e.getElementsByClassName(h[2]), f) + } + if (e.nodeType === 9) { + if (b === "body" && e.body) return s([e.body], f); + if (h && h[3]) { + var i = e.getElementById(h[3]); + if (!i || !i.parentNode) return s([], f); + if (i.id === h[3]) return s([i], f) + } + try { + return s(e.querySelectorAll(b), f) + } catch (j) {} + } else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") { + var k = e, + l = e.getAttribute("id"), + n = l || d, + p = e.parentNode, + q = /^\s*[+~]/.test(b); + l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode); + try { + if (!q || p) return s(e.querySelectorAll("[id='" + n + "'] " + b), f) + } catch (r) {} finally { + l || k.removeAttribute("id") + } + } + } + return a(b, e, f, g) + }; + for (var e in a) m[e] = a[e]; + b = null + } + }(), + function() { + var a = c.documentElement, + b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector; + if (b) { + var d = !b.call(c.createElement("div"), "div"), + e = !1; + try { + b.call(c.documentElement, "[test!='']:sizzle") + } catch (f) { + e = !0 + } + m.matchesSelector = function(a, c) { + c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + if (!m.isXML(a)) try { + if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) { + var f = b.call(a, c); + if (f || !d || a.document && a.document.nodeType !== 11) return f + } + } catch (g) {} + return m(c, null, null, [a]).length > 0 + } + } + }(), + function() { + var a = c.createElement("div"); + a.innerHTML = "
"; + if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) { + a.lastChild.className = "e"; + if (a.getElementsByClassName("e").length === 1) return; + o.order.splice(1, 0, "CLASS"), o.find.CLASS = function(a, b, c) { + if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1]) + }, a = null + } + }(), c.documentElement.contains ? m.contains = function(a, b) { + return a !== b && (a.contains ? a.contains(b) : !0) + } : c.documentElement.compareDocumentPosition ? m.contains = function(a, b) { + return !!(a.compareDocumentPosition(b) & 16) + } : m.contains = function() { + return !1 + }, m.isXML = function(a) { + var b = (a ? a.ownerDocument || a : 0).documentElement; + return b ? b.nodeName !== "HTML" : !1 + }; + var y = function(a, b, c) { + var d, e = [], + f = "", + g = b.nodeType ? [b] : b; + while (d = o.match.PSEUDO.exec(a)) f += d[0], a = a.replace(o.match.PSEUDO, ""); + a = o.relative[a] ? a + "*" : a; + for (var h = 0, i = g.length; h < i; h++) m(a, g[h], e, c); + return m.filter(f, e) + }; + m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains + }(); + var L = /Until$/, + M = /^(?:parents|prevUntil|prevAll)/, + N = /,/, + O = /^.[^:#\[\.,]*$/, + P = Array.prototype.slice, + Q = f.expr.match.POS, + R = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + f.fn.extend({ + find: function(a) { + var b = this, + c, d; + if (typeof a != "string") return f(a).filter(function() { + for (c = 0, d = b.length; c < d; c++) + if (f.contains(b[c], this)) return !0 + }); + var e = this.pushStack("", "find", a), + g, h, i; + for (c = 0, d = this.length; c < d; c++) { + g = e.length, f.find(a, this[c], e); + if (c > 0) + for (h = g; h < e.length; h++) + for (i = 0; i < g; i++) + if (e[i] === e[h]) { + e.splice(h--, 1); + break + } + } + return e + }, + has: function(a) { + var b = f(a); + return this.filter(function() { + for (var a = 0, c = b.length; a < c; a++) + if (f.contains(this, b[a])) return !0 + }) + }, + not: function(a) { + return this.pushStack(T(this, a, !1), "not", a) + }, + filter: function(a) { + return this.pushStack(T(this, a, !0), "filter", a) + }, + is: function(a) { + return !!a && (typeof a == "string" ? Q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0) + }, + closest: function(a, b) { + var c = [], + d, e, g = this[0]; + if (f.isArray(a)) { + var h = 1; + while (g && g.ownerDocument && g !== b) { + for (d = 0; d < a.length; d++) f(g).is(a[d]) && c.push({ + selector: a[d], + elem: g, + level: h + }); + g = g.parentNode, h++ + } + return c + } + var i = Q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0; + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + while (g) { + if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) { + c.push(g); + break + } + g = g.parentNode; + if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break + } + } + c = c.length > 1 ? f.unique(c) : c; + return this.pushStack(c, "closest", a) + }, + index: function(a) { + if (!a) return this[0] && this[0].parentNode ? this.prevAll().length : -1; + if (typeof a == "string") return f.inArray(this[0], f(a)); + return f.inArray(a.jquery ? a[0] : a, this) + }, + add: function(a, b) { + var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a), + d = f.merge(this.get(), c); + return this.pushStack(S(c[0]) || S(d[0]) ? d : f.unique(d)) + }, + andSelf: function() { + return this.add(this.prevObject) + } + }), f.each({ + parent: function(a) { + var b = a.parentNode; + return b && b.nodeType !== 11 ? b : null + }, + parents: function(a) { + return f.dir(a, "parentNode") + }, + parentsUntil: function(a, b, c) { + return f.dir(a, "parentNode", c) + }, + next: function(a) { + return f.nth(a, 2, "nextSibling") + }, + prev: function(a) { + return f.nth(a, 2, "previousSibling") + }, + nextAll: function(a) { + return f.dir(a, "nextSibling") + }, + prevAll: function(a) { + return f.dir(a, "previousSibling") + }, + nextUntil: function(a, b, c) { + return f.dir(a, "nextSibling", c) + }, + prevUntil: function(a, b, c) { + return f.dir(a, "previousSibling", c) + }, + siblings: function(a) { + return f.sibling(a.parentNode.firstChild, a) + }, + children: function(a) { + return f.sibling(a.firstChild) + }, + contents: function(a) { + return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes) + } + }, function(a, b) { + f.fn[a] = function(c, d) { + var e = f.map(this, b, c); + L.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !R[a] ? f.unique(e) : e, (this.length > 1 || N.test(d)) && M.test(a) && (e = e.reverse()); + return this.pushStack(e, a, P.call(arguments).join(",")) + } + }), f.extend({ + filter: function(a, b, c) { + c && (a = ":not(" + a + ")"); + return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b) + }, + dir: function(a, c, d) { + var e = [], + g = a[c]; + while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c]; + return e + }, + nth: function(a, b, c, d) { + b = b || 1; + var e = 0; + for (; a; a = a[c]) + if (a.nodeType === 1 && ++e === b) break; + return a + }, + sibling: function(a, b) { + var c = []; + for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a); + return c + } + }); + var V = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + W = / jQuery\d+="(?:\d+|null)"/g, + X = /^\s+/, + Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + Z = /<([\w:]+)/, + $ = /", ""], + legend: [1, "
", "
"], + thead: [1, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + col: [2, "", "
"], + area: [1, "", ""], + _default: [0, "", ""] + }, + bh = U(c); + bg.optgroup = bg.option, bg.tbody = bg.tfoot = bg.colgroup = bg.caption = bg.thead, bg.th = bg.td, f.support.htmlSerialize || (bg._default = [1, "div
", "
"]), f.fn.extend({ + text: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this); + c.text(a.call(this, b, c.text())) + }); + if (typeof a != "object" && a !== b) return this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)); + return f.text(this) + }, + wrapAll: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + f(this).wrapAll(a.call(this, b)) + }); + if (this[0]) { + var b = f(a, this[0].ownerDocument).eq(0).clone(!0); + this[0].parentNode && b.insertBefore(this[0]), b.map(function() { + var a = this; + while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild; + return a + }).append(this) + } + return this + }, + wrapInner: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + f(this).wrapInner(a.call(this, b)) + }); + return this.each(function() { + var b = f(this), + c = b.contents(); + c.length ? c.wrapAll(a) : b.append(a) + }) + }, + wrap: function(a) { + var b = f.isFunction(a); + return this.each(function(c) { + f(this).wrapAll(b ? a.call(this, c) : a) + }) + }, + unwrap: function() { + return this.parent().each(function() { + f.nodeName(this, "body") || f(this).replaceWith(this.childNodes) + }).end() + }, + append: function() { + return this.domManip(arguments, !0, function(a) { + this.nodeType === 1 && this.appendChild(a) + }) + }, + prepend: function() { + return this.domManip(arguments, !0, function(a) { + this.nodeType === 1 && this.insertBefore(a, this.firstChild) + }) + }, + before: function() { + if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) { + this.parentNode.insertBefore(a, this) + }); + if (arguments.length) { + var a = f.clean(arguments); + a.push.apply(a, this.toArray()); + return this.pushStack(a, "before", arguments) + } + }, + after: function() { + if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) { + this.parentNode.insertBefore(a, this.nextSibling) + }); + if (arguments.length) { + var a = this.pushStack(this, "after", arguments); + a.push.apply(a, f.clean(arguments)); + return a + } + }, + remove: function(a, b) { + for (var c = 0, d; + (d = this[c]) != null; c++) + if (!a || f.filter(a, [d]).length) !b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d); + return this + }, + empty: function() { + for (var a = 0, b; + (b = this[a]) != null; a++) { + b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*")); + while (b.firstChild) b.removeChild(b.firstChild) + } + return this + }, + clone: function(a, b) { + a = a == null ? !1 : a, b = b == null ? a : b; + return this.map(function() { + return f.clone(this, a, b) + }) + }, + html: function(a) { + if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(W, "") : null; + if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !bg[(Z.exec(a) || ["", ""])[1].toLowerCase()]) { + a = a.replace(Y, "<$1>"); + try { + for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a) + } catch (e) { + this.empty().append(a) + } + } else f.isFunction(a) ? this.each(function(b) { + var c = f(this); + c.html(a.call(this, b, c.html())) + }) : this.empty().append(a); + return this + }, + replaceWith: function(a) { + if (this[0] && this[0].parentNode) { + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this), + d = c.html(); + c.replaceWith(a.call(this, b, d)) + }); + typeof a != "string" && (a = f(a).detach()); + return this.each(function() { + var b = this.nextSibling, + c = this.parentNode; + f(this).remove(), b ? f(b).before(a) : f(c).append(a) + }) + } + return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this + }, + detach: function(a) { + return this.remove(a, !0) + }, + domManip: function(a, c, d) { + var e, g, h, i, j = a[0], + k = []; + if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bd.test(j)) return this.each(function() { + f(this).domManip(a, c, d, !0) + }); + if (f.isFunction(j)) return this.each(function(e) { + var g = f(this); + a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d) + }); + if (this[0]) { + i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = { + fragment: i + } : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild; + if (g) { + c = c && f.nodeName(g, "tr"); + for (var l = 0, m = this.length, n = m - 1; l < m; l++) d.call(c ? bi(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h) + } + k.length && f.each(k, bp) + } + return this + } + }), f.buildFragment = function(a, b, d) { + var e, g, h, i, j = a[0]; + b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !bb.test(j) && (f.support.checkClone || !bd.test(j)) && (f.support.html5Clone || !bc.test(j)) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1); + return { + fragment: e, + cacheable: g + } + }, f.fragments = {}, f.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(a, b) { + f.fn[a] = function(c) { + var d = [], + e = f(c), + g = this.length === 1 && this[0].parentNode; + if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) { + e[b](this[0]); + return this + } + for (var h = 0, i = e.length; h < i; h++) { + var j = (h > 0 ? this.clone(!0) : this).get(); + f(e[h])[b](j), d = d.concat(j) + } + return this.pushStack(d, a, e.selector) + } + }), f.extend({ + clone: function(a, b, c) { + var d, e, g, h = f.support.html5Clone || !bc.test("<" + a.nodeName) ? a.cloneNode(!0) : bo(a); + if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) { + bk(a, h), d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g) e[g] && bk(d[g], e[g]) + } + if (b) { + bj(a, h); + if (c) { + d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g) bj(d[g], e[g]) + } + } + d = e = null; + return h + }, + clean: function(a, b, d, e) { + var g; + b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c); + var h = [], + i; + for (var j = 0, k; + (k = a[j]) != null; j++) { + typeof k == "number" && (k += ""); + if (!k) continue; + if (typeof k == "string") + if (!_.test(k)) k = b.createTextNode(k); + else { + k = k.replace(Y, "<$1>"); + var l = (Z.exec(k) || ["", ""])[1].toLowerCase(), + m = bg[l] || bg._default, + n = m[0], + o = b.createElement("div"); + b === c ? bh.appendChild(o) : U(b).appendChild(o), o.innerHTML = m[1] + k + m[2]; + while (n--) o = o.lastChild; + if (!f.support.tbody) { + var p = $.test(k), + q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "" && !p ? o.childNodes : []; + for (i = q.length - 1; i >= 0; --i) f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i]) + }!f.support.leadingWhitespace && X.test(k) && o.insertBefore(b.createTextNode(X.exec(k)[0]), o.firstChild), k = o.childNodes + } + var r; + if (!f.support.appendChecked) + if (k[0] && typeof(r = k.length) == "number") + for (i = 0; i < r; i++) bn(k[i]); + else bn(k); + k.nodeType ? h.push(k) : h = f.merge(h, k) + } + if (d) { + g = function(a) { + return !a.type || be.test(a.type) + }; + for (j = 0; h[j]; j++) + if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript")) e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]); + else { + if (h[j].nodeType === 1) { + var s = f.grep(h[j].getElementsByTagName("script"), g); + h.splice.apply(h, [j + 1, 0].concat(s)) + } + d.appendChild(h[j]) + } + } + return h + }, + cleanData: function(a) { + var b, c, d = f.cache, + e = f.event.special, + g = f.support.deleteExpando; + for (var h = 0, i; + (i = a[h]) != null; h++) { + if (i.nodeName && f.noData[i.nodeName.toLowerCase()]) continue; + c = i[f.expando]; + if (c) { + b = d[c]; + if (b && b.events) { + for (var j in b.events) e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle); + b.handle && (b.handle.elem = null) + } + g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c] + } + } + } + }); + var bq = /alpha\([^)]*\)/i, + br = /opacity=([^)]*)/, + bs = /([A-Z]|^ms)/g, + bt = /^-?\d+(?:px)?$/i, + bu = /^-?\d/, + bv = /^([\-+])=([\-+.\de]+)/, + bw = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + bx = ["Left", "Right"], + by = ["Top", "Bottom"], + bz, bA, bB; + f.fn.css = function(a, c) { + if (arguments.length === 2 && c === b) return this; + return f.access(this, a, c, !0, function(a, c, d) { + return d !== b ? f.style(a, c, d) : f.css(a, c) + }) + }, f.extend({ + cssHooks: { + opacity: { + get: function(a, b) { + if (b) { + var c = bz(a, "opacity", "opacity"); + return c === "" ? "1" : c + } + return a.style.opacity + } + } + }, + cssNumber: { + fillOpacity: !0, + fontWeight: !0, + lineHeight: !0, + opacity: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: { + "float": f.support.cssFloat ? "cssFloat" : "styleFloat" + }, + style: function(a, c, d, e) { + if (!!a && a.nodeType !== 3 && a.nodeType !== 8 && !!a.style) { + var g, h, i = f.camelCase(c), + j = a.style, + k = f.cssHooks[i]; + c = f.cssProps[i] || i; + if (d === b) { + if (k && "get" in k && (g = k.get(a, !1, e)) !== b) return g; + return j[c] + } + h = typeof d, h === "string" && (g = bv.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number"); + if (d == null || h === "number" && isNaN(d)) return; + h === "number" && !f.cssNumber[i] && (d += "px"); + if (!k || !("set" in k) || (d = k.set(a, d)) !== b) try { + j[c] = d + } catch (l) {} + } + }, + css: function(a, c, d) { + var e, g; + c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float"); + if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e; + if (bz) return bz(a, c) + }, + swap: function(a, b, c) { + var d = {}; + for (var e in b) d[e] = a.style[e], a.style[e] = b[e]; + c.call(a); + for (e in b) a.style[e] = d[e] + } + }), f.curCSS = f.css, f.each(["height", "width"], function(a, b) { + f.cssHooks[b] = { + get: function(a, c, d) { + var e; + if (c) { + if (a.offsetWidth !== 0) return bC(a, b, d); + f.swap(a, bw, function() { + e = bC(a, b, d) + }); + return e + } + }, + set: function(a, b) { + if (!bt.test(b)) return b; + b = parseFloat(b); + if (b >= 0) return b + "px" + } + } + }), f.support.opacity || (f.cssHooks.opacity = { + get: function(a, b) { + return br.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "" + }, + set: function(a, b) { + var c = a.style, + d = a.currentStyle, + e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", + g = d && d.filter || c.filter || ""; + c.zoom = 1; + if (b >= 1 && f.trim(g.replace(bq, "")) === "") { + c.removeAttribute("filter"); + if (d && !d.filter) return + } + c.filter = bq.test(g) ? g.replace(bq, e) : g + " " + e + } + }), f(function() { + f.support.reliableMarginRight || (f.cssHooks.marginRight = { + get: function(a, b) { + var c; + f.swap(a, { + display: "inline-block" + }, function() { + b ? c = bz(a, "margin-right", "marginRight") : c = a.style.marginRight + }); + return c + } + }) + }), c.defaultView && c.defaultView.getComputedStyle && (bA = function(a, b) { + var c, d, e; + b = b.replace(bs, "-$1").toLowerCase(), (d = a.ownerDocument.defaultView) && (e = d.getComputedStyle(a, null)) && (c = e.getPropertyValue(b), c === "" && !f.contains(a.ownerDocument.documentElement, a) && (c = f.style(a, b))); + return c + }), c.documentElement.currentStyle && (bB = function(a, b) { + var c, d, e, f = a.currentStyle && a.currentStyle[b], + g = a.style; + f === null && g && (e = g[b]) && (f = e), !bt.test(f) && bu.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f || 0, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d)); + return f === "" ? "auto" : f + }), bz = bA || bB, f.expr && f.expr.filters && (f.expr.filters.hidden = function(a) { + var b = a.offsetWidth, + c = a.offsetHeight; + return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none" + }, f.expr.filters.visible = function(a) { + return !f.expr.filters.hidden(a) + }); + var bD = /%20/g, + bE = /\[\]$/, + bF = /\r?\n/g, + bG = /#.*$/, + bH = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, + bI = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + bJ = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + bK = /^(?:GET|HEAD)$/, + bL = /^\/\//, + bM = /\?/, + bN = /)<[^<]*)*<\/script>/gi, + bO = /^(?:select|textarea)/i, + bP = /\s+/, + bQ = /([?&])_=[^&]*/, + bR = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, + bS = f.fn.load, + bT = {}, + bU = {}, + bV, bW, bX = ["*/"] + ["*"]; + try { + bV = e.href + } catch (bY) { + bV = c.createElement("a"), bV.href = "", bV = bV.href + } + bW = bR.exec(bV.toLowerCase()) || [], f.fn.extend({ + load: function(a, c, d) { + if (typeof a != "string" && bS) return bS.apply(this, arguments); + if (!this.length) return this; + var e = a.indexOf(" "); + if (e >= 0) { + var g = a.slice(e, a.length); + a = a.slice(0, e) + } + var h = "GET"; + c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST")); + var i = this; + f.ajax({ + url: a, + type: h, + dataType: "html", + data: c, + complete: function(a, b, c) { + c = a.responseText, a.isResolved() && (a.done(function(a) { + c = a + }), i.html(g ? f("
").append(c.replace(bN, "")).find(g) : c)), d && i.each(d, [c, b, a]) + } + }); + return this + }, + serialize: function() { + return f.param(this.serializeArray()) + }, + serializeArray: function() { + return this.map(function() { + return this.elements ? f.makeArray(this.elements) : this + }).filter(function() { + return this.name && !this.disabled && (this.checked || bO.test(this.nodeName) || bI.test(this.type)) + }).map(function(a, b) { + var c = f(this).val(); + return c == null ? null : f.isArray(c) ? f.map(c, function(a, c) { + return { + name: b.name, + value: a.replace(bF, "\r\n") + } + }) : { + name: b.name, + value: c.replace(bF, "\r\n") + } + }).get() + } + }), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) { + f.fn[b] = function(a) { + return this.on(b, a) + } + }), f.each(["get", "post"], function(a, c) { + f[c] = function(a, d, e, g) { + f.isFunction(d) && (g = g || e, e = d, d = b); + return f.ajax({ + type: c, + url: a, + data: d, + success: e, + dataType: g + }) + } + }), f.extend({ + getScript: function(a, c) { + return f.get(a, b, c, "script") + }, + getJSON: function(a, b, c) { + return f.get(a, b, c, "json") + }, + ajaxSetup: function(a, b) { + b ? b_(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), b_(a, b); + return a + }, + ajaxSettings: { + url: bV, + isLocal: bJ.test(bW[1]), + global: !0, + type: "GET", + contentType: "application/x-www-form-urlencoded", + processData: !0, + async: !0, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": bX + }, + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + responseFields: { + xml: "responseXML", + text: "responseText" + }, + converters: { + "* text": a.String, + "text html": !0, + "text json": f.parseJSON, + "text xml": f.parseXML + }, + flatOptions: { + context: !0, + url: !0 + } + }, + ajaxPrefilter: bZ(bT), + ajaxTransport: bZ(bU), + ajax: function(a, c) { + function w(a, c, l, m) { + if (s !== 2) { + s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0; + var o, r, u, w = c, + x = l ? cb(d, v, l) : b, + y, z; + if (a >= 200 && a < 300 || a === 304) { + if (d.ifModified) { + if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y; + if (z = v.getResponseHeader("Etag")) f.etag[k] = z + } + if (a === 304) w = "notmodified", o = !0; + else try { + r = cc(d, x), w = "success", o = !0 + } catch (A) { + w = "parsererror", u = A + } + } else { + u = w; + if (!w || a) w = "error", a < 0 && (a = 0) + } + v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop")) + } + } + typeof a == "object" && (c = a, a = b), c = c || {}; + var d = f.ajaxSetup({}, c), + e = d.context || d, + g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event, + h = f.Deferred(), + i = f.Callbacks("once memory"), + j = d.statusCode || {}, + k, l = {}, + m = {}, + n, o, p, q, r, s = 0, + t, u, v = { + readyState: 0, + setRequestHeader: function(a, b) { + if (!s) { + var c = a.toLowerCase(); + a = m[c] = m[c] || a, l[a] = b + } + return this + }, + getAllResponseHeaders: function() { + return s === 2 ? n : null + }, + getResponseHeader: function(a) { + var c; + if (s === 2) { + if (!o) { + o = {}; + while (c = bH.exec(n)) o[c[1].toLowerCase()] = c[2] + } + c = o[a.toLowerCase()] + } + return c === b ? null : c + }, + overrideMimeType: function(a) { + s || (d.mimeType = a); + return this + }, + abort: function(a) { + a = a || "abort", p && p.abort(a), w(0, a); + return this + } + }; + h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function(a) { + if (a) { + var b; + if (s < 2) + for (b in a) j[b] = [j[b], a[b]]; + else b = a[v.status], v.then(b, b) + } + return this + }, d.url = ((a || d.url) + "").replace(bG, "").replace(bL, bW[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bP), d.crossDomain == null && (r = bR.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bW[1] && r[2] == bW[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bW[3] || (bW[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), b$(bT, d, c, v); + if (s === 2) return !1; + t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bK.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart"); + if (!d.hasContent) { + d.data && (d.url += (bM.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url; + if (d.cache === !1) { + var x = f.now(), + y = d.url.replace(bQ, "$1_=" + x); + d.url = y + (y === d.url ? (bM.test(d.url) ? "&" : "?") + "_=" + x : "") + } + }(d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bX + "; q=0.01" : "") : d.accepts["*"]); + for (u in d.headers) v.setRequestHeader(u, d.headers[u]); + if (d.beforeSend && (d.beforeSend.call(e, v, d) === !1 || s === 2)) { + v.abort(); + return !1 + } + for (u in { + success: 1, + error: 1, + complete: 1 + }) v[u](d[u]); + p = b$(bU, d, c, v); + if (!p) w(-1, "No Transport"); + else { + v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function() { + v.abort("timeout") + }, d.timeout)); + try { + s = 1, p.send(l, w) + } catch (z) { + if (s < 2) w(-1, z); + else throw z + } + } + return v + }, + param: function(a, c) { + var d = [], + e = function(a, b) { + b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) + }; + c === b && (c = f.ajaxSettings.traditional); + if (f.isArray(a) || a.jquery && !f.isPlainObject(a)) f.each(a, function() { + e(this.name, this.value) + }); + else + for (var g in a) ca(g, a[g], c, e); + return d.join("&").replace(bD, "+") + } + }), f.extend({ + active: 0, + lastModified: {}, + etag: {} + }); + var cd = f.now(), + ce = /(\=)\?(&|$)|\?\?/i; + f.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + return f.expando + "_" + cd++ + } + }), f.ajaxPrefilter("json jsonp", function(b, c, d) { + var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string"; + if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (ce.test(b.url) || e && ce.test(b.data))) { + var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, + i = a[h], + j = b.url, + k = b.data, + l = "$1" + h + "$2"; + b.jsonp !== !1 && (j = j.replace(ce, l), b.url === j && (e && (k = k.replace(ce, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function(a) { + g = [a] + }, d.always(function() { + a[h] = i, g && f.isFunction(i) && a[h](g[0]) + }), b.converters["script json"] = function() { + g || f.error(h + " was not called"); + return g[0] + }, b.dataTypes[0] = "json"; + return "script" + } + }), f.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function(a) { + f.globalEval(a); + return a + } + } + }), f.ajaxPrefilter("script", function(a) { + a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1) + }), f.ajaxTransport("script", function(a) { + if (a.crossDomain) { + var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement; + return { + send: function(f, g) { + d = c.createElement("script"), d.async = "async", a.scriptCharset && (d.charset = a.scriptCharset), d.src = a.url, d.onload = d.onreadystatechange = function(a, c) { + if (c || !d.readyState || /loaded|complete/.test(d.readyState)) d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success") + }, e.insertBefore(d, e.firstChild) + }, + abort: function() { + d && d.onload(0, 1) + } + } + } + }); + var cf = a.ActiveXObject ? function() { + for (var a in ch) ch[a](0, 1) + } : !1, + cg = 0, + ch; + f.ajaxSettings.xhr = a.ActiveXObject ? function() { + return !this.isLocal && ci() || cj() + } : ci, + function(a) { + f.extend(f.support, { + ajax: !!a, + cors: !!a && "withCredentials" in a + }) + }(f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(function(c) { + if (!c.crossDomain || f.support.cors) { + var d; + return { + send: function(e, g) { + var h = c.xhr(), + i, j; + c.username ? h.open(c.type, c.url, c.async, c.username, c.password) : h.open(c.type, c.url, c.async); + if (c.xhrFields) + for (j in c.xhrFields) h[j] = c.xhrFields[j]; + c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest"); + try { + for (j in e) h.setRequestHeader(j, e[j]) + } catch (k) {} + h.send(c.hasContent && c.data || null), d = function(a, e) { + var j, k, l, m, n; + try { + if (d && (e || h.readyState === 4)) { + d = b, i && (h.onreadystatechange = f.noop, cf && delete ch[i]); + if (e) h.readyState !== 4 && h.abort(); + else { + j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText; + try { + k = h.statusText + } catch (o) { + k = "" + }!j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204) + } + } + } catch (p) { + e || g(-1, p) + } + m && g(j, k, m, l) + }, !c.async || h.readyState === 4 ? d() : (i = ++cg, cf && (ch || (ch = {}, f(a).unload(cf)), ch[i] = d), h.onreadystatechange = d) + }, + abort: function() { + d && d(0, 1) + } + } + } + }); + var ck = {}, + cl, cm, cn = /^(?:toggle|show|hide)$/, + co = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, + cp, cq = [ + ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], + ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], + ["opacity"] + ], + cr; + f.fn.extend({ + show: function(a, b, c) { + var d, e; + if (a || a === 0) return this.animate(cu("show", 3), a, b, c); + for (var g = 0, h = this.length; g < h; g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cv(d.nodeName))); + for (g = 0; g < h; g++) { + d = this[g]; + if (d.style) { + e = d.style.display; + if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || "" + } + } + return this + }, + hide: function(a, b, c) { + if (a || a === 0) return this.animate(cu("hide", 3), a, b, c); + var d, e, g = 0, + h = this.length; + for (; g < h; g++) d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e)); + for (g = 0; g < h; g++) this[g].style && (this[g].style.display = "none"); + return this + }, + _toggle: f.fn.toggle, + toggle: function(a, b, c) { + var d = typeof a == "boolean"; + f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function() { + var b = d ? a : f(this).is(":hidden"); + f(this)[b ? "show" : "hide"]() + }) : this.animate(cu("toggle", 3), a, b, c); + return this + }, + fadeTo: function(a, b, c, d) { + return this.filter(":hidden").css("opacity", 0).show().end().animate({ + opacity: b + }, a, c, d) + }, + animate: function(a, b, c, d) { + function g() { + e.queue === !1 && f._mark(this); + var b = f.extend({}, e), + c = this.nodeType === 1, + d = c && f(this).is(":hidden"), + g, h, i, j, k, l, m, n, o; + b.animatedProperties = {}; + for (i in a) { + g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing"; + if (h === "hide" && d || h === "show" && !d) return b.complete.call(this); + c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cv(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1)) + } + b.overflow != null && (this.style.overflow = "hidden"); + for (i in a) j = new f.fx(this, b, i), h = a[i], cn.test(h) ? (o = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), o ? (f._data(this, "toggle" + i, o === "show" ? "hide" : "show"), j[o]()) : j[h]()) : (k = co.exec(h), l = j.cur(), k ? (m = parseFloat(k[2]), n = k[3] || (f.cssNumber[i] ? "" : "px"), n !== "px" && (f.style(this, i, (m || 1) + n), l = (m || 1) / j.cur() * l, f.style(this, i, l + n)), k[1] && (m = (k[1] === "-=" ? -1 : 1) * m + l), j.custom(l, m, n)) : j.custom(l, h, "")); + return !0 + } + var e = f.speed(b, c, d); + if (f.isEmptyObject(a)) return this.each(e.complete, [!1]); + a = f.extend({}, a); + return e.queue === !1 ? this.each(g) : this.queue(e.queue, g) + }, + stop: function(a, c, d) { + typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []); + return this.each(function() { + function h(a, b, c) { + var e = b[c]; + f.removeData(a, c, !0), e.stop(d) + } + var b, c = !1, + e = f.timers, + g = f._data(this); + d || f._unmark(!0, this); + if (a == null) + for (b in g) g[b] && g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b); + else g[b = a + ".run"] && g[b].stop && h(this, g, b); + for (b = e.length; b--;) e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1)); + (!d || !c) && f.dequeue(this, a) + }) + } + }), f.each({ + slideDown: cu("show", 1), + slideUp: cu("hide", 1), + slideToggle: cu("toggle", 1), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function(a, b) { + f.fn[a] = function(a, c, d) { + return this.animate(b, a, c, d) + } + }), f.extend({ + speed: function(a, b, c) { + var d = a && typeof a == "object" ? f.extend({}, a) : { + complete: c || !c && b || f.isFunction(a) && a, + duration: a, + easing: c && b || b && !f.isFunction(b) && b + }; + d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default; + if (d.queue == null || d.queue === !0) d.queue = "fx"; + d.old = d.complete, d.complete = function(a) { + f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this) + }; + return d + }, + easing: { + linear: function(a, b, c, d) { + return c + d * a + }, + swing: function(a, b, c, d) { + return (-Math.cos(a * Math.PI) / 2 + .5) * d + c + } + }, + timers: [], + fx: function(a, b, c) { + this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {} + } + }), f.fx.prototype = { + update: function() { + this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this) + }, + cur: function() { + if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; + var a, b = f.css(this.elem, this.prop); + return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a + }, + custom: function(a, c, d) { + function h(a) { + return e.step(a) + } + var e = this, + g = f.fx; + this.startTime = cr || cs(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function() { + e.options.hide && f._data(e.elem, "fxshow" + e.prop) === b && f._data(e.elem, "fxshow" + e.prop, e.start) + }, h() && f.timers.push(h) && !cp && (cp = setInterval(g.tick, g.interval)) + }, + show: function() { + var a = f._data(this.elem, "fxshow" + this.prop); + this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show() + }, + hide: function() { + this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) + }, + step: function(a) { + var b, c, d, e = cr || cs(), + g = !0, + h = this.elem, + i = this.options; + if (a || e >= i.duration + this.startTime) { + this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0; + for (b in i.animatedProperties) i.animatedProperties[b] !== !0 && (g = !1); + if (g) { + i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function(a, b) { + h.style["overflow" + b] = i.overflow[a] + }), i.hide && f(h).hide(); + if (i.hide || i.show) + for (b in i.animatedProperties) f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0); + d = i.complete, d && (i.complete = !1, d.call(h)) + } + return !1 + } + i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(); + return !0 + } + }, f.extend(f.fx, { + tick: function() { + var a, b = f.timers, + c = 0; + for (; c < b.length; c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1); + b.length || f.fx.stop() + }, + interval: 13, + stop: function() { + clearInterval(cp), cp = null + }, + speeds: { + slow: 600, + fast: 200, + _default: 400 + }, + step: { + opacity: function(a) { + f.style(a.elem, "opacity", a.now) + }, + _default: function(a) { + a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now + } + } + }), f.each(["width", "height"], function(a, b) { + f.fx.step[b] = function(a) { + f.style(a.elem, b, Math.max(0, a.now) + a.unit) + } + }), f.expr && f.expr.filters && (f.expr.filters.animated = function(a) { + return f.grep(f.timers, function(b) { + return a === b.elem + }).length + }); + var cw = /^t(?:able|d|h)$/i, + cx = /^(?:body|html)$/i; + "getBoundingClientRect" in c.documentElement ? f.fn.offset = function(a) { + var b = this[0], + c; + if (a) return this.each(function(b) { + f.offset.setOffset(this, a, b) + }); + if (!b || !b.ownerDocument) return null; + if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); + try { + c = b.getBoundingClientRect() + } catch (d) {} + var e = b.ownerDocument, + g = e.documentElement; + if (!c || !f.contains(g, b)) return c ? { + top: c.top, + left: c.left + } : { + top: 0, + left: 0 + }; + var h = e.body, + i = cy(e), + j = g.clientTop || h.clientTop || 0, + k = g.clientLeft || h.clientLeft || 0, + l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop, + m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft, + n = c.top + l - j, + o = c.left + m - k; + return { + top: n, + left: o + } + } : f.fn.offset = function(a) { + var b = this[0]; + if (a) return this.each(function(b) { + f.offset.setOffset(this, a, b) + }); + if (!b || !b.ownerDocument) return null; + if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); + var c, d = b.offsetParent, + e = b, + g = b.ownerDocument, + h = g.documentElement, + i = g.body, + j = g.defaultView, + k = j ? j.getComputedStyle(b, null) : b.currentStyle, + l = b.offsetTop, + m = b.offsetLeft; + while ((b = b.parentNode) && b !== i && b !== h) { + if (f.support.fixedPosition && k.position === "fixed") break; + c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cw.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.support.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c + } + if (k.position === "relative" || k.position === "static") l += i.offsetTop, m += i.offsetLeft; + f.support.fixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft)); + return { + top: l, + left: m + } + }, f.offset = { + bodyOffset: function(a) { + var b = a.offsetTop, + c = a.offsetLeft; + f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0); + return { + top: b, + left: c + } + }, + setOffset: function(a, b, c) { + var d = f.css(a, "position"); + d === "static" && (a.style.position = "relative"); + var e = f(a), + g = e.offset(), + h = f.css(a, "top"), + i = f.css(a, "left"), + j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1, + k = {}, + l = {}, + m, n; + j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k) + } + }, f.fn.extend({ + position: function() { + if (!this[0]) return null; + var a = this[0], + b = this.offsetParent(), + c = this.offset(), + d = cx.test(b[0].nodeName) ? { + top: 0, + left: 0 + } : b.offset(); + c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0; + return { + top: c.top - d.top, + left: c.left - d.left + } + }, + offsetParent: function() { + return this.map(function() { + var a = this.offsetParent || c.body; + while (a && !cx.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent; + return a + }) + } + }), f.each(["Left", "Top"], function(a, c) { + var d = "scroll" + c; + f.fn[d] = function(c) { + var e, g; + if (c === b) { + e = this[0]; + if (!e) return null; + g = cy(e); + return g ? "pageXOffset" in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d] + } + return this.each(function() { + g = cy(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c + }) + } + }), f.each(["Height", "Width"], function(a, c) { + var d = c.toLowerCase(); + f.fn["inner" + c] = function() { + var a = this[0]; + return a ? a.style ? parseFloat(f.css(a, d, "padding")) : this[d]() : null + }, f.fn["outer" + c] = function(a) { + var b = this[0]; + return b ? b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : this[d]() : null + }, f.fn[d] = function(a) { + var e = this[0]; + if (!e) return a == null ? null : this; + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this); + c[d](a.call(this, b, c[d]())) + }); + if (f.isWindow(e)) { + var g = e.document.documentElement["client" + c], + h = e.document.body; + return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g + } + if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]); + if (a === b) { + var i = f.css(e, d), + j = parseFloat(i); + return f.isNumeric(j) ? j : i + } + return this.css(d, typeof a == "string" ? a : a + "px") + } + }), a.jQuery = a.$ = f, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() { + return f + }) +})(window); \ No newline at end of file diff --git "a/Others/jQuery_day01/\345\210\235\350\257\206jq.html" "b/Others/jQuery_day01/\345\210\235\350\257\206jq.html" new file mode 100644 index 0000000..bd8845d --- /dev/null +++ "b/Others/jQuery_day01/\345\210\235\350\257\206jq.html" @@ -0,0 +1,30 @@ + + + + + + + + + + + 用户名: + + + + diff --git "a/Others/jQuery_day01/\345\237\272\346\234\254\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\345\237\272\346\234\254\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..3c94780 --- /dev/null +++ "b/Others/jQuery_day01/\345\237\272\346\234\254\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,32 @@ + + + + + + + + + +

基本过滤选择器

+ + + diff --git "a/Others/jQuery_day01/\345\237\272\346\234\254\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\345\237\272\346\234\254\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..d233181 --- /dev/null +++ "b/Others/jQuery_day01/\345\237\272\346\234\254\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,24 @@ + + + + + + + + + +

基本选择器

+
+

id="notMe"

+
+
id="myDiv"
+ + \ No newline at end of file diff --git "a/Others/jQuery_day01/\345\261\202\347\272\247\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\345\261\202\347\272\247\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..fc51cc3 --- /dev/null +++ "b/Others/jQuery_day01/\345\261\202\347\272\247\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,30 @@ + + + + + + + + + +

层级选择器

+
+ Number1 +

Number2

+ Number3 +
+ Number4 + Number5 +
Number6
+ Number7 +

Number8

+ Number9 + + From ce14fcae090500b2ea58b6cc01a630dca199d0f5 Mon Sep 17 00:00:00 2001 From: Zicheng <37530692+ZichengQu@users.noreply.github.com> Date: Thu, 10 Jan 2019 16:28:38 +0800 Subject: [PATCH 02/17] Delete README.md --- README.md | 138 ------------------------------------------------------ 1 file changed, 138 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index b43f1fe..0000000 --- a/README.md +++ /dev/null @@ -1,138 +0,0 @@ -JavaSE: -.............................................................................................................................................. -JavaSE:https://github.com/ZichengQu/Java/tree/JavaSE -JavaSe.docx: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/JavaSe.docx -JavaSe总结: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/JavaSe%E6%80%BB%E7%BB%93.java -JavaSe习题:https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/Java%E5%9F%BA%E7%A1%80~Java%E9%AB%98%E7%BA%A7%E6%A3%80%E6%B5%8B%E9%A2%98.docm -JavaSe汽车租赁:https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/JAVA%E5%9F%BA%E7%A1%80%E5%AE%9E%E8%AE%AD%E7%BB%83%E4%B9%A0.docx -范例:https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/liucong -.............................................................................................................................................. -1.平闰年: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/one/pingrunnian/PingRunNian.java -2.计算器: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/two/calculator/JiSuanQi.java -3.水仙花数: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/three/shuixianhuashu/ShuiXianHuaShu.java -4.猴子吃桃(for循环): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/four/houchitao/HouZiChiTao.java -5.shopping(\t的使用): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/five/shopping/Shopping.java -7.login: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/seven/login/Login.java -8.Math.random: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/eight/random/Random.java -9.一年中的第几天: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/nine/tianshu/TianShu.java -10.二分和冒泡: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/ten/fengzhuang/FengZhuang.java -11.静态变量: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/eleven/staticdemo/StaticDemo.java -12.hero(面向对象,简单): https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/twelve/hero -14.toCharArray(): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/fourteen/zimu/ZiMu.java -15.数字前后置换: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/fifteen/zhihuan/ZhiHuan.java -16.科学显示(StringBuffer): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/sixteen/kexuexianshi/KeXueXianShi.java -21.map: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyOne/map/mapDemo.java -22.冒泡排序: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyTwoAndThree/bubbleSort/Question22.java -24.九九乘法表(递归): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyFour/recursion/jiujiu/JiuJiu.java -25.rabbit(递归): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyFive/recursion/rabbit/Rabbit.java -26.IO: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentySix/IO/Menu.java -27.a.toArray(b): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentySeven/caipiao/CaiPiao.java -28.手选机选中奖: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/twentyEight/caipiao2 -29.breakWhileA: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyNine/breakWhileA/Demo.java -30.CollectionAndMap: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirty/CollectionAndMap -31.ExceptionDemo: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyOne/ExceptionDemo/project -32.汽车租赁系统(看刘聪的): https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyTwo/carRentSystem -33.正则: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyThree/RegularExpression -34.(1)StringBuffer的insert,(2)Collection的sort,(3)HashSet的size,(5)Map,(6)Arrays的asList,(8)手选机选中奖: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyFour/StringBufferCollection -35.split和Integer(-128~127): https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyFive/StringInteger -36.UDPandTCP: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtySix/UDPandTCP -37.airplane游戏: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtySeven/airplane - -********************************************************************************************************************************************** - -SQL%%JDBC -.............................................................................................................................................. -note/sql: -1.SQLNote.sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/SQLNote.sql -2.SQL.sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/SQL.sql -3.SQLPractice.sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/SQLPractice.sql -4.Oracle原始笔记.txt:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/Oracle%E5%8E%9F%E5%A7%8B%E7%AC%94%E8%AE%B0.txt -5.多表查询练习(自己).sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2%E7%BB%83%E4%B9%A0%EF%BC%88%E8%87%AA%E5%B7%B1%EF%BC%89.sql -6.多表查询练习(答案).txt:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2%E7%BB%83%E4%B9%A0%EF%BC%88%E7%AD%94%E6%A1%88%EF%BC%89.txt -note/JDBC_day01&&02: -1.JDBC_day01_summary.txt: https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/JDBC_day01/JDBC_day01_summary.txt -2.JDBC原理.jpg: https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/JDBC_day01/JDBC%E5%8E%9F%E7%90%86.jpg -3.JDBC_day02_summary.txt:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/JDBC_day02/JDBC_day02_summary.txt -4.note/project: -5.project_EmpManage_summary: https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/project/one/project_EmpManage_summary -6.carRent_JDBC: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/note/project/two -.............................................................................................................................................. -7.JDBC_day01: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/JDBC_day01 -8.JDBC_day02: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/JDBC_day02 -.............................................................................................................................................. -project: -9.EmpManage_JDBC: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/project/EmpManage_JDBC -10.EmpManage_JDBC_Demo: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/Demo -11.carRent_JDBC: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/project/carRent_JDBC - - -********************************************************************************************************************************************** - - -HTML -.............................................................................................................................................. -0.HTMLNote.html: https://github.com/ZichengQu/Java/blob/HTML/HTML/note/HTMLNote.html -1.gun,锚点,链接: https://github.com/ZichengQu/Java/tree/HTML/HTML/1.Demo -2.两个表格,一个简易网页: https://github.com/ZichengQu/Java/tree/HTML/HTML/2.Demo -3.form的用法,简易登陆界面: https://github.com/ZichengQu/Java/tree/HTML/HTML/3.Demo -4.随堂笔记代码: https://github.com/ZichengQu/Java/tree/HTML/HTML/Others - - -********************************************************************************************************************************************** - - -CSS -.............................................................................................................................................. -1.CSS.js,CSS笔记: https://github.com/ZichengQu/Java/blob/CSS/note/CSS.js -2.CSS优先级演示: https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day01/index.html -3.选择器类型: https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day01/css2.html -4.超链接的style设置:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index.html -5.选择器优先级顺序:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index2.html -6.边框border:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index3.html -7.轮廓outline:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index4.html -8.京东登陆框demo(自己写的):https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index5.html -9.内边距:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/index.html -10.行内元素盒模型:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/%E8%A1%8C%E5%86%85%E5%85%83%E7%B4%A0%E7%9B%92%E6%A8%A1%E5%9E%8B.html -11.diaplay和visibility:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/display%E5%B1%9E%E6%80%A7.html -12.背景属性:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/index2.html -13.文本格式化:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F%E5%8C%96.html -14.文本属性:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E6%96%87%E6%9C%AC%E5%B1%9E%E6%80%A7.html -15.CSS表格:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/table.html -16.浮动:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E6%B5%AE%E5%8A%A8.html -17.清除浮动:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E6%B8%85%E9%99%A4%E6%B5%AE%E5%8A%A8.html -18.相对定位:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E7%9B%B8%E5%AF%B9%E5%AE%9A%E4%BD%8D.html -19.绝对定位:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E7%BB%9D%E5%AF%B9%E5%AE%9A%E4%BD%8D.html -20.qb登陆页:https://github.com/ZichengQu/Java/tree/CSS/qbLogin -21.京东登录页:https://github.com/ZichengQu/Java/tree/CSS/%E4%BA%AC%E4%B8%9C%E7%99%BB%E5%BD%95%E9%A1%B5 - - -********************************************************************************************************************************************** - - -JavaScript -.............................................................................................................................................. -1.JavaScript.js,JavaScript笔记: https://github.com/ZichengQu/Java/blob/JavaScript/note/JavaScript.js -2.正则表达式: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F.html -3.Document对象常用方法: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/Document%E5%AF%B9%E8%B1%A1.html -4.dom解析html.png: https://github.com/ZichengQu/Java/blob/JavaScript/Others/dom%E8%A7%A3%E6%9E%90html.png -5.window弹窗练习: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/window%E5%BC%B9%E7%AA%97%E7%BB%83%E4%B9%A0.html - https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/user.html -6.标题栏滚动演示练习(一个字一个字往外蹦,不是左右滚动): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/window%E5%BC%B9%E7%AA%97%E7%BB%83%E4%B9%A0.html -7.js的隐藏事件例子: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/index.html -8.element对象: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/element%E5%AF%B9%E8%B1%A1.html -9.Node对象属性(nodeName,nodeType,nodeValue): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/Node%E5%AF%B9%E8%B1%A1%E5%B1%9E%E6%80%A7.html -10.Node对象的属性二(父子同辈节点的获取): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/Node%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%B1%9E%E6%80%A7%E4%BA%8C.html -11.在末尾添加节点: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E5%9C%A8%E6%9C%AB%E5%B0%BE%E6%B7%BB%E5%8A%A0%E8%8A%82%E7%82%B9.html -12.appendChild(newnode)方法: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/appendChild%E6%96%B9%E6%B3%95.html -13.节点操作(insertBefore(newItem,existingItem),removeChild(oldnode),replaceChild(newnode,oldnode)): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E8%8A%82%E7%82%B9%E6%93%8D%E4%BD%9C.html -14.innerHTML和innerText: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/innerHTML%E4%B8%8EinnerText.html -15.动态显示时间: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E5%8A%A8%E6%80%81%E6%98%BE%E7%A4%BA%E6%97%B6%E9%97%B4.html -16.全选: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E5%85%A8%E9%80%89.html -17.点操作符+属性名 和 getAttribute(): https://www.cnblogs.com/xuehaoyue/p/6638202.html -18.JSON和JS之间的转换: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/JSON.html -19.JS创建表格: https://github.com/ZichengQu/Java/tree/JavaScript/Others/JS%E5%88%9B%E5%BB%BA%E8%A1%A8%E6%A0%BC -20.JS轮播图: https://github.com/ZichengQu/Java/tree/JavaScript/Others/JS%E8%BD%AE%E6%92%AD%E5%9B%BE -21.JS验证码: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS%E9%AA%8C%E8%AF%81%E7%A0%81/index.html - - -********************************************************************************************************************************************** From 33546abd7a4649b53eabe454d1d66616d3df4f13 Mon Sep 17 00:00:00 2001 From: Zicheng <37530692+ZichengQu@users.noreply.github.com> Date: Thu, 10 Jan 2019 16:28:47 +0800 Subject: [PATCH 03/17] Delete index.txt --- index.txt | 138 ------------------------------------------------------ 1 file changed, 138 deletions(-) delete mode 100644 index.txt diff --git a/index.txt b/index.txt deleted file mode 100644 index d4c8e2d..0000000 --- a/index.txt +++ /dev/null @@ -1,138 +0,0 @@ -JavaSE: -.............................................................................................................................................. -JavaSE:https://github.com/ZichengQu/Java/tree/JavaSE -JavaSe.docx: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/JavaSe.docx -JavaSe总结: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/JavaSe%E6%80%BB%E7%BB%93.java -JavaSe习题:https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/Java%E5%9F%BA%E7%A1%80~Java%E9%AB%98%E7%BA%A7%E6%A3%80%E6%B5%8B%E9%A2%98.docm -JavaSe汽车租赁:https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/note/JAVA%E5%9F%BA%E7%A1%80%E5%AE%9E%E8%AE%AD%E7%BB%83%E4%B9%A0.docx -范例:https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/liucong -.............................................................................................................................................. -1.平闰年: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/one/pingrunnian/PingRunNian.java -2.计算器: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/two/calculator/JiSuanQi.java -3.水仙花数: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/three/shuixianhuashu/ShuiXianHuaShu.java -4.猴子吃桃(for循环): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/four/houchitao/HouZiChiTao.java -5.shopping(\t的使用): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/five/shopping/Shopping.java -7.login: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/seven/login/Login.java -8.Math.random: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/eight/random/Random.java -9.一年中的第几天: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/nine/tianshu/TianShu.java -10.二分和冒泡: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/ten/fengzhuang/FengZhuang.java -11.静态变量: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/eleven/staticdemo/StaticDemo.java -12.hero(面向对象,简单): https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/twelve/hero -14.toCharArray(): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/fourteen/zimu/ZiMu.java -15.数字前后置换: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/fifteen/zhihuan/ZhiHuan.java -16.科学显示(StringBuffer): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/sixteen/kexuexianshi/KeXueXianShi.java -21.map: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyOne/map/mapDemo.java -22.冒泡排序: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyTwoAndThree/bubbleSort/Question22.java -24.九九乘法表(递归): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyFour/recursion/jiujiu/JiuJiu.java -25.rabbit(递归): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyFive/recursion/rabbit/Rabbit.java -26.IO: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentySix/IO/Menu.java -27.a.toArray(b): https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentySeven/caipiao/CaiPiao.java -28.手选机选中奖: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/twentyEight/caipiao2 -29.breakWhileA: https://github.com/ZichengQu/Java/blob/JavaSE/JavaSE/src/mine/twentyNine/breakWhileA/Demo.java -30.CollectionAndMap: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirty/CollectionAndMap -31.ExceptionDemo: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyOne/ExceptionDemo/project -32.汽车租赁系统(看刘聪的): https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyTwo/carRentSystem -33.正则: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyThree/RegularExpression -34.(1)StringBuffer的insert,(2)Collection的sort,(3)HashSet的size,(5)Map,(6)Arrays的asList,(8)手选机选中奖: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyFour/StringBufferCollection -35.split和Integer(-128~127): https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtyFive/StringInteger -36.UDPandTCP: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtySix/UDPandTCP -37.airplane游戏: https://github.com/ZichengQu/Java/tree/JavaSE/JavaSE/src/mine/thirtySeven/airplane - -********************************************************************************************************************************************** - -SQL%%JDBC -.............................................................................................................................................. -note/sql: -1.SQLNote.sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/SQLNote.sql -2.SQL.sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/SQL.sql -3.SQLPractice.sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/SQLPractice.sql -4.Oracle原始笔记.txt:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/Oracle%E5%8E%9F%E5%A7%8B%E7%AC%94%E8%AE%B0.txt -5.多表查询练习(自己).sql:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2%E7%BB%83%E4%B9%A0%EF%BC%88%E8%87%AA%E5%B7%B1%EF%BC%89.sql -6.多表查询练习(答案).txt:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/sql/%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2%E7%BB%83%E4%B9%A0%EF%BC%88%E7%AD%94%E6%A1%88%EF%BC%89.txt -note/JDBC_day01&&02: -1.JDBC_day01_summary.txt: https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/JDBC_day01/JDBC_day01_summary.txt -2.JDBC原理.jpg: https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/JDBC_day01/JDBC%E5%8E%9F%E7%90%86.jpg -3.JDBC_day02_summary.txt:https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/JDBC_day02/JDBC_day02_summary.txt -4.note/project: -5.project_EmpManage_summary: https://github.com/ZichengQu/Java/blob/SQL%26%26JDBC/JDBC/src/note/project/one/project_EmpManage_summary -6.carRent_JDBC: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/note/project/two -.............................................................................................................................................. -7.JDBC_day01: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/JDBC_day01 -8.JDBC_day02: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/JDBC_day02 -.............................................................................................................................................. -project: -9.EmpManage_JDBC: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/project/EmpManage_JDBC -10.EmpManage_JDBC_Demo: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/Demo -11.carRent_JDBC: https://github.com/ZichengQu/Java/tree/SQL%26%26JDBC/JDBC/src/project/carRent_JDBC - - -********************************************************************************************************************************************** - - -HTML -.............................................................................................................................................. -0.HTMLNote.html: https://github.com/ZichengQu/Java/blob/HTML/HTML/note/HTMLNote.html -1.gun,锚点,链接: https://github.com/ZichengQu/Java/tree/HTML/HTML/1.Demo -2.两个表格,一个简易网页: https://github.com/ZichengQu/Java/tree/HTML/HTML/2.Demo -3.form的用法,简易登陆界面: https://github.com/ZichengQu/Java/tree/HTML/HTML/3.Demo -4.随堂笔记代码: https://github.com/ZichengQu/Java/tree/HTML/HTML/Others - - -********************************************************************************************************************************************** - - -CSS -.............................................................................................................................................. -1.CSS.js,CSS笔记: https://github.com/ZichengQu/Java/blob/CSS/note/CSS.js -2.CSS优先级演示: https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day01/index.html -3.选择器类型: https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day01/css2.html -4.超链接的style设置:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index.html -5.选择器优先级顺序:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index2.html -6.边框border:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index3.html -7.轮廓outline:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index4.html -8.京东登陆框demo(自己写的):https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day02/index5.html -9.内边距:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/index.html -10.行内元素盒模型:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/%E8%A1%8C%E5%86%85%E5%85%83%E7%B4%A0%E7%9B%92%E6%A8%A1%E5%9E%8B.html -11.diaplay和visibility:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/display%E5%B1%9E%E6%80%A7.html -12.背景属性:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/index2.html -13.文本格式化:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day03/%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F%E5%8C%96.html -14.文本属性:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E6%96%87%E6%9C%AC%E5%B1%9E%E6%80%A7.html -15.CSS表格:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/table.html -16.浮动:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E6%B5%AE%E5%8A%A8.html -17.清除浮动:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E6%B8%85%E9%99%A4%E6%B5%AE%E5%8A%A8.html -18.相对定位:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E7%9B%B8%E5%AF%B9%E5%AE%9A%E4%BD%8D.html -19.绝对定位:https://github.com/ZichengQu/Java/blob/CSS/Others/CSS_day04/%E7%BB%9D%E5%AF%B9%E5%AE%9A%E4%BD%8D.html -20.qb登陆页:https://github.com/ZichengQu/Java/tree/CSS/qbLogin -21.京东登录页:https://github.com/ZichengQu/Java/tree/CSS/%E4%BA%AC%E4%B8%9C%E7%99%BB%E5%BD%95%E9%A1%B5 - - -********************************************************************************************************************************************** - - -JavaScript -.............................................................................................................................................. -1.JavaScript.js,JavaScript笔记: https://github.com/ZichengQu/Java/blob/JavaScript/note/JavaScript.js -2.正则表达式: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F.html -3.Document对象常用方法: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/Document%E5%AF%B9%E8%B1%A1.html -4.dom解析html.png: https://github.com/ZichengQu/Java/blob/JavaScript/Others/dom%E8%A7%A3%E6%9E%90html.png -5.window弹窗练习: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/window%E5%BC%B9%E7%AA%97%E7%BB%83%E4%B9%A0.html - https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/user.html -6.标题栏滚动演示练习(一个字一个字往外蹦,不是左右滚动): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day04/window%E5%BC%B9%E7%AA%97%E7%BB%83%E4%B9%A0.html -7.js的隐藏事件例子: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/index.html -8.element对象: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/element%E5%AF%B9%E8%B1%A1.html -9.Node对象属性(nodeName,nodeType,nodeValue): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/Node%E5%AF%B9%E8%B1%A1%E5%B1%9E%E6%80%A7.html -10.Node对象的属性二(父子同辈节点的获取): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/Node%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%B1%9E%E6%80%A7%E4%BA%8C.html -11.在末尾添加节点: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E5%9C%A8%E6%9C%AB%E5%B0%BE%E6%B7%BB%E5%8A%A0%E8%8A%82%E7%82%B9.html -12.appendChild(newnode)方法: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/appendChild%E6%96%B9%E6%B3%95.html -13.节点操作(insertBefore(newItem,existingItem),removeChild(oldnode),replaceChild(newnode,oldnode)): https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E8%8A%82%E7%82%B9%E6%93%8D%E4%BD%9C.html -14.innerHTML和innerText: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/innerHTML%E4%B8%8EinnerText.html -15.动态显示时间: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E5%8A%A8%E6%80%81%E6%98%BE%E7%A4%BA%E6%97%B6%E9%97%B4.html -16.全选: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/%E5%85%A8%E9%80%89.html -17.点操作符+属性名 和 getAttribute(): https://www.cnblogs.com/xuehaoyue/p/6638202.html -18.JSON和JS之间的转换: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS_day05/JSON.html -19.JS创建表格: https://github.com/ZichengQu/Java/tree/JavaScript/Others/JS%E5%88%9B%E5%BB%BA%E8%A1%A8%E6%A0%BC -20.JS轮播图: https://github.com/ZichengQu/Java/tree/JavaScript/Others/JS%E8%BD%AE%E6%92%AD%E5%9B%BE -21.JS验证码: https://github.com/ZichengQu/Java/blob/JavaScript/Others/JS%E9%AA%8C%E8%AF%81%E7%A0%81/index.html - - -********************************************************************************************************************************************** From 3c4c7585671bf19715414fa1651ab06b81596a45 Mon Sep 17 00:00:00 2001 From: Zicheng <37530692+ZichengQu@users.noreply.github.com> Date: Thu, 10 Jan 2019 16:30:43 +0800 Subject: [PATCH 04/17] Add files via upload --- note/jQuery.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 note/jQuery.js diff --git a/note/jQuery.js b/note/jQuery.js new file mode 100644 index 0000000..b06dd52 --- /dev/null +++ b/note/jQuery.js @@ -0,0 +1,34 @@ +1.jQuery: + jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架); + jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情; + 它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互; +2.使用步骤: + 1.引入jQuery的js文件; + 2.使用选择器找到要操作的节点; + 3.调用jQuery的方法处理节点; +3.选择器: + (1)基本选择器: + id选择器:$("#id") 根据给定的ID匹配一个元素; + 元素选择器:$("element") 根据给定的元素名匹配所有元素; + 类选择器:$(".class") 根据给定的类匹配元素; + 通配符选择器:$("*") 匹配所有元素; + 复合选择器:$("selector1,selector2,...,selectorN") 将每一个选择器匹配到的元素合并后一起返回。 + (2)层级选择器: + $("ancestor descendant") 在给定的祖先元素下匹配所有的后代元素; + $("parent > child") 在给定的父元素下匹配所有的子元素;只查找直接子节点,不查找间接子节点。 + $("prev + next") 匹配所有紧接在 prev 元素后的 next 元素(若next不紧跟在prev之后,则不起作用); + $("prev ~ siblings") 匹配 prev 元素之后的所有 siblings 元素; + (3)过滤选择器: + 过滤选择器主要是通过特定的过滤规则来筛选出所需要的DOM元素; + 过滤选择器的特点是以":"开头; + 按照不同的过滤规则,过滤选择器可分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单过滤选择器等. + 1)基本过滤选择器: + 注意:索引和index都是从0开始的。 + $(":first") 第一个元素;//$("li:first") + $(":last") 最后一个元素;//$("li:last") + $(":not(selector") 把selector排除在外;//$("li:not(:first)") //$("li:not(:eq(3))") + $(":even") 挑选偶数行;//$("li:even") + $(":odd") 挑选奇数行;//$("li:odd") + $(":eq(index)") 挑选下标等于index的元素;//$("li:eq(0)") + $(":gt(index)") 挑选下标大于index的元素;//$("li:gt(0)") + $(":lt(index") 挑选下标小于index的元素;//$("li:lt(6)") \ No newline at end of file From 57223dcb0f3ef33fe019cf70075ca2df864ce790 Mon Sep 17 00:00:00 2001 From: Zicheng <37530692+ZichengQu@users.noreply.github.com> Date: Thu, 10 Jan 2019 16:32:21 +0800 Subject: [PATCH 05/17] Add files via upload --- note/jQuery.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/note/jQuery.js b/note/jQuery.js index b06dd52..116633f 100644 --- a/note/jQuery.js +++ b/note/jQuery.js @@ -2,18 +2,19 @@ jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架); jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情; 它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互; + js与jq的区别: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%88%9D%E8%AF%86jq.html 2.使用步骤: 1.引入jQuery的js文件; 2.使用选择器找到要操作的节点; 3.调用jQuery的方法处理节点; 3.选择器: - (1)基本选择器: + (1)基本选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%9F%BA%E6%9C%AC%E9%80%89%E6%8B%A9%E5%99%A8.html id选择器:$("#id") 根据给定的ID匹配一个元素; 元素选择器:$("element") 根据给定的元素名匹配所有元素; 类选择器:$(".class") 根据给定的类匹配元素; 通配符选择器:$("*") 匹配所有元素; 复合选择器:$("selector1,selector2,...,selectorN") 将每一个选择器匹配到的元素合并后一起返回。 - (2)层级选择器: + (2)层级选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%B1%82%E7%BA%A7%E9%80%89%E6%8B%A9%E5%99%A8.html $("ancestor descendant") 在给定的祖先元素下匹配所有的后代元素; $("parent > child") 在给定的父元素下匹配所有的子元素;只查找直接子节点,不查找间接子节点。 $("prev + next") 匹配所有紧接在 prev 元素后的 next 元素(若next不紧跟在prev之后,则不起作用); @@ -22,7 +23,7 @@ 过滤选择器主要是通过特定的过滤规则来筛选出所需要的DOM元素; 过滤选择器的特点是以":"开头; 按照不同的过滤规则,过滤选择器可分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单过滤选择器等. - 1)基本过滤选择器: + 1)基本过滤选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%9F%BA%E6%9C%AC%E8%BF%87%E6%BB%A4%E9%80%89%E6%8B%A9%E5%99%A8.html 注意:索引和index都是从0开始的。 $(":first") 第一个元素;//$("li:first") $(":last") 最后一个元素;//$("li:last") From 4132a108d47946bc9e55c0984658a4b469e417c2 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Fri, 11 Jan 2019 11:40:07 +0800 Subject: [PATCH 06/17] Add files via upload --- .../img/\347\247\221\346\257\224.jpg" | Bin 0 -> 3964 bytes ...\351\200\211\346\213\251\345\231\250.html" | 22 ++++++++++++ ...\351\200\211\346\213\251\345\231\250.html" | 26 ++++++++++++++ ...\346\234\254\346\223\215\344\275\234.html" | 33 ++++++++++++++++++ ...\351\200\211\346\213\251\345\231\250.html" | 24 +++++++++++++ ...\351\200\211\346\213\251\345\231\250.html" | 32 +++++++++++++++++ 6 files changed, 137 insertions(+) create mode 100644 "Others/jQuery_day01/img/\347\247\221\346\257\224.jpg" create mode 100644 "Others/jQuery_day01/\345\206\205\345\256\271\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" create mode 100644 "Others/jQuery_day01/\345\217\257\350\247\201\346\200\247\351\200\211\346\213\251\345\231\250.html" create mode 100644 "Others/jQuery_day01/\345\237\272\346\234\254\346\223\215\344\275\234.html" create mode 100644 "Others/jQuery_day01/\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" create mode 100644 "Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" diff --git "a/Others/jQuery_day01/img/\347\247\221\346\257\224.jpg" "b/Others/jQuery_day01/img/\347\247\221\346\257\224.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..5037e0c9b85adc44f93824496476993c0f1062e8 GIT binary patch literal 3964 zcmb7{S5T7yvxdKr(3^pvln_b)DUlv}KoBBT=^Ye7l+Z#)1Oh6(NvMKKlirLJ=_nu_ z5v2Dn0YT{sDnI|snK^SV&%1ZKJJ0Uky?Z`&z64y-#p+-I5C{ZlUj%SI3)}!`sHmu^ zC~2svscC6x=ony(4D|F294xHNFm6sB1UDxf&MP2(m6sodgu{j9MNpDbva+%~R~0b| z(kkLIveN&BfM{uH8R!|<85!B7`QUug|8Jdt0H8ELJn#q%;s+?8ATShk-UV<00EqHp z+5Z(Khyp@I4S+9-YL@^C5SRi2ri4&mq%H)a00R&xB_9=wlsc=C1HV^zGD$k`-A5Qw z!}y-}GBw+c{EiVpAsIPSpPv^1P7pu={=al801Tn{?_>!maKWYoQBi^aXZ(MgFW@YE zQtC#m{0OuB3EPbZ<^SYM3!Gh9+PRI4z7%|a1EED&$4NtJP&NSHLIPO= zLyCEp5@@{BC$=8>i#(IQSobv;+ubFEvkorxn2Lzzz9rh0qI2H|MouGMVQSkmzoxsf zvQwxoFaX178bo^fnQuf(DE{^EX?VW2(iELswu0v_OmBq8sfdV%#K5G_qKEkMP8q*n z3DT#fPk)HiUW43?T!(4KIy*kiqS1LLN%~a$tWzINHo%d+TZZIbyNF5{iR!M}83i`O zQtQTHI;L$xw_LYB{OLTxZHJSlK!<3*YWi$?*O37g5x$RRD0z;GaYK$5sR)mH!?9Qw znPj|H`lGx)+K35fcmp-WNW$UAawHOd{qB$N#M?oX#oaOTNVwegu0tKy=%FGyE-F@U zK=u`uVhAY|{QhI%q`YyqBf(er`<{9Tilx?@A}Fs9(YD1?-a_4($kP0hQ?L@h?P3gg zeh+pALpzb$3*T2Ma>>V%3wzv!rS^fH&iW?+OK94h(FPu5q0(q+t5JuqPX||XQ8^|rrPCuX^5O^x3CI&XwVOW{r`p3;f)Ebnl>f^0mD6DZ_}WKaBe`V&7% z9Kgdw(x&^5x^H>e)89wx3~;f(xe9#4**^~V5~-JKtOPx_Z@ez}C_b^-DXCC*sbHwO z2HF_@uUx(Gi4mWU(4Hlt6ENatHH^ZJeHz^B-ClkNWrxJC4xXCT?z%d;2pXC9s9pik z??z@aap?5&2c?=so8FMR4KqK{F5l10cOrCzGC4OI?25={-+dTgqO!Ckza~gEP3on7 zH7Jyw-yVnZ>55QVpm#h>UsRwnqqy{Vx7s@}!9!-ULotmntBS)9TBM@KCkk91)E)?j z_BNA#(b>`c^|NSVb~Du24zm$Vu6erY&7@^~H(_#yhW!NXy_DO%e-31N+>QV9qVxf* zt04G*Yf+mQv2}V0v z((cZK^`F(89?aYhR}O+|6xTBJ=SBYW9qR+nz~^HTHXSs{Wh5kHV(~xjgrA4 z)82#37N^rz)LbOB4>63AV+h5F{Bbvrdnre0mC93wxwbS^D`{a)oBoemXqU8xnUPU`tLo?B1vYYSk-K1aImdr9! z!F#3&819#~QCV1(!Q0*eLP>jW8yHdH@SX&vr@KH-uVEa2p3Jc~UT1qZw;{VP&{MPX zX*Zbuw{VkYo>chj!^clo!KSV2XZ$ohL)m}JT8Jeo1#hcP$Sz}NN7t^y4nqAt8 znU&95-FrLY8R@2T;UiJbCUZPw>ni_+XM0SEXjeG4;4t&um-oqkzitKvC*hD<7Sr&g zU$;k$kM9^Y4RhP1*1(0iHmcxaxvkNzXAQqSoa{~Gk7Af}_PA@-0E8cNBQ>j;l=!m7_=DXe;^zbPzqNJ5A<3SN>9V#u1B- zoV%_zm)~&?q@(IVfK%d8AzrEcXN3&&-Wt(l?;iCWrBl-zXN)SAy_ajE@grgwLbi)} z&zST`C_~DQ7vlE^=FgnildsS@Q*E=X@1pt|gG;kE?+Xk39*Qw3S9aa2`CH(fICL&3xRso@L`b zS!KZjpfQO%OCP^}dKXSFQ6Iy%Qt-W3u5Sb_U zN51$2mcdYzCy*VT-iL0jok-cDv;Qns@}}XsOe$ka_+tJ1Cs*scb(d*RVI8iuo$~QUO!rH{*5%$Eqs=?T3;Q{5x!(w3FE9Lg<69 ze6CPRIB=O5QnIqMZ@X@J%~0lbo6}wQ$;rHmiJ1^TPd|5!ZS2Io_I8guh#5d%DnM(4 z%hza7zT{ea-6XnMc%lvvPYD`yH_}3=> zZwu3y2!oaKI4g--J*yqgUFC-}`wt8BNwj))UZ~E9QEZX&z)z;X}#JSa#g@s*s)9km@9>0gK_!$T)Keau( zyjb;(czw}3*jyc64GC{zF15Cr$N%lQWOu{Uk3fLnZA7~$G;F4{)aOcuYXgq`Kjcp+ zIp-9Sk54kPH2r;C1Yc^?$;k72{OQN!&L+S9g+?GQ6Bicx7ckC_Y^mLW&>h1Fg53$& z8?>oY{dkCCEvv;Y|XSa7N zE@`9tdZOB!O39o~L9brQ9ZYpP@AspvcAZQ$cp30-SMe%+A8ZfFCM;n0%KBGT4xEaH`UavJ1JqazBPAl&c$Ev;Q;2-n`<6>jXxs>#l!8qRr`+Bxob2~ z6%9`f$14ik^m_Sfly!VZsCqPDyvHv{PrlXT1`fF$rS$tG>oXIhWv2X^4Zoc$HB9VRSy$rrz`DcWGt;Lw6G z-;h|0LM{<1t$oO*Lu|2o41}&K)gNT@Kd}M1@=<+4_Y&&VF&brCJ=r!5;Bv?x{$k4| ztX0@z)#KBUF$q)0zejjNDk0T~-dIx~gq+UvQ{!ssN9*iQufgox_Z;}o_%5EafD`lN zzc1th={iFbgwFwGbE`@gzO={S-{v`gGYM1vcg_U=I6t{p@T=gAnWR}dv~l<+!ZS^A z46$0M(c1RdrIIgl)U|Z?jnpT&mb!q5<8d@MC?8=)g{Ox8+)z8{{oN@@l@~!At4reK z8J!jza1_9&+1Ld*!4-q(Rt49i!8!IJWZqWC0KtTv+VlWYq7UQ^OK*@;a*agEroU{? z41pc@lIMP5U*Rvxsv_T%3nv!=?6l3}0@y|E@WIvv`IYO<>L}@=Zt30dFjY+{2%@$} zj`^13EOdCET*xMK-@nuN{g~dgWP@;q53ZgOH#uYR zl)GyH@bXRSAEf1Cn&r&A{tfV@DD;YBMZ~>6O$;?0h)pb*L3><-80t=Rp{}it9T_KD zXm@<`v-Nt;9MtI)|0%%h%C53RUvy>P2Z*^;S&2RWSgP+8mJr+^{A5lgwQPzFd{ga! pL9PEBcsAagIetS|VMSOi?Hr&j_mnCwV@}&jk-D8jKD%>1{U4riIb{F< literal 0 HcmV?d00001 diff --git "a/Others/jQuery_day01/\345\206\205\345\256\271\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\345\206\205\345\256\271\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..5a21267 --- /dev/null +++ "b/Others/jQuery_day01/\345\206\205\345\256\271\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,22 @@ + + + + + + + + + +
John Resig
+

George

Martin
+
Malcom John Sinclair
+
+ + diff --git "a/Others/jQuery_day01/\345\217\257\350\247\201\346\200\247\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\345\217\257\350\247\201\346\200\247\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..868e31a --- /dev/null +++ "b/Others/jQuery_day01/\345\217\257\350\247\201\346\200\247\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,26 @@ + + + + + + + + + +
+ + +
Value 1
Value 2Value 3
+
+ + +
+ + diff --git "a/Others/jQuery_day01/\345\237\272\346\234\254\346\223\215\344\275\234.html" "b/Others/jQuery_day01/\345\237\272\346\234\254\346\223\215\344\275\234.html" new file mode 100644 index 0000000..f51e581 --- /dev/null +++ "b/Others/jQuery_day01/\345\237\272\346\234\254\346\223\215\344\275\234.html" @@ -0,0 +1,33 @@ + + + + + + + + + +

哈哈哈哈

+
+ + +
+ + + diff --git "a/Others/jQuery_day01/\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..6877d6c --- /dev/null +++ "b/Others/jQuery_day01/\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,24 @@ + + + + + + + + + +
+

Hello

+
+
World!
+ + + + + diff --git "a/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" new file mode 100644 index 0000000..420c987 --- /dev/null +++ "b/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" @@ -0,0 +1,32 @@ + + + + + + + + + +
+ + +
+
+ + + +
+ + + From b94b00b8d549588d966444d1dece991c438087a7 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Fri, 11 Jan 2019 11:45:15 +0800 Subject: [PATCH 07/17] Add files via upload --- note/jQuery.js | 86 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) diff --git a/note/jQuery.js b/note/jQuery.js index 116633f..7486344 100644 --- a/note/jQuery.js +++ b/note/jQuery.js @@ -32,4 +32,88 @@ $(":odd") 挑选奇数行;//$("li:odd") $(":eq(index)") 挑选下标等于index的元素;//$("li:eq(0)") $(":gt(index)") 挑选下标大于index的元素;//$("li:gt(0)") - $(":lt(index") 挑选下标小于index的元素;//$("li:lt(6)") \ No newline at end of file + $(":lt(index") 挑选下标小于index的元素;//$("li:lt(6)") + 2)内容过滤选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%86%85%E5%AE%B9%E8%BF%87%E6%BB%A4%E9%80%89%E6%8B%A9%E5%99%A8.html + :contains(text) 匹配包含给定文本的元素// + :empty 匹配所有不包含子元素或者文本的空元素// + :has(selector) 匹配含有选择器所匹配的元素的元素// + :parent 匹配含有子元素或者文本的元素// + 例子: + + + + + + + +
John Resig
+

George

Martin
+
Malcom John Sinclair
+
+ + 3)可见性选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%8F%AF%E8%A7%81%E6%80%A7%E9%80%89%E6%8B%A9%E5%99%A8.html + :hidden 匹配所有不可见元素,或者type为hidden的元素 //console.log($("input:hidden").val()); + :visible 匹配所有的可见元素 + 4)属性过滤选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%B1%9E%E6%80%A7%E8%BF%87%E6%BB%A4%E9%80%89%E6%8B%A9%E5%99%A8.html + 注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。 + [attribute] 匹配包含给定属性的元素。//$("div[id]") div中有id属性的 + [attribute=value] 匹配给定的属性是某个特定值的元素 //$("input[name='newsletter']") input中name为newsletter的 + [attribute!=value] + [attribute^=value] 匹配给定的属性是以某些值开始的元素 //$("input[name^='news']").attr("checked", true); input中name以news开头的 + [attribute$=value] + [attribute*=value] + [attrSel1][attrSel2][attrSelN] + 5)表单属性过滤选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E8%A1%A8%E5%8D%95%E5%B1%9E%E6%80%A7%E8%BF%87%E6%BB%A4%E9%80%89%E6%8B%A9%E5%99%A8.html + :enabled 匹配所有可用元素 //$("input:enabled") + :disabled 匹配所有不可用元素 //$("input:disabled") + 获得复选框,单选按钮,下拉列表的选中元素节点: + :checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option) //$("input:checked").attr("checked",false); + :selected 匹配所有选中的option元素 //console.log($("select option:selected").text()); + 6)表单选择器: api + :input 匹配所有 input, textarea, select 和 button 元素 //$(":input") //$("input")是元素选择器,只能匹配input元素。 + :text 匹配所有的单行文本框 //$(":text") + :password 匹配所有密码框 //$(":password") + :radio 匹配所有单选按钮 //$(":radio") + :checkbox 匹配所有复选框 //$(":checkbox") + :submit 匹配所有提交按钮 //$(":submit") + :image 匹配所有图像域 //$(":image") + :reset 匹配所有重置按钮 //$(":reset") + :button 匹配所有按钮 //$(":button") + :file 匹配所有文件域 //$(":file") + :hidden 匹配所有不可见元素,或者type为hidden的元素 //$(":hidden")//$("input:hidden") +4.基本操作: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C.html + (1)html操作: + html([val|fn]) 在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容。 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。 + 例子: + console.log($("p").html())//返回p元素的内容。//哈哈哈哈 + $("p").html("加粗文本");//设置p元素的内容,识别标签 + (2)文本操作: + text([val|fn]) 取得所有匹配元素的内容。 $("p").text("加粗文本");//设置p元素的内容,不识别标签,会输出标签 + (3)值操作: + console.log($("img").attr("src"));//img/科比.jpg + (4)属性操作: + $("img").attr("title","科比"); + $("img").attr({style:"display:none;title:科比"}); + $("img").attr("title", function() { return this.src });//this获取当前元素的html属性 + (5)jQuery的表单验证: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C.html + $("form:first").submit(function(){//验证表达输入项是否为空 + if($("#name").val()==""){ + console.log("请输入用户名"); + return false; + } + }); +
+ + +
+ + + + From d1ed4f826c27b24cdde91ef34886109873e2ac6f Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Mon, 14 Jan 2019 16:17:30 +0800 Subject: [PATCH 08/17] Add files via upload --- .../img/\347\247\221\346\257\224.jpg" | Bin 0 -> 3964 bytes .../jQuery\344\272\213\344\273\266.html" | 55 + .../jQuery\345\205\250\351\200\211.html" | 61 + ...5\222\214DOM\345\257\271\350\261\241.html" | 28 + .../jQuery\346\223\215\344\275\234DOM.html" | 67 + Others/jQuery_day02/js/jquery-1.7.1.min.js | 3730 +++++++++++++++++ ...\345\274\217\346\223\215\344\275\234.html" | 45 + 7 files changed, 3986 insertions(+) create mode 100644 "Others/jQuery_day02/img/\347\247\221\346\257\224.jpg" create mode 100644 "Others/jQuery_day02/jQuery\344\272\213\344\273\266.html" create mode 100644 "Others/jQuery_day02/jQuery\345\205\250\351\200\211.html" create mode 100644 "Others/jQuery_day02/jQuery\345\257\271\350\261\241\345\222\214DOM\345\257\271\350\261\241.html" create mode 100644 "Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" create mode 100644 Others/jQuery_day02/js/jquery-1.7.1.min.js create mode 100644 "Others/jQuery_day02/\346\240\267\345\274\217\346\223\215\344\275\234.html" diff --git "a/Others/jQuery_day02/img/\347\247\221\346\257\224.jpg" "b/Others/jQuery_day02/img/\347\247\221\346\257\224.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..5037e0c9b85adc44f93824496476993c0f1062e8 GIT binary patch literal 3964 zcmb7{S5T7yvxdKr(3^pvln_b)DUlv}KoBBT=^Ye7l+Z#)1Oh6(NvMKKlirLJ=_nu_ z5v2Dn0YT{sDnI|snK^SV&%1ZKJJ0Uky?Z`&z64y-#p+-I5C{ZlUj%SI3)}!`sHmu^ zC~2svscC6x=ony(4D|F294xHNFm6sB1UDxf&MP2(m6sodgu{j9MNpDbva+%~R~0b| z(kkLIveN&BfM{uH8R!|<85!B7`QUug|8Jdt0H8ELJn#q%;s+?8ATShk-UV<00EqHp z+5Z(Khyp@I4S+9-YL@^C5SRi2ri4&mq%H)a00R&xB_9=wlsc=C1HV^zGD$k`-A5Qw z!}y-}GBw+c{EiVpAsIPSpPv^1P7pu={=al801Tn{?_>!maKWYoQBi^aXZ(MgFW@YE zQtC#m{0OuB3EPbZ<^SYM3!Gh9+PRI4z7%|a1EED&$4NtJP&NSHLIPO= zLyCEp5@@{BC$=8>i#(IQSobv;+ubFEvkorxn2Lzzz9rh0qI2H|MouGMVQSkmzoxsf zvQwxoFaX178bo^fnQuf(DE{^EX?VW2(iELswu0v_OmBq8sfdV%#K5G_qKEkMP8q*n z3DT#fPk)HiUW43?T!(4KIy*kiqS1LLN%~a$tWzINHo%d+TZZIbyNF5{iR!M}83i`O zQtQTHI;L$xw_LYB{OLTxZHJSlK!<3*YWi$?*O37g5x$RRD0z;GaYK$5sR)mH!?9Qw znPj|H`lGx)+K35fcmp-WNW$UAawHOd{qB$N#M?oX#oaOTNVwegu0tKy=%FGyE-F@U zK=u`uVhAY|{QhI%q`YyqBf(er`<{9Tilx?@A}Fs9(YD1?-a_4($kP0hQ?L@h?P3gg zeh+pALpzb$3*T2Ma>>V%3wzv!rS^fH&iW?+OK94h(FPu5q0(q+t5JuqPX||XQ8^|rrPCuX^5O^x3CI&XwVOW{r`p3;f)Ebnl>f^0mD6DZ_}WKaBe`V&7% z9Kgdw(x&^5x^H>e)89wx3~;f(xe9#4**^~V5~-JKtOPx_Z@ez}C_b^-DXCC*sbHwO z2HF_@uUx(Gi4mWU(4Hlt6ENatHH^ZJeHz^B-ClkNWrxJC4xXCT?z%d;2pXC9s9pik z??z@aap?5&2c?=so8FMR4KqK{F5l10cOrCzGC4OI?25={-+dTgqO!Ckza~gEP3on7 zH7Jyw-yVnZ>55QVpm#h>UsRwnqqy{Vx7s@}!9!-ULotmntBS)9TBM@KCkk91)E)?j z_BNA#(b>`c^|NSVb~Du24zm$Vu6erY&7@^~H(_#yhW!NXy_DO%e-31N+>QV9qVxf* zt04G*Yf+mQv2}V0v z((cZK^`F(89?aYhR}O+|6xTBJ=SBYW9qR+nz~^HTHXSs{Wh5kHV(~xjgrA4 z)82#37N^rz)LbOB4>63AV+h5F{Bbvrdnre0mC93wxwbS^D`{a)oBoemXqU8xnUPU`tLo?B1vYYSk-K1aImdr9! z!F#3&819#~QCV1(!Q0*eLP>jW8yHdH@SX&vr@KH-uVEa2p3Jc~UT1qZw;{VP&{MPX zX*Zbuw{VkYo>chj!^clo!KSV2XZ$ohL)m}JT8Jeo1#hcP$Sz}NN7t^y4nqAt8 znU&95-FrLY8R@2T;UiJbCUZPw>ni_+XM0SEXjeG4;4t&um-oqkzitKvC*hD<7Sr&g zU$;k$kM9^Y4RhP1*1(0iHmcxaxvkNzXAQqSoa{~Gk7Af}_PA@-0E8cNBQ>j;l=!m7_=DXe;^zbPzqNJ5A<3SN>9V#u1B- zoV%_zm)~&?q@(IVfK%d8AzrEcXN3&&-Wt(l?;iCWrBl-zXN)SAy_ajE@grgwLbi)} z&zST`C_~DQ7vlE^=FgnildsS@Q*E=X@1pt|gG;kE?+Xk39*Qw3S9aa2`CH(fICL&3xRso@L`b zS!KZjpfQO%OCP^}dKXSFQ6Iy%Qt-W3u5Sb_U zN51$2mcdYzCy*VT-iL0jok-cDv;Qns@}}XsOe$ka_+tJ1Cs*scb(d*RVI8iuo$~QUO!rH{*5%$Eqs=?T3;Q{5x!(w3FE9Lg<69 ze6CPRIB=O5QnIqMZ@X@J%~0lbo6}wQ$;rHmiJ1^TPd|5!ZS2Io_I8guh#5d%DnM(4 z%hza7zT{ea-6XnMc%lvvPYD`yH_}3=> zZwu3y2!oaKI4g--J*yqgUFC-}`wt8BNwj))UZ~E9QEZX&z)z;X}#JSa#g@s*s)9km@9>0gK_!$T)Keau( zyjb;(czw}3*jyc64GC{zF15Cr$N%lQWOu{Uk3fLnZA7~$G;F4{)aOcuYXgq`Kjcp+ zIp-9Sk54kPH2r;C1Yc^?$;k72{OQN!&L+S9g+?GQ6Bicx7ckC_Y^mLW&>h1Fg53$& z8?>oY{dkCCEvv;Y|XSa7N zE@`9tdZOB!O39o~L9brQ9ZYpP@AspvcAZQ$cp30-SMe%+A8ZfFCM;n0%KBGT4xEaH`UavJ1JqazBPAl&c$Ev;Q;2-n`<6>jXxs>#l!8qRr`+Bxob2~ z6%9`f$14ik^m_Sfly!VZsCqPDyvHv{PrlXT1`fF$rS$tG>oXIhWv2X^4Zoc$HB9VRSy$rrz`DcWGt;Lw6G z-;h|0LM{<1t$oO*Lu|2o41}&K)gNT@Kd}M1@=<+4_Y&&VF&brCJ=r!5;Bv?x{$k4| ztX0@z)#KBUF$q)0zejjNDk0T~-dIx~gq+UvQ{!ssN9*iQufgox_Z;}o_%5EafD`lN zzc1th={iFbgwFwGbE`@gzO={S-{v`gGYM1vcg_U=I6t{p@T=gAnWR}dv~l<+!ZS^A z46$0M(c1RdrIIgl)U|Z?jnpT&mb!q5<8d@MC?8=)g{Ox8+)z8{{oN@@l@~!At4reK z8J!jza1_9&+1Ld*!4-q(Rt49i!8!IJWZqWC0KtTv+VlWYq7UQ^OK*@;a*agEroU{? z41pc@lIMP5U*Rvxsv_T%3nv!=?6l3}0@y|E@WIvv`IYO<>L}@=Zt30dFjY+{2%@$} zj`^13EOdCET*xMK-@nuN{g~dgWP@;q53ZgOH#uYR zl)GyH@bXRSAEf1Cn&r&A{tfV@DD;YBMZ~>6O$;?0h)pb*L3><-80t=Rp{}it9T_KD zXm@<`v-Nt;9MtI)|0%%h%C53RUvy>P2Z*^;S&2RWSgP+8mJr+^{A5lgwQPzFd{ga! pL9PEBcsAagIetS|VMSOi?Hr&j_mnCwV@}&jk-D8jKD%>1{U4riIb{F< literal 0 HcmV?d00001 diff --git "a/Others/jQuery_day02/jQuery\344\272\213\344\273\266.html" "b/Others/jQuery_day02/jQuery\344\272\213\344\273\266.html" new file mode 100644 index 0000000..2dc31ca --- /dev/null +++ "b/Others/jQuery_day02/jQuery\344\272\213\344\273\266.html" @@ -0,0 +1,55 @@ + + + + + + + + + + 用户名:
+ 手机号:
+

段落

+
+ 用户名:
+ + +
+ + diff --git "a/Others/jQuery_day02/jQuery\345\205\250\351\200\211.html" "b/Others/jQuery_day02/jQuery\345\205\250\351\200\211.html" new file mode 100644 index 0000000..559160a --- /dev/null +++ "b/Others/jQuery_day02/jQuery\345\205\250\351\200\211.html" @@ -0,0 +1,61 @@ + + + + + + + + + + + 全选
+ java
+ python
+ c语言
+ php
+ + + diff --git "a/Others/jQuery_day02/jQuery\345\257\271\350\261\241\345\222\214DOM\345\257\271\350\261\241.html" "b/Others/jQuery_day02/jQuery\345\257\271\350\261\241\345\222\214DOM\345\257\271\350\261\241.html" new file mode 100644 index 0000000..040a7b7 --- /dev/null +++ "b/Others/jQuery_day02/jQuery\345\257\271\350\261\241\345\222\214DOM\345\257\271\350\261\241.html" @@ -0,0 +1,28 @@ + + + + + + + + + +

标题二

+

标题二

+
段落一
+ + + + diff --git "a/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" "b/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" new file mode 100644 index 0000000..37dbab9 --- /dev/null +++ "b/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" @@ -0,0 +1,67 @@ + + + + + + + + + +
哈哈
+ 用户名:
+ 爱好: 游泳 + 篮球 + 地址:
+ +
    +
  • Number1
  • +
  • Number2

  • +
  • Number3
  • +
+ + diff --git a/Others/jQuery_day02/js/jquery-1.7.1.min.js b/Others/jQuery_day02/js/jquery-1.7.1.min.js new file mode 100644 index 0000000..dea9408 --- /dev/null +++ b/Others/jQuery_day02/js/jquery-1.7.1.min.js @@ -0,0 +1,3730 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a, b) { + function cy(a) { + return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1 + } + + function cv(a) { + if (!ck[a]) { + var b = c.body, + d = f("<" + a + ">").appendTo(b), + e = d.css("display"); + d.remove(); + if (e === "none" || e === "") { + cl || (cl = c.createElement("iframe"), cl.frameBorder = cl.width = cl.height = 0), b.appendChild(cl); + if (!cm || !cl.createElement) cm = (cl.contentWindow || cl.contentDocument).document, cm.write((c.compatMode === "CSS1Compat" ? "" : "") + ""), cm.close(); + d = cm.createElement(a), cm.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cl) + } + ck[a] = e + } + return ck[a] + } + + function cu(a, b) { + var c = {}; + f.each(cq.concat.apply([], cq.slice(0, b)), function() { + c[this] = a + }); + return c + } + + function ct() { + cr = b + } + + function cs() { + setTimeout(ct, 0); + return cr = f.now() + } + + function cj() { + try { + return new a.ActiveXObject("Microsoft.XMLHTTP") + } catch (b) {} + } + + function ci() { + try { + return new a.XMLHttpRequest + } catch (b) {} + } + + function cc(a, c) { + a.dataFilter && (c = a.dataFilter(c, a.dataType)); + var d = a.dataTypes, + e = {}, + g, h, i = d.length, + j, k = d[0], + l, m, n, o, p; + for (g = 1; g < i; g++) { + if (g === 1) + for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]); + l = k, k = d[g]; + if (k === "*") k = l; + else if (l !== "*" && l !== k) { + m = l + " " + k, n = e[m] || e["* " + k]; + if (!n) { + p = b; + for (o in e) { + j = o.split(" "); + if (j[0] === l || j[0] === "*") { + p = e[j[1] + " " + k]; + if (p) { + o = e[o], o === !0 ? n = p : p === !0 && (n = o); + break + } + } + } + }!n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c))) + } + } + return c + } + + function cb(a, c, d) { + var e = a.contents, + f = a.dataTypes, + g = a.responseFields, + h, i, j, k; + for (i in g) i in d && (c[g[i]] = d[i]); + while (f[0] === "*") f.shift(), h === b && (h = a.mimeType || c.getResponseHeader("content-type")); + if (h) + for (i in e) + if (e[i] && e[i].test(h)) { + f.unshift(i); + break + } + if (f[0] in d) j = f[0]; + else { + for (i in d) { + if (!f[0] || a.converters[i + " " + f[0]]) { + j = i; + break + } + k || (k = i) + } + j = j || k + } + if (j) { + j !== f[0] && f.unshift(j); + return d[j] + } + } + + function ca(a, b, c, d) { + if (f.isArray(b)) f.each(b, function(b, e) { + c || bE.test(a) ? d(a, e) : ca(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d) + }); + else if (!c && b != null && typeof b == "object") + for (var e in b) ca(a + "[" + e + "]", b[e], c, d); + else d(a, b) + } + + function b_(a, c) { + var d, e, g = f.ajaxSettings.flatOptions || {}; + for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]); + e && f.extend(!0, a, e) + } + + function b$(a, c, d, e, f, g) { + f = f || c.dataTypes[0], g = g || {}, g[f] = !0; + var h = a[f], + i = 0, + j = h ? h.length : 0, + k = a === bT, + l; + for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = b$(a, c, d, e, l, g))); + (k || !l) && !g["*"] && (l = b$(a, c, d, e, "*", g)); + return l + } + + function bZ(a) { + return function(b, c) { + typeof b != "string" && (c = b, b = "*"); + if (f.isFunction(c)) { + var d = b.toLowerCase().split(bP), + e = 0, + g = d.length, + h, i, j; + for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c) + } + } + } + + function bC(a, b, c) { + var d = b === "width" ? a.offsetWidth : a.offsetHeight, + e = b === "width" ? bx : by, + g = 0, + h = e.length; + if (d > 0) { + if (c !== "border") + for (; g < h; g++) c || (d -= parseFloat(f.css(a, "padding" + e[g])) || 0), c === "margin" ? d += parseFloat(f.css(a, c + e[g])) || 0 : d -= parseFloat(f.css(a, "border" + e[g] + "Width")) || 0; + return d + "px" + } + d = bz(a, b, b); + if (d < 0 || d == null) d = a.style[b] || 0; + d = parseFloat(d) || 0; + if (c) + for (; g < h; g++) d += parseFloat(f.css(a, "padding" + e[g])) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + e[g] + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + e[g])) || 0); + return d + "px" + } + + function bp(a, b) { + b.src ? f.ajax({ + url: b.src, + async: !1, + dataType: "script" + }) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bf, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b) + } + + function bo(a) { + var b = c.createElement("div"); + bh.appendChild(b), b.innerHTML = a.outerHTML; + return b.firstChild + } + + function bn(a) { + var b = (a.nodeName || "").toLowerCase(); + b === "input" ? bm(a) : b !== "script" && typeof a.getElementsByTagName != "undefined" && f.grep(a.getElementsByTagName("input"), bm) + } + + function bm(a) { + if (a.type === "checkbox" || a.type === "radio") a.defaultChecked = a.checked + } + + function bl(a) { + return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : [] + } + + function bk(a, b) { + var c; + if (b.nodeType === 1) { + b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(); + if (c === "object") b.outerHTML = a.outerHTML; + else if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") { + if (c === "option") b.selected = a.defaultSelected; + else if (c === "input" || c === "textarea") b.defaultValue = a.defaultValue + } else a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value); + b.removeAttribute(f.expando) + } + } + + function bj(a, b) { + if (b.nodeType === 1 && !!f.hasData(a)) { + var c, d, e, g = f._data(a), + h = f._data(b, g), + i = g.events; + if (i) { + delete h.handle, h.events = {}; + for (c in i) + for (d = 0, e = i[c].length; d < e; d++) f.event.add(b, c + (i[c][d].namespace ? "." : "") + i[c][d].namespace, i[c][d], i[c][d].data) + } + h.data && (h.data = f.extend({}, h.data)) + } + } + + function bi(a, b) { + return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a + } + + function U(a) { + var b = V.split("|"), + c = a.createDocumentFragment(); + if (c.createElement) + while (b.length) c.createElement(b.pop()); + return c + } + + function T(a, b, c) { + b = b || 0; + if (f.isFunction(b)) return f.grep(a, function(a, d) { + var e = !!b.call(a, d, a); + return e === c + }); + if (b.nodeType) return f.grep(a, function(a, d) { + return a === b === c + }); + if (typeof b == "string") { + var d = f.grep(a, function(a) { + return a.nodeType === 1 + }); + if (O.test(b)) return f.filter(b, d, !c); + b = f.filter(b, d) + } + return f.grep(a, function(a, d) { + return f.inArray(a, b) >= 0 === c + }) + } + + function S(a) { + return !a || !a.parentNode || a.parentNode.nodeType === 11 + } + + function K() { + return !0 + } + + function J() { + return !1 + } + + function n(a, b, c) { + var d = b + "defer", + e = b + "queue", + g = b + "mark", + h = f._data(a, d); + h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function() { + !f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire()) + }, 0) + } + + function m(a) { + for (var b in a) { + if (b === "data" && f.isEmptyObject(a[b])) continue; + if (b !== "toJSON") return !1 + } + return !0 + } + + function l(a, c, d) { + if (d === b && a.nodeType === 1) { + var e = "data-" + c.replace(k, "-$1").toLowerCase(); + d = a.getAttribute(e); + if (typeof d == "string") { + try { + d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNumeric(d) ? parseFloat(d) : j.test(d) ? f.parseJSON(d) : d + } catch (g) {} + f.data(a, c, d) + } else d = b + } + return d + } + + function h(a) { + var b = g[a] = {}, + c, d; + a = a.split(/\s+/); + for (c = 0, d = a.length; c < d; c++) b[a[c]] = !0; + return b + } + var c = a.document, + d = a.navigator, + e = a.location, + f = function() { + function J() { + if (!e.isReady) { + try { + c.documentElement.doScroll("left") + } catch (a) { + setTimeout(J, 1); + return + } + e.ready() + } + } + var e = function(a, b) { + return new e.fn.init(a, b, h) + }, + f = a.jQuery, + g = a.$, + h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + j = /\S/, + k = /^\s+/, + l = /\s+$/, + m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + n = /^[\],:{}\s]*$/, + o = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + q = /(?:^|:|,)(?:\s*\[)+/g, + r = /(webkit)[ \/]([\w.]+)/, + s = /(opera)(?:.*version)?[ \/]([\w.]+)/, + t = /(msie) ([\w.]+)/, + u = /(mozilla)(?:.*? rv:([\w.]+))?/, + v = /-([a-z]|[0-9])/ig, + w = /^-ms-/, + x = function(a, b) { + return (b + "").toUpperCase() + }, + y = d.userAgent, + z, A, B, C = Object.prototype.toString, + D = Object.prototype.hasOwnProperty, + E = Array.prototype.push, + F = Array.prototype.slice, + G = String.prototype.trim, + H = Array.prototype.indexOf, + I = {}; + e.fn = e.prototype = { + constructor: e, + init: function(a, d, f) { + var g, h, j, k; + if (!a) return this; + if (a.nodeType) { + this.context = this[0] = a, this.length = 1; + return this + } + if (a === "body" && !d && c.body) { + this.context = c, this[0] = c.body, this.selector = a, this.length = 1; + return this + } + if (typeof a == "string") { + a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null]; + if (g && (g[1] || !d)) { + if (g[1]) { + d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = m.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes); + return e.merge(this, a) + } + h = c.getElementById(g[2]); + if (h && h.parentNode) { + if (h.id !== g[2]) return f.find(a); + this.length = 1, this[0] = h + } + this.context = c, this.selector = a; + return this + } + return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a) + } + if (e.isFunction(a)) return f.ready(a); + a.selector !== b && (this.selector = a.selector, this.context = a.context); + return e.makeArray(a, this) + }, + selector: "", + jquery: "1.7.1", + length: 0, + size: function() { + return this.length + }, + toArray: function() { + return F.call(this, 0) + }, + get: function(a) { + return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] + }, + pushStack: function(a, b, c) { + var d = this.constructor(); + e.isArray(a) ? E.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"); + return d + }, + each: function(a, b) { + return e.each(this, a, b) + }, + ready: function(a) { + e.bindReady(), A.add(a); + return this + }, + eq: function(a) { + a = +a; + return a === -1 ? this.slice(a) : this.slice(a, a + 1) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + slice: function() { + return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) + }, + map: function(a) { + return this.pushStack(e.map(this, function(b, c) { + return a.call(b, c, b) + })) + }, + end: function() { + return this.prevObject || this.constructor(null) + }, + push: E, + sort: [].sort, + splice: [].splice + }, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function() { + var a, c, d, f, g, h, i = arguments[0] || {}, + j = 1, + k = arguments.length, + l = !1; + typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j); + for (; j < k; j++) + if ((a = arguments[j]) != null) + for (c in a) { + d = i[c], f = a[c]; + if (i === f) continue; + l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f) + } + return i + }, e.extend({ + noConflict: function(b) { + a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f); + return e + }, + isReady: !1, + readyWait: 1, + holdReady: function(a) { + a ? e.readyWait++ : e.ready(!0) + }, + ready: function(a) { + if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) { + if (!c.body) return setTimeout(e.ready, 1); + e.isReady = !0; + if (a !== !0 && --e.readyWait > 0) return; + A.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready") + } + }, + bindReady: function() { + if (!A) { + A = e.Callbacks("once memory"); + if (c.readyState === "complete") return setTimeout(e.ready, 1); + if (c.addEventListener) c.addEventListener("DOMContentLoaded", B, !1), a.addEventListener("load", e.ready, !1); + else if (c.attachEvent) { + c.attachEvent("onreadystatechange", B), a.attachEvent("onload", e.ready); + var b = !1; + try { + b = a.frameElement == null + } catch (d) {} + c.documentElement.doScroll && b && J() + } + } + }, + isFunction: function(a) { + return e.type(a) === "function" + }, + isArray: Array.isArray || function(a) { + return e.type(a) === "array" + }, + isWindow: function(a) { + return a && typeof a == "object" && "setInterval" in a + }, + isNumeric: function(a) { + return !isNaN(parseFloat(a)) && isFinite(a) + }, + type: function(a) { + return a == null ? String(a) : I[C.call(a)] || "object" + }, + isPlainObject: function(a) { + if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1; + try { + if (a.constructor && !D.call(a, "constructor") && !D.call(a.constructor.prototype, "isPrototypeOf")) return !1 + } catch (c) { + return !1 + } + var d; + for (d in a); + return d === b || D.call(a, d) + }, + isEmptyObject: function(a) { + for (var b in a) return !1; + return !0 + }, + error: function(a) { + throw new Error(a) + }, + parseJSON: function(b) { + if (typeof b != "string" || !b) return null; + b = e.trim(b); + if (a.JSON && a.JSON.parse) return a.JSON.parse(b); + if (n.test(b.replace(o, "@").replace(p, "]").replace(q, ""))) return (new Function("return " + b))(); + e.error("Invalid JSON: " + b) + }, + parseXML: function(c) { + var d, f; + try { + a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) + } catch (g) { + d = b + }(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c); + return d + }, + noop: function() {}, + globalEval: function(b) { + b && j.test(b) && (a.execScript || function(b) { + a.eval.call(a, b) + })(b) + }, + camelCase: function(a) { + return a.replace(w, "ms-").replace(v, x) + }, + nodeName: function(a, b) { + return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() + }, + each: function(a, c, d) { + var f, g = 0, + h = a.length, + i = h === b || e.isFunction(a); + if (d) { + if (i) { + for (f in a) + if (c.apply(a[f], d) === !1) break + } else + for (; g < h;) + if (c.apply(a[g++], d) === !1) break + } else if (i) { + for (f in a) + if (c.call(a[f], f, a[f]) === !1) break + } else + for (; g < h;) + if (c.call(a[g], g, a[g++]) === !1) break; return a + }, + trim: G ? function(a) { + return a == null ? "" : G.call(a) + } : function(a) { + return a == null ? "" : (a + "").replace(k, "").replace(l, "") + }, + makeArray: function(a, b) { + var c = b || []; + if (a != null) { + var d = e.type(a); + a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? E.call(c, a) : e.merge(c, a) + } + return c + }, + inArray: function(a, b, c) { + var d; + if (b) { + if (H) return H.call(b, a, c); + d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0; + for (; c < d; c++) + if (c in b && b[c] === a) return c + } + return -1 + }, + merge: function(a, c) { + var d = a.length, + e = 0; + if (typeof c.length == "number") + for (var f = c.length; e < f; e++) a[d++] = c[e]; + else + while (c[e] !== b) a[d++] = c[e++]; + a.length = d; + return a + }, + grep: function(a, b, c) { + var d = [], + e; + c = !!c; + for (var f = 0, g = a.length; f < g; f++) e = !!b(a[f], f), c !== e && d.push(a[f]); + return d + }, + map: function(a, c, d) { + var f, g, h = [], + i = 0, + j = a.length, + k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a)); + if (k) + for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f); + else + for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f); + return h.concat.apply([], h) + }, + guid: 1, + proxy: function(a, c) { + if (typeof c == "string") { + var d = a[c]; + c = a, a = d + } + if (!e.isFunction(a)) return b; + var f = F.call(arguments, 2), + g = function() { + return a.apply(c, f.concat(F.call(arguments))) + }; + g.guid = a.guid = a.guid || g.guid || e.guid++; + return g + }, + access: function(a, c, d, f, g, h) { + var i = a.length; + if (typeof c == "object") { + for (var j in c) e.access(a, j, c[j], f, g, d); + return a + } + if (d !== b) { + f = !h && f && e.isFunction(d); + for (var k = 0; k < i; k++) g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h); + return a + } + return i ? g(a[0], c) : b + }, + now: function() { + return (new Date).getTime() + }, + uaMatch: function(a) { + a = a.toLowerCase(); + var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexOf("compatible") < 0 && u.exec(a) || []; + return { + browser: b[1] || "", + version: b[2] || "0" + } + }, + sub: function() { + function a(b, c) { + return new a.fn.init(b, c) + } + e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function(d, f) { + f && f instanceof e && !(f instanceof a) && (f = a(f)); + return e.fn.init.call(this, d, f, b) + }, a.fn.init.prototype = a.fn; + var b = a(c); + return a + }, + browser: {} + }), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) { + I["[object " + b + "]"] = b.toLowerCase() + }), z = e.uaMatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? B = function() { + c.removeEventListener("DOMContentLoaded", B, !1), e.ready() + } : c.attachEvent && (B = function() { + c.readyState === "complete" && (c.detachEvent("onreadystatechange", B), e.ready()) + }); + return e + }(), + g = {}; + f.Callbacks = function(a) { + a = a ? g[a] || h(a) : {}; + var c = [], + d = [], + e, i, j, k, l, m = function(b) { + var d, e, g, h, i; + for (d = 0, e = b.length; d < e; d++) g = b[d], h = f.type(g), h === "array" ? m(g) : h === "function" && (!a.unique || !o.has(g)) && c.push(g) + }, + n = function(b, f) { + f = f || [], e = !a.memory || [b, f], i = !0, l = j || 0, j = 0, k = c.length; + for (; c && l < k; l++) + if (c[l].apply(b, f) === !1 && a.stopOnFalse) { + e = !0; + break + } + i = !1, c && (a.once ? e === !0 ? o.disable() : c = [] : d && d.length && (e = d.shift(), o.fireWith(e[0], e[1]))) + }, + o = { + add: function() { + if (c) { + var a = c.length; + m(arguments), i ? k = c.length : e && e !== !0 && (j = a, n(e[0], e[1])) + } + return this + }, + remove: function() { + if (c) { + var b = arguments, + d = 0, + e = b.length; + for (; d < e; d++) + for (var f = 0; f < c.length; f++) + if (b[d] === c[f]) { + i && f <= k && (k--, f <= l && l--), c.splice(f--, 1); + if (a.unique) break + } + } + return this + }, + has: function(a) { + if (c) { + var b = 0, + d = c.length; + for (; b < d; b++) + if (a === c[b]) return !0 + } + return !1 + }, + empty: function() { + c = []; + return this + }, + disable: function() { + c = d = e = b; + return this + }, + disabled: function() { + return !c + }, + lock: function() { + d = b, (!e || e === !0) && o.disable(); + return this + }, + locked: function() { + return !d + }, + fireWith: function(b, c) { + d && (i ? a.once || d.push([b, c]) : (!a.once || !e) && n(b, c)); + return this + }, + fire: function() { + o.fireWith(this, arguments); + return this + }, + fired: function() { + return !!e + } + }; + return o + }; + var i = [].slice; + f.extend({ + Deferred: function(a) { + var b = f.Callbacks("once memory"), + c = f.Callbacks("once memory"), + d = f.Callbacks("memory"), + e = "pending", + g = { + resolve: b, + reject: c, + notify: d + }, + h = { + done: b.add, + fail: c.add, + progress: d.add, + state: function() { + return e + }, + isResolved: b.fired, + isRejected: c.fired, + then: function(a, b, c) { + i.done(a).fail(b).progress(c); + return this + }, + always: function() { + i.done.apply(i, arguments).fail.apply(i, arguments); + return this + }, + pipe: function(a, b, c) { + return f.Deferred(function(d) { + f.each({ + done: [a, "resolve"], + fail: [b, "reject"], + progress: [c, "notify"] + }, function(a, b) { + var c = b[0], + e = b[1], + g; + f.isFunction(c) ? i[a](function() { + g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g]) + }) : i[a](d[e]) + }) + }).promise() + }, + promise: function(a) { + if (a == null) a = h; + else + for (var b in h) a[b] = h[b]; + return a + } + }, + i = h.promise({}), + j; + for (j in g) i[j] = g[j].fire, i[j + "With"] = g[j].fireWith; + i.done(function() { + e = "resolved" + }, c.disable, d.lock).fail(function() { + e = "rejected" + }, b.disable, d.lock), a && a.call(i, i); + return i + }, + when: function(a) { + function m(a) { + return function(b) { + e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e) + } + } + + function l(a) { + return function(c) { + b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolveWith(j, b) + } + } + var b = i.call(arguments, 0), + c = 0, + d = b.length, + e = Array(d), + g = d, + h = d, + j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(), + k = j.promise(); + if (d > 1) { + for (; c < d; c++) b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g; + g || j.resolveWith(j, b) + } else j !== a && j.resolveWith(j, d ? [a] : []); + return k + } + }), f.support = function() { + var b, d, e, g, h, i, j, k, l, m, n, o, p, q = c.createElement("div"), + r = c.documentElement; + q.setAttribute("className", "t"), q.innerHTML = "
a", d = q.getElementsByTagName("*"), e = q.getElementsByTagName("a")[0]; + if (!d || !d.length || !e) return {}; + g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = q.getElementsByTagName("input")[0], b = { + leadingWhitespace: q.firstChild.nodeType === 3, + tbody: !q.getElementsByTagName("tbody").length, + htmlSerialize: !!q.getElementsByTagName("link").length, + style: /top/.test(e.getAttribute("style")), + hrefNormalized: e.getAttribute("href") === "/a", + opacity: /^0.55/.test(e.style.opacity), + cssFloat: !!e.style.cssFloat, + checkOn: i.value === "on", + optSelected: h.selected, + getSetAttribute: q.className !== "t", + enctype: !!c.createElement("form").enctype, + html5Clone: c.createElement("nav").cloneNode(!0).outerHTML !== "<:nav>", + submitBubbles: !0, + changeBubbles: !0, + focusinBubbles: !1, + deleteExpando: !0, + noCloneEvent: !0, + inlineBlockNeedsLayout: !1, + shrinkWrapBlocks: !1, + reliableMarginRight: !0 + }, i.checked = !0, b.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, b.optDisabled = !h.disabled; + try { + delete q.test + } catch (s) { + b.deleteExpando = !1 + }!q.addEventListener && q.attachEvent && q.fireEvent && (q.attachEvent("onclick", function() { + b.noCloneEvent = !1 + }), q.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), b.radioValue = i.value === "t", i.setAttribute("checked", "checked"), q.appendChild(i), k = c.createDocumentFragment(), k.appendChild(q.lastChild), b.checkClone = k.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = i.checked, k.removeChild(i), k.appendChild(q), q.innerHTML = "", a.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", q.style.width = "2px", q.appendChild(j), b.reliableMarginRight = (parseInt((a.getComputedStyle(j, null) || { + marginRight: 0 + }).marginRight, 10) || 0) === 0); + if (q.attachEvent) + for (o in { + submit: 1, + change: 1, + focusin: 1 + }) n = "on" + o, p = n in q, p || (q.setAttribute(n, "return;"), p = typeof q[n] == "function"), b[o + "Bubbles"] = p; + k.removeChild(q), k = g = h = j = q = i = null, f(function() { + var a, d, e, g, h, i, j, k, m, n, o, r = c.getElementsByTagName("body")[0]; + !r || (j = 1, k = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", m = "visibility:hidden;border:0;", n = "style='" + k + "border:5px solid #000;padding:0;'", o = "
" + "" + "
", a = c.createElement("div"), a.style.cssText = m + "width:0;height:0;position:static;top:0;margin-top:" + j + "px", r.insertBefore(a, r.firstChild), q = c.createElement("div"), a.appendChild(q), q.innerHTML = "
t
", l = q.getElementsByTagName("td"), p = l[0].offsetHeight === 0, l[0].style.display = "", l[1].style.display = "none", b.reliableHiddenOffsets = p && l[0].offsetHeight === 0, q.innerHTML = "", q.style.width = q.style.paddingLeft = "1px", f.boxModel = b.boxModel = q.offsetWidth === 2, typeof q.style.zoom != "undefined" && (q.style.display = "inline", q.style.zoom = 1, b.inlineBlockNeedsLayout = q.offsetWidth === 2, q.style.display = "", q.innerHTML = "
", b.shrinkWrapBlocks = q.offsetWidth !== 2), q.style.cssText = k + m, q.innerHTML = o, d = q.firstChild, e = d.firstChild, h = d.nextSibling.firstChild.firstChild, i = { + doesNotAddBorder: e.offsetTop !== 5, + doesAddBorderForTableAndCells: h.offsetTop === 5 + }, e.style.position = "fixed", e.style.top = "20px", i.fixedPosition = e.offsetTop === 20 || e.offsetTop === 15, e.style.position = e.style.top = "", d.style.overflow = "hidden", d.style.position = "relative", i.subtractsBorderForOverflowNotVisible = e.offsetTop === -5, i.doesNotIncludeMarginInBodyOffset = r.offsetTop !== j, r.removeChild(a), q = a = null, f.extend(b, i)) + }); + return b + }(); + var j = /^(?:\{.*\}|\[.*\])$/, + k = /([A-Z])/g; + f.extend({ + cache: {}, + uuid: 0, + expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""), + noData: { + embed: !0, + object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + applet: !0 + }, + hasData: function(a) { + a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando]; + return !!a && !m(a) + }, + data: function(a, c, d, e) { + if (!!f.acceptData(a)) { + var g, h, i, j = f.expando, + k = typeof c == "string", + l = a.nodeType, + m = l ? f.cache : a, + n = l ? a[j] : a[j] && j, + o = c === "events"; + if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return; + n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop)); + if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c); + g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d); + if (o && !h[c]) return g.events; + k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h; + return i + } + }, + removeData: function(a, b, c) { + if (!!f.acceptData(a)) { + var d, e, g, h = f.expando, + i = a.nodeType, + j = i ? f.cache : a, + k = i ? a[h] : h; + if (!j[k]) return; + if (b) { + d = c ? j[k] : j[k].data; + if (d) { + f.isArray(b) || (b in d ? b = [b] : (b = f.camelCase(b), b in d ? b = [b] : b = b.split(" "))); + for (e = 0, g = b.length; e < g; e++) delete d[b[e]]; + if (!(c ? m : f.isEmptyObject)(d)) return + } + } + if (!c) { + delete j[k].data; + if (!m(j[k])) return + } + f.support.deleteExpando || !j.setInterval ? delete j[k] : j[k] = null, i && (f.support.deleteExpando ? delete a[h] : a.removeAttribute ? a.removeAttribute(h) : a[h] = null) + } + }, + _data: function(a, b, c) { + return f.data(a, b, c, !0) + }, + acceptData: function(a) { + if (a.nodeName) { + var b = f.noData[a.nodeName.toLowerCase()]; + if (b) return b !== !0 && a.getAttribute("classid") === b + } + return !0 + } + }), f.fn.extend({ + data: function(a, c) { + var d, e, g, h = null; + if (typeof a == "undefined") { + if (this.length) { + h = f.data(this[0]); + if (this[0].nodeType === 1 && !f._data(this[0], "parsedAttrs")) { + e = this[0].attributes; + for (var i = 0, j = e.length; i < j; i++) g = e[i].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), l(this[0], g, h[g])); + f._data(this[0], "parsedAttrs", !0) + } + } + return h + } + if (typeof a == "object") return this.each(function() { + f.data(this, a) + }); + d = a.split("."), d[1] = d[1] ? "." + d[1] : ""; + if (c === b) { + h = this.triggerHandler("getData" + d[1] + "!", [d[0]]), h === b && this.length && (h = f.data(this[0], a), h = l(this[0], a, h)); + return h === b && d[1] ? this.data(d[0]) : h + } + return this.each(function() { + var b = f(this), + e = [d[0], c]; + b.triggerHandler("setData" + d[1] + "!", e), f.data(this, a, c), b.triggerHandler("changeData" + d[1] + "!", e) + }) + }, + removeData: function(a) { + return this.each(function() { + f.removeData(this, a) + }) + } + }), f.extend({ + _mark: function(a, b) { + a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1)) + }, + _unmark: function(a, b, c) { + a !== !0 && (c = b, b = a, a = !1); + if (b) { + c = c || "fx"; + var d = c + "mark", + e = a ? 0 : (f._data(b, d) || 1) - 1; + e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark")) + } + }, + queue: function(a, b, c) { + var d; + if (a) { + b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c)); + return d || [] + } + }, + dequeue: function(a, b) { + b = b || "fx"; + var c = f.queue(a, b), + d = c.shift(), + e = {}; + d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function() { + f.dequeue(a, b) + }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue")) + } + }), f.fn.extend({ + queue: function(a, c) { + typeof a != "string" && (c = a, a = "fx"); + if (c === b) return f.queue(this[0], a); + return this.each(function() { + var b = f.queue(this, a, c); + a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a) + }) + }, + dequeue: function(a) { + return this.each(function() { + f.dequeue(this, a) + }) + }, + delay: function(a, b) { + a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx"; + return this.queue(b, function(b, c) { + var d = setTimeout(b, a); + c.stop = function() { + clearTimeout(d) + } + }) + }, + clearQueue: function(a) { + return this.queue(a || "fx", []) + }, + promise: function(a, c) { + function m() { + --h || d.resolveWith(e, [e]) + } + typeof a != "string" && (c = a, a = b), a = a || "fx"; + var d = f.Deferred(), + e = this, + g = e.length, + h = 1, + i = a + "defer", + j = a + "queue", + k = a + "mark", + l; + while (g--) + if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0)) h++, l.add(m); + m(); + return d.promise() + } + }); + var o = /[\n\t\r]/g, + p = /\s+/, + q = /\r/g, + r = /^(?:button|input)$/i, + s = /^(?:button|input|object|select|textarea)$/i, + t = /^a(?:rea)?$/i, + u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + v = f.support.getSetAttribute, + w, x, y; + f.fn.extend({ + attr: function(a, b) { + return f.access(this, a, b, !0, f.attr) + }, + removeAttr: function(a) { + return this.each(function() { + f.removeAttr(this, a) + }) + }, + prop: function(a, b) { + return f.access(this, a, b, !0, f.prop) + }, + removeProp: function(a) { + a = f.propFix[a] || a; + return this.each(function() { + try { + this[a] = b, delete this[a] + } catch (c) {} + }) + }, + addClass: function(a) { + var b, c, d, e, g, h, i; + if (f.isFunction(a)) return this.each(function(b) { + f(this).addClass(a.call(this, b, this.className)) + }); + if (a && typeof a == "string") { + b = a.split(p); + for (c = 0, d = this.length; c < d; c++) { + e = this[c]; + if (e.nodeType === 1) + if (!e.className && b.length === 1) e.className = a; + else { + g = " " + e.className + " "; + for (h = 0, i = b.length; h < i; h++) ~g.indexOf(" " + b[h] + " ") || (g += b[h] + " "); + e.className = f.trim(g) + } + } + } + return this + }, + removeClass: function(a) { + var c, d, e, g, h, i, j; + if (f.isFunction(a)) return this.each(function(b) { + f(this).removeClass(a.call(this, b, this.className)) + }); + if (a && typeof a == "string" || a === b) { + c = (a || "").split(p); + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + if (g.nodeType === 1 && g.className) + if (a) { + h = (" " + g.className + " ").replace(o, " "); + for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " "); + g.className = f.trim(h) + } else g.className = "" + } + } + return this + }, + toggleClass: function(a, b) { + var c = typeof a, + d = typeof b == "boolean"; + if (f.isFunction(a)) return this.each(function(c) { + f(this).toggleClass(a.call(this, c, this.className, b), b) + }); + return this.each(function() { + if (c === "string") { + var e, g = 0, + h = f(this), + i = b, + j = a.split(p); + while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e) + } else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "" + }) + }, + hasClass: function(a) { + var b = " " + a + " ", + c = 0, + d = this.length; + for (; c < d; c++) + if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1) return !0; + return !1 + }, + val: function(a) { + var c, d, e, g = this[0]; { + if (!!arguments.length) { + e = f.isFunction(a); + return this.each(function(d) { + var g = f(this), + h; + if (this.nodeType === 1) { + e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function(a) { + return a == null ? "" : a + "" + })), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type]; + if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h + } + }) + } + if (g) { + c = f.valHooks[g.nodeName.toLowerCase()] || f.valHooks[g.type]; + if (c && "get" in c && (d = c.get(g, "value")) !== b) return d; + d = g.value; + return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d + } + } + } + }), f.extend({ + valHooks: { + option: { + get: function(a) { + var b = a.attributes.value; + return !b || b.specified ? a.value : a.text + } + }, + select: { + get: function(a) { + var b, c, d, e, g = a.selectedIndex, + h = [], + i = a.options, + j = a.type === "select-one"; + if (g < 0) return null; + c = j ? g : 0, d = j ? g + 1 : i.length; + for (; c < d; c++) { + e = i[c]; + if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) { + b = f(e).val(); + if (j) return b; + h.push(b) + } + } + if (j && !h.length && i.length) return f(i[g]).val(); + return h + }, + set: function(a, b) { + var c = f.makeArray(b); + f(a).find("option").each(function() { + this.selected = f.inArray(f(this).val(), c) >= 0 + }), c.length || (a.selectedIndex = -1); + return c + } + } + }, + attrFn: { + val: !0, + css: !0, + html: !0, + text: !0, + data: !0, + width: !0, + height: !0, + offset: !0 + }, + attr: function(a, c, d, e) { + var g, h, i, j = a.nodeType; + if (!!a && j !== 3 && j !== 8 && j !== 2) { + if (e && c in f.attrFn) return f(a)[c](d); + if (typeof a.getAttribute == "undefined") return f.prop(a, c, d); + i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w)); + if (d !== b) { + if (d === null) { + f.removeAttr(a, c); + return + } + if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g; + a.setAttribute(c, "" + d); + return d + } + if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g; + g = a.getAttribute(c); + return g === null ? b : g + } + }, + removeAttr: function(a, b) { + var c, d, e, g, h = 0; + if (b && a.nodeType === 1) { + d = b.toLowerCase().split(p), g = d.length; + for (; h < g; h++) e = d[h], e && (c = f.propFix[e] || e, f.attr(a, e, ""), a.removeAttribute(v ? e : c), u.test(e) && c in a && (a[c] = !1)) + } + }, + attrHooks: { + type: { + set: function(a, b) { + if (r.test(a.nodeName) && a.parentNode) f.error("type property can't be changed"); + else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) { + var c = a.value; + a.setAttribute("type", b), c && (a.value = c); + return b + } + } + }, + value: { + get: function(a, b) { + if (w && f.nodeName(a, "button")) return w.get(a, b); + return b in a ? a.value : null + }, + set: function(a, b, c) { + if (w && f.nodeName(a, "button")) return w.set(a, b, c); + a.value = b + } + } + }, + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + prop: function(a, c, d) { + var e, g, h, i = a.nodeType; + if (!!a && i !== 3 && i !== 8 && i !== 2) { + h = i !== 1 || !f.isXMLDoc(a), h && (c = f.propFix[c] || c, g = f.propHooks[c]); + return d !== b ? g && "set" in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get" in g && (e = g.get(a, c)) !== null ? e : a[c] + } + }, + propHooks: { + tabIndex: { + get: function(a) { + var c = a.getAttributeNode("tabindex"); + return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b + } + } + } + }), f.attrHooks.tabindex = f.propHooks.tabIndex, x = { + get: function(a, c) { + var d, e = f.prop(a, c); + return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b + }, + set: function(a, b, c) { + var d; + b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())); + return c + } + }, v || (y = { + name: !0, + id: !0 + }, w = f.valHooks.button = { + get: function(a, c) { + var d; + d = a.getAttributeNode(c); + return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b + }, + set: function(a, b, d) { + var e = a.getAttributeNode(d); + e || (e = c.createAttribute(d), a.setAttributeNode(e)); + return e.nodeValue = b + "" + } + }, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function(a, b) { + f.attrHooks[b] = f.extend(f.attrHooks[b], { + set: function(a, c) { + if (c === "") { + a.setAttribute(b, "auto"); + return c + } + } + }) + }), f.attrHooks.contenteditable = { + get: w.get, + set: function(a, b, c) { + b === "" && (b = "false"), w.set(a, b, c) + } + }), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function(a, c) { + f.attrHooks[c] = f.extend(f.attrHooks[c], { + get: function(a) { + var d = a.getAttribute(c, 2); + return d === null ? b : d + } + }) + }), f.support.style || (f.attrHooks.style = { + get: function(a) { + return a.style.cssText.toLowerCase() || b + }, + set: function(a, b) { + return a.style.cssText = "" + b + } + }), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, { + get: function(a) { + var b = a.parentNode; + b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex); + return null + } + })), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function() { + f.valHooks[this] = { + get: function(a) { + return a.getAttribute("value") === null ? "on" : a.value + } + } + }), f.each(["radio", "checkbox"], function() { + f.valHooks[this] = f.extend(f.valHooks[this], { + set: function(a, b) { + if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0 + } + }) + }); + var z = /^(?:textarea|input|select)$/i, + A = /^([^\.]*)?(?:\.(.+))?$/, + B = /\bhover(\.\S+)?\b/, + C = /^key/, + D = /^(?:mouse|contextmenu)|click/, + E = /^(?:focusinfocus|focusoutblur)$/, + F = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, + G = function(a) { + var b = F.exec(a); + b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)")); + return b + }, + H = function(a, b) { + var c = a.attributes || {}; + return (!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value)) + }, + I = function(a) { + return f.event.special.hover ? a : a.replace(B, "mouseenter$1 mouseleave$1") + }; + f.event = { + add: function(a, c, d, e, g) { + var h, i, j, k, l, m, n, o, p, q, r, s; + if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) { + d.handler && (p = d, d = p.handler), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function(a) { + return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b + }, i.elem = a), c = f.trim(I(c)).split(" "); + for (k = 0; k < c.length; k++) { + l = A.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({ + type: m, + origType: l[1], + data: e, + handler: d, + guid: d.guid, + selector: g, + quick: G(g), + namespace: n.join(".") + }, p), r = j[m]; + if (!r) { + r = j[m] = [], r.delegateCount = 0; + if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i) + } + s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0 + } + a = null + } + }, + global: {}, + remove: function(a, b, c, d, e) { + var g = f.hasData(a) && f._data(a), + h, i, j, k, l, m, n, o, p, q, r, s; + if (!!g && !!(o = g.events)) { + b = f.trim(I(b || "")).split(" "); + for (h = 0; h < b.length; h++) { + i = A.exec(b[h]) || [], j = k = i[1], l = i[2]; + if (!j) { + for (j in o) f.event.remove(a, j + b[h], c, d, !0); + continue + } + p = f.event.special[j] || {}, j = (d ? p.delegateType : p.bindType) || j, r = o[j] || [], m = r.length, l = l ? new RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + for (n = 0; n < r.length; n++) s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s)); + r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeEvent(a, j, g.handle), delete o[j]) + } + f.isEmptyObject(o) && (q = g.handle, q && (q.elem = null), f.removeData(a, ["events", "handle"], !0)) + } + }, + customEvent: { + getData: !0, + setData: !0, + changeData: !0 + }, + trigger: function(c, d, e, g) { + if (!e || e.nodeType !== 3 && e.nodeType !== 8) { + var h = c.type || c, + i = [], + j, k, l, m, n, o, p, q, r, s; + if (E.test(h + f.event.triggered)) return; + h.indexOf("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort()); + if ((!e || f.event.customEvent[h]) && !f.event.global[h]) return; + c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : ""; + if (!e) { + j = f.cache; + for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0); + return + } + c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {}; + if (p.trigger && p.trigger.apply(e, d) === !1) return; + r = [ + [e, p.bindType || h] + ]; + if (!g && !p.noBubble && !f.isWindow(e)) { + s = p.delegateType || h, m = E.test(s + h) ? e : e.parentNode, n = null; + for (; m; m = m.parentNode) r.push([m, s]), n = m; + n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s]) + } + for (l = 0; l < r.length && !c.isPropagationStopped(); l++) m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d) === !1 && c.preventDefault(); + c.type = h, !g && !c.isDefaultPrevented() && (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n)); + return c.result + } + }, + dispatch: function(c) { + c = f.event.fix(c || a.event); + var d = (f._data(this, "events") || {})[c.type] || [], + e = d.delegateCount, + g = [].slice.call(arguments, 0), + h = !c.exclusive && !c.namespace, + i = [], + j, k, l, m, n, o, p, q, r, s, t; + g[0] = c, c.delegateTarget = this; + if (e && !c.target.disabled && (!c.button || c.type !== "click")) { + m = f(this), m.context = this.ownerDocument || this; + for (l = c.target; l != this; l = l.parentNode || this) { + o = {}, q = [], m[0] = l; + for (j = 0; j < e; j++) r = d[j], s = r.selector, o[s] === b && (o[s] = r.quick ? H(l, r.quick) : m.is(s)), o[s] && q.push(r); + q.length && i.push({ + elem: l, + matches: q + }) + } + } + d.length > e && i.push({ + elem: this, + matches: d.slice(e) + }); + for (j = 0; j < i.length && !c.isPropagationStopped(); j++) { + p = i[j], c.currentTarget = p.elem; + for (k = 0; k < p.matches.length && !c.isImmediatePropagationStopped(); k++) { + r = p.matches[k]; + if (h || !c.namespace && !r.namespace || c.namespace_re && c.namespace_re.test(r.namespace)) c.data = r.data, c.handleObj = r, n = ((f.event.special[r.origType] || {}).handle || r.handler).apply(p.elem, g), n !== b && (c.result = n, n === !1 && (c.preventDefault(), c.stopPropagation())) + } + } + return c.result + }, + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + fixHooks: {}, + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function(a, b) { + a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode); + return a + } + }, + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function(a, d) { + var e, f, g, h = d.button, + i = d.fromElement; + a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0); + return a + } + }, + fix: function(a) { + if (a[f.expando]) return a; + var d, e, g = a, + h = f.event.fixHooks[a.type] || {}, + i = h.props ? this.props.concat(h.props) : this.props; + a = f.Event(g); + for (d = i.length; d;) e = i[--d], a[e] = g[e]; + a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey); + return h.filter ? h.filter(a, g) : a + }, + special: { + ready: { + setup: f.bindReady + }, + load: { + noBubble: !0 + }, + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + beforeunload: { + setup: function(a, b, c) { + f.isWindow(this) && (this.onbeforeunload = c) + }, + teardown: function(a, b) { + this.onbeforeunload === b && (this.onbeforeunload = null) + } + } + }, + simulate: function(a, b, c, d) { + var e = f.extend(new f.Event, c, { + type: a, + isSimulated: !0, + originalEvent: {} + }); + d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() + } + }, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function(a, b, c) { + a.removeEventListener && a.removeEventListener(b, c, !1) + } : function(a, b, c) { + a.detachEvent && a.detachEvent("on" + b, c) + }, f.Event = function(a, b) { + if (!(this instanceof f.Event)) return new f.Event(a, b); + a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? K : J) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0 + }, f.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = K; + var a = this.originalEvent; + !a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1) + }, + stopPropagation: function() { + this.isPropagationStopped = K; + var a = this.originalEvent; + !a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = K, this.stopPropagation() + }, + isDefaultPrevented: J, + isPropagationStopped: J, + isImmediatePropagationStopped: J + }, f.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" + }, function(a, b) { + f.event.special[a] = { + delegateType: b, + bindType: b, + handle: function(a) { + var c = this, + d = a.relatedTarget, + e = a.handleObj, + g = e.selector, + h; + if (!d || d !== c && !f.contains(c, d)) a.type = e.origType, h = e.handler.apply(this, arguments), a.type = b; + return h + } + } + }), f.support.submitBubbles || (f.event.special.submit = { + setup: function() { + if (f.nodeName(this, "form")) return !1; + f.event.add(this, "click._submit keypress._submit", function(a) { + var c = a.target, + d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b; + d && !d._submit_attached && (f.event.add(d, "submit._submit", function(a) { + this.parentNode && !a.isTrigger && f.event.simulate("submit", this.parentNode, a, !0) + }), d._submit_attached = !0) + }) + }, + teardown: function() { + if (f.nodeName(this, "form")) return !1; + f.event.remove(this, "._submit") + } + }), f.support.changeBubbles || (f.event.special.change = { + setup: function() { + if (z.test(this.nodeName)) { + if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function(a) { + a.originalEvent.propertyName === "checked" && (this._just_changed = !0) + }), f.event.add(this, "click._change", function(a) { + this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) + }); + return !1 + } + f.event.add(this, "beforeactivate._change", function(a) { + var b = a.target; + z.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function(a) { + this.parentNode && !a.isSimulated && !a.isTrigger && f.event.simulate("change", this.parentNode, a, !0) + }), b._change_attached = !0) + }) + }, + handle: function(a) { + var b = a.target; + if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments) + }, + teardown: function() { + f.event.remove(this, "._change"); + return z.test(this.nodeName) + } + }), f.support.focusinBubbles || f.each({ + focus: "focusin", + blur: "focusout" + }, function(a, b) { + var d = 0, + e = function(a) { + f.event.simulate(b, a.target, f.event.fix(a), !0) + }; + f.event.special[b] = { + setup: function() { + d++ === 0 && c.addEventListener(a, e, !0) + }, + teardown: function() { + --d === 0 && c.removeEventListener(a, e, !0) + } + } + }), f.fn.extend({ + on: function(a, c, d, e, g) { + var h, i; + if (typeof a == "object") { + typeof c != "string" && (d = c, c = b); + for (i in a) this.on(i, c, d, a[i], g); + return this + } + d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b)); + if (e === !1) e = J; + else if (!e) return this; + g === 1 && (h = e, e = function(a) { + f().off(a); + return h.apply(this, arguments) + }, e.guid = h.guid || (h.guid = f.guid++)); + return this.each(function() { + f.event.add(this, a, e, d, c) + }) + }, + one: function(a, b, c, d) { + return this.on.call(this, a, b, c, d, 1) + }, + off: function(a, c, d) { + if (a && a.preventDefault && a.handleObj) { + var e = a.handleObj; + f(a.delegateTarget).off(e.namespace ? e.type + "." + e.namespace : e.type, e.selector, e.handler); + return this + } + if (typeof a == "object") { + for (var g in a) this.off(g, c, a[g]); + return this + } + if (c === !1 || typeof c == "function") d = c, c = b; + d === !1 && (d = J); + return this.each(function() { + f.event.remove(this, a, d, c) + }) + }, + bind: function(a, b, c) { + return this.on(a, null, b, c) + }, + unbind: function(a, b) { + return this.off(a, null, b) + }, + live: function(a, b, c) { + f(this.context).on(a, this.selector, b, c); + return this + }, + die: function(a, b) { + f(this.context).off(a, this.selector || "**", b); + return this + }, + delegate: function(a, b, c, d) { + return this.on(b, a, c, d) + }, + undelegate: function(a, b, c) { + return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c) + }, + trigger: function(a, b) { + return this.each(function() { + f.event.trigger(a, b, this) + }) + }, + triggerHandler: function(a, b) { + if (this[0]) return f.event.trigger(a, b, this[0], !0) + }, + toggle: function(a) { + var b = arguments, + c = a.guid || f.guid++, + d = 0, + e = function(c) { + var e = (f._data(this, "lastToggle" + a.guid) || 0) % d; + f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(); + return b[e].apply(this, arguments) || !1 + }; + e.guid = c; + while (d < b.length) b[d++].guid = c; + return this.click(e) + }, + hover: function(a, b) { + return this.mouseenter(a).mouseleave(b || a) + } + }), f.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(a, b) { + f.fn[b] = function(a, c) { + c == null && (c = a, a = null); + return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) + }, f.attrFn && (f.attrFn[b] = !0), C.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), D.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks) + }), + function() { + function x(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + if (j.nodeType === 1) { + g || (j[d] = c, j.sizset = h); + if (typeof b != "string") { + if (j === b) { + k = !0; + break + } + } else if (m.filter(b, [j]).length > 0) { + k = j; + break + } + } + j = j[a] + } + e[h] = k + } + } + } + + function w(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + j.nodeType === 1 && !g && (j[d] = c, j.sizset = h); + if (j.nodeName.toLowerCase() === b) { + k = j; + break + } + j = j[a] + } + e[h] = k + } + } + } + var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + d = "sizcache" + (Math.random() + "").replace(".", ""), + e = 0, + g = Object.prototype.toString, + h = !1, + i = !0, + j = /\\/g, + k = /\r\n/g, + l = /\W/; + [0, 0].sort(function() { + i = !1; + return 0 + }); + var m = function(b, d, e, f) { + e = e || [], d = d || c; + var h = d; + if (d.nodeType !== 1 && d.nodeType !== 9) return []; + if (!b || typeof b != "string") return e; + var i, j, k, l, n, q, r, t, u = !0, + v = m.isXML(d), + w = [], + x = b; + do { + a.exec(""), i = a.exec(x); + if (i) { + x = i[3], w.push(i[1]); + if (i[2]) { + l = i[3]; + break + } + } + } while (i); + if (w.length > 1 && p.exec(b)) + if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f); + else { + j = o.relative[w[0]] ? [d] : m(w.shift(), d); + while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f) + } + else { + !f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]); + if (d) { + n = f ? { + expr: w.pop(), + set: s(f) + } : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1; + while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v) + } else k = w = [] + } + k || (k = j), k || m.error(q || b); + if (g.call(k) === "[object Array]") + if (!u) e.push.apply(e, k); + else if (d && d.nodeType === 1) + for (t = 0; k[t] != null; t++) k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]); + else + for (t = 0; k[t] != null; t++) k[t] && k[t].nodeType === 1 && e.push(j[t]); + else s(k, e); + l && (m(l, h, e, f), m.uniqueSort(e)); + return e + }; + m.uniqueSort = function(a) { + if (u) { + h = i, a.sort(u); + if (h) + for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1) + } + return a + }, m.matches = function(a, b) { + return m(a, null, null, b) + }, m.matchesSelector = function(a, b) { + return m(b, null, null, [a]).length > 0 + }, m.find = function(a, b, c) { + var d, e, f, g, h, i; + if (!a) return []; + for (e = 0, f = o.order.length; e < f; e++) { + h = o.order[e]; + if (g = o.leftMatch[h].exec(a)) { + i = g[1], g.splice(1, 1); + if (i.substr(i.length - 1) !== "\\") { + g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c); + if (d != null) { + a = a.replace(o.match[h], ""); + break + } + } + } + } + d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []); + return { + set: d, + expr: a + } + }, m.filter = function(a, c, d, e) { + var f, g, h, i, j, k, l, n, p, q = a, + r = [], + s = c, + t = c && c[0] && m.isXML(c[0]); + while (a && c.length) { + for (h in o.filter) + if ((f = o.leftMatch[h].exec(a)) != null && f[2]) { + k = o.filter[h], l = f[1], g = !1, f.splice(1, 1); + if (l.substr(l.length - 1) === "\\") continue; + s === r && (r = []); + if (o.preFilter[h]) { + f = o.preFilter[h](f, s, d, r, e, t); + if (!f) g = i = !0; + else if (f === !0) continue + } + if (f) + for (n = 0; + (j = s[n]) != null; n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0)); + if (i !== b) { + d || (s = r), a = a.replace(o.match[h], ""); + if (!g) return []; + break + } + } + if (a === q) + if (g == null) m.error(a); + else break; + q = a + } + return s + }, m.error = function(a) { + throw new Error("Syntax error, unrecognized expression: " + a) + }; + var n = m.getText = function(a) { + var b, c, d = a.nodeType, + e = ""; + if (d) { + if (d === 1 || d === 9) { + if (typeof a.textContent == "string") return a.textContent; + if (typeof a.innerText == "string") return a.innerText.replace(k, ""); + for (a = a.firstChild; a; a = a.nextSibling) e += n(a) + } else if (d === 3 || d === 4) return a.nodeValue + } else + for (b = 0; c = a[b]; b++) c.nodeType !== 8 && (e += n(c)); + return e + }, + o = m.selectors = { + order: ["ID", "NAME", "TAG"], + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + leftMatch: {}, + attrMap: { + "class": "className", + "for": "htmlFor" + }, + attrHandle: { + href: function(a) { + return a.getAttribute("href") + }, + type: function(a) { + return a.getAttribute("type") + } + }, + relative: { + "+": function(a, b) { + var c = typeof b == "string", + d = c && !l.test(b), + e = c && !d; + d && (b = b.toLowerCase()); + for (var f = 0, g = a.length, h; f < g; f++) + if (h = a[f]) { + while ((h = h.previousSibling) && h.nodeType !== 1); + a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b + } + e && m.filter(b, a, !0) + }, + ">": function(a, b) { + var c, d = typeof b == "string", + e = 0, + f = a.length; + if (d && !l.test(b)) { + b = b.toLowerCase(); + for (; e < f; e++) { + c = a[e]; + if (c) { + var g = c.parentNode; + a[e] = g.nodeName.toLowerCase() === b ? g : !1 + } + } + } else { + for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b); + d && m.filter(b, a, !0) + } + }, + "": function(a, b, c) { + var d, f = e++, + g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c) + }, + "~": function(a, b, c) { + var d, f = e++, + g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c) + } + }, + find: { + ID: function(a, b, c) { + if (typeof b.getElementById != "undefined" && !c) { + var d = b.getElementById(a[1]); + return d && d.parentNode ? [d] : [] + } + }, + NAME: function(a, b) { + if (typeof b.getElementsByName != "undefined") { + var c = [], + d = b.getElementsByName(a[1]); + for (var e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]); + return c.length === 0 ? null : c + } + }, + TAG: function(a, b) { + if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1]) + } + }, + preFilter: { + CLASS: function(a, b, c, d, e, f) { + a = " " + a[1].replace(j, "") + " "; + if (f) return a; + for (var g = 0, h; + (h = b[g]) != null; g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1)); + return !1 + }, + ID: function(a) { + return a[1].replace(j, "") + }, + TAG: function(a, b) { + return a[1].replace(j, "").toLowerCase() + }, + CHILD: function(a) { + if (a[1] === "nth") { + a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, ""); + var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]); + a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0 + } else a[2] && m.error(a[0]); + a[0] = e++; + return a + }, + ATTR: function(a, b, c, d, e, f) { + var g = a[1] = a[1].replace(j, ""); + !f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " "); + return a + }, + PSEUDO: function(b, c, d, e, f) { + if (b[1] === "not") + if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c); + else { + var g = m.filter(b[3], c, d, !0 ^ f); + d || e.push.apply(e, g); + return !1 + } + else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0])) return !0; + return b + }, + POS: function(a) { + a.unshift(!0); + return a + } + }, + filters: { + enabled: function(a) { + return a.disabled === !1 && a.type !== "hidden" + }, + disabled: function(a) { + return a.disabled === !0 + }, + checked: function(a) { + return a.checked === !0 + }, + selected: function(a) { + a.parentNode && a.parentNode.selectedIndex; + return a.selected === !0 + }, + parent: function(a) { + return !!a.firstChild + }, + empty: function(a) { + return !a.firstChild + }, + has: function(a, b, c) { + return !!m(c[3], a).length + }, + header: function(a) { + return /h\d/i.test(a.nodeName) + }, + text: function(a) { + var b = a.getAttribute("type"), + c = a.type; + return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null) + }, + radio: function(a) { + return a.nodeName.toLowerCase() === "input" && "radio" === a.type + }, + checkbox: function(a) { + return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type + }, + file: function(a) { + return a.nodeName.toLowerCase() === "input" && "file" === a.type + }, + password: function(a) { + return a.nodeName.toLowerCase() === "input" && "password" === a.type + }, + submit: function(a) { + var b = a.nodeName.toLowerCase(); + return (b === "input" || b === "button") && "submit" === a.type + }, + image: function(a) { + return a.nodeName.toLowerCase() === "input" && "image" === a.type + }, + reset: function(a) { + var b = a.nodeName.toLowerCase(); + return (b === "input" || b === "button") && "reset" === a.type + }, + button: function(a) { + var b = a.nodeName.toLowerCase(); + return b === "input" && "button" === a.type || b === "button" + }, + input: function(a) { + return /input|select|textarea|button/i.test(a.nodeName) + }, + focus: function(a) { + return a === a.ownerDocument.activeElement + } + }, + setFilters: { + first: function(a, b) { + return b === 0 + }, + last: function(a, b, c, d) { + return b === d.length - 1 + }, + even: function(a, b) { + return b % 2 === 0 + }, + odd: function(a, b) { + return b % 2 === 1 + }, + lt: function(a, b, c) { + return b < c[3] - 0 + }, + gt: function(a, b, c) { + return b > c[3] - 0 + }, + nth: function(a, b, c) { + return c[3] - 0 === b + }, + eq: function(a, b, c) { + return c[3] - 0 === b + } + }, + filter: { + PSEUDO: function(a, b, c, d) { + var e = b[1], + f = o.filters[e]; + if (f) return f(a, c, b, d); + if (e === "contains") return (a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0; + if (e === "not") { + var g = b[3]; + for (var h = 0, i = g.length; h < i; h++) + if (g[h] === a) return !1; + return !0 + } + m.error(e) + }, + CHILD: function(a, b) { + var c, e, f, g, h, i, j, k = b[1], + l = a; + switch (k) { + case "only": + case "first": + while (l = l.previousSibling) + if (l.nodeType === 1) return !1; + if (k === "first") return !0; + l = a; + case "last": + while (l = l.nextSibling) + if (l.nodeType === 1) return !1; + return !0; + case "nth": + c = b[2], e = b[3]; + if (c === 1 && e === 0) return !0; + f = b[0], g = a.parentNode; + if (g && (g[d] !== f || !a.nodeIndex)) { + i = 0; + for (l = g.firstChild; l; l = l.nextSibling) l.nodeType === 1 && (l.nodeIndex = ++i); + g[d] = f + } + j = a.nodeIndex - e; + return c === 0 ? j === 0 : j % c === 0 && j / c >= 0 + } + }, + ID: function(a, b) { + return a.nodeType === 1 && a.getAttribute("id") === b + }, + TAG: function(a, b) { + return b === "*" && a.nodeType === 1 || !!a.nodeName && a.nodeName.toLowerCase() === b + }, + CLASS: function(a, b) { + return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1 + }, + ATTR: function(a, b) { + var c = b[1], + d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), + e = d + "", + f = b[2], + g = b[4]; + return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1 + }, + POS: function(a, b, c, d) { + var e = b[2], + f = o.setFilters[e]; + if (f) return f(a, c, b, d) + } + } + }, + p = o.match.POS, + q = function(a, b) { + return "\\" + (b - 0 + 1) + }; + for (var r in o.match) o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q)); + var s = function(a, b) { + a = Array.prototype.slice.call(a, 0); + if (b) { + b.push.apply(b, a); + return b + } + return a + }; + try { + Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType + } catch (t) { + s = function(a, b) { + var c = 0, + d = b || []; + if (g.call(a) === "[object Array]") Array.prototype.push.apply(d, a); + else if (typeof a.length == "number") + for (var e = a.length; c < e; c++) d.push(a[c]); + else + for (; a[c]; c++) d.push(a[c]); + return d + } + } + var u, v; + c.documentElement.compareDocumentPosition ? u = function(a, b) { + if (a === b) { + h = !0; + return 0 + } + if (!a.compareDocumentPosition || !b.compareDocumentPosition) return a.compareDocumentPosition ? -1 : 1; + return a.compareDocumentPosition(b) & 4 ? -1 : 1 + } : (u = function(a, b) { + if (a === b) { + h = !0; + return 0 + } + if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex; + var c, d, e = [], + f = [], + g = a.parentNode, + i = b.parentNode, + j = g; + if (g === i) return v(a, b); + if (!g) return -1; + if (!i) return 1; + while (j) e.unshift(j), j = j.parentNode; + j = i; + while (j) f.unshift(j), j = j.parentNode; + c = e.length, d = f.length; + for (var k = 0; k < c && k < d; k++) + if (e[k] !== f[k]) return v(e[k], f[k]); + return k === c ? v(a, f[k], -1) : v(e[k], b, 1) + }, v = function(a, b, c) { + if (a === b) return c; + var d = a.nextSibling; + while (d) { + if (d === b) return -1; + d = d.nextSibling + } + return 1 + }), + function() { + var a = c.createElement("div"), + d = "script" + (new Date).getTime(), + e = c.documentElement; + a.innerHTML = "", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function(a, c, d) { + if (typeof c.getElementById != "undefined" && !d) { + var e = c.getElementById(a[1]); + return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : [] + } + }, o.filter.ID = function(a, b) { + var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id"); + return a.nodeType === 1 && c && c.nodeValue === b + }), e.removeChild(a), e = a = null + }(), + function() { + var a = c.createElement("div"); + a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function(a, b) { + var c = b.getElementsByTagName(a[1]); + if (a[1] === "*") { + var d = []; + for (var e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]); + c = d + } + return c + }), a.innerHTML = "", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function(a) { + return a.getAttribute("href", 2) + }), a = null + }(), c.querySelectorAll && function() { + var a = m, + b = c.createElement("div"), + d = "__sizzle__"; + b.innerHTML = "

"; + if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) { + m = function(b, e, f, g) { + e = e || c; + if (!g && !m.isXML(e)) { + var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b); + if (h && (e.nodeType === 1 || e.nodeType === 9)) { + if (h[1]) return s(e.getElementsByTagName(b), f); + if (h[2] && o.find.CLASS && e.getElementsByClassName) return s(e.getElementsByClassName(h[2]), f) + } + if (e.nodeType === 9) { + if (b === "body" && e.body) return s([e.body], f); + if (h && h[3]) { + var i = e.getElementById(h[3]); + if (!i || !i.parentNode) return s([], f); + if (i.id === h[3]) return s([i], f) + } + try { + return s(e.querySelectorAll(b), f) + } catch (j) {} + } else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") { + var k = e, + l = e.getAttribute("id"), + n = l || d, + p = e.parentNode, + q = /^\s*[+~]/.test(b); + l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode); + try { + if (!q || p) return s(e.querySelectorAll("[id='" + n + "'] " + b), f) + } catch (r) {} finally { + l || k.removeAttribute("id") + } + } + } + return a(b, e, f, g) + }; + for (var e in a) m[e] = a[e]; + b = null + } + }(), + function() { + var a = c.documentElement, + b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector; + if (b) { + var d = !b.call(c.createElement("div"), "div"), + e = !1; + try { + b.call(c.documentElement, "[test!='']:sizzle") + } catch (f) { + e = !0 + } + m.matchesSelector = function(a, c) { + c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + if (!m.isXML(a)) try { + if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) { + var f = b.call(a, c); + if (f || !d || a.document && a.document.nodeType !== 11) return f + } + } catch (g) {} + return m(c, null, null, [a]).length > 0 + } + } + }(), + function() { + var a = c.createElement("div"); + a.innerHTML = "
"; + if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) { + a.lastChild.className = "e"; + if (a.getElementsByClassName("e").length === 1) return; + o.order.splice(1, 0, "CLASS"), o.find.CLASS = function(a, b, c) { + if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1]) + }, a = null + } + }(), c.documentElement.contains ? m.contains = function(a, b) { + return a !== b && (a.contains ? a.contains(b) : !0) + } : c.documentElement.compareDocumentPosition ? m.contains = function(a, b) { + return !!(a.compareDocumentPosition(b) & 16) + } : m.contains = function() { + return !1 + }, m.isXML = function(a) { + var b = (a ? a.ownerDocument || a : 0).documentElement; + return b ? b.nodeName !== "HTML" : !1 + }; + var y = function(a, b, c) { + var d, e = [], + f = "", + g = b.nodeType ? [b] : b; + while (d = o.match.PSEUDO.exec(a)) f += d[0], a = a.replace(o.match.PSEUDO, ""); + a = o.relative[a] ? a + "*" : a; + for (var h = 0, i = g.length; h < i; h++) m(a, g[h], e, c); + return m.filter(f, e) + }; + m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains + }(); + var L = /Until$/, + M = /^(?:parents|prevUntil|prevAll)/, + N = /,/, + O = /^.[^:#\[\.,]*$/, + P = Array.prototype.slice, + Q = f.expr.match.POS, + R = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + f.fn.extend({ + find: function(a) { + var b = this, + c, d; + if (typeof a != "string") return f(a).filter(function() { + for (c = 0, d = b.length; c < d; c++) + if (f.contains(b[c], this)) return !0 + }); + var e = this.pushStack("", "find", a), + g, h, i; + for (c = 0, d = this.length; c < d; c++) { + g = e.length, f.find(a, this[c], e); + if (c > 0) + for (h = g; h < e.length; h++) + for (i = 0; i < g; i++) + if (e[i] === e[h]) { + e.splice(h--, 1); + break + } + } + return e + }, + has: function(a) { + var b = f(a); + return this.filter(function() { + for (var a = 0, c = b.length; a < c; a++) + if (f.contains(this, b[a])) return !0 + }) + }, + not: function(a) { + return this.pushStack(T(this, a, !1), "not", a) + }, + filter: function(a) { + return this.pushStack(T(this, a, !0), "filter", a) + }, + is: function(a) { + return !!a && (typeof a == "string" ? Q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0) + }, + closest: function(a, b) { + var c = [], + d, e, g = this[0]; + if (f.isArray(a)) { + var h = 1; + while (g && g.ownerDocument && g !== b) { + for (d = 0; d < a.length; d++) f(g).is(a[d]) && c.push({ + selector: a[d], + elem: g, + level: h + }); + g = g.parentNode, h++ + } + return c + } + var i = Q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0; + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + while (g) { + if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) { + c.push(g); + break + } + g = g.parentNode; + if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break + } + } + c = c.length > 1 ? f.unique(c) : c; + return this.pushStack(c, "closest", a) + }, + index: function(a) { + if (!a) return this[0] && this[0].parentNode ? this.prevAll().length : -1; + if (typeof a == "string") return f.inArray(this[0], f(a)); + return f.inArray(a.jquery ? a[0] : a, this) + }, + add: function(a, b) { + var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a), + d = f.merge(this.get(), c); + return this.pushStack(S(c[0]) || S(d[0]) ? d : f.unique(d)) + }, + andSelf: function() { + return this.add(this.prevObject) + } + }), f.each({ + parent: function(a) { + var b = a.parentNode; + return b && b.nodeType !== 11 ? b : null + }, + parents: function(a) { + return f.dir(a, "parentNode") + }, + parentsUntil: function(a, b, c) { + return f.dir(a, "parentNode", c) + }, + next: function(a) { + return f.nth(a, 2, "nextSibling") + }, + prev: function(a) { + return f.nth(a, 2, "previousSibling") + }, + nextAll: function(a) { + return f.dir(a, "nextSibling") + }, + prevAll: function(a) { + return f.dir(a, "previousSibling") + }, + nextUntil: function(a, b, c) { + return f.dir(a, "nextSibling", c) + }, + prevUntil: function(a, b, c) { + return f.dir(a, "previousSibling", c) + }, + siblings: function(a) { + return f.sibling(a.parentNode.firstChild, a) + }, + children: function(a) { + return f.sibling(a.firstChild) + }, + contents: function(a) { + return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes) + } + }, function(a, b) { + f.fn[a] = function(c, d) { + var e = f.map(this, b, c); + L.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !R[a] ? f.unique(e) : e, (this.length > 1 || N.test(d)) && M.test(a) && (e = e.reverse()); + return this.pushStack(e, a, P.call(arguments).join(",")) + } + }), f.extend({ + filter: function(a, b, c) { + c && (a = ":not(" + a + ")"); + return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b) + }, + dir: function(a, c, d) { + var e = [], + g = a[c]; + while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c]; + return e + }, + nth: function(a, b, c, d) { + b = b || 1; + var e = 0; + for (; a; a = a[c]) + if (a.nodeType === 1 && ++e === b) break; + return a + }, + sibling: function(a, b) { + var c = []; + for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a); + return c + } + }); + var V = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + W = / jQuery\d+="(?:\d+|null)"/g, + X = /^\s+/, + Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + Z = /<([\w:]+)/, + $ = /", ""], + legend: [1, "
", "
"], + thead: [1, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + col: [2, "", "
"], + area: [1, "", ""], + _default: [0, "", ""] + }, + bh = U(c); + bg.optgroup = bg.option, bg.tbody = bg.tfoot = bg.colgroup = bg.caption = bg.thead, bg.th = bg.td, f.support.htmlSerialize || (bg._default = [1, "div
", "
"]), f.fn.extend({ + text: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this); + c.text(a.call(this, b, c.text())) + }); + if (typeof a != "object" && a !== b) return this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)); + return f.text(this) + }, + wrapAll: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + f(this).wrapAll(a.call(this, b)) + }); + if (this[0]) { + var b = f(a, this[0].ownerDocument).eq(0).clone(!0); + this[0].parentNode && b.insertBefore(this[0]), b.map(function() { + var a = this; + while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild; + return a + }).append(this) + } + return this + }, + wrapInner: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + f(this).wrapInner(a.call(this, b)) + }); + return this.each(function() { + var b = f(this), + c = b.contents(); + c.length ? c.wrapAll(a) : b.append(a) + }) + }, + wrap: function(a) { + var b = f.isFunction(a); + return this.each(function(c) { + f(this).wrapAll(b ? a.call(this, c) : a) + }) + }, + unwrap: function() { + return this.parent().each(function() { + f.nodeName(this, "body") || f(this).replaceWith(this.childNodes) + }).end() + }, + append: function() { + return this.domManip(arguments, !0, function(a) { + this.nodeType === 1 && this.appendChild(a) + }) + }, + prepend: function() { + return this.domManip(arguments, !0, function(a) { + this.nodeType === 1 && this.insertBefore(a, this.firstChild) + }) + }, + before: function() { + if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) { + this.parentNode.insertBefore(a, this) + }); + if (arguments.length) { + var a = f.clean(arguments); + a.push.apply(a, this.toArray()); + return this.pushStack(a, "before", arguments) + } + }, + after: function() { + if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) { + this.parentNode.insertBefore(a, this.nextSibling) + }); + if (arguments.length) { + var a = this.pushStack(this, "after", arguments); + a.push.apply(a, f.clean(arguments)); + return a + } + }, + remove: function(a, b) { + for (var c = 0, d; + (d = this[c]) != null; c++) + if (!a || f.filter(a, [d]).length) !b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d); + return this + }, + empty: function() { + for (var a = 0, b; + (b = this[a]) != null; a++) { + b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*")); + while (b.firstChild) b.removeChild(b.firstChild) + } + return this + }, + clone: function(a, b) { + a = a == null ? !1 : a, b = b == null ? a : b; + return this.map(function() { + return f.clone(this, a, b) + }) + }, + html: function(a) { + if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(W, "") : null; + if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !bg[(Z.exec(a) || ["", ""])[1].toLowerCase()]) { + a = a.replace(Y, "<$1>"); + try { + for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a) + } catch (e) { + this.empty().append(a) + } + } else f.isFunction(a) ? this.each(function(b) { + var c = f(this); + c.html(a.call(this, b, c.html())) + }) : this.empty().append(a); + return this + }, + replaceWith: function(a) { + if (this[0] && this[0].parentNode) { + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this), + d = c.html(); + c.replaceWith(a.call(this, b, d)) + }); + typeof a != "string" && (a = f(a).detach()); + return this.each(function() { + var b = this.nextSibling, + c = this.parentNode; + f(this).remove(), b ? f(b).before(a) : f(c).append(a) + }) + } + return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this + }, + detach: function(a) { + return this.remove(a, !0) + }, + domManip: function(a, c, d) { + var e, g, h, i, j = a[0], + k = []; + if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bd.test(j)) return this.each(function() { + f(this).domManip(a, c, d, !0) + }); + if (f.isFunction(j)) return this.each(function(e) { + var g = f(this); + a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d) + }); + if (this[0]) { + i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = { + fragment: i + } : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild; + if (g) { + c = c && f.nodeName(g, "tr"); + for (var l = 0, m = this.length, n = m - 1; l < m; l++) d.call(c ? bi(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h) + } + k.length && f.each(k, bp) + } + return this + } + }), f.buildFragment = function(a, b, d) { + var e, g, h, i, j = a[0]; + b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !bb.test(j) && (f.support.checkClone || !bd.test(j)) && (f.support.html5Clone || !bc.test(j)) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1); + return { + fragment: e, + cacheable: g + } + }, f.fragments = {}, f.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(a, b) { + f.fn[a] = function(c) { + var d = [], + e = f(c), + g = this.length === 1 && this[0].parentNode; + if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) { + e[b](this[0]); + return this + } + for (var h = 0, i = e.length; h < i; h++) { + var j = (h > 0 ? this.clone(!0) : this).get(); + f(e[h])[b](j), d = d.concat(j) + } + return this.pushStack(d, a, e.selector) + } + }), f.extend({ + clone: function(a, b, c) { + var d, e, g, h = f.support.html5Clone || !bc.test("<" + a.nodeName) ? a.cloneNode(!0) : bo(a); + if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) { + bk(a, h), d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g) e[g] && bk(d[g], e[g]) + } + if (b) { + bj(a, h); + if (c) { + d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g) bj(d[g], e[g]) + } + } + d = e = null; + return h + }, + clean: function(a, b, d, e) { + var g; + b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c); + var h = [], + i; + for (var j = 0, k; + (k = a[j]) != null; j++) { + typeof k == "number" && (k += ""); + if (!k) continue; + if (typeof k == "string") + if (!_.test(k)) k = b.createTextNode(k); + else { + k = k.replace(Y, "<$1>"); + var l = (Z.exec(k) || ["", ""])[1].toLowerCase(), + m = bg[l] || bg._default, + n = m[0], + o = b.createElement("div"); + b === c ? bh.appendChild(o) : U(b).appendChild(o), o.innerHTML = m[1] + k + m[2]; + while (n--) o = o.lastChild; + if (!f.support.tbody) { + var p = $.test(k), + q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "" && !p ? o.childNodes : []; + for (i = q.length - 1; i >= 0; --i) f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i]) + }!f.support.leadingWhitespace && X.test(k) && o.insertBefore(b.createTextNode(X.exec(k)[0]), o.firstChild), k = o.childNodes + } + var r; + if (!f.support.appendChecked) + if (k[0] && typeof(r = k.length) == "number") + for (i = 0; i < r; i++) bn(k[i]); + else bn(k); + k.nodeType ? h.push(k) : h = f.merge(h, k) + } + if (d) { + g = function(a) { + return !a.type || be.test(a.type) + }; + for (j = 0; h[j]; j++) + if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript")) e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]); + else { + if (h[j].nodeType === 1) { + var s = f.grep(h[j].getElementsByTagName("script"), g); + h.splice.apply(h, [j + 1, 0].concat(s)) + } + d.appendChild(h[j]) + } + } + return h + }, + cleanData: function(a) { + var b, c, d = f.cache, + e = f.event.special, + g = f.support.deleteExpando; + for (var h = 0, i; + (i = a[h]) != null; h++) { + if (i.nodeName && f.noData[i.nodeName.toLowerCase()]) continue; + c = i[f.expando]; + if (c) { + b = d[c]; + if (b && b.events) { + for (var j in b.events) e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle); + b.handle && (b.handle.elem = null) + } + g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c] + } + } + } + }); + var bq = /alpha\([^)]*\)/i, + br = /opacity=([^)]*)/, + bs = /([A-Z]|^ms)/g, + bt = /^-?\d+(?:px)?$/i, + bu = /^-?\d/, + bv = /^([\-+])=([\-+.\de]+)/, + bw = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + bx = ["Left", "Right"], + by = ["Top", "Bottom"], + bz, bA, bB; + f.fn.css = function(a, c) { + if (arguments.length === 2 && c === b) return this; + return f.access(this, a, c, !0, function(a, c, d) { + return d !== b ? f.style(a, c, d) : f.css(a, c) + }) + }, f.extend({ + cssHooks: { + opacity: { + get: function(a, b) { + if (b) { + var c = bz(a, "opacity", "opacity"); + return c === "" ? "1" : c + } + return a.style.opacity + } + } + }, + cssNumber: { + fillOpacity: !0, + fontWeight: !0, + lineHeight: !0, + opacity: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: { + "float": f.support.cssFloat ? "cssFloat" : "styleFloat" + }, + style: function(a, c, d, e) { + if (!!a && a.nodeType !== 3 && a.nodeType !== 8 && !!a.style) { + var g, h, i = f.camelCase(c), + j = a.style, + k = f.cssHooks[i]; + c = f.cssProps[i] || i; + if (d === b) { + if (k && "get" in k && (g = k.get(a, !1, e)) !== b) return g; + return j[c] + } + h = typeof d, h === "string" && (g = bv.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number"); + if (d == null || h === "number" && isNaN(d)) return; + h === "number" && !f.cssNumber[i] && (d += "px"); + if (!k || !("set" in k) || (d = k.set(a, d)) !== b) try { + j[c] = d + } catch (l) {} + } + }, + css: function(a, c, d) { + var e, g; + c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float"); + if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e; + if (bz) return bz(a, c) + }, + swap: function(a, b, c) { + var d = {}; + for (var e in b) d[e] = a.style[e], a.style[e] = b[e]; + c.call(a); + for (e in b) a.style[e] = d[e] + } + }), f.curCSS = f.css, f.each(["height", "width"], function(a, b) { + f.cssHooks[b] = { + get: function(a, c, d) { + var e; + if (c) { + if (a.offsetWidth !== 0) return bC(a, b, d); + f.swap(a, bw, function() { + e = bC(a, b, d) + }); + return e + } + }, + set: function(a, b) { + if (!bt.test(b)) return b; + b = parseFloat(b); + if (b >= 0) return b + "px" + } + } + }), f.support.opacity || (f.cssHooks.opacity = { + get: function(a, b) { + return br.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "" + }, + set: function(a, b) { + var c = a.style, + d = a.currentStyle, + e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", + g = d && d.filter || c.filter || ""; + c.zoom = 1; + if (b >= 1 && f.trim(g.replace(bq, "")) === "") { + c.removeAttribute("filter"); + if (d && !d.filter) return + } + c.filter = bq.test(g) ? g.replace(bq, e) : g + " " + e + } + }), f(function() { + f.support.reliableMarginRight || (f.cssHooks.marginRight = { + get: function(a, b) { + var c; + f.swap(a, { + display: "inline-block" + }, function() { + b ? c = bz(a, "margin-right", "marginRight") : c = a.style.marginRight + }); + return c + } + }) + }), c.defaultView && c.defaultView.getComputedStyle && (bA = function(a, b) { + var c, d, e; + b = b.replace(bs, "-$1").toLowerCase(), (d = a.ownerDocument.defaultView) && (e = d.getComputedStyle(a, null)) && (c = e.getPropertyValue(b), c === "" && !f.contains(a.ownerDocument.documentElement, a) && (c = f.style(a, b))); + return c + }), c.documentElement.currentStyle && (bB = function(a, b) { + var c, d, e, f = a.currentStyle && a.currentStyle[b], + g = a.style; + f === null && g && (e = g[b]) && (f = e), !bt.test(f) && bu.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f || 0, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d)); + return f === "" ? "auto" : f + }), bz = bA || bB, f.expr && f.expr.filters && (f.expr.filters.hidden = function(a) { + var b = a.offsetWidth, + c = a.offsetHeight; + return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none" + }, f.expr.filters.visible = function(a) { + return !f.expr.filters.hidden(a) + }); + var bD = /%20/g, + bE = /\[\]$/, + bF = /\r?\n/g, + bG = /#.*$/, + bH = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, + bI = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + bJ = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + bK = /^(?:GET|HEAD)$/, + bL = /^\/\//, + bM = /\?/, + bN = /)<[^<]*)*<\/script>/gi, + bO = /^(?:select|textarea)/i, + bP = /\s+/, + bQ = /([?&])_=[^&]*/, + bR = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, + bS = f.fn.load, + bT = {}, + bU = {}, + bV, bW, bX = ["*/"] + ["*"]; + try { + bV = e.href + } catch (bY) { + bV = c.createElement("a"), bV.href = "", bV = bV.href + } + bW = bR.exec(bV.toLowerCase()) || [], f.fn.extend({ + load: function(a, c, d) { + if (typeof a != "string" && bS) return bS.apply(this, arguments); + if (!this.length) return this; + var e = a.indexOf(" "); + if (e >= 0) { + var g = a.slice(e, a.length); + a = a.slice(0, e) + } + var h = "GET"; + c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST")); + var i = this; + f.ajax({ + url: a, + type: h, + dataType: "html", + data: c, + complete: function(a, b, c) { + c = a.responseText, a.isResolved() && (a.done(function(a) { + c = a + }), i.html(g ? f("
").append(c.replace(bN, "")).find(g) : c)), d && i.each(d, [c, b, a]) + } + }); + return this + }, + serialize: function() { + return f.param(this.serializeArray()) + }, + serializeArray: function() { + return this.map(function() { + return this.elements ? f.makeArray(this.elements) : this + }).filter(function() { + return this.name && !this.disabled && (this.checked || bO.test(this.nodeName) || bI.test(this.type)) + }).map(function(a, b) { + var c = f(this).val(); + return c == null ? null : f.isArray(c) ? f.map(c, function(a, c) { + return { + name: b.name, + value: a.replace(bF, "\r\n") + } + }) : { + name: b.name, + value: c.replace(bF, "\r\n") + } + }).get() + } + }), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) { + f.fn[b] = function(a) { + return this.on(b, a) + } + }), f.each(["get", "post"], function(a, c) { + f[c] = function(a, d, e, g) { + f.isFunction(d) && (g = g || e, e = d, d = b); + return f.ajax({ + type: c, + url: a, + data: d, + success: e, + dataType: g + }) + } + }), f.extend({ + getScript: function(a, c) { + return f.get(a, b, c, "script") + }, + getJSON: function(a, b, c) { + return f.get(a, b, c, "json") + }, + ajaxSetup: function(a, b) { + b ? b_(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), b_(a, b); + return a + }, + ajaxSettings: { + url: bV, + isLocal: bJ.test(bW[1]), + global: !0, + type: "GET", + contentType: "application/x-www-form-urlencoded", + processData: !0, + async: !0, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": bX + }, + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + responseFields: { + xml: "responseXML", + text: "responseText" + }, + converters: { + "* text": a.String, + "text html": !0, + "text json": f.parseJSON, + "text xml": f.parseXML + }, + flatOptions: { + context: !0, + url: !0 + } + }, + ajaxPrefilter: bZ(bT), + ajaxTransport: bZ(bU), + ajax: function(a, c) { + function w(a, c, l, m) { + if (s !== 2) { + s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0; + var o, r, u, w = c, + x = l ? cb(d, v, l) : b, + y, z; + if (a >= 200 && a < 300 || a === 304) { + if (d.ifModified) { + if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y; + if (z = v.getResponseHeader("Etag")) f.etag[k] = z + } + if (a === 304) w = "notmodified", o = !0; + else try { + r = cc(d, x), w = "success", o = !0 + } catch (A) { + w = "parsererror", u = A + } + } else { + u = w; + if (!w || a) w = "error", a < 0 && (a = 0) + } + v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop")) + } + } + typeof a == "object" && (c = a, a = b), c = c || {}; + var d = f.ajaxSetup({}, c), + e = d.context || d, + g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event, + h = f.Deferred(), + i = f.Callbacks("once memory"), + j = d.statusCode || {}, + k, l = {}, + m = {}, + n, o, p, q, r, s = 0, + t, u, v = { + readyState: 0, + setRequestHeader: function(a, b) { + if (!s) { + var c = a.toLowerCase(); + a = m[c] = m[c] || a, l[a] = b + } + return this + }, + getAllResponseHeaders: function() { + return s === 2 ? n : null + }, + getResponseHeader: function(a) { + var c; + if (s === 2) { + if (!o) { + o = {}; + while (c = bH.exec(n)) o[c[1].toLowerCase()] = c[2] + } + c = o[a.toLowerCase()] + } + return c === b ? null : c + }, + overrideMimeType: function(a) { + s || (d.mimeType = a); + return this + }, + abort: function(a) { + a = a || "abort", p && p.abort(a), w(0, a); + return this + } + }; + h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function(a) { + if (a) { + var b; + if (s < 2) + for (b in a) j[b] = [j[b], a[b]]; + else b = a[v.status], v.then(b, b) + } + return this + }, d.url = ((a || d.url) + "").replace(bG, "").replace(bL, bW[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bP), d.crossDomain == null && (r = bR.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bW[1] && r[2] == bW[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bW[3] || (bW[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), b$(bT, d, c, v); + if (s === 2) return !1; + t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bK.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart"); + if (!d.hasContent) { + d.data && (d.url += (bM.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url; + if (d.cache === !1) { + var x = f.now(), + y = d.url.replace(bQ, "$1_=" + x); + d.url = y + (y === d.url ? (bM.test(d.url) ? "&" : "?") + "_=" + x : "") + } + }(d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bX + "; q=0.01" : "") : d.accepts["*"]); + for (u in d.headers) v.setRequestHeader(u, d.headers[u]); + if (d.beforeSend && (d.beforeSend.call(e, v, d) === !1 || s === 2)) { + v.abort(); + return !1 + } + for (u in { + success: 1, + error: 1, + complete: 1 + }) v[u](d[u]); + p = b$(bU, d, c, v); + if (!p) w(-1, "No Transport"); + else { + v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function() { + v.abort("timeout") + }, d.timeout)); + try { + s = 1, p.send(l, w) + } catch (z) { + if (s < 2) w(-1, z); + else throw z + } + } + return v + }, + param: function(a, c) { + var d = [], + e = function(a, b) { + b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) + }; + c === b && (c = f.ajaxSettings.traditional); + if (f.isArray(a) || a.jquery && !f.isPlainObject(a)) f.each(a, function() { + e(this.name, this.value) + }); + else + for (var g in a) ca(g, a[g], c, e); + return d.join("&").replace(bD, "+") + } + }), f.extend({ + active: 0, + lastModified: {}, + etag: {} + }); + var cd = f.now(), + ce = /(\=)\?(&|$)|\?\?/i; + f.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + return f.expando + "_" + cd++ + } + }), f.ajaxPrefilter("json jsonp", function(b, c, d) { + var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string"; + if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (ce.test(b.url) || e && ce.test(b.data))) { + var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, + i = a[h], + j = b.url, + k = b.data, + l = "$1" + h + "$2"; + b.jsonp !== !1 && (j = j.replace(ce, l), b.url === j && (e && (k = k.replace(ce, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function(a) { + g = [a] + }, d.always(function() { + a[h] = i, g && f.isFunction(i) && a[h](g[0]) + }), b.converters["script json"] = function() { + g || f.error(h + " was not called"); + return g[0] + }, b.dataTypes[0] = "json"; + return "script" + } + }), f.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function(a) { + f.globalEval(a); + return a + } + } + }), f.ajaxPrefilter("script", function(a) { + a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1) + }), f.ajaxTransport("script", function(a) { + if (a.crossDomain) { + var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement; + return { + send: function(f, g) { + d = c.createElement("script"), d.async = "async", a.scriptCharset && (d.charset = a.scriptCharset), d.src = a.url, d.onload = d.onreadystatechange = function(a, c) { + if (c || !d.readyState || /loaded|complete/.test(d.readyState)) d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success") + }, e.insertBefore(d, e.firstChild) + }, + abort: function() { + d && d.onload(0, 1) + } + } + } + }); + var cf = a.ActiveXObject ? function() { + for (var a in ch) ch[a](0, 1) + } : !1, + cg = 0, + ch; + f.ajaxSettings.xhr = a.ActiveXObject ? function() { + return !this.isLocal && ci() || cj() + } : ci, + function(a) { + f.extend(f.support, { + ajax: !!a, + cors: !!a && "withCredentials" in a + }) + }(f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(function(c) { + if (!c.crossDomain || f.support.cors) { + var d; + return { + send: function(e, g) { + var h = c.xhr(), + i, j; + c.username ? h.open(c.type, c.url, c.async, c.username, c.password) : h.open(c.type, c.url, c.async); + if (c.xhrFields) + for (j in c.xhrFields) h[j] = c.xhrFields[j]; + c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest"); + try { + for (j in e) h.setRequestHeader(j, e[j]) + } catch (k) {} + h.send(c.hasContent && c.data || null), d = function(a, e) { + var j, k, l, m, n; + try { + if (d && (e || h.readyState === 4)) { + d = b, i && (h.onreadystatechange = f.noop, cf && delete ch[i]); + if (e) h.readyState !== 4 && h.abort(); + else { + j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText; + try { + k = h.statusText + } catch (o) { + k = "" + }!j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204) + } + } + } catch (p) { + e || g(-1, p) + } + m && g(j, k, m, l) + }, !c.async || h.readyState === 4 ? d() : (i = ++cg, cf && (ch || (ch = {}, f(a).unload(cf)), ch[i] = d), h.onreadystatechange = d) + }, + abort: function() { + d && d(0, 1) + } + } + } + }); + var ck = {}, + cl, cm, cn = /^(?:toggle|show|hide)$/, + co = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, + cp, cq = [ + ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], + ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], + ["opacity"] + ], + cr; + f.fn.extend({ + show: function(a, b, c) { + var d, e; + if (a || a === 0) return this.animate(cu("show", 3), a, b, c); + for (var g = 0, h = this.length; g < h; g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cv(d.nodeName))); + for (g = 0; g < h; g++) { + d = this[g]; + if (d.style) { + e = d.style.display; + if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || "" + } + } + return this + }, + hide: function(a, b, c) { + if (a || a === 0) return this.animate(cu("hide", 3), a, b, c); + var d, e, g = 0, + h = this.length; + for (; g < h; g++) d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e)); + for (g = 0; g < h; g++) this[g].style && (this[g].style.display = "none"); + return this + }, + _toggle: f.fn.toggle, + toggle: function(a, b, c) { + var d = typeof a == "boolean"; + f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function() { + var b = d ? a : f(this).is(":hidden"); + f(this)[b ? "show" : "hide"]() + }) : this.animate(cu("toggle", 3), a, b, c); + return this + }, + fadeTo: function(a, b, c, d) { + return this.filter(":hidden").css("opacity", 0).show().end().animate({ + opacity: b + }, a, c, d) + }, + animate: function(a, b, c, d) { + function g() { + e.queue === !1 && f._mark(this); + var b = f.extend({}, e), + c = this.nodeType === 1, + d = c && f(this).is(":hidden"), + g, h, i, j, k, l, m, n, o; + b.animatedProperties = {}; + for (i in a) { + g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing"; + if (h === "hide" && d || h === "show" && !d) return b.complete.call(this); + c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cv(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1)) + } + b.overflow != null && (this.style.overflow = "hidden"); + for (i in a) j = new f.fx(this, b, i), h = a[i], cn.test(h) ? (o = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), o ? (f._data(this, "toggle" + i, o === "show" ? "hide" : "show"), j[o]()) : j[h]()) : (k = co.exec(h), l = j.cur(), k ? (m = parseFloat(k[2]), n = k[3] || (f.cssNumber[i] ? "" : "px"), n !== "px" && (f.style(this, i, (m || 1) + n), l = (m || 1) / j.cur() * l, f.style(this, i, l + n)), k[1] && (m = (k[1] === "-=" ? -1 : 1) * m + l), j.custom(l, m, n)) : j.custom(l, h, "")); + return !0 + } + var e = f.speed(b, c, d); + if (f.isEmptyObject(a)) return this.each(e.complete, [!1]); + a = f.extend({}, a); + return e.queue === !1 ? this.each(g) : this.queue(e.queue, g) + }, + stop: function(a, c, d) { + typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []); + return this.each(function() { + function h(a, b, c) { + var e = b[c]; + f.removeData(a, c, !0), e.stop(d) + } + var b, c = !1, + e = f.timers, + g = f._data(this); + d || f._unmark(!0, this); + if (a == null) + for (b in g) g[b] && g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b); + else g[b = a + ".run"] && g[b].stop && h(this, g, b); + for (b = e.length; b--;) e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1)); + (!d || !c) && f.dequeue(this, a) + }) + } + }), f.each({ + slideDown: cu("show", 1), + slideUp: cu("hide", 1), + slideToggle: cu("toggle", 1), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function(a, b) { + f.fn[a] = function(a, c, d) { + return this.animate(b, a, c, d) + } + }), f.extend({ + speed: function(a, b, c) { + var d = a && typeof a == "object" ? f.extend({}, a) : { + complete: c || !c && b || f.isFunction(a) && a, + duration: a, + easing: c && b || b && !f.isFunction(b) && b + }; + d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default; + if (d.queue == null || d.queue === !0) d.queue = "fx"; + d.old = d.complete, d.complete = function(a) { + f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this) + }; + return d + }, + easing: { + linear: function(a, b, c, d) { + return c + d * a + }, + swing: function(a, b, c, d) { + return (-Math.cos(a * Math.PI) / 2 + .5) * d + c + } + }, + timers: [], + fx: function(a, b, c) { + this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {} + } + }), f.fx.prototype = { + update: function() { + this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this) + }, + cur: function() { + if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; + var a, b = f.css(this.elem, this.prop); + return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a + }, + custom: function(a, c, d) { + function h(a) { + return e.step(a) + } + var e = this, + g = f.fx; + this.startTime = cr || cs(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function() { + e.options.hide && f._data(e.elem, "fxshow" + e.prop) === b && f._data(e.elem, "fxshow" + e.prop, e.start) + }, h() && f.timers.push(h) && !cp && (cp = setInterval(g.tick, g.interval)) + }, + show: function() { + var a = f._data(this.elem, "fxshow" + this.prop); + this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show() + }, + hide: function() { + this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) + }, + step: function(a) { + var b, c, d, e = cr || cs(), + g = !0, + h = this.elem, + i = this.options; + if (a || e >= i.duration + this.startTime) { + this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0; + for (b in i.animatedProperties) i.animatedProperties[b] !== !0 && (g = !1); + if (g) { + i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function(a, b) { + h.style["overflow" + b] = i.overflow[a] + }), i.hide && f(h).hide(); + if (i.hide || i.show) + for (b in i.animatedProperties) f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0); + d = i.complete, d && (i.complete = !1, d.call(h)) + } + return !1 + } + i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(); + return !0 + } + }, f.extend(f.fx, { + tick: function() { + var a, b = f.timers, + c = 0; + for (; c < b.length; c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1); + b.length || f.fx.stop() + }, + interval: 13, + stop: function() { + clearInterval(cp), cp = null + }, + speeds: { + slow: 600, + fast: 200, + _default: 400 + }, + step: { + opacity: function(a) { + f.style(a.elem, "opacity", a.now) + }, + _default: function(a) { + a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now + } + } + }), f.each(["width", "height"], function(a, b) { + f.fx.step[b] = function(a) { + f.style(a.elem, b, Math.max(0, a.now) + a.unit) + } + }), f.expr && f.expr.filters && (f.expr.filters.animated = function(a) { + return f.grep(f.timers, function(b) { + return a === b.elem + }).length + }); + var cw = /^t(?:able|d|h)$/i, + cx = /^(?:body|html)$/i; + "getBoundingClientRect" in c.documentElement ? f.fn.offset = function(a) { + var b = this[0], + c; + if (a) return this.each(function(b) { + f.offset.setOffset(this, a, b) + }); + if (!b || !b.ownerDocument) return null; + if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); + try { + c = b.getBoundingClientRect() + } catch (d) {} + var e = b.ownerDocument, + g = e.documentElement; + if (!c || !f.contains(g, b)) return c ? { + top: c.top, + left: c.left + } : { + top: 0, + left: 0 + }; + var h = e.body, + i = cy(e), + j = g.clientTop || h.clientTop || 0, + k = g.clientLeft || h.clientLeft || 0, + l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop, + m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft, + n = c.top + l - j, + o = c.left + m - k; + return { + top: n, + left: o + } + } : f.fn.offset = function(a) { + var b = this[0]; + if (a) return this.each(function(b) { + f.offset.setOffset(this, a, b) + }); + if (!b || !b.ownerDocument) return null; + if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); + var c, d = b.offsetParent, + e = b, + g = b.ownerDocument, + h = g.documentElement, + i = g.body, + j = g.defaultView, + k = j ? j.getComputedStyle(b, null) : b.currentStyle, + l = b.offsetTop, + m = b.offsetLeft; + while ((b = b.parentNode) && b !== i && b !== h) { + if (f.support.fixedPosition && k.position === "fixed") break; + c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cw.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.support.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c + } + if (k.position === "relative" || k.position === "static") l += i.offsetTop, m += i.offsetLeft; + f.support.fixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft)); + return { + top: l, + left: m + } + }, f.offset = { + bodyOffset: function(a) { + var b = a.offsetTop, + c = a.offsetLeft; + f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0); + return { + top: b, + left: c + } + }, + setOffset: function(a, b, c) { + var d = f.css(a, "position"); + d === "static" && (a.style.position = "relative"); + var e = f(a), + g = e.offset(), + h = f.css(a, "top"), + i = f.css(a, "left"), + j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1, + k = {}, + l = {}, + m, n; + j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k) + } + }, f.fn.extend({ + position: function() { + if (!this[0]) return null; + var a = this[0], + b = this.offsetParent(), + c = this.offset(), + d = cx.test(b[0].nodeName) ? { + top: 0, + left: 0 + } : b.offset(); + c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0; + return { + top: c.top - d.top, + left: c.left - d.left + } + }, + offsetParent: function() { + return this.map(function() { + var a = this.offsetParent || c.body; + while (a && !cx.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent; + return a + }) + } + }), f.each(["Left", "Top"], function(a, c) { + var d = "scroll" + c; + f.fn[d] = function(c) { + var e, g; + if (c === b) { + e = this[0]; + if (!e) return null; + g = cy(e); + return g ? "pageXOffset" in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d] + } + return this.each(function() { + g = cy(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c + }) + } + }), f.each(["Height", "Width"], function(a, c) { + var d = c.toLowerCase(); + f.fn["inner" + c] = function() { + var a = this[0]; + return a ? a.style ? parseFloat(f.css(a, d, "padding")) : this[d]() : null + }, f.fn["outer" + c] = function(a) { + var b = this[0]; + return b ? b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : this[d]() : null + }, f.fn[d] = function(a) { + var e = this[0]; + if (!e) return a == null ? null : this; + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this); + c[d](a.call(this, b, c[d]())) + }); + if (f.isWindow(e)) { + var g = e.document.documentElement["client" + c], + h = e.document.body; + return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g + } + if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]); + if (a === b) { + var i = f.css(e, d), + j = parseFloat(i); + return f.isNumeric(j) ? j : i + } + return this.css(d, typeof a == "string" ? a : a + "px") + } + }), a.jQuery = a.$ = f, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() { + return f + }) +})(window); \ No newline at end of file diff --git "a/Others/jQuery_day02/\346\240\267\345\274\217\346\223\215\344\275\234.html" "b/Others/jQuery_day02/\346\240\267\345\274\217\346\223\215\344\275\234.html" new file mode 100644 index 0000000..cdcc012 --- /dev/null +++ "b/Others/jQuery_day02/\346\240\267\345\274\217\346\223\215\344\275\234.html" @@ -0,0 +1,45 @@ + + + + + + + + + + +

样式操作标题2

+
此处是div
+ + + + + From 495402fe7eebe2408c090de6e48da423db4a8b09 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Mon, 14 Jan 2019 16:25:00 +0800 Subject: [PATCH 09/17] Add files via upload --- note/jQuery.js | 364 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 347 insertions(+), 17 deletions(-) diff --git a/note/jQuery.js b/note/jQuery.js index 7486344..6a5bafe 100644 --- a/note/jQuery.js +++ b/note/jQuery.js @@ -44,7 +44,7 @@ + + + +

标题二

+

标题二

+
段落一
+ + + +5.基本操作: + (1)jq操作DOM: + $(function(){ + ...... + }); + 页面加载之后调用这个函数,作用等价于window.onload = function(){} + (2)读写节点: + 读写节点的内容(双标签) + 读: html() == innerHTML + 写: html("") + 读: text() == innerText + 写: text("") + 例子: + html([val|fn]) 在一个 HTML 文档中, 我们可以使用 .html() 方法(不止限于html方法)来获取任意一个元素的内容。 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。 + console.log($("p").html())/*返回p元素的内容。哈哈哈哈*/ $("p").html("加粗文本");//设置p元素的内容,识别标签 + text([val|fn]) 取得所有匹配元素的内容。 $("p").text("加粗文本");//设置p元素的内容,不识别标签,会输出标签 + 读写节点的值(表单控件) + 读: val() == value + 写: val("") + 读写属性: + 读: attr("属性名称") == set/getAttribute() + 写: attr("属性名称","属性值") + 对于HTML元素本身就带有的固有属性在处理时使用prop方法;对于HTML元素自定义的DOM属性,在处理时使用attr方法。具有true和false两个属性的属性(如checked、selected或disabled),使用prop方法 + 例子: + console.log($("img").attr("src"));//img/科比.jpg + $("img").attr("title","科比"); + $("img").attr({style:"display:none;title:科比"}); + $("img").attr("title", function() { return this.src });//this获取当前元素的html属性 + (3)增删节点: jQuery允许通过HTML代码字符串直接创建元素节点、文本节点及属性节点。 + $("节点标签及内容"); //$("

这是在创建节点

"); + (4)创建节点: + 父节点.append(子节点) //作为最后一个子节点加进来 + 父节点.prepend(子节点) //作为第一个子节点加进来 + 同级节点.after(同级节点) //作为下一个节点加进来 + 同级节点.before(同级节点) //作为上一个节点加进来 + (5)删除节点: + 节点.remove() //删除节点 + 节点.remove(选择器) //删除满足该选择器的节点 + 节点.empty() //清空节点 + (6)遍历节点: 查找所有与它有关联的节点;有时调用的方法,得到一个节点,不能通过用选择器的方式来操作该节点周围其它的节点,所以只能调用一些遍历节点的方法。 + children()/children(选择器) 直接子节点; console.log($("#uid").children());//所有对象,$("#uid").children()[index] + next()/next(选择器) 该节点的下一个节点; console.log($("#uid5").next());//Number1的对象 + prev()/prev(选择器) 该节点的上一个节点; console.log($("#uid4").prev());//Number6的对象 + siblings()/siblings(选择器) 同一级别的所有节点(不包含自己); console.log($("#uid5").siblings());//12364 + find(选择器) 查找满足选择器的所欲偶后代; console.log($("#uid").find("h2"));//Number2的对象(因为Number2引用了h2标签) + parent() 找父节点; console.log($("#uid4").parent());//父元素ul对象 + (7)基本操作例子和jQuery的表单验证: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C.html $("form:first").submit(function(){//验证表达输入项是否为空 if($("#name").val()==""){ console.log("请输入用户名"); @@ -113,6 +187,262 @@ + (8)jq的DOM操作例子: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/jQuery%E6%93%8D%E4%BD%9CDOM.html + + + + + + + +
哈哈
+ 用户名:
+ 爱好: 游泳 + 篮球 + 地址:
+ +
    +
  • Number1
  • +
  • Number2

  • +
  • Number3
  • +
+ +6.样式操作: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/%E6%A0%B7%E5%BC%8F%E6%93%8D%E4%BD%9C.html + attr("class","样式") 获取和设置 //$("div").attr("class","apple"); //attr对同一个属性进行多次设置修改,后者覆盖前者。 + addClass("样式") 追加样式 //$("div").addClass("apple"); //addClass给class属性追加属性值,可以叠加,不会覆盖前者。 + removeClass()/removeClass("样式") 移除所有/指定样式 //$("div").removeClass("apple"); + toggleClass("样式") 切换样式; 可以实现开关效果,有就删除,没有就加入。 //$("div").toggleClass("apple") + css("") 读取css的值 //console.log($("div").css("color")); + css("","") 设置多个样式(传对象) //$("div").css({"color":"red","font-family":"微软雅黑"}); + 样式的设置会被设置为行内(内联)样式 + 例子: + + + + + + + + +

样式操作标题2

+
此处是div
+ + + +7.jQuery事件: + 1)当元素失去焦点时触发 blur 事件。 + $("input").blur( function () { alert("Hello World!"); } ); + 2)当元素获得焦点时,触发 focus 事件。 + $("#input").focus();//加载页面的时候默认获得焦点 + 3)当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。 + $("#phone").keyup(function(){ + var v = $(this).val();//$(this).val() -->jQuery对象;this.value --> DOM对象 + var reg = /\D/g; + if(reg.test(v)){ + $(this).val(v.replace(/\D/g,""));//禁止用户输入非数字字符,将非数字字符替换成空串。 + } + }); + 4)触发每一个匹配元素的 click 事件。 + $("#phone").click(function(){}); + 5)当提交表单时,会发生 submit 事件;只适用于表单提交。 + $("#form1").submit(function(){// + if($("#user").val()==""){ + console.log("请输入用户名!"); + return false;//不需要在最后写return true; + } + }); + $("#btn").click(function(){//,不通过type为submit的方式进行提交 + if($("#user").val()==""){ + console.log("请输入用户名!"); + return false; + } + $("#form1").submit(); + }); + (6)jQuery事件的例子: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/jQuery%E4%BA%8B%E4%BB%B6.html + + + + + + + + 用户名:
+ 手机号:
+

段落

+
+ 用户名:
+ + + + + (7)jQuery全选例子: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/jQuery%E5%85%A8%E9%80%89.html + + + + + + + + + 全选
+ java
+ python
+ c语言
+ php
+ + From 7cd0d9b796096dad5ea9ede65a368b7656a9ea19 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Tue, 15 Jan 2019 16:32:21 +0800 Subject: [PATCH 10/17] Add files via upload --- .../jQuery\345\212\250\347\224\273.html" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "Others/jQuery_day02/jQuery\345\212\250\347\224\273.html" diff --git "a/Others/jQuery_day02/jQuery\345\212\250\347\224\273.html" "b/Others/jQuery_day02/jQuery\345\212\250\347\224\273.html" new file mode 100644 index 0000000..74cdb5c --- /dev/null +++ "b/Others/jQuery_day02/jQuery\345\212\250\347\224\273.html" @@ -0,0 +1,40 @@ + + + + + + + + + + +
+ + + + From b66849b2aec144ff0b4593b85e5dea38c199345b Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Tue, 15 Jan 2019 16:34:51 +0800 Subject: [PATCH 11/17] Add files via upload --- .../js/jquery-1.7.1.min.js" | 3730 +++++++++++++++++ .../js/laydate/laydate.js" | 853 ++++ .../laydate/theme/default/font/iconfont.eot" | Bin 0 -> 2456 bytes .../laydate/theme/default/font/iconfont.svg" | 45 + .../laydate/theme/default/font/iconfont.ttf" | Bin 0 -> 2272 bytes .../laydate/theme/default/font/iconfont.woff" | Bin 0 -> 1492 bytes .../js/laydate/theme/default/laydate.css" | 2 + .../js/provice.js" | 2242 ++++++++++ ...\345\215\225\351\252\214\350\257\201.html" | 170 + 9 files changed, 7042 insertions(+) create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/jquery-1.7.1.min.js" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/laydate.js" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.eot" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.svg" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.ttf" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.woff" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/laydate.css" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" create mode 100644 "Others/\350\241\250\345\215\225\351\252\214\350\257\201/\350\241\250\345\215\225\351\252\214\350\257\201.html" diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/jquery-1.7.1.min.js" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/jquery-1.7.1.min.js" new file mode 100644 index 0000000..dea9408 --- /dev/null +++ "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/jquery-1.7.1.min.js" @@ -0,0 +1,3730 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a, b) { + function cy(a) { + return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1 + } + + function cv(a) { + if (!ck[a]) { + var b = c.body, + d = f("<" + a + ">").appendTo(b), + e = d.css("display"); + d.remove(); + if (e === "none" || e === "") { + cl || (cl = c.createElement("iframe"), cl.frameBorder = cl.width = cl.height = 0), b.appendChild(cl); + if (!cm || !cl.createElement) cm = (cl.contentWindow || cl.contentDocument).document, cm.write((c.compatMode === "CSS1Compat" ? "" : "") + ""), cm.close(); + d = cm.createElement(a), cm.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cl) + } + ck[a] = e + } + return ck[a] + } + + function cu(a, b) { + var c = {}; + f.each(cq.concat.apply([], cq.slice(0, b)), function() { + c[this] = a + }); + return c + } + + function ct() { + cr = b + } + + function cs() { + setTimeout(ct, 0); + return cr = f.now() + } + + function cj() { + try { + return new a.ActiveXObject("Microsoft.XMLHTTP") + } catch (b) {} + } + + function ci() { + try { + return new a.XMLHttpRequest + } catch (b) {} + } + + function cc(a, c) { + a.dataFilter && (c = a.dataFilter(c, a.dataType)); + var d = a.dataTypes, + e = {}, + g, h, i = d.length, + j, k = d[0], + l, m, n, o, p; + for (g = 1; g < i; g++) { + if (g === 1) + for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]); + l = k, k = d[g]; + if (k === "*") k = l; + else if (l !== "*" && l !== k) { + m = l + " " + k, n = e[m] || e["* " + k]; + if (!n) { + p = b; + for (o in e) { + j = o.split(" "); + if (j[0] === l || j[0] === "*") { + p = e[j[1] + " " + k]; + if (p) { + o = e[o], o === !0 ? n = p : p === !0 && (n = o); + break + } + } + } + }!n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c))) + } + } + return c + } + + function cb(a, c, d) { + var e = a.contents, + f = a.dataTypes, + g = a.responseFields, + h, i, j, k; + for (i in g) i in d && (c[g[i]] = d[i]); + while (f[0] === "*") f.shift(), h === b && (h = a.mimeType || c.getResponseHeader("content-type")); + if (h) + for (i in e) + if (e[i] && e[i].test(h)) { + f.unshift(i); + break + } + if (f[0] in d) j = f[0]; + else { + for (i in d) { + if (!f[0] || a.converters[i + " " + f[0]]) { + j = i; + break + } + k || (k = i) + } + j = j || k + } + if (j) { + j !== f[0] && f.unshift(j); + return d[j] + } + } + + function ca(a, b, c, d) { + if (f.isArray(b)) f.each(b, function(b, e) { + c || bE.test(a) ? d(a, e) : ca(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d) + }); + else if (!c && b != null && typeof b == "object") + for (var e in b) ca(a + "[" + e + "]", b[e], c, d); + else d(a, b) + } + + function b_(a, c) { + var d, e, g = f.ajaxSettings.flatOptions || {}; + for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]); + e && f.extend(!0, a, e) + } + + function b$(a, c, d, e, f, g) { + f = f || c.dataTypes[0], g = g || {}, g[f] = !0; + var h = a[f], + i = 0, + j = h ? h.length : 0, + k = a === bT, + l; + for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = b$(a, c, d, e, l, g))); + (k || !l) && !g["*"] && (l = b$(a, c, d, e, "*", g)); + return l + } + + function bZ(a) { + return function(b, c) { + typeof b != "string" && (c = b, b = "*"); + if (f.isFunction(c)) { + var d = b.toLowerCase().split(bP), + e = 0, + g = d.length, + h, i, j; + for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c) + } + } + } + + function bC(a, b, c) { + var d = b === "width" ? a.offsetWidth : a.offsetHeight, + e = b === "width" ? bx : by, + g = 0, + h = e.length; + if (d > 0) { + if (c !== "border") + for (; g < h; g++) c || (d -= parseFloat(f.css(a, "padding" + e[g])) || 0), c === "margin" ? d += parseFloat(f.css(a, c + e[g])) || 0 : d -= parseFloat(f.css(a, "border" + e[g] + "Width")) || 0; + return d + "px" + } + d = bz(a, b, b); + if (d < 0 || d == null) d = a.style[b] || 0; + d = parseFloat(d) || 0; + if (c) + for (; g < h; g++) d += parseFloat(f.css(a, "padding" + e[g])) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + e[g] + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + e[g])) || 0); + return d + "px" + } + + function bp(a, b) { + b.src ? f.ajax({ + url: b.src, + async: !1, + dataType: "script" + }) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bf, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b) + } + + function bo(a) { + var b = c.createElement("div"); + bh.appendChild(b), b.innerHTML = a.outerHTML; + return b.firstChild + } + + function bn(a) { + var b = (a.nodeName || "").toLowerCase(); + b === "input" ? bm(a) : b !== "script" && typeof a.getElementsByTagName != "undefined" && f.grep(a.getElementsByTagName("input"), bm) + } + + function bm(a) { + if (a.type === "checkbox" || a.type === "radio") a.defaultChecked = a.checked + } + + function bl(a) { + return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : [] + } + + function bk(a, b) { + var c; + if (b.nodeType === 1) { + b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(); + if (c === "object") b.outerHTML = a.outerHTML; + else if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") { + if (c === "option") b.selected = a.defaultSelected; + else if (c === "input" || c === "textarea") b.defaultValue = a.defaultValue + } else a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value); + b.removeAttribute(f.expando) + } + } + + function bj(a, b) { + if (b.nodeType === 1 && !!f.hasData(a)) { + var c, d, e, g = f._data(a), + h = f._data(b, g), + i = g.events; + if (i) { + delete h.handle, h.events = {}; + for (c in i) + for (d = 0, e = i[c].length; d < e; d++) f.event.add(b, c + (i[c][d].namespace ? "." : "") + i[c][d].namespace, i[c][d], i[c][d].data) + } + h.data && (h.data = f.extend({}, h.data)) + } + } + + function bi(a, b) { + return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a + } + + function U(a) { + var b = V.split("|"), + c = a.createDocumentFragment(); + if (c.createElement) + while (b.length) c.createElement(b.pop()); + return c + } + + function T(a, b, c) { + b = b || 0; + if (f.isFunction(b)) return f.grep(a, function(a, d) { + var e = !!b.call(a, d, a); + return e === c + }); + if (b.nodeType) return f.grep(a, function(a, d) { + return a === b === c + }); + if (typeof b == "string") { + var d = f.grep(a, function(a) { + return a.nodeType === 1 + }); + if (O.test(b)) return f.filter(b, d, !c); + b = f.filter(b, d) + } + return f.grep(a, function(a, d) { + return f.inArray(a, b) >= 0 === c + }) + } + + function S(a) { + return !a || !a.parentNode || a.parentNode.nodeType === 11 + } + + function K() { + return !0 + } + + function J() { + return !1 + } + + function n(a, b, c) { + var d = b + "defer", + e = b + "queue", + g = b + "mark", + h = f._data(a, d); + h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function() { + !f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire()) + }, 0) + } + + function m(a) { + for (var b in a) { + if (b === "data" && f.isEmptyObject(a[b])) continue; + if (b !== "toJSON") return !1 + } + return !0 + } + + function l(a, c, d) { + if (d === b && a.nodeType === 1) { + var e = "data-" + c.replace(k, "-$1").toLowerCase(); + d = a.getAttribute(e); + if (typeof d == "string") { + try { + d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNumeric(d) ? parseFloat(d) : j.test(d) ? f.parseJSON(d) : d + } catch (g) {} + f.data(a, c, d) + } else d = b + } + return d + } + + function h(a) { + var b = g[a] = {}, + c, d; + a = a.split(/\s+/); + for (c = 0, d = a.length; c < d; c++) b[a[c]] = !0; + return b + } + var c = a.document, + d = a.navigator, + e = a.location, + f = function() { + function J() { + if (!e.isReady) { + try { + c.documentElement.doScroll("left") + } catch (a) { + setTimeout(J, 1); + return + } + e.ready() + } + } + var e = function(a, b) { + return new e.fn.init(a, b, h) + }, + f = a.jQuery, + g = a.$, + h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + j = /\S/, + k = /^\s+/, + l = /\s+$/, + m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + n = /^[\],:{}\s]*$/, + o = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + q = /(?:^|:|,)(?:\s*\[)+/g, + r = /(webkit)[ \/]([\w.]+)/, + s = /(opera)(?:.*version)?[ \/]([\w.]+)/, + t = /(msie) ([\w.]+)/, + u = /(mozilla)(?:.*? rv:([\w.]+))?/, + v = /-([a-z]|[0-9])/ig, + w = /^-ms-/, + x = function(a, b) { + return (b + "").toUpperCase() + }, + y = d.userAgent, + z, A, B, C = Object.prototype.toString, + D = Object.prototype.hasOwnProperty, + E = Array.prototype.push, + F = Array.prototype.slice, + G = String.prototype.trim, + H = Array.prototype.indexOf, + I = {}; + e.fn = e.prototype = { + constructor: e, + init: function(a, d, f) { + var g, h, j, k; + if (!a) return this; + if (a.nodeType) { + this.context = this[0] = a, this.length = 1; + return this + } + if (a === "body" && !d && c.body) { + this.context = c, this[0] = c.body, this.selector = a, this.length = 1; + return this + } + if (typeof a == "string") { + a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null]; + if (g && (g[1] || !d)) { + if (g[1]) { + d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = m.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes); + return e.merge(this, a) + } + h = c.getElementById(g[2]); + if (h && h.parentNode) { + if (h.id !== g[2]) return f.find(a); + this.length = 1, this[0] = h + } + this.context = c, this.selector = a; + return this + } + return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a) + } + if (e.isFunction(a)) return f.ready(a); + a.selector !== b && (this.selector = a.selector, this.context = a.context); + return e.makeArray(a, this) + }, + selector: "", + jquery: "1.7.1", + length: 0, + size: function() { + return this.length + }, + toArray: function() { + return F.call(this, 0) + }, + get: function(a) { + return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] + }, + pushStack: function(a, b, c) { + var d = this.constructor(); + e.isArray(a) ? E.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"); + return d + }, + each: function(a, b) { + return e.each(this, a, b) + }, + ready: function(a) { + e.bindReady(), A.add(a); + return this + }, + eq: function(a) { + a = +a; + return a === -1 ? this.slice(a) : this.slice(a, a + 1) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + slice: function() { + return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) + }, + map: function(a) { + return this.pushStack(e.map(this, function(b, c) { + return a.call(b, c, b) + })) + }, + end: function() { + return this.prevObject || this.constructor(null) + }, + push: E, + sort: [].sort, + splice: [].splice + }, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function() { + var a, c, d, f, g, h, i = arguments[0] || {}, + j = 1, + k = arguments.length, + l = !1; + typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j); + for (; j < k; j++) + if ((a = arguments[j]) != null) + for (c in a) { + d = i[c], f = a[c]; + if (i === f) continue; + l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f) + } + return i + }, e.extend({ + noConflict: function(b) { + a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f); + return e + }, + isReady: !1, + readyWait: 1, + holdReady: function(a) { + a ? e.readyWait++ : e.ready(!0) + }, + ready: function(a) { + if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) { + if (!c.body) return setTimeout(e.ready, 1); + e.isReady = !0; + if (a !== !0 && --e.readyWait > 0) return; + A.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready") + } + }, + bindReady: function() { + if (!A) { + A = e.Callbacks("once memory"); + if (c.readyState === "complete") return setTimeout(e.ready, 1); + if (c.addEventListener) c.addEventListener("DOMContentLoaded", B, !1), a.addEventListener("load", e.ready, !1); + else if (c.attachEvent) { + c.attachEvent("onreadystatechange", B), a.attachEvent("onload", e.ready); + var b = !1; + try { + b = a.frameElement == null + } catch (d) {} + c.documentElement.doScroll && b && J() + } + } + }, + isFunction: function(a) { + return e.type(a) === "function" + }, + isArray: Array.isArray || function(a) { + return e.type(a) === "array" + }, + isWindow: function(a) { + return a && typeof a == "object" && "setInterval" in a + }, + isNumeric: function(a) { + return !isNaN(parseFloat(a)) && isFinite(a) + }, + type: function(a) { + return a == null ? String(a) : I[C.call(a)] || "object" + }, + isPlainObject: function(a) { + if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1; + try { + if (a.constructor && !D.call(a, "constructor") && !D.call(a.constructor.prototype, "isPrototypeOf")) return !1 + } catch (c) { + return !1 + } + var d; + for (d in a); + return d === b || D.call(a, d) + }, + isEmptyObject: function(a) { + for (var b in a) return !1; + return !0 + }, + error: function(a) { + throw new Error(a) + }, + parseJSON: function(b) { + if (typeof b != "string" || !b) return null; + b = e.trim(b); + if (a.JSON && a.JSON.parse) return a.JSON.parse(b); + if (n.test(b.replace(o, "@").replace(p, "]").replace(q, ""))) return (new Function("return " + b))(); + e.error("Invalid JSON: " + b) + }, + parseXML: function(c) { + var d, f; + try { + a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) + } catch (g) { + d = b + }(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c); + return d + }, + noop: function() {}, + globalEval: function(b) { + b && j.test(b) && (a.execScript || function(b) { + a.eval.call(a, b) + })(b) + }, + camelCase: function(a) { + return a.replace(w, "ms-").replace(v, x) + }, + nodeName: function(a, b) { + return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() + }, + each: function(a, c, d) { + var f, g = 0, + h = a.length, + i = h === b || e.isFunction(a); + if (d) { + if (i) { + for (f in a) + if (c.apply(a[f], d) === !1) break + } else + for (; g < h;) + if (c.apply(a[g++], d) === !1) break + } else if (i) { + for (f in a) + if (c.call(a[f], f, a[f]) === !1) break + } else + for (; g < h;) + if (c.call(a[g], g, a[g++]) === !1) break; return a + }, + trim: G ? function(a) { + return a == null ? "" : G.call(a) + } : function(a) { + return a == null ? "" : (a + "").replace(k, "").replace(l, "") + }, + makeArray: function(a, b) { + var c = b || []; + if (a != null) { + var d = e.type(a); + a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? E.call(c, a) : e.merge(c, a) + } + return c + }, + inArray: function(a, b, c) { + var d; + if (b) { + if (H) return H.call(b, a, c); + d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0; + for (; c < d; c++) + if (c in b && b[c] === a) return c + } + return -1 + }, + merge: function(a, c) { + var d = a.length, + e = 0; + if (typeof c.length == "number") + for (var f = c.length; e < f; e++) a[d++] = c[e]; + else + while (c[e] !== b) a[d++] = c[e++]; + a.length = d; + return a + }, + grep: function(a, b, c) { + var d = [], + e; + c = !!c; + for (var f = 0, g = a.length; f < g; f++) e = !!b(a[f], f), c !== e && d.push(a[f]); + return d + }, + map: function(a, c, d) { + var f, g, h = [], + i = 0, + j = a.length, + k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a)); + if (k) + for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f); + else + for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f); + return h.concat.apply([], h) + }, + guid: 1, + proxy: function(a, c) { + if (typeof c == "string") { + var d = a[c]; + c = a, a = d + } + if (!e.isFunction(a)) return b; + var f = F.call(arguments, 2), + g = function() { + return a.apply(c, f.concat(F.call(arguments))) + }; + g.guid = a.guid = a.guid || g.guid || e.guid++; + return g + }, + access: function(a, c, d, f, g, h) { + var i = a.length; + if (typeof c == "object") { + for (var j in c) e.access(a, j, c[j], f, g, d); + return a + } + if (d !== b) { + f = !h && f && e.isFunction(d); + for (var k = 0; k < i; k++) g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h); + return a + } + return i ? g(a[0], c) : b + }, + now: function() { + return (new Date).getTime() + }, + uaMatch: function(a) { + a = a.toLowerCase(); + var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexOf("compatible") < 0 && u.exec(a) || []; + return { + browser: b[1] || "", + version: b[2] || "0" + } + }, + sub: function() { + function a(b, c) { + return new a.fn.init(b, c) + } + e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function(d, f) { + f && f instanceof e && !(f instanceof a) && (f = a(f)); + return e.fn.init.call(this, d, f, b) + }, a.fn.init.prototype = a.fn; + var b = a(c); + return a + }, + browser: {} + }), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) { + I["[object " + b + "]"] = b.toLowerCase() + }), z = e.uaMatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? B = function() { + c.removeEventListener("DOMContentLoaded", B, !1), e.ready() + } : c.attachEvent && (B = function() { + c.readyState === "complete" && (c.detachEvent("onreadystatechange", B), e.ready()) + }); + return e + }(), + g = {}; + f.Callbacks = function(a) { + a = a ? g[a] || h(a) : {}; + var c = [], + d = [], + e, i, j, k, l, m = function(b) { + var d, e, g, h, i; + for (d = 0, e = b.length; d < e; d++) g = b[d], h = f.type(g), h === "array" ? m(g) : h === "function" && (!a.unique || !o.has(g)) && c.push(g) + }, + n = function(b, f) { + f = f || [], e = !a.memory || [b, f], i = !0, l = j || 0, j = 0, k = c.length; + for (; c && l < k; l++) + if (c[l].apply(b, f) === !1 && a.stopOnFalse) { + e = !0; + break + } + i = !1, c && (a.once ? e === !0 ? o.disable() : c = [] : d && d.length && (e = d.shift(), o.fireWith(e[0], e[1]))) + }, + o = { + add: function() { + if (c) { + var a = c.length; + m(arguments), i ? k = c.length : e && e !== !0 && (j = a, n(e[0], e[1])) + } + return this + }, + remove: function() { + if (c) { + var b = arguments, + d = 0, + e = b.length; + for (; d < e; d++) + for (var f = 0; f < c.length; f++) + if (b[d] === c[f]) { + i && f <= k && (k--, f <= l && l--), c.splice(f--, 1); + if (a.unique) break + } + } + return this + }, + has: function(a) { + if (c) { + var b = 0, + d = c.length; + for (; b < d; b++) + if (a === c[b]) return !0 + } + return !1 + }, + empty: function() { + c = []; + return this + }, + disable: function() { + c = d = e = b; + return this + }, + disabled: function() { + return !c + }, + lock: function() { + d = b, (!e || e === !0) && o.disable(); + return this + }, + locked: function() { + return !d + }, + fireWith: function(b, c) { + d && (i ? a.once || d.push([b, c]) : (!a.once || !e) && n(b, c)); + return this + }, + fire: function() { + o.fireWith(this, arguments); + return this + }, + fired: function() { + return !!e + } + }; + return o + }; + var i = [].slice; + f.extend({ + Deferred: function(a) { + var b = f.Callbacks("once memory"), + c = f.Callbacks("once memory"), + d = f.Callbacks("memory"), + e = "pending", + g = { + resolve: b, + reject: c, + notify: d + }, + h = { + done: b.add, + fail: c.add, + progress: d.add, + state: function() { + return e + }, + isResolved: b.fired, + isRejected: c.fired, + then: function(a, b, c) { + i.done(a).fail(b).progress(c); + return this + }, + always: function() { + i.done.apply(i, arguments).fail.apply(i, arguments); + return this + }, + pipe: function(a, b, c) { + return f.Deferred(function(d) { + f.each({ + done: [a, "resolve"], + fail: [b, "reject"], + progress: [c, "notify"] + }, function(a, b) { + var c = b[0], + e = b[1], + g; + f.isFunction(c) ? i[a](function() { + g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g]) + }) : i[a](d[e]) + }) + }).promise() + }, + promise: function(a) { + if (a == null) a = h; + else + for (var b in h) a[b] = h[b]; + return a + } + }, + i = h.promise({}), + j; + for (j in g) i[j] = g[j].fire, i[j + "With"] = g[j].fireWith; + i.done(function() { + e = "resolved" + }, c.disable, d.lock).fail(function() { + e = "rejected" + }, b.disable, d.lock), a && a.call(i, i); + return i + }, + when: function(a) { + function m(a) { + return function(b) { + e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e) + } + } + + function l(a) { + return function(c) { + b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolveWith(j, b) + } + } + var b = i.call(arguments, 0), + c = 0, + d = b.length, + e = Array(d), + g = d, + h = d, + j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(), + k = j.promise(); + if (d > 1) { + for (; c < d; c++) b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g; + g || j.resolveWith(j, b) + } else j !== a && j.resolveWith(j, d ? [a] : []); + return k + } + }), f.support = function() { + var b, d, e, g, h, i, j, k, l, m, n, o, p, q = c.createElement("div"), + r = c.documentElement; + q.setAttribute("className", "t"), q.innerHTML = "
a", d = q.getElementsByTagName("*"), e = q.getElementsByTagName("a")[0]; + if (!d || !d.length || !e) return {}; + g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = q.getElementsByTagName("input")[0], b = { + leadingWhitespace: q.firstChild.nodeType === 3, + tbody: !q.getElementsByTagName("tbody").length, + htmlSerialize: !!q.getElementsByTagName("link").length, + style: /top/.test(e.getAttribute("style")), + hrefNormalized: e.getAttribute("href") === "/a", + opacity: /^0.55/.test(e.style.opacity), + cssFloat: !!e.style.cssFloat, + checkOn: i.value === "on", + optSelected: h.selected, + getSetAttribute: q.className !== "t", + enctype: !!c.createElement("form").enctype, + html5Clone: c.createElement("nav").cloneNode(!0).outerHTML !== "<:nav>", + submitBubbles: !0, + changeBubbles: !0, + focusinBubbles: !1, + deleteExpando: !0, + noCloneEvent: !0, + inlineBlockNeedsLayout: !1, + shrinkWrapBlocks: !1, + reliableMarginRight: !0 + }, i.checked = !0, b.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, b.optDisabled = !h.disabled; + try { + delete q.test + } catch (s) { + b.deleteExpando = !1 + }!q.addEventListener && q.attachEvent && q.fireEvent && (q.attachEvent("onclick", function() { + b.noCloneEvent = !1 + }), q.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), b.radioValue = i.value === "t", i.setAttribute("checked", "checked"), q.appendChild(i), k = c.createDocumentFragment(), k.appendChild(q.lastChild), b.checkClone = k.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = i.checked, k.removeChild(i), k.appendChild(q), q.innerHTML = "", a.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", q.style.width = "2px", q.appendChild(j), b.reliableMarginRight = (parseInt((a.getComputedStyle(j, null) || { + marginRight: 0 + }).marginRight, 10) || 0) === 0); + if (q.attachEvent) + for (o in { + submit: 1, + change: 1, + focusin: 1 + }) n = "on" + o, p = n in q, p || (q.setAttribute(n, "return;"), p = typeof q[n] == "function"), b[o + "Bubbles"] = p; + k.removeChild(q), k = g = h = j = q = i = null, f(function() { + var a, d, e, g, h, i, j, k, m, n, o, r = c.getElementsByTagName("body")[0]; + !r || (j = 1, k = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", m = "visibility:hidden;border:0;", n = "style='" + k + "border:5px solid #000;padding:0;'", o = "
" + "" + "
", a = c.createElement("div"), a.style.cssText = m + "width:0;height:0;position:static;top:0;margin-top:" + j + "px", r.insertBefore(a, r.firstChild), q = c.createElement("div"), a.appendChild(q), q.innerHTML = "
t
", l = q.getElementsByTagName("td"), p = l[0].offsetHeight === 0, l[0].style.display = "", l[1].style.display = "none", b.reliableHiddenOffsets = p && l[0].offsetHeight === 0, q.innerHTML = "", q.style.width = q.style.paddingLeft = "1px", f.boxModel = b.boxModel = q.offsetWidth === 2, typeof q.style.zoom != "undefined" && (q.style.display = "inline", q.style.zoom = 1, b.inlineBlockNeedsLayout = q.offsetWidth === 2, q.style.display = "", q.innerHTML = "
", b.shrinkWrapBlocks = q.offsetWidth !== 2), q.style.cssText = k + m, q.innerHTML = o, d = q.firstChild, e = d.firstChild, h = d.nextSibling.firstChild.firstChild, i = { + doesNotAddBorder: e.offsetTop !== 5, + doesAddBorderForTableAndCells: h.offsetTop === 5 + }, e.style.position = "fixed", e.style.top = "20px", i.fixedPosition = e.offsetTop === 20 || e.offsetTop === 15, e.style.position = e.style.top = "", d.style.overflow = "hidden", d.style.position = "relative", i.subtractsBorderForOverflowNotVisible = e.offsetTop === -5, i.doesNotIncludeMarginInBodyOffset = r.offsetTop !== j, r.removeChild(a), q = a = null, f.extend(b, i)) + }); + return b + }(); + var j = /^(?:\{.*\}|\[.*\])$/, + k = /([A-Z])/g; + f.extend({ + cache: {}, + uuid: 0, + expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""), + noData: { + embed: !0, + object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + applet: !0 + }, + hasData: function(a) { + a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando]; + return !!a && !m(a) + }, + data: function(a, c, d, e) { + if (!!f.acceptData(a)) { + var g, h, i, j = f.expando, + k = typeof c == "string", + l = a.nodeType, + m = l ? f.cache : a, + n = l ? a[j] : a[j] && j, + o = c === "events"; + if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return; + n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop)); + if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c); + g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d); + if (o && !h[c]) return g.events; + k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h; + return i + } + }, + removeData: function(a, b, c) { + if (!!f.acceptData(a)) { + var d, e, g, h = f.expando, + i = a.nodeType, + j = i ? f.cache : a, + k = i ? a[h] : h; + if (!j[k]) return; + if (b) { + d = c ? j[k] : j[k].data; + if (d) { + f.isArray(b) || (b in d ? b = [b] : (b = f.camelCase(b), b in d ? b = [b] : b = b.split(" "))); + for (e = 0, g = b.length; e < g; e++) delete d[b[e]]; + if (!(c ? m : f.isEmptyObject)(d)) return + } + } + if (!c) { + delete j[k].data; + if (!m(j[k])) return + } + f.support.deleteExpando || !j.setInterval ? delete j[k] : j[k] = null, i && (f.support.deleteExpando ? delete a[h] : a.removeAttribute ? a.removeAttribute(h) : a[h] = null) + } + }, + _data: function(a, b, c) { + return f.data(a, b, c, !0) + }, + acceptData: function(a) { + if (a.nodeName) { + var b = f.noData[a.nodeName.toLowerCase()]; + if (b) return b !== !0 && a.getAttribute("classid") === b + } + return !0 + } + }), f.fn.extend({ + data: function(a, c) { + var d, e, g, h = null; + if (typeof a == "undefined") { + if (this.length) { + h = f.data(this[0]); + if (this[0].nodeType === 1 && !f._data(this[0], "parsedAttrs")) { + e = this[0].attributes; + for (var i = 0, j = e.length; i < j; i++) g = e[i].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), l(this[0], g, h[g])); + f._data(this[0], "parsedAttrs", !0) + } + } + return h + } + if (typeof a == "object") return this.each(function() { + f.data(this, a) + }); + d = a.split("."), d[1] = d[1] ? "." + d[1] : ""; + if (c === b) { + h = this.triggerHandler("getData" + d[1] + "!", [d[0]]), h === b && this.length && (h = f.data(this[0], a), h = l(this[0], a, h)); + return h === b && d[1] ? this.data(d[0]) : h + } + return this.each(function() { + var b = f(this), + e = [d[0], c]; + b.triggerHandler("setData" + d[1] + "!", e), f.data(this, a, c), b.triggerHandler("changeData" + d[1] + "!", e) + }) + }, + removeData: function(a) { + return this.each(function() { + f.removeData(this, a) + }) + } + }), f.extend({ + _mark: function(a, b) { + a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1)) + }, + _unmark: function(a, b, c) { + a !== !0 && (c = b, b = a, a = !1); + if (b) { + c = c || "fx"; + var d = c + "mark", + e = a ? 0 : (f._data(b, d) || 1) - 1; + e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark")) + } + }, + queue: function(a, b, c) { + var d; + if (a) { + b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c)); + return d || [] + } + }, + dequeue: function(a, b) { + b = b || "fx"; + var c = f.queue(a, b), + d = c.shift(), + e = {}; + d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function() { + f.dequeue(a, b) + }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue")) + } + }), f.fn.extend({ + queue: function(a, c) { + typeof a != "string" && (c = a, a = "fx"); + if (c === b) return f.queue(this[0], a); + return this.each(function() { + var b = f.queue(this, a, c); + a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a) + }) + }, + dequeue: function(a) { + return this.each(function() { + f.dequeue(this, a) + }) + }, + delay: function(a, b) { + a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx"; + return this.queue(b, function(b, c) { + var d = setTimeout(b, a); + c.stop = function() { + clearTimeout(d) + } + }) + }, + clearQueue: function(a) { + return this.queue(a || "fx", []) + }, + promise: function(a, c) { + function m() { + --h || d.resolveWith(e, [e]) + } + typeof a != "string" && (c = a, a = b), a = a || "fx"; + var d = f.Deferred(), + e = this, + g = e.length, + h = 1, + i = a + "defer", + j = a + "queue", + k = a + "mark", + l; + while (g--) + if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0)) h++, l.add(m); + m(); + return d.promise() + } + }); + var o = /[\n\t\r]/g, + p = /\s+/, + q = /\r/g, + r = /^(?:button|input)$/i, + s = /^(?:button|input|object|select|textarea)$/i, + t = /^a(?:rea)?$/i, + u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + v = f.support.getSetAttribute, + w, x, y; + f.fn.extend({ + attr: function(a, b) { + return f.access(this, a, b, !0, f.attr) + }, + removeAttr: function(a) { + return this.each(function() { + f.removeAttr(this, a) + }) + }, + prop: function(a, b) { + return f.access(this, a, b, !0, f.prop) + }, + removeProp: function(a) { + a = f.propFix[a] || a; + return this.each(function() { + try { + this[a] = b, delete this[a] + } catch (c) {} + }) + }, + addClass: function(a) { + var b, c, d, e, g, h, i; + if (f.isFunction(a)) return this.each(function(b) { + f(this).addClass(a.call(this, b, this.className)) + }); + if (a && typeof a == "string") { + b = a.split(p); + for (c = 0, d = this.length; c < d; c++) { + e = this[c]; + if (e.nodeType === 1) + if (!e.className && b.length === 1) e.className = a; + else { + g = " " + e.className + " "; + for (h = 0, i = b.length; h < i; h++) ~g.indexOf(" " + b[h] + " ") || (g += b[h] + " "); + e.className = f.trim(g) + } + } + } + return this + }, + removeClass: function(a) { + var c, d, e, g, h, i, j; + if (f.isFunction(a)) return this.each(function(b) { + f(this).removeClass(a.call(this, b, this.className)) + }); + if (a && typeof a == "string" || a === b) { + c = (a || "").split(p); + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + if (g.nodeType === 1 && g.className) + if (a) { + h = (" " + g.className + " ").replace(o, " "); + for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " "); + g.className = f.trim(h) + } else g.className = "" + } + } + return this + }, + toggleClass: function(a, b) { + var c = typeof a, + d = typeof b == "boolean"; + if (f.isFunction(a)) return this.each(function(c) { + f(this).toggleClass(a.call(this, c, this.className, b), b) + }); + return this.each(function() { + if (c === "string") { + var e, g = 0, + h = f(this), + i = b, + j = a.split(p); + while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e) + } else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "" + }) + }, + hasClass: function(a) { + var b = " " + a + " ", + c = 0, + d = this.length; + for (; c < d; c++) + if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1) return !0; + return !1 + }, + val: function(a) { + var c, d, e, g = this[0]; { + if (!!arguments.length) { + e = f.isFunction(a); + return this.each(function(d) { + var g = f(this), + h; + if (this.nodeType === 1) { + e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function(a) { + return a == null ? "" : a + "" + })), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type]; + if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h + } + }) + } + if (g) { + c = f.valHooks[g.nodeName.toLowerCase()] || f.valHooks[g.type]; + if (c && "get" in c && (d = c.get(g, "value")) !== b) return d; + d = g.value; + return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d + } + } + } + }), f.extend({ + valHooks: { + option: { + get: function(a) { + var b = a.attributes.value; + return !b || b.specified ? a.value : a.text + } + }, + select: { + get: function(a) { + var b, c, d, e, g = a.selectedIndex, + h = [], + i = a.options, + j = a.type === "select-one"; + if (g < 0) return null; + c = j ? g : 0, d = j ? g + 1 : i.length; + for (; c < d; c++) { + e = i[c]; + if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) { + b = f(e).val(); + if (j) return b; + h.push(b) + } + } + if (j && !h.length && i.length) return f(i[g]).val(); + return h + }, + set: function(a, b) { + var c = f.makeArray(b); + f(a).find("option").each(function() { + this.selected = f.inArray(f(this).val(), c) >= 0 + }), c.length || (a.selectedIndex = -1); + return c + } + } + }, + attrFn: { + val: !0, + css: !0, + html: !0, + text: !0, + data: !0, + width: !0, + height: !0, + offset: !0 + }, + attr: function(a, c, d, e) { + var g, h, i, j = a.nodeType; + if (!!a && j !== 3 && j !== 8 && j !== 2) { + if (e && c in f.attrFn) return f(a)[c](d); + if (typeof a.getAttribute == "undefined") return f.prop(a, c, d); + i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w)); + if (d !== b) { + if (d === null) { + f.removeAttr(a, c); + return + } + if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g; + a.setAttribute(c, "" + d); + return d + } + if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g; + g = a.getAttribute(c); + return g === null ? b : g + } + }, + removeAttr: function(a, b) { + var c, d, e, g, h = 0; + if (b && a.nodeType === 1) { + d = b.toLowerCase().split(p), g = d.length; + for (; h < g; h++) e = d[h], e && (c = f.propFix[e] || e, f.attr(a, e, ""), a.removeAttribute(v ? e : c), u.test(e) && c in a && (a[c] = !1)) + } + }, + attrHooks: { + type: { + set: function(a, b) { + if (r.test(a.nodeName) && a.parentNode) f.error("type property can't be changed"); + else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) { + var c = a.value; + a.setAttribute("type", b), c && (a.value = c); + return b + } + } + }, + value: { + get: function(a, b) { + if (w && f.nodeName(a, "button")) return w.get(a, b); + return b in a ? a.value : null + }, + set: function(a, b, c) { + if (w && f.nodeName(a, "button")) return w.set(a, b, c); + a.value = b + } + } + }, + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + prop: function(a, c, d) { + var e, g, h, i = a.nodeType; + if (!!a && i !== 3 && i !== 8 && i !== 2) { + h = i !== 1 || !f.isXMLDoc(a), h && (c = f.propFix[c] || c, g = f.propHooks[c]); + return d !== b ? g && "set" in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get" in g && (e = g.get(a, c)) !== null ? e : a[c] + } + }, + propHooks: { + tabIndex: { + get: function(a) { + var c = a.getAttributeNode("tabindex"); + return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b + } + } + } + }), f.attrHooks.tabindex = f.propHooks.tabIndex, x = { + get: function(a, c) { + var d, e = f.prop(a, c); + return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b + }, + set: function(a, b, c) { + var d; + b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())); + return c + } + }, v || (y = { + name: !0, + id: !0 + }, w = f.valHooks.button = { + get: function(a, c) { + var d; + d = a.getAttributeNode(c); + return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b + }, + set: function(a, b, d) { + var e = a.getAttributeNode(d); + e || (e = c.createAttribute(d), a.setAttributeNode(e)); + return e.nodeValue = b + "" + } + }, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function(a, b) { + f.attrHooks[b] = f.extend(f.attrHooks[b], { + set: function(a, c) { + if (c === "") { + a.setAttribute(b, "auto"); + return c + } + } + }) + }), f.attrHooks.contenteditable = { + get: w.get, + set: function(a, b, c) { + b === "" && (b = "false"), w.set(a, b, c) + } + }), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function(a, c) { + f.attrHooks[c] = f.extend(f.attrHooks[c], { + get: function(a) { + var d = a.getAttribute(c, 2); + return d === null ? b : d + } + }) + }), f.support.style || (f.attrHooks.style = { + get: function(a) { + return a.style.cssText.toLowerCase() || b + }, + set: function(a, b) { + return a.style.cssText = "" + b + } + }), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, { + get: function(a) { + var b = a.parentNode; + b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex); + return null + } + })), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function() { + f.valHooks[this] = { + get: function(a) { + return a.getAttribute("value") === null ? "on" : a.value + } + } + }), f.each(["radio", "checkbox"], function() { + f.valHooks[this] = f.extend(f.valHooks[this], { + set: function(a, b) { + if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0 + } + }) + }); + var z = /^(?:textarea|input|select)$/i, + A = /^([^\.]*)?(?:\.(.+))?$/, + B = /\bhover(\.\S+)?\b/, + C = /^key/, + D = /^(?:mouse|contextmenu)|click/, + E = /^(?:focusinfocus|focusoutblur)$/, + F = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, + G = function(a) { + var b = F.exec(a); + b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)")); + return b + }, + H = function(a, b) { + var c = a.attributes || {}; + return (!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value)) + }, + I = function(a) { + return f.event.special.hover ? a : a.replace(B, "mouseenter$1 mouseleave$1") + }; + f.event = { + add: function(a, c, d, e, g) { + var h, i, j, k, l, m, n, o, p, q, r, s; + if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) { + d.handler && (p = d, d = p.handler), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function(a) { + return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b + }, i.elem = a), c = f.trim(I(c)).split(" "); + for (k = 0; k < c.length; k++) { + l = A.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({ + type: m, + origType: l[1], + data: e, + handler: d, + guid: d.guid, + selector: g, + quick: G(g), + namespace: n.join(".") + }, p), r = j[m]; + if (!r) { + r = j[m] = [], r.delegateCount = 0; + if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i) + } + s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0 + } + a = null + } + }, + global: {}, + remove: function(a, b, c, d, e) { + var g = f.hasData(a) && f._data(a), + h, i, j, k, l, m, n, o, p, q, r, s; + if (!!g && !!(o = g.events)) { + b = f.trim(I(b || "")).split(" "); + for (h = 0; h < b.length; h++) { + i = A.exec(b[h]) || [], j = k = i[1], l = i[2]; + if (!j) { + for (j in o) f.event.remove(a, j + b[h], c, d, !0); + continue + } + p = f.event.special[j] || {}, j = (d ? p.delegateType : p.bindType) || j, r = o[j] || [], m = r.length, l = l ? new RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + for (n = 0; n < r.length; n++) s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s)); + r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeEvent(a, j, g.handle), delete o[j]) + } + f.isEmptyObject(o) && (q = g.handle, q && (q.elem = null), f.removeData(a, ["events", "handle"], !0)) + } + }, + customEvent: { + getData: !0, + setData: !0, + changeData: !0 + }, + trigger: function(c, d, e, g) { + if (!e || e.nodeType !== 3 && e.nodeType !== 8) { + var h = c.type || c, + i = [], + j, k, l, m, n, o, p, q, r, s; + if (E.test(h + f.event.triggered)) return; + h.indexOf("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort()); + if ((!e || f.event.customEvent[h]) && !f.event.global[h]) return; + c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : ""; + if (!e) { + j = f.cache; + for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0); + return + } + c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {}; + if (p.trigger && p.trigger.apply(e, d) === !1) return; + r = [ + [e, p.bindType || h] + ]; + if (!g && !p.noBubble && !f.isWindow(e)) { + s = p.delegateType || h, m = E.test(s + h) ? e : e.parentNode, n = null; + for (; m; m = m.parentNode) r.push([m, s]), n = m; + n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s]) + } + for (l = 0; l < r.length && !c.isPropagationStopped(); l++) m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d) === !1 && c.preventDefault(); + c.type = h, !g && !c.isDefaultPrevented() && (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n)); + return c.result + } + }, + dispatch: function(c) { + c = f.event.fix(c || a.event); + var d = (f._data(this, "events") || {})[c.type] || [], + e = d.delegateCount, + g = [].slice.call(arguments, 0), + h = !c.exclusive && !c.namespace, + i = [], + j, k, l, m, n, o, p, q, r, s, t; + g[0] = c, c.delegateTarget = this; + if (e && !c.target.disabled && (!c.button || c.type !== "click")) { + m = f(this), m.context = this.ownerDocument || this; + for (l = c.target; l != this; l = l.parentNode || this) { + o = {}, q = [], m[0] = l; + for (j = 0; j < e; j++) r = d[j], s = r.selector, o[s] === b && (o[s] = r.quick ? H(l, r.quick) : m.is(s)), o[s] && q.push(r); + q.length && i.push({ + elem: l, + matches: q + }) + } + } + d.length > e && i.push({ + elem: this, + matches: d.slice(e) + }); + for (j = 0; j < i.length && !c.isPropagationStopped(); j++) { + p = i[j], c.currentTarget = p.elem; + for (k = 0; k < p.matches.length && !c.isImmediatePropagationStopped(); k++) { + r = p.matches[k]; + if (h || !c.namespace && !r.namespace || c.namespace_re && c.namespace_re.test(r.namespace)) c.data = r.data, c.handleObj = r, n = ((f.event.special[r.origType] || {}).handle || r.handler).apply(p.elem, g), n !== b && (c.result = n, n === !1 && (c.preventDefault(), c.stopPropagation())) + } + } + return c.result + }, + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + fixHooks: {}, + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function(a, b) { + a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode); + return a + } + }, + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function(a, d) { + var e, f, g, h = d.button, + i = d.fromElement; + a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0); + return a + } + }, + fix: function(a) { + if (a[f.expando]) return a; + var d, e, g = a, + h = f.event.fixHooks[a.type] || {}, + i = h.props ? this.props.concat(h.props) : this.props; + a = f.Event(g); + for (d = i.length; d;) e = i[--d], a[e] = g[e]; + a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey); + return h.filter ? h.filter(a, g) : a + }, + special: { + ready: { + setup: f.bindReady + }, + load: { + noBubble: !0 + }, + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + beforeunload: { + setup: function(a, b, c) { + f.isWindow(this) && (this.onbeforeunload = c) + }, + teardown: function(a, b) { + this.onbeforeunload === b && (this.onbeforeunload = null) + } + } + }, + simulate: function(a, b, c, d) { + var e = f.extend(new f.Event, c, { + type: a, + isSimulated: !0, + originalEvent: {} + }); + d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() + } + }, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function(a, b, c) { + a.removeEventListener && a.removeEventListener(b, c, !1) + } : function(a, b, c) { + a.detachEvent && a.detachEvent("on" + b, c) + }, f.Event = function(a, b) { + if (!(this instanceof f.Event)) return new f.Event(a, b); + a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? K : J) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0 + }, f.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = K; + var a = this.originalEvent; + !a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1) + }, + stopPropagation: function() { + this.isPropagationStopped = K; + var a = this.originalEvent; + !a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = K, this.stopPropagation() + }, + isDefaultPrevented: J, + isPropagationStopped: J, + isImmediatePropagationStopped: J + }, f.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" + }, function(a, b) { + f.event.special[a] = { + delegateType: b, + bindType: b, + handle: function(a) { + var c = this, + d = a.relatedTarget, + e = a.handleObj, + g = e.selector, + h; + if (!d || d !== c && !f.contains(c, d)) a.type = e.origType, h = e.handler.apply(this, arguments), a.type = b; + return h + } + } + }), f.support.submitBubbles || (f.event.special.submit = { + setup: function() { + if (f.nodeName(this, "form")) return !1; + f.event.add(this, "click._submit keypress._submit", function(a) { + var c = a.target, + d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b; + d && !d._submit_attached && (f.event.add(d, "submit._submit", function(a) { + this.parentNode && !a.isTrigger && f.event.simulate("submit", this.parentNode, a, !0) + }), d._submit_attached = !0) + }) + }, + teardown: function() { + if (f.nodeName(this, "form")) return !1; + f.event.remove(this, "._submit") + } + }), f.support.changeBubbles || (f.event.special.change = { + setup: function() { + if (z.test(this.nodeName)) { + if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function(a) { + a.originalEvent.propertyName === "checked" && (this._just_changed = !0) + }), f.event.add(this, "click._change", function(a) { + this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) + }); + return !1 + } + f.event.add(this, "beforeactivate._change", function(a) { + var b = a.target; + z.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function(a) { + this.parentNode && !a.isSimulated && !a.isTrigger && f.event.simulate("change", this.parentNode, a, !0) + }), b._change_attached = !0) + }) + }, + handle: function(a) { + var b = a.target; + if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments) + }, + teardown: function() { + f.event.remove(this, "._change"); + return z.test(this.nodeName) + } + }), f.support.focusinBubbles || f.each({ + focus: "focusin", + blur: "focusout" + }, function(a, b) { + var d = 0, + e = function(a) { + f.event.simulate(b, a.target, f.event.fix(a), !0) + }; + f.event.special[b] = { + setup: function() { + d++ === 0 && c.addEventListener(a, e, !0) + }, + teardown: function() { + --d === 0 && c.removeEventListener(a, e, !0) + } + } + }), f.fn.extend({ + on: function(a, c, d, e, g) { + var h, i; + if (typeof a == "object") { + typeof c != "string" && (d = c, c = b); + for (i in a) this.on(i, c, d, a[i], g); + return this + } + d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b)); + if (e === !1) e = J; + else if (!e) return this; + g === 1 && (h = e, e = function(a) { + f().off(a); + return h.apply(this, arguments) + }, e.guid = h.guid || (h.guid = f.guid++)); + return this.each(function() { + f.event.add(this, a, e, d, c) + }) + }, + one: function(a, b, c, d) { + return this.on.call(this, a, b, c, d, 1) + }, + off: function(a, c, d) { + if (a && a.preventDefault && a.handleObj) { + var e = a.handleObj; + f(a.delegateTarget).off(e.namespace ? e.type + "." + e.namespace : e.type, e.selector, e.handler); + return this + } + if (typeof a == "object") { + for (var g in a) this.off(g, c, a[g]); + return this + } + if (c === !1 || typeof c == "function") d = c, c = b; + d === !1 && (d = J); + return this.each(function() { + f.event.remove(this, a, d, c) + }) + }, + bind: function(a, b, c) { + return this.on(a, null, b, c) + }, + unbind: function(a, b) { + return this.off(a, null, b) + }, + live: function(a, b, c) { + f(this.context).on(a, this.selector, b, c); + return this + }, + die: function(a, b) { + f(this.context).off(a, this.selector || "**", b); + return this + }, + delegate: function(a, b, c, d) { + return this.on(b, a, c, d) + }, + undelegate: function(a, b, c) { + return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c) + }, + trigger: function(a, b) { + return this.each(function() { + f.event.trigger(a, b, this) + }) + }, + triggerHandler: function(a, b) { + if (this[0]) return f.event.trigger(a, b, this[0], !0) + }, + toggle: function(a) { + var b = arguments, + c = a.guid || f.guid++, + d = 0, + e = function(c) { + var e = (f._data(this, "lastToggle" + a.guid) || 0) % d; + f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(); + return b[e].apply(this, arguments) || !1 + }; + e.guid = c; + while (d < b.length) b[d++].guid = c; + return this.click(e) + }, + hover: function(a, b) { + return this.mouseenter(a).mouseleave(b || a) + } + }), f.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(a, b) { + f.fn[b] = function(a, c) { + c == null && (c = a, a = null); + return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) + }, f.attrFn && (f.attrFn[b] = !0), C.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), D.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks) + }), + function() { + function x(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + if (j.nodeType === 1) { + g || (j[d] = c, j.sizset = h); + if (typeof b != "string") { + if (j === b) { + k = !0; + break + } + } else if (m.filter(b, [j]).length > 0) { + k = j; + break + } + } + j = j[a] + } + e[h] = k + } + } + } + + function w(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + j.nodeType === 1 && !g && (j[d] = c, j.sizset = h); + if (j.nodeName.toLowerCase() === b) { + k = j; + break + } + j = j[a] + } + e[h] = k + } + } + } + var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + d = "sizcache" + (Math.random() + "").replace(".", ""), + e = 0, + g = Object.prototype.toString, + h = !1, + i = !0, + j = /\\/g, + k = /\r\n/g, + l = /\W/; + [0, 0].sort(function() { + i = !1; + return 0 + }); + var m = function(b, d, e, f) { + e = e || [], d = d || c; + var h = d; + if (d.nodeType !== 1 && d.nodeType !== 9) return []; + if (!b || typeof b != "string") return e; + var i, j, k, l, n, q, r, t, u = !0, + v = m.isXML(d), + w = [], + x = b; + do { + a.exec(""), i = a.exec(x); + if (i) { + x = i[3], w.push(i[1]); + if (i[2]) { + l = i[3]; + break + } + } + } while (i); + if (w.length > 1 && p.exec(b)) + if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f); + else { + j = o.relative[w[0]] ? [d] : m(w.shift(), d); + while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f) + } + else { + !f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]); + if (d) { + n = f ? { + expr: w.pop(), + set: s(f) + } : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1; + while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v) + } else k = w = [] + } + k || (k = j), k || m.error(q || b); + if (g.call(k) === "[object Array]") + if (!u) e.push.apply(e, k); + else if (d && d.nodeType === 1) + for (t = 0; k[t] != null; t++) k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]); + else + for (t = 0; k[t] != null; t++) k[t] && k[t].nodeType === 1 && e.push(j[t]); + else s(k, e); + l && (m(l, h, e, f), m.uniqueSort(e)); + return e + }; + m.uniqueSort = function(a) { + if (u) { + h = i, a.sort(u); + if (h) + for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1) + } + return a + }, m.matches = function(a, b) { + return m(a, null, null, b) + }, m.matchesSelector = function(a, b) { + return m(b, null, null, [a]).length > 0 + }, m.find = function(a, b, c) { + var d, e, f, g, h, i; + if (!a) return []; + for (e = 0, f = o.order.length; e < f; e++) { + h = o.order[e]; + if (g = o.leftMatch[h].exec(a)) { + i = g[1], g.splice(1, 1); + if (i.substr(i.length - 1) !== "\\") { + g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c); + if (d != null) { + a = a.replace(o.match[h], ""); + break + } + } + } + } + d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []); + return { + set: d, + expr: a + } + }, m.filter = function(a, c, d, e) { + var f, g, h, i, j, k, l, n, p, q = a, + r = [], + s = c, + t = c && c[0] && m.isXML(c[0]); + while (a && c.length) { + for (h in o.filter) + if ((f = o.leftMatch[h].exec(a)) != null && f[2]) { + k = o.filter[h], l = f[1], g = !1, f.splice(1, 1); + if (l.substr(l.length - 1) === "\\") continue; + s === r && (r = []); + if (o.preFilter[h]) { + f = o.preFilter[h](f, s, d, r, e, t); + if (!f) g = i = !0; + else if (f === !0) continue + } + if (f) + for (n = 0; + (j = s[n]) != null; n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0)); + if (i !== b) { + d || (s = r), a = a.replace(o.match[h], ""); + if (!g) return []; + break + } + } + if (a === q) + if (g == null) m.error(a); + else break; + q = a + } + return s + }, m.error = function(a) { + throw new Error("Syntax error, unrecognized expression: " + a) + }; + var n = m.getText = function(a) { + var b, c, d = a.nodeType, + e = ""; + if (d) { + if (d === 1 || d === 9) { + if (typeof a.textContent == "string") return a.textContent; + if (typeof a.innerText == "string") return a.innerText.replace(k, ""); + for (a = a.firstChild; a; a = a.nextSibling) e += n(a) + } else if (d === 3 || d === 4) return a.nodeValue + } else + for (b = 0; c = a[b]; b++) c.nodeType !== 8 && (e += n(c)); + return e + }, + o = m.selectors = { + order: ["ID", "NAME", "TAG"], + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + leftMatch: {}, + attrMap: { + "class": "className", + "for": "htmlFor" + }, + attrHandle: { + href: function(a) { + return a.getAttribute("href") + }, + type: function(a) { + return a.getAttribute("type") + } + }, + relative: { + "+": function(a, b) { + var c = typeof b == "string", + d = c && !l.test(b), + e = c && !d; + d && (b = b.toLowerCase()); + for (var f = 0, g = a.length, h; f < g; f++) + if (h = a[f]) { + while ((h = h.previousSibling) && h.nodeType !== 1); + a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b + } + e && m.filter(b, a, !0) + }, + ">": function(a, b) { + var c, d = typeof b == "string", + e = 0, + f = a.length; + if (d && !l.test(b)) { + b = b.toLowerCase(); + for (; e < f; e++) { + c = a[e]; + if (c) { + var g = c.parentNode; + a[e] = g.nodeName.toLowerCase() === b ? g : !1 + } + } + } else { + for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b); + d && m.filter(b, a, !0) + } + }, + "": function(a, b, c) { + var d, f = e++, + g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c) + }, + "~": function(a, b, c) { + var d, f = e++, + g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c) + } + }, + find: { + ID: function(a, b, c) { + if (typeof b.getElementById != "undefined" && !c) { + var d = b.getElementById(a[1]); + return d && d.parentNode ? [d] : [] + } + }, + NAME: function(a, b) { + if (typeof b.getElementsByName != "undefined") { + var c = [], + d = b.getElementsByName(a[1]); + for (var e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]); + return c.length === 0 ? null : c + } + }, + TAG: function(a, b) { + if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1]) + } + }, + preFilter: { + CLASS: function(a, b, c, d, e, f) { + a = " " + a[1].replace(j, "") + " "; + if (f) return a; + for (var g = 0, h; + (h = b[g]) != null; g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1)); + return !1 + }, + ID: function(a) { + return a[1].replace(j, "") + }, + TAG: function(a, b) { + return a[1].replace(j, "").toLowerCase() + }, + CHILD: function(a) { + if (a[1] === "nth") { + a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, ""); + var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]); + a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0 + } else a[2] && m.error(a[0]); + a[0] = e++; + return a + }, + ATTR: function(a, b, c, d, e, f) { + var g = a[1] = a[1].replace(j, ""); + !f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " "); + return a + }, + PSEUDO: function(b, c, d, e, f) { + if (b[1] === "not") + if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c); + else { + var g = m.filter(b[3], c, d, !0 ^ f); + d || e.push.apply(e, g); + return !1 + } + else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0])) return !0; + return b + }, + POS: function(a) { + a.unshift(!0); + return a + } + }, + filters: { + enabled: function(a) { + return a.disabled === !1 && a.type !== "hidden" + }, + disabled: function(a) { + return a.disabled === !0 + }, + checked: function(a) { + return a.checked === !0 + }, + selected: function(a) { + a.parentNode && a.parentNode.selectedIndex; + return a.selected === !0 + }, + parent: function(a) { + return !!a.firstChild + }, + empty: function(a) { + return !a.firstChild + }, + has: function(a, b, c) { + return !!m(c[3], a).length + }, + header: function(a) { + return /h\d/i.test(a.nodeName) + }, + text: function(a) { + var b = a.getAttribute("type"), + c = a.type; + return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null) + }, + radio: function(a) { + return a.nodeName.toLowerCase() === "input" && "radio" === a.type + }, + checkbox: function(a) { + return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type + }, + file: function(a) { + return a.nodeName.toLowerCase() === "input" && "file" === a.type + }, + password: function(a) { + return a.nodeName.toLowerCase() === "input" && "password" === a.type + }, + submit: function(a) { + var b = a.nodeName.toLowerCase(); + return (b === "input" || b === "button") && "submit" === a.type + }, + image: function(a) { + return a.nodeName.toLowerCase() === "input" && "image" === a.type + }, + reset: function(a) { + var b = a.nodeName.toLowerCase(); + return (b === "input" || b === "button") && "reset" === a.type + }, + button: function(a) { + var b = a.nodeName.toLowerCase(); + return b === "input" && "button" === a.type || b === "button" + }, + input: function(a) { + return /input|select|textarea|button/i.test(a.nodeName) + }, + focus: function(a) { + return a === a.ownerDocument.activeElement + } + }, + setFilters: { + first: function(a, b) { + return b === 0 + }, + last: function(a, b, c, d) { + return b === d.length - 1 + }, + even: function(a, b) { + return b % 2 === 0 + }, + odd: function(a, b) { + return b % 2 === 1 + }, + lt: function(a, b, c) { + return b < c[3] - 0 + }, + gt: function(a, b, c) { + return b > c[3] - 0 + }, + nth: function(a, b, c) { + return c[3] - 0 === b + }, + eq: function(a, b, c) { + return c[3] - 0 === b + } + }, + filter: { + PSEUDO: function(a, b, c, d) { + var e = b[1], + f = o.filters[e]; + if (f) return f(a, c, b, d); + if (e === "contains") return (a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0; + if (e === "not") { + var g = b[3]; + for (var h = 0, i = g.length; h < i; h++) + if (g[h] === a) return !1; + return !0 + } + m.error(e) + }, + CHILD: function(a, b) { + var c, e, f, g, h, i, j, k = b[1], + l = a; + switch (k) { + case "only": + case "first": + while (l = l.previousSibling) + if (l.nodeType === 1) return !1; + if (k === "first") return !0; + l = a; + case "last": + while (l = l.nextSibling) + if (l.nodeType === 1) return !1; + return !0; + case "nth": + c = b[2], e = b[3]; + if (c === 1 && e === 0) return !0; + f = b[0], g = a.parentNode; + if (g && (g[d] !== f || !a.nodeIndex)) { + i = 0; + for (l = g.firstChild; l; l = l.nextSibling) l.nodeType === 1 && (l.nodeIndex = ++i); + g[d] = f + } + j = a.nodeIndex - e; + return c === 0 ? j === 0 : j % c === 0 && j / c >= 0 + } + }, + ID: function(a, b) { + return a.nodeType === 1 && a.getAttribute("id") === b + }, + TAG: function(a, b) { + return b === "*" && a.nodeType === 1 || !!a.nodeName && a.nodeName.toLowerCase() === b + }, + CLASS: function(a, b) { + return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1 + }, + ATTR: function(a, b) { + var c = b[1], + d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), + e = d + "", + f = b[2], + g = b[4]; + return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1 + }, + POS: function(a, b, c, d) { + var e = b[2], + f = o.setFilters[e]; + if (f) return f(a, c, b, d) + } + } + }, + p = o.match.POS, + q = function(a, b) { + return "\\" + (b - 0 + 1) + }; + for (var r in o.match) o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q)); + var s = function(a, b) { + a = Array.prototype.slice.call(a, 0); + if (b) { + b.push.apply(b, a); + return b + } + return a + }; + try { + Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType + } catch (t) { + s = function(a, b) { + var c = 0, + d = b || []; + if (g.call(a) === "[object Array]") Array.prototype.push.apply(d, a); + else if (typeof a.length == "number") + for (var e = a.length; c < e; c++) d.push(a[c]); + else + for (; a[c]; c++) d.push(a[c]); + return d + } + } + var u, v; + c.documentElement.compareDocumentPosition ? u = function(a, b) { + if (a === b) { + h = !0; + return 0 + } + if (!a.compareDocumentPosition || !b.compareDocumentPosition) return a.compareDocumentPosition ? -1 : 1; + return a.compareDocumentPosition(b) & 4 ? -1 : 1 + } : (u = function(a, b) { + if (a === b) { + h = !0; + return 0 + } + if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex; + var c, d, e = [], + f = [], + g = a.parentNode, + i = b.parentNode, + j = g; + if (g === i) return v(a, b); + if (!g) return -1; + if (!i) return 1; + while (j) e.unshift(j), j = j.parentNode; + j = i; + while (j) f.unshift(j), j = j.parentNode; + c = e.length, d = f.length; + for (var k = 0; k < c && k < d; k++) + if (e[k] !== f[k]) return v(e[k], f[k]); + return k === c ? v(a, f[k], -1) : v(e[k], b, 1) + }, v = function(a, b, c) { + if (a === b) return c; + var d = a.nextSibling; + while (d) { + if (d === b) return -1; + d = d.nextSibling + } + return 1 + }), + function() { + var a = c.createElement("div"), + d = "script" + (new Date).getTime(), + e = c.documentElement; + a.innerHTML = "", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function(a, c, d) { + if (typeof c.getElementById != "undefined" && !d) { + var e = c.getElementById(a[1]); + return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : [] + } + }, o.filter.ID = function(a, b) { + var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id"); + return a.nodeType === 1 && c && c.nodeValue === b + }), e.removeChild(a), e = a = null + }(), + function() { + var a = c.createElement("div"); + a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function(a, b) { + var c = b.getElementsByTagName(a[1]); + if (a[1] === "*") { + var d = []; + for (var e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]); + c = d + } + return c + }), a.innerHTML = "", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function(a) { + return a.getAttribute("href", 2) + }), a = null + }(), c.querySelectorAll && function() { + var a = m, + b = c.createElement("div"), + d = "__sizzle__"; + b.innerHTML = "

"; + if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) { + m = function(b, e, f, g) { + e = e || c; + if (!g && !m.isXML(e)) { + var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b); + if (h && (e.nodeType === 1 || e.nodeType === 9)) { + if (h[1]) return s(e.getElementsByTagName(b), f); + if (h[2] && o.find.CLASS && e.getElementsByClassName) return s(e.getElementsByClassName(h[2]), f) + } + if (e.nodeType === 9) { + if (b === "body" && e.body) return s([e.body], f); + if (h && h[3]) { + var i = e.getElementById(h[3]); + if (!i || !i.parentNode) return s([], f); + if (i.id === h[3]) return s([i], f) + } + try { + return s(e.querySelectorAll(b), f) + } catch (j) {} + } else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") { + var k = e, + l = e.getAttribute("id"), + n = l || d, + p = e.parentNode, + q = /^\s*[+~]/.test(b); + l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode); + try { + if (!q || p) return s(e.querySelectorAll("[id='" + n + "'] " + b), f) + } catch (r) {} finally { + l || k.removeAttribute("id") + } + } + } + return a(b, e, f, g) + }; + for (var e in a) m[e] = a[e]; + b = null + } + }(), + function() { + var a = c.documentElement, + b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector; + if (b) { + var d = !b.call(c.createElement("div"), "div"), + e = !1; + try { + b.call(c.documentElement, "[test!='']:sizzle") + } catch (f) { + e = !0 + } + m.matchesSelector = function(a, c) { + c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + if (!m.isXML(a)) try { + if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) { + var f = b.call(a, c); + if (f || !d || a.document && a.document.nodeType !== 11) return f + } + } catch (g) {} + return m(c, null, null, [a]).length > 0 + } + } + }(), + function() { + var a = c.createElement("div"); + a.innerHTML = "
"; + if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) { + a.lastChild.className = "e"; + if (a.getElementsByClassName("e").length === 1) return; + o.order.splice(1, 0, "CLASS"), o.find.CLASS = function(a, b, c) { + if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1]) + }, a = null + } + }(), c.documentElement.contains ? m.contains = function(a, b) { + return a !== b && (a.contains ? a.contains(b) : !0) + } : c.documentElement.compareDocumentPosition ? m.contains = function(a, b) { + return !!(a.compareDocumentPosition(b) & 16) + } : m.contains = function() { + return !1 + }, m.isXML = function(a) { + var b = (a ? a.ownerDocument || a : 0).documentElement; + return b ? b.nodeName !== "HTML" : !1 + }; + var y = function(a, b, c) { + var d, e = [], + f = "", + g = b.nodeType ? [b] : b; + while (d = o.match.PSEUDO.exec(a)) f += d[0], a = a.replace(o.match.PSEUDO, ""); + a = o.relative[a] ? a + "*" : a; + for (var h = 0, i = g.length; h < i; h++) m(a, g[h], e, c); + return m.filter(f, e) + }; + m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains + }(); + var L = /Until$/, + M = /^(?:parents|prevUntil|prevAll)/, + N = /,/, + O = /^.[^:#\[\.,]*$/, + P = Array.prototype.slice, + Q = f.expr.match.POS, + R = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + f.fn.extend({ + find: function(a) { + var b = this, + c, d; + if (typeof a != "string") return f(a).filter(function() { + for (c = 0, d = b.length; c < d; c++) + if (f.contains(b[c], this)) return !0 + }); + var e = this.pushStack("", "find", a), + g, h, i; + for (c = 0, d = this.length; c < d; c++) { + g = e.length, f.find(a, this[c], e); + if (c > 0) + for (h = g; h < e.length; h++) + for (i = 0; i < g; i++) + if (e[i] === e[h]) { + e.splice(h--, 1); + break + } + } + return e + }, + has: function(a) { + var b = f(a); + return this.filter(function() { + for (var a = 0, c = b.length; a < c; a++) + if (f.contains(this, b[a])) return !0 + }) + }, + not: function(a) { + return this.pushStack(T(this, a, !1), "not", a) + }, + filter: function(a) { + return this.pushStack(T(this, a, !0), "filter", a) + }, + is: function(a) { + return !!a && (typeof a == "string" ? Q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0) + }, + closest: function(a, b) { + var c = [], + d, e, g = this[0]; + if (f.isArray(a)) { + var h = 1; + while (g && g.ownerDocument && g !== b) { + for (d = 0; d < a.length; d++) f(g).is(a[d]) && c.push({ + selector: a[d], + elem: g, + level: h + }); + g = g.parentNode, h++ + } + return c + } + var i = Q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0; + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + while (g) { + if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) { + c.push(g); + break + } + g = g.parentNode; + if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break + } + } + c = c.length > 1 ? f.unique(c) : c; + return this.pushStack(c, "closest", a) + }, + index: function(a) { + if (!a) return this[0] && this[0].parentNode ? this.prevAll().length : -1; + if (typeof a == "string") return f.inArray(this[0], f(a)); + return f.inArray(a.jquery ? a[0] : a, this) + }, + add: function(a, b) { + var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a), + d = f.merge(this.get(), c); + return this.pushStack(S(c[0]) || S(d[0]) ? d : f.unique(d)) + }, + andSelf: function() { + return this.add(this.prevObject) + } + }), f.each({ + parent: function(a) { + var b = a.parentNode; + return b && b.nodeType !== 11 ? b : null + }, + parents: function(a) { + return f.dir(a, "parentNode") + }, + parentsUntil: function(a, b, c) { + return f.dir(a, "parentNode", c) + }, + next: function(a) { + return f.nth(a, 2, "nextSibling") + }, + prev: function(a) { + return f.nth(a, 2, "previousSibling") + }, + nextAll: function(a) { + return f.dir(a, "nextSibling") + }, + prevAll: function(a) { + return f.dir(a, "previousSibling") + }, + nextUntil: function(a, b, c) { + return f.dir(a, "nextSibling", c) + }, + prevUntil: function(a, b, c) { + return f.dir(a, "previousSibling", c) + }, + siblings: function(a) { + return f.sibling(a.parentNode.firstChild, a) + }, + children: function(a) { + return f.sibling(a.firstChild) + }, + contents: function(a) { + return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes) + } + }, function(a, b) { + f.fn[a] = function(c, d) { + var e = f.map(this, b, c); + L.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !R[a] ? f.unique(e) : e, (this.length > 1 || N.test(d)) && M.test(a) && (e = e.reverse()); + return this.pushStack(e, a, P.call(arguments).join(",")) + } + }), f.extend({ + filter: function(a, b, c) { + c && (a = ":not(" + a + ")"); + return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b) + }, + dir: function(a, c, d) { + var e = [], + g = a[c]; + while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c]; + return e + }, + nth: function(a, b, c, d) { + b = b || 1; + var e = 0; + for (; a; a = a[c]) + if (a.nodeType === 1 && ++e === b) break; + return a + }, + sibling: function(a, b) { + var c = []; + for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a); + return c + } + }); + var V = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + W = / jQuery\d+="(?:\d+|null)"/g, + X = /^\s+/, + Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + Z = /<([\w:]+)/, + $ = /", ""], + legend: [1, "
", "
"], + thead: [1, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + col: [2, "", "
"], + area: [1, "", ""], + _default: [0, "", ""] + }, + bh = U(c); + bg.optgroup = bg.option, bg.tbody = bg.tfoot = bg.colgroup = bg.caption = bg.thead, bg.th = bg.td, f.support.htmlSerialize || (bg._default = [1, "div
", "
"]), f.fn.extend({ + text: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this); + c.text(a.call(this, b, c.text())) + }); + if (typeof a != "object" && a !== b) return this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)); + return f.text(this) + }, + wrapAll: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + f(this).wrapAll(a.call(this, b)) + }); + if (this[0]) { + var b = f(a, this[0].ownerDocument).eq(0).clone(!0); + this[0].parentNode && b.insertBefore(this[0]), b.map(function() { + var a = this; + while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild; + return a + }).append(this) + } + return this + }, + wrapInner: function(a) { + if (f.isFunction(a)) return this.each(function(b) { + f(this).wrapInner(a.call(this, b)) + }); + return this.each(function() { + var b = f(this), + c = b.contents(); + c.length ? c.wrapAll(a) : b.append(a) + }) + }, + wrap: function(a) { + var b = f.isFunction(a); + return this.each(function(c) { + f(this).wrapAll(b ? a.call(this, c) : a) + }) + }, + unwrap: function() { + return this.parent().each(function() { + f.nodeName(this, "body") || f(this).replaceWith(this.childNodes) + }).end() + }, + append: function() { + return this.domManip(arguments, !0, function(a) { + this.nodeType === 1 && this.appendChild(a) + }) + }, + prepend: function() { + return this.domManip(arguments, !0, function(a) { + this.nodeType === 1 && this.insertBefore(a, this.firstChild) + }) + }, + before: function() { + if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) { + this.parentNode.insertBefore(a, this) + }); + if (arguments.length) { + var a = f.clean(arguments); + a.push.apply(a, this.toArray()); + return this.pushStack(a, "before", arguments) + } + }, + after: function() { + if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) { + this.parentNode.insertBefore(a, this.nextSibling) + }); + if (arguments.length) { + var a = this.pushStack(this, "after", arguments); + a.push.apply(a, f.clean(arguments)); + return a + } + }, + remove: function(a, b) { + for (var c = 0, d; + (d = this[c]) != null; c++) + if (!a || f.filter(a, [d]).length) !b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d); + return this + }, + empty: function() { + for (var a = 0, b; + (b = this[a]) != null; a++) { + b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*")); + while (b.firstChild) b.removeChild(b.firstChild) + } + return this + }, + clone: function(a, b) { + a = a == null ? !1 : a, b = b == null ? a : b; + return this.map(function() { + return f.clone(this, a, b) + }) + }, + html: function(a) { + if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(W, "") : null; + if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !bg[(Z.exec(a) || ["", ""])[1].toLowerCase()]) { + a = a.replace(Y, "<$1>"); + try { + for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a) + } catch (e) { + this.empty().append(a) + } + } else f.isFunction(a) ? this.each(function(b) { + var c = f(this); + c.html(a.call(this, b, c.html())) + }) : this.empty().append(a); + return this + }, + replaceWith: function(a) { + if (this[0] && this[0].parentNode) { + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this), + d = c.html(); + c.replaceWith(a.call(this, b, d)) + }); + typeof a != "string" && (a = f(a).detach()); + return this.each(function() { + var b = this.nextSibling, + c = this.parentNode; + f(this).remove(), b ? f(b).before(a) : f(c).append(a) + }) + } + return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this + }, + detach: function(a) { + return this.remove(a, !0) + }, + domManip: function(a, c, d) { + var e, g, h, i, j = a[0], + k = []; + if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bd.test(j)) return this.each(function() { + f(this).domManip(a, c, d, !0) + }); + if (f.isFunction(j)) return this.each(function(e) { + var g = f(this); + a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d) + }); + if (this[0]) { + i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = { + fragment: i + } : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild; + if (g) { + c = c && f.nodeName(g, "tr"); + for (var l = 0, m = this.length, n = m - 1; l < m; l++) d.call(c ? bi(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h) + } + k.length && f.each(k, bp) + } + return this + } + }), f.buildFragment = function(a, b, d) { + var e, g, h, i, j = a[0]; + b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !bb.test(j) && (f.support.checkClone || !bd.test(j)) && (f.support.html5Clone || !bc.test(j)) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1); + return { + fragment: e, + cacheable: g + } + }, f.fragments = {}, f.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(a, b) { + f.fn[a] = function(c) { + var d = [], + e = f(c), + g = this.length === 1 && this[0].parentNode; + if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) { + e[b](this[0]); + return this + } + for (var h = 0, i = e.length; h < i; h++) { + var j = (h > 0 ? this.clone(!0) : this).get(); + f(e[h])[b](j), d = d.concat(j) + } + return this.pushStack(d, a, e.selector) + } + }), f.extend({ + clone: function(a, b, c) { + var d, e, g, h = f.support.html5Clone || !bc.test("<" + a.nodeName) ? a.cloneNode(!0) : bo(a); + if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) { + bk(a, h), d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g) e[g] && bk(d[g], e[g]) + } + if (b) { + bj(a, h); + if (c) { + d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g) bj(d[g], e[g]) + } + } + d = e = null; + return h + }, + clean: function(a, b, d, e) { + var g; + b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c); + var h = [], + i; + for (var j = 0, k; + (k = a[j]) != null; j++) { + typeof k == "number" && (k += ""); + if (!k) continue; + if (typeof k == "string") + if (!_.test(k)) k = b.createTextNode(k); + else { + k = k.replace(Y, "<$1>"); + var l = (Z.exec(k) || ["", ""])[1].toLowerCase(), + m = bg[l] || bg._default, + n = m[0], + o = b.createElement("div"); + b === c ? bh.appendChild(o) : U(b).appendChild(o), o.innerHTML = m[1] + k + m[2]; + while (n--) o = o.lastChild; + if (!f.support.tbody) { + var p = $.test(k), + q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "" && !p ? o.childNodes : []; + for (i = q.length - 1; i >= 0; --i) f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i]) + }!f.support.leadingWhitespace && X.test(k) && o.insertBefore(b.createTextNode(X.exec(k)[0]), o.firstChild), k = o.childNodes + } + var r; + if (!f.support.appendChecked) + if (k[0] && typeof(r = k.length) == "number") + for (i = 0; i < r; i++) bn(k[i]); + else bn(k); + k.nodeType ? h.push(k) : h = f.merge(h, k) + } + if (d) { + g = function(a) { + return !a.type || be.test(a.type) + }; + for (j = 0; h[j]; j++) + if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript")) e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]); + else { + if (h[j].nodeType === 1) { + var s = f.grep(h[j].getElementsByTagName("script"), g); + h.splice.apply(h, [j + 1, 0].concat(s)) + } + d.appendChild(h[j]) + } + } + return h + }, + cleanData: function(a) { + var b, c, d = f.cache, + e = f.event.special, + g = f.support.deleteExpando; + for (var h = 0, i; + (i = a[h]) != null; h++) { + if (i.nodeName && f.noData[i.nodeName.toLowerCase()]) continue; + c = i[f.expando]; + if (c) { + b = d[c]; + if (b && b.events) { + for (var j in b.events) e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle); + b.handle && (b.handle.elem = null) + } + g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c] + } + } + } + }); + var bq = /alpha\([^)]*\)/i, + br = /opacity=([^)]*)/, + bs = /([A-Z]|^ms)/g, + bt = /^-?\d+(?:px)?$/i, + bu = /^-?\d/, + bv = /^([\-+])=([\-+.\de]+)/, + bw = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + bx = ["Left", "Right"], + by = ["Top", "Bottom"], + bz, bA, bB; + f.fn.css = function(a, c) { + if (arguments.length === 2 && c === b) return this; + return f.access(this, a, c, !0, function(a, c, d) { + return d !== b ? f.style(a, c, d) : f.css(a, c) + }) + }, f.extend({ + cssHooks: { + opacity: { + get: function(a, b) { + if (b) { + var c = bz(a, "opacity", "opacity"); + return c === "" ? "1" : c + } + return a.style.opacity + } + } + }, + cssNumber: { + fillOpacity: !0, + fontWeight: !0, + lineHeight: !0, + opacity: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: { + "float": f.support.cssFloat ? "cssFloat" : "styleFloat" + }, + style: function(a, c, d, e) { + if (!!a && a.nodeType !== 3 && a.nodeType !== 8 && !!a.style) { + var g, h, i = f.camelCase(c), + j = a.style, + k = f.cssHooks[i]; + c = f.cssProps[i] || i; + if (d === b) { + if (k && "get" in k && (g = k.get(a, !1, e)) !== b) return g; + return j[c] + } + h = typeof d, h === "string" && (g = bv.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number"); + if (d == null || h === "number" && isNaN(d)) return; + h === "number" && !f.cssNumber[i] && (d += "px"); + if (!k || !("set" in k) || (d = k.set(a, d)) !== b) try { + j[c] = d + } catch (l) {} + } + }, + css: function(a, c, d) { + var e, g; + c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float"); + if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e; + if (bz) return bz(a, c) + }, + swap: function(a, b, c) { + var d = {}; + for (var e in b) d[e] = a.style[e], a.style[e] = b[e]; + c.call(a); + for (e in b) a.style[e] = d[e] + } + }), f.curCSS = f.css, f.each(["height", "width"], function(a, b) { + f.cssHooks[b] = { + get: function(a, c, d) { + var e; + if (c) { + if (a.offsetWidth !== 0) return bC(a, b, d); + f.swap(a, bw, function() { + e = bC(a, b, d) + }); + return e + } + }, + set: function(a, b) { + if (!bt.test(b)) return b; + b = parseFloat(b); + if (b >= 0) return b + "px" + } + } + }), f.support.opacity || (f.cssHooks.opacity = { + get: function(a, b) { + return br.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "" + }, + set: function(a, b) { + var c = a.style, + d = a.currentStyle, + e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", + g = d && d.filter || c.filter || ""; + c.zoom = 1; + if (b >= 1 && f.trim(g.replace(bq, "")) === "") { + c.removeAttribute("filter"); + if (d && !d.filter) return + } + c.filter = bq.test(g) ? g.replace(bq, e) : g + " " + e + } + }), f(function() { + f.support.reliableMarginRight || (f.cssHooks.marginRight = { + get: function(a, b) { + var c; + f.swap(a, { + display: "inline-block" + }, function() { + b ? c = bz(a, "margin-right", "marginRight") : c = a.style.marginRight + }); + return c + } + }) + }), c.defaultView && c.defaultView.getComputedStyle && (bA = function(a, b) { + var c, d, e; + b = b.replace(bs, "-$1").toLowerCase(), (d = a.ownerDocument.defaultView) && (e = d.getComputedStyle(a, null)) && (c = e.getPropertyValue(b), c === "" && !f.contains(a.ownerDocument.documentElement, a) && (c = f.style(a, b))); + return c + }), c.documentElement.currentStyle && (bB = function(a, b) { + var c, d, e, f = a.currentStyle && a.currentStyle[b], + g = a.style; + f === null && g && (e = g[b]) && (f = e), !bt.test(f) && bu.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f || 0, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d)); + return f === "" ? "auto" : f + }), bz = bA || bB, f.expr && f.expr.filters && (f.expr.filters.hidden = function(a) { + var b = a.offsetWidth, + c = a.offsetHeight; + return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none" + }, f.expr.filters.visible = function(a) { + return !f.expr.filters.hidden(a) + }); + var bD = /%20/g, + bE = /\[\]$/, + bF = /\r?\n/g, + bG = /#.*$/, + bH = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, + bI = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + bJ = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + bK = /^(?:GET|HEAD)$/, + bL = /^\/\//, + bM = /\?/, + bN = /)<[^<]*)*<\/script>/gi, + bO = /^(?:select|textarea)/i, + bP = /\s+/, + bQ = /([?&])_=[^&]*/, + bR = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, + bS = f.fn.load, + bT = {}, + bU = {}, + bV, bW, bX = ["*/"] + ["*"]; + try { + bV = e.href + } catch (bY) { + bV = c.createElement("a"), bV.href = "", bV = bV.href + } + bW = bR.exec(bV.toLowerCase()) || [], f.fn.extend({ + load: function(a, c, d) { + if (typeof a != "string" && bS) return bS.apply(this, arguments); + if (!this.length) return this; + var e = a.indexOf(" "); + if (e >= 0) { + var g = a.slice(e, a.length); + a = a.slice(0, e) + } + var h = "GET"; + c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST")); + var i = this; + f.ajax({ + url: a, + type: h, + dataType: "html", + data: c, + complete: function(a, b, c) { + c = a.responseText, a.isResolved() && (a.done(function(a) { + c = a + }), i.html(g ? f("
").append(c.replace(bN, "")).find(g) : c)), d && i.each(d, [c, b, a]) + } + }); + return this + }, + serialize: function() { + return f.param(this.serializeArray()) + }, + serializeArray: function() { + return this.map(function() { + return this.elements ? f.makeArray(this.elements) : this + }).filter(function() { + return this.name && !this.disabled && (this.checked || bO.test(this.nodeName) || bI.test(this.type)) + }).map(function(a, b) { + var c = f(this).val(); + return c == null ? null : f.isArray(c) ? f.map(c, function(a, c) { + return { + name: b.name, + value: a.replace(bF, "\r\n") + } + }) : { + name: b.name, + value: c.replace(bF, "\r\n") + } + }).get() + } + }), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) { + f.fn[b] = function(a) { + return this.on(b, a) + } + }), f.each(["get", "post"], function(a, c) { + f[c] = function(a, d, e, g) { + f.isFunction(d) && (g = g || e, e = d, d = b); + return f.ajax({ + type: c, + url: a, + data: d, + success: e, + dataType: g + }) + } + }), f.extend({ + getScript: function(a, c) { + return f.get(a, b, c, "script") + }, + getJSON: function(a, b, c) { + return f.get(a, b, c, "json") + }, + ajaxSetup: function(a, b) { + b ? b_(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), b_(a, b); + return a + }, + ajaxSettings: { + url: bV, + isLocal: bJ.test(bW[1]), + global: !0, + type: "GET", + contentType: "application/x-www-form-urlencoded", + processData: !0, + async: !0, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": bX + }, + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + responseFields: { + xml: "responseXML", + text: "responseText" + }, + converters: { + "* text": a.String, + "text html": !0, + "text json": f.parseJSON, + "text xml": f.parseXML + }, + flatOptions: { + context: !0, + url: !0 + } + }, + ajaxPrefilter: bZ(bT), + ajaxTransport: bZ(bU), + ajax: function(a, c) { + function w(a, c, l, m) { + if (s !== 2) { + s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0; + var o, r, u, w = c, + x = l ? cb(d, v, l) : b, + y, z; + if (a >= 200 && a < 300 || a === 304) { + if (d.ifModified) { + if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y; + if (z = v.getResponseHeader("Etag")) f.etag[k] = z + } + if (a === 304) w = "notmodified", o = !0; + else try { + r = cc(d, x), w = "success", o = !0 + } catch (A) { + w = "parsererror", u = A + } + } else { + u = w; + if (!w || a) w = "error", a < 0 && (a = 0) + } + v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop")) + } + } + typeof a == "object" && (c = a, a = b), c = c || {}; + var d = f.ajaxSetup({}, c), + e = d.context || d, + g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event, + h = f.Deferred(), + i = f.Callbacks("once memory"), + j = d.statusCode || {}, + k, l = {}, + m = {}, + n, o, p, q, r, s = 0, + t, u, v = { + readyState: 0, + setRequestHeader: function(a, b) { + if (!s) { + var c = a.toLowerCase(); + a = m[c] = m[c] || a, l[a] = b + } + return this + }, + getAllResponseHeaders: function() { + return s === 2 ? n : null + }, + getResponseHeader: function(a) { + var c; + if (s === 2) { + if (!o) { + o = {}; + while (c = bH.exec(n)) o[c[1].toLowerCase()] = c[2] + } + c = o[a.toLowerCase()] + } + return c === b ? null : c + }, + overrideMimeType: function(a) { + s || (d.mimeType = a); + return this + }, + abort: function(a) { + a = a || "abort", p && p.abort(a), w(0, a); + return this + } + }; + h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function(a) { + if (a) { + var b; + if (s < 2) + for (b in a) j[b] = [j[b], a[b]]; + else b = a[v.status], v.then(b, b) + } + return this + }, d.url = ((a || d.url) + "").replace(bG, "").replace(bL, bW[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bP), d.crossDomain == null && (r = bR.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bW[1] && r[2] == bW[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bW[3] || (bW[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), b$(bT, d, c, v); + if (s === 2) return !1; + t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bK.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart"); + if (!d.hasContent) { + d.data && (d.url += (bM.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url; + if (d.cache === !1) { + var x = f.now(), + y = d.url.replace(bQ, "$1_=" + x); + d.url = y + (y === d.url ? (bM.test(d.url) ? "&" : "?") + "_=" + x : "") + } + }(d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bX + "; q=0.01" : "") : d.accepts["*"]); + for (u in d.headers) v.setRequestHeader(u, d.headers[u]); + if (d.beforeSend && (d.beforeSend.call(e, v, d) === !1 || s === 2)) { + v.abort(); + return !1 + } + for (u in { + success: 1, + error: 1, + complete: 1 + }) v[u](d[u]); + p = b$(bU, d, c, v); + if (!p) w(-1, "No Transport"); + else { + v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function() { + v.abort("timeout") + }, d.timeout)); + try { + s = 1, p.send(l, w) + } catch (z) { + if (s < 2) w(-1, z); + else throw z + } + } + return v + }, + param: function(a, c) { + var d = [], + e = function(a, b) { + b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) + }; + c === b && (c = f.ajaxSettings.traditional); + if (f.isArray(a) || a.jquery && !f.isPlainObject(a)) f.each(a, function() { + e(this.name, this.value) + }); + else + for (var g in a) ca(g, a[g], c, e); + return d.join("&").replace(bD, "+") + } + }), f.extend({ + active: 0, + lastModified: {}, + etag: {} + }); + var cd = f.now(), + ce = /(\=)\?(&|$)|\?\?/i; + f.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + return f.expando + "_" + cd++ + } + }), f.ajaxPrefilter("json jsonp", function(b, c, d) { + var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string"; + if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (ce.test(b.url) || e && ce.test(b.data))) { + var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, + i = a[h], + j = b.url, + k = b.data, + l = "$1" + h + "$2"; + b.jsonp !== !1 && (j = j.replace(ce, l), b.url === j && (e && (k = k.replace(ce, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function(a) { + g = [a] + }, d.always(function() { + a[h] = i, g && f.isFunction(i) && a[h](g[0]) + }), b.converters["script json"] = function() { + g || f.error(h + " was not called"); + return g[0] + }, b.dataTypes[0] = "json"; + return "script" + } + }), f.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function(a) { + f.globalEval(a); + return a + } + } + }), f.ajaxPrefilter("script", function(a) { + a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1) + }), f.ajaxTransport("script", function(a) { + if (a.crossDomain) { + var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement; + return { + send: function(f, g) { + d = c.createElement("script"), d.async = "async", a.scriptCharset && (d.charset = a.scriptCharset), d.src = a.url, d.onload = d.onreadystatechange = function(a, c) { + if (c || !d.readyState || /loaded|complete/.test(d.readyState)) d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success") + }, e.insertBefore(d, e.firstChild) + }, + abort: function() { + d && d.onload(0, 1) + } + } + } + }); + var cf = a.ActiveXObject ? function() { + for (var a in ch) ch[a](0, 1) + } : !1, + cg = 0, + ch; + f.ajaxSettings.xhr = a.ActiveXObject ? function() { + return !this.isLocal && ci() || cj() + } : ci, + function(a) { + f.extend(f.support, { + ajax: !!a, + cors: !!a && "withCredentials" in a + }) + }(f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(function(c) { + if (!c.crossDomain || f.support.cors) { + var d; + return { + send: function(e, g) { + var h = c.xhr(), + i, j; + c.username ? h.open(c.type, c.url, c.async, c.username, c.password) : h.open(c.type, c.url, c.async); + if (c.xhrFields) + for (j in c.xhrFields) h[j] = c.xhrFields[j]; + c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest"); + try { + for (j in e) h.setRequestHeader(j, e[j]) + } catch (k) {} + h.send(c.hasContent && c.data || null), d = function(a, e) { + var j, k, l, m, n; + try { + if (d && (e || h.readyState === 4)) { + d = b, i && (h.onreadystatechange = f.noop, cf && delete ch[i]); + if (e) h.readyState !== 4 && h.abort(); + else { + j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText; + try { + k = h.statusText + } catch (o) { + k = "" + }!j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204) + } + } + } catch (p) { + e || g(-1, p) + } + m && g(j, k, m, l) + }, !c.async || h.readyState === 4 ? d() : (i = ++cg, cf && (ch || (ch = {}, f(a).unload(cf)), ch[i] = d), h.onreadystatechange = d) + }, + abort: function() { + d && d(0, 1) + } + } + } + }); + var ck = {}, + cl, cm, cn = /^(?:toggle|show|hide)$/, + co = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, + cp, cq = [ + ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], + ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], + ["opacity"] + ], + cr; + f.fn.extend({ + show: function(a, b, c) { + var d, e; + if (a || a === 0) return this.animate(cu("show", 3), a, b, c); + for (var g = 0, h = this.length; g < h; g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cv(d.nodeName))); + for (g = 0; g < h; g++) { + d = this[g]; + if (d.style) { + e = d.style.display; + if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || "" + } + } + return this + }, + hide: function(a, b, c) { + if (a || a === 0) return this.animate(cu("hide", 3), a, b, c); + var d, e, g = 0, + h = this.length; + for (; g < h; g++) d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e)); + for (g = 0; g < h; g++) this[g].style && (this[g].style.display = "none"); + return this + }, + _toggle: f.fn.toggle, + toggle: function(a, b, c) { + var d = typeof a == "boolean"; + f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function() { + var b = d ? a : f(this).is(":hidden"); + f(this)[b ? "show" : "hide"]() + }) : this.animate(cu("toggle", 3), a, b, c); + return this + }, + fadeTo: function(a, b, c, d) { + return this.filter(":hidden").css("opacity", 0).show().end().animate({ + opacity: b + }, a, c, d) + }, + animate: function(a, b, c, d) { + function g() { + e.queue === !1 && f._mark(this); + var b = f.extend({}, e), + c = this.nodeType === 1, + d = c && f(this).is(":hidden"), + g, h, i, j, k, l, m, n, o; + b.animatedProperties = {}; + for (i in a) { + g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing"; + if (h === "hide" && d || h === "show" && !d) return b.complete.call(this); + c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cv(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1)) + } + b.overflow != null && (this.style.overflow = "hidden"); + for (i in a) j = new f.fx(this, b, i), h = a[i], cn.test(h) ? (o = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), o ? (f._data(this, "toggle" + i, o === "show" ? "hide" : "show"), j[o]()) : j[h]()) : (k = co.exec(h), l = j.cur(), k ? (m = parseFloat(k[2]), n = k[3] || (f.cssNumber[i] ? "" : "px"), n !== "px" && (f.style(this, i, (m || 1) + n), l = (m || 1) / j.cur() * l, f.style(this, i, l + n)), k[1] && (m = (k[1] === "-=" ? -1 : 1) * m + l), j.custom(l, m, n)) : j.custom(l, h, "")); + return !0 + } + var e = f.speed(b, c, d); + if (f.isEmptyObject(a)) return this.each(e.complete, [!1]); + a = f.extend({}, a); + return e.queue === !1 ? this.each(g) : this.queue(e.queue, g) + }, + stop: function(a, c, d) { + typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []); + return this.each(function() { + function h(a, b, c) { + var e = b[c]; + f.removeData(a, c, !0), e.stop(d) + } + var b, c = !1, + e = f.timers, + g = f._data(this); + d || f._unmark(!0, this); + if (a == null) + for (b in g) g[b] && g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b); + else g[b = a + ".run"] && g[b].stop && h(this, g, b); + for (b = e.length; b--;) e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1)); + (!d || !c) && f.dequeue(this, a) + }) + } + }), f.each({ + slideDown: cu("show", 1), + slideUp: cu("hide", 1), + slideToggle: cu("toggle", 1), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function(a, b) { + f.fn[a] = function(a, c, d) { + return this.animate(b, a, c, d) + } + }), f.extend({ + speed: function(a, b, c) { + var d = a && typeof a == "object" ? f.extend({}, a) : { + complete: c || !c && b || f.isFunction(a) && a, + duration: a, + easing: c && b || b && !f.isFunction(b) && b + }; + d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default; + if (d.queue == null || d.queue === !0) d.queue = "fx"; + d.old = d.complete, d.complete = function(a) { + f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this) + }; + return d + }, + easing: { + linear: function(a, b, c, d) { + return c + d * a + }, + swing: function(a, b, c, d) { + return (-Math.cos(a * Math.PI) / 2 + .5) * d + c + } + }, + timers: [], + fx: function(a, b, c) { + this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {} + } + }), f.fx.prototype = { + update: function() { + this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this) + }, + cur: function() { + if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; + var a, b = f.css(this.elem, this.prop); + return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a + }, + custom: function(a, c, d) { + function h(a) { + return e.step(a) + } + var e = this, + g = f.fx; + this.startTime = cr || cs(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function() { + e.options.hide && f._data(e.elem, "fxshow" + e.prop) === b && f._data(e.elem, "fxshow" + e.prop, e.start) + }, h() && f.timers.push(h) && !cp && (cp = setInterval(g.tick, g.interval)) + }, + show: function() { + var a = f._data(this.elem, "fxshow" + this.prop); + this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show() + }, + hide: function() { + this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) + }, + step: function(a) { + var b, c, d, e = cr || cs(), + g = !0, + h = this.elem, + i = this.options; + if (a || e >= i.duration + this.startTime) { + this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0; + for (b in i.animatedProperties) i.animatedProperties[b] !== !0 && (g = !1); + if (g) { + i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function(a, b) { + h.style["overflow" + b] = i.overflow[a] + }), i.hide && f(h).hide(); + if (i.hide || i.show) + for (b in i.animatedProperties) f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0); + d = i.complete, d && (i.complete = !1, d.call(h)) + } + return !1 + } + i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(); + return !0 + } + }, f.extend(f.fx, { + tick: function() { + var a, b = f.timers, + c = 0; + for (; c < b.length; c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1); + b.length || f.fx.stop() + }, + interval: 13, + stop: function() { + clearInterval(cp), cp = null + }, + speeds: { + slow: 600, + fast: 200, + _default: 400 + }, + step: { + opacity: function(a) { + f.style(a.elem, "opacity", a.now) + }, + _default: function(a) { + a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now + } + } + }), f.each(["width", "height"], function(a, b) { + f.fx.step[b] = function(a) { + f.style(a.elem, b, Math.max(0, a.now) + a.unit) + } + }), f.expr && f.expr.filters && (f.expr.filters.animated = function(a) { + return f.grep(f.timers, function(b) { + return a === b.elem + }).length + }); + var cw = /^t(?:able|d|h)$/i, + cx = /^(?:body|html)$/i; + "getBoundingClientRect" in c.documentElement ? f.fn.offset = function(a) { + var b = this[0], + c; + if (a) return this.each(function(b) { + f.offset.setOffset(this, a, b) + }); + if (!b || !b.ownerDocument) return null; + if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); + try { + c = b.getBoundingClientRect() + } catch (d) {} + var e = b.ownerDocument, + g = e.documentElement; + if (!c || !f.contains(g, b)) return c ? { + top: c.top, + left: c.left + } : { + top: 0, + left: 0 + }; + var h = e.body, + i = cy(e), + j = g.clientTop || h.clientTop || 0, + k = g.clientLeft || h.clientLeft || 0, + l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop, + m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft, + n = c.top + l - j, + o = c.left + m - k; + return { + top: n, + left: o + } + } : f.fn.offset = function(a) { + var b = this[0]; + if (a) return this.each(function(b) { + f.offset.setOffset(this, a, b) + }); + if (!b || !b.ownerDocument) return null; + if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); + var c, d = b.offsetParent, + e = b, + g = b.ownerDocument, + h = g.documentElement, + i = g.body, + j = g.defaultView, + k = j ? j.getComputedStyle(b, null) : b.currentStyle, + l = b.offsetTop, + m = b.offsetLeft; + while ((b = b.parentNode) && b !== i && b !== h) { + if (f.support.fixedPosition && k.position === "fixed") break; + c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cw.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.support.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c + } + if (k.position === "relative" || k.position === "static") l += i.offsetTop, m += i.offsetLeft; + f.support.fixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft)); + return { + top: l, + left: m + } + }, f.offset = { + bodyOffset: function(a) { + var b = a.offsetTop, + c = a.offsetLeft; + f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0); + return { + top: b, + left: c + } + }, + setOffset: function(a, b, c) { + var d = f.css(a, "position"); + d === "static" && (a.style.position = "relative"); + var e = f(a), + g = e.offset(), + h = f.css(a, "top"), + i = f.css(a, "left"), + j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1, + k = {}, + l = {}, + m, n; + j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k) + } + }, f.fn.extend({ + position: function() { + if (!this[0]) return null; + var a = this[0], + b = this.offsetParent(), + c = this.offset(), + d = cx.test(b[0].nodeName) ? { + top: 0, + left: 0 + } : b.offset(); + c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0; + return { + top: c.top - d.top, + left: c.left - d.left + } + }, + offsetParent: function() { + return this.map(function() { + var a = this.offsetParent || c.body; + while (a && !cx.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent; + return a + }) + } + }), f.each(["Left", "Top"], function(a, c) { + var d = "scroll" + c; + f.fn[d] = function(c) { + var e, g; + if (c === b) { + e = this[0]; + if (!e) return null; + g = cy(e); + return g ? "pageXOffset" in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d] + } + return this.each(function() { + g = cy(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c + }) + } + }), f.each(["Height", "Width"], function(a, c) { + var d = c.toLowerCase(); + f.fn["inner" + c] = function() { + var a = this[0]; + return a ? a.style ? parseFloat(f.css(a, d, "padding")) : this[d]() : null + }, f.fn["outer" + c] = function(a) { + var b = this[0]; + return b ? b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : this[d]() : null + }, f.fn[d] = function(a) { + var e = this[0]; + if (!e) return a == null ? null : this; + if (f.isFunction(a)) return this.each(function(b) { + var c = f(this); + c[d](a.call(this, b, c[d]())) + }); + if (f.isWindow(e)) { + var g = e.document.documentElement["client" + c], + h = e.document.body; + return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g + } + if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]); + if (a === b) { + var i = f.css(e, d), + j = parseFloat(i); + return f.isNumeric(j) ? j : i + } + return this.css(d, typeof a == "string" ? a : a + "px") + } + }), a.jQuery = a.$ = f, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() { + return f + }) +})(window); \ No newline at end of file diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/laydate.js" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/laydate.js" new file mode 100644 index 0000000..8c05462 --- /dev/null +++ "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/laydate.js" @@ -0,0 +1,853 @@ +/*! laydate-v5.0.9 日期与时间组件 MIT License http://www.layui.com/laydate/ By 贤心 */ ; +! function() { + "use strict"; + var e = window.layui && layui.define, + t = { + getPath: function() { + var e = document.currentScript ? document.currentScript.src : function() { + for (var e, t = document.scripts, n = t.length - 1, a = n; a > 0; a--) + if ("interactive" === t[a].readyState) { + e = t[a].src; + break + } + return e || t[n].src + }(); + return e.substring(0, e.lastIndexOf("/") + 1) + }(), + getStyle: function(e, t) { + var n = e.currentStyle ? e.currentStyle : window.getComputedStyle(e, null); + return n[n.getPropertyValue ? "getPropertyValue" : "getAttribute"](t) + }, + link: function(e, a, i) { + if (n.path) { + var r = document.getElementsByTagName("head")[0], + o = document.createElement("link"); + "string" == typeof a && (i = a); + var s = (i || e).replace(/\.|\//g, ""), + l = "layuicss-" + s, + d = 0; + o.rel = "stylesheet", o.href = n.path + e, o.id = l, document.getElementById(l) || r.appendChild(o), "function" == typeof a && ! function c() { + return ++d > 80 ? window.console && console.error("laydate.css: Invalid") : void(1989 === parseInt(t.getStyle(document.getElementById(l), "width")) ? a() : setTimeout(c, 100)) + }() + } + } + }, + n = { + v: "5.0.9", + config: {}, + index: window.laydate && window.laydate.v ? 1e5 : 0, + path: t.getPath, + set: function(e) { + var t = this; + return t.config = w.extend({}, t.config, e), t + }, + ready: function(a) { + var i = "laydate", + r = "", + o = (e ? "modules/laydate/" : "theme/") + "default/laydate.css?v=" + n.v + r; + return e ? layui.addcss(o, a, i) : t.link(o, a, i), this + } + }, + a = function() { + var e = this; + return { + hint: function(t) { + e.hint.call(e, t) + }, + config: e.config + } + }, + i = "laydate", + r = ".layui-laydate", + o = "layui-this", + s = "laydate-disabled", + l = "开始日期超出了结束日期
建议重新选择", + d = [100, 2e5], + c = "layui-laydate-static", + m = "layui-laydate-list", + u = "laydate-selected", + h = "layui-laydate-hint", + y = "laydate-day-prev", + f = "laydate-day-next", + p = "layui-laydate-footer", + g = ".laydate-btns-confirm", + v = "laydate-time-text", + D = ".laydate-btns-time", + T = function(e) { + var t = this; + t.index = ++n.index, t.config = w.extend({}, t.config, n.config, e), n.ready(function() { + t.init() + }) + }, + w = function(e) { + return new C(e) + }, + C = function(e) { + for (var t = 0, n = "object" == typeof e ? [e] : (this.selector = e, document.querySelectorAll(e || null)); t < n.length; t++) this.push(n[t]) + }; + C.prototype = [], C.prototype.constructor = C, w.extend = function() { + var e = 1, + t = arguments, + n = function(e, t) { + e = e || (t.constructor === Array ? [] : {}); + for (var a in t) e[a] = t[a] && t[a].constructor === Object ? n(e[a], t[a]) : t[a]; + return e + }; + for (t[0] = "object" == typeof t[0] ? t[0] : {}; e < t.length; e++) "object" == typeof t[e] && n(t[0], t[e]); + return t[0] + }, w.ie = function() { + var e = navigator.userAgent.toLowerCase(); + return !!(window.ActiveXObject || "ActiveXObject" in window) && ((e.match(/msie\s(\d+)/) || [])[1] || "11") + }(), w.stope = function(e) { + e = e || window.event, e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0 + }, w.each = function(e, t) { + var n, a = this; + if ("function" != typeof t) return a; + if (e = e || [], e.constructor === Object) { + for (n in e) + if (t.call(e[n], n, e[n])) break + } else + for (n = 0; n < e.length && !t.call(e[n], n, e[n]); n++); + return a + }, w.digit = function(e, t, n) { + var a = ""; + e = String(e), t = t || 2; + for (var i = e.length; i < t; i++) a += "0"; + return e < Math.pow(10, t) ? a + (0 | e) : e + }, w.elem = function(e, t) { + var n = document.createElement(e); + return w.each(t || {}, function(e, t) { + n.setAttribute(e, t) + }), n + }, C.addStr = function(e, t) { + return e = e.replace(/\s+/, " "), t = t.replace(/\s+/, " ").split(" "), w.each(t, function(t, n) { + new RegExp("\\b" + n + "\\b").test(e) || (e = e + " " + n) + }), e.replace(/^\s|\s$/, "") + }, C.removeStr = function(e, t) { + return e = e.replace(/\s+/, " "), t = t.replace(/\s+/, " ").split(" "), w.each(t, function(t, n) { + var a = new RegExp("\\b" + n + "\\b"); + a.test(e) && (e = e.replace(a, "")) + }), e.replace(/\s+/, " ").replace(/^\s|\s$/, "") + }, C.prototype.find = function(e) { + var t = this, + n = 0, + a = [], + i = "object" == typeof e; + return this.each(function(r, o) { + for (var s = i ? [e] : o.querySelectorAll(e || null); n < s.length; n++) a.push(s[n]); + t.shift() + }), i || (t.selector = (t.selector ? t.selector + " " : "") + e), w.each(a, function(e, n) { + t.push(n) + }), t + }, C.prototype.each = function(e) { + return w.each.call(this, this, e) + }, C.prototype.addClass = function(e, t) { + return this.each(function(n, a) { + a.className = C[t ? "removeStr" : "addStr"](a.className, e) + }) + }, C.prototype.removeClass = function(e) { + return this.addClass(e, !0) + }, C.prototype.hasClass = function(e) { + var t = !1; + return this.each(function(n, a) { + new RegExp("\\b" + e + "\\b").test(a.className) && (t = !0) + }), t + }, C.prototype.attr = function(e, t) { + var n = this; + return void 0 === t ? function() { + if (n.length > 0) return n[0].getAttribute(e) + }() : n.each(function(n, a) { + a.setAttribute(e, t) + }) + }, C.prototype.removeAttr = function(e) { + return this.each(function(t, n) { + n.removeAttribute(e) + }) + }, C.prototype.html = function(e) { + return this.each(function(t, n) { + n.innerHTML = e + }) + }, C.prototype.val = function(e) { + return this.each(function(t, n) { + n.value = e + }) + }, C.prototype.append = function(e) { + return this.each(function(t, n) { + "object" == typeof e ? n.appendChild(e) : n.innerHTML = n.innerHTML + e + }) + }, C.prototype.remove = function(e) { + return this.each(function(t, n) { + e ? n.removeChild(e) : n.parentNode.removeChild(n) + }) + }, C.prototype.on = function(e, t) { + return this.each(function(n, a) { + a.attachEvent ? a.attachEvent("on" + e, function(e) { + e.target = e.srcElement, t.call(a, e) + }) : a.addEventListener(e, t, !1) + }) + }, C.prototype.off = function(e, t) { + return this.each(function(n, a) { + a.detachEvent ? a.detachEvent("on" + e, t) : a.removeEventListener(e, t, !1) + }) + }, T.isLeapYear = function(e) { + return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0 + }, T.prototype.config = { + type: "date", + range: !1, + format: "yyyy-MM-dd", + value: null, + min: "1900-1-1", + max: "2099-12-31", + trigger: "focus", + show: !1, + showBottom: !0, + btns: ["clear", "now", "confirm"], + lang: "cn", + theme: "default", + position: null, + calendar: !1, + mark: {}, + zIndex: null, + done: null, + change: null + }, T.prototype.lang = function() { + var e = this, + t = e.config, + n = { + cn: { + weeks: ["日", "一", "二", "三", "四", "五", "六"], + time: ["时", "分", "秒"], + timeTips: "选择时间", + startTime: "开始时间", + endTime: "结束时间", + dateTips: "返回日期", + month: ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"], + tools: { + confirm: "确定", + clear: "清空", + now: "现在" + } + }, + en: { + weeks: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + time: ["Hours", "Minutes", "Seconds"], + timeTips: "Select Time", + startTime: "Start Time", + endTime: "End Time", + dateTips: "Select Date", + month: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + tools: { + confirm: "Confirm", + clear: "Clear", + now: "Now" + } + } + }; + return n[t.lang] || n.cn + }, T.prototype.init = function() { + var e = this, + t = e.config, + n = "yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s", + a = "static" === t.position, + i = { + year: "yyyy", + month: "yyyy-MM", + date: "yyyy-MM-dd", + time: "HH:mm:ss", + datetime: "yyyy-MM-dd HH:mm:ss" + }; + t.elem = w(t.elem), t.eventElem = w(t.eventElem), t.elem[0] && (t.range === !0 && (t.range = "-"), t.format === i.date && (t.format = i[t.type]), e.format = t.format.match(new RegExp(n + "|.", "g")) || [], e.EXP_IF = "", e.EXP_SPLIT = "", w.each(e.format, function(t, a) { + var i = new RegExp(n).test(a) ? "\\d{" + function() { + return new RegExp(n).test(e.format[0 === t ? t + 1 : t - 1] || "") ? /^yyyy|y$/.test(a) ? 4 : a.length : /^yyyy$/.test(a) ? "1,4" : /^y$/.test(a) ? "1,308" : "1,2" + }() + "}" : "\\" + a; + e.EXP_IF = e.EXP_IF + i, e.EXP_SPLIT = e.EXP_SPLIT + "(" + i + ")" + }), e.EXP_IF = new RegExp("^" + (t.range ? e.EXP_IF + "\\s\\" + t.range + "\\s" + e.EXP_IF : e.EXP_IF) + "$"), e.EXP_SPLIT = new RegExp("^" + e.EXP_SPLIT + "$", ""), e.isInput(t.elem[0]) || "focus" === t.trigger && (t.trigger = "click"), t.elem.attr("lay-key") || (t.elem.attr("lay-key", e.index), t.eventElem.attr("lay-key", e.index)), t.mark = w.extend({}, t.calendar && "cn" === t.lang ? { + "0-1-1": "元旦", + "0-2-14": "情人", + "0-3-8": "妇女", + "0-3-12": "植树", + "0-4-1": "愚人", + "0-5-1": "劳动", + "0-5-4": "青年", + "0-6-1": "儿童", + "0-9-10": "教师", + "0-9-18": "国耻", + "0-10-1": "国庆", + "0-12-25": "圣诞" + } : {}, t.mark), w.each(["min", "max"], function(e, n) { + var a = [], + i = []; + if ("number" == typeof t[n]) { + var r = t[n], + o = (new Date).getTime(), + s = 864e5, + l = new Date(r ? r < s ? o + r * s : r : o); + a = [l.getFullYear(), l.getMonth() + 1, l.getDate()], r < s || (i = [l.getHours(), l.getMinutes(), l.getSeconds()]) + } else a = (t[n].match(/\d+-\d+-\d+/) || [""])[0].split("-"), i = (t[n].match(/\d+:\d+:\d+/) || [""])[0].split(":"); + t[n] = { + year: 0 | a[0] || (new Date).getFullYear(), + month: a[1] ? (0 | a[1]) - 1 : (new Date).getMonth(), + date: 0 | a[2] || (new Date).getDate(), + hours: 0 | i[0], + minutes: 0 | i[1], + seconds: 0 | i[2] + } + }), e.elemID = "layui-laydate" + t.elem.attr("lay-key"), (t.show || a) && e.render(), a || e.events(), t.value && (t.value.constructor === Date ? e.setValue(e.parse(0, e.systemDate(t.value))) : e.setValue(t.value))) + }, T.prototype.render = function() { + var e = this, + t = e.config, + n = e.lang(), + a = "static" === t.position, + i = e.elem = w.elem("div", { + id: e.elemID, + "class": ["layui-laydate", t.range ? " layui-laydate-range" : "", a ? " " + c : "", t.theme && "default" !== t.theme && !/^#/.test(t.theme) ? " laydate-theme-" + t.theme : ""].join("") + }), + r = e.elemMain = [], + o = e.elemHeader = [], + s = e.elemCont = [], + l = e.table = [], + d = e.footer = w.elem("div", { + "class": p + }); + if (t.zIndex && (i.style.zIndex = t.zIndex), w.each(new Array(2), function(e) { + if (!t.range && e > 0) return !0; + var a = w.elem("div", { + "class": "layui-laydate-header" + }), + i = [function() { + var e = w.elem("i", { + "class": "layui-icon laydate-icon laydate-prev-y" + }); + return e.innerHTML = "", e + }(), function() { + var e = w.elem("i", { + "class": "layui-icon laydate-icon laydate-prev-m" + }); + return e.innerHTML = "", e + }(), function() { + var e = w.elem("div", { + "class": "laydate-set-ym" + }), + t = w.elem("span"), + n = w.elem("span"); + return e.appendChild(t), e.appendChild(n), e + }(), function() { + var e = w.elem("i", { + "class": "layui-icon laydate-icon laydate-next-m" + }); + return e.innerHTML = "", e + }(), function() { + var e = w.elem("i", { + "class": "layui-icon laydate-icon laydate-next-y" + }); + return e.innerHTML = "", e + }()], + d = w.elem("div", { + "class": "layui-laydate-content" + }), + c = w.elem("table"), + m = w.elem("thead"), + u = w.elem("tr"); + w.each(i, function(e, t) { + a.appendChild(t) + }), m.appendChild(u), w.each(new Array(6), function(e) { + var t = c.insertRow(0); + w.each(new Array(7), function(a) { + if (0 === e) { + var i = w.elem("th"); + i.innerHTML = n.weeks[a], u.appendChild(i) + } + t.insertCell(a) + }) + }), c.insertBefore(m, c.children[0]), d.appendChild(c), r[e] = w.elem("div", { + "class": "layui-laydate-main laydate-main-list-" + e + }), r[e].appendChild(a), r[e].appendChild(d), o.push(i), s.push(d), l.push(c) + }), w(d).html(function() { + var e = [], + i = []; + return "datetime" === t.type && e.push('' + n.timeTips + ""), w.each(t.btns, function(e, r) { + var o = n.tools[r] || "btn"; + t.range && "now" === r || (a && "clear" === r && (o = "cn" === t.lang ? "重置" : "Reset"), i.push('' + o + "")) + }), e.push('"), e.join("") + }()), w.each(r, function(e, t) { + i.appendChild(t) + }), t.showBottom && i.appendChild(d), /^#/.test(t.theme)) { + var m = w.elem("style"), + u = ["#{{id}} .layui-laydate-header{background-color:{{theme}};}", "#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g, e.elemID).replace(/{{theme}}/g, t.theme); + "styleSheet" in m ? (m.setAttribute("type", "text/css"), m.styleSheet.cssText = u) : m.innerHTML = u, w(i).addClass("laydate-theme-molv"), i.appendChild(m) + } + e.remove(T.thisElemDate), a ? t.elem.append(i) : (document.body.appendChild(i), e.position()), e.checkDate().calendar(), e.changeEvent(), T.thisElemDate = e.elemID, "function" == typeof t.ready && t.ready(w.extend({}, t.dateTime, { + month: t.dateTime.month + 1 + })) + }, T.prototype.remove = function(e) { + var t = this, + n = (t.config, w("#" + (e || t.elemID))); + return n.hasClass(c) || t.checkDate(function() { + n.remove() + }), t + }, T.prototype.position = function() { + var e = this, + t = e.config, + n = e.bindElem || t.elem[0], + a = n.getBoundingClientRect(), + i = e.elem.offsetWidth, + r = e.elem.offsetHeight, + o = function(e) { + return e = e ? "scrollLeft" : "scrollTop", document.body[e] | document.documentElement[e] + }, + s = function(e) { + return document.documentElement[e ? "clientWidth" : "clientHeight"] + }, + l = 5, + d = a.left, + c = a.bottom; + d + i + l > s("width") && (d = s("width") - i - l), c + r + l > s() && (c = a.top > r ? a.top - r : s() - r, c -= 2 * l), t.position && (e.elem.style.position = t.position), e.elem.style.left = d + ("fixed" === t.position ? 0 : o(1)) + "px", e.elem.style.top = c + ("fixed" === t.position ? 0 : o()) + "px" + }, T.prototype.hint = function(e) { + var t = this, + n = (t.config, w.elem("div", { + "class": h + })); + n.innerHTML = e || "", w(t.elem).find("." + h).remove(), t.elem.appendChild(n), clearTimeout(t.hinTimer), t.hinTimer = setTimeout(function() { + w(t.elem).find("." + h).remove() + }, 3e3) + }, T.prototype.getAsYM = function(e, t, n) { + return n ? t-- : t++, t < 0 && (t = 11, e--), t > 11 && (t = 0, e++), [e, t] + }, T.prototype.systemDate = function(e) { + var t = e || new Date; + return { + year: t.getFullYear(), + month: t.getMonth(), + date: t.getDate(), + hours: e ? e.getHours() : 0, + minutes: e ? e.getMinutes() : 0, + seconds: e ? e.getSeconds() : 0 + } + }, T.prototype.checkDate = function(e) { + var t, a, i = this, + r = (new Date, i.config), + o = r.dateTime = r.dateTime || i.systemDate(), + s = i.bindElem || r.elem[0], + l = (i.isInput(s) ? "val" : "html", i.isInput(s) ? s.value : "static" === r.position ? "" : s.innerHTML), + c = function(e) { + e.year > d[1] && (e.year = d[1], a = !0), e.month > 11 && (e.month = 11, a = !0), e.hours > 23 && (e.hours = 0, a = !0), e.minutes > 59 && (e.minutes = 0, e.hours++, a = !0), e.seconds > 59 && (e.seconds = 0, e.minutes++, a = !0), t = n.getEndDate(e.month + 1, e.year), e.date > t && (e.date = t, a = !0) + }, + m = function(e, t, n) { + var o = ["startTime", "endTime"]; + t = (t.match(i.EXP_SPLIT) || []).slice(1), n = n || 0, r.range && (i[o[n]] = i[o[n]] || {}), w.each(i.format, function(s, l) { + var c = parseFloat(t[s]); + t[s].length < l.length && (a = !0), /yyyy|y/.test(l) ? (c < d[0] && (c = d[0], a = !0), e.year = c) : /MM|M/.test(l) ? (c < 1 && (c = 1, a = !0), e.month = c - 1) : /dd|d/.test(l) ? (c < 1 && (c = 1, a = !0), e.date = c) : /HH|H/.test(l) ? (c < 1 && (c = 0, a = !0), e.hours = c, r.range && (i[o[n]].hours = c)) : /mm|m/.test(l) ? (c < 1 && (c = 0, a = !0), e.minutes = c, r.range && (i[o[n]].minutes = c)) : /ss|s/.test(l) && (c < 1 && (c = 0, a = !0), e.seconds = c, r.range && (i[o[n]].seconds = c)) + }), c(e) + }; + return "limit" === e ? (c(o), i) : (l = l || r.value, "string" == typeof l && (l = l.replace(/\s+/g, " ").replace(/^\s|\s$/g, "")), i.startState && !i.endState && (delete i.startState, i.endState = !0), "string" == typeof l && l ? i.EXP_IF.test(l) ? r.range ? (l = l.split(" " + r.range + " "), i.startDate = i.startDate || i.systemDate(), i.endDate = i.endDate || i.systemDate(), r.dateTime = w.extend({}, i.startDate), w.each([i.startDate, i.endDate], function(e, t) { + m(t, l[e], e) + })) : m(o, l) : (i.hint("日期格式不合法
必须遵循下述格式:
" + (r.range ? r.format + " " + r.range + " " + r.format : r.format) + "
已为你重置"), a = !0) : l && l.constructor === Date ? r.dateTime = i.systemDate(l) : (r.dateTime = i.systemDate(), delete i.startState, delete i.endState, delete i.startDate, delete i.endDate, delete i.startTime, delete i.endTime), c(o), a && l && i.setValue(r.range ? i.endDate ? i.parse() : "" : i.parse()), e && e(), i) + }, T.prototype.mark = function(e, t) { + var n, a = this, + i = a.config; + return w.each(i.mark, function(e, a) { + var i = e.split("-"); + i[0] != t[0] && 0 != i[0] || i[1] != t[1] && 0 != i[1] || i[2] != t[2] || (n = a || t[2]) + }), n && e.html('' + n + ""), a + }, T.prototype.limit = function(e, t, n, a) { + var i, r = this, + o = r.config, + l = {}, + d = o[n > 41 ? "endDate" : "dateTime"], + c = w.extend({}, d, t || {}); + return w.each({ + now: c, + min: o.min, + max: o.max + }, function(e, t) { + l[e] = r.newDate(w.extend({ + year: t.year, + month: t.month, + date: t.date + }, function() { + var e = {}; + return w.each(a, function(n, a) { + e[a] = t[a] + }), e + }())).getTime() + }), i = l.now < l.min || l.now > l.max, e && e[i ? "addClass" : "removeClass"](s), i + }, T.prototype.calendar = function(e) { + var t, a, i, r = this, + s = r.config, + l = e || s.dateTime, + c = new Date, + m = r.lang(), + u = "date" !== s.type && "datetime" !== s.type, + h = e ? 1 : 0, + y = w(r.table[h]).find("td"), + f = w(r.elemHeader[h][2]).find("span"); + if (l.year < d[0] && (l.year = d[0], r.hint("最低只能支持到公元" + d[0] + "年")), l.year > d[1] && (l.year = d[1], r.hint("最高只能支持到公元" + d[1] + "年")), r.firstDate || (r.firstDate = w.extend({}, l)), c.setFullYear(l.year, l.month, 1), t = c.getDay(), a = n.getEndDate(l.month || 12, l.year), i = n.getEndDate(l.month + 1, l.year), w.each(y, function(e, n) { + var d = [l.year, l.month], + c = 0; + n = w(n), n.removeAttr("class"), e < t ? (c = a - t + e, n.addClass("laydate-day-prev"), d = r.getAsYM(l.year, l.month, "sub")) : e >= t && e < i + t ? (c = e - t, s.range || c + 1 === l.date && n.addClass(o)) : (c = e - i - t, n.addClass("laydate-day-next"), d = r.getAsYM(l.year, l.month)), d[1]++, d[2] = c + 1, n.attr("lay-ymd", d.join("-")).html(d[2]), r.mark(n, d).limit(n, { + year: d[0], + month: d[1] - 1, + date: d[2] + }, e) + }), w(f[0]).attr("lay-ym", l.year + "-" + (l.month + 1)), w(f[1]).attr("lay-ym", l.year + "-" + (l.month + 1)), "cn" === s.lang ? (w(f[0]).attr("lay-type", "year").html(l.year + "年"), w(f[1]).attr("lay-type", "month").html(l.month + 1 + "月")) : (w(f[0]).attr("lay-type", "month").html(m.month[l.month]), w(f[1]).attr("lay-type", "year").html(l.year)), u && (s.range && (e ? r.endDate = r.endDate || { + year: l.year + ("year" === s.type ? 1 : 0), + month: l.month + ("month" === s.type ? 0 : -1) + } : r.startDate = r.startDate || { + year: l.year, + month: l.month + }, e && (r.listYM = [ + [r.startDate.year, r.startDate.month + 1], + [r.endDate.year, r.endDate.month + 1] + ], r.list(s.type, 0).list(s.type, 1), "time" === s.type ? r.setBtnStatus("时间", w.extend({}, r.systemDate(), r.startTime), w.extend({}, r.systemDate(), r.endTime)) : r.setBtnStatus(!0))), s.range || (r.listYM = [ + [l.year, l.month + 1] + ], r.list(s.type, 0))), s.range && !e) { + var p = r.getAsYM(l.year, l.month); + r.calendar(w.extend({}, l, { + year: p[0], + month: p[1] + })) + } + return s.range || r.limit(w(r.footer).find(g), null, 0, ["hours", "minutes", "seconds"]), s.range && e && !u && r.stampRange(), r + }, T.prototype.list = function(e, t) { + var n = this, + a = n.config, + i = a.dateTime, + r = n.lang(), + l = a.range && "date" !== a.type && "datetime" !== a.type, + d = w.elem("ul", { + "class": m + " " + { + year: "laydate-year-list", + month: "laydate-month-list", + time: "laydate-time-list" + }[e] + }), + c = n.elemHeader[t], + u = w(c[2]).find("span"), + h = n.elemCont[t || 0], + y = w(h).find("." + m)[0], + f = "cn" === a.lang, + p = f ? "年" : "", + T = n.listYM[t] || {}, + C = ["hours", "minutes", "seconds"], + x = ["startTime", "endTime"][t]; + if (T[0] < 1 && (T[0] = 1), "year" === e) { + var M, b = M = T[0] - 7; + b < 1 && (b = M = 1), w.each(new Array(15), function(e) { + var i = w.elem("li", { + "lay-ym": M + }), + r = { + year: M + }; + M == T[0] && w(i).addClass(o), i.innerHTML = M + p, d.appendChild(i), M < n.firstDate.year ? (r.month = a.min.month, r.date = a.min.date) : M >= n.firstDate.year && (r.month = a.max.month, r.date = a.max.date), n.limit(w(i), r, t), M++ + }), w(u[f ? 0 : 1]).attr("lay-ym", M - 8 + "-" + T[1]).html(b + p + " - " + (M - 1 + p)) + } else if ("month" === e) w.each(new Array(12), function(e) { + var i = w.elem("li", { + "lay-ym": e + }), + s = { + year: T[0], + month: e + }; + e + 1 == T[1] && w(i).addClass(o), i.innerHTML = r.month[e] + (f ? "月" : ""), d.appendChild(i), T[0] < n.firstDate.year ? s.date = a.min.date : T[0] >= n.firstDate.year && (s.date = a.max.date), n.limit(w(i), s, t) + }), w(u[f ? 0 : 1]).attr("lay-ym", T[0] + "-" + T[1]).html(T[0] + p); + else if ("time" === e) { + var E = function() { + w(d).find("ol").each(function(e, a) { + w(a).find("li").each(function(a, i) { + n.limit(w(i), [{ + hours: a + }, { + hours: n[x].hours, + minutes: a + }, { + hours: n[x].hours, + minutes: n[x].minutes, + seconds: a + }][e], t, [ + ["hours"], + ["hours", "minutes"], + ["hours", "minutes", "seconds"] + ][e]) + }) + }), a.range || n.limit(w(n.footer).find(g), n[x], 0, ["hours", "minutes", "seconds"]) + }; + a.range ? n[x] || (n[x] = { + hours: 0, + minutes: 0, + seconds: 0 + }) : n[x] = i, w.each([24, 60, 60], function(e, t) { + var a = w.elem("li"), + i = ["

" + r.time[e] + "

    "]; + w.each(new Array(t), function(t) { + i.push("" + w.digit(t, 2) + "") + }), a.innerHTML = i.join("") + "
", d.appendChild(a) + }), E() + } + if (y && h.removeChild(y), h.appendChild(d), "year" === e || "month" === e) w(n.elemMain[t]).addClass("laydate-ym-show"), w(d).find("li").on("click", function() { + var r = 0 | w(this).attr("lay-ym"); + if (!w(this).hasClass(s)) { + if (0 === t) i[e] = r, l && (n.startDate[e] = r), n.limit(w(n.footer).find(g), null, 0); + else if (l) n.endDate[e] = r; + else { + var c = "year" === e ? n.getAsYM(r, T[1] - 1, "sub") : n.getAsYM(T[0], r, "sub"); + w.extend(i, { + year: c[0], + month: c[1] + }) + } + "year" === a.type || "month" === a.type ? (w(d).find("." + o).removeClass(o), w(this).addClass(o), "month" === a.type && "year" === e && (n.listYM[t][0] = r, l && (n[["startDate", "endDate"][t]].year = r), n.list("month", t))) : (n.checkDate("limit").calendar(), n.closeList()), n.setBtnStatus(), a.range || n.done(null, "change"), w(n.footer).find(D).removeClass(s) + } + }); + else { + var S = w.elem("span", { + "class": v + }), + k = function() { + w(d).find("ol").each(function(e) { + var t = this, + a = w(t).find("li"); + t.scrollTop = 30 * (n[x][C[e]] - 2), t.scrollTop <= 0 && a.each(function(e, n) { + if (!w(this).hasClass(s)) return t.scrollTop = 30 * (e - 2), !0 + }) + }) + }, + H = w(c[2]).find("." + v); + k(), S.innerHTML = a.range ? [r.startTime, r.endTime][t] : r.timeTips, w(n.elemMain[t]).addClass("laydate-time-show"), H[0] && H.remove(), c[2].appendChild(S), w(d).find("ol").each(function(e) { + var t = this; + w(t).find("li").on("click", function() { + var r = 0 | this.innerHTML; + w(this).hasClass(s) || (a.range ? n[x][C[e]] = r : i[C[e]] = r, w(t).find("." + o).removeClass(o), w(this).addClass(o), E(), k(), (n.endDate || "time" === a.type) && n.done(null, "change"), n.setBtnStatus()) + }) + }) + } + return n + }, T.prototype.listYM = [], T.prototype.closeList = function() { + var e = this; + e.config; + w.each(e.elemCont, function(t, n) { + w(this).find("." + m).remove(), w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show") + }), w(e.elem).find("." + v).remove() + }, T.prototype.setBtnStatus = function(e, t, n) { + var a, i = this, + r = i.config, + o = w(i.footer).find(g), + d = r.range && "date" !== r.type && "time" !== r.type; + d && (t = t || i.startDate, n = n || i.endDate, a = i.newDate(t).getTime() > i.newDate(n).getTime(), i.limit(null, t) || i.limit(null, n) ? o.addClass(s) : o[a ? "addClass" : "removeClass"](s), e && a && i.hint("string" == typeof e ? l.replace(/日期/g, e) : l)) + }, T.prototype.parse = function(e, t) { + var n = this, + a = n.config, + i = t || (e ? w.extend({}, n.endDate, n.endTime) : a.range ? w.extend({}, n.startDate, n.startTime) : a.dateTime), + r = n.format.concat(); + return w.each(r, function(e, t) { + /yyyy|y/.test(t) ? r[e] = w.digit(i.year, t.length) : /MM|M/.test(t) ? r[e] = w.digit(i.month + 1, t.length) : /dd|d/.test(t) ? r[e] = w.digit(i.date, t.length) : /HH|H/.test(t) ? r[e] = w.digit(i.hours, t.length) : /mm|m/.test(t) ? r[e] = w.digit(i.minutes, t.length) : /ss|s/.test(t) && (r[e] = w.digit(i.seconds, t.length)) + }), a.range && !e ? r.join("") + " " + a.range + " " + n.parse(1) : r.join("") + }, T.prototype.newDate = function(e) { + return e = e || {}, new Date(e.year || 1, e.month || 0, e.date || 1, e.hours || 0, e.minutes || 0, e.seconds || 0) + }, T.prototype.setValue = function(e) { + var t = this, + n = t.config, + a = t.bindElem || n.elem[0], + i = t.isInput(a) ? "val" : "html"; + return "static" === n.position || w(a)[i](e || ""), this + }, T.prototype.stampRange = function() { + var e, t, n = this, + a = n.config, + i = w(n.elem).find("td"); + if (a.range && !n.endDate && w(n.footer).find(g).addClass(s), n.endDate) return e = n.newDate({ + year: n.startDate.year, + month: n.startDate.month, + date: n.startDate.date + }).getTime(), t = n.newDate({ + year: n.endDate.year, + month: n.endDate.month, + date: n.endDate.date + }).getTime(), e > t ? n.hint(l) : void w.each(i, function(a, i) { + var r = w(i).attr("lay-ymd").split("-"), + s = n.newDate({ + year: r[0], + month: r[1] - 1, + date: r[2] + }).getTime(); + w(i).removeClass(u + " " + o), s !== e && s !== t || w(i).addClass(w(i).hasClass(y) || w(i).hasClass(f) ? u : o), s > e && s < t && w(i).addClass(u) + }) + }, T.prototype.done = function(e, t) { + var n = this, + a = n.config, + i = w.extend({}, n.startDate ? w.extend(n.startDate, n.startTime) : a.dateTime), + r = w.extend({}, w.extend(n.endDate, n.endTime)); + return w.each([i, r], function(e, t) { + "month" in t && w.extend(t, { + month: t.month + 1 + }) + }), e = e || [n.parse(), i, r], "function" == typeof a[t || "done"] && a[t || "done"].apply(a, e), n + }, T.prototype.choose = function(e) { + var t = this, + n = t.config, + a = n.dateTime, + i = w(t.elem).find("td"), + r = e.attr("lay-ymd").split("-"), + l = function(e) { + new Date; + e && w.extend(a, r), n.range && (t.startDate ? w.extend(t.startDate, r) : t.startDate = w.extend({}, r, t.startTime), t.startYMD = r) + }; + if (r = { + year: 0 | r[0], + month: (0 | r[1]) - 1, + date: 0 | r[2] + }, !e.hasClass(s)) + if (n.range) { + if (w.each(["startTime", "endTime"], function(e, n) { + t[n] = t[n] || { + hours: 0, + minutes: 0, + seconds: 0 + } + }), t.endState) l(), delete t.endState, delete t.endDate, t.startState = !0, i.removeClass(o + " " + u), e.addClass(o); + else if (t.startState) { + if (e.addClass(o), t.endDate ? w.extend(t.endDate, r) : t.endDate = w.extend({}, r, t.endTime), t.newDate(r).getTime() < t.newDate(t.startYMD).getTime()) { + var d = w.extend({}, t.endDate, { + hours: t.startDate.hours, + minutes: t.startDate.minutes, + seconds: t.startDate.seconds + }); + w.extend(t.endDate, t.startDate, { + hours: t.endDate.hours, + minutes: t.endDate.minutes, + seconds: t.endDate.seconds + }), t.startDate = d + } + n.showBottom || t.done(), t.stampRange(), t.endState = !0, t.done(null, "change") + } else e.addClass(o), l(), t.startState = !0; + w(t.footer).find(g)[t.endDate ? "removeClass" : "addClass"](s) + } else "static" === n.position ? (l(!0), t.calendar().done().done(null, "change")) : "date" === n.type ? (l(!0), t.setValue(t.parse()).remove().done()) : "datetime" === n.type && (l(!0), t.calendar().done(null, "change")) + }, T.prototype.tool = function(e, t) { + var n = this, + a = n.config, + i = a.dateTime, + r = "static" === a.position, + o = { + datetime: function() { + w(e).hasClass(s) || (n.list("time", 0), a.range && n.list("time", 1), w(e).attr("lay-type", "date").html(n.lang().dateTips)) + }, + date: function() { + n.closeList(), w(e).attr("lay-type", "datetime").html(n.lang().timeTips) + }, + clear: function() { + n.setValue("").remove(), r && (w.extend(i, n.firstDate), n.calendar()), a.range && (delete n.startState, delete n.endState, delete n.endDate, delete n.startTime, delete n.endTime), n.done(["", {}, {}]) + }, + now: function() { + var e = new Date; + w.extend(i, n.systemDate(), { + hours: e.getHours(), + minutes: e.getMinutes(), + seconds: e.getSeconds() + }), n.setValue(n.parse()).remove(), r && n.calendar(), n.done() + }, + confirm: function() { + if (a.range) { + if (!n.endDate) return n.hint("请先选择日期范围"); + if (w(e).hasClass(s)) return n.hint("time" === a.type ? l.replace(/日期/g, "时间") : l) + } else if (w(e).hasClass(s)) return n.hint("不在有效日期或时间范围内"); + n.done(), n.setValue(n.parse()).remove() + } + }; + o[t] && o[t]() + }, T.prototype.change = function(e) { + var t = this, + n = t.config, + a = n.dateTime, + i = n.range && ("year" === n.type || "month" === n.type), + r = t.elemCont[e || 0], + o = t.listYM[e], + s = function(s) { + var l = ["startDate", "endDate"][e], + d = w(r).find(".laydate-year-list")[0], + c = w(r).find(".laydate-month-list")[0]; + return d && (o[0] = s ? o[0] - 15 : o[0] + 15, t.list("year", e)), c && (s ? o[0]-- : o[0]++, t.list("month", e)), (d || c) && (w.extend(a, { + year: o[0] + }), i && (t[l].year = o[0]), n.range || t.done(null, "change"), t.setBtnStatus(), n.range || t.limit(w(t.footer).find(g), { + year: o[0] + })), d || c + }; + return { + prevYear: function() { + s("sub") || (a.year--, t.checkDate("limit").calendar(), n.range || t.done(null, "change")) + }, + prevMonth: function() { + var e = t.getAsYM(a.year, a.month, "sub"); + w.extend(a, { + year: e[0], + month: e[1] + }), t.checkDate("limit").calendar(), n.range || t.done(null, "change") + }, + nextMonth: function() { + var e = t.getAsYM(a.year, a.month); + w.extend(a, { + year: e[0], + month: e[1] + }), t.checkDate("limit").calendar(), n.range || t.done(null, "change") + }, + nextYear: function() { + s() || (a.year++, t.checkDate("limit").calendar(), n.range || t.done(null, "change")) + } + } + }, T.prototype.changeEvent = function() { + var e = this; + e.config; + w(e.elem).on("click", function(e) { + w.stope(e) + }), w.each(e.elemHeader, function(t, n) { + w(n[0]).on("click", function(n) { + e.change(t).prevYear() + }), w(n[1]).on("click", function(n) { + e.change(t).prevMonth() + }), w(n[2]).find("span").on("click", function(n) { + var a = w(this), + i = a.attr("lay-ym"), + r = a.attr("lay-type"); + i && (i = i.split("-"), e.listYM[t] = [0 | i[0], 0 | i[1]], e.list(r, t), w(e.footer).find(D).addClass(s)) + }), w(n[3]).on("click", function(n) { + e.change(t).nextMonth() + }), w(n[4]).on("click", function(n) { + e.change(t).nextYear() + }) + }), w.each(e.table, function(t, n) { + var a = w(n).find("td"); + a.on("click", function() { + e.choose(w(this)) + }) + }), w(e.footer).find("span").on("click", function() { + var t = w(this).attr("lay-type"); + e.tool(this, t) + }) + }, T.prototype.isInput = function(e) { + return /input|textarea/.test(e.tagName.toLocaleLowerCase()) + }, T.prototype.events = function() { + var e = this, + t = e.config, + n = function(n, a) { + n.on(t.trigger, function() { + a && (e.bindElem = this), e.render() + }) + }; + t.elem[0] && !t.elem[0].eventHandler && (n(t.elem, "bind"), n(t.eventElem), w(document).on("click", function(n) { + n.target !== t.elem[0] && n.target !== t.eventElem[0] && n.target !== w(t.closeStop)[0] && e.remove() + }).on("keydown", function(t) { + 13 === t.keyCode && w("#" + e.elemID)[0] && e.elemID === T.thisElem && (t.preventDefault(), w(e.footer).find(g)[0].click()) + }), w(window).on("resize", function() { + return !(!e.elem || !w(r)[0]) && void e.position() + }), t.elem[0].eventHandler = !0) + }, n.render = function(e) { + var t = new T(e); + return a.call(t) + }, n.getEndDate = function(e, t) { + var n = new Date; + return n.setFullYear(t || n.getFullYear(), e || n.getMonth() + 1, 1), new Date(n.getTime() - 864e5).getDate() + }, window.lay = window.lay || w, e ? (n.ready(), layui.define(function(e) { + n.path = layui.cache.dir, e(i, n) + })) : "function" == typeof define && define.amd ? define(function() { + return n + }) : function() { + n.ready(), window.laydate = n + }() +}(); \ No newline at end of file diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.eot" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.eot" new file mode 100644 index 0000000000000000000000000000000000000000..c861caa8e2c1e5bfff43ca36bf79fe3195545148 GIT binary patch literal 2456 zcmc&$U2GIp6h3EWclM|4ENt8Dw(PdkmhM(tw(YtU3JL_Uh&B;HOP~_7bZ6U={bRd@ zEkWIo_!|<4i3VfP#9-i&L`)1Jkw+dhCIsS(AsAs3vs$|eAFngtr$Wyy=ZNkcq#`CiW=yMTg}p(M>y3Vn%m zT0=85NqNe_K&9ParfANzDS`>mIG7^M!b;d^G(<5Pgy#R|fm%3GM-`H3aL1lkwq7*8 z{2kH7GEPDBGK8+RJ(tFakU{6_h{*~g4v5Pqb-F?@t^s_12Lgng&6~A1e z3JmP%#Zof%S=^U4h$0%1m;IKCGxnG?STVXEcSH%^K^q{u@e>JMuFBPknuxtzm8$zq z1Oa1&h1eI7_%cRe1r`xLrt853cuZ~()tf7i+3SmaFWU_+R#M1XEYI$`nb8%+1%2k z%F*snawCO^Y1T}o3RKAecOC@#gvD!21fo$=vlOp5Z_#3pGY#{*&J)>UnL{5>JR ze44$%X!~2n^U~+s+|eEKZCYdO?BCoJ*BaeN>;3*#zyG9LaXQ_Sib#Q%av~6r(gSN__d^eE`_q2GJD-~{BrK#sPuWVb1|M9j!qrcU)qQM<( zYv^9x#7FPc1sm(bk)IK&$jaKE(p|a1%&c`DjxvWv_>^&Ygm+2THyX3X>_#@f1xxIr z9$v@Noe|?OpBgbPF0sQd*RIJ|@wWS@gEXQ>9*zf^TpkWIDP03R^q|a}`MfV0R*kcq z^0h~Ny)s{b?1QYU;i%ecyulT|00_$XM40ySiH8Ugi&*=H{FU5CE2xvYh&-%xMG^=q zk{FJ6@DO+2PjvH;e91_uk+919jW5(tM2+%M<8345i-c6(2P!NmF7ul(3q^dqk0*pK zYP|Ol0T29i%Y4s;H_d3)>%z#^W*bZ7f^QZtgYUJm12|!0Co0Ak8!O;nu(6l=Xs?ay zkeeqEF*{Hh=}G#~#*BjWjg2J~vL9?LgTHHI2k<{Oc2WQ}!J0>*AotnWOXIxF#&s0o zkGr-=?WN|6A6p!o0*_nJ!8;T7srFZB# zy|^&%?2)N>sg%~z#e7y9#R7UJlh+Ex{2_g^6q_!U3L6Fn#KMA)P3E)sG;Tvx*6kXe zLc$$HP1pXb(r!3H@9f6JrGQb)YOx+>OGYRV$O`D?%C@2H?EkwLvA2UxiS&@ + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.ttf" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.ttf" new file mode 100644 index 0000000000000000000000000000000000000000..0bd6c4a88dd899aea3926e49bdfb37e81004bcb9 GIT binary patch literal 2272 zcmc&#TWl0n82KNt^83(# zg?zD)t!0$i8_?xTMAC*uJ(*TNe&s#beh-;i1mU_VzX^O9vU)LBsrLK~M0_1xFk46^ zr3uc!{~UBRm#h}Kn+{?=2wlr3bNaq(&fP>#o6Yvf-j z&hVAUDTBRF+nsqbOr{uCUA;&pW1q#?Do{l=BIcMi#aY`Y16FvCVMLYS z9kda;8<(iP+K?ObO;LNbAvF$|2nu|Jh1eH{oeVEzU{T>iYW5a9r0gwe+fBU7X2iZ% zZNU;7*i#{5ZyR_XLd0`v9I!+@w#K|A_6a;nZ_`Kg9fx3vXw4tw%W{x9X@n+eJK-H+ zWt4|hDa?b>L`)jx?m=gFPnRl3hogh8;h~uP1osRnU4i&iBGRL{6d$YH&yNkpr=l?_ z%IgxFrA-_UgqeF+_3ibq3HjwS>+8Ne@Q5_P?Y+^yUHdz*hM|Oo~2vU#t}X}ZCq@z!!9?k%2)8V`)GhPqE4QQ2fADy z4s{*&X^?9Lu}5E6&L&H( zR4bm-OXa0PUYm?fw9-5Dyk5E!w|sOVUa4fXOsSC5W|2V8W(!)eR5+}sDzU{%rMPi? zTqG8JELF(i)3}XFq*IbA=+iiGhp2{riBeRcJY~$j0=q11YOt^@*Zya*2Yw5*Y|fV+ zX!RiPIe3?-jA$a8hL1&zCLS1N2dwj^$KC5K(^0G6DLx95k(XKllwJ=C6?L2PFC1OTvcj?W!%ck U%LUx7>Qb_{RMXw|I4MH>3rdt+EdT%j literal 0 HcmV?d00001 diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.woff" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/font/iconfont.woff" new file mode 100644 index 0000000000000000000000000000000000000000..bfe5599671f9441ceebdc8afeac71d4f65a741c7 GIT binary patch literal 1492 zcmY+Ec~Fx_7{)gwfRsQv0;F70?g7dvDTi_k2q?&X&U_&x2IUmw6v>BjMv!1R4M!=} zat=&T#2N_qQ9*2LQO=SDwfF%7h8S8TISJOqsY87jqJohDAyMQ=D)by+U2j;o((iXckC^DV zczE72m}3s{H1!QBN@7!xFa+U;7E&h2NPO&;2$_!{WCke2Q%=!RR6X#c*wHpdxVQ@K za*hDVQ^UH0&wKXz%uuu#yEzG=wzb3;(!RdM}$9bAdD=wplNTO;eyZC zaM2&yfiXjyZ6~lQXuFf+y6i;QlGYzd46q#^XH64j1zTk6hocD0jQb}8QIei?v+m!M zEs8<;=~df(i=8GaG;6EG(;}OU%e5Cb6m4jH3UrA!c?--Pi$T{%cW?w z*{9i}HN@-Md30G>345QLyekC9!Ul1&jl{R8jh&8VsBKL`7^4}hX0rIT%BTTieK%sF zs%v3xCAH4opxhz-QmdM;TIszbHRsw-;u^EBC`g8uzt30JX$z=NVUHAC6|Jm$*iu{J zUsWx()qYk+4^yD2KlIe&omj5!hY};(WhWc1V9qE-R-oRBt)nSWB%q-e;y}w&9mH-9D+eGe@vp`sKnL{YUT8p0R+=*_e&4;lmC$ zd=&ik7f4f|kb9C5tI34j7B7RQQs(WN8S@o#?8Q6FCAHgHYr?ZT9h=PJ6CH!YS-4)K zcaJxS(}NwkQ(mdkuh?(u@+Gf6YnvL_^H2LUM49?H+SMv4a`yC%;Q_-fZid)Ar^uDa zeo(e(Gn~`dQO2a{+{0&Eh*rMdbbi~Ca#cfo$4_mC_H)AKHo^Zw!0g_*6-T+*%T0tO zrh6hTL}x5Jz;!-vUswtMM9Xv~ygxQ5jZYrckbTiv!94Q3ES%6Rp}d&;SFbmcW!YHi zZQzb}&wh+K^QG?)1cW|5tgAe*HGPrFr;!2LC>%Dfy1K9BPb?clgT;k33$=l#v?%4j z{4ed-3j}P6SQwdB3~<5=M8h5?BM5S7gvaY;_zM4h8wll4 z7(xXYO_gNl76v?MZS?o+4;ntE=S8 zF&atkofJ(AjZ703tsWd|{E<1yO;4Nxr^6Kcj&!H6C-W z(`|q5eC8*5XP!ls-sGxvP{KqnbIGD*b5y}$iTwf-T_RYq+Zx=fVf9_P-1@4Bva?qzk-sa0xR#X8sMG&6E_&HiQKEtgx3 z>LtfIQt8)xnzrY;Yf+EB*DOR&shTfhb@0-ik46GN42H;azKOR$cS5Xl&6XwPzf#7( zRFpCaYtr3ymQWjRB`O~G2;TY7X;p5q+7h_!%j12);&&J2W5A7dm CyJwOB literal 0 HcmV?d00001 diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/laydate.css" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/laydate.css" new file mode 100644 index 0000000..c7e1508 --- /dev/null +++ "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/laydate/theme/default/laydate.css" @@ -0,0 +1,2 @@ +/*! laydate-v5.0.9 日期与时间组件 MIT License http://www.layui.com/laydate/ By 贤心 */ +.laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eaeaea;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}@font-face{font-family:laydate-icon;src:url(font/iconfont.eot);src:url(font/iconfont.eot#iefix) format('embedded-opentype'),url(font/iconfont.svg#iconfont) format('svg'),url(font/iconfont.woff) format('woff'),url(font/iconfont.ttf) format('truetype')}.laydate-icon{font-family:laydate-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} \ No newline at end of file diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" new file mode 100644 index 0000000..40f0a13 --- /dev/null +++ "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" @@ -0,0 +1,2242 @@ +var provinceList = [ + + { + "name": "北京", + "city": [{ + "name": "北京", + "area": ["东城区", "西城区", "崇文区", "宣武区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "平谷区", "怀柔区", "密云县", "延庆县"] + }] + }, + + { + "name": "天津", + "city": [{ + "name": "天津", + "area": ["和平区", "河东区", "河西区", "南开区", "河北区", "红桥区", "塘沽区", "汉沽区", "大港区", "东丽区", "西青区", "津南区", "北辰区", "武清区", "宝坻区", "宁河县", "静海县", "蓟 县"] + }] + }, + + { + "name": "河北", + "city": [ + + { + "name": "石家庄", + "area": ["长安区", "桥东区", "桥西区", "新华区", "郊 区", "井陉矿区", "井陉县", "正定县", "栾城县", "行唐县", "灵寿县", "高邑县", "深泽县", "赞皇县", "无极县", "平山县", "元氏县", "赵 县", "辛集市", "藁", "晋州市", "新乐市", "鹿泉市"] + }, + + { + "name": "唐山", + "area": ["路南区", "路北区", "古冶区", "开平区", "新 区", "丰润县", "滦 县", "滦南县", "乐亭县", "迁西县", "玉田县", "唐海县", "遵化市", "丰南市", "迁安市"] + }, + + { + "name": "秦皇岛", + "area": ["海港区", "山海关区", "北戴河区", "青龙满族自治县", "昌黎县", "抚宁县", "卢龙县"] + }, + + { + "name": "邯郸", + "area": ["邯山区", "丛台区", "复兴区", "峰峰矿区", "邯郸县", "临漳县", "成安县", "大名县", "涉 县", "磁 县", "肥乡县", "永年县", "邱 县", "鸡泽县", "广平县", "馆陶县", "魏 县", "曲周县", "武安市"] + }, + + { + "name": "邢台", + "area": ["桥东区", "桥西区", "邢台县", "临城县", "内丘县", "柏乡县", "隆尧县", "任 县", "南和县", "宁晋县", "巨鹿县", "新河县", "广宗县", "平乡县", "威 县", "清河县", "临西县", "南宫市", "沙河市"] + }, + + { + "name": "保定", + "area": ["新市区", "北市区", "南市区", "满城县", "清苑县", "涞水县", "阜平县", "徐水县", "定兴县", "唐 县", "高阳县", "容城县", "涞源县", "望都县", "安新县", "易 县", "曲阳县", "蠡 县", "顺平县", "博野", "雄县", "涿州市", "定州市", "安国市", "高碑店市"] + }, + + { + "name": "张家口", + "area": ["桥东区", "桥西区", "宣化区", "下花园区", "宣化县", "张北县", "康保县", "沽源县", "尚义县", "蔚 县", "阳原县", "怀安县", "万全县", "怀来县", "涿鹿县", "赤城县", "崇礼县"] + }, + + { + "name": "承德", + "area": ["双桥区", "双滦区", "鹰手营子矿区", "承德县", "兴隆县", "平泉县", "滦平县", "隆化县", "丰宁满族自治县", "宽城满族自治县", "围场满族蒙古族自治县"] + }, + + { + "name": "沧州", + "area": ["新华区", "运河区", "沧 县", "青 县", "东光县", "海兴县", "盐山县", "肃宁县", "南皮县", "吴桥县", "献 县", "孟村回族自治县", "泊头市", "任丘市", "黄骅市", "河间市"] + }, + + { + "name": "廊坊", + "area": ["安次区", "固安县", "永清县", "香河县", "大城县", "文安县", "大厂回族自治县", "霸州市", "三河市"] + }, + + { + "name": "衡水", + "area": ["桃城区", "枣强县", "武邑县", "武强县", "饶阳县", "安平县", "故城县", "景 县", "阜城县", "冀州市", "深州市"] + } + + ] + }, + + { + "name": "山西", + "city": [ + + { + "name": "太原", + "area": ["小店区", "迎泽区", "杏花岭区", "尖草坪区", "万柏林区", "晋源区", "清徐县", "阳曲县", "娄烦县", "古交市"] + }, + + { + "name": "大同", + "area": ["城 区", "矿 区", "南郊区", "新荣区", "阳高县", "天镇县", "广灵县", "灵丘县", "浑源县", "左云县", "大同县"] + }, + + { + "name": "阳泉", + "area": ["城 区", "矿 区", "郊 区", "平定县", "盂 县"] + }, + + { + "name": "长治", + "area": ["城 区", "郊 区", "长治县", "襄垣县", "屯留县", "平顺县", "黎城县", "壶关县", "长子县", "武乡县", "沁 县", "沁源县", "潞城市"] + }, + + { + "name": "晋城", + "area": ["城 区", "沁水县", "阳城县", "陵川县", "泽州县", "高平市"] + }, + + { + "name": "朔州", + "area": ["朔城区", "平鲁区", "山阴县", "应 县", "右玉县", "怀仁县"] + }, + + { + "name": "忻州", + "area": ["忻府区", "原平市", "定襄县", "五台县", "代 县", "繁峙县", "宁武县", "静乐县", "神池县", "五寨县", "岢岚县", "河曲县", "保德县", "偏关县"] + }, + + { + "name": "吕梁", + "area": ["离石区", "孝义市", "汾阳市", "文水县", "交城县", "兴 县", "临 县", "柳林县", "石楼县", "岚 县", "方山县", "中阳县", "交口县"] + }, + + { + "name": "晋中", + "area": ["榆次市", "介休市", "榆社县", "左权县", "和顺县", "昔阳县", "寿阳县", "太谷县", "祁 县", "平遥县", "灵石县"] + }, + + { + "name": "临汾", + "area": ["临汾市", "侯马市", "霍州市", "曲沃县", "翼城县", "襄汾县", "洪洞县", "古 县", "安泽县", "浮山县", "吉 县", "乡宁县", "蒲 县", "大宁县", "永和县", "隰 县", "汾西县"] + }, + + { + "name": "运城", + "area": ["运城市", "永济市", "河津市", "芮城县", "临猗县", "万荣县", "新绛县", "稷山县", "闻喜县", "夏 县", "绛 县", "平陆县", "垣曲县"] + } + + ] + }, + + { + "name": "内蒙古", + "city": [ + + { + "name": "呼和浩特", + "area": ["新城区", "回民区", "玉泉区", "郊 区", "土默特左旗", "托克托县", "和林格尔县", "清水河县", "武川县"] + }, + + { + "name": "包头", + "area": ["东河区", "昆都伦区", "青山区", "石拐矿区", "白云矿区", "郊 区", "土默特右旗", "固阳县", "达尔罕茂明安联合旗"] + }, + + { + "name": "乌海", + "area": ["海勃湾区", "海南区", "乌达区"] + }, + + { + "name": "赤峰", + "area": ["红山区", "元宝山区", "松山区", "阿鲁科尔沁旗", "巴林左旗", "巴林右旗", "林西县", "克什克腾旗", "翁牛特旗", "喀喇沁旗", "宁城县", "敖汉旗"] + }, + + { + "name": "呼伦贝尔", + "area": ["海拉尔市", "满洲里市", "扎兰屯市", "牙克石市", "根河市", "额尔古纳市", "阿荣旗", "莫力达瓦达斡尔族自治旗", "鄂伦春自治旗", "鄂温克族自治旗", "新巴尔虎右旗", "新巴尔虎左旗", "陈巴尔虎旗"] + }, + + { + "name": "兴安盟", + "area": ["乌兰浩特市", "阿尔山市", "科尔沁右翼前旗", "科尔沁右翼中旗", "扎赉特旗", "突泉县"] + }, + + { + "name": "通辽", + "area": ["科尔沁区", "霍林郭勒市", "科尔沁左翼中旗", "科尔沁左翼后旗", "开鲁县", "库伦旗", "奈曼旗", "扎鲁特旗"] + }, + + { + "name": "锡林郭勒盟", + "area": ["二连浩特市", "锡林浩特市", "阿巴嘎旗", "苏尼特左旗", "苏尼特右旗", "东乌珠穆沁旗", "西乌珠穆沁旗", "太仆寺旗", "镶黄旗", "正镶白旗", "正蓝旗", "多伦县"] + }, + + { + "name": "乌兰察布盟", + "area": ["集宁市", "丰镇市", "卓资县", "化德县", "商都县", "兴和县", "凉城县", "察哈尔右翼前旗", "察哈尔右翼中旗", "察哈尔右翼后旗", "四子王旗"] + }, + + { + "name": "伊克昭盟", + "area": ["东胜市", "达拉特旗", "准格尔旗", "鄂托克前旗", "鄂托克旗", "杭锦旗", "乌审旗", "伊金霍洛旗"] + }, + + { + "name": "巴彦淖尔盟", + "area": ["临河市", "五原县", "磴口县", "乌拉特前旗", "乌拉特中旗", "乌拉特后旗", "杭锦后旗"] + }, + + { + "name": "阿拉善盟", + "area": ["阿拉善左旗", "阿拉善右旗", "额济纳旗"] + } + + ] + }, + + { + "name": "辽宁", + "city": [ + + { + "name": "沈阳", + "area": ["沈河区", "皇姑区", "和平区", "大东区", "铁西区", "苏家屯区", "东陵区", "于洪区", "新民市", "法库县", "辽中县", "康平县", "新城子区", "其他"] + }, + + { + "name": "大连", + "area": ["西岗区", "中山区", "沙河口区", "甘井子区", "旅顺口区", "金州区", "瓦房店市", "普兰店市", "庄河市", "长海县", "其他"] + }, + + { + "name": "鞍山", + "area": ["铁东区", "铁西区", "立山区", "千山区", "海城市", "台安县", "岫岩满族自治县", "其他"] + }, + + { + "name": "抚顺", + "area": ["顺城区", "新抚区", "东洲区", "望花区", "抚顺县", "清原满族自治县", "新宾满族自治县", "其他"] + }, + + { + "name": "本溪", + "area": ["平山区", "明山区", "溪湖区", "南芬区", "本溪满族自治县", "桓仁满族自治县", "其他"] + }, + + { + "name": "丹东", + "area": ["振兴区", "元宝区", "振安区", "东港市", "凤城市", "宽甸满族自治县", "其他"] + }, + + { + "name": "锦州", + "area": ["太和区", "古塔区", "凌河区", "凌海市", "黑山县", "义县", "北宁市", "其他"] + }, + + { + "name": "营口", + "area": ["站前区", "西市区", "鲅鱼圈区", "老边区", "大石桥市", "盖州市", "其他"] + }, + + { + "name": "阜新", + "area": ["海州区", "新邱区", "太平区", "清河门区", "细河区", "彰武县", "阜新蒙古族自治县", "其他"] + }, + + { + "name": "辽阳", + "area": ["白塔区", "文圣区", "宏伟区", "太子河区", "弓长岭区", "灯塔市", "辽阳县", "其他"] + }, + + { + "name": "盘锦", + "area": ["双台子区", "兴隆台区", "盘山县", "大洼县", "其他"] + }, + + { + "name": "铁岭", + "area": ["银州区", "清河区", "调兵山市", "开原市", "铁岭县", "昌图县", "西丰县", "其他"] + }, + + { + "name": "朝阳", + "area": ["双塔区", "龙城区", "凌源市", "北票市", "朝阳县", "建平县", "喀喇沁左翼蒙古族自治县", "其他"] + }, + + { + "name": "葫芦岛", + "area": ["龙港区", "南票区", "连山区", "兴城市", "绥中县", "建昌县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "吉林", + "city": [ + + { + "name": "长春", + "area": ["朝阳区", "宽城区", "二道区", "南关区", "绿园区", "双阳区", "九台市", "榆树市", "德惠市", "农安县", "其他"] + }, + + { + "name": "吉林", + "area": ["船营区", "昌邑区", "龙潭区", "丰满区", "舒兰市", "桦甸市", "蛟河市", "磐石市", "永吉县", "其他"] + }, + + { + "name": "四平", + "area": ["铁西区", "铁东区", "公主岭市", "双辽市", "梨树县", "伊通满族自治县", "其他"] + }, + + { + "name": "辽源", + "area": ["龙山区", "西安区", "东辽县", "东丰县", "其他"] + }, + + { + "name": "通化", + "area": ["东昌区", "二道江区", "梅河口市", "集安市", "通化县", "辉南县", "柳河县", "其他"] + }, + + { + "name": "白山", + "area": ["八道江区", "江源区", "临江市", "靖宇县", "抚松县", "长白朝鲜族自治县", "其他"] + }, + + { + "name": "松原", + "area": ["宁江区", "乾安县", "长岭县", "扶余县", "前郭尔罗斯蒙古族自治县", "其他"] + }, + + { + "name": "白城", + "area": ["洮北区", "大安市", "洮南市", "镇赉县", "通榆县", "其他"] + }, + + { + "name": "延边朝鲜族自治州", + "area": ["延吉市", "图们市", "敦化市", "龙井市", "珲春市", "和龙市", "安图县", "汪清县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "黑龙江", + "city": [ + + { + "name": "哈尔滨", + "area": ["松北区", "道里区", "南岗区", "平房区", "香坊区", "道外区", "呼兰区", "阿城区", "双城市", "尚志市", "五常市", "宾县", "方正县", "通河县", "巴彦县", "延寿县", "木兰县", "依兰县", "其他"] + }, + + { + "name": "齐齐哈尔", + "area": ["龙沙区", "昂昂溪区", "铁锋区", "建华区", "富拉尔基区", "碾子山区", "梅里斯达斡尔族区", "讷河市", "富裕县", "拜泉县", "甘南县", "依安县", "克山县", "泰来县", "克东县", "龙江县", "其他"] + }, + + { + "name": "鹤岗", + "area": ["兴山区", "工农区", "南山区", "兴安区", "向阳区", "东山区", "萝北县", "绥滨县", "其他"] + }, + + { + "name": "双鸭山", + "area": ["尖山区", "岭东区", "四方台区", "宝山区", "集贤县", "宝清县", "友谊县", "饶河县", "其他"] + }, + + { + "name": "鸡西", + "area": ["鸡冠区", "恒山区", "城子河区", "滴道区", "梨树区", "麻山区", "密山市", "虎林市", "鸡东县", "其他"] + }, + + { + "name": "大庆", + "area": ["萨尔图区", "红岗区", "龙凤区", "让胡路区", "大同区", "林甸县", "肇州县", "肇源县", "杜尔伯特蒙古族自治县", "其他"] + }, + + { + "name": "伊春", + "area": ["伊春区", "带岭区", "南岔区", "金山屯区", "西林区", "美溪区", "乌马河区", "翠峦区", "友好区", "上甘岭区", "五营区", "红星区", "新青区", "汤旺河区", "乌伊岭区", "铁力市", "嘉荫县", "其他"] + }, + + { + "name": "牡丹江", + "area": ["爱民区", "东安区", "阳明区", "西安区", "绥芬河市", "宁安市", "海林市", "穆棱市", "林口县", "东宁县", "其他"] + }, + + { + "name": "佳木斯", + "area": ["向阳区", "前进区", "东风区", "郊区", "同江市", "富锦市", "桦川县", "抚远县", "桦南县", "汤原县", "其他"] + }, + + { + "name": "七台河", + "area": ["桃山区", "新兴区", "茄子河区", "勃利县", "其他"] + }, + + { + "name": "黑河", + "area": ["爱辉区", "北安市", "五大连池市", "逊克县", "嫩江县", "孙吴县", "其他"] + }, + + { + "name": "绥化", + "area": ["北林区", "安达市", "肇东市", "海伦市", "绥棱县", "兰西县", "明水县", "青冈县", "庆安县", "望奎县", "其他"] + }, + + { + "name": "大兴安岭地区", + "area": ["呼玛县", "塔河县", "漠河县", "大兴安岭辖区", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "上海", + "city": [ + + { + "name": "上海", + "area": ["黄浦区", "卢湾区", "徐汇区", "长宁区", "静安区", "普陀区", "闸北区", "虹口区", "杨浦区", "宝山区", "闵行区", "嘉定区", "松江区", "金山区", "青浦区", "南汇区", "奉贤区", "浦东新区", "崇明县", "其他"] + } + + ] + }, + + { + "name": "江苏", + "city": [ + + { + "name": "南京", + "area": ["玄武区", "白下区", "秦淮区", "建邺区", "鼓楼区", "下关区", "栖霞区", "雨花台区", "浦口区", "江宁区", "六合区", "溧水县", "高淳县", "其他"] + }, + + { + "name": "苏州", + "area": ["金阊区", "平江区", "沧浪区", "虎丘区", "吴中区", "相城区", "常熟市", "张家港市", "昆山市", "吴江市", "太仓市", "其他"] + }, + + { + "name": "无锡", + "area": ["崇安区", "南长区", "北塘区", "滨湖区", "锡山区", "惠山区", "江阴市", "宜兴市", "其他"] + }, + + { + "name": "常州", + "area": ["钟楼区", "天宁区", "戚墅堰区", "新北区", "武进区", "金坛市", "溧阳市", "其他"] + }, + + { + "name": "镇江", + "area": ["京口区", "润州区", "丹徒区", "丹阳市", "扬中市", "句容市", "其他"] + }, + + { + "name": "南通", + "area": ["崇川区", "港闸区", "通州市", "如皋市", "海门市", "启东市", "海安县", "如东县", "其他"] + }, + + { + "name": "泰州", + "area": ["海陵区", "高港区", "姜堰市", "泰兴市", "靖江市", "兴化市", "其他"] + }, + + { + "name": "扬州", + "area": ["广陵区", "维扬区", "邗江区", "江都市", "仪征市", "高邮市", "宝应县", "其他"] + }, + + { + "name": "盐城", + "area": ["亭湖区", "盐都区", "大丰市", "东台市", "建湖县", "射阳县", "阜宁县", "滨海县", "响水县", "其他"] + }, + + { + "name": "连云港", + "area": ["新浦区", "海州区", "连云区", "东海县", "灌云县", "赣榆县", "灌南县", "其他"] + }, + + { + "name": "徐州", + "area": ["云龙区", "鼓楼区", "九里区", "泉山区", "贾汪区", "邳州市", "新沂市", "铜山县", "睢宁县", "沛县", "丰县", "其他"] + }, + + { + "name": "淮安", + "area": ["清河区", "清浦区", "楚州区", "淮阴区", "涟水县", "洪泽县", "金湖县", "盱眙县", "其他"] + }, + + { + "name": "宿迁", + "area": ["宿城区", "宿豫区", "沭阳县", "泗阳县", "泗洪县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "浙江", + "city": [ + + { + "name": "杭州", + "area": ["拱墅区", "西湖区", "上城区", "下城区", "江干区", "滨江区", "余杭区", "萧山区", "建德市", "富阳市", "临安市", "桐庐县", "淳安县", "其他"] + }, + + { + "name": "宁波", + "area": ["海曙区", "江东区", "江北区", "镇海区", "北仑区", "鄞州区", "余姚市", "慈溪市", "奉化市", "宁海县", "象山县", "其他"] + }, + + { + "name": "温州", + "area": ["鹿城区", "龙湾区", "瓯海区", "瑞安市", "乐清市", "永嘉县", "洞头县", "平阳县", "苍南县", "文成县", "泰顺县", "其他"] + }, + + { + "name": "嘉兴", + "area": ["秀城区", "秀洲区", "海宁市", "平湖市", "桐乡市", "嘉善县", "海盐县", "其他"] + }, + + { + "name": "湖州", + "area": ["吴兴区", "南浔区", "长兴县", "德清县", "安吉县", "其他"] + }, + + { + "name": "绍兴", + "area": ["越城区", "诸暨市", "上虞市", "嵊州市", "绍兴县", "新昌县", "其他"] + }, + + { + "name": "金华", + "area": ["婺城区", "金东区", "兰溪市", "义乌市", "东阳市", "永康市", "武义县", "浦江县", "磐安县", "其他"] + }, + + { + "name": "衢州", + "area": ["柯城区", "衢江区", "江山市", "龙游县", "常山县", "开化县", "其他"] + }, + + { + "name": "舟山", + "area": ["定海区", "普陀区", "岱山县", "嵊泗县", "其他"] + }, + + { + "name": "台州", + "area": ["椒江区", "黄岩区", "路桥区", "临海市", "温岭市", "玉环县", "天台县", "仙居县", "三门县", "其他"] + }, + + { + "name": "丽水", + "area": ["莲都区", "龙泉市", "缙云县", "青田县", "云和县", "遂昌县", "松阳县", "庆元县", "景宁畲族自治县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "安徽", + "city": [ + + { + "name": "合肥", + "area": ["庐阳区", "瑶海区", "蜀山区", "包河区", "长丰县", "肥东县", "肥西县", "其他"] + }, + + { + "name": "芜湖", + "area": ["镜湖区", "弋江区", "鸠江区", "三山区", "芜湖县", "南陵县", "繁昌县", "其他"] + }, + + { + "name": "蚌埠", + "area": ["蚌山区", "龙子湖区", "禹会区", "淮上区", "怀远县", "固镇县", "五河县", "其他"] + }, + + { + "name": "淮南", + "area": ["田家庵区", "大通区", "谢家集区", "八公山区", "潘集区", "凤台县", "其他"] + }, + + { + "name": "马鞍山", + "area": ["雨山区", "花山区", "金家庄区", "当涂县", "其他"] + }, + + { + "name": "淮北", + "area": ["相山区", "杜集区", "烈山区", "濉溪县", "其他"] + }, + + { + "name": "铜陵", + "area": ["铜官山区", "狮子山区", "郊区", "铜陵县", "其他"] + }, + + { + "name": "安庆", + "area": ["迎江区", "大观区", "宜秀区", "桐城市", "宿松县", "枞阳县", "太湖县", "怀宁县", "岳西县", "望江县", "潜山县", "其他"] + }, + + { + "name": "黄山", + "area": ["屯溪区", "黄山区", "徽州区", "休宁县", "歙县", "祁门县", "黟县", "其他"] + }, + + { + "name": "滁州", + "area": ["琅琊区", "南谯区", "天长市", "明光市", "全椒县", "来安县", "定远县", "凤阳县", "其他"] + }, + + { + "name": "阜阳", + "area": ["颍州区", "颍东区", "颍泉区", "界首市", "临泉县", "颍上县", "阜南县", "太和县", "其他"] + }, + + { + "name": "宿州", + "area": ["埇桥区", "萧县", "泗县", "砀山县", "灵璧县", "其他"] + }, + + { + "name": "巢湖", + "area": ["居巢区", "含山县", "无为县", "庐江县", "和县", "其他"] + }, + + { + "name": "六安", + "area": ["金安区", "裕安区", "寿县", "霍山县", "霍邱县", "舒城县", "金寨县", "其他"] + }, + + { + "name": "亳州", + "area": ["谯城区", "利辛县", "涡阳县", "蒙城县", "其他"] + }, + + { + "name": "池州", + "area": ["贵池区", "东至县", "石台县", "青阳县", "其他"] + }, + + { + "name": "宣城", + "area": ["宣州区", "宁国市", "广德县", "郎溪县", "泾县", "旌德县", "绩溪县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "福建", + "city": [ + + { + "name": "福州", + "area": ["鼓楼区", "台江区", "仓山区", "马尾区", "晋安区", "福清市", "长乐市", "闽侯县", "闽清县", "永泰县", "连江县", "罗源县", "平潭县", "其他"] + }, + + { + "name": "厦门", + "area": ["思明区", "海沧区", "湖里区", "集美区", "同安区", "翔安区", "其他"] + }, + + { + "name": "莆田", + "area": ["城厢区", "涵江区", "荔城区", "秀屿区", "仙游县", "其他"] + }, + + { + "name": "三明", + "area": ["梅列区", "三元区", "永安市", "明溪县", "将乐县", "大田县", "宁化县", "建宁县", "沙县", "尤溪县", "清流县", "泰宁县", "其他"] + }, + + { + "name": "泉州", + "area": ["鲤城区", "丰泽区", "洛江区", "泉港区", "石狮市", "晋江市", "南安市", "惠安县", "永春县", "安溪县", "德化县", "金门县", "其他"] + }, + + { + "name": "漳州", + "area": ["芗城区", "龙文区", "龙海市", "平和县", "南靖县", "诏安县", "漳浦县", "华安县", "东山县", "长泰县", "云霄县", "其他"] + }, + + { + "name": "南平", + "area": ["延平区", "建瓯市", "邵武市", "武夷山市", "建阳市", "松溪县", "光泽县", "顺昌县", "浦城县", "政和县", "其他"] + }, + + { + "name": "龙岩", + "area": ["新罗区", "漳平市", "长汀县", "武平县", "上杭县", "永定县", "连城县", "其他"] + }, + + { + "name": "宁德", + "area": ["蕉城区", "福安市", "福鼎市", "寿宁县", "霞浦县", "柘荣县", "屏南县", "古田县", "周宁县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "江西", + "city": [ + + { + "name": "南昌", + "area": ["东湖区", "西湖区", "青云谱区", "湾里区", "青山湖区", "新建县", "南昌县", "进贤县", "安义县", "其他"] + }, + + { + "name": "景德镇", + "area": ["珠山区", "昌江区", "乐平市", "浮梁县", "其他"] + }, + + { + "name": "萍乡", + "area": ["安源区", "湘东区", "莲花县", "上栗县", "芦溪县", "其他"] + }, + + { + "name": "九江", + "area": ["浔阳区", "庐山区", "瑞昌市", "九江县", "星子县", "武宁县", "彭泽县", "永修县", "修水县", "湖口县", "德安县", "都昌县", "其他"] + }, + + { + "name": "新余", + "area": ["渝水区", "分宜县", "其他"] + }, + + { + "name": "鹰潭", + "area": ["月湖区", "贵溪市", "余江县", "其他"] + }, + + { + "name": "赣州", + "area": ["章贡区", "瑞金市", "南康市", "石城县", "安远县", "赣县", "宁都县", "寻乌县", "兴国县", "定南县", "上犹县", "于都县", "龙南县", "崇义县", "信丰县", "全南县", "大余县", "会昌县", "其他"] + }, + + { + "name": "吉安", + "area": ["吉州区", "青原区", "井冈山市", "吉安县", "永丰县", "永新县", "新干县", "泰和县", "峡江县", "遂川县", "安福县", "吉水县", "万安县", "其他"] + }, + + { + "name": "宜春", + "area": ["袁州区", "丰城市", "樟树市", "高安市", "铜鼓县", "靖安县", "宜丰县", "奉新县", "万载县", "上高县", "其他"] + }, + + { + "name": "抚州", + "area": ["临川区", "南丰县", "乐安县", "金溪县", "南城县", "东乡县", "资溪县", "宜黄县", "广昌县", "黎川县", "崇仁县", "其他"] + }, + + { + "name": "上饶", + "area": ["信州区", "德兴市", "上饶县", "广丰县", "鄱阳县", "婺源县", "铅山县", "余干县", "横峰县", "弋阳县", "玉山县", "万年县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "山东", + "city": [ + + { + "name": "济南", + "area": ["市中区", "历下区", "天桥区", "槐荫区", "历城区", "长清区", "章丘市", "平阴县", "济阳县", "商河县", "其他"] + }, + + { + "name": "青岛", + "area": ["市南区", "市北区", "城阳区", "四方区", "李沧区", "黄岛区", "崂山区", "胶南市", "胶州市", "平度市", "莱西市", "即墨市", "其他"] + }, + + { + "name": "淄博", + "area": ["张店区", "临淄区", "淄川区", "博山区", "周村区", "桓台县", "高青县", "沂源县", "其他"] + }, + + { + "name": "枣庄", + "area": ["市中区", "山亭区", "峄城区", "台儿庄区", "薛城区", "滕州市", "其他"] + }, + + { + "name": "东营", + "area": ["东营区", "河口区", "垦利县", "广饶县", "利津县", "其他"] + }, + + { + "name": "烟台", + "area": ["芝罘区", "福山区", "牟平区", "莱山区", "龙口市", "莱阳市", "莱州市", "招远市", "蓬莱市", "栖霞市", "海阳市", "长岛县", "其他"] + }, + + { + "name": "潍坊", + "area": ["潍城区", "寒亭区", "坊子区", "奎文区", "青州市", "诸城市", "寿光市", "安丘市", "高密市", "昌邑市", "昌乐县", "临朐县", "其他"] + }, + + { + "name": "济宁", + "area": ["市中区", "任城区", "曲阜市", "兖州市", "邹城市", "鱼台县", "金乡县", "嘉祥县", "微山县", "汶上县", "泗水县", "梁山县", "其他"] + }, + + { + "name": "泰安", + "area": ["泰山区", "岱岳区", "新泰市", "肥城市", "宁阳县", "东平县", "其他"] + }, + + { + "name": "威海", + "area": ["环翠区", "乳山市", "文登市", "荣成市", "其他"] + }, + + { + "name": "日照", + "area": ["东港区", "岚山区", "五莲县", "莒县", "其他"] + }, + + { + "name": "莱芜", + "area": ["莱城区", "钢城区", "其他"] + }, + + { + "name": "临沂", + "area": ["兰山区", "罗庄区", "河东区", "沂南县", "郯城县", "沂水县", "苍山县", "费县", "平邑县", "莒南县", "蒙阴县", "临沭县", "其他"] + }, + + { + "name": "德州", + "area": ["德城区", "乐陵市", "禹城市", "陵县", "宁津县", "齐河县", "武城县", "庆云县", "平原县", "夏津县", "临邑县", "其他"] + }, + + { + "name": "聊城", + "area": ["东昌府区", "临清市", "高唐县", "阳谷县", "茌平县", "莘县", "东阿县", "冠县", "其他"] + }, + + { + "name": "滨州", + "area": ["滨城区", "邹平县", "沾化县", "惠民县", "博兴县", "阳信县", "无棣县", "其他"] + }, + + { + "name": "菏泽", + "area": ["牡丹区", "鄄城县", "单县", "郓城县", "曹县", "定陶县", "巨野县", "东明县", "成武县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "河南", + "city": [ + + { + "name": "郑州", + "area": ["中原区", "金水区", "二七区", "管城回族区", "上街区", "惠济区", "巩义市", "新郑市", "新密市", "登封市", "荥阳市", "中牟县", "其他"] + }, + + { + "name": "开封", + "area": ["鼓楼区", "龙亭区", "顺河回族区", "禹王台区", "金明区", "开封县", "尉氏县", "兰考县", "杞县", "通许县", "其他"] + }, + + { + "name": "洛阳", + "area": ["西工区", "老城区", "涧西区", "瀍河回族区", "洛龙区", "吉利区", "偃师市", "孟津县", "汝阳县", "伊川县", "洛宁县", "嵩县", "宜阳县", "新安县", "栾川县", "其他"] + }, + + { + "name": "平顶山", + "area": ["新华区", "卫东区", "湛河区", "石龙区", "汝州市", "舞钢市", "宝丰县", "叶县", "郏县", "鲁山县", "其他"] + }, + + { + "name": "安阳", + "area": ["北关区", "文峰区", "殷都区", "龙安区", "林州市", "安阳县", "滑县", "内黄县", "汤阴县", "其他"] + }, + + { + "name": "鹤壁", + "area": ["淇滨区", "山城区", "鹤山区", "浚县", "淇县", "其他"] + }, + + { + "name": "新乡", + "area": ["卫滨区", "红旗区", "凤泉区", "牧野区", "卫辉市", "辉县市", "新乡县", "获嘉县", "原阳县", "长垣县", "封丘县", "延津县", "其他"] + }, + + { + "name": "焦作", + "area": ["解放区", "中站区", "马村区", "山阳区", "沁阳市", "孟州市", "修武县", "温县", "武陟县", "博爱县", "其他"] + }, + + { + "name": "濮阳", + "area": ["华龙区", "濮阳县", "南乐县", "台前县", "清丰县", "范县", "其他"] + }, + + { + "name": "许昌", + "area": ["魏都区", "禹州市", "长葛市", "许昌县", "鄢陵县", "襄城县", "其他"] + }, + + { + "name": "漯河", + "area": ["源汇区", "郾城区", "召陵区", "临颍县", "舞阳县", "其他"] + }, + + { + "name": "三门峡", + "area": ["湖滨区", "义马市", "灵宝市", "渑池县", "卢氏县", "陕县", "其他"] + }, + + { + "name": "南阳", + "area": ["卧龙区", "宛城区", "邓州市", "桐柏县", "方城县", "淅川县", "镇平县", "唐河县", "南召县", "内乡县", "新野县", "社旗县", "西峡县", "其他"] + }, + + { + "name": "商丘", + "area": ["梁园区", "睢阳区", "永城市", "宁陵县", "虞城县", "民权县", "夏邑县", "柘城县", "睢县", "其他"] + }, + + { + "name": "信阳", + "area": ["浉河区", "平桥区", "潢川县", "淮滨县", "息县", "新县", "商城县", "固始县", "罗山县", "光山县", "其他"] + }, + + { + "name": "周口", + "area": ["川汇区", "项城市", "商水县", "淮阳县", "太康县", "鹿邑县", "西华县", "扶沟县", "沈丘县", "郸城县", "其他"] + }, + + { + "name": "驻马店", + "area": ["驿城区", "确山县", "新蔡县", "上蔡县", "西平县", "泌阳县", "平舆县", "汝南县", "遂平县", "正阳县", "其他"] + }, + + { + "name": "焦作", + "area": ["济源市", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "湖北", + "city": [ + + { + "name": "武汉", + "area": ["江岸区", "武昌区", "江汉区", "硚口区", "汉阳区", "青山区", "洪山区", "东西湖区", "汉南区", "蔡甸区", "江夏区", "黄陂区", "新洲区", "其他"] + }, + + { + "name": "黄石", + "area": ["黄石港区", "西塞山区", "下陆区", "铁山区", "大冶市", "阳新县", "其他"] + }, + + { + "name": "十堰", + "area": ["张湾区", "茅箭区", "丹江口市", "郧县", "竹山县", "房县", "郧西县", "竹溪县", "其他"] + }, + + { + "name": "荆州", + "area": ["沙市区", "荆州区", "洪湖市", "石首市", "松滋市", "监利县", "公安县", "江陵县", "其他"] + }, + + { + "name": "宜昌", + "area": ["西陵区", "伍家岗区", "点军区", "猇亭区", "夷陵区", "宜都市", "当阳市", "枝江市", "秭归县", "远安县", "兴山县", "五峰土家族自治县", "长阳土家族自治县", "其他"] + }, + + { + "name": "襄樊", + "area": ["襄城区", "樊城区", "襄阳区", "老河口市", "枣阳市", "宜城市", "南漳县", "谷城县", "保康县", "其他"] + }, + + { + "name": "鄂州", + "area": ["鄂城区", "华容区", "梁子湖区", "其他"] + }, + + { + "name": "荆门", + "area": ["东宝区", "掇刀区", "钟祥市", "京山县", "沙洋县", "其他"] + }, + + { + "name": "孝感", + "area": ["孝南区", "应城市", "安陆市", "汉川市", "云梦县", "大悟县", "孝昌县", "其他"] + }, + + { + "name": "黄冈", + "area": ["黄州区", "麻城市", "武穴市", "红安县", "罗田县", "浠水县", "蕲春县", "黄梅县", "英山县", "团风县", "其他"] + }, + + { + "name": "咸宁", + "area": ["咸安区", "赤壁市", "嘉鱼县", "通山县", "崇阳县", "通城县", "其他"] + }, + + { + "name": "随州", + "area": ["曾都区", "广水市", "其他"] + }, + + { + "name": "恩施土家族苗族自治州", + "area": ["恩施市", "利川市", "建始县", "来凤县", "巴东县", "鹤峰县", "宣恩县", "咸丰县", "其他"] + }, + + { + "name": "仙桃", + "area": ["仙桃"] + }, + + { + "name": "天门", + "area": ["天门"] + }, + + { + "name": "潜江", + "area": ["潜江"] + }, + + { + "name": "神农架林区", + "area": ["神农架林区"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "湖南", + "city": [ + + { + "name": "长沙", + "area": ["岳麓区", "芙蓉区", "天心区", "开福区", "雨花区", "浏阳市", "长沙县", "望城县", "宁乡县", "其他"] + }, + + { + "name": "株洲", + "area": ["天元区", "荷塘区", "芦淞区", "石峰区", "醴陵市", "株洲县", "炎陵县", "茶陵县", "攸县", "其他"] + }, + + { + "name": "湘潭", + "area": ["岳塘区", "雨湖区", "湘乡市", "韶山市", "湘潭县", "其他"] + }, + + { + "name": "衡阳", + "area": ["雁峰区", "珠晖区", "石鼓区", "蒸湘区", "南岳区", "耒阳市", "常宁市", "衡阳县", "衡东县", "衡山县", "衡南县", "祁东县", "其他"] + }, + + { + "name": "邵阳", + "area": ["双清区", "大祥区", "北塔区", "武冈市", "邵东县", "洞口县", "新邵县", "绥宁县", "新宁县", "邵阳县", "隆回县", "城步苗族自治县", "其他"] + }, + + { + "name": "岳阳", + "area": ["岳阳楼区", "云溪区", "君山区", "临湘市", "汨罗市", "岳阳县", "湘阴县", "平江县", "华容县", "其他"] + }, + + { + "name": "常德", + "area": ["武陵区", "鼎城区", "津市市", "澧县", "临澧县", "桃源县", "汉寿县", "安乡县", "石门县", "其他"] + }, + + { + "name": "张家界", + "area": ["永定区", "武陵源区", "慈利县", "桑植县", "其他"] + }, + + { + "name": "益阳", + "area": ["赫山区", "资阳区", "沅江市", "桃江县", "南县", "安化县", "其他"] + }, + + { + "name": "郴州", + "area": ["北湖区", "苏仙区", "资兴市", "宜章县", "汝城县", "安仁县", "嘉禾县", "临武县", "桂东县", "永兴县", "桂阳县", "其他"] + }, + + { + "name": "永州", + "area": ["冷水滩区", "零陵区", "祁阳县", "蓝山县", "宁远县", "新田县", "东安县", "江永县", "道县", "双牌县", "江华瑶族自治县", "其他"] + }, + + { + "name": "怀化", + "area": ["鹤城区", "洪江市", "会同县", "沅陵县", "辰溪县", "溆浦县", "中方县", "新晃侗族自治县", "芷江侗族自治县", "通道侗族自治县", "靖州苗族侗族自治县", "麻阳苗族自治县", "其他"] + }, + + { + "name": "娄底", + "area": ["娄星区", "冷水江市", "涟源市", "新化县", "双峰县", "其他"] + }, + + { + "name": "湘西土家族苗族自治州", + "area": ["吉首市", "古丈县", "龙山县", "永顺县", "凤凰县", "泸溪县", "保靖县", "花垣县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "广东", + "city": [ + + { + "name": "广州", + "area": ["越秀区", "荔湾区", "海珠区", "天河区", "白云区", "黄埔区", "番禺区", "花都区", "南沙区", "萝岗区", "增城市", "从化市", "其他"] + }, + + { + "name": "深圳", + "area": ["福田区", "罗湖区", "南山区", "宝安区", "龙岗区", "盐田区", "其他"] + }, + + { + "name": "东莞", + "area": ["莞城", "常平", "塘厦", "塘厦", "塘厦", "其他"] + }, + + { + "name": "中山", + "area": ["中山"] + }, + + { + "name": "潮州", + "area": ["湘桥区", "潮安县", "饶平县", "其他"] + }, + + { + "name": "揭阳", + "area": ["榕城区", "揭东县", "揭西县", "惠来县", "普宁市", "其他"] + }, + + { + "name": "云浮", + "area": ["云城区", "新兴县", "郁南县", "云安县", "罗定市", "其他"] + }, + + { + "name": "珠海", + "area": ["香洲区", "斗门区", "金湾区", "其他"] + }, + + { + "name": "汕头", + "area": ["金平区", "濠江区", "龙湖区", "潮阳区", "潮南区", "澄海区", "南澳县", "其他"] + }, + + { + "name": "韶关", + "area": ["浈江区", "武江区", "曲江区", "乐昌市", "南雄市", "始兴县", "仁化县", "翁源县", "新丰县", "乳源瑶族自治县", "其他"] + }, + + { + "name": "佛山", + "area": ["禅城区", "南海区", "顺德区", "三水区", "高明区", "其他"] + }, + + { + "name": "江门", + "area": ["蓬江区", "江海区", "新会区", "恩平市", "台山市", "开平市", "鹤山市", "其他"] + }, + + { + "name": "湛江", + "area": ["赤坎区", "霞山区", "坡头区", "麻章区", "吴川市", "廉江市", "雷州市", "遂溪县", "徐闻县", "其他"] + }, + + { + "name": "茂名", + "area": ["茂南区", "茂港区", "化州市", "信宜市", "高州市", "电白县", "其他"] + }, + + { + "name": "肇庆", + "area": ["端州区", "鼎湖区", "高要市", "四会市", "广宁县", "怀集县", "封开县", "德庆县", "其他"] + }, + + { + "name": "惠州", + "area": ["惠城区", "惠阳区", "博罗县", "惠东县", "龙门县", "其他"] + }, + + { + "name": "梅州", + "area": ["梅江区", "兴宁市", "梅县", "大埔县", "丰顺县", "五华县", "平远县", "蕉岭县", "其他"] + }, + + { + "name": "汕尾", + "area": ["城区", "陆丰市", "海丰县", "陆河县", "其他"] + }, + + { + "name": "河源", + "area": ["源城区", "紫金县", "龙川县", "连平县", "和平县", "东源县", "其他"] + }, + + { + "name": "阳江", + "area": ["江城区", "阳春市", "阳西县", "阳东县", "其他"] + }, + + { + "name": "清远", + "area": ["清城区", "英德市", "连州市", "佛冈县", "阳山县", "清新县", "连山壮族瑶族自治县", "连南瑶族自治县", "其他"] + } + + ] + }, + + { + "name": "广西", + "city": [ + + { + "name": "南宁", + "area": ["青秀区", "兴宁区", "西乡塘区", "良庆区", "江南区", "邕宁区", "武鸣县", "隆安县", "马山县", "上林县", "宾阳县", "横县", "其他"] + }, + + { + "name": "柳州", + "area": ["城中区", "鱼峰区", "柳北区", "柳南区", "柳江县", "柳城县", "鹿寨县", "融安县", "融水苗族自治县", "三江侗族自治县", "其他"] + }, + + { + "name": "桂林", + "area": ["象山区", "秀峰区", "叠彩区", "七星区", "雁山区", "阳朔县", "临桂县", "灵川县", "全州县", "平乐县", "兴安县", "灌阳县", "荔浦县", "资源县", "永福县", "龙胜各族自治县", "恭城瑶族自治县", "其他"] + }, + + { + "name": "梧州", + "area": ["万秀区", "蝶山区", "长洲区", "岑溪市", "苍梧县", "藤县", "蒙山县", "其他"] + }, + + { + "name": "北海", + "area": ["海城区", "银海区", "铁山港区", "合浦县", "其他"] + }, + + { + "name": "防城港", + "area": ["港口区", "防城区", "东兴市", "上思县", "其他"] + }, + + { + "name": "钦州", + "area": ["钦南区", "钦北区", "灵山县", "浦北县", "其他"] + }, + + { + "name": "贵港", + "area": ["港北区", "港南区", "覃塘区", "桂平市", "平南县", "其他"] + }, + + { + "name": "玉林", + "area": ["玉州区", "北流市", "容县", "陆川县", "博白县", "兴业县", "其他"] + }, + + { + "name": "百色", + "area": ["右江区", "凌云县", "平果县", "西林县", "乐业县", "德保县", "田林县", "田阳县", "靖西县", "田东县", "那坡县", "隆林各族自治县", "其他"] + }, + + { + "name": "贺州", + "area": ["八步区", "钟山县", "昭平县", "富川瑶族自治县", "其他"] + }, + + { + "name": "河池", + "area": ["金城江区", "宜州市", "天峨县", "凤山县", "南丹县", "东兰县", "都安瑶族自治县", "罗城仫佬族自治县", "巴马瑶族自治县", "环江毛南族自治县", "大化瑶族自治县", "其他"] + }, + + { + "name": "来宾", + "area": ["兴宾区", "合山市", "象州县", "武宣县", "忻城县", "金秀瑶族自治县", "其他"] + }, + + { + "name": "崇左", + "area": ["江州区", "凭祥市", "宁明县", "扶绥县", "龙州县", "大新县", "天等县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "海南", + "city": [ + + { + "name": "海口", + "area": ["龙华区", "秀英区", "琼山区", "美兰区", "其他"] + }, + + { + "name": "三亚", + "area": ["三亚市", "其他"] + }, + + { + "name": "五指山", + "area": ["五指山"] + }, + + { + "name": "琼海", + "area": ["琼海"] + }, + + { + "name": "儋州", + "area": ["儋州"] + }, + + { + "name": "文昌", + "area": ["文昌"] + }, + + { + "name": "万宁", + "area": ["万宁"] + }, + + { + "name": "东方", + "area": ["东方"] + }, + + { + "name": "澄迈县", + "area": ["澄迈县"] + }, + + { + "name": "定安县", + "area": ["定安县"] + }, + + { + "name": "屯昌县", + "area": ["屯昌县"] + }, + + { + "name": "临高县", + "area": ["临高县"] + }, + + { + "name": "白沙黎族自治县", + "area": ["白沙黎族自治县"] + }, + + { + "name": "昌江黎族自治县", + "area": ["昌江黎族自治县"] + }, + + { + "name": "乐东黎族自治县", + "area": ["乐东黎族自治县"] + }, + + { + "name": "陵水黎族自治县", + "area": ["陵水黎族自治县"] + }, + + { + "name": "保亭黎族苗族自治县", + "area": ["保亭黎族苗族自治县"] + }, + + { + "name": "琼中黎族苗族自治县", + "area": ["琼中黎族苗族自治县"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "重庆", + "city": [ + + { + "name": "重庆", + "area": ["渝中区", "大渡口区", "江北区", "南岸区", "北碚区", "渝北区", "巴南区", "长寿区", "双桥区", "沙坪坝区", "万盛区", "万州区", "涪陵区", "黔江区", "永川区", "合川区", "江津区", "九龙坡区", "南川区", "綦江县", "潼南县", "荣昌县", "璧山县", "大足县", "铜梁县", "梁平县", "开县", "忠县", "城口县", "垫江县", "武隆县", "丰都县", "奉节县", "云阳县", "巫溪县", "巫山县", "石柱土家族自治县", "秀山土家族苗族自治县", "酉阳土家族苗族自治县", "彭水苗族土家族自治县", "其他"] + } + + ] + }, + + { + "name": "四川", + "city": [ + + { + "name": "成都", + "area": ["青羊区", "锦江区", "金牛区", "武侯区", "成华区", "龙泉驿区", "青白江区", "新都区", "温江区", "都江堰市", "彭州市", "邛崃市", "崇州市", "金堂县", "郫县", "新津县", "双流县", "蒲江县", "大邑县", "其他"] + }, + + { + "name": "自贡", + "area": ["大安区", "自流井区", "贡井区", "沿滩区", "荣县", "富顺县", "其他"] + }, + + { + "name": "攀枝花", + "area": ["仁和区", "米易县", "盐边县", "东区", "西区", "其他"] + }, + + { + "name": "泸州", + "area": ["江阳区", "纳溪区", "龙马潭区", "泸县", "合江县", "叙永县", "古蔺县", "其他"] + }, + + { + "name": "德阳", + "area": ["旌阳区", "广汉市", "什邡市", "绵竹市", "罗江县", "中江县", "其他"] + }, + + { + "name": "绵阳", + "area": ["涪城区", "游仙区", "江油市", "盐亭县", "三台县", "平武县", "安县", "梓潼县", "北川羌族自治县", "其他"] + }, + + { + "name": "广元", + "area": ["元坝区", "朝天区", "青川县", "旺苍县", "剑阁县", "苍溪县", "市中区", "其他"] + }, + + { + "name": "遂宁", + "area": ["船山区", "安居区", "射洪县", "蓬溪县", "大英县", "其他"] + }, + + { + "name": "内江", + "area": ["市中区", "东兴区", "资中县", "隆昌县", "威远县", "其他"] + }, + + { + "name": "乐山", + "area": ["市中区", "五通桥区", "沙湾区", "金口河区", "峨眉山市", "夹江县", "井研县", "犍为县", "沐川县", "马边彝族自治县", "峨边彝族自治县", "其他"] + }, + + { + "name": "南充", + "area": ["顺庆区", "高坪区", "嘉陵区", "阆中市", "营山县", "蓬安县", "仪陇县", "南部县", "西充县", "其他"] + }, + + { + "name": "眉山", + "area": ["东坡区", "仁寿县", "彭山县", "洪雅县", "丹棱县", "青神县", "其他"] + }, + + { + "name": "宜宾", + "area": ["翠屏区", "宜宾县", "兴文县", "南溪县", "珙县", "长宁县", "高县", "江安县", "筠连县", "屏山县", "其他"] + }, + + { + "name": "广安", + "area": ["广安区", "华蓥市", "岳池县", "邻水县", "武胜县", "其他"] + }, + + { + "name": "达州", + "area": ["通川区", "万源市", "达县", "渠县", "宣汉县", "开江县", "大竹县", "其他"] + }, + + { + "name": "雅安", + "area": ["雨城区", "芦山县", "石棉县", "名山县", "天全县", "荥经县", "宝兴县", "汉源县", "其他"] + }, + + { + "name": "巴中", + "area": ["巴州区", "南江县", "平昌县", "通江县", "其他"] + }, + + { + "name": "资阳", + "area": ["雁江区", "简阳市", "安岳县", "乐至县", "其他"] + }, + + { + "name": "阿坝藏族羌族自治州", + "area": ["马尔康县", "九寨沟县", "红原县", "汶川县", "阿坝县", "理县", "若尔盖县", "小金县", "黑水县", "金川县", "松潘县", "壤塘县", "茂县", "其他"] + }, + + { + "name": "甘孜藏族自治州", + "area": ["康定县", "丹巴县", "炉霍县", "九龙县", "甘孜县", "雅江县", "新龙县", "道孚县", "白玉县", "理塘县", "德格县", "乡城县", "石渠县", "稻城县", "色达县", "巴塘县", "泸定县", "得荣县", "其他"] + }, + + { + "name": "凉山彝族自治州", + "area": ["西昌市", "美姑县", "昭觉县", "金阳县", "甘洛县", "布拖县", "雷波县", "普格县", "宁南县", "喜德县", "会东县", "越西县", "会理县", "盐源县", "德昌县", "冕宁县", "木里藏族自治县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "贵州", + "city": [ + + { + "name": "贵阳", + "area": ["南明区", "云岩区", "花溪区", "乌当区", "白云区", "小河区", "清镇市", "开阳县", "修文县", "息烽县", "其他"] + }, + + { + "name": "六盘水", + "area": ["钟山区", "水城县", "盘县", "六枝特区", "其他"] + }, + + { + "name": "遵义", + "area": ["红花岗区", "汇川区", "赤水市", "仁怀市", "遵义县", "绥阳县", "桐梓县", "习水县", "凤冈县", "正安县", "余庆县", "湄潭县", "道真仡佬族苗族自治县", "务川仡佬族苗族自治县", "其他"] + }, + + { + "name": "安顺", + "area": ["西秀区", "普定县", "平坝县", "镇宁布依族苗族自治县", "紫云苗族布依族自治县", "关岭布依族苗族自治县", "其他"] + }, + + { + "name": "铜仁地区", + "area": ["铜仁市", "德江县", "江口县", "思南县", "石阡县", "玉屏侗族自治县", "松桃苗族自治县", "印江土家族苗族自治县", "沿河土家族自治县", "万山特区", "其他"] + }, + + { + "name": "毕节地区", + "area": ["毕节市", "黔西县", "大方县", "织金县", "金沙县", "赫章县", "纳雍县", "威宁彝族回族苗族自治县", "其他"] + }, + + { + "name": "黔西南布依族苗族自治州", + "area": ["兴义市", "望谟县", "兴仁县", "普安县", "册亨县", "晴隆县", "贞丰县", "安龙县", "其他"] + }, + + { + "name": "黔东南苗族侗族自治州", + "area": ["凯里市", "施秉县", "从江县", "锦屏县", "镇远县", "麻江县", "台江县", "天柱县", "黄平县", "榕江县", "剑河县", "三穗县", "雷山县", "黎平县", "岑巩县", "丹寨县", "其他"] + }, + + { + "name": "黔南布依族苗族自治州", + "area": ["都匀市", "福泉市", "贵定县", "惠水县", "罗甸县", "瓮安县", "荔波县", "龙里县", "平塘县", "长顺县", "独山县", "三都水族自治县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "云南", + "city": [ + + { + "name": "昆明", + "area": ["盘龙区", "五华区", "官渡区", "西山区", "东川区", "安宁市", "呈贡县", "晋宁县", "富民县", "宜良县", "嵩明县", "石林彝族自治县", "禄劝彝族苗族自治县", "寻甸回族彝族自治县", "其他"] + }, + + { + "name": "曲靖", + "area": ["麒麟区", "宣威市", "马龙县", "沾益县", "富源县", "罗平县", "师宗县", "陆良县", "会泽县", "其他"] + }, + + { + "name": "玉溪", + "area": ["红塔区", "江川县", "澄江县", "通海县", "华宁县", "易门县", "峨山彝族自治县", "新平彝族傣族自治县", "元江哈尼族彝族傣族自治县", "其他"] + }, + + { + "name": "保山", + "area": ["隆阳区", "施甸县", "腾冲县", "龙陵县", "昌宁县", "其他"] + }, + + { + "name": "昭通", + "area": ["昭阳区", "鲁甸县", "巧家县", "盐津县", "大关县", "永善县", "绥江县", "镇雄县", "彝良县", "威信县", "水富县", "其他"] + }, + + { + "name": "丽江", + "area": ["古城区", "永胜县", "华坪县", "玉龙纳西族自治县", "宁蒗彝族自治县", "其他"] + }, + + { + "name": "普洱", + "area": ["思茅区", "普洱哈尼族彝族自治县", "墨江哈尼族自治县", "景东彝族自治县", "景谷傣族彝族自治县", "镇沅彝族哈尼族拉祜族自治县", "江城哈尼族彝族自治县", "孟连傣族拉祜族佤族自治县", "澜沧拉祜族自治县", "西盟佤族自治县", "其他"] + }, + + { + "name": "临沧", + "area": ["临翔区", "凤庆县", "云县", "永德县", "镇康县", "双江拉祜族佤族布朗族傣族自治县", "耿马傣族佤族自治县", "沧源佤族自治县", "其他"] + }, + + { + "name": "德宏傣族景颇族自治州", + "area": ["潞西市", "瑞丽市", "梁河县", "盈江县", "陇川县", "其他"] + }, + + { + "name": "怒江傈僳族自治州", + "area": ["泸水县", "福贡县", "贡山独龙族怒族自治县", "兰坪白族普米族自治县", "其他"] + }, + + { + "name": "迪庆藏族自治州", + "area": ["香格里拉县", "德钦县", "维西傈僳族自治县", "其他"] + }, + + { + "name": "大理白族自治州", + "area": ["大理市", "祥云县", "宾川县", "弥渡县", "永平县", "云龙县", "洱源县", "剑川县", "鹤庆县", "漾濞彝族自治县", "南涧彝族自治县", "巍山彝族回族自治县", "其他"] + }, + + { + "name": "楚雄彝族自治州", + "area": ["楚雄市", "双柏县", "牟定县", "南华县", "姚安县", "大姚县", "永仁县", "元谋县", "武定县", "禄丰县", "其他"] + }, + + { + "name": "红河哈尼族彝族自治州", + "area": ["蒙自县", "个旧市", "开远市", "绿春县", "建水县", "石屏县", "弥勒县", "泸西县", "元阳县", "红河县", "金平苗族瑶族傣族自治县", "河口瑶族自治县", "屏边苗族自治县", "其他"] + }, + + { + "name": "文山壮族苗族自治州", + "area": ["文山县", "砚山县", "西畴县", "麻栗坡县", "马关县", "丘北县", "广南县", "富宁县", "其他"] + }, + + { + "name": "西双版纳傣族自治州", + "area": ["景洪市", "勐海县", "勐腊县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "西藏", + "city": [ + + { + "name": "拉萨", + "area": ["城关区", "林周县", "当雄县", "尼木县", "曲水县", "堆龙德庆县", "达孜县", "墨竹工卡县", "其他"] + }, + + { + "name": "那曲地区", + "area": ["那曲县", "嘉黎县", "比如县", "聂荣县", "安多县", "申扎县", "索县", "班戈县", "巴青县", "尼玛县", "其他"] + }, + + { + "name": "昌都地区", + "area": ["昌都县", "江达县", "贡觉县", "类乌齐县", "丁青县", "察雅县", "八宿县", "左贡县", "芒康县", "洛隆县", "边坝县", "其他"] + }, + + { + "name": "林芝地区", + "area": ["林芝县", "工布江达县", "米林县", "墨脱县", "波密县", "察隅县", "朗县", "其他"] + }, + + { + "name": "山南地区", + "area": ["乃东县", "扎囊县", "贡嘎县", "桑日县", "琼结县", "曲松县", "措美县", "洛扎县", "加查县", "隆子县", "错那县", "浪卡子县", "其他"] + }, + + { + "name": "日喀则地区", + "area": ["日喀则市", "南木林县", "江孜县", "定日县", "萨迦县", "拉孜县", "昂仁县", "谢通门县", "白朗县", "仁布县", "康马县", "定结县", "仲巴县", "亚东县", "吉隆县", "聂拉木县", "萨嘎县", "岗巴县", "其他"] + }, + + { + "name": "阿里地区", + "area": ["噶尔县", "普兰县", "札达县", "日土县", "革吉县", "改则县", "措勤县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "陕西", + "city": [ + + { + "name": "西安", + "area": ["莲湖区", "新城区", "碑林区", "雁塔区", "灞桥区", "未央区", "阎良区", "临潼区", "长安区", "高陵县", "蓝田县", "户县", "周至县", "其他"] + }, + + { + "name": "铜川", + "area": ["耀州区", "王益区", "印台区", "宜君县", "其他"] + }, + + { + "name": "宝鸡", + "area": ["渭滨区", "金台区", "陈仓区", "岐山县", "凤翔县", "陇县", "太白县", "麟游县", "扶风县", "千阳县", "眉县", "凤县", "其他"] + }, + + { + "name": "咸阳", + "area": ["秦都区", "渭城区", "杨陵区", "兴平市", "礼泉县", "泾阳县", "永寿县", "三原县", "彬县", "旬邑县", "长武县", "乾县", "武功县", "淳化县", "其他"] + }, + + { + "name": "渭南", + "area": ["临渭区", "韩城市", "华阴市", "蒲城县", "潼关县", "白水县", "澄城县", "华县", "合阳县", "富平县", "大荔县", "其他"] + }, + + { + "name": "延安", + "area": ["宝塔区", "安塞县", "洛川县", "子长县", "黄陵县", "延川县", "富县", "延长县", "甘泉县", "宜川县", "志丹县", "黄龙县", "吴起县", "其他"] + }, + + { + "name": "汉中", + "area": ["汉台区", "留坝县", "镇巴县", "城固县", "南郑县", "洋县", "宁强县", "佛坪县", "勉县", "西乡县", "略阳县", "其他"] + }, + + { + "name": "榆林", + "area": ["榆阳区", "清涧县", "绥德县", "神木县", "佳县", "府谷县", "子洲县", "靖边县", "横山县", "米脂县", "吴堡县", "定边县", "其他"] + }, + + { + "name": "安康", + "area": ["汉滨区", "紫阳县", "岚皋县", "旬阳县", "镇坪县", "平利县", "石泉县", "宁陕县", "白河县", "汉阴县", "其他"] + }, + + { + "name": "商洛", + "area": ["商州区", "镇安县", "山阳县", "洛南县", "商南县", "丹凤县", "柞水县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "甘肃", + "city": [ + + { + "name": "兰州", + "area": ["城关区", "七里河区", "西固区", "安宁区", "红古区", "永登县", "皋兰县", "榆中县", "其他"] + }, + + { + "name": "嘉峪关", + "area": ["嘉峪关市", "其他"] + }, + + { + "name": "金昌", + "area": ["金川区", "永昌县", "其他"] + }, + + { + "name": "白银", + "area": ["白银区", "平川区", "靖远县", "会宁县", "景泰县", "其他"] + }, + + { + "name": "天水", + "area": ["清水县", "秦安县", "甘谷县", "武山县", "张家川回族自治县", "北道区", "秦城区", "其他"] + }, + + { + "name": "武威", + "area": ["凉州区", "民勤县", "古浪县", "天祝藏族自治县", "其他"] + }, + + { + "name": "酒泉", + "area": ["肃州区", "玉门市", "敦煌市", "金塔县", "肃北蒙古族自治县", "阿克塞哈萨克族自治县", "安西县", "其他"] + }, + + { + "name": "张掖", + "area": ["甘州区", "民乐县", "临泽县", "高台县", "山丹县", "肃南裕固族自治县", "其他"] + }, + + { + "name": "庆阳", + "area": ["西峰区", "庆城县", "环县", "华池县", "合水县", "正宁县", "宁县", "镇原县", "其他"] + }, + + { + "name": "平凉", + "area": ["崆峒区", "泾川县", "灵台县", "崇信县", "华亭县", "庄浪县", "静宁县", "其他"] + }, + + { + "name": "定西", + "area": ["安定区", "通渭县", "临洮县", "漳县", "岷县", "渭源县", "陇西县", "其他"] + }, + + { + "name": "陇南", + "area": ["武都区", "成县", "宕昌县", "康县", "文县", "西和县", "礼县", "两当县", "徽县", "其他"] + }, + + { + "name": "临夏回族自治州", + "area": ["临夏市", "临夏县", "康乐县", "永靖县", "广河县", "和政县", "东乡族自治县", "积石山保安族东乡族撒拉族自治县", "其他"] + }, + + { + "name": "甘南藏族自治州", + "area": ["合作市", "临潭县", "卓尼县", "舟曲县", "迭部县", "玛曲县", "碌曲县", "夏河县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "青海", + "city": [ + + { + "name": "西宁", + "area": ["城中区", "城东区", "城西区", "城北区", "湟源县", "湟中县", "大通回族土族自治县", "其他"] + }, + + { + "name": "海东地区", + "area": ["平安县", "乐都县", "民和回族土族自治县", "互助土族自治县", "化隆回族自治县", "循化撒拉族自治县", "其他"] + }, + + { + "name": "海北藏族自治州", + "area": ["海晏县", "祁连县", "刚察县", "门源回族自治县", "其他"] + }, + + { + "name": "海南藏族自治州", + "area": ["共和县", "同德县", "贵德县", "兴海县", "贵南县", "其他"] + }, + + { + "name": "黄南藏族自治州", + "area": ["同仁县", "尖扎县", "泽库县", "河南蒙古族自治县", "其他"] + }, + + { + "name": "果洛藏族自治州", + "area": ["玛沁县", "班玛县", "甘德县", "达日县", "久治县", "玛多县", "其他"] + }, + + { + "name": "玉树藏族自治州", + "area": ["玉树县", "杂多县", "称多县", "治多县", "囊谦县", "曲麻莱县", "其他"] + }, + + { + "name": "海西蒙古族藏族自治州", + "area": ["德令哈市", "格尔木市", "乌兰县", "都兰县", "天峻县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "宁夏", + "city": [ + + { + "name": "银川", + "area": ["兴庆区", "西夏区", "金凤区", "灵武市", "永宁县", "贺兰县", "其他"] + }, + + { + "name": "石嘴山", + "area": ["大武口区", "惠农区", "平罗县", "其他"] + }, + + { + "name": "吴忠", + "area": ["利通区", "青铜峡市", "盐池县", "同心县", "其他"] + }, + + { + "name": "固原", + "area": ["原州区", "西吉县", "隆德县", "泾源县", "彭阳县", "其他"] + }, + + { + "name": "中卫", + "area": ["沙坡头区", "中宁县", "海原县", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "新疆", + "city": [ + + { + "name": "乌鲁木齐", + "area": ["天山区", "沙依巴克区", "新市区", "水磨沟区", "头屯河区", "达坂城区", "东山区", "乌鲁木齐县", "其他"] + }, + + { + "name": "克拉玛依", + "area": ["克拉玛依区", "独山子区", "白碱滩区", "乌尔禾区", "其他"] + }, + + { + "name": "吐鲁番地区", + "area": ["吐鲁番市", "托克逊县", "鄯善县", "其他"] + }, + + { + "name": "哈密地区", + "area": ["哈密市", "伊吾县", "巴里坤哈萨克自治县", "其他"] + }, + + { + "name": "和田地区", + "area": ["和田市", "和田县", "洛浦县", "民丰县", "皮山县", "策勒县", "于田县", "墨玉县", "其他"] + }, + + { + "name": "阿克苏地区", + "area": ["阿克苏市", "温宿县", "沙雅县", "拜城县", "阿瓦提县", "库车县", "柯坪县", "新和县", "乌什县", "其他"] + }, + + { + "name": "喀什地区", + "area": ["喀什市", "巴楚县", "泽普县", "伽师县", "叶城县", "岳普湖县", "疏勒县", "麦盖提县", "英吉沙县", "莎车县", "疏附县", "塔什库尔干塔吉克自治县", "其他"] + }, + + { + "name": "克孜勒苏柯尔克孜自治州", + "area": ["阿图什市", "阿合奇县", "乌恰县", "阿克陶县", "其他"] + }, + + { + "name": "巴音郭楞蒙古自治州", + "area": ["库尔勒市", "和静县", "尉犁县", "和硕县", "且末县", "博湖县", "轮台县", "若羌县", "焉耆回族自治县", "其他"] + }, + + { + "name": "昌吉回族自治州", + "area": ["昌吉市", "阜康市", "奇台县", "玛纳斯县", "吉木萨尔县", "呼图壁县", "木垒哈萨克自治县", "米泉市", "其他"] + }, + + { + "name": "博尔塔拉蒙古自治州", + "area": ["博乐市", "精河县", "温泉县", "其他"] + }, + + { + "name": "石河子", + "area": ["石河子"] + }, + + { + "name": "阿拉尔", + "area": ["阿拉尔"] + }, + + { + "name": "图木舒克", + "area": ["图木舒克"] + }, + + { + "name": "五家渠", + "area": ["五家渠"] + }, + + { + "name": "伊犁哈萨克自治州", + "area": ["伊宁市", "奎屯市", "伊宁县", "特克斯县", "尼勒克县", "昭苏县", "新源县", "霍城县", "巩留县", "察布查尔锡伯自治县", "塔城地区", "阿勒泰地区", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "台湾", + "city": [ + + { + "name": "台湾", + "area": ["台北市", "高雄市", "台北县", "桃园县", "新竹县", "苗栗县", "台中县", "彰化县", "南投县", "云林县", "嘉义县", "台南县", "高雄县", "屏东县", "宜兰县", "花莲县", "台东县", "澎湖县", "基隆市", "新竹市", "台中市", "嘉义市", "台南市", "其他"] + }, + + { + "name": "其他", + "area": ["其他"] + } + + ] + }, + + { + "name": "澳门", + "city": [ + + { + "name": "澳门", + "area": ["花地玛堂区", "圣安多尼堂区", "大堂区", "望德堂区", "风顺堂区", "嘉模堂区", "圣方济各堂区", "路凼", "其他"] + } + + ] + }, + + { + "name": "香港", + "city": [ + + { + "name": "香港", + "area": ["中西区", "湾仔区", "东区", "南区", "深水埗区", "油尖旺区", "九龙城区", "黄大仙区", "观塘区", "北区", "大埔区", "沙田区", "西贡区", "元朗区", "屯门区", "荃湾区", "葵青区", "离岛区", "其他"] + } + + ] + }, + + { + "name": "钓鱼岛", + "city": [ + + { + "name": "钓鱼岛", + "area": ["钓鱼岛"] + } + + ] + } + +]; + +//保存省 +var provinceArray = new Array(); +//保存市 +var cityArray = new Array(); +var cityList; + +var provinceTag = document.getElementById("province"); +var cityTag = document.getElementById("city"); +var areaTag = document.getElementById("area"); + +for (var i = 0; i < provinceList.length; i++) { + var province = provinceList[i]; + var provinceName = province.name; + provinceArray[i] = provinceName; + provinceTag.add(new Option(provinceName, i)); + +} +console.log(provinceTag); +//选择省 +function chooseProvince(th) { + var index = th.selectedIndex - 1; + var provinceName = provinceArray[index]; + + for (var n = 0; n < provinceList.length; n++) { + var provice = provinceList[n]; + if (provice.name == provinceName) { + cityList = provice.city; + cityTag.innerHTML = ""; + for (var c = 0; c < cityList.length; c++) { + var city = cityList[c]; + var cityName = city.name; + cityArray[c] = cityName; + cityTag.add(new Option(cityName, c)); + } + } + } + var cityName = cityArray[0]; + var city1 = cityList[0]; + var areaList = city1.area; + areaTag.innerHTML = ""; + for (var a = 0; a < areaList.length; a++) { + var area = areaList[a]; + areaTag.add(new Option(area, a)); + } +} +//选择市 +function chooseCity(tag) { + var index2 = tag.selectedIndex-1; + var cityName = cityArray[index2]; + for (var m = 0; m < cityList.length; m++) { + var city1 = cityList[m]; + if (city1.name == cityName) { + var areaList = city1.area; + areaTag.innerHTML = ""; + for (var a = 0; a < areaList.length; a++) { + var area = areaList[a]; + areaTag.add(new Option(area, a)); + } + } + } +} \ No newline at end of file diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/\350\241\250\345\215\225\351\252\214\350\257\201.html" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/\350\241\250\345\215\225\351\252\214\350\257\201.html" new file mode 100644 index 0000000..8ec2b53 --- /dev/null +++ "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/\350\241\250\345\215\225\351\252\214\350\257\201.html" @@ -0,0 +1,170 @@ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
用户名
密码
确认密码
性别 + 男 + 女 +
爱好 + 篮球 + 足球 + 棒球 + 游泳 + + +
出生日期
请选择省份 + + + +
请输入验证码 + 验证码:  + +
+ + +
+ + + + + From 417f88912a20f5f493e051246902299b62897c41 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Tue, 15 Jan 2019 16:47:01 +0800 Subject: [PATCH 12/17] Add files via upload --- note/jQuery.js | 51 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/note/jQuery.js b/note/jQuery.js index 6a5bafe..d5002c7 100644 --- a/note/jQuery.js +++ b/note/jQuery.js @@ -442,8 +442,49 @@ c语言
php
- - - - - +8.jQuery的动画: + (1)主要方法(参考API) + show([s,[e],[fn]]) + hide([s,[e],[fn]]) + slideDown([s],[e],[fn]) + slideUp([s,[e],[fn]]) + fadeIn([s],[e],[fn]) + fadeOut([s],[e],[fn]) + 例子: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/jQuery%E5%8A%A8%E7%94%BB.html + + + + + + + + +
+ + +9.jQuery的表单验证: https://github.com/ZichengQu/Java/tree/jQuery/Others/%E8%A1%A8%E5%8D%95%E9%AA%8C%E8%AF%81 \ No newline at end of file From 1b4c6c968b6ccee9d900abe8a349e35628c5e488 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Tue, 15 Jan 2019 22:17:41 +0800 Subject: [PATCH 13/17] Add files via upload --- note/jQuery.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/note/jQuery.js b/note/jQuery.js index d5002c7..64212ba 100644 --- a/note/jQuery.js +++ b/note/jQuery.js @@ -222,9 +222,9 @@ $("#uid4").after($li3);//同级节点.after(同级节点) 作为下一个节点加进来 $("#uid4").before($li3);//同级节点.before(同级节点) 作为上一个节点加进来 //类似于节点的剪切,不能将同一个节点插入到不同的位置。 //2.3删除节点 - //$("#uid").remove(); //节点.remove() 删除节点 - //$("li").remove("#uid5") //节点.remove(选择器) 删除满足该选择器的节点 - //$("#uid").empty(); //节点.empty() 清空节点,节点不删除 + $("#uid").remove(); //节点.remove() 删除节点 + $("li").remove("#uid5") //节点.remove(选择器) 删除满足该选择器的节点 + $("#uid").empty(); //节点.empty() 清空节点,节点不删除 //3.遍历节点 //3.1 console.log($("#uid").children());//所有对象,$("#uid").children()[index] From 43f524a3210dc29a47b30f46a6e4e41cc7482333 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Tue, 15 Jan 2019 22:19:40 +0800 Subject: [PATCH 14/17] Add files via upload --- .../js/provice.js" | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" index 40f0a13..2d32ab4 100644 --- "a/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" +++ "b/Others/\350\241\250\345\215\225\351\252\214\350\257\201/js/provice.js" @@ -2199,12 +2199,13 @@ for (var i = 0; i < provinceList.length; i++) { console.log(provinceTag); //选择省 function chooseProvince(th) { - var index = th.selectedIndex - 1; + var index = th.selectedIndex - 1;//var index = th.value; + //value和selectedIndex都是从0开始的,但是"请选择省"算第0个selectedIndex,在这个js文件中添加省市区对应的value的时候是从0开始的,忽略了"请选择省" var provinceName = provinceArray[index]; for (var n = 0; n < provinceList.length; n++) { var provice = provinceList[n]; - if (provice.name == provinceName) { + if (provice.name == provinceName) {//不用遍历,直接用index获得也可以。 cityList = provice.city; cityTag.innerHTML = ""; for (var c = 0; c < cityList.length; c++) { @@ -2215,14 +2216,14 @@ function chooseProvince(th) { } } } - var cityName = cityArray[0]; + /*var cityName = cityArray[0]; var city1 = cityList[0]; var areaList = city1.area; areaTag.innerHTML = ""; for (var a = 0; a < areaList.length; a++) { var area = areaList[a]; areaTag.add(new Option(area, a)); - } + }*/ } //选择市 function chooseCity(tag) { From 8eb76075c21e498bf28821fb200a6c3debdf6581 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Sun, 10 Feb 2019 23:42:27 +0800 Subject: [PATCH 15/17] Add files via upload --- ...77\207\346\273\244\351\200\211\346\213\251\345\231\250.html" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" "b/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" index 420c987..8ce4187 100644 --- "a/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" +++ "b/Others/jQuery_day01/\350\241\250\345\215\225\345\261\236\346\200\247\350\277\207\346\273\244\351\200\211\346\213\251\345\231\250.html" @@ -8,7 +8,7 @@ $(function(){ $("input:enabled").css({background:"yellow"}); //匹配所有可用元素 $("input:disabled").css({background:"blue"}); //匹配所有不可用元素 - $("input:checked").attr("checked",false); //匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option) + $("input:checked:eq(1)").attr("checked",false); //匹配所有被选中元素(复选框、单选框等,不包括select中的option) console.log($("select option:selected").text()); //匹配所有选中的option元素 }); From 22d7887b54d85d41775423dc6e90cba12b41393c Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Mon, 11 Feb 2019 00:02:09 +0800 Subject: [PATCH 16/17] Add files via upload --- .../jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git "a/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" "b/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" index 37dbab9..8d0f6cc 100644 --- "a/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" +++ "b/Others/jQuery_day02/jQuery\346\223\215\344\275\234DOM.html" @@ -34,16 +34,17 @@ $("#uid4").after($li3);//同级节点.after(同级节点) 作为下一个节点加进来 $("#uid4").before($li3);//同级节点.before(同级节点) 作为上一个节点加进来 //类似于节点的剪切,不能将同一个节点插入到不同的位置。 //2.3删除节点 - //$("#uid").remove(); //节点.remove() 删除节点 - //$("li").remove("#uid5") //节点.remove(选择器) 删除满足该选择器的节点 - //$("#uid").empty(); //节点.empty() 清空节点,节点不删除 + /*$("#uid").remove(); //节点.remove() 删除节点 + $("li").remove("#uid5") //节点.remove(选择器) 删除满足该选择器的节点 + $("#uid").empty(); //节点.empty() 清空节点,节点不删除*/ //3.遍历节点 //3.1 console.log($("#uid").children());//所有对象,$("#uid").children()[index] console.log($("#uid5").next());//Number1的对象 console.log($("#uid4").prev());//Number6的对象 console.log($("#uid5").siblings());//12364 - console.log($("#uid").find("h2"));//Number2的对象(因为Number2引用了h2标签) + console.log($("#uid").find("h2"));//Number2的对象(因为Number2引用了h2标签)// + //console.log($("#uid:has(h2)"));//和上一行作用相同 console.log($("#uid4").parent());//父元素ul对象 }); From f15e2a223b3d2cf34e1d86608d39530c7c0b5e09 Mon Sep 17 00:00:00 2001 From: ZichengQu <37530692+ZichengQu@users.noreply.github.com> Date: Mon, 11 Feb 2019 00:21:10 +0800 Subject: [PATCH 17/17] Add files via upload --- note/jQuery.js | 177 +++++++++++++++++++++++++++---------------------- 1 file changed, 97 insertions(+), 80 deletions(-) diff --git a/note/jQuery.js b/note/jQuery.js index 64212ba..b987214 100644 --- a/note/jQuery.js +++ b/note/jQuery.js @@ -34,10 +34,10 @@ $(":gt(index)") 挑选下标大于index的元素;//$("li:gt(0)") $(":lt(index") 挑选下标小于index的元素;//$("li:lt(6)") 2)内容过滤选择器: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%86%85%E5%AE%B9%E8%BF%87%E6%BB%A4%E9%80%89%E6%8B%A9%E5%99%A8.html - :contains(text) 匹配包含给定文本的元素// - :empty 匹配所有不包含子元素或者文本的空元素// - :has(selector) 匹配含有选择器所匹配的元素的元素// - :parent 匹配含有子元素或者文本的元素// + :contains(text) 匹配包含给定文本的元素 + :empty 匹配所有不包含子元素或者文本的空元素 + :has(selector) 匹配含有选择器所匹配元素的元素 + :parent 匹配含有子元素或者文本的元素 例子: @@ -47,7 +47,7 @@ $(function(){//$(document).ready(function(){}); $("div:contains('John')").css({ background: "yellow" });//:contains(text) 匹配包含给定文本的元素//第1和3行 console.log($("div:empty"));//:empty 匹配所有不包含子元素或者文本的空元素 - $("div:has(p)").css({ color: "blue" });//:has(selector) 匹配含有选择器所匹配的元素的元素 + $("div:has(p)").css({ color: "blue" });//:has(selector) 匹配含有选择器所匹配元素的元素 $("div:parent").css({ color: "blue" });//:parent 匹配含有子元素或者文本的元素 }); @@ -74,7 +74,9 @@ :enabled 匹配所有可用元素 //$("input:enabled") :disabled 匹配所有不可用元素 //$("input:disabled") 获得复选框,单选按钮,下拉列表的选中元素节点: - :checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)//$("input[type='checkbox']:checked'").val() //$("input:checked").attr("checked",false); + :checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option) + $("input[type='checkbox']:checked'").val(); + $("input:checked:eq(1)").attr("checked",false);//匹配所有被选中元素的eq为1的元素(复选框、单选框等,不包括select中的option) :selected 匹配所有选中的option元素 //console.log($("select option:selected").text()); 6)表单选择器: api :input 匹配所有 input, textarea, select 和 button 元素 //$(":input") //$("input")是元素选择器,只能匹配input元素。 @@ -135,6 +137,9 @@ $(function(){ ...... }); + jQuery(document).ready(function(){ + ...... + }); 页面加载之后调用这个函数,作用等价于window.onload = function(){} (2)读写节点: 读写节点的内容(双标签) @@ -159,99 +164,111 @@ $("img").attr({style:"display:none;title:科比"}); $("img").attr("title", function() { return this.src });//this获取当前元素的html属性 (3)增删节点: jQuery允许通过HTML代码字符串直接创建元素节点、文本节点及属性节点。 - $("节点标签及内容"); //$("

这是在创建节点

"); + $("节点标签及内容"); var $li1 = $("
  • Number4
  • ");//$("节点标签及内容"); (4)创建节点: 父节点.append(子节点) //作为最后一个子节点加进来 父节点.prepend(子节点) //作为第一个子节点加进来 - 同级节点.after(同级节点) //作为下一个节点加进来 + 同级节点.after(同级节点) //作为下一个节点加进来$ 同级节点.before(同级节点) //作为上一个节点加进来 + 例子:插入节点 + $("#uid").append($li1);//父节点.append(子节点) 作为最后一个子节点加进来 + $("#uid").prepend($li2);//父节点.prepend(子节点) 作为第一个子节点加进来 + $("#uid4").after($li3);//同级节点.after(同级节点) 作为下一个节点加进来 + $("#uid4").before($li3);//同级节点.before(同级节点) 作为上一个节点加进来 //类似于节点的剪切,不能将同一个节点插入到不同的位置。 (5)删除节点: 节点.remove() //删除节点 节点.remove(选择器) //删除满足该选择器的节点 节点.empty() //清空节点 + 例子:删除节点 + $("#uid").remove(); //节点.remove() 删除节点 + $("li").remove("#uid5") //节点.remove(选择器) 删除满足该选择器的节点 + $("#uid").empty(); //节点.empty() 清空节点,节点不删除 (6)遍历节点: 查找所有与它有关联的节点;有时调用的方法,得到一个节点,不能通过用选择器的方式来操作该节点周围其它的节点,所以只能调用一些遍历节点的方法。 - children()/children(选择器) 直接子节点; console.log($("#uid").children());//所有对象,$("#uid").children()[index] + children()/children(选择器) 直接子节点; console.log($("#uid").children());//所有对象,DOM: $("#uid").children()[index]; jq: $($("#uid").children()[index]); next()/next(选择器) 该节点的下一个节点; console.log($("#uid5").next());//Number1的对象 prev()/prev(选择器) 该节点的上一个节点; console.log($("#uid4").prev());//Number6的对象 siblings()/siblings(选择器) 同一级别的所有节点(不包含自己); console.log($("#uid5").siblings());//12364 - find(选择器) 查找满足选择器的所欲偶后代; console.log($("#uid").find("h2"));//Number2的对象(因为Number2引用了h2标签) + find(选择器) 查找满足选择器的所欲偶后代; console.log($("#uid").find("h2"));console.log($("#uid:has(h2)"));//Number2的对象(因为Number2引用了h2标签) parent() 找父节点; console.log($("#uid4").parent());//父元素ul对象 (7)基本操作例子和jQuery的表单验证: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day01/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C.html - $("form:first").submit(function(){//验证表达输入项是否为空 - if($("#name").val()==""){ - console.log("请输入用户名"); - return false; - } + $(function(){ + $("form:first").submit(function(){//验证表达输入项是否为空 + if($("#name").val()==""){ + console.log("请输入用户名"); + return false; + } + }); });
    (8)jq的DOM操作例子: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/jQuery%E6%93%8D%E4%BD%9CDOM.html - - - - - - - -
    哈哈
    - 用户名:
    - 爱好: 游泳 - 篮球 - 地址:
    - -
      -
    • Number1
    • -
    • Number2

    • -
    • Number3
    • -
    - + + + + + + + +
    哈哈
    + 用户名:
    + 爱好: 游泳 + 篮球 + 地址:
    + +
      +
    • Number1
    • +
    • Number2

    • +
    • Number3
    • +
    + 6.样式操作: https://github.com/ZichengQu/Java/blob/jQuery/Others/jQuery_day02/%E6%A0%B7%E5%BC%8F%E6%93%8D%E4%BD%9C.html attr("class","样式") 获取和设置 //$("div").attr("class","apple"); //attr对同一个属性进行多次设置修改,后者覆盖前者。 addClass("样式") 追加样式 //$("div").addClass("apple"); //addClass给class属性追加属性值,可以叠加,不会覆盖前者。 @@ -464,7 +481,7 @@