hap-homematic
Version:
provides a homekit bridge to the ccu
1,100 lines (1,073 loc) • 146 kB
JavaScript
/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ ! function(a, b) {
"use strict";
"object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) {
if (!a.document) throw new Error("jQuery requires a window with a document");
return b(a)
} : b(a)
}("undefined" != typeof window ? window : this, function(a, b) {
"use strict";
var c = [],
d = a.document,
e = Object.getPrototypeOf,
f = c.slice,
g = c.concat,
h = c.push,
i = c.indexOf,
j = {},
k = j.toString,
l = j.hasOwnProperty,
m = l.toString,
n = m.call(Object),
o = {};
function p(a, b) {
b = b || d;
var c = b.createElement("script");
c.text = a, b.head.appendChild(c).parentNode.removeChild(c)
}
var q = "3.2.1",
r = function(a, b) {
return new r.fn.init(a, b)
},
s = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
t = /^-ms-/,
u = /-([a-z])/g,
v = function(a, b) {
return b.toUpperCase()
};
r.fn = r.prototype = {
jquery: q,
constructor: r,
length: 0,
toArray: function() {
return f.call(this)
},
get: function(a) {
return null == a ? f.call(this) : a < 0 ? this[a + this.length] : this[a]
},
pushStack: function(a) {
var b = r.merge(this.constructor(), a);
return b.prevObject = this, b
},
each: function(a) {
return r.each(this, a)
},
map: function(a) {
return this.pushStack(r.map(this, function(b, c) {
return a.call(b, c, b)
}))
},
slice: function() {
return this.pushStack(f.apply(this, arguments))
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
eq: function(a) {
var b = this.length,
c = +a + (a < 0 ? b : 0);
return this.pushStack(c >= 0 && c < b ? [this[c]] : [])
},
end: function() {
return this.prevObject || this.constructor()
},
push: h,
sort: c.sort,
splice: c.splice
}, r.extend = r.fn.extend = function() {
var a, b, c, d, e, f, g = arguments[0] || {},
h = 1,
i = arguments.length,
j = !1;
for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || r.isFunction(g) || (g = {}), h === i && (g = this, h--); h < i; h++)
if (null != (a = arguments[h]))
for (b in a) c = g[b], d = a[b], g !== d && (j && d && (r.isPlainObject(d) || (e = Array.isArray(d))) ? (e ? (e = !1, f = c && Array.isArray(c) ? c : []) : f = c && r.isPlainObject(c) ? c : {}, g[b] = r.extend(j, f, d)) : void 0 !== d && (g[b] = d));
return g
}, r.extend({
expando: "jQuery" + (q + Math.random()).replace(/\D/g, ""),
isReady: !0,
error: function(a) {
throw new Error(a)
},
noop: function() {},
isFunction: function(a) {
return "function" === r.type(a)
},
isWindow: function(a) {
return null != a && a === a.window
},
isNumeric: function(a) {
var b = r.type(a);
return ("number" === b || "string" === b) && !isNaN(a - parseFloat(a))
},
isPlainObject: function(a) {
var b, c;
return !(!a || "[object Object]" !== k.call(a)) && (!(b = e(a)) || (c = l.call(b, "constructor") && b.constructor, "function" == typeof c && m.call(c) === n))
},
isEmptyObject: function(a) {
var b;
for (b in a) return !1;
return !0
},
type: function(a) {
return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? j[k.call(a)] || "object" : typeof a
},
globalEval: function(a) {
p(a)
},
camelCase: function(a) {
return a.replace(t, "ms-").replace(u, v)
},
each: function(a, b) {
var c, d = 0;
if (w(a)) {
for (c = a.length; d < c; d++)
if (b.call(a[d], d, a[d]) === !1) break
} else
for (d in a)
if (b.call(a[d], d, a[d]) === !1) break;
return a
},
trim: function(a) {
return null == a ? "" : (a + "").replace(s, "")
},
makeArray: function(a, b) {
var c = b || [];
return null != a && (w(Object(a)) ? r.merge(c, "string" == typeof a ? [a] : a) : h.call(c, a)), c
},
inArray: function(a, b, c) {
return null == b ? -1 : i.call(b, a, c)
},
merge: function(a, b) {
for (var c = +b.length, d = 0, e = a.length; d < c; d++) a[e++] = b[d];
return a.length = e, a
},
grep: function(a, b, c) {
for (var d, e = [], f = 0, g = a.length, h = !c; f < g; f++) d = !b(a[f], f), d !== h && e.push(a[f]);
return e
},
map: function(a, b, c) {
var d, e, f = 0,
h = [];
if (w(a))
for (d = a.length; f < d; f++) e = b(a[f], f, c), null != e && h.push(e);
else
for (f in a) e = b(a[f], f, c), null != e && h.push(e);
return g.apply([], h)
},
guid: 1,
proxy: function(a, b) {
var c, d, e;
if ("string" == typeof b && (c = a[b], b = a, a = c), r.isFunction(a)) return d = f.call(arguments, 2), e = function() {
return a.apply(b || this, d.concat(f.call(arguments)))
}, e.guid = a.guid = a.guid || r.guid++, e
},
now: Date.now,
support: o
}), "function" == typeof Symbol && (r.fn[Symbol.iterator] = c[Symbol.iterator]), r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(a, b) {
j["[object " + b + "]"] = b.toLowerCase()
});
function w(a) {
var b = !!a && "length" in a && a.length,
c = r.type(a);
return "function" !== c && !r.isWindow(a) && ("array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a)
}
var x = function(a) {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date,
v = a.document,
w = 0,
x = 0,
y = ha(),
z = ha(),
A = ha(),
B = function(a, b) {
return a === b && (l = !0), 0
},
C = {}.hasOwnProperty,
D = [],
E = D.pop,
F = D.push,
G = D.push,
H = D.slice,
I = function(a, b) {
for (var c = 0, d = a.length; c < d; c++)
if (a[c] === b) return c;
return -1
},
J = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
K = "[\\x20\\t\\r\\n\\f]",
L = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
M = "\\[" + K + "*(" + L + ")(?:" + K + "*([*^$|!~]?=)" + K + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + L + "))|)" + K + "*\\]",
N = ":(" + L + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + M + ")*)|.*)\\)|)",
O = new RegExp(K + "+", "g"),
P = new RegExp("^" + K + "+|((?:^|[^\\\\])(?:\\\\.)*)" + K + "+$", "g"),
Q = new RegExp("^" + K + "*," + K + "*"),
R = new RegExp("^" + K + "*([>+~]|" + K + ")" + K + "*"),
S = new RegExp("=" + K + "*([^\\]'\"]*?)" + K + "*\\]", "g"),
T = new RegExp(N),
U = new RegExp("^" + L + "$"),
V = {
ID: new RegExp("^#(" + L + ")"),
CLASS: new RegExp("^\\.(" + L + ")"),
TAG: new RegExp("^(" + L + "|[*])"),
ATTR: new RegExp("^" + M),
PSEUDO: new RegExp("^" + N),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + K + "*(even|odd|(([+-]|)(\\d*)n|)" + K + "*(?:([+-]|)" + K + "*(\\d+)|))" + K + "*\\)|)", "i"),
bool: new RegExp("^(?:" + J + ")$", "i"),
needsContext: new RegExp("^" + K + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + K + "*((?:-\\d)?\\d*)" + K + "*\\)|)(?=[^-]|$)", "i")
},
W = /^(?:input|select|textarea|button)$/i,
X = /^h\d$/i,
Y = /^[^{]+\{\s*\[native \w/,
Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
$ = /[+~]/,
_ = new RegExp("\\\\([\\da-f]{1,6}" + K + "?|(" + K + ")|.)", "ig"),
aa = function(a, b, c) {
var d = "0x" + b - 65536;
return d !== d || c ? b : d < 0 ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320)
},
ba = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
ca = function(a, b) {
return b ? "\0" === a ? "\ufffd" : a.slice(0, -1) + "\\" + a.charCodeAt(a.length - 1).toString(16) + " " : "\\" + a
},
da = function() {
m()
},
ea = ta(function(a) {
return a.disabled === !0 && ("form" in a || "label" in a)
}, {
dir: "parentNode",
next: "legend"
});
try {
G.apply(D = H.call(v.childNodes), v.childNodes), D[v.childNodes.length].nodeType
} catch (fa) {
G = {
apply: D.length ? function(a, b) {
F.apply(a, H.call(b))
} : function(a, b) {
var c = a.length,
d = 0;
while (a[c++] = b[d++]);
a.length = c - 1
}
}
}
function ga(a, b, d, e) {
var f, h, j, k, l, o, r, s = b && b.ownerDocument,
w = b ? b.nodeType : 9;
if (d = d || [], "string" != typeof a || !a || 1 !== w && 9 !== w && 11 !== w) return d;
if (!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) {
if (11 !== w && (l = Z.exec(a)))
if (f = l[1]) {
if (9 === w) {
if (!(j = b.getElementById(f))) return d;
if (j.id === f) return d.push(j), d
} else if (s && (j = s.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d
} else {
if (l[2]) return G.apply(d, b.getElementsByTagName(a)), d;
if ((f = l[3]) && c.getElementsByClassName && b.getElementsByClassName) return G.apply(d, b.getElementsByClassName(f)), d
}
if (c.qsa && !A[a + " "] && (!q || !q.test(a))) {
if (1 !== w) s = b, r = a;
else if ("object" !== b.nodeName.toLowerCase()) {
(k = b.getAttribute("id")) ? k = k.replace(ba, ca): b.setAttribute("id", k = u), o = g(a), h = o.length;
while (h--) o[h] = "#" + k + " " + sa(o[h]);
r = o.join(","), s = $.test(a) && qa(b.parentNode) || b
}
if (r) try {
return G.apply(d, s.querySelectorAll(r)), d
} catch (x) {} finally {
k === u && b.removeAttribute("id")
}
}
}
return i(a.replace(P, "$1"), b, d, e)
}
function ha() {
var a = [];
function b(c, e) {
return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e
}
return b
}
function ia(a) {
return a[u] = !0, a
}
function ja(a) {
var b = n.createElement("fieldset");
try {
return !!a(b)
} catch (c) {
return !1
} finally {
b.parentNode && b.parentNode.removeChild(b), b = null
}
}
function ka(a, b) {
var c = a.split("|"),
e = c.length;
while (e--) d.attrHandle[c[e]] = b
}
function la(a, b) {
var c = b && a,
d = c && 1 === a.nodeType && 1 === b.nodeType && a.sourceIndex - b.sourceIndex;
if (d) return d;
if (c)
while (c = c.nextSibling)
if (c === b) return -1;
return a ? 1 : -1
}
function ma(a) {
return function(b) {
var c = b.nodeName.toLowerCase();
return "input" === c && b.type === a
}
}
function na(a) {
return function(b) {
var c = b.nodeName.toLowerCase();
return ("input" === c || "button" === c) && b.type === a
}
}
function oa(a) {
return function(b) {
return "form" in b ? b.parentNode && b.disabled === !1 ? "label" in b ? "label" in b.parentNode ? b.parentNode.disabled === a : b.disabled === a : b.isDisabled === a || b.isDisabled !== !a && ea(b) === a : b.disabled === a : "label" in b && b.disabled === a
}
}
function pa(a) {
return ia(function(b) {
return b = +b, ia(function(c, d) {
var e, f = a([], c.length, b),
g = f.length;
while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
})
})
}
function qa(a) {
return a && "undefined" != typeof a.getElementsByTagName && a
}
c = ga.support = {}, f = ga.isXML = function(a) {
var b = a && (a.ownerDocument || a).documentElement;
return !!b && "HTML" !== b.nodeName
}, m = ga.setDocument = function(a) {
var b, e, g = a ? a.ownerDocument || a : v;
return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), v !== n && (e = n.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener("unload", da, !1) : e.attachEvent && e.attachEvent("onunload", da)), c.attributes = ja(function(a) {
return a.className = "i", !a.getAttribute("className")
}), c.getElementsByTagName = ja(function(a) {
return a.appendChild(n.createComment("")), !a.getElementsByTagName("*").length
}), c.getElementsByClassName = Y.test(n.getElementsByClassName), c.getById = ja(function(a) {
return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length
}), c.getById ? (d.filter.ID = function(a) {
var b = a.replace(_, aa);
return function(a) {
return a.getAttribute("id") === b
}
}, d.find.ID = function(a, b) {
if ("undefined" != typeof b.getElementById && p) {
var c = b.getElementById(a);
return c ? [c] : []
}
}) : (d.filter.ID = function(a) {
var b = a.replace(_, aa);
return function(a) {
var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id");
return c && c.value === b
}
}, d.find.ID = function(a, b) {
if ("undefined" != typeof b.getElementById && p) {
var c, d, e, f = b.getElementById(a);
if (f) {
if (c = f.getAttributeNode("id"), c && c.value === a) return [f];
e = b.getElementsByName(a), d = 0;
while (f = e[d++])
if (c = f.getAttributeNode("id"), c && c.value === a) return [f]
}
return []
}
}), d.find.TAG = c.getElementsByTagName ? function(a, b) {
return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0
} : function(a, b) {
var c, d = [],
e = 0,
f = b.getElementsByTagName(a);
if ("*" === a) {
while (c = f[e++]) 1 === c.nodeType && d.push(c);
return d
}
return f
}, d.find.CLASS = c.getElementsByClassName && function(a, b) {
if ("undefined" != typeof b.getElementsByClassName && p) return b.getElementsByClassName(a)
}, r = [], q = [], (c.qsa = Y.test(n.querySelectorAll)) && (ja(function(a) {
o.appendChild(a).innerHTML = "<a id='" + u + "'></a><select id='" + u + "-\r\\' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + K + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + K + "*(?:value|" + J + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]")
}), ja(function(a) {
a.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
var b = n.createElement("input");
b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + K + "*[*^$|!~]?="), 2 !== a.querySelectorAll(":enabled").length && q.push(":enabled", ":disabled"), o.appendChild(a).disabled = !0, 2 !== a.querySelectorAll(":disabled").length && q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:")
})), (c.matchesSelector = Y.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ja(function(a) {
c.disconnectedMatch = s.call(a, "*"), s.call(a, "[s!='']:x"), r.push("!=", N)
}), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = Y.test(o.compareDocumentPosition), t = b || Y.test(o.contains) ? function(a, b) {
var c = 9 === a.nodeType ? a.documentElement : a,
d = b && b.parentNode;
return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))
} : function(a, b) {
if (b)
while (b = b.parentNode)
if (b === a) return !0;
return !1
}, B = b ? function(a, b) {
if (a === b) return l = !0, 0;
var d = !a.compareDocumentPosition - !b.compareDocumentPosition;
return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v && t(v, a) ? -1 : b === n || b.ownerDocument === v && t(v, b) ? 1 : k ? I(k, a) - I(k, b) : 0 : 4 & d ? -1 : 1)
} : function(a, b) {
if (a === b) return l = !0, 0;
var c, d = 0,
e = a.parentNode,
f = b.parentNode,
g = [a],
h = [b];
if (!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? I(k, a) - I(k, b) : 0;
if (e === f) return la(a, b);
c = a;
while (c = c.parentNode) g.unshift(c);
c = b;
while (c = c.parentNode) h.unshift(c);
while (g[d] === h[d]) d++;
return d ? la(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0
}, n) : n
}, ga.matches = function(a, b) {
return ga(a, null, null, b)
}, ga.matchesSelector = function(a, b) {
if ((a.ownerDocument || a) !== n && m(a), b = b.replace(S, "='$1']"), c.matchesSelector && p && !A[b + " "] && (!r || !r.test(b)) && (!q || !q.test(b))) try {
var d = s.call(a, b);
if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d
} catch (e) {}
return ga(b, n, null, [a]).length > 0
}, ga.contains = function(a, b) {
return (a.ownerDocument || a) !== n && m(a), t(a, b)
}, ga.attr = function(a, b) {
(a.ownerDocument || a) !== n && m(a);
var e = d.attrHandle[b.toLowerCase()],
f = e && C.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;
return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null
}, ga.escape = function(a) {
return (a + "").replace(ba, ca)
}, ga.error = function(a) {
throw new Error("Syntax error, unrecognized expression: " + a)
}, ga.uniqueSort = function(a) {
var b, d = [],
e = 0,
f = 0;
if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) {
while (b = a[f++]) b === a[f] && (e = d.push(f));
while (e--) a.splice(d[e], 1)
}
return k = null, a
}, e = ga.getText = function(a) {
var b, c = "",
d = 0,
f = a.nodeType;
if (f) {
if (1 === f || 9 === f || 11 === f) {
if ("string" == typeof a.textContent) return a.textContent;
for (a = a.firstChild; a; a = a.nextSibling) c += e(a)
} else if (3 === f || 4 === f) return a.nodeValue
} else
while (b = a[d++]) c += e(b);
return c
}, d = ga.selectors = {
cacheLength: 50,
createPseudo: ia,
match: V,
attrHandle: {},
find: {},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(a) {
return a[1] = a[1].replace(_, aa), a[3] = (a[3] || a[4] || a[5] || "").replace(_, aa), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4)
},
CHILD: function(a) {
return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || ga.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && ga.error(a[0]), a
},
PSEUDO: function(a) {
var b, c = !a[6] && a[2];
return V.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && T.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))
}
},
filter: {
TAG: function(a) {
var b = a.replace(_, aa).toLowerCase();
return "*" === a ? function() {
return !0
} : function(a) {
return a.nodeName && a.nodeName.toLowerCase() === b
}
},
CLASS: function(a) {
var b = y[a + " "];
return b || (b = new RegExp("(^|" + K + ")" + a + "(" + K + "|$)")) && y(a, function(a) {
return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "")
})
},
ATTR: function(a, b, c) {
return function(d) {
var e = ga.attr(d, a);
return null == e ? "!=" === b : !b || (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(O, " ") + " ").indexOf(c) > -1 : "|=" === b && (e === c || e.slice(0, c.length + 1) === c + "-"))
}
},
CHILD: function(a, b, c, d, e) {
var f = "nth" !== a.slice(0, 3),
g = "last" !== a.slice(-4),
h = "of-type" === b;
return 1 === d && 0 === e ? function(a) {
return !!a.parentNode
} : function(b, c, i) {
var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling",
q = b.parentNode,
r = h && b.nodeName.toLowerCase(),
s = !i && !h,
t = !1;
if (q) {
if (f) {
while (p) {
m = b;
while (m = m[p])
if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1;
o = p = "only" === a && !o && "nextSibling"
}
return !0
}
if (o = [g ? q.firstChild : q.lastChild], g && s) {
m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n && j[2], m = n && q.childNodes[n];
while (m = ++n && m && m[p] || (t = n = 0) || o.pop())
if (1 === m.nodeType && ++t && m === b) {
k[a] = [w, n, t];
break
}
} else if (s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n), t === !1)
while (m = ++n && m && m[p] || (t = n = 0) || o.pop())
if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break;
return t -= e, t === d || t % d === 0 && t / d >= 0
}
}
},
PSEUDO: function(a, b) {
var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || ga.error("unsupported pseudo: " + a);
return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ia(function(a, c) {
var d, f = e(a, b),
g = f.length;
while (g--) d = I(a, f[g]), a[d] = !(c[d] = f[g])
}) : function(a) {
return e(a, 0, c)
}) : e
}
},
pseudos: {
not: ia(function(a) {
var b = [],
c = [],
d = h(a.replace(P, "$1"));
return d[u] ? ia(function(a, b, c, e) {
var f, g = d(a, null, e, []),
h = a.length;
while (h--)(f = g[h]) && (a[h] = !(b[h] = f))
}) : function(a, e, f) {
return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()
}
}),
has: ia(function(a) {
return function(b) {
return ga(a, b).length > 0
}
}),
contains: ia(function(a) {
return a = a.replace(_, aa),
function(b) {
return (b.textContent || b.innerText || e(b)).indexOf(a) > -1
}
}),
lang: ia(function(a) {
return U.test(a || "") || ga.error("unsupported lang: " + a), a = a.replace(_, aa).toLowerCase(),
function(b) {
var c;
do
if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType);
return !1
}
}),
target: function(b) {
var c = a.location && a.location.hash;
return c && c.slice(1) === b.id
},
root: function(a) {
return a === o
},
focus: function(a) {
return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)
},
enabled: oa(!1),
disabled: oa(!0),
checked: function(a) {
var b = a.nodeName.toLowerCase();
return "input" === b && !!a.checked || "option" === b && !!a.selected
},
selected: function(a) {
return a.parentNode && a.parentNode.selectedIndex, a.selected === !0
},
empty: function(a) {
for (a = a.firstChild; a; a = a.nextSibling)
if (a.nodeType < 6) return !1;
return !0
},
parent: function(a) {
return !d.pseudos.empty(a)
},
header: function(a) {
return X.test(a.nodeName)
},
input: function(a) {
return W.test(a.nodeName)
},
button: function(a) {
var b = a.nodeName.toLowerCase();
return "input" === b && "button" === a.type || "button" === b
},
text: function(a) {
var b;
return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase())
},
first: pa(function() {
return [0]
}),
last: pa(function(a, b) {
return [b - 1]
}),
eq: pa(function(a, b, c) {
return [c < 0 ? c + b : c]
}),
even: pa(function(a, b) {
for (var c = 0; c < b; c += 2) a.push(c);
return a
}),
odd: pa(function(a, b) {
for (var c = 1; c < b; c += 2) a.push(c);
return a
}),
lt: pa(function(a, b, c) {
for (var d = c < 0 ? c + b : c; --d >= 0;) a.push(d);
return a
}),
gt: pa(function(a, b, c) {
for (var d = c < 0 ? c + b : c; ++d < b;) a.push(d);
return a
})
}
}, d.pseudos.nth = d.pseudos.eq;
for (b in {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
}) d.pseudos[b] = ma(b);
for (b in {
submit: !0,
reset: !0
}) d.pseudos[b] = na(b);
function ra() {}
ra.prototype = d.filters = d.pseudos, d.setFilters = new ra, g = ga.tokenize = function(a, b) {
var c, e, f, g, h, i, j, k = z[a + " "];
if (k) return b ? 0 : k.slice(0);
h = a, i = [], j = d.preFilter;
while (h) {
c && !(e = Q.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = R.exec(h)) && (c = e.shift(), f.push({
value: c,
type: e[0].replace(P, " ")
}), h = h.slice(c.length));
for (g in d.filter) !(e = V[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({
value: c,
type: g,
matches: e
}), h = h.slice(c.length));
if (!c) break
}
return b ? h.length : h ? ga.error(a) : z(a, i).slice(0)
};
function sa(a) {
for (var b = 0, c = a.length, d = ""; b < c; b++) d += a[b].value;
return d
}
function ta(a, b, c) {
var d = b.dir,
e = b.next,
f = e || d,
g = c && "parentNode" === f,
h = x++;
return b.first ? function(b, c, e) {
while (b = b[d])
if (1 === b.nodeType || g) return a(b, c, e);
return !1
} : function(b, c, i) {
var j, k, l, m = [w, h];
if (i) {
while (b = b[d])
if ((1 === b.nodeType || g) && a(b, c, i)) return !0
} else
while (b = b[d])
if (1 === b.nodeType || g)
if (l = b[u] || (b[u] = {}), k = l[b.uniqueID] || (l[b.uniqueID] = {}), e && e === b.nodeName.toLowerCase()) b = b[d] || b;
else {
if ((j = k[f]) && j[0] === w && j[1] === h) return m[2] = j[2];
if (k[f] = m, m[2] = a(b, c, i)) return !0
} return !1
}
}
function ua(a) {
return a.length > 1 ? function(b, c, d) {
var e = a.length;
while (e--)
if (!a[e](b, c, d)) return !1;
return !0
} : a[0]
}
function va(a, b, c) {
for (var d = 0, e = b.length; d < e; d++) ga(a, b[d], c);
return c
}
function wa(a, b, c, d, e) {
for (var f, g = [], h = 0, i = a.length, j = null != b; h < i; h++)(f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h)));
return g
}
function xa(a, b, c, d, e, f) {
return d && !d[u] && (d = xa(d)), e && !e[u] && (e = xa(e, f)), ia(function(f, g, h, i) {
var j, k, l, m = [],
n = [],
o = g.length,
p = f || va(b || "*", h.nodeType ? [h] : h, []),
q = !a || !f && b ? p : wa(p, m, a, h, i),
r = c ? e || (f ? a : o || d) ? [] : g : q;
if (c && c(q, r, h, i), d) {
j = wa(r, n), d(j, [], h, i), k = j.length;
while (k--)(l = j[k]) && (r[n[k]] = !(q[n[k]] = l))
}
if (f) {
if (e || a) {
if (e) {
j = [], k = r.length;
while (k--)(l = r[k]) && j.push(q[k] = l);
e(null, r = [], j, i)
}
k = r.length;
while (k--)(l = r[k]) && (j = e ? I(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l))
}
} else r = wa(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : G.apply(g, r)
})
}
function ya(a) {
for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = ta(function(a) {
return a === b
}, h, !0), l = ta(function(a) {
return I(b, a) > -1
}, h, !0), m = [function(a, c, d) {
var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));
return b = null, e
}]; i < f; i++)
if (c = d.relative[a[i].type]) m = [ta(ua(m), c)];
else {
if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {
for (e = ++i; e < f; e++)
if (d.relative[a[e].type]) break;
return xa(i > 1 && ua(m), i > 1 && sa(a.slice(0, i - 1).concat({
value: " " === a[i - 2].type ? "*" : ""
})).replace(P, "$1"), c, i < e && ya(a.slice(i, e)), e < f && ya(a = a.slice(e)), e < f && sa(a))
}
m.push(c)
}
return ua(m)
}
function za(a, b) {
var c = b.length > 0,
e = a.length > 0,
f = function(f, g, h, i, k) {
var l, o, q, r = 0,
s = "0",
t = f && [],
u = [],
v = j,
x = f || e && d.find.TAG("*", k),
y = w += null == v ? 1 : Math.random() || .1,
z = x.length;
for (k && (j = g === n || g || k); s !== z && null != (l = x[s]); s++) {
if (e && l) {
o = 0, g || l.ownerDocument === n || (m(l), h = !p);
while (q = a[o++])
if (q(l, g || n, h)) {
i.push(l);
break
}
k && (w = y)
}
c && ((l = !q && l) && r--, f && t.push(l))
}
if (r += s, c && s !== r) {
o = 0;
while (q = b[o++]) q(t, u, g, h);
if (f) {
if (r > 0)
while (s--) t[s] || u[s] || (u[s] = E.call(i));
u = wa(u)
}
G.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && ga.uniqueSort(i)
}
return k && (w = y, j = v), t
};
return c ? ia(f) : f
}
return h = ga.compile = function(a, b) {
var c, d = [],
e = [],
f = A[a + " "];
if (!f) {
b || (b = g(a)), c = b.length;
while (c--) f = ya(b[c]), f[u] ? d.push(f) : e.push(f);
f = A(a, za(e, d)), f.selector = a
}
return f
}, i = ga.select = function(a, b, c, e) {
var f, i, j, k, l, m = "function" == typeof a && a,
n = !e && g(a = m.selector || a);
if (c = c || [], 1 === n.length) {
if (i = n[0] = n[0].slice(0), i.length > 2 && "ID" === (j = i[0]).type && 9 === b.nodeType && p && d.relative[i[1].type]) {
if (b = (d.find.ID(j.matches[0].replace(_, aa), b) || [])[0], !b) return c;
m && (b = b.parentNode), a = a.slice(i.shift().value.length)
}
f = V.needsContext.test(a) ? 0 : i.length;
while (f--) {
if (j = i[f], d.relative[k = j.type]) break;
if ((l = d.find[k]) && (e = l(j.matches[0].replace(_, aa), $.test(i[0].type) && qa(b.parentNode) || b))) {
if (i.splice(f, 1), a = e.length && sa(i), !a) return G.apply(c, e), c;
break
}
}
}
return (m || h(a, n))(e, b, !p, c, !b || $.test(a) && qa(b.parentNode) || b), c
}, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ja(function(a) {
return 1 & a.compareDocumentPosition(n.createElement("fieldset"))
}), ja(function(a) {
return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href")
}) || ka("type|href|height|width", function(a, b, c) {
if (!c) return a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2)
}), c.attributes && ja(function(a) {
return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value")
}) || ka("value", function(a, b, c) {
if (!c && "input" === a.nodeName.toLowerCase()) return a.defaultValue
}), ja(function(a) {
return null == a.getAttribute("disabled")
}) || ka(J, function(a, b, c) {
var d;
if (!c) return a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null
}), ga
}(a);
r.find = x, r.expr = x.selectors, r.expr[":"] = r.expr.pseudos, r.uniqueSort = r.unique = x.uniqueSort, r.text = x.getText, r.isXMLDoc = x.isXML, r.contains = x.contains, r.escapeSelector = x.escape;
var y = function(a, b, c) {
var d = [],
e = void 0 !== c;
while ((a = a[b]) && 9 !== a.nodeType)
if (1 === a.nodeType) {
if (e && r(a).is(c)) break;
d.push(a)
}
return d
},
z = function(a, b) {
for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
return c
},
A = r.expr.match.needsContext;
function B(a, b) {
return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
}
var C = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,
D = /^.[^:#\[\.,]*$/;
function E(a, b, c) {
return r.isFunction(b) ? r.grep(a, function(a, d) {
return !!b.call(a, d, a) !== c
}) : b.nodeType ? r.grep(a, function(a) {
return a === b !== c
}) : "string" != typeof b ? r.grep(a, function(a) {
return i.call(b, a) > -1 !== c
}) : D.test(b) ? r.filter(b, a, c) : (b = r.filter(b, a), r.grep(a, function(a) {
return i.call(b, a) > -1 !== c && 1 === a.nodeType
}))
}
r.filter = function(a, b, c) {
var d = b[0];
return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? r.find.matchesSelector(d, a) ? [d] : [] : r.find.matches(a, r.grep(b, function(a) {
return 1 === a.nodeType
}))
}, r.fn.extend({
find: function(a) {
var b, c, d = this.length,
e = this;
if ("string" != typeof a) return this.pushStack(r(a).filter(function() {
for (b = 0; b < d; b++)
if (r.contains(e[b], this)) return !0
}));
for (c = this.pushStack([]), b = 0; b < d; b++) r.find(a, e[b], c);
return d > 1 ? r.uniqueSort(c) : c
},
filter: function(a) {
return this.pushStack(E(this, a || [], !1))
},
not: function(a) {
return this.pushStack(E(this, a || [], !0))
},
is: function(a) {
return !!E(this, "string" == typeof a && A.test(a) ? r(a) : a || [], !1).length
}
});
var F, G = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
H = r.fn.init = function(a, b, c) {
var e, f;
if (!a) return this;
if (c = c || F, "string" == typeof a) {
if (e = "<" === a[0] && ">" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : G.exec(a), !e || !e[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a);
if (e[1]) {
if (b = b instanceof r ? b[0] : b, r.merge(this, r.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)), C.test(e[1]) && r.isPlainObject(b))
for (e in b) r.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);
return this
}
return f = d.getElementById(e[2]), f && (this[0] = f, this.length = 1), this
}
return a.nodeType ? (this[0] = a, this.length = 1, this) : r.isFunction(a) ? void 0 !== c.ready ? c.ready(a) : a(r) : r.makeArray(a, this)
};
H.prototype = r.fn, F = r(d);
var I = /^(?:parents|prev(?:Until|All))/,
J = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
r.fn.extend({
has: function(a) {
var b = r(a, this),
c = b.length;
return this.filter(function() {
for (var a = 0; a < c; a++)
if (r.contains(this, b[a])) return !0
})
},
closest: function(a, b) {
var c, d = 0,
e = this.length,
f = [],
g = "string" != typeof a && r(a);
if (!A.test(a))
for (; d < e; d++)
for (c = this[d]; c && c !== b; c = c.parentNode)
if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && r.find.matchesSelector(c, a))) {
f.push(c);
break
}
return this.pushStack(f.length > 1 ? r.uniqueSort(f) : f)
},
index: function(a) {
return a ? "string" == typeof a ? i.call(r(a), this[0]) : i.call(this, a.jquery ? a[0] : a) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
},
add: function(a, b) {
return this.pushStack(r.uniqueSort(r.merge(this.get(), r(a, b))))
},
addBack: function(a) {
return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
}
});
function K(a, b) {
while ((a = a[b]) && 1 !== a.nodeType);
return a
}
r.each({
parent: function(a) {
var b = a.parentNode;
return b && 11 !== b.nodeType ? b : null
},
parents: function(a) {
return y(a, "parentNode")
},
parentsUntil: function(a, b, c) {
return y(a, "parentNode", c)
},
next: function(a) {
return K(a, "nextSibling")
},
prev: function(a) {
return K(a, "previousSibling")
},
nextAll: function(a) {
return y(a, "nextSibling")
},
prevAll: function(a) {
return y(a, "previousSibling")
},
nextUntil: function(a, b, c) {
return y(a, "nextSibling", c)
},
prevUntil: function(a, b, c) {
return y(a, "previousSibling", c)
},
siblings: function(a) {
return z((a.parentNode || {}).firstChild, a)
},
children: function(a) {
return z(a.firstChild)
},
contents: function(a) {
return B(a, "iframe") ? a.contentDocument : (B(a, "template") && (a = a.content || a), r.merge([], a.childNodes))
}
}, function(a, b) {
r.fn[a] = function(c, d) {
var e = r.map(this, b, c);
return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = r.filter(d, e)), this.length > 1 && (J[a] || r.uniqueSort(e), I.test(a) && e.reverse()), this.pushStack(e)
}
});
var L = /[^\x20\t\r\n\f]+/g;
function M(a) {
var b = {};
return r.each(a.match(L) || [], function(a, c) {
b[c] = !0
}), b
}
r.Callbacks = function(a) {
a = "string" == typeof a ? M(a) : r.extend({}, a);
var b, c, d, e, f = [],
g = [],
h = -1,
i = function() {
for (e = e || a.once, d = b = !0; g.length; h = -1) {
c = g.shift();
while (++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1)
}
a.memory || (c = !1), b = !1, e && (f = c ? [] : "")
},
j = {
add: function() {
return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) {
r.each(b, function(b, c) {
r.isFunction(c