PageSourceSearch

https://andiamopizza62.com/popup/js/jQuery/jquery-1.8.3.min.js

js andiamopizza62.com collected 2026-10-02 01:23:02 UTC 164,986 bytes, 3,573 lines download raw bytes

vendor: 164,986 bytes, lines 1-3573
1/*! jQuery v1.8.3 jquery.com | jquery.org/license */
2(function(e, t) {
3    function _(e) {
4        var t = M[e] = {};
5        return v.each(e.split(y), function(e, n) {
6            t[n] = !0
7        }), t
8    }
9
10    function H(e, n, r) {
11        if (r === t && e.nodeType === 1) {
12            var i = "data-" + n.replace(P, "-$1").toLowerCase();
13            r = e.getAttribute(i);
14            if (typeof r == "string") {
15                try {
16                    r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : D.test(r) ? v.parseJSON(r) : r
17                } catch (s) {}
18                v.data(e, n, r)
19            } else r = t
20        }
21        return r
22    }
23
24    function B(e) {
25        var t;
26        for (t in e) {
27            if (t === "data" && v.isEmptyObject(e[t])) continue;
28            if (t !== "toJSON") return !1
29        }
30        return !0
31    }
32
33    function et() {
34        return !1
35    }
36
37    function tt() {
38        return !0
39    }
40
41    function ut(e) {
42        return !e || !e.parentNode || e.parentNode.nodeType === 11
43    }
44
45    function at(e, t) {
46        do e = e[t]; while (e && e.nodeType !== 1);
47        return e
48    }
49
50    function ft(e, t, n) {
51        t = t || 0;
52        if (v.isFunction(t)) return v.grep(e, function(e, r) {
53            var i = !!t.call(e, r, e);
54            return i === n
55        });
56        if (t.nodeType) return v.grep(e, function(e, r) {
57            return e === t === n
58        });
59        if (typeof t == "string") {
60            var r = v.grep(e, function(e) {
61                return e.nodeType === 1
62            });
63            if (it.test(t)) return v.filter(t, r, !n);
64            t = v.filter(t, r)
65        }
66        return v.grep(e, function(e, r) {
67            return v.inArray(e, t) >= 0 === n
68        })
69    }
70
71    function lt(e) {
72        var t = ct.split("|"),
73            n = e.createDocumentFragment();
74        if (n.createElement)
75            while (t.length) n.createElement(t.pop());
76        return n
77    }
78
79    function Lt(e, t) {
80        return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
81    }
82
83    function At(e, t) {
84        if (t.nodeType !== 1 || !v.hasData(e)) return;
85        var n, r, i, s = v._data(e),
86            o = v._data(t, s),
87            u = s.events;
88        if (u) {
89            delete o.handle, o.events = {};
90            for (n in u)
91                for (r = 0, i = u[n].length; r < i; r++) v.event.add(t, n, u[n][r])
92        }
93        o.data && (o.data = v.extend({}, o.data))
94    }
95
96    function Ot(e, t) {
97        var n;
98        if (t.nodeType !== 1) return;
99        t.clearAttributes && t.clearAttributes(), t.mergeAttributes && t.mergeAttributes(e), n = t.nodeName.toLowerCase(), n === "object" ? (t.parentNode && (t.outerHTML = e.outerHTML), v.support.html5Clone && e.innerHTML && !v.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : n === "input" && Et.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : n === "option" ? t.selected = e.defaultSelected : n === "input" || n === "textarea" ? t.defaultValue = e.defaultValue : n === "script" && t.text !== e.text && (t.text = e.text), t.removeAttribute(v.expando)
100    }
101
102    function Mt(e) {
103        return typeof e.getElementsByTagName != "undefined" ? e.getElementsByTagName("*") : typeof e.querySelectorAll != "undefined" ? e.querySelectorAll("*") : []
104    }
105
106    function _t(e) {
107        Et.test(e.type) && (e.defaultChecked = e.checked)
108    }
109
110    function Qt(e, t) {
111        if (t in e) return t;
112        var n = t.charAt(0).toUpperCase() + t.slice(1),
113            r = t,
114            i = Jt.length;
115        while (i--) {
116            t = Jt[i] + n;
117            if (t in e) return t
118        }
119        return r
120    }
121
122    function Gt(e, t) {
123        return e = t || e, v.css(e, "display") === "none" || !v.contains(e.ownerDocument, e)
124    }
125
126    function Yt(e, t) {
127        var n, r, i = [],
128            s = 0,
129            o = e.length;
130        for (; s < o; s++) {
131            n = e[s];
132            if (!n.style) continue;
133            i[s] = v._data(n, "olddisplay"), t ? (!i[s] && n.style.display === "none" && (n.style.display = ""), n.style.display === "" && Gt(n) && (i[s] = v._data(n, "olddisplay", nn(n.nodeName)))) : (r = Dt(n, "display"), !i[s] && r !== "none" && v._data(n, "olddisplay", r))
134        }
135        for (s = 0; s < o; s++) {
136            n = e[s];
137            if (!n.style) continue;
138            if (!t || n.style.display === "none" || n.style.display === "") n.style.display = t ? i[s] || "" : "none"
139        }
140        return e
141    }
142
143    function Zt(e, t, n) {
144        var r = Rt.exec(t);
145        return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
146    }
147
148    function en(e, t, n, r) {
149        var i = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0,
150            s = 0;
151        for (; i < 4; i += 2) n === "margin" && (s += v.css(e, n + $t[i], !0)), r ? (n === "content" && (s -= parseFloat(Dt(e, "padding" + $t[i])) || 0), n !== "margin" && (s -= parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0)) : (s += parseFloat(Dt(e, "padding" + $t[i])) || 0, n !== "padding" && (s += parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0));
152        return s
153    }
154
155    function tn(e, t, n) {
156        var r = t === "width" ? e.offsetWidth : e.offsetHeight,
157            i = !0,
158            s = v.support.boxSizing && v.css(e, "boxSizing") === "border-box";
159        if (r <= 0 || r == null) {
160            r = Dt(e, t);
161            if (r < 0 || r == null) r = e.style[t];
162            if (Ut.test(r)) return r;
163            i = s && (v.support.boxSizingReliable || r === e.style[t]), r = parseFloat(r) || 0
164        }
165        return r + en(e, t, n || (s ? "border" : "content"), i) + "px"
166    }
167
168    function nn(e) {
169        if (Wt[e]) return Wt[e];
170        var t = v("<" + e + ">").appendTo(i.body),
171            n = t.css("display");
172        t.remove();
173        if (n === "none" || n === "") {
174            Pt = i.body.appendChild(Pt || v.extend(i.createElement("iframe"), {
175                frameBorder: 0,
176                width: 0,
177                height: 0
178            }));
179            if (!Ht || !Pt.createElement) Ht = (Pt.contentWindow || Pt.contentDocument).document, Ht.write("<!doctype html><html><body>"), Ht.close();
180            t = Ht.body.appendChild(Ht.createElement(e)), n = Dt(t, "display"), i.body.removeChild(Pt)
181        }
182        return Wt[e] = n, n
183    }
184
185    function fn(e, t, n, r) {
186        var i;
187        if (v.isArray(t)) v.each(t, function(t, i) {
188            n || sn.test(e) ? r(e, i) : fn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r)
189        });
190        else if (!n && v.type(t) === "object")
191            for (i in t) fn(e + "[" + i + "]", t[i], n, r);
192        else r(e, t)
193    }
194
195    function Cn(e) {
196        return function(t, n) {
197            typeof t != "string" && (n = t, t = "*");
198            var r, i, s, o = t.toLowerCase().split(y),
199                u = 0,
200                a = o.length;
201            if (v.isFunction(n))
202                for (; u < a; u++) r = o[u], s = /^\+/.test(r), s && (r = r.substr(1) || "*"), i = e[r] = e[r] || [], i[s ? "unshift" : "push"](n)
203        }
204    }
205
206    function kn(e, n, r, i, s, o) {
207        s = s || n.dataTypes[0], o = o || {}, o[s] = !0;
208        var u, a = e[s],
209            f = 0,
210            l = a ? a.length : 0,
211            c = e === Sn;
212        for (; f < l && (c || !u); f++) u = a[f](n, r, i), typeof u == "string" && (!c || o[u] ? u = t : (n.dataTypes.unshift(u), u = kn(e, n, r, i, u, o)));
213        return (c || !u) && !o["*"] && (u = kn(e, n, r, i, "*", o)), u
214    }
215
216    function Ln(e, n) {
217        var r, i, s = v.ajaxSettings.flatOptions || {};
218        for (r in n) n[r] !== t && ((s[r] ? e : i || (i = {}))[r] = n[r]);
219        i && v.extend(!0, e, i)
220    }
221
222    function An(e, n, r) {
223        var i, s, o, u, a = e.contents,
224            f = e.dataTypes,
225            l = e.responseFields;
226        for (s in l) s in r && (n[l[s]] = r[s]);
227        while (f[0] === "*") f.shift(), i === t && (i = e.mimeType || n.getResponseHeader("content-type"));
228        if (i)
229            for (s in a)
230                if (a[s] && a[s].test(i)) {
231                    f.unshift(s);
232                    break
233                }
234        if (f[0] in r) o = f[0];
235        else {
236            for (s in r) {
237                if (!f[0] || e.converters[s + " " + f[0]]) {
238                    o = s;
239                    break
240                }
241                u || (u = s)
242            }
243            o = o || u
244        }
245        if (o) return o !== f[0] && f.unshift(o), r[o]
246    }
247
248    function On(e, t) {
249        var n, r, i, s, o = e.dataTypes.slice(),
250            u = o[0],
251            a = {},
252            f = 0;
253        e.dataFilter && (t = e.dataFilter(t, e.dataType));
254        if (o[1])
255            for (n in e.converters) a[n.toLowerCase()] = e.converters[n];
256        for (; i = o[++f];)
257            if (i !== "*") {
258                if (u !== "*" && u !== i) {
259                    n = a[u + " " + i] || a["* " + i];
260                    if (!n)
261                        for (r in a) {
262                            s = r.split(" ");
263                            if (s[1] === i) {
264                                n = a[u + " " + s[0]] || a["* " + s[0]];
265                                if (n) {
266                                    n === !0 ? n = a[r] : a[r] !== !0 && (i = s[0], o.splice(f--, 0, i));
267                                    break
268                                }
269                            }
270                        }
271                    if (n !== !0)
272                        if (n && e["throws"]) t = n(t);
273                        else try {
274                            t = n(t)
275                        } catch (l) {
276                            return {
277                                state: "parsererror",
278                                error: n ? l : "No conversion from " + u + " to " + i
279                            }
280                        }
281                }
282                u = i
283            }
284        return {
285            state: "success",
286            data: t
287        }
288    }
289
290    function Fn() {
291        try {
292            return new e.XMLHttpRequest
293        } catch (t) {}
294    }
295
296    function In() {
297        try {
298            return new e.ActiveXObject("Microsoft.XMLHTTP")
299        } catch (t) {}
300    }
301
302    function $n() {
303        return setTimeout(function() {
304            qn = t
305        }, 0), qn = v.now()
306    }
307
308    function Jn(e, t) {
309        v.each(t, function(t, n) {
310            var r = (Vn[t] || []).concat(Vn["*"]),
311                i = 0,
312                s = r.length;
313            for (; i < s; i++)
314                if (r[i].call(e, t, n)) return
315        })
316    }
317
318    function Kn(e, t, n) {
319        var r, i = 0,
320            s = 0,
321            o = Xn.length,
322            u = v.Deferred().always(function() {
323                delete a.elem
324            }),
325            a = function() {
326                var t = qn || $n(),
327                    n = Math.max(0, f.startTime + f.duration - t),
328                    r = n / f.duration || 0,
329                    i = 1 - r,
330                    s = 0,
331                    o = f.tweens.length;
332                for (; s < o; s++) f.tweens[s].run(i);
333                return u.notifyWith(e, [f, i, n]), i < 1 && o ? n : (u.resolveWith(e, [f]), !1)
334            },
335            f = u.promise({
336                elem: e,
337                props: v.extend({}, t),
338                opts: v.extend(!0, {
339                    specialEasing: {}
340                }, n),
341                originalProperties: t,
342                originalOptions: n,
343                startTime: qn || $n(),
344                duration: n.duration,
345                tweens: [],
346                createTween: function(t, n, r) {
347                    var i = v.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing);
348                    return f.tweens.push(i), i
349                },
350                stop: function(t) {
351                    var n = 0,
352                        r = t ? f.tweens.length : 0;
353                    for (; n < r; n++) f.tweens[n].run(1);
354                    return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]), this
355                }
356            }),
357            l = f.props;
358        Qn(l, f.opts.specialEasing);
359        for (; i < o; i++) {
360            r = Xn[i].call(f, e, l, f.opts);
361            if (r) return r
362        }
363        return Jn(f, l), v.isFunction(f.opts.start) && f.opts.start.call(e, f), v.fx.timer(v.extend(a, {
364            anim: f,
365            queue: f.opts.queue,
366            elem: e
367        })), f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always)
368    }
369
370    function Qn(e, t) {
371        var n, r, i, s, o;
372        for (n in e) {
373            r = v.camelCase(n), i = t[r], s = e[n], v.isArray(s) && (i = s[1], s = e[n] = s[0]), n !== r && (e[r] = s, delete e[n]), o = v.cssHooks[r];
374            if (o && "expand" in o) {
375                s = o.expand(s), delete e[r];
376                for (n in s) n in e || (e[n] = s[n], t[n] = i)
377            } else t[r] = i
378        }
379    }
380
381    function Gn(e, t, n) {
382        var r, i, s, o, u, a, f, l, c, h = this,
383            p = e.style,
384            d = {},
385            m = [],
386            g = e.nodeType && Gt(e);
387        n.queue || (l = v._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() {
388            l.unqueued || c()
389        }), l.unqueued++, h.always(function() {
390            h.always(function() {
391                l.unqueued--, v.queue(e, "fx").length || l.empty.fire()
392            })
393        })), e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], v.css(e, "display") === "inline" && v.css(e, "float") === "none" && (!v.support.inlineBlockNeedsLayout || nn(e.nodeName) === "inline" ? p.display = "inline-block" : p.zoom = 1)), n.overflow && (p.overflow = "hidden", v.support.shrinkWrapBlocks || h.done(function() {
394            p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
395        }));
396        for (r in t) {
397            s = t[r];
398            if (Un.exec(s)) {
399                delete t[r], a = a || s === "toggle";
400                if (s === (g ? "hide" : "show")) continue;
401                m.push(r)
402            }
403        }
404        o = m.length;
405        if (o) {
406            u = v._data(e, "fxshow") || v._data(e, "fxshow", {}), "hidden" in u && (g = u.hidden), a && (u.hidden = !g), g ? v(e).show() : h.done(function() {
407                v(e).hide()
408            }), h.done(function() {
409                var t;
410                v.removeData(e, "fxshow", !0);
411                for (t in d) v.style(e, t, d[t])
412            });
413            for (r = 0; r < o; r++) i = m[r], f = h.createTween(i, g ? u[i] : 0), d[i] = u[i] || v.style(e, i), i in u || (u[i] = f.start, g && (f.end = f.start, f.start = i === "width" || i === "height" ? 1 : 0))
414        }
415    }
416
417    function Yn(e, t, n, r, i) {
418        return new Yn.prototype.init(e, t, n, r, i)
419    }
420
421    function Zn(e, t) {
422        var n, r = {
423                height: e
424            },
425            i = 0;
426        t = t ? 1 : 0;
427        for (; i < 4; i += 2 - t) n = $t[i], r["margin" + n] = r["padding" + n] = e;
428        return t && (r.opacity = r.width = e), r
429    }
430
431    function tr(e) {
432        return v.isWindow(e) ? e : e.nodeType === 9 ? e.defaultView || e.parentWindow : !1
433    }
434    var n, r, i = e.document,
435        s = e.location,
436        o = e.navigator,
437        u = e.jQuery,
438        a = e.$,
439        f = Array.prototype.push,
440        l = Array.prototype.slice,
441        c = Array.prototype.indexOf,
442        h = Object.prototype.toString,
443        p = Object.prototype.hasOwnProperty,
444        d = String.prototype.trim,
445        v = function(e, t) {
446            return new v.fn.init(e, t, n)
447        },
448        m = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,
449        g = /\S/,
450        y = /\s+/,
451        b = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
452        w = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
453        E = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
454        S = /^[\],:{}\s]*$/,
455        x = /(?:^|:|,)(?:\s*\[)+/g,
456        T = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
457        N = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,
458        C = /^-ms-/,
459        k = /-([\da-z])/gi,
460        L = function(e, t) {
461            return (t + "").toUpperCase()
462        },
463        A = function() {
464            i.addEventListener ? (i.removeEventListener("DOMContentLoaded", A, !1), v.ready()) : i.readyState === "complete" && (i.detachEvent("onreadystatechange", A), v.ready())
465        },
466        O = {};
467    v.fn = v.prototype = {
468        constructor: v,
469        init: function(e, n, r) {
470            var s, o, u, a;
471            if (!e) return this;
472            if (e.nodeType) return this.context = this[0] = e, this.length = 1, this;
473            if (typeof e == "string") {
474                e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? s = [null, e, null] : s = w.exec(e);
475                if (s && (s[1] || !n)) {
476                    if (s[1]) return n = n instanceof v ? n[0] : n, a = n && n.nodeType ? n.ownerDocument || n : i, e = v.parseHTML(s[1], a, !0), E.test(s[1]) && v.isPlainObject(n) && this.attr.call(e, n, !0), v.merge(this, e);
477                    o = i.getElementById(s[2]);
478                    if (o && o.parentNode) {
479                        if (o.id !== s[2]) return r.find(e);
480                        this.length = 1, this[0] = o
481                    }
482                    return this.context = i, this.selector = e, this
483                }
484                return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e)
485            }
486            return v.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), v.makeArray(e, this))
487        },
488        selector: "",
489        jquery: "1.8.3",
490        length: 0,
491        size: function() {
492            return this.length
493        },
494        toArray: function() {
495            return l.call(this)
496        },
497        get: function(e) {
498            return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e]
499        },
500        pushStack: function(e, t, n) {
501            var r = v.merge(this.constructor(), e);
502            return r.prevObject = this, r.context = this.context, t === "find" ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"), r
503        },
504        each: function(e, t) {
505            return v.each(this, e, t)
506        },
507        ready: function(e) {
508            return v.ready.promise().done(e), this
509        },
510        eq: function(e) {
511            return e = +e, e === -1 ? this.slice(e) : this.slice(e, e + 1)
512        },
513        first: function() {
514            return this.eq(0)
515        },
516        last: function() {
517            return this.eq(-1)
518        },
519        slice: function() {
520            return this.pushStack(l.apply(this, arguments), "slice", l.call(arguments).join(","))
521        },
522        map: function(e) {
523            return this.pushStack(v.map(this, function(t, n) {
524                return e.call(t, n, t)
525            }))
526        },
527        end: function() {
528            return this.prevObject || this.constructor(null)
529        },
530        push: f,
531        sort: [].sort,
532        splice: [].splice
533    }, v.fn.init.prototype = v.fn, v.extend = v.fn.extend = function() {
534        var e, n, r, i, s, o, u = arguments[0] || {},
535            a = 1,
536            f = arguments.length,
537            l = !1;
538        typeof u == "boolean" && (l = u, u = arguments[1] || {}, a = 2), typeof u != "object" && !v.isFunction(u) && (u = {}), f === a && (u = this, --a);
539        for (; a < f; a++)
540            if ((e = arguments[a]) != null)
541                for (n in e) {
542                    r = u[n], i = e[n];
543                    if (u === i) continue;
544                    l && i && (v.isPlainObject(i) || (s = v.isArray(i))) ? (s ? (s = !1, o = r && v.isArray(r) ? r : []) : o = r && v.isPlainObject(r) ? r : {}, u[n] = v.extend(l, o, i)) : i !== t && (u[n] = i)
545                }
546            return u
547    }, v.extend({
548        noConflict: function(t) {
549            return e.$ === v && (e.$ = a), t && e.jQuery === v && (e.jQuery = u), v
550        },
551        isReady: !1,
552        readyWait: 1,
553        holdReady: function(e) {
554            e ? v.readyWait++ : v.ready(!0)
555        },
556        ready: function(e) {
557            if (e === !0 ? --v.readyWait : v.isReady) return;
558            if (!i.body) return setTimeout(v.ready, 1);
559            v.isReady = !0;
560            if (e !== !0 && --v.readyWait > 0) return;
561            r.resolveWith(i, [v]), v.fn.trigger && v(i).trigger("ready").off("ready")
562        },
563        isFunction: function(e) {
564            return v.type(e) === "function"
565        },
566        isArray: Array.isArray || function(e) {
567            return v.type(e) === "array"
568        },
569        isWindow: function(e) {
570            return e != null && e == e.window
571        },
572        isNumeric: function(e) {
573            return !isNaN(parseFloat(e)) && isFinite(e)
574        },
575        type: function(e) {
576            return e == null ? String(e) : O[h.call(e)] || "object"
577        },
578        isPlainObject: function(e) {
579            if (!e || v.type(e) !== "object" || e.nodeType || v.isWindow(e)) return !1;
580            try {
581                if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isPrototypeOf")) return !1
582            } catch (n) {
583                return !1
584            }
585            var r;
586            for (r in e);
587            return r === t || p.call(e, r)
588        },
589        isEmptyObject: function(e) {
590            var t;
591            for (t in e) return !1;
592            return !0
593        },
594        error: function(e) {
595            throw new Error(e)
596        },
597        parseHTML: function(e, t, n) {
598            var r;
599            return !e || typeof e != "string" ? null : (typeof t == "boolean" && (n = t, t = 0), t = t || i, (r = E.exec(e)) ? [t.createElement(r[1])] : (r = v.buildFragment([e], t, n ? null : []), v.merge([], (r.cacheable ? v.clone(r.fragment) : r.fragment).childNodes)))
600        },
601        parseJSON: function(t) {
602            if (!t || typeof t != "string") return null;
603            t = v.trim(t);
604            if (e.JSON && e.JSON.parse) return e.JSON.parse(t);
605            if (S.test(t.replace(T, "@").replace(N, "]").replace(x, ""))) return (new Function("return " + t))();
606            v.error("Invalid JSON: " + t)
607        },
608        parseXML: function(n) {
609            var r, i;
610            if (!n || typeof n != "string") return null;
611            try {
612                e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
613            } catch (s) {
614                r = t
615            }
616            return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && v.error("Invalid XML: " + n), r
617        },
618        noop: function() {},
619        globalEval: function(t) {
620            t && g.test(t) && (e.execScript || function(t) {
621                e.eval.call(e, t)
622            })(t)
623        },
624        camelCase: function(e) {
625            return e.replace(C, "ms-").replace(k, L)
626        },
627        nodeName: function(e, t) {
628            return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
629        },
630        each: function(e, n, r) {
631            var i, s = 0,
632                o = e.length,
633                u = o === t || v.isFunction(e);
634            if (r) {
635                if (u) {
636                    for (i in e)
637                        if (n.apply(e[i], r) === !1) break
638                } else
639                    for (; s < o;)
640                        if (n.apply(e[s++], r) === !1) break
641            } else if (u) {
642                for (i in e)
643                    if (n.call(e[i], i, e[i]) === !1) break
644            } else
645                for (; s < o;)
646                    if (n.call(e[s], s, e[s++]) === !1) break; return e
647        },
648        trim: d && !d.call("\ufeff\u00a0") ? function(e) {
649            return e == null ? "" : d.call(e)
650        } : function(e) {
651            return e == null ? "" : (e + "").replace(b, "")
652        },
653        makeArray: function(e, t) {
654            var n, r = t || [];
655            return e != null && (n = v.type(e), e.length == null || n === "string" || n === "function" || n === "regexp" || v.isWindow(e) ? f.call(r, e) : v.merge(r, e)), r
656        },
657        inArray: function(e, t, n) {
658            var r;
659            if (t) {
660                if (c) return c.call(t, e, n);
661                r = t.length, n = n ? n < 0 ? Math.max(0, r + n) : n : 0;
662                for (; n < r; n++)
663                    if (n in t && t[n] === e) return n
664            }
665            return -1
666        },
667        merge: function(e, n) {
668            var r = n.length,
669                i = e.length,
670                s = 0;
671            if (typeof r == "number")
672                for (; s < r; s++) e[i++] = n[s];
673            else
674                while (n[s] !== t) e[i++] = n[s++];
675            return e.length = i, e
676        },
677        grep: function(e, t, n) {
678            var r, i = [],
679                s = 0,
680                o = e.length;
681            n = !!n;
682            for (; s < o; s++) r = !!t(e[s], s), n !== r && i.push(e[s]);
683            return i
684        },
685        map: function(e, n, r) {
686            var i, s, o = [],
687                u = 0,
688                a = e.length,
689                f = e instanceof v || a !== t && typeof a == "number" && (a > 0 && e[0] && e[a - 1] || a === 0 || v.isArray(e));
690            if (f)
691                for (; u < a; u++) i = n(e[u], u, r), i != null && (o[o.length] = i);
692            else
693                for (s in e) i = n(e[s], s, r), i != null && (o[o.length] = i);
694            return o.concat.apply([], o)
695        },
696        guid: 1,
697        proxy: function(e, n) {
698            var r, i, s;
699            return typeof n == "string" && (r = e[n], n = e, e = r), v.isFunction(e) ? (i = l.call(arguments, 2), s = function() {
700                return e.apply(n, i.concat(l.call(arguments)))
701            }, s.guid = e.guid = e.guid || v.guid++, s) : t
702        },
703        access: function(e, n, r, i, s, o, u) {
704            var a, f = r == null,
705                l = 0,
706                c = e.length;
707            if (r && typeof r == "object") {
708                for (l in r) v.access(e, n, l, r[l], 1, o, i);
709                s = 1
710            } else if (i !== t) {
711                a = u === t && v.isFunction(i), f && (a ? (a = n, n = function(e, t, n) {
712                    return a.call(v(e), n)
713                }) : (n.call(e, i), n = null));
714                if (n)
715                    for (; l < c; l++) n(e[l], r, a ? i.call(e[l], l, n(e[l], r)) : i, u);
716                s = 1
717            }
718            return s ? e : f ? n.call(e) : c ? n(e[0], r) : o
719        },
720        now: function() {
721            return (new Date).getTime()
722        }
723    }), v.ready.promise = function(t) {
724        if (!r) {
725            r = v.Deferred();
726            if (i.readyState === "complete") setTimeout(v.ready, 1);
727            else if (i.addEventListener) i.addEventListener("DOMContentLoaded", A, !1), e.addEventListener("load", v.ready, !1);
728            else {
729                i.attachEvent("onreadystatechange", A), e.attachEvent("onload", v.ready);
730                var n = !1;
731                try {
732                    n = e.frameElement == null && i.documentElement
733                } catch (s) {}
734                n && n.doScroll && function o() {
735                    if (!v.isReady) {
736                        try {
737                            n.doScroll("left")
738                        } catch (e) {
739                            return setTimeout(o, 50)
740                        }
741                        v.ready()
742                    }
743                }()
744            }
745        }
746        return r.promise(t)
747    }, v.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, t) {
748        O["[object " + t + "]"] = t.toLowerCase()
749    }), n = v(i);
750    var M = {};
751    v.Callbacks = function(e) {
752        e = typeof e == "string" ? M[e] || _(e) : v.extend({}, e);
753        var n, r, i, s, o, u, a = [],
754            f = !e.once && [],
755            l = function(t) {
756                n = e.memory && t, r = !0, u = s || 0, s = 0, o = a.length, i = !0;
757                for (; a && u < o; u++)
758                    if (a[u].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
759                        n = !1;
760                        break
761                    }
762                i = !1, a && (f ? f.length && l(f.shift()) : n ? a = [] : c.disable())
763            },
764            c = {
765                add: function() {
766                    if (a) {
767                        var t = a.length;
768                        (function r(t) {
769                            v.each(t, function(t, n) {
770                                var i = v.type(n);
771                                i === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && i !== "string" && r(n)
772                            })
773                        })(arguments), i ? o = a.length : n && (s = t, l(n))
774                    }
775                    return this
776                },
777                remove: function() {
778                    return a && v.each(arguments, function(e, t) {
779                        var n;
780                        while ((n = v.inArray(t, a, n)) > -1) a.splice(n, 1), i && (n <= o && o--, n <= u && u--)
781                    }), this
782                },
783                has: function(e) {
784                    return v.inArray(e, a) > -1
785                },
786                empty: function() {
787                    return a = [], this
788                },
789                disable: function() {
790                    return a = f = n = t, this
791                },
792                disabled: function() {
793                    return !a
794                },
795                lock: function() {
796                    return f = t, n || c.disable(), this
797                },
798                locked: function() {
799                    return !f
800                },
801                fireWith: function(e, t) {
802                    return t = t || [], t = [e, t.slice ? t.slice() : t], a && (!r || f) && (i ? f.push(t) : l(t)), this
803                },
804                fire: function() {
805                    return c.fireWith(this, arguments), this
806                },
807                fired: function() {
808                    return !!r
809                }
810            };
811        return c
812    }, v.extend({
813        Deferred: function(e) {
814            var t = [
815                    ["resolve", "done", v.Callbacks("once memory"), "resolved"],
816                    ["reject", "fail", v.Callbacks("once memory"), "rejected"],
817                    ["notify", "progress", v.Callbacks("memory")]
818                ],
819                n = "pending",
820                r = {
821                    state: function() {
822                        return n
823                    },
824                    always: function() {
825                        return i.done(arguments).fail(arguments), this
826                    },
827                    then: function() {
828                        var e = arguments;
829                        return v.Deferred(function(n) {
830                            v.each(t, function(t, r) {
831                                var s = r[0],
832                                    o = e[t];
833                                i[r[1]](v.isFunction(o) ? function() {
834                                    var e = o.apply(this, arguments);
835                                    e && v.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === i ? n : this, [e])
836                                } : n[s])
837                            }), e = null
838                        }).promise()
839                    },
840                    promise: function(e) {
841                        return e != null ? v.extend(e, r) : r
842                    }
843                },
844                i = {};
845            return r.pipe = r.then, v.each(t, function(e, s) {
846                var o = s[2],
847                    u = s[3];
848                r[s[1]] = o.add, u && o.add(function() {
849                    n = u
850                }, t[e ^ 1][2].disable, t[2][2].lock), i[s[0]] = o.fire, i[s[0] + "With"] = o.fireWith
851            }), r.promise(i), e && e.call(i, i), i
852        },
853        when: function(e) {
854            var t = 0,
855                n = l.call(arguments),
856                r = n.length,
857                i = r !== 1 || e && v.isFunction(e.promise) ? r : 0,
858                s = i === 1 ? e : v.Deferred(),
859                o = function(e, t, n) {
860                    return function(r) {
861                        t[e] = this, n[e] = arguments.length > 1 ? l.call(arguments) : r, n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n)
862                    }
863                },
864                u, a, f;
865            if (r > 1) {
866                u = new Array(r), a = new Array(r), f = new Array(r);
867                for (; t < r; t++) n[t] && v.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i
868            }
869            return i || s.resolveWith(f, n), s.promise()
870        }
871    }), v.support = function() {
872        var t, n, r, s, o, u, a, f, l, c, h, p = i.createElement("div");
873        p.setAttribute("className", "t"), p.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", n = p.getElementsByTagName("*"), r = p.getElementsByTagName("a")[0];
874        if (!n || !r || !n.length) return {};
875        s = i.createElement("select"), o = s.appendChild(i.createElement("option")), u = p.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = {
876            leadingWhitespace: p.firstChild.nodeType === 3,
877            tbody: !p.getElementsByTagName("tbody").length,
878            htmlSerialize: !!p.getElementsByTagName("link").length,
879            style: /top/.test(r.getAttribute("style")),
880            hrefNormalized: r.getAttribute("href") === "/a",
881            opacity: /^0.5/.test(r.style.opacity),
882            cssFloat: !!r.style.cssFloat,
883            checkOn: u.value === "on",
884            optSelected: o.selected,
885            getSetAttribute: p.className !== "t",
886            enctype: !!i.createElement("form").enctype,
887            html5Clone: i.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>",
888            boxModel: i.compatMode === "CSS1Compat",
889            submitBubbles: !0,
890            changeBubbles: !0,
891            focusinBubbles: !1,
892            deleteExpando: !0,
893            noCloneEvent: !0,
894            inlineBlockNeedsLayout: !1,
895            shrinkWrapBlocks: !1,
896            reliableMarginRight: !0,
897            boxSizingReliable: !0,
898            pixelPosition: !1
899        }, u.checked = !0, t.noCloneChecked = u.cloneNode(!0).checked, s.disabled = !0, t.optDisabled = !o.disabled;
900        try {
901            delete p.test
902        } catch (d) {
903            t.deleteExpando = !1
904        }!p.addEventListener && p.attachEvent && p.fireEvent && (p.attachEvent("onclick", h = function() {
905            t.noCloneEvent = !1
906        }), p.cloneNode(!0).fireEvent("onclick"), p.detachEvent("onclick", h)), u = i.createElement("input"), u.value = "t", u.setAttribute("type", "radio"), t.radioValue = u.value === "t", u.setAttribute("checked", "checked"), u.setAttribute("name", "t"), p.appendChild(u), a = i.createDocumentFragment(), a.appendChild(p.lastChild), t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, t.appendChecked = u.checked, a.removeChild(u), a.appendChild(p);
907        if (p.attachEvent)
908            for (l in {
909                    submit: !0,
910                    change: !0,
911                    focusin: !0
912                }) f = "on" + l, c = f in p, c || (p.setAttribute(f, "return;"), c = typeof p[f] == "function"), t[l + "Bubbles"] = c;
913        return v(function() {
914            var n, r, s, o, u = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
915                a = i.getElementsByTagName("body")[0];
916            if (!a) return;
917            n = i.createElement("div"), n.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", a.insertBefore(n, a.firstChild), r = i.createElement("div"), n.appendChild(r), r.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", s = r.getElementsByTagName("td"), s[0].style.cssText = "padding:0;margin:0;border:0;display:none", c = s[0].offsetHeight === 0, s[0].style.display = "", s[1].style.display = "none", t.reliableHiddenOffsets = c && s[0].offsetHeight === 0, r.innerHTML = "", r.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = r.offsetWidth === 4, t.doesNotIncludeMarginInBodyOffset = a.offsetTop !== 1, e.getComputedStyle && (t.pixelPosition = (e.getComputedStyle(r, null) || {}).top !== "1%", t.boxSizingReliable = (e.getComputedStyle(r, null) || {
918                width: "4px"
919            }).width === "4px", o = i.createElement("div"), o.style.cssText = r.style.cssText = u, o.style.marginRight = o.style.width = "0", r.style.width = "1px", r.appendChild(o), t.reliableMarginRight = !parseFloat((e.getComputedStyle(o, null) || {}).marginRight)), typeof r.style.zoom != "undefined" && (r.innerHTML = "", r.style.cssText = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = r.offsetWidth === 3, r.style.display = "block", r.style.overflow = "visible", r.innerHTML = "<div></div>", r.firstChild.style.width = "5px", t.shrinkWrapBlocks = r.offsetWidth !== 3, n.style.zoom = 1), a.removeChild(n), n = r = s = o = null
920        }), a.removeChild(p), n = r = s = o = u = a = p = null, t
921    }();
922    var D = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
923        P = /([A-Z])/g;
924    v.extend({
925        cache: {},
926        deletedIds: [],
927        uuid: 0,
928        expando: "jQuery" + (v.fn.jquery + Math.random()).replace(/\D/g, ""),
929        noData: {
930            embed: !0,
931            object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
932            applet: !0
933        },
934        hasData: function(e) {
935            return e = e.nodeType ? v.cache[e[v.expando]] : e[v.expando], !!e && !B(e)
936        },
937        data: function(e, n, r, i) {
938            if (!v.acceptData(e)) return;
939            var s, o, u = v.expando,
940                a = typeof n == "string",
941                f = e.nodeType,
942                l = f ? v.cache : e,
943                c = f ? e[u] : e[u] && u;
944            if ((!c || !l[c] || !i && !l[c].data) && a && r === t) return;
945            c || (f ? e[u] = c = v.deletedIds.pop() || v.guid++ : c = u), l[c] || (l[c] = {}, f || (l[c].toJSON = v.noop));
946            if (typeof n == "object" || typeof n == "function") i ? l[c] = v.extend(l[c], n) : l[c].data = v.extend(l[c].data, n);
947            return s = l[c], i || (s.data || (s.data = {}), s = s.data), r !== t && (s[v.camelCase(n)] = r), a ? (o = s[n], o == null && (o = s[v.camelCase(n)])) : o = s, o
948        },
949        removeData: function(e, t, n) {
950            if (!v.acceptData(e)) return;
951            var r, i, s, o = e.nodeType,
952                u = o ? v.cache : e,
953                a = o ? e[v.expando] : v.expando;
954            if (!u[a]) return;
955            if (t) {
956                r = n ? u[a] : u[a].data;
957                if (r) {
958                    v.isArray(t) || (t in r ? t = [t] : (t = v.camelCase(t), t in r ? t = [t] : t = t.split(" ")));
959                    for (i = 0, s = t.length; i < s; i++) delete r[t[i]];
960                    if (!(n ? B : v.isEmptyObject)(r)) return
961                }
962            }
963            if (!n) {
964                delete u[a].data;
965                if (!B(u[a])) return
966            }
967            o ? v.cleanData([e], !0) : v.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null
968        },
969        _data: function(e, t, n) {
970            return v.data(e, t, n, !0)
971        },
972        acceptData: function(e) {
973            var t = e.nodeName && v.noData[e.nodeName.toLowerCase()];
974            return !t || t !== !0 && e.getAttribute("classid") === t
975        }
976    }), v.fn.extend({
977        data: function(e, n) {
978            var r, i, s, o, u, a = this[0],
979                f = 0,
980                l = null;
981            if (e === t) {
982                if (this.length) {
983                    l = v.data(a);
984                    if (a.nodeType === 1 && !v._data(a, "parsedAttrs")) {
985                        s = a.attributes;
986                        for (u = s.length; f < u; f++) o = s[f].name, o.indexOf("data-") || (o = v.camelCase(o.substring(5)), H(a, o, l[o]));
987                        v._data(a, "parsedAttrs", !0)
988                    }
989                }
990                return l
991            }
992            return typeof e == "object" ? this.each(function() {
993                v.data(this, e)
994            }) : (r = e.split(".", 2), r[1] = r[1] ? "." + r[1] : "", i = r[1] + "!", v.access(this, function(n) {
995                if (n === t) return l = this.triggerHandler("getData" + i, [r[0]]), l === t && a && (l = v.data(a, e), l = H(a, e, l)), l === t && r[1] ? this.data(r[0]) : l;
996                r[1] = n, this.each(function() {
997                    var t = v(this);
998                    t.triggerHandler("setData" + i, r), v.data(this, e, n), t.triggerHandler("changeData" + i, r)
999                })
1000            }, null, n, arguments.length > 1, null, !1))
1001        },
1002        removeData: function(e) {
1003            return this.each(function() {
1004                v.removeData(this, e)
1005            })
1006        }
1007    }), v.extend({
1008        queue: function(e, t, n) {
1009            var r;
1010            if (e) return t = (t || "fx") + "queue", r = v._data(e, t), n && (!r || v.isArray(n) ? r = v._data(e, t, v.makeArray(n)) : r.push(n)), r || []
1011        },
1012        dequeue: function(e, t) {
1013            t = t || "fx";
1014            var n = v.queue(e, t),
1015                r = n.length,
1016                i = n.shift(),
1017                s = v._queueHooks(e, t),
1018                o = function() {
1019                    v.dequeue(e, t)
1020                };
1021            i === "inprogress" && (i = n.shift(), r--), i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)), !r && s && s.empty.fire()
1022        },
1023        _queueHooks: function(e, t) {
1024            var n = t + "queueHooks";
1025            return v._data(e, n) || v._data(e, n, {
1026                empty: v.Callbacks("once memory").add(function() {
1027                    v.removeData(e, t + "queue", !0), v.removeData(e, n, !0)
1028                })
1029            })
1030        }
1031    }), v.fn.extend({
1032        queue: function(e, n) {
1033            var r = 2;
1034            return typeof e != "string" && (n = e, e = "fx", r--), arguments.length < r ? v.queue(this[0], e) : n === t ? this : this.each(function() {
1035                var t = v.queue(this, e, n);
1036                v._queueHooks(this, e), e === "fx" && t[0] !== "inprogress" && v.dequeue(this, e)
1037            })
1038        },
1039        dequeue: function(e) {
1040            return this.each(function() {
1041                v.dequeue(this, e)
1042            })
1043        },
1044        delay: function(e, t) {
1045            return e = v.fx ? v.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) {
1046                var r = setTimeout(t, e);
1047                n.stop = function() {
1048                    clearTimeout(r)
1049                }
1050            })
1051        },
1052        clearQueue: function(e) {
1053            return this.queue(e || "fx", [])
1054        },
1055        promise: function(e, n) {
1056            var r, i = 1,
1057                s = v.Deferred(),
1058                o = this,
1059                u = this.length,
1060                a = function() {
1061                    --i || s.resolveWith(o, [o])
1062                };
1063            typeof e != "string" && (n = e, e = t), e = e || "fx";
1064            while (u--) r = v._data(o[u], e + "queueHooks"), r && r.empty && (i++, r.empty.add(a));
1065            return a(), s.promise(n)
1066        }
1067    });
1068    var j, F, I, q = /[\t\r\n]/g,
1069        R = /\r/g,
1070        U = /^(?:button|input)$/i,
1071        z = /^(?:button|input|object|select|textarea)$/i,
1072        W = /^a(?:rea|)$/i,
1073        X = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
1074        V = v.support.getSetAttribute;
1075    v.fn.extend({
1076        attr: function(e, t) {
1077            return v.access(this, v.attr, e, t, arguments.length > 1)
1078        },
1079        removeAttr: function(e) {
1080            return this.each(function() {
1081                v.removeAttr(this, e)
1082            })
1083        },
1084        prop: function(e, t) {
1085            return v.access(this, v.prop, e, t, arguments.length > 1)
1086        },
1087        removeProp: function(e) {
1088            return e = v.propFix[e] || e, this.each(function() {
1089                try {
1090                    this[e] = t, delete this[e]
1091                } catch (n) {}
1092            })
1093        },
1094        addClass: function(e) {
1095            var t, n, r, i, s, o, u;
1096            if (v.isFunction(e)) return this.each(function(t) {
1097                v(this).addClass(e.call(this, t, this.className))
1098            });
1099            if (e && typeof e == "string") {
1100                t = e.split(y);
1101                for (n = 0, r = this.length; n < r; n++) {
1102                    i = this[n];
1103                    if (i.nodeType === 1)
1104                        if (!i.className && t.length === 1) i.className = e;
1105                        else {
1106                            s = " " + i.className + " ";
1107                            for (o = 0, u = t.length; o < u; o++) s.indexOf(" " + t[o] + " ") < 0 && (s += t[o] + " ");
1108                            i.className = v.trim(s)
1109                        }
1110                }
1111            }
1112            return this
1113        },
1114        removeClass: function(e) {
1115            var n, r, i, s, o, u, a;
1116            if (v.isFunction(e)) return this.each(function(t) {
1117                v(this).removeClass(e.call(this, t, this.className))
1118            });
1119            if (e && typeof e == "string" || e === t) {
1120                n = (e || "").split(y);
1121                for (u = 0, a = this.length; u < a; u++) {
1122                    i = this[u];
1123                    if (i.nodeType === 1 && i.className) {
1124                        r = (" " + i.className + " ").replace(q, " ");
1125                        for (s = 0, o = n.length; s < o; s++)
1126                            while (r.indexOf(" " + n[s] + " ") >= 0) r = r.replace(" " + n[s] + " ", " ");
1127                        i.className = e ? v.trim(r) : ""
1128                    }
1129                }
1130            }
1131            return this
1132        },
1133        toggleClass: function(e, t) {
1134            var n = typeof e,
1135                r = typeof t == "boolean";
1136            return v.isFunction(e) ? this.each(function(n) {
1137                v(this).toggleClass(e.call(this, n, this.className, t), t)
1138            }) : this.each(function() {
1139                if (n === "string") {
1140                    var i, s = 0,
1141                        o = v(this),
1142                        u = t,
1143                        a = e.split(y);
1144                    while (i = a[s++]) u = r ? u : !o.hasClass(i), o[u ? "addClass" : "removeClass"](i)
1145                } else if (n === "undefined" || n === "boolean") this.className && v._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : v._data(this, "__className__") || ""
1146            })
1147        },
1148        hasClass: function(e) {
1149            var t = " " + e + " ",
1150                n = 0,
1151                r = this.length;
1152            for (; n < r; n++)
1153                if (this[n].nodeType === 1 && (" " + this[n].className + " ").replace(q, " ").indexOf(t) >= 0) return !0;
1154            return !1
1155        },
1156        val: function(e) {
1157            var n, r, i, s = this[0];
1158            if (!arguments.length) {
1159                if (s) return n = v.valHooks[s.type] || v.valHooks[s.nodeName.toLowerCase()], n && "get" in n && (r = n.get(s, "value")) !== t ? r : (r = s.value, typeof r == "string" ? r.replace(R, "") : r == null ? "" : r);
1160                return
1161            }
1162            return i = v.isFunction(e), this.each(function(r) {
1163                var s, o = v(this);
1164                if (this.nodeType !== 1) return;
1165                i ? s = e.call(this, r, o.val()) : s = e, s == null ? s = "" : typeof s == "number" ? s += "" : v.isArray(s) && (s = v.map(s, function(e) {
1166                    return e == null ? "" : e + ""
1167                })), n = v.valHooks[this.type] || v.valHooks[this.nodeName.toLowerCase()];
1168                if (!n || !("set" in n) || n.set(this, s, "value") === t) this.value = s
1169            })
1170        }
1171    }), v.extend({
1172        valHooks: {
1173            option: {
1174                get: function(e) {
1175                    var t = e.attributes.value;
1176                    return !t || t.specified ? e.value : e.text
1177                }
1178            },
1179            select: {
1180                get: function(e) {
1181                    var t, n, r = e.options,
1182                        i = e.selectedIndex,
1183                        s = e.type === "select-one" || i < 0,
1184                        o = s ? null : [],
1185                        u = s ? i + 1 : r.length,
1186                        a = i < 0 ? u : s ? i : 0;
1187                    for (; a < u; a++) {
1188                        n = r[a];
1189                        if ((n.selected || a === i) && (v.support.optDisabled ? !n.disabled : n.getAttribute("disabled") === null) && (!n.parentNode.disabled || !v.nodeName(n.parentNode, "optgroup"))) {
1190                            t = v(n).val();
1191                            if (s) return t;
1192                            o.push(t)
1193                        }
1194                    }
1195                    return o
1196                },
1197                set: function(e, t) {
1198                    var n = v.makeArray(t);
1199                    return v(e).find("option").each(function() {
1200                        this.selected = v.inArray(v(this).val(), n) >= 0
1201                    }), n.length || (e.selectedIndex = -1), n
1202                }
1203            }
1204        },
1205        attrFn: {},
1206        attr: function(e, n, r, i) {
1207            var s, o, u, a = e.nodeType;
1208            if (!e || a === 3 || a === 8 || a === 2) return;
1209            if (i && v.isFunction(v.fn[n])) return v(e)[n](r);
1210            if (typeof e.getAttribute == "undefined") return v.prop(e, n, r);
1211            u = a !== 1 || !v.isXMLDoc(e), u && (n = n.toLowerCase(), o = v.attrHooks[n] || (X.test(n) ? F : j));
1212            if (r !== t) {
1213                if (r === null) {
1214                    v.removeAttr(e, n);
1215                    return
1216                }
1217                return o && "set" in o && u && (s = o.set(e, r, n)) !== t ? s : (e.setAttribute(n, r + ""), r)
1218            }
1219            return o && "get" in o && u && (s = o.get(e, n)) !== null ? s : (s = e.getAttribute(n), s === null ? t : s)
1220        },
1221        removeAttr: function(e, t) {
1222            var n, r, i, s, o = 0;
1223            if (t && e.nodeType === 1) {
1224                r = t.split(y);
1225                for (; o < r.length; o++) i = r[o], i && (n = v.propFix[i] || i, s = X.test(i), s || v.attr(e, i, ""), e.removeAttribute(V ? i : n), s && n in e && (e[n] = !1))
1226            }
1227        },
1228        attrHooks: {
1229            type: {
1230                set: function(e, t) {
1231                    if (U.test(e.nodeName) && e.parentNode) v.error("type property can't be changed");
1232                    else if (!v.support.radioValue && t === "radio" && v.nodeName(e, "input")) {
1233                        var n = e.value;
1234                        return e.setAttribute("type", t), n && (e.value = n), t
1235                    }
1236                }
1237            },
1238            value: {
1239                get: function(e, t) {
1240                    return j && v.nodeName(e, "button") ? j.get(e, t) : t in e ? e.value : null
1241                },
1242                set: function(e, t, n) {
1243                    if (j && v.nodeName(e, "button")) return j.set(e, t, n);
1244                    e.value = t
1245                }
1246            }
1247        },
1248        propFix: {
1249            tabindex: "tabIndex",
1250            readonly: "readOnly",
1251            "for": "htmlFor",
1252            "class": "className",
1253            maxlength: "maxLength",
1254            cellspacing: "cellSpacing",
1255            cellpadding: "cellPadding",
1256            rowspan: "rowSpan",
1257            colspan: "colSpan",
1258            usemap: "useMap",
1259            frameborder: "frameBorder",
1260            contenteditable: "contentEditable"
1261        },
1262        prop: function(e, n, r) {
1263            var i, s, o, u = e.nodeType;
1264            if (!e || u === 3 || u === 8 || u === 2) return;
1265            return o = u !== 1 || !v.isXMLDoc(e), o && (n = v.propFix[n] || n, s = v.propHooks[n]), r !== t ? s && "set" in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get" in s && (i = s.get(e, n)) !== null ? i : e[n]
1266        },
1267        propHooks: {
1268            tabIndex: {
1269                get: function(e) {
1270                    var n = e.getAttributeNode("tabindex");
1271                    return n && n.specified ? parseInt(n.value, 10) : z.test(e.nodeName) || W.test(e.nodeName) && e.href ? 0 : t
1272                }
1273            }
1274        }
1275    }), F = {
1276        get: function(e, n) {
1277            var r, i = v.prop(e, n);
1278            return i === !0 || typeof i != "boolean" && (r = e.getAttributeNode(n)) && r.nodeValue !== !1 ? n.toLowerCase() : t
1279        },
1280        set: function(e, t, n) {
1281            var r;
1282            return t === !1 ? v.removeAttr(e, n) : (r = v.propFix[n] || n, r in e && (e[r] = !0), e.setAttribute(n, n.toLowerCase())), n
1283        }
1284    }, V || (I = {
1285        name: !0,
1286        id: !0,
1287        coords: !0
1288    }, j = v.valHooks.button = {
1289        get: function(e, n) {
1290            var r;
1291            return r = e.getAttributeNode(n), r && (I[n] ? r.value !== "" : r.specified) ? r.value : t
1292        },
1293        set: function(e, t, n) {
1294            var r = e.getAttributeNode(n);
1295            return r || (r = i.createAttribute(n), e.setAttributeNode(r)), r.value = t + ""
1296        }
1297    }, v.each(["width", "height"], function(e, t) {
1298        v.attrHooks[t] = v.extend(v.attrHooks[t], {
1299            set: function(e, n) {
1300                if (n === "") return e.setAttribute(t, "auto"), n
1301            }
1302        })
1303    }), v.attrHooks.contenteditable = {
1304        get: j.get,
1305        set: function(e, t, n) {
1306            t === "" && (t = "false"), j.set(e, t, n)
1307        }
1308    }), v.support.hrefNormalized || v.each(["href", "src", "width", "height"], function(e, n) {
1309        v.attrHooks[n] = v.extend(v.attrHooks[n], {
1310            get: function(e) {
1311                var r = e.getAttribute(n, 2);
1312                return r === null ? t : r
1313            }
1314        })
1315    }), v.support.style || (v.attrHooks.style = {
1316        get: function(e) {
1317            return e.style.cssText.toLowerCase() || t
1318        },
1319        set: function(e, t) {
1320            return e.style.cssText = t + ""
1321        }
1322    }), v.support.optSelected || (v.propHooks.selected = v.extend(v.propHooks.selected, {
1323        get: function(e) {
1324            var t = e.parentNode;
1325            return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
1326        }
1327    })), v.support.enctype || (v.propFix.enctype = "encoding"), v.support.checkOn || v.each(["radio", "checkbox"], function() {
1328        v.valHooks[this] = {
1329            get: function(e) {
1330                return e.getAttribute("value") === null ? "on" : e.value
1331            }
1332        }
1333    }), v.each(["radio", "checkbox"], function() {
1334        v.valHooks[this] = v.extend(v.valHooks[this], {
1335            set: function(e, t) {
1336                if (v.isArray(t)) return e.checked = v.inArray(v(e).val(), t) >= 0
1337            }
1338        })
1339    });
1340    var $ = /^(?:textarea|input|select)$/i,
1341        J = /^([^\.]*|)(?:\.(.+)|)$/,
1342        K = /(?:^|\s)hover(\.\S+|)\b/,
1343        Q = /^key/,
1344        G = /^(?:mouse|contextmenu)|click/,
1345        Y = /^(?:focusinfocus|focusoutblur)$/,
1346        Z = function(e) {
1347            return v.event.special.hover ? e : e.replace(K, "mouseenter$1 mouseleave$1")
1348        };
1349    v.event = {
1350            add: function(e, n, r, i, s) {
1351                var o, u, a, f, l, c, h, p, d, m, g;
1352                if (e.nodeType === 3 || e.nodeType === 8 || !n || !r || !(o = v._data(e))) return;
1353                r.handler && (d = r, r = d.handler, s = d.selector), r.guid || (r.guid = v.guid++), a = o.events, a || (o.events = a = {}), u = o.handle, u || (o.handle = u = function(e) {
1354                    return typeof v == "undefined" || !!e && v.event.triggered === e.type ? t : v.event.dispatch.apply(u.elem, arguments)
1355                }, u.elem = e), n = v.trim(Z(n)).split(" ");
1356                for (f = 0; f < n.length; f++) {
1357                    l = J.exec(n[f]) || [], c = l[1], h = (l[2] || "").split(".").sort(), g = v.event.special[c] || {}, c = (s ? g.delegateType : g.bindType) || c, g = v.event.special[c] || {}, p = v.extend({
1358                        type: c,
1359                        origType: l[1],
1360                        data: i,
1361                        handler: r,
1362                        guid: r.guid,
1363                        selector: s,
1364                        needsContext: s && v.expr.match.needsContext.test(s),
1365                        namespace: h.join(".")
1366                    }, d), m = a[c];
1367                    if (!m) {
1368                        m = a[c] = [], m.delegateCount = 0;
1369                        if (!g.setup || g.setup.call(e, i, h, u) === !1) e.addEventListener ? e.addEventListener(c, u, !1) : e.attachEvent && e.attachEvent("on" + c, u)
1370                    }
1371                    g.add && (g.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)), s ? m.splice(m.delegateCount++, 0, p) : m.push(p), v.event.global[c] = !0
1372                }
1373                e = null
1374            },
1375            global: {},
1376            remove: function(e, t, n, r, i) {
1377                var s, o, u, a, f, l, c, h, p, d, m, g = v.hasData(e) && v._data(e);
1378                if (!g || !(h = g.events)) return;
1379                t = v.trim(Z(t || "")).split(" ");
1380                for (s = 0; s < t.length; s++) {
1381                    o = J.exec(t[s]) || [], u = a = o[1], f = o[2];
1382                    if (!u) {
1383                        for (u in h) v.event.remove(e, u + t[s], n, r, !0);
1384                        continue
1385                    }
1386                    p = v.event.special[u] || {}, u = (r ? p.delegateType : p.bindType) || u, d = h[u] || [], l = d.length, f = f ? new RegExp("(^|\\.)" + f.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
1387                    for (c = 0; c < d.length; c++) m = d[c], (i || a === m.origType) && (!n || n.guid === m.guid) && (!f || f.test(m.namespace)) && (!r || r === m.selector || r === "**" && m.selector) && (d.splice(c--, 1), m.selector && d.delegateCount--, p.remove && p.remove.call(e, m));
1388                    d.length === 0 && l !== d.length && ((!p.teardown || p.teardown.call(e, f, g.handle) === !1) && v.removeEvent(e, u, g.handle), delete h[u])
1389                }
1390                v.isEmptyObject(h) && (delete g.handle, v.removeData(e, "events", !0))
1391            },
1392            customEvent: {
1393                getData: !0,
1394                setData: !0,
1395                changeData: !0
1396            },
1397            trigger: function(n, r, s, o) {
1398                if (!s || s.nodeType !== 3 && s.nodeType !== 8) {
1399                    var u, a, f, l, c, h, p, d, m, g, y = n.type || n,
1400                        b = [];
1401                    if (Y.test(y + v.event.triggered)) return;
1402                    y.indexOf("!") >= 0 && (y = y.slice(0, -1), a = !0), y.indexOf(".") >= 0 && (b = y.split("."), y = b.shift(), b.sort());
1403                    if ((!s || v.event.customEvent[y]) && !v.event.global[y]) return;
1404                    n = typeof n == "object" ? n[v.expando] ? n : new v.Event(y, n) : new v.Event(y), n.type = y, n.isTrigger = !0, n.exclusive = a, n.namespace = b.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, h = y.indexOf(":") < 0 ? "on" + y : "";
1405                    if (!s) {
1406                        u = v.cache;
1407                        for (f in u) u[f].events && u[f].events[y] && v.event.trigger(n, r, u[f].handle.elem, !0);
1408                        return
1409                    }
1410                    n.result = t, n.target || (n.target = s), r = r != null ? v.makeArray(r) : [], r.unshift(n), p = v.event.special[y] || {};
1411                    if (p.trigger && p.trigger.apply(s, r) === !1) return;
1412                    m = [
1413                        [s, p.bindType || y]
1414                    ];
1415                    if (!o && !p.noBubble && !v.isWindow(s)) {
1416                        g = p.delegateType || y, l = Y.test(g + y) ? s : s.parentNode;
1417                        for (c = s; l; l = l.parentNode) m.push([l, g]), c = l;
1418                        c === (s.ownerDocument || i) && m.push([c.defaultView || c.parentWindow || e, g])
1419                    }
1420                    for (f = 0; f < m.length && !n.isPropagationStopped(); f++) l = m[f][0], n.type = m[f][1], d = (v._data(l, "events") || {})[n.type] && v._data(l, "handle"), d && d.apply(l, r), d = h && l[h], d && v.acceptData(l) && d.apply && d.apply(l, r) === !1 && n.preventDefault();
1421                    return n.type = y, !o && !n.isDefaultPrevented() && (!p._default || p._default.apply(s.ownerDocument, r) === !1) && (y !== "click" || !v.nodeName(s, "a")) && v.acceptData(s) && h && s[y] && (y !== "focus" && y !== "blur" || n.target.offsetWidth !== 0) && !v.isWindow(s) && (c = s[h], c && (s[h] = null), v.event.triggered = y, s[y](), v.event.triggered = t, c && (s[h] = c)), n.result
1422                }
1423                return
1424            },
1425            dispatch: function(n) {
1426                n = v.event.fix(n || e.event);
1427                var r, i, s, o, u, a, f, c, h, p, d = (v._data(this, "events") || {})[n.type] || [],
1428                    m = d.delegateCount,
1429                    g = l.call(arguments),
1430                    y = !n.exclusive && !n.namespace,
1431                    b = v.event.special[n.type] || {},
1432                    w = [];
1433                g[0] = n, n.delegateTarget = this;
1434                if (b.preDispatch && b.preDispatch.call(this, n) === !1) return;
1435                if (m && (!n.button || n.type !== "click"))
1436                    for (s = n.target; s != this; s = s.parentNode || this)
1437                        if (s.disabled !== !0 || n.type !== "click") {
1438                            u = {}, f = [];
1439                            for (r = 0; r < m; r++) c = d[r], h = c.selector, u[h] === t && (u[h] = c.needsContext ? v(h, this).index(s) >= 0 : v.find(h, this, null, [s]).length), u[h] && f.push(c);
1440                            f.length && w.push({
1441                                elem: s,
1442                                matches: f
1443                            })
1444                        }
1445                d.length > m && w.push({
1446                    elem: this,
1447                    matches: d.slice(m)
1448                });
1449                for (r = 0; r < w.length && !n.isPropagationStopped(); r++) {
1450                    a = w[r], n.currentTarget = a.elem;
1451                    for (i = 0; i < a.matches.length && !n.isImmediatePropagationStopped(); i++) {
1452                        c = a.matches[i];
1453                        if (y || !n.namespace && !c.namespace || n.namespace_re && n.namespace_re.test(c.namespace)) n.data = c.data, n.handleObj = c, o = ((v.event.special[c.origType] || {}).handle || c.handler).apply(a.elem, g), o !== t && (n.result = o, o === !1 && (n.preventDefault(), n.stopPropagation()))
1454                    }
1455                }
1456                return b.postDispatch && b.postDispatch.call(this, n), n.result
1457            },
1458            props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
1459            fixHooks: {},
1460            keyHooks: {
1461                props: "char charCode key keyCode".split(" "),
1462                filter: function(e, t) {
1463                    return e.which == null && (e.which = t.charCode != null ? t.charCode : t.keyCode), e
1464                }
1465            },
1466            mouseHooks: {
1467                props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
1468                filter: function(e, n) {
1469                    var r, s, o, u = n.button,
1470                        a = n.fromElement;
1471                    return e.pageX == null && n.clientX != null && (r = e.target.ownerDocument || i, s = r.documentElement, o = r.body, e.pageX = n.clientX + (s && s.scrollLeft || o && o.scrollLeft || 0) - (s && s.clientLeft || o && o.clientLeft || 0), e.pageY = n.clientY + (s && s.scrollTop || o && o.scrollTop || 0) - (s && s.clientTop || o && o.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement : a), !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0), e
1472                }
1473            },
1474            fix: function(e) {
1475                if (e[v.expando]) return e;
1476                var t, n, r = e,
1477                    s = v.event.fixHooks[e.type] || {},
1478                    o = s.props ? this.props.concat(s.props) : this.props;
1479                e = v.Event(r);
1480                for (t = o.length; t;) n = o[--t], e[n] = r[n];
1481                return e.target || (e.target = r.srcElement || i), e.target.nodeType === 3 && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, r) : e
1482            },
1483            special: {
1484                load: {
1485                    noBubble: !0
1486                },
1487                focus: {
1488                    delegateType: "focusin"
1489                },
1490                blur: {
1491                    delegateType: "focusout"
1492                },
1493                beforeunload: {
1494                    setup: function(e, t, n) {
1495                        v.isWindow(this) && (this.onbeforeunload = n)
1496                    },
1497                    teardown: function(e, t) {
1498                        this.onbeforeunload === t && (this.onbeforeunload = null)
1499                    }
1500                }
1501            },
1502            simulate: function(e, t, n, r) {
1503                var i = v.extend(new v.Event, n, {
1504                    type: e,
1505                    isSimulated: !0,
1506                    originalEvent: {}
1507                });
1508                r ? v.event.trigger(i, null, t) : v.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault()
1509            }
1510        }, v.event.handle = v.event.dispatch, v.removeEvent = i.removeEventListener ? function(e, t, n) {
1511            e.removeEventListener && e.removeEventListener(t, n, !1)
1512        } : function(e, t, n) {
1513            var r = "on" + t;
1514            e.detachEvent && (typeof e[r] == "undefined" && (e[r] = null), e.detachEvent(r, n))
1515        }, v.Event = function(e, t) {
1516            if (!(this instanceof v.Event)) return new v.Event(e, t);
1517            e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? tt : et) : this.type = e, t && v.extend(this, t), this.timeStamp = e && e.timeStamp || v.now(), this[v.expando] = !0
1518        }, v.Event.prototype = {
1519            preventDefault: function() {
1520                this.isDefaultPrevented = tt;
1521                var e = this.originalEvent;
1522                if (!e) return;
1523                e.preventDefault ? e.preventDefault() : e.returnValue = !1
1524            },
1525            stopPropagation: function() {
1526                this.isPropagationStopped = tt;
1527                var e = this.originalEvent;
1528                if (!e) return;
1529                e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0
1530            },
1531            stopImmediatePropagation: function() {
1532                this.isImmediatePropagationStopped = tt, this.stopPropagation()
1533            },
1534            isDefaultPrevented: et,
1535            isPropagationStopped: et,
1536            isImmediatePropagationStopped: et
1537        }, v.each({
1538            mouseenter: "mouseover",
1539            mouseleave: "mouseout"
1540        }, function(e, t) {
1541            v.event.special[e] = {
1542                delegateType: t,
1543                bindType: t,
1544                handle: function(e) {
1545                    var n, r = this,
1546                        i = e.relatedTarget,
1547                        s = e.handleObj,
1548                        o = s.selector;
1549                    if (!i || i !== r && !v.contains(r, i)) e.type = s.origType, n = s.handler.apply(this, arguments), e.type = t;
1550                    return n
1551                }
1552            }
1553        }), v.support.submitBubbles || (v.event.special.submit = {
1554            setup: function() {
1555                if (v.nodeName(this, "form")) return !1;
1556                v.event.add(this, "click._submit keypress._submit", function(e) {
1557                    var n = e.target,
1558                        r = v.nodeName(n, "input") || v.nodeName(n, "button") ? n.form : t;
1559                    r && !v._data(r, "_submit_attached") && (v.event.add(r, "submit._submit", function(e) {
1560                        e._submit_bubble = !0
1561                    }), v._data(r, "_submit_attached", !0))
1562                })
1563            },
1564            postDispatch: function(e) {
1565                e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && v.event.simulate("submit", this.parentNode, e, !0))
1566            },
1567            teardown: function() {
1568                if (v.nodeName(this, "form")) return !1;
1569                v.event.remove(this, "._submit")
1570            }
1571        }), v.support.changeBubbles || (v.event.special.change = {
1572            setup: function() {
1573                if ($.test(this.nodeName)) {
1574                    if (this.type === "checkbox" || this.type === "radio") v.event.add(this, "propertychange._change", function(e) {
1575                        e.originalEvent.propertyName === "checked" && (this._just_changed = !0)
1576                    }), v.event.add(this, "click._change", function(e) {
1577                        this._just_changed && !e.isTrigger && (this._just_changed = !1), v.event.simulate("change", this, e, !0)
1578                    });
1579                    return !1
1580                }
1581                v.event.add(this, "beforeactivate._change", function(e) {
1582                    var t = e.target;
1583                    $.test(t.nodeName) && !v._data(t, "_change_attached") && (v.event.add(t, "change._change", function(e) {
1584                        this.parentNode && !e.isSimulated && !e.isTrigger && v.event.simulate("change", this.parentNode, e, !0)
1585                    }), v._data(t, "_change_attached", !0))
1586                })
1587            },
1588            handle: function(e) {
1589                var t = e.target;
1590                if (this !== t || e.isSimulated || e.isTrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleObj.handler.apply(this, arguments)
1591            },
1592            teardown: function() {
1593                return v.event.remove(this, "._change"), !$.test(this.nodeName)
1594            }
1595        }), v.support.focusinBubbles || v.each({
1596            focus: "focusin",
1597            blur: "focusout"
1598        }, function(e, t) {
1599            var n = 0,
1600                r = function(e) {
1601                    v.event.simulate(t, e.target, v.event.fix(e), !0)
1602                };
1603            v.event.special[t] = {
1604                setup: function() {
1605                    n++ === 0 && i.addEventListener(e, r, !0)
1606                },
1607                teardown: function() {
1608                    --n === 0 && i.removeEventListener(e, r, !0)
1609                }
1610            }
1611        }), v.fn.extend({
1612            on: function(e, n, r, i, s) {
1613                var o, u;
1614                if (typeof e == "object") {
1615                    typeof n != "string" && (r = r || n, n = t);
1616                    for (u in e) this.on(u, n, r, e[u], s);
1617                    return this
1618                }
1619                r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t));
1620                if (i === !1) i = et;
1621                else if (!i) return this;
1622                return s === 1 && (o = i, i = function(e) {
1623                    return v().off(e), o.apply(this, arguments)
1624                }, i.guid = o.guid || (o.guid = v.guid++)), this.each(function() {
1625                    v.event.add(this, e, i, r, n)
1626                })
1627            },
1628            one: function(e, t, n, r) {
1629                return this.on(e, t, n, r, 1)
1630            },
1631            off: function(e, n, r) {
1632                var i, s;
1633                if (e && e.preventDefault && e.handleObj) return i = e.handleObj, v(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
1634                if (typeof e == "object") {
1635                    for (s in e) this.off(s, n, e[s]);
1636                    return this
1637                }
1638                if (n === !1 || typeof n == "function") r = n, n = t;
1639                return r === !1 && (r = et), this.each(function() {
1640                    v.event.remove(this, e, r, n)
1641                })
1642            },
1643            bind: function(e, t, n) {
1644                return this.on(e, null, t, n)
1645            },
1646            unbind: function(e, t) {
1647                return this.off(e, null, t)
1648            },
1649            live: function(e, t, n) {
1650                return v(this.context).on(e, this.selector, t, n), this
1651            },
1652            die: function(e, t) {
1653                return v(this.context).off(e, this.selector || "**", t), this
1654            },
1655            delegate: function(e, t, n, r) {
1656                return this.on(t, e, n, r)
1657            },
1658            undelegate: function(e, t, n) {
1659                return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n)
1660            },
1661            trigger: function(e, t) {
1662                return this.each(function() {
1663                    v.event.trigger(e, t, this)
1664                })
1665            },
1666            triggerHandler: function(e, t) {
1667                if (this[0]) return v.event.trigger(e, t, this[0], !0)
1668            },
1669            toggle: function(e) {
1670                var t = arguments,
1671                    n = e.guid || v.guid++,
1672                    r = 0,
1673                    i = function(n) {
1674                        var i = (v._data(this, "lastToggle" + e.guid) || 0) % r;
1675                        return v._data(this, "lastToggle" + e.guid, i + 1), n.preventDefault(), t[i].apply(this, arguments) || !1
1676                    };
1677                i.guid = n;
1678                while (r < t.length) t[r++].guid = n;
1679                return this.click(i)
1680            },
1681            hover: function(e, t) {
1682                return this.mouseenter(e).mouseleave(t || e)
1683            }
1684        }), v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
1685            v.fn[t] = function(e, n) {
1686                return n == null && (n = e, e = null), arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
1687            }, Q.test(t) && (v.event.fixHooks[t] = v.event.keyHooks), G.test(t) && (v.event.fixHooks[t] = v.event.mouseHooks)
1688        }),
1689        function(e, t) {
1690            function nt(e, t, n, r) {
1691                n = n || [], t = t || g;
1692                var i, s, a, f, l = t.nodeType;
1693                if (!e || typeof e != "string") return n;
1694                if (l !== 1 && l !== 9) return [];
1695                a = o(t);
1696                if (!a && !r)
1697                    if (i = R.exec(e))
1698                        if (f = i[1]) {
1699                            if (l === 9) {
1700                                s = t.getElementById(f);
1701                                if (!s || !s.parentNode) return n;
1702                                if (s.id === f) return n.push(s), n
1703                            } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(f)) && u(t, s) && s.id === f) return n.push(s), n
1704                        } else {
1705                            if (i[2]) return S.apply(n, x.call(t.getElementsByTagName(e), 0)), n;
1706                            if ((f = i[3]) && Z && t.getElementsByClassName) return S.apply(n, x.call(t.getElementsByClassName(f), 0)), n
1707                        }
1708                return vt(e.replace(j, "$1"), t, n, r, a)
1709            }
1710
1711            function rt(e) {
1712                return function(t) {
1713                    var n = t.nodeName.toLowerCase();
1714                    return n === "input" && t.type === e
1715                }
1716            }
1717
1718            function it(e) {
1719                return function(t) {
1720                    var n = t.nodeName.toLowerCase();
1721                    return (n === "input" || n === "button") && t.type === e
1722                }
1723            }
1724
1725            function st(e) {
1726                return N(function(t) {
1727                    return t = +t, N(function(n, r) {
1728                        var i, s = e([], n.length, t),
1729                            o = s.length;
1730                        while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i]))
1731                    })
1732                })
1733            }
1734
1735            function ot(e, t, n) {
1736                if (e === t) return n;
1737                var r = e.nextSibling;
1738                while (r) {
1739                    if (r === t) return -1;
1740                    r = r.nextSibling
1741                }
1742                return 1
1743            }
1744
1745            function ut(e, t) {
1746                var n, r, s, o, u, a, f, l = L[d][e + " "];
1747                if (l) return t ? 0 : l.slice(0);
1748                u = e, a = [], f = i.preFilter;
1749                while (u) {
1750                    if (!n || (r = F.exec(u))) r && (u = u.slice(r[0].length) || u), a.push(s = []);
1751                    n = !1;
1752                    if (r = I.exec(u)) s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = r[0].replace(j, " ");
1753                    for (o in i.filter)(r = J[o].exec(u)) && (!f[o] || (r = f[o](r))) && (s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = o, n.matches = r);
1754                    if (!n) break
1755                }
1756                return t ? u.length : u ? nt.error(e) : L(e, a).slice(0)
1757            }
1758
1759            function at(e, t, r) {
1760                var i = t.dir,
1761                    s = r && t.dir === "parentNode",
1762                    o = w++;
1763                return t.first ? function(t, n, r) {
1764                    while (t = t[i])
1765                        if (s || t.nodeType === 1) return e(t, n, r)
1766                } : function(t, r, u) {
1767                    if (!u) {
1768                        var a, f = b + " " + o + " ",
1769                            l = f + n;
1770                        while (t = t[i])
1771                            if (s || t.nodeType === 1) {
1772                                if ((a = t[d]) === l) return t.sizset;
1773                                if (typeof a == "string" && a.indexOf(f) === 0) {
1774                                    if (t.sizset) return t
1775                                } else {
1776                                    t[d] = l;
1777                                    if (e(t, r, u)) return t.sizset = !0, t;
1778                                    t.sizset = !1
1779                                }
1780                            }
1781                    } else
1782                        while (t = t[i])
1783                            if (s || t.nodeType === 1)
1784                                if (e(t, r, u)) return t
1785                }
1786            }
1787
1788            function ft(e) {
1789                return e.length > 1 ? function(t, n, r) {
1790                    var i = e.length;
1791                    while (i--)
1792                        if (!e[i](t, n, r)) return !1;
1793                    return !0
1794                } : e[0]
1795            }
1796
1797            function lt(e, t, n, r, i) {
1798                var s, o = [],
1799                    u = 0,
1800                    a = e.length,
1801                    f = t != null;
1802                for (; u < a; u++)
1803                    if (s = e[u])
1804                        if (!n || n(s, r, i)) o.push(s), f && t.push(u);
1805                return o
1806            }
1807
1808            function ct(e, t, n, r, i, s) {
1809                return r && !r[d] && (r = ct(r)), i && !i[d] && (i = ct(i, s)), N(function(s, o, u, a) {
1810                    var f, l, c, h = [],
1811                        p = [],
1812                        d = o.length,
1813                        v = s || dt(t || "*", u.nodeType ? [u] : u, []),
1814                        m = e && (s || !t) ? lt(v, h, e, u, a) : v,
1815                        g = n ? i || (s ? e : d || r) ? [] : o : m;
1816                    n && n(m, g, u, a);
1817                    if (r) {
1818                        f = lt(g, p), r(f, [], u, a), l = f.length;
1819                        while (l--)
1820                            if (c = f[l]) g[p[l]] = !(m[p[l]] = c)
1821                    }
1822                    if (s) {
1823                        if (i || e) {
1824                            if (i) {
1825                                f = [], l = g.length;
1826                                while (l--)(c = g[l]) && f.push(m[l] = c);
1827                                i(null, g = [], f, a)
1828                            }
1829                            l = g.length;
1830                            while (l--)(c = g[l]) && (f = i ? T.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c))
1831                        }
1832                    } else g = lt(g === o ? g.splice(d, g.length) : g), i ? i(null, o, g, a) : S.apply(o, g)
1833                })
1834            }
1835
1836            function ht(e) {
1837                var t, n, r, s = e.length,
1838                    o = i.relative[e[0].type],
1839                    u = o || i.relative[" "],
1840                    a = o ? 1 : 0,
1841                    f = at(function(e) {
1842                        return e === t
1843                    }, u, !0),
1844                    l = at(function(e) {
1845                        return T.call(t, e) > -1
1846                    }, u, !0),
1847                    h = [function(e, n, r) {
1848                        return !o && (r || n !== c) || ((t = n).nodeType ? f(e, n, r) : l(e, n, r))
1849                    }];
1850                for (; a < s; a++)
1851                    if (n = i.relative[e[a].type]) h = [at(ft(h), n)];
1852                    else {
1853                        n = i.filter[e[a].type].apply(null, e[a].matches);
1854                        if (n[d]) {
1855                            r = ++a;
1856                            for (; r < s; r++)
1857                                if (i.relative[e[r].type]) break;
1858                            return ct(a > 1 && ft(h), a > 1 && e.slice(0, a - 1).join("").replace(j, "$1"), n, a < r && ht(e.slice(a, r)), r < s && ht(e = e.slice(r)), r < s && e.join(""))
1859                        }
1860                        h.push(n)
1861                    }
1862                return ft(h)
1863            }
1864
1865            function pt(e, t) {
1866                var r = t.length > 0,
1867                    s = e.length > 0,
1868                    o = function(u, a, f, l, h) {
1869                        var p, d, v, m = [],
1870                            y = 0,
1871                            w = "0",
1872                            x = u && [],
1873                            T = h != null,
1874                            N = c,
1875                            C = u || s && i.find.TAG("*", h && a.parentNode || a),
1876                            k = b += N == null ? 1 : Math.E;
1877                        T && (c = a !== g && a, n = o.el);
1878                        for (;
1879                            (p = C[w]) != null; w++) {
1880                            if (s && p) {
1881                                for (d = 0; v = e[d]; d++)
1882                                    if (v(p, a, f)) {
1883                                        l.push(p);
1884                                        break
1885                                    }
1886                                T && (b = k, n = ++o.el)
1887                            }
1888                            r && ((p = !v && p) && y--, u && x.push(p))
1889                        }
1890                        y += w;
1891                        if (r && w !== y) {
1892                            for (d = 0; v = t[d]; d++) v(x, m, a, f);
1893                            if (u) {
1894                                if (y > 0)
1895                                    while (w--) !x[w] && !m[w] && (m[w] = E.call(l));
1896                                m = lt(m)
1897                            }
1898                            S.apply(l, m), T && !u && m.length > 0 && y + t.length > 1 && nt.uniqueSort(l)
1899                        }
1900                        return T && (b = k, c = N), x
1901                    };
1902                return o.el = 0, r ? N(o) : o
1903            }
1904
1905            function dt(e, t, n) {
1906                var r = 0,
1907                    i = t.length;
1908                for (; r < i; r++) nt(e, t[r], n);
1909                return n
1910            }
1911
1912            function vt(e, t, n, r, s) {
1913                var o, u, f, l, c, h = ut(e),
1914                    p = h.length;
1915                if (!r && h.length === 1) {
1916                    u = h[0] = h[0].slice(0);
1917                    if (u.length > 2 && (f = u[0]).type === "ID" && t.nodeType === 9 && !s && i.relative[u[1].type]) {
1918                        t = i.find.ID(f.matches[0].replace($, ""), t, s)[0];
1919                        if (!t) return n;
1920                        e = e.slice(u.shift().length)
1921                    }
1922                    for (o = J.POS.test(e) ? -1 : u.length - 1; o >= 0; o--) {
1923                        f = u[o];
1924                        if (i.relative[l = f.type]) break;
1925                        if (c = i.find[l])
1926                            if (r = c(f.matches[0].replace($, ""), z.test(u[0].type) && t.parentNode || t, s)) {
1927                                u.splice(o, 1), e = r.length && u.join("");
1928                                if (!e) return S.apply(n, x.call(r, 0)), n;
1929                                break
1930                            }
1931                    }
1932                }
1933                return a(e, h)(r, t, s, n, z.test(e)), n
1934            }
1935
1936            function mt() {}
1937            var n, r, i, s, o, u, a, f, l, c, h = !0,
1938                p = "undefined",
1939                d = ("sizcache" + Math.random()).replace(".", ""),
1940                m = String,
1941                g = e.document,
1942                y = g.documentElement,
1943                b = 0,
1944                w = 0,
1945                E = [].pop,
1946                S = [].push,
1947                x = [].slice,
1948                T = [].indexOf || function(e) {
1949                    var t = 0,
1950                        n = this.length;
1951                    for (; t < n; t++)
1952                        if (this[t] === e) return t;
1953                    return -1
1954                },
1955                N = function(e, t) {
1956                    return e[d] = t == null || t, e
1957                },
1958                C = function() {
1959                    var e = {},
1960                        t = [];
1961                    return N(function(n, r) {
1962                        return t.push(n) > i.cacheLength && delete e[t.shift()], e[n + " "] = r
1963                    }, e)
1964                },
1965                k = C(),
1966                L = C(),
1967                A = C(),
1968                O = "[\\x20\\t\\r\\n\\f]",
1969                M = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",
1970                _ = M.replace("w", "w#"),
1971                D = "([*^$|!~]?=)",
1972                P = "\\[" + O + "*(" + M + ")" + O + "*(?:" + D + O + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + _ + ")|)|)" + O + "*\\]",
1973                H = ":(" + M + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + P + ")|[^:]|\\\\.)*|.*))\\)|)",
1974                B = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + O + "*((?:-\\d)?\\d*)" + O + "*\\)|)(?=[^-]|$)",
1975                j = new RegExp("^" + O + "+|((?:^|[^\\\\])(?:\\\\.)*)" + O + "+$", "g"),
1976                F = new RegExp("^" + O + "*," + O + "*"),
1977                I = new RegExp("^" + O + "*([\\x20\\t\\r\\n\\f>+~])" + O + "*"),
1978                q = new RegExp(H),
1979                R = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
1980                U = /^:not/,
1981                z = /[\x20\t\r\n\f]*[+~]/,
1982                W = /:not\($/,
1983                X = /h\d/i,
1984                V = /input|select|textarea|button/i,
1985                $ = /\\(?!\\)/g,
1986                J = {
1987                    ID: new RegExp("^#(" + M + ")"),
1988                    CLASS: new RegExp("^\\.(" + M + ")"),
1989                    NAME: new RegExp("^\\[name=['\"]?(" + M + ")['\"]?\\]"),
1990                    TAG: new RegExp("^(" + M.replace("w", "w*") + ")"),
1991                    ATTR: new RegExp("^" + P),
1992                    PSEUDO: new RegExp("^" + H),
1993                    POS: new RegExp(B, "i"),
1994                    CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + O + "*(even|odd|(([+-]|)(\\d*)n|)" + O + "*(?:([+-]|)" + O + "*(\\d+)|))" + O + "*\\)|)", "i"),
1995                    needsContext: new RegExp("^" + O + "*[>+~]|" + B, "i")
1996                },
1997                K = function(e) {
1998                    var t = g.createElement("div");
1999                    try {
2000                        return e(t)
2001                    } catch (n) {
2002                        return !1
2003                    } finally {
2004                        t = null
2005                    }
2006                },
2007                Q = K(function(e) {
2008                    return e.appendChild(g.createComment("")), !e.getElementsByTagName("*").length
2009                }),
2010                G = K(function(e) {
2011                    return e.innerHTML = "<a href='#'></a>", e.firstChild && typeof e.firstChild.getAttribute !== p && e.firstChild.getAttribute("href") === "#"
2012                }),
2013                Y = K(function(e) {
2014                    e.innerHTML = "<select></select>";
2015                    var t = typeof e.lastChild.getAttribute("multiple");
2016                    return t !== "boolean" && t !== "string"
2017                }),
2018                Z = K(function(e) {
2019                    return e.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !e.getElementsByClassName || !e.getElementsByClassName("e").length ? !1 : (e.lastChild.className = "e", e.getElementsByClassName("e").length === 2)
2020                }),
2021                et = K(function(e) {
2022                    e.id = d + 0, e.innerHTML = "<a name='" + d + "'></a><div name='" + d + "'></div>", y.insertBefore(e, y.firstChild);
2023                    var t = g.getElementsByName && g.getElementsByName(d).length === 2 + g.getElementsByName(d + 0).length;
2024                    return r = !g.getElementById(d), y.removeChild(e), t
2025                });
2026            try {
2027                x.call(y.childNodes, 0)[0].nodeType
2028            } catch (tt) {
2029                x = function(e) {
2030                    var t, n = [];
2031                    for (; t = this[e]; e++) n.push(t);
2032                    return n
2033                }
2034            }
2035            nt.matches = function(e, t) {
2036                return nt(e, null, null, t)
2037            }, nt.matchesSelector = function(e, t) {
2038                return nt(t, null, null, [e]).length > 0
2039            }, s = nt.getText = function(e) {
2040                var t, n = "",
2041                    r = 0,
2042                    i = e.nodeType;
2043                if (i) {
2044                    if (i === 1 || i === 9 || i === 11) {
2045                        if (typeof e.textContent == "string") return e.textContent;
2046                        for (e = e.firstChild; e; e = e.nextSibling) n += s(e)
2047                    } else if (i === 3 || i === 4) return e.nodeValue
2048                } else
2049                    for (; t = e[r]; r++) n += s(t);
2050                return n
2051            }, o = nt.isXML = function(e) {
2052                var t = e && (e.ownerDocument || e).documentElement;
2053                return t ? t.nodeName !== "HTML" : !1
2054            }, u = nt.contains = y.contains ? function(e, t) {
2055                var n = e.nodeType === 9 ? e.documentElement : e,
2056                    r = t && t.parentNode;
2057                return e === r || !!(r && r.nodeType === 1 && n.contains && n.contains(r))
2058            } : y.compareDocumentPosition ? function(e, t) {
2059                return t && !!(e.compareDocumentPosition(t) & 16)
2060            } : function(e, t) {
2061                while (t = t.parentNode)
2062                    if (t === e) return !0;
2063                return !1
2064            }, nt.attr = function(e, t) {
2065                var n, r = o(e);
2066                return r || (t = t.toLowerCase()), (n = i.attrHandle[t]) ? n(e) : r || Y ? e.getAttribute(t) : (n = e.getAttributeNode(t), n ? typeof e[t] == "boolean" ? e[t] ? t : null : n.specified ? n.value : null : null)
2067            }, i = nt.selectors = {
2068                cacheLength: 50,
2069                createPseudo: N,
2070                match: J,
2071                attrHandle: G ? {} : {
2072                    href: function(e) {
2073                        return e.getAttribute("href", 2)
2074                    },
2075                    type: function(e) {
2076                        return e.getAttribute("type")
2077                    }
2078                },
2079                find: {
2080                    ID: r ? function(e, t, n) {
2081                        if (typeof t.getElementById !== p && !n) {
2082                            var r = t.getElementById(e);
2083                            return r && r.parentNode ? [r] : []
2084                        }
2085                    } : function(e, n, r) {
2086                        if (typeof n.getElementById !== p && !r) {
2087                            var i = n.getElementById(e);
2088                            return i ? i.id === e || typeof i.getAttributeNode !== p && i.getAttributeNode("id").value === e ? [i] : t : []
2089                        }
2090                    },
2091                    TAG: Q ? function(e, t) {
2092                        if (typeof t.getElementsByTagName !== p) return t.getElementsByTagName(e)
2093                    } : function(e, t) {
2094                        var n = t.getElementsByTagName(e);
2095                        if (e === "*") {
2096                            var r, i = [],
2097                                s = 0;
2098                            for (; r = n[s]; s++) r.nodeType === 1 && i.push(r);
2099                            return i
2100                        }
2101                        return n
2102                    },
2103                    NAME: et && function(e, t) {
2104                        if (typeof t.getElementsByName !== p) return t.getElementsByName(name)
2105                    },
2106                    CLASS: Z && function(e, t, n) {
2107                        if (typeof t.getElementsByClassName !== p && !n) return t.getElementsByClassName(e)
2108                    }
2109                },
2110                relative: {
2111                    ">": {
2112                        dir: "parentNode",
2113                        first: !0
2114                    },
2115                    " ": {
2116                        dir: "parentNode"
2117                    },
2118                    "+": {
2119                        dir: "previousSibling",
2120                        first: !0
2121                    },
2122                    "~": {
2123                        dir: "previousSibling"
2124                    }
2125                },
2126                preFilter: {
2127                    ATTR: function(e) {
2128                        return e[1] = e[1].replace($, ""), e[3] = (e[4] || e[5] || "").replace($, ""), e[2] === "~=" && (e[3] = " " + e[3] + " "), e.slice(0, 4)
2129                    },
2130                    CHILD: function(e) {
2131                        return e[1] = e[1].toLowerCase(), e[1] === "nth" ? (e[2] || nt.error(e[0]), e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * (e[2] === "even" || e[2] === "odd")), e[4] = +(e[6] + e[7] || e[2] === "odd")) : e[2] && nt.error(e[0]), e
2132                    },
2133                    PSEUDO: function(e) {
2134                        var t, n;
2135                        if (J.CHILD.test(e[0])) return null;
2136                        if (e[3]) e[2] = e[3];
2137                        else if (t = e[4]) q.test(t) && (n = ut(t, !0)) && (n = t.indexOf(")", t.length - n) - t.length) && (t = t.slice(0, n), e[0] = e[0].slice(0, n)), e[2] = t;
2138                        return e.slice(0, 3)
2139                    }
2140                },
2141                filter: {
2142                    ID: r ? function(e) {
2143                        return e = e.replace($, ""),
2144                            function(t) {
2145                                return t.getAttribute("id") === e
2146                            }
2147                    } : function(e) {
2148                        return e = e.replace($, ""),
2149                            function(t) {
2150                                var n = typeof t.getAttributeNode !== p && t.getAttributeNode("id");
2151                                return n && n.value === e
2152                            }
2153                    },
2154                    TAG: function(e) {
2155                        return e === "*" ? function() {
2156                            return !0
2157                        } : (e = e.replace($, "").toLowerCase(), function(t) {
2158                            return t.nodeName && t.nodeName.toLowerCase() === e
2159                        })
2160                    },
2161                    CLASS: function(e) {
2162                        var t = k[d][e + " "];
2163                        return t || (t = new RegExp("(^|" + O + ")" + e + "(" + O + "|$)")) && k(e, function(e) {
2164                            return t.test(e.className || typeof e.getAttribute !== p && e.getAttribute("class") || "")
2165                        })
2166                    },
2167                    ATTR: function(e, t, n) {
2168                        return function(r, i) {
2169                            var s = nt.attr(r, e);
2170                            return s == null ? t === "!=" : t ? (s += "", t === "=" ? s === n : t === "!=" ? s !== n : t === "^=" ? n && s.indexOf(n) === 0 : t === "*=" ? n && s.indexOf(n) > -1 : t === "$=" ? n && s.substr(s.length - n.length) === n : t === "~=" ? (" " + s + " ").indexOf(n) > -1 : t === "|=" ? s === n || s.substr(0, n.length + 1) === n + "-" : !1) : !0
2171                        }
2172                    },
2173                    CHILD: function(e, t, n, r) {
2174                        return e === "nth" ? function(e) {
2175                            var t, i, s = e.parentNode;
2176                            if (n === 1 && r === 0) return !0;
2177                            if (s) {
2178                                i = 0;
2179                                for (t = s.firstChild; t; t = t.nextSibling)
2180                                    if (t.nodeType === 1) {
2181                                        i++;
2182                                        if (e === t) break
2183                                    }
2184                            }
2185                            return i -= r, i === n || i % n === 0 && i / n >= 0
2186                        } : function(t) {
2187                            var n = t;
2188                            switch (e) {
2189                                case "only":
2190                                case "first":
2191                                    while (n = n.previousSibling)
2192                                        if (n.nodeType === 1) return !1;
2193                                    if (e === "first") return !0;
2194                                    n = t;
2195                                case "last":
2196                                    while (n = n.nextSibling)
2197                                        if (n.nodeType === 1) return !1;
2198                                    return !0
2199                            }
2200                        }
2201                    },
2202                    PSEUDO: function(e, t) {
2203                        var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || nt.error("unsupported pseudo: " + e);
2204                        return r[d] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? N(function(e, n) {
2205                            var i, s = r(e, t),
2206                                o = s.length;
2207                            while (o--) i = T.call(e, s[o]), e[i] = !(n[i] = s[o])
2208                        }) : function(e) {
2209                            return r(e, 0, n)
2210                        }) : r
2211                    }
2212                },
2213                pseudos: {
2214                    not: N(function(e) {
2215                        var t = [],
2216                            n = [],
2217                            r = a(e.replace(j, "$1"));
2218                        return r[d] ? N(function(e, t, n, i) {
2219                            var s, o = r(e, null, i, []),
2220                                u = e.length;
2221                            while (u--)
2222                                if (s = o[u]) e[u] = !(t[u] = s)
2223                        }) : function(e, i, s) {
2224                            return t[0] = e, r(t, null, s, n), !n.pop()
2225                        }
2226                    }),
2227                    has: N(function(e) {
2228                        return function(t) {
2229                            return nt(e, t).length > 0
2230                        }
2231                    }),
2232                    contains: N(function(e) {
2233                        return function(t) {
2234                            return (t.textContent || t.innerText || s(t)).indexOf(e) > -1
2235                        }
2236                    }),
2237                    enabled: function(e) {
2238                        return e.disabled === !1
2239                    },
2240                    disabled: function(e) {
2241                        return e.disabled === !0
2242                    },
2243                    checked: function(e) {
2244                        var t = e.nodeName.toLowerCase();
2245                        return t === "input" && !!e.checked || t === "option" && !!e.selected
2246                    },
2247                    selected: function(e) {
2248                        return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
2249                    },
2250                    parent: function(e) {
2251                        return !i.pseudos.empty(e)
2252                    },
2253                    empty: function(e) {
2254                        var t;
2255                        e = e.firstChild;
2256                        while (e) {
2257                            if (e.nodeName > "@" || (t = e.nodeType) === 3 || t === 4) return !1;
2258                            e = e.nextSibling
2259                        }
2260                        return !0
2261                    },
2262                    header: function(e) {
2263                        return X.test(e.nodeName)
2264                    },
2265                    text: function(e) {
2266                        var t, n;
2267                        return e.nodeName.toLowerCase() === "input" && (t = e.type) === "text" && ((n = e.getAttribute("type")) == null || n.toLowerCase() === t)
2268                    },
2269                    radio: rt("radio"),
2270                    checkbox: rt("checkbox"),
2271                    file: rt("file"),
2272                    password: rt("password"),
2273                    image: rt("image"),
2274                    submit: it("submit"),
2275                    reset: it("reset"),
2276                    button: function(e) {
2277                        var t = e.nodeName.toLowerCase();
2278                        return t === "input" && e.type === "button" || t === "button"
2279                    },
2280                    input: function(e) {
2281                        return V.test(e.nodeName)
2282                    },
2283                    focus: function(e) {
2284                        var t = e.ownerDocument;
2285                        return e === t.activeElement && (!t.hasFocus || t.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
2286                    },
2287                    active: function(e) {
2288                        return e === e.ownerDocument.activeElement
2289                    },
2290                    first: st(function() {
2291                        return [0]
2292                    }),
2293                    last: st(function(e, t) {
2294                        return [t - 1]
2295                    }),
2296                    eq: st(function(e, t, n) {
2297                        return [n < 0 ? n + t : n]
2298                    }),
2299                    even: st(function(e, t) {
2300                        for (var n = 0; n < t; n += 2) e.push(n);
2301                        return e
2302                    }),
2303                    odd: st(function(e, t) {
2304                        for (var n = 1; n < t; n += 2) e.push(n);
2305                        return e
2306                    }),
2307                    lt: st(function(e, t, n) {
2308                        for (var r = n < 0 ? n + t : n; --r >= 0;) e.push(r);
2309                        return e
2310                    }),
2311                    gt: st(function(e, t, n) {
2312                        for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
2313                        return e
2314                    })
2315                }
2316            }, f = y.compareDocumentPosition ? function(e, t) {
2317                return e === t ? (l = !0, 0) : (!e.compareDocumentPosition || !t.compareDocumentPosition ? e.compareDocumentPosition : e.compareDocumentPosition(t) & 4) ? -1 : 1
2318            } : function(e, t) {
2319                if (e === t) return l = !0, 0;
2320                if (e.sourceIndex && t.sourceIndex) return e.sourceIndex - t.sourceIndex;
2321                var n, r, i = [],
2322                    s = [],
2323                    o = e.parentNode,
2324                    u = t.parentNode,
2325                    a = o;
2326                if (o === u) return ot(e, t);
2327                if (!o) return -1;
2328                if (!u) return 1;
2329                while (a) i.unshift(a), a = a.parentNode;
2330                a = u;
2331                while (a) s.unshift(a), a = a.parentNode;
2332                n = i.length, r = s.length;
2333                for (var f = 0; f < n && f < r; f++)
2334                    if (i[f] !== s[f]) return ot(i[f], s[f]);
2335                return f === n ? ot(e, s[f], -1) : ot(i[f], t, 1)
2336            }, [0, 0].sort(f), h = !l, nt.uniqueSort = function(e) {
2337                var t, n = [],
2338                    r = 1,
2339                    i = 0;
2340                l = h, e.sort(f);
2341                if (l) {
2342                    for (; t = e[r]; r++) t === e[r - 1] && (i = n.push(r));
2343                    while (i--) e.splice(n[i], 1)
2344                }
2345                return e
2346            }, nt.error = function(e) {
2347                throw new Error("Syntax error, unrecognized expression: " + e)
2348            }, a = nt.compile = function(e, t) {
2349                var n, r = [],
2350                    i = [],
2351                    s = A[d][e + " "];
2352                if (!s) {
2353                    t || (t = ut(e)), n = t.length;
2354                    while (n--) s = ht(t[n]), s[d] ? r.push(s) : i.push(s);
2355                    s = A(e, pt(i, r))
2356                }
2357                return s
2358            }, g.querySelectorAll && function() {
2359                var e, t = vt,
2360                    n = /'|\\/g,
2361                    r = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
2362                    i = [":focus"],
2363                    s = [":active"],
2364                    u = y.matchesSelector || y.mozMatchesSelector || y.webkitMatchesSelector || y.oMatchesSelector || y.msMatchesSelector;
2365                K(function(e) {
2366                    e.innerHTML = "<select><option selected=''></option></select>", e.querySelectorAll("[selected]").length || i.push("\\[" + O + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.querySelectorAll(":checked").length || i.push(":checked")
2367                }), K(function(e) {
2368                    e.innerHTML = "<p test=''></p>", e.querySelectorAll("[test^='']").length && i.push("[*^$]=" + O + "*(?:\"\"|'')"), e.innerHTML = "<input type='hidden'/>", e.querySelectorAll(":enabled").length || i.push(":enabled", ":disabled")
2369                }), i = new RegExp(i.join("|")), vt = function(e, r, s, o, u) {
2370                    if (!o && !u && !i.test(e)) {
2371                        var a, f, l = !0,
2372                            c = d,
2373                            h = r,
2374                            p = r.nodeType === 9 && e;
2375                        if (r.nodeType === 1 && r.nodeName.toLowerCase() !== "object") {
2376                            a = ut(e), (l = r.getAttribute("id")) ? c = l.replace(n, "\\$&") : r.setAttribute("id", c), c = "[id='" + c + "'] ", f = a.length;
2377                            while (f--) a[f] = c + a[f].join("");
2378                            h = z.test(e) && r.parentNode || r, p = a.join(",")
2379                        }
2380                        if (p) try {
2381                            return S.apply(s, x.call(h.querySelectorAll(p), 0)), s
2382                        } catch (v) {} finally {
2383                            l || r.removeAttribute("id")
2384                        }
2385                    }
2386                    return t(e, r, s, o, u)
2387                }, u && (K(function(t) {
2388                    e = u.call(t, "div");
2389                    try {
2390                        u.call(t, "[test!='']:sizzle"), s.push("!=", H)
2391                    } catch (n) {}
2392                }), s = new RegExp(s.join("|")), nt.matchesSelector = function(t, n) {
2393                    n = n.replace(r, "='$1']");
2394                    if (!o(t) && !s.test(n) && !i.test(n)) try {
2395                        var a = u.call(t, n);
2396                        if (a || e || t.document && t.document.nodeType !== 11) return a
2397                    } catch (f) {}
2398                    return nt(n, null, null, [t]).length > 0
2399                })
2400            }(), i.pseudos.nth = i.pseudos.eq, i.filters = mt.prototype = i.pseudos, i.setFilters = new mt, nt.attr = v.attr, v.find = nt, v.expr = nt.selectors, v.expr[":"] = v.expr.pseudos, v.unique = nt.uniqueSort, v.text = nt.getText, v.isXMLDoc = nt.isXML, v.contains = nt.contains
2401        }(e);
2402    var nt = /Until$/,
2403        rt = /^(?:parents|prev(?:Until|All))/,
2404        it = /^.[^:#\[\.,]*$/,
2405        st = v.expr.match.needsContext,
2406        ot = {
2407            children: !0,
2408            contents: !0,
2409            next: !0,
2410            prev: !0
2411        };
2412    v.fn.extend({
2413        find: function(e) {
2414            var t, n, r, i, s, o, u = this;
2415            if (typeof e != "string") return v(e).filter(function() {
2416                for (t = 0, n = u.length; t < n; t++)
2417                    if (v.contains(u[t], this)) return !0
2418            });
2419            o = this.pushStack("", "find", e);
2420            for (t = 0, n = this.length; t < n; t++) {
2421                r = o.length, v.find(e, this[t], o);
2422                if (t > 0)
2423                    for (i = r; i < o.length; i++)
2424                        for (s = 0; s < r; s++)
2425                            if (o[s] === o[i]) {
2426                                o.splice(i--, 1);
2427                                break
2428                            }
2429            }
2430            return o
2431        },
2432        has: function(e) {
2433            var t, n = v(e, this),
2434                r = n.length;
2435            return this.filter(function() {
2436                for (t = 0; t < r; t++)
2437                    if (v.contains(this, n[t])) return !0
2438            })
2439        },
2440        not: function(e) {
2441            return this.pushStack(ft(this, e, !1), "not", e)
2442        },
2443        filter: function(e) {
2444            return this.pushStack(ft(this, e, !0), "filter", e)
2445        },
2446        is: function(e) {
2447            return !!e && (typeof e == "string" ? st.test(e) ? v(e, this.context).index(this[0]) >= 0 : v.filter(e, this).length > 0 : this.filter(e).length > 0)
2448        },
2449        closest: function(e, t) {
2450            var n, r = 0,
2451                i = this.length,
2452                s = [],
2453                o = st.test(e) || typeof e != "string" ? v(e, t || this.context) : 0;
2454            for (; r < i; r++) {
2455                n = this[r];
2456                while (n && n.ownerDocument && n !== t && n.nodeType !== 11) {
2457                    if (o ? o.index(n) > -1 : v.find.matchesSelector(n, e)) {
2458                        s.push(n);
2459                        break
2460                    }
2461                    n = n.parentNode
2462                }
2463            }
2464            return s = s.length > 1 ? v.unique(s) : s, this.pushStack(s, "closest", e)
2465        },
2466        index: function(e) {
2467            return e ? typeof e == "string" ? v.inArray(this[0], v(e)) : v.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
2468        },
2469        add: function(e, t) {
2470            var n = typeof e == "string" ? v(e, t) : v.makeArray(e && e.nodeType ? [e] : e),
2471                r = v.merge(this.get(), n);
2472            return this.pushStack(ut(n[0]) || ut(r[0]) ? r : v.unique(r))
2473        },
2474        addBack: function(e) {
2475            return this.add(e == null ? this.prevObject : this.prevObject.filter(e))
2476        }
2477    }), v.fn.andSelf = v.fn.addBack, v.each({
2478        parent: function(e) {
2479            var t = e.parentNode;
2480            return t && t.nodeType !== 11 ? t : null
2481        },
2482        parents: function(e) {
2483            return v.dir(e, "parentNode")
2484        },
2485        parentsUntil: function(e, t, n) {
2486            return v.dir(e, "parentNode", n)
2487        },
2488        next: function(e) {
2489            return at(e, "nextSibling")
2490        },
2491        prev: function(e) {
2492            return at(e, "previousSibling")
2493        },
2494        nextAll: function(e) {
2495            return v.dir(e, "nextSibling")
2496        },
2497        prevAll: function(e) {
2498            return v.dir(e, "previousSibling")
2499        },
2500        nextUntil: function(e, t, n) {
2501            return v.dir(e, "nextSibling", n)
2502        },
2503        prevUntil: function(e, t, n) {
2504            return v.dir(e, "previousSibling", n)
2505        },
2506        siblings: function(e) {
2507            return v.sibling((e.parentNode || {}).firstChild, e)
2508        },
2509        children: function(e) {
2510            return v.sibling(e.firstChild)
2511        },
2512        contents: function(e) {
2513            return v.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : v.merge([], e.childNodes)
2514        }
2515    }, function(e, t) {
2516        v.fn[e] = function(n, r) {
2517            var i = v.map(this, t, n);
2518            return nt.test(e) || (r = n), r && typeof r == "string" && (i = v.filter(r, i)), i = this.length > 1 && !ot[e] ? v.unique(i) : i, this.length > 1 && rt.test(e) && (i = i.reverse()), this.pushStack(i, e, l.call(arguments).join(","))
2519        }
2520    }), v.extend({
2521        filter: function(e, t, n) {
2522            return n && (e = ":not(" + e + ")"), t.length === 1 ? v.find.matchesSelector(t[0], e) ? [t[0]] : [] : v.find.matches(e, t)
2523        },
2524        dir: function(e, n, r) {
2525            var i = [],
2526                s = e[n];
2527            while (s && s.nodeType !== 9 && (r === t || s.nodeType !== 1 || !v(s).is(r))) s.nodeType === 1 && i.push(s), s = s[n];
2528            return i
2529        },
2530        sibling: function(e, t) {
2531            var n = [];
2532            for (; e; e = e.nextSibling) e.nodeType === 1 && e !== t && n.push(e);
2533            return n
2534        }
2535    });
2536    var ct = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
2537        ht = / jQuery\d+="(?:null|\d+)"/g,
2538        pt = /^\s+/,
2539        dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
2540        vt = /<([\w:]+)/,
2541        mt = /<tbody/i,
2542        gt = /<|&#?\w+;/,
2543        yt = /<(?:script|style|link)/i,
2544        bt = /<(?:script|object|embed|option|style)/i,
2545        wt = new RegExp("<(?:" + ct + ")[\\s/>]", "i"),
2546        Et = /^(?:checkbox|radio)$/,
2547        St = /checked\s*(?:[^=]|=\s*.checked.)/i,
2548        xt = /\/(java|ecma)script/i,
2549        Tt = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,
2550        Nt = {
2551            option: [1, "<select multiple='multiple'>", "</select>"],
2552            legend: [1, "<fieldset>", "</fieldset>"],
2553            thead: [1, "<table>", "</table>"],
2554            tr: [2, "<table><tbody>", "</tbody></table>"],
2555            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
2556            col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
2557            area: [1, "<map>", "</map>"],
2558            _default: [0, "", ""]
2559        },
2560        Ct = lt(i),
2561        kt = Ct.appendChild(i.createElement("div"));
2562    Nt.optgroup = Nt.option, Nt.tbody = Nt.tfoot = Nt.colgroup = Nt.caption = Nt.thead, Nt.th = Nt.td, v.support.htmlSerialize || (Nt._default = [1, "X<div>", "</div>"]), v.fn.extend({
2563            text: function(e) {
2564                return v.access(this, function(e) {
2565                    return e === t ? v.text(this) : this.empty().append((this[0] && this[0].ownerDocument || i).createTextNode(e))
2566                }, null, e, arguments.length)
2567            },
2568            wrapAll: function(e) {
2569                if (v.isFunction(e)) return this.each(function(t) {
2570                    v(this).wrapAll(e.call(this, t))
2571                });
2572                if (this[0]) {
2573                    var t = v(e, this[0].ownerDocument).eq(0).clone(!0);
2574                    this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
2575                        var e = this;
2576                        while (e.firstChild && e.firstChild.nodeType === 1) e = e.firstChild;
2577                        return e
2578                    }).append(this)
2579                }
2580                return this
2581            },
2582            wrapInner: function(e) {
2583                return v.isFunction(e) ? this.each(function(t) {
2584                    v(this).wrapInner(e.call(this, t))
2585                }) : this.each(function() {
2586                    var t = v(this),
2587                        n = t.contents();
2588                    n.length ? n.wrapAll(e) : t.append(e)
2589                })
2590            },
2591            wrap: function(e) {
2592                var t = v.isFunction(e);
2593                return this.each(function(n) {
2594                    v(this).wrapAll(t ? e.call(this, n) : e)
2595                })
2596            },
2597            unwrap: function() {
2598                return this.parent().each(function() {
2599                    v.nodeName(this, "body") || v(this).replaceWith(this.childNodes)
2600                }).end()
2601            },
2602            append: function() {
2603                return this.domManip(arguments, !0, function(e) {
2604                    (this.nodeType === 1 || this.nodeType === 11) && this.appendChild(e)
2605                })
2606            },
2607            prepend: function() {
2608                return this.domManip(arguments, !0, function(e) {
2609                    (this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(e, this.firstChild)
2610                })
2611            },
2612            before: function() {
2613                if (!ut(this[0])) return this.domManip(arguments, !1, function(e) {
2614                    this.parentNode.insertBefore(e, this)
2615                });
2616                if (arguments.length) {
2617                    var e = v.clean(arguments);
2618                    return this.pushStack(v.merge(e, this), "before", this.selector)
2619                }
2620            },
2621            after: function() {
2622                if (!ut(this[0])) return this.domManip(arguments, !1, function(e) {
2623                    this.parentNode.insertBefore(e, this.nextSibling)
2624                });
2625                if (arguments.length) {
2626                    var e = v.clean(arguments);
2627                    return this.pushStack(v.merge(this, e), "after", this.selector)
2628                }
2629            },
2630            remove: function(e, t) {
2631                var n, r = 0;
2632                for (;
2633                    (n = this[r]) != null; r++)
2634                    if (!e || v.filter(e, [n]).length) !t && n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), v.cleanData([n])), n.parentNode && n.parentNode.removeChild(n);
2635                return this
2636            },
2637            empty: function() {
2638                var e, t = 0;
2639                for (;
2640                    (e = this[t]) != null; t++) {
2641                    e.nodeType === 1 && v.cleanData(e.getElementsByTagName("*"));
2642                    while (e.firstChild) e.removeChild(e.firstChild)
2643                }
2644                return this
2645            },
2646            clone: function(e, t) {
2647                return e = e == null ? !1 : e, t = t == null ? e : t, this.map(function() {
2648                    return v.clone(this, e, t)
2649                })
2650            },
2651            html: function(e) {
2652                return v.access(this, function(e) {
2653                    var n = this[0] || {},
2654                        r = 0,
2655                        i = this.length;
2656                    if (e === t) return n.nodeType === 1 ? n.innerHTML.replace(ht, "") : t;
2657                    if (typeof e == "string" && !yt.test(e) && (v.support.htmlSerialize || !wt.test(e)) && (v.support.leadingWhitespace || !pt.test(e)) && !Nt[(vt.exec(e) || ["", ""])[1].toLowerCase()]) {
2658                        e = e.replace(dt, "<$1></$2>");
2659                        try {
2660                            for (; r < i; r++) n = this[r] || {}, n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), n.innerHTML = e);
2661                            n = 0
2662                        } catch (s) {}
2663                    }
2664                    n && this.empty().append(e)
2665                }, null, e, arguments.length)
2666            },
2667            replaceWith: function(e) {
2668                return ut(this[0]) ? this.length ? this.pushStack(v(v.isFunction(e) ? e() : e), "replaceWith", e) : this : v.isFunction(e) ? this.each(function(t) {
2669                    var n = v(this),
2670                        r = n.html();
2671                    n.replaceWith(e.call(this, t, r))
2672                }) : (typeof e != "string" && (e = v(e).detach()), this.each(function() {
2673                    var t = this.nextSibling,
2674                        n = this.parentNode;
2675                    v(this).remove(), t ? v(t).before(e) : v(n).append(e)
2676                }))
2677            },
2678            detach: function(e) {
2679                return this.remove(e, !0)
2680            },
2681            domManip: function(e, n, r) {
2682                e = [].concat.apply([], e);
2683                var i, s, o, u, a = 0,
2684                    f = e[0],
2685                    l = [],
2686                    c = this.length;
2687                if (!v.support.checkClone && c > 1 && typeof f == "string" && St.test(f)) return this.each(function() {
2688                    v(this).domManip(e, n, r)
2689                });
2690                if (v.isFunction(f)) return this.each(function(i) {
2691                    var s = v(this);
2692                    e[0] = f.call(this, i, n ? s.html() : t), s.domManip(e, n, r)
2693                });
2694                if (this[0]) {
2695                    i = v.buildFragment(e, this, l), o = i.fragment, s = o.firstChild, o.childNodes.length === 1 && (o = s);
2696                    if (s) {
2697                        n = n && v.nodeName(s, "tr");
2698                        for (u = i.cacheable || c - 1; a < c; a++) r.call(n && v.nodeName(this[a], "table") ? Lt(this[a], "tbody") : this[a], a === u ? o : v.clone(o, !0, !0))
2699                    }
2700                    o = s = null, l.length && v.each(l, function(e, t) {
2701                        t.src ? v.ajax ? v.ajax({
2702                            url: t.src,
2703                            type: "GET",
2704                            dataType: "script",
2705                            async: !1,
2706                            global: !1,
2707                            "throws": !0
2708                        }) : v.error("no ajax") : v.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Tt, "")), t.parentNode && t.parentNode.removeChild(t)
2709                    })
2710                }
2711                return this
2712            }
2713        }), v.buildFragment = function(e, n, r) {
2714            var s, o, u, a = e[0];
2715            return n = n || i, n = !n.nodeType && n[0] || n, n = n.ownerDocument || n, e.length === 1 && typeof a == "string" && a.length < 512 && n === i && a.charAt(0) === "<" && !bt.test(a) && (v.support.checkClone || !St.test(a)) && (v.support.html5Clone || !wt.test(a)) && (o = !0, s = v.fragments[a], u = s !== t), s || (s = n.createDocumentFragment(), v.clean(e, n, s, r), o && (v.fragments[a] = u && s)), {
2716                fragment: s,
2717                cacheable: o
2718            }
2719        }, v.fragments = {}, v.each({
2720            appendTo: "append",
2721            prependTo: "prepend",
2722            insertBefore: "before",
2723            insertAfter: "after",
2724            replaceAll: "replaceWith"
2725        }, function(e, t) {
2726            v.fn[e] = function(n) {
2727                var r, i = 0,
2728                    s = [],
2729                    o = v(n),
2730                    u = o.length,
2731                    a = this.length === 1 && this[0].parentNode;
2732                if ((a == null || a && a.nodeType === 11 && a.childNodes.length === 1) && u === 1) return o[t](this[0]), this;
2733                for (; i < u; i++) r = (i > 0 ? this.clone(!0) : this).get(), v(o[i])[t](r), s = s.concat(r);
2734                return this.pushStack(s, e, o.selector)
2735            }
2736        }), v.extend({
2737            clone: function(e, t, n) {
2738                var r, i, s, o;
2739                v.support.html5Clone || v.isXMLDoc(e) || !wt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (kt.innerHTML = e.outerHTML, kt.removeChild(o = kt.firstChild));
2740                if ((!v.support.noCloneEvent || !v.support.noCloneChecked) && (e.nodeType === 1 || e.nodeType === 11) && !v.isXMLDoc(e)) {
2741                    Ot(e, o), r = Mt(e), i = Mt(o);
2742                    for (s = 0; r[s]; ++s) i[s] && Ot(r[s], i[s])
2743                }
2744                if (t) {
2745                    At(e, o);
2746                    if (n) {
2747                        r = Mt(e), i = Mt(o);
2748                        for (s = 0; r[s]; ++s) At(r[s], i[s])
2749                    }
2750                }
2751                return r = i = null, o
2752            },
2753            clean: function(e, t, n, r) {
2754                var s, o, u, a, f, l, c, h, p, d, m, g, y = t === i && Ct,
2755                    b = [];
2756                if (!t || typeof t.createDocumentFragment == "undefined") t = i;
2757                for (s = 0;
2758                    (u = e[s]) != null; s++) {
2759                    typeof u == "number" && (u += "");
2760                    if (!u) continue;
2761                    if (typeof u == "string")
2762                        if (!gt.test(u)) u = t.createTextNode(u);
2763                        else {
2764                            y = y || lt(t), c = t.createElement("div"), y.appendChild(c), u = u.replace(dt, "<$1></$2>"), a = (vt.exec(u) || ["", ""])[1].toLowerCase(), f = Nt[a] || Nt._default, l = f[0], c.innerHTML = f[1] + u + f[2];
2765                            while (l--) c = c.lastChild;
2766                            if (!v.support.tbody) {
2767                                h = mt.test(u), p = a === "table" && !h ? c.firstChild && c.firstChild.childNodes : f[1] === "<table>" && !h ? c.childNodes : [];
2768                                for (o = p.length - 1; o >= 0; --o) v.nodeName(p[o], "tbody") && !p[o].childNodes.length && p[o].parentNode.removeChild(p[o])
2769                            }!v.support.leadingWhitespace && pt.test(u) && c.insertBefore(t.createTextNode(pt.exec(u)[0]), c.firstChild), u = c.childNodes, c.parentNode.removeChild(c)
2770                        }
2771                    u.nodeType ? b.push(u) : v.merge(b, u)
2772                }
2773                c && (u = c = y = null);
2774                if (!v.support.appendChecked)
2775                    for (s = 0;
2776                        (u = b[s]) != null; s++) v.nodeName(u, "input") ? _t(u) : typeof u.getElementsByTagName != "undefined" && v.grep(u.getElementsByTagName("input"), _t);
2777                if (n) {
2778                    m = function(e) {
2779                        if (!e.type || xt.test(e.type)) return r ? r.push(e.parentNode ? e.parentNode.removeChild(e) : e) : n.appendChild(e)
2780                    };
2781                    for (s = 0;
2782                        (u = b[s]) != null; s++)
2783                        if (!v.nodeName(u, "script") || !m(u)) n.appendChild(u), typeof u.getElementsByTagName != "undefined" && (g = v.grep(v.merge([], u.getElementsByTagName("script")), m), b.splice.apply(b, [s + 1, 0].concat(g)), s += g.length)
2784                }
2785                return b
2786            },
2787            cleanData: function(e, t) {
2788                var n, r, i, s, o = 0,
2789                    u = v.expando,
2790                    a = v.cache,
2791                    f = v.support.deleteExpando,
2792                    l = v.event.special;
2793                for (;
2794                    (i = e[o]) != null; o++)
2795                    if (t || v.acceptData(i)) {
2796                        r = i[u], n = r && a[r];
2797                        if (n) {
2798                            if (n.events)
2799                                for (s in n.events) l[s] ? v.event.remove(i, s) : v.removeEvent(i, s, n.handle);
2800                            a[r] && (delete a[r], f ? delete i[u] : i.removeAttribute ? i.removeAttribute(u) : i[u] = null, v.deletedIds.push(r))
2801                        }
2802                    }
2803            }
2804        }),
2805        function() {
2806            var e, t;
2807            v.uaMatch = function(e) {
2808                e = e.toLowerCase();
2809                var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || [];
2810                return {
2811                    browser: t[1] || "",
2812                    version: t[2] || "0"
2813                }
2814            }, e = v.uaMatch(o.userAgent), t = {}, e.browser && (t[e.browser] = !0, t.version = e.version), t.chrome ? t.webkit = !0 : t.webkit && (t.safari = !0), v.browser = t, v.sub = function() {
2815                function e(t, n) {
2816                    return new e.fn.init(t, n)
2817                }
2818                v.extend(!0, e, this), e.superclass = this, e.fn = e.prototype = this(), e.fn.constructor = e, e.sub = this.sub, e.fn.init = function(r, i) {
2819                    return i && i instanceof v && !(i instanceof e) && (i = e(i)), v.fn.init.call(this, r, i, t)
2820                }, e.fn.init.prototype = e.fn;
2821                var t = e(i);
2822                return e
2823            }
2824        }();
2825    var Dt, Pt, Ht, Bt = /alpha\([^)]*\)/i,
2826        jt = /opacity=([^)]*)/,
2827        Ft = /^(top|right|bottom|left)$/,
2828        It = /^(none|table(?!-c[ea]).+)/,
2829        qt = /^margin/,
2830        Rt = new RegExp("^(" + m + ")(.*)$", "i"),
2831        Ut = new RegExp("^(" + m + ")(?!px)[a-z%]+$", "i"),
2832        zt = new RegExp("^([-+])=(" + m + ")", "i"),
2833        Wt = {
2834            BODY: "block"
2835        },
2836        Xt = {
2837            position: "absolute",
2838            visibility: "hidden",
2839            display: "block"
2840        },
2841        Vt = {
2842            letterSpacing: 0,
2843            fontWeight: 400
2844        },
2845        $t = ["Top", "Right", "Bottom", "Left"],
2846        Jt = ["Webkit", "O", "Moz", "ms"],
2847        Kt = v.fn.toggle;
2848    v.fn.extend({
2849        css: function(e, n) {
2850            return v.access(this, function(e, n, r) {
2851                return r !== t ? v.style(e, n, r) : v.css(e, n)
2852            }, e, n, arguments.length > 1)
2853        },
2854        show: function() {
2855            return Yt(this, !0)
2856        },
2857        hide: function() {
2858            return Yt(this)
2859        },
2860        toggle: function(e, t) {
2861            var n = typeof e == "boolean";
2862            return v.isFunction(e) && v.isFunction(t) ? Kt.apply(this, arguments) : this.each(function() {
2863                (n ? e : Gt(this)) ? v(this).show(): v(this).hide()
2864            })
2865        }
2866    }), v.extend({
2867        cssHooks: {
2868            opacity: {
2869                get: function(e, t) {
2870                    if (t) {
2871                        var n = Dt(e, "opacity");
2872                        return n === "" ? "1" : n
2873                    }
2874                }
2875            }
2876        },
2877        cssNumber: {
2878            fillOpacity: !0,
2879            fontWeight: !0,
2880            lineHeight: !0,
2881            opacity: !0,
2882            orphans: !0,
2883            widows: !0,
2884            zIndex: !0,
2885            zoom: !0
2886        },
2887        cssProps: {
2888            "float": v.support.cssFloat ? "cssFloat" : "styleFloat"
2889        },
2890        style: function(e, n, r, i) {
2891            if (!e || e.nodeType === 3 || e.nodeType === 8 || !e.style) return;
2892            var s, o, u, a = v.camelCase(n),
2893                f = e.style;
2894            n = v.cssProps[a] || (v.cssProps[a] = Qt(f, a)), u = v.cssHooks[n] || v.cssHooks[a];
2895            if (r === t) return u && "get" in u && (s = u.get(e, !1, i)) !== t ? s : f[n];
2896            o = typeof r, o === "string" && (s = zt.exec(r)) && (r = (s[1] + 1) * s[2] + parseFloat(v.css(e, n)), o = "number");
2897            if (r == null || o === "number" && isNaN(r)) return;
2898            o === "number" && !v.cssNumber[a] && (r += "px");
2899            if (!u || !("set" in u) || (r = u.set(e, r, i)) !== t) try {
2900                f[n] = r
2901            } catch (l) {}
2902        },
2903        css: function(e, n, r, i) {
2904            var s, o, u, a = v.camelCase(n);
2905            return n = v.cssProps[a] || (v.cssProps[a] = Qt(e.style, a)), u = v.cssHooks[n] || v.cssHooks[a], u && "get" in u && (s = u.get(e, !0, i)), s === t && (s = Dt(e, n)), s === "normal" && n in Vt && (s = Vt[n]), r || i !== t ? (o = parseFloat(s), r || v.isNumeric(o) ? o || 0 : s) : s
2906        },
2907        swap: function(e, t, n) {
2908            var r, i, s = {};
2909            for (i in t) s[i] = e.style[i], e.style[i] = t[i];
2910            r = n.call(e);
2911            for (i in t) e.style[i] = s[i];
2912            return r
2913        }
2914    }), e.getComputedStyle ? Dt = function(t, n) {
2915        var r, i, s, o, u = e.getComputedStyle(t, null),
2916            a = t.style;
2917        return u && (r = u.getPropertyValue(n) || u[n], r === "" && !v.contains(t.ownerDocument, t) && (r = v.style(t, n)), Ut.test(r) && qt.test(n) && (i = a.width, s = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = r, r = u.width, a.width = i, a.minWidth = s, a.maxWidth = o)), r
2918    } : i.documentElement.currentStyle && (Dt = function(e, t) {
2919        var n, r, i = e.currentStyle && e.currentStyle[t],
2920            s = e.style;
2921        return i == null && s && s[t] && (i = s[t]), Ut.test(i) && !Ft.test(t) && (n = s.left, r = e.runtimeStyle && e.runtimeStyle.left, r && (e.runtimeStyle.left = e.currentStyle.left), s.left = t === "fontSize" ? "1em" : i, i = s.pixelLeft + "px", s.left = n, r && (e.runtimeStyle.left = r)), i === "" ? "auto" : i
2922    }), v.each(["height", "width"], function(e, t) {
2923        v.cssHooks[t] = {
2924            get: function(e, n, r) {
2925                if (n) return e.offsetWidth === 0 && It.test(Dt(e, "display")) ? v.swap(e, Xt, function() {
2926                    return tn(e, t, r)
2927                }) : tn(e, t, r)
2928            },
2929            set: function(e, n, r) {
2930                return Zt(e, n, r ? en(e, t, r, v.support.boxSizing && v.css(e, "boxSizing") === "border-box") : 0)
2931            }
2932        }
2933    }), v.support.opacity || (v.cssHooks.opacity = {
2934        get: function(e, t) {
2935            return jt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
2936        },
2937        set: function(e, t) {
2938            var n = e.style,
2939                r = e.currentStyle,
2940                i = v.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "",
2941                s = r && r.filter || n.filter || "";
2942            n.zoom = 1;
2943            if (t >= 1 && v.trim(s.replace(Bt, "")) === "" && n.removeAttribute) {
2944                n.removeAttribute("filter");
2945                if (r && !r.filter) return
2946            }
2947            n.filter = Bt.test(s) ? s.replace(Bt, i) : s + " " + i
2948        }
2949    }), v(function() {
2950        v.support.reliableMarginRight || (v.cssHooks.marginRight = {
2951            get: function(e, t) {
2952                return v.swap(e, {
2953                    display: "inline-block"
2954                }, function() {
2955                    if (t) return Dt(e, "marginRight")
2956                })
2957            }
2958        }), !v.support.pixelPosition && v.fn.position && v.each(["top", "left"], function(e, t) {
2959            v.cssHooks[t] = {
2960                get: function(e, n) {
2961                    if (n) {
2962                        var r = Dt(e, t);
2963                        return Ut.test(r) ? v(e).position()[t] + "px" : r
2964                    }
2965                }
2966            }
2967        })
2968    }), v.expr && v.expr.filters && (v.expr.filters.hidden = function(e) {
2969        return e.offsetWidth === 0 && e.offsetHeight === 0 || !v.support.reliableHiddenOffsets && (e.style && e.style.display || Dt(e, "display")) === "none"
2970    }, v.expr.filters.visible = function(e) {
2971        return !v.expr.filters.hidden(e)
2972    }), v.each({
2973        margin: "",
2974        padding: "",
2975        border: "Width"
2976    }, function(e, t) {
2977        v.cssHooks[e + t] = {
2978            expand: function(n) {
2979                var r, i = typeof n == "string" ? n.split(" ") : [n],
2980                    s = {};
2981                for (r = 0; r < 4; r++) s[e + $t[r] + t] = i[r] || i[r - 2] || i[0];
2982                return s
2983            }
2984        }, qt.test(e) || (v.cssHooks[e + t].set = Zt)
2985    });
2986    var rn = /%20/g,
2987        sn = /\[\]$/,
2988        on = /\r?\n/g,
2989        un = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
2990        an = /^(?:select|textarea)/i;
2991    v.fn.extend({
2992        serialize: function() {
2993            return v.param(this.serializeArray())
2994        },
2995        serializeArray: function() {
2996            return this.map(function() {
2997                return this.elements ? v.makeArray(this.elements) : this
2998            }).filter(function() {
2999                return this.name && !this.disabled && (this.checked || an.test(this.nodeName) || un.test(this.type))
3000            }).map(function(e, t) {
3001                var n = v(this).val();
3002                return n == null ? null : v.isArray(n) ? v.map(n, function(e, n) {
3003                    return {
3004                        name: t.name,
3005                        value: e.replace(on, "\r\n")
3006                    }
3007                }) : {
3008                    name: t.name,
3009                    value: n.replace(on, "\r\n")
3010                }
3011            }).get()
3012        }
3013    }), v.param = function(e, n) {
3014        var r, i = [],
3015            s = function(e, t) {
3016                t = v.isFunction(t) ? t() : t == null ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
3017            };
3018        n === t && (n = v.ajaxSettings && v.ajaxSettings.traditional);
3019        if (v.isArray(e) || e.jquery && !v.isPlainObject(e)) v.each(e, function() {
3020            s(this.name, this.value)
3021        });
3022        else
3023            for (r in e) fn(r, e[r], n, s);
3024        return i.join("&").replace(rn, "+")
3025    };
3026    var ln, cn, hn = /#.*$/,
3027        pn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
3028        dn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
3029        vn = /^(?:GET|HEAD)$/,
3030        mn = /^\/\//,
3031        gn = /\?/,
3032        yn = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
3033        bn = /([?&])_=[^&]*/,
3034        wn = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
3035        En = v.fn.load,
3036        Sn = {},
3037        xn = {},
3038        Tn = ["*/"] + ["*"];
3039    try {
3040        cn = s.href
3041    } catch (Nn) {
3042        cn = i.createElement("a"), cn.href = "", cn = cn.href
3043    }
3044    ln = wn.exec(cn.toLowerCase()) || [], v.fn.load = function(e, n, r) {
3045        if (typeof e != "string" && En) return En.apply(this, arguments);
3046        if (!this.length) return this;
3047        var i, s, o, u = this,
3048            a = e.indexOf(" ");
3049        return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)), v.isFunction(n) ? (r = n, n = t) : n && typeof n == "object" && (s = "POST"), v.ajax({
3050            url: e,
3051            type: s,
3052            dataType: "html",
3053            data: n,
3054            complete: function(e, t) {
3055                r && u.each(r, o || [e.responseText, t, e])
3056            }
3057        }).done(function(e) {
3058            o = arguments, u.html(i ? v("<div>").append(e.replace(yn, "")).find(i) : e)
3059        }), this
3060    }, v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(e, t) {
3061        v.fn[t] = function(e) {
3062            return this.on(t, e)
3063        }
3064    }), v.each(["get", "post"], function(e, n) {
3065        v[n] = function(e, r, i, s) {
3066            return v.isFunction(r) && (s = s || i, i = r, r = t), v.ajax({
3067                type: n,
3068                url: e,
3069                data: r,
3070                success: i,
3071                dataType: s
3072            })
3073        }
3074    }), v.extend({
3075        getScript: function(e, n) {
3076            return v.get(e, t, n, "script")
3077        },
3078        getJSON: function(e, t, n) {
3079            return v.get(e, t, n, "json")
3080        },
3081        ajaxSetup: function(e, t) {
3082            return t ? Ln(e, v.ajaxSettings) : (t = e, e = v.ajaxSettings), Ln(e, t), e
3083        },
3084        ajaxSettings: {
3085            url: cn,
3086            isLocal: dn.test(ln[1]),
3087            global: !0,
3088            type: "GET",
3089            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
3090            processData: !0,
3091            async: !0,
3092            accepts: {
3093                xml: "application/xml, text/xml",
3094                html: "text/html",
3095                text: "text/plain",
3096                json: "application/json, text/javascript",
3097                "*": Tn
3098            },
3099            contents: {
3100                xml: /xml/,
3101                html: /html/,
3102                json: /json/
3103            },
3104            responseFields: {
3105                xml: "responseXML",
3106                text: "responseText"
3107            },
3108            converters: {
3109                "* text": e.String,
3110                "text html": !0,
3111                "text json": v.parseJSON,
3112                "text xml": v.parseXML
3113            },
3114            flatOptions: {
3115                context: !0,
3116                url: !0
3117            }
3118        },
3119        ajaxPrefilter: Cn(Sn),
3120        ajaxTransport: Cn(xn),
3121        ajax: function(e, n) {
3122            function T(e, n, s, a) {
3123                var l, y, b, w, S, T = n;
3124                if (E === 2) return;
3125                E = 2, u && clearTimeout(u), o = t, i = a || "", x.readyState = e > 0 ? 4 : 0, s && (w = An(c, x, s));
3126                if (e >= 200 && e < 300 || e === 304) c.ifModified && (S = x.getResponseHeader("Last-Modified"), S && (v.lastModified[r] = S), S = x.getResponseHeader("Etag"), S && (v.etag[r] = S)), e === 304 ? (T = "notmodified", l = !0) : (l = On(c, w), T = l.state, y = l.data, b = l.error, l = !b);
3127                else {
3128                    b = T;
3129                    if (!T || e) T = "error", e < 0 && (e = 0)
3130                }
3131                x.status = e, x.statusText = (n || T) + "", l ? d.resolveWith(h, [y, T, x]) : d.rejectWith(h, [x, T, b]), x.statusCode(g), g = t, f && p.trigger("ajax" + (l ? "Success" : "Error"), [x, c, l ? y : b]), m.fireWith(h, [x, T]), f && (p.trigger("ajaxComplete", [x, c]), --v.active || v.event.trigger("ajaxStop"))
3132            }
3133            typeof e == "object" && (n = e, e = t), n = n || {};
3134            var r, i, s, o, u, a, f, l, c = v.ajaxSetup({}, n),
3135                h = c.context || c,
3136                p = h !== c && (h.nodeType || h instanceof v) ? v(h) : v.event,
3137                d = v.Deferred(),
3138                m = v.Callbacks("once memory"),
3139                g = c.statusCode || {},
3140                b = {},
3141                w = {},
3142                E = 0,
3143                S = "canceled",
3144                x = {
3145                    readyState: 0,
3146                    setRequestHeader: function(e, t) {
3147                        if (!E) {
3148                            var n = e.toLowerCase();
3149                            e = w[n] = w[n] || e, b[e] = t
3150                        }
3151                        return this
3152                    },
3153                    getAllResponseHeaders: function() {
3154                        return E === 2 ? i : null
3155                    },
3156                    getResponseHeader: function(e) {
3157                        var n;
3158                        if (E === 2) {
3159                            if (!s) {
3160                                s = {};
3161                                while (n = pn.exec(i)) s[n[1].toLowerCase()] = n[2]
3162                            }
3163                            n = s[e.toLowerCase()]
3164                        }
3165                        return n === t ? null : n
3166                    },
3167                    overrideMimeType: function(e) {
3168                        return E || (c.mimeType = e), this
3169                    },
3170                    abort: function(e) {
3171                        return e = e || S, o && o.abort(e), T(0, e), this
3172                    }
3173                };
3174            d.promise(x), x.success = x.done, x.error = x.fail, x.complete = m.add, x.statusCode = function(e) {
3175                if (e) {
3176                    var t;
3177                    if (E < 2)
3178                        for (t in e) g[t] = [g[t], e[t]];
3179                    else t = e[x.status], x.always(t)
3180                }
3181                return this
3182            }, c.url = ((e || c.url) + "").replace(hn, "").replace(mn, ln[1] + "//"), c.dataTypes = v.trim(c.dataType || "*").toLowerCase().split(y), c.crossDomain == null && (a = wn.exec(c.url.toLowerCase()), c.crossDomain = !(!a || a[1] === ln[1] && a[2] === ln[2] && (a[3] || (a[1] === "http:" ? 80 : 443)) == (ln[3] || (ln[1] === "http:" ? 80 : 443)))), c.data && c.processData && typeof c.data != "string" && (c.data = v.param(c.data, c.traditional)), kn(Sn, c, n, x);
3183            if (E === 2) return x;
3184            f = c.global, c.type = c.type.toUpperCase(), c.hasContent = !vn.test(c.type), f && v.active++ === 0 && v.event.trigger("ajaxStart");
3185            if (!c.hasContent) {
3186                c.data && (c.url += (gn.test(c.url) ? "&" : "?") + c.data, delete c.data), r = c.url;
3187                if (c.cache === !1) {
3188                    var N = v.now(),
3189                        C = c.url.replace(bn, "$1_=" + N);
3190                    c.url = C + (C === c.url ? (gn.test(c.url) ? "&" : "?") + "_=" + N : "")
3191                }
3192            }(c.data && c.hasContent && c.contentType !== !1 || n.contentType) && x.setRequestHeader("Content-Type", c.contentType), c.ifModified && (r = r || c.url, v.lastModified[r] && x.setRequestHeader("If-Modified-Since", v.lastModified[r]), v.etag[r] && x.setRequestHeader("If-None-Match", v.etag[r])), x.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + (c.dataTypes[0] !== "*" ? ", " + Tn + "; q=0.01" : "") : c.accepts["*"]);
3193            for (l in c.headers) x.setRequestHeader(l, c.headers[l]);
3194            if (!c.beforeSend || c.beforeSend.call(h, x, c) !== !1 && E !== 2) {
3195                S = "abort";
3196                for (l in {
3197                        success: 1,
3198                        error: 1,
3199                        complete: 1
3200                    }) x[l](c[l]);
3201                o = kn(xn, c, n, x);
3202                if (!o) T(-1, "No Transport");
3203                else {
3204                    x.readyState = 1, f && p.trigger("ajaxSend", [x, c]), c.async && c.timeout > 0 && (u = setTimeout(function() {
3205                        x.abort("timeout")
3206                    }, c.timeout));
3207                    try {
3208                        E = 1, o.send(b, T)
3209                    } catch (k) {
3210                        if (!(E < 2)) throw k;
3211                        T(-1, k)
3212                    }
3213                }
3214                return x
3215            }
3216            return x.abort()
3217        },
3218        active: 0,
3219        lastModified: {},
3220        etag: {}
3221    });
3222    var Mn = [],
3223        _n = /\?/,
3224        Dn = /(=)\?(?=&|$)|\?\?/,
3225        Pn = v.now();
3226    v.ajaxSetup({
3227        jsonp: "callback",
3228        jsonpCallback: function() {
3229            var e = Mn.pop() || v.expando + "_" + Pn++;
3230            return this[e] = !0, e
3231        }
3232    }), v.ajaxPrefilter("json jsonp", function(n, r, i) {
3233        var s, o, u, a = n.data,
3234            f = n.url,
3235            l = n.jsonp !== !1,
3236            c = l && Dn.test(f),
3237            h = l && !c && typeof a == "string" && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Dn.test(a);
3238        if (n.dataTypes[0] === "jsonp" || c || h) return s = n.jsonpCallback = v.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, o = e[s], c ? n.url = f.replace(Dn, "$1" + s) : h ? n.data = a.replace(Dn, "$1" + s) : l && (n.url += (_n.test(f) ? "&" : "?") + n.jsonp + "=" + s), n.converters["script json"] = function() {
3239            return u || v.error(s + " was not called"), u[0]
3240        }, n.dataTypes[0] = "json", e[s] = function() {
3241            u = arguments
3242        }, i.always(function() {
3243            e[s] = o, n[s] && (n.jsonpCallback = r.jsonpCallback, Mn.push(s)), u && v.isFunction(o) && o(u[0]), u = o = t
3244        }), "script"
3245    }), v.ajaxSetup({
3246        accepts: {
3247            script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
3248        },
3249        contents: {
3250            script: /javascript|ecmascript/
3251        },
3252        converters: {
3253            "text script": function(e) {
3254                return v.globalEval(e), e
3255            }
3256        }
3257    }), v.ajaxPrefilter("script", function(e) {
3258        e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1)
3259    }), v.ajaxTransport("script", function(e) {
3260        if (e.crossDomain) {
3261            var n, r = i.head || i.getElementsByTagName("head")[0] || i.documentElement;
3262            return {
3263                send: function(s, o) {
3264                    n = i.createElement("script"), n.async = "async", e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function(e, i) {
3265                        if (i || !n.readyState || /loaded|complete/.test(n.readyState)) n.onload = n.onreadystatechange = null, r && n.parentNode && r.removeChild(n), n = t, i || o(200, "success")
3266                    }, r.insertBefore(n, r.firstChild)
3267                },
3268                abort: function() {
3269                    n && n.onload(0, 1)
3270                }
3271            }
3272        }
3273    });
3274    var Hn, Bn = e.ActiveXObject ? function() {
3275            for (var e in Hn) Hn[e](0, 1)
3276        } : !1,
3277        jn = 0;
3278    v.ajaxSettings.xhr = e.ActiveXObject ? function() {
3279            return !this.isLocal && Fn() || In()
3280        } : Fn,
3281        function(e) {
3282            v.extend(v.support, {
3283                ajax: !!e,
3284                cors: !!e && "withCredentials" in e
3285            })
3286        }(v.ajaxSettings.xhr()), v.support.ajax && v.ajaxTransport(function(n) {
3287            if (!n.crossDomain || v.support.cors) {
3288                var r;
3289                return {
3290                    send: function(i, s) {
3291                        var o, u, a = n.xhr();
3292                        n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async);
3293                        if (n.xhrFields)
3294                            for (u in n.xhrFields) a[u] = n.xhrFields[u];
3295                        n.mimeType && a.overrideMimeType && a.overrideMimeType(n.mimeType), !n.crossDomain && !i["X-Requested-With"] && (i["X-Requested-With"] = "XMLHttpRequest");
3296                        try {
3297                            for (u in i) a.setRequestHeader(u, i[u])
3298                        } catch (f) {}
3299                        a.send(n.hasContent && n.data || null), r = function(e, i) {
3300                            var u, f, l, c, h;
3301                            try {
3302                                if (r && (i || a.readyState === 4)) {
3303                                    r = t, o && (a.onreadystatechange = v.noop, Bn && delete Hn[o]);
3304                                    if (i) a.readyState !== 4 && a.abort();
3305                                    else {
3306                                        u = a.status, l = a.getAllResponseHeaders(), c = {}, h = a.responseXML, h && h.documentElement && (c.xml = h);
3307                                        try {
3308                                            c.text = a.responseText
3309                                        } catch (p) {}
3310                                        try {
3311                                            f = a.statusText
3312                                        } catch (p) {
3313                                            f = ""
3314                                        }!u && n.isLocal && !n.crossDomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204)
3315                                    }
3316                                }
3317                            } catch (d) {
3318                                i || s(-1, d)
3319                            }
3320                            c && s(u, f, c, l)
3321                        }, n.async ? a.readyState === 4 ? setTimeout(r, 0) : (o = ++jn, Bn && (Hn || (Hn = {}, v(e).unload(Bn)), Hn[o] = r), a.onreadystatechange = r) : r()
3322                    },
3323                    abort: function() {
3324                        r && r(0, 1)
3325                    }
3326                }
3327            }
3328        });
3329    var qn, Rn, Un = /^(?:toggle|show|hide)$/,
3330        zn = new RegExp("^(?:([-+])=|)(" + m + ")([a-z%]*)$", "i"),
3331        Wn = /queueHooks$/,
3332        Xn = [Gn],
3333        Vn = {
3334            "*": [function(e, t) {
3335                var n, r, i = this.createTween(e, t),
3336                    s = zn.exec(t),
3337                    o = i.cur(),
3338                    u = +o || 0,
3339                    a = 1,
3340                    f = 20;
3341                if (s) {
3342                    n = +s[2], r = s[3] || (v.cssNumber[e] ? "" : "px");
3343                    if (r !== "px" && u) {
3344                        u = v.css(i.elem, e, !0) || n || 1;
3345                        do a = a || ".5", u /= a, v.style(i.elem, e, u + r); while (a !== (a = i.cur() / o) && a !== 1 && --f)
3346                    }
3347                    i.unit = r, i.start = u, i.end = s[1] ? u + (s[1] + 1) * n : n
3348                }
3349                return i
3350            }]
3351        };
3352    v.Animation = v.extend(Kn, {
3353        tweener: function(e, t) {
3354            v.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" ");
3355            var n, r = 0,
3356                i = e.length;
3357            for (; r < i; r++) n = e[r], Vn[n] = Vn[n] || [], Vn[n].unshift(t)
3358        },
3359        prefilter: function(e, t) {
3360            t ? Xn.unshift(e) : Xn.push(e)
3361        }
3362    }), v.Tween = Yn, Yn.prototype = {
3363        constructor: Yn,
3364        init: function(e, t, n, r, i, s) {
3365            this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = s || (v.cssNumber[n] ? "" : "px")
3366        },
3367        cur: function() {
3368            var e = Yn.propHooks[this.prop];
3369            return e && e.get ? e.get(this) : Yn.propHooks._default.get(this)
3370        },
3371        run: function(e) {
3372            var t, n = Yn.propHooks[this.prop];
3373            return this.options.duration ? this.pos = t = v.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Yn.propHooks._default.set(this), this
3374        }
3375    }, Yn.prototype.init.prototype = Yn.prototype, Yn.propHooks = {
3376        _default: {
3377            get: function(e) {
3378                var t;
3379                return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = v.css(e.elem, e.prop, !1, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop]
3380            },
3381            set: function(e) {
3382                v.fx.step[e.prop] ? v.fx.step[e.prop](e) : e.elem.style && (e.elem.style[v.cssProps[e.prop]] != null || v.cssHooks[e.prop]) ? v.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
3383            }
3384        }
3385    }, Yn.propHooks.scrollTop = Yn.propHooks.scrollLeft = {
3386        set: function(e) {
3387            e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
3388        }
3389    }, v.each(["toggle", "show", "hide"], function(e, t) {
3390        var n = v.fn[t];
3391        v.fn[t] = function(r, i, s) {
3392            return r == null || typeof r == "boolean" || !e && v.isFunction(r) && v.isFunction(i) ? n.apply(this, arguments) : this.animate(Zn(t, !0), r, i, s)
3393        }
3394    }), v.fn.extend({
3395        fadeTo: function(e, t, n, r) {
3396            return this.filter(Gt).css("opacity", 0).show().end().animate({
3397                opacity: t
3398            }, e, n, r)
3399        },
3400        animate: function(e, t, n, r) {
3401            var i = v.isEmptyObject(e),
3402                s = v.speed(t, n, r),
3403                o = function() {
3404                    var t = Kn(this, v.extend({}, e), s);
3405                    i && t.stop(!0)
3406                };
3407            return i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o)
3408        },
3409        stop: function(e, n, r) {
3410            var i = function(e) {
3411                var t = e.stop;
3412                delete e.stop, t(r)
3413            };
3414            return typeof e != "string" && (r = n, n = e, e = t), n && e !== !1 && this.queue(e || "fx", []), this.each(function() {
3415                var t = !0,
3416                    n = e != null && e + "queueHooks",
3417                    s = v.timers,
3418                    o = v._data(this);
3419                if (n) o[n] && o[n].stop && i(o[n]);
3420                else
3421                    for (n in o) o[n] && o[n].stop && Wn.test(n) && i(o[n]);
3422                for (n = s.length; n--;) s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1));
3423                (t || !r) && v.dequeue(this, e)
3424            })
3425        }
3426    }), v.each({
3427        slideDown: Zn("show"),
3428        slideUp: Zn("hide"),
3429        slideToggle: Zn("toggle"),
3430        fadeIn: {
3431            opacity: "show"
3432        },
3433        fadeOut: {
3434            opacity: "hide"
3435        },
3436        fadeToggle: {
3437            opacity: "toggle"
3438        }
3439    }, function(e, t) {
3440        v.fn[e] = function(e, n, r) {
3441            return this.animate(t, e, n, r)
3442        }
3443    }), v.speed = function(e, t, n) {
3444        var r = e && typeof e == "object" ? v.extend({}, e) : {
3445            complete: n || !n && t || v.isFunction(e) && e,
3446            duration: e,
3447            easing: n && t || t && !v.isFunction(t) && t
3448        };
3449        r.duration = v.fx.off ? 0 : typeof r.duration == "number" ? r.duration : r.duration in v.fx.speeds ? v.fx.speeds[r.duration] : v.fx.speeds._default;
3450        if (r.queue == null || r.queue === !0) r.queue = "fx";
3451        return r.old = r.complete, r.complete = function() {
3452            v.isFunction(r.old) && r.old.call(this), r.queue && v.dequeue(this, r.queue)
3453        }, r
3454    }, v.easing = {
3455        linear: function(e) {
3456            return e
3457        },
3458        swing: function(e) {
3459            return .5 - Math.cos(e * Math.PI) / 2
3460        }
3461    }, v.timers = [], v.fx = Yn.prototype.init, v.fx.tick = function() {
3462        var e, n = v.timers,
3463            r = 0;
3464        qn = v.now();
3465        for (; r < n.length; r++) e = n[r], !e() && n[r] === e && n.splice(r--, 1);
3466        n.length || v.fx.stop(), qn = t
3467    }, v.fx.timer = function(e) {
3468        e() && v.timers.push(e) && !Rn && (Rn = setInterval(v.fx.tick, v.fx.interval))
3469    }, v.fx.interval = 13, v.fx.stop = function() {
3470        clearInterval(Rn), Rn = null
3471    }, v.fx.speeds = {
3472        slow: 600,
3473        fast: 200,
3474        _default: 400
3475    }, v.fx.step = {}, v.expr && v.expr.filters && (v.expr.filters.animated = function(e) {
3476        return v.grep(v.timers, function(t) {
3477            return e === t.elem
3478        }).length
3479    });
3480    var er = /^(?:body|html)$/i;
3481    v.fn.offset = function(e) {
3482        if (arguments.length) return e === t ? this : this.each(function(t) {
3483            v.offset.setOffset(this, e, t)
3484        });
3485        var n, r, i, s, o, u, a, f = {
3486                top: 0,
3487                left: 0
3488            },
3489            l = this[0],
3490            c = l && l.ownerDocument;
3491        if (!c) return;
3492        return (r = c.body) === l ? v.offset.bodyOffset(l) : (n = c.documentElement, v.contains(n, l) ? (typeof l.getBoundingClientRect != "undefined" && (f = l.getBoundingClientRect()), i = tr(c), s = n.clientTop || r.clientTop || 0, o = n.clientLeft || r.clientLeft || 0, u = i.pageYOffset || n.scrollTop, a = i.pageXOffset || n.scrollLeft, {
3493            top: f.top + u - s,
3494            left: f.left + a - o
3495        }) : f)
3496    }, v.offset = {
3497        bodyOffset: function(e) {
3498            var t = e.offsetTop,
3499                n = e.offsetLeft;
3500            return v.support.doesNotIncludeMarginInBodyOffset && (t += parseFloat(v.css(e, "marginTop")) || 0, n += parseFloat(v.css(e, "marginLeft")) || 0), {
3501                top: t,
3502                left: n
3503            }
3504        },
3505        setOffset: function(e, t, n) {
3506            var r = v.css(e, "position");
3507            r === "static" && (e.style.position = "relative");
3508            var i = v(e),
3509                s = i.offset(),
3510                o = v.css(e, "top"),
3511                u = v.css(e, "left"),
3512                a = (r === "absolute" || r === "fixed") && v.inArray("auto", [o, u]) > -1,
3513                f = {},
3514                l = {},
3515                c, h;
3516            a ? (l = i.position(), c = l.top, h = l.left) : (c = parseFloat(o) || 0, h = parseFloat(u) || 0), v.isFunction(t) && (t = t.call(e, n, s)), t.top != null && (f.top = t.top - s.top + c), t.left != null && (f.left = t.left - s.left + h), "using" in t ? t.using.call(e, f) : i.css(f)
3517        }
3518    }, v.fn.extend({
3519        position: function() {
3520            if (!this[0]) return;
3521            var e = this[0],
3522                t = this.offsetParent(),
3523                n = this.offset(),
3524                r = er.test(t[0].nodeName) ? {
3525                    top: 0,
3526                    left: 0
3527                } : t.offset();
3528            return n.top -= parseFloat(v.css(e, "marginTop")) || 0, n.left -= parseFloat(v.css(e, "marginLeft")) || 0, r.top += parseFloat(v.css(t[0], "borderTopWidth")) || 0, r.left += parseFloat(v.css(t[0], "borderLeftWidth")) || 0, {
3529                top: n.top - r.top,
3530                left: n.left - r.left
3531            }
3532        },
3533        offsetParent: function() {
3534            return this.map(function() {
3535                var e = this.offsetParent || i.body;
3536                while (e && !er.test(e.nodeName) && v.css(e, "position") === "static") e = e.offsetParent;
3537                return e || i.body
3538            })
3539        }
3540    }), v.each({
3541        scrollLeft: "pageXOffset",
3542        scrollTop: "pageYOffset"
3543    }, function(e, n) {
3544        var r = /Y/.test(n);
3545        v.fn[e] = function(i) {
3546            return v.access(this, function(e, i, s) {
3547                var o = tr(e);
3548                if (s === t) return o ? n in o ? o[n] : o.document.documentElement[i] : e[i];
3549                o ? o.scrollTo(r ? v(o).scrollLeft() : s, r ? s : v(o).scrollTop()) : e[i] = s
3550            }, e, i, arguments.length, null)
3551        }
3552    }), v.each({
3553        Height: "height",
3554        Width: "width"
3555    }, function(e, n) {
3556        v.each({
3557            padding: "inner" + e,
3558            content: n,
3559            "": "outer" + e
3560        }, function(r, i) {
3561            v.fn[i] = function(i, s) {
3562                var o = arguments.length && (r || typeof i != "boolean"),
3563                    u = r || (i === !0 || s === !0 ? "margin" : "border");
3564                return v.access(this, function(n, r, i) {
3565                    var s;
3566                    return v.isWindow(n) ? n.document.documentElement["client" + e] : n.nodeType === 9 ? (s = n.documentElement, Math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? v.css(n, r, i, u) : v.style(n, r, i, u)
3567                }, n, o ? i : t, o, null)
3568            }
3569        })
3570    }), e.jQuery = e.$ = v, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() {
3571        return v
3572    })
3573})(window);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.