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