Advertisement
Guest User

Browser Link js

a guest
Nov 10th, 2015
551
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 258.77 KB | None | 0 0
  1. typeof JSON != "undefined" && (window._vwdJSON = JSON), typeof define != "undefined" && (window._vwdDefine = define, define = null);
  2. /* NUGET: BEGIN LICENSE TEXT
  3. *
  4. * Microsoft grants you the right to use these script files for the sole
  5. * purpose of either: (i) interacting through your browser with the Microsoft
  6. * website or online service, subject to the applicable licensing or use
  7. * terms; or (ii) using the files as included with a Microsoft product subject
  8. * to that product's license terms. Microsoft reserves all other rights to the
  9. * files not expressly granted by Microsoft, whether by implication, estoppel
  10. * or otherwise. Insofar as a script file is dual licensed under GPL,
  11. * Microsoft neither took the code under GPL nor distributes it thereunder but
  12. * under the terms set out in this paragraph. All notices and licenses
  13. * below are for informational purposes only.
  14. *
  15. * NUGET: END LICENSE TEXT */
  16. var JSON;
  17. JSON || (JSON = {}), (function() {
  18. "use strict";
  19.  
  20. function i(n) {
  21. return n < 10 ? "0" + n : n
  22. }
  23.  
  24. function f(n) {
  25. return o.lastIndex = 0, o.test(n) ? '"' + n.replace(o, function(n) {
  26. var t = s[n];
  27. return typeof t == "string" ? t : "\\u" + ("0000" + n.charCodeAt(0).toString(16)).slice(-4)
  28. }) + '"' : '"' + n + '"'
  29. }
  30.  
  31. function r(i, e) {
  32. var h, l, c, a, v = n,
  33. s, o = e[i];
  34. o && typeof o == "object" && typeof o.toJSON == "function" && (o = o.toJSON(i)), typeof t == "function" && (o = t.call(e, i, o));
  35. switch (typeof o) {
  36. case "string":
  37. return f(o);
  38. case "number":
  39. return isFinite(o) ? String(o) : "null";
  40. case "boolean":
  41. case "null":
  42. return String(o);
  43. case "object":
  44. if (!o) return "null";
  45. n += u, s = [];
  46. if (Object.prototype.toString.apply(o) === "[object Array]") {
  47. for (a = o.length, h = 0; h < a; h += 1) s[h] = r(h, o) || "null";
  48. return c = s.length === 0 ? "[]" : n ? "[\n" + n + s.join(",\n" + n) + "\n" + v + "]" : "[" + s.join(",") + "]", n = v, c
  49. }
  50. if (t && typeof t == "object")
  51. for (a = t.length, h = 0; h < a; h += 1) typeof t[h] == "string" && (l = t[h], c = r(l, o), c && s.push(f(l) + (n ? ": " : ":") + c));
  52. else
  53. for (l in o) Object.prototype.hasOwnProperty.call(o, l) && (c = r(l, o), c && s.push(f(l) + (n ? ": " : ":") + c));
  54. return c = s.length === 0 ? "{}" : n ? "{\n" + n + s.join(",\n" + n) + "\n" + v + "}" : "{" + s.join(",") + "}", n = v, c
  55. }
  56. }
  57. typeof Date.prototype.toJSON != "function" && (Date.prototype.toJSON = function() {
  58. return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + i(this.getUTCMonth() + 1) + "-" + i(this.getUTCDate()) + "T" + i(this.getUTCHours()) + ":" + i(this.getUTCMinutes()) + ":" + i(this.getUTCSeconds()) + "Z" : null
  59. }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {
  60. return this.valueOf()
  61. });
  62. var e = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
  63. o = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
  64. n, u, s = {
  65. "\b": "\\b",
  66. "\t": "\\t",
  67. "\n": "\\n",
  68. "\f": "\\f",
  69. "\r": "\\r",
  70. '"': '\\"',
  71. "\\": "\\\\"
  72. }, t;
  73. typeof JSON.stringify != "function" && (JSON.stringify = function(i, f, e) {
  74. var o;
  75. n = "", u = "";
  76. if (typeof e == "number")
  77. for (o = 0; o < e; o += 1) u += " ";
  78. else typeof e == "string" && (u = e);
  79. t = f;
  80. if (f && typeof f != "function" && (typeof f != "object" || typeof f.length != "number")) throw new Error("JSON.stringify");
  81. return r("", {
  82. "": i
  83. })
  84. }), typeof JSON.parse != "function" && (JSON.parse = function(n, t) {
  85. function r(n, i) {
  86. var f, e, u = n[i];
  87. if (u && typeof u == "object")
  88. for (f in u) Object.prototype.hasOwnProperty.call(u, f) && (e = r(u, f), e !== undefined ? u[f] = e : delete u[f]);
  89. return t.call(n, i, u)
  90. }
  91. var i;
  92. n = String(n), e.lastIndex = 0, e.test(n) && (n = n.replace(e, function(n) {
  93. return "\\u" + ("0000" + n.charCodeAt(0).toString(16)).slice(-4)
  94. }));
  95. if (/^[\],:{}\s]*$/.test(n.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return i = eval("(" + n + ")"), typeof t == "function" ? r({
  96. "": i
  97. }, "") : i;
  98. throw new SyntaxError("JSON.parse");
  99. })
  100. })();
  101. /* NUGET: BEGIN LICENSE TEXT
  102. *
  103. * Microsoft grants you the right to use these script files for the sole
  104. * purpose of either: (i) interacting through your browser with the Microsoft
  105. * website or online service, subject to the applicable licensing or use
  106. * terms; or (ii) using the files as included with a Microsoft product subject
  107. * to that product's license terms. Microsoft reserves all other rights to the
  108. * files not expressly granted by Microsoft, whether by implication, estoppel
  109. * or otherwise. Insofar as a script file is dual licensed under GPL,
  110. * Microsoft neither took the code under GPL nor distributes it thereunder but
  111. * under the terms set out in this paragraph. All notices and licenses
  112. * below are for informational purposes only.
  113. *
  114. * JQUERY CORE 1.8.2; Copyright 2012 jQuery Foundation and other contributors; http://jquery.org/license
  115. * Includes Sizzle CSS Selector Engine; Copyright 2012 jQuery Foundation and other contributors; http://opensource.org/licenses/MIT
  116. *
  117. * NUGET: END LICENSE TEXT */
  118. /*! jQuery v1.8.2 jquery.com | jquery.org/license */
  119. (function(a, b) {
  120. function G(a) {
  121. var b = F[a] = {};
  122. return p.each(a.split(s), function(a, c) {
  123. b[c] = !0
  124. }), b
  125. }
  126.  
  127. function J(a, c, d) {
  128. if (d === b && a.nodeType === 1) {
  129. var e = "data-" + c.replace(I, "-$1").toLowerCase();
  130. d = a.getAttribute(e);
  131. if (typeof d == "string") {
  132. try {
  133. d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : +d + "" === d ? +d : H.test(d) ? p.parseJSON(d) : d
  134. } catch (f) {}
  135. p.data(a, c, d)
  136. } else d = b
  137. }
  138. return d
  139. }
  140.  
  141. function K(a) {
  142. var b;
  143. for (b in a) {
  144. if (b === "data" && p.isEmptyObject(a[b])) continue;
  145. if (b !== "toJSON") return !1
  146. }
  147. return !0
  148. }
  149.  
  150. function ba() {
  151. return !1
  152. }
  153.  
  154. function bb() {
  155. return !0
  156. }
  157.  
  158. function bh(a) {
  159. return !a || !a.parentNode || a.parentNode.nodeType === 11
  160. }
  161.  
  162. function bi(a, b) {
  163. do a = a[b]; while (a && a.nodeType !== 1);
  164. return a
  165. }
  166.  
  167. function bj(a, b, c) {
  168. b = b || 0;
  169. if (p.isFunction(b)) return p.grep(a, function(a, d) {
  170. var e = !! b.call(a, d, a);
  171. return e === c
  172. });
  173. if (b.nodeType) return p.grep(a, function(a, d) {
  174. return a === b === c
  175. });
  176. if (typeof b == "string") {
  177. var d = p.grep(a, function(a) {
  178. return a.nodeType === 1
  179. });
  180. if (be.test(b)) return p.filter(b, d, !c);
  181. b = p.filter(b, d)
  182. }
  183. return p.grep(a, function(a, d) {
  184. return p.inArray(a, b) >= 0 === c
  185. })
  186. }
  187.  
  188. function bk(a) {
  189. var b = bl.split("|"),
  190. c = a.createDocumentFragment();
  191. if (c.createElement)
  192. while (b.length) c.createElement(b.pop());
  193. return c
  194. }
  195.  
  196. function bC(a, b) {
  197. return a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))
  198. }
  199.  
  200. function bD(a, b) {
  201. if (b.nodeType !== 1 || !p.hasData(a)) return;
  202. var c, d, e, f = p._data(a),
  203. g = p._data(b, f),
  204. h = f.events;
  205. if (h) {
  206. delete g.handle, g.events = {};
  207. for (c in h)
  208. for (d = 0, e = h[c].length; d < e; d++) p.event.add(b, c, h[c][d])
  209. }
  210. g.data && (g.data = p.extend({}, g.data))
  211. }
  212.  
  213. function bE(a, b) {
  214. var c;
  215. if (b.nodeType !== 1) return;
  216. b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(), c === "object" ? (b.parentNode && (b.outerHTML = a.outerHTML), p.support.html5Clone && a.innerHTML && !p.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : c === "input" && bv.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : c === "option" ? b.selected = a.defaultSelected : c === "input" || c === "textarea" ? b.defaultValue = a.defaultValue : c === "script" && b.text !== a.text && (b.text = a.text), b.removeAttribute(p.expando)
  217. }
  218.  
  219. function bF(a) {
  220. return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : []
  221. }
  222.  
  223. function bG(a) {
  224. bv.test(a.type) && (a.defaultChecked = a.checked)
  225. }
  226.  
  227. function bY(a, b) {
  228. if (b in a) return b;
  229. var c = b.charAt(0).toUpperCase() + b.slice(1),
  230. d = b,
  231. e = bW.length;
  232. while (e--) {
  233. b = bW[e] + c;
  234. if (b in a) return b
  235. }
  236. return d
  237. }
  238.  
  239. function bZ(a, b) {
  240. return a = b || a, p.css(a, "display") === "none" || !p.contains(a.ownerDocument, a)
  241. }
  242.  
  243. function b$(a, b) {
  244. var c, d, e = [],
  245. f = 0,
  246. g = a.length;
  247. for (; f < g; f++) {
  248. c = a[f];
  249. if (!c.style) continue;
  250. e[f] = p._data(c, "olddisplay"), b ? (!e[f] && c.style.display === "none" && (c.style.display = ""), c.style.display === "" && bZ(c) && (e[f] = p._data(c, "olddisplay", cc(c.nodeName)))) : (d = bH(c, "display"), !e[f] && d !== "none" && p._data(c, "olddisplay", d))
  251. }
  252. for (f = 0; f < g; f++) {
  253. c = a[f];
  254. if (!c.style) continue;
  255. if (!b || c.style.display === "none" || c.style.display === "") c.style.display = b ? e[f] || "" : "none"
  256. }
  257. return a
  258. }
  259.  
  260. function b_(a, b, c) {
  261. var d = bP.exec(b);
  262. return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b
  263. }
  264.  
  265. function ca(a, b, c, d) {
  266. var e = c === (d ? "border" : "content") ? 4 : b === "width" ? 1 : 0,
  267. f = 0;
  268. for (; e < 4; e += 2) c === "margin" && (f += p.css(a, c + bV[e], !0)), d ? (c === "content" && (f -= parseFloat(bH(a, "padding" + bV[e])) || 0), c !== "margin" && (f -= parseFloat(bH(a, "border" + bV[e] + "Width")) || 0)) : (f += parseFloat(bH(a, "padding" + bV[e])) || 0, c !== "padding" && (f += parseFloat(bH(a, "border" + bV[e] + "Width")) || 0));
  269. return f
  270. }
  271.  
  272. function cb(a, b, c) {
  273. var d = b === "width" ? a.offsetWidth : a.offsetHeight,
  274. e = !0,
  275. f = p.support.boxSizing && p.css(a, "boxSizing") === "border-box";
  276. if (d <= 0 || d == null) {
  277. d = bH(a, b);
  278. if (d < 0 || d == null) d = a.style[b];
  279. if (bQ.test(d)) return d;
  280. e = f && (p.support.boxSizingReliable || d === a.style[b]), d = parseFloat(d) || 0
  281. }
  282. return d + ca(a, b, c || (f ? "border" : "content"), e) + "px"
  283. }
  284.  
  285. function cc(a) {
  286. if (bS[a]) return bS[a];
  287. var b = p("<" + a + ">").appendTo(e.body),
  288. c = b.css("display");
  289. b.remove();
  290. if (c === "none" || c === "") {
  291. bI = e.body.appendChild(bI || p.extend(e.createElement("iframe"), {
  292. frameBorder: 0,
  293. width: 0,
  294. height: 0
  295. }));
  296. if (!bJ || !bI.createElement) bJ = (bI.contentWindow || bI.contentDocument).document, bJ.write("<!doctype html><html><body>"), bJ.close();
  297. b = bJ.body.appendChild(bJ.createElement(a)), c = bH(b, "display"), e.body.removeChild(bI)
  298. }
  299. return bS[a] = c, c
  300. }
  301.  
  302. function ci(a, b, c, d) {
  303. var e;
  304. if (p.isArray(b)) p.each(b, function(b, e) {
  305. c || ce.test(a) ? d(a, e) : ci(a + "[" + (typeof e == "object" ? b : "") + "]", e, c, d)
  306. });
  307. else if (!c && p.type(b) === "object")
  308. for (e in b) ci(a + "[" + e + "]", b[e], c, d);
  309. else d(a, b)
  310. }
  311.  
  312. function cz(a) {
  313. return function(b, c) {
  314. typeof b != "string" && (c = b, b = "*");
  315. var d, e, f, g = b.toLowerCase().split(s),
  316. h = 0,
  317. i = g.length;
  318. if (p.isFunction(c))
  319. for (; h < i; h++) d = g[h], f = /^\+/.test(d), f && (d = d.substr(1) || "*"), e = a[d] = a[d] || [], e[f ? "unshift" : "push"](c)
  320. }
  321. }
  322.  
  323. function cA(a, c, d, e, f, g) {
  324. f = f || c.dataTypes[0], g = g || {}, g[f] = !0;
  325. var h, i = a[f],
  326. j = 0,
  327. k = i ? i.length : 0,
  328. l = a === cv;
  329. for (; j < k && (l || !h); j++) h = i[j](c, d, e), typeof h == "string" && (!l || g[h] ? h = b : (c.dataTypes.unshift(h), h = cA(a, c, d, e, h, g)));
  330. return (l || !h) && !g["*"] && (h = cA(a, c, d, e, "*", g)), h
  331. }
  332.  
  333. function cB(a, c) {
  334. var d, e, f = p.ajaxSettings.flatOptions || {};
  335. for (d in c) c[d] !== b && ((f[d] ? a : e || (e = {}))[d] = c[d]);
  336. e && p.extend(!0, a, e)
  337. }
  338.  
  339. function cC(a, c, d) {
  340. var e, f, g, h, i = a.contents,
  341. j = a.dataTypes,
  342. k = a.responseFields;
  343. for (f in k) f in d && (c[k[f]] = d[f]);
  344. while (j[0] === "*") j.shift(), e === b && (e = a.mimeType || c.getResponseHeader("content-type"));
  345. if (e)
  346. for (f in i)
  347. if (i[f] && i[f].test(e)) {
  348. j.unshift(f);
  349. break
  350. }
  351. if (j[0] in d) g = j[0];
  352. else {
  353. for (f in d) {
  354. if (!j[0] || a.converters[f + " " + j[0]]) {
  355. g = f;
  356. break
  357. }
  358. h || (h = f)
  359. }
  360. g = g || h
  361. } if (g) return g !== j[0] && j.unshift(g), d[g]
  362. }
  363.  
  364. function cD(a, b) {
  365. var c, d, e, f, g = a.dataTypes.slice(),
  366. h = g[0],
  367. i = {}, j = 0;
  368. a.dataFilter && (b = a.dataFilter(b, a.dataType));
  369. if (g[1])
  370. for (c in a.converters) i[c.toLowerCase()] = a.converters[c];
  371. for (; e = g[++j];)
  372. if (e !== "*") {
  373. if (h !== "*" && h !== e) {
  374. c = i[h + " " + e] || i["* " + e];
  375. if (!c)
  376. for (d in i) {
  377. f = d.split(" ");
  378. if (f[1] === e) {
  379. c = i[h + " " + f[0]] || i["* " + f[0]];
  380. if (c) {
  381. c === !0 ? c = i[d] : i[d] !== !0 && (e = f[0], g.splice(j--, 0, e));
  382. break
  383. }
  384. }
  385. }
  386. if (c !== !0)
  387. if (c && a["throws"]) b = c(b);
  388. else try {
  389. b = c(b)
  390. } catch (k) {
  391. return {
  392. state: "parsererror",
  393. error: c ? k : "No conversion from " + h + " to " + e
  394. }
  395. }
  396. }
  397. h = e
  398. }
  399. return {
  400. state: "success",
  401. data: b
  402. }
  403. }
  404.  
  405. function cL() {
  406. try {
  407. return new a.XMLHttpRequest
  408. } catch (b) {}
  409. }
  410.  
  411. function cM() {
  412. try {
  413. return new a.ActiveXObject("Microsoft.XMLHTTP")
  414. } catch (b) {}
  415. }
  416.  
  417. function cU() {
  418. return setTimeout(function() {
  419. cN = b
  420. }, 0), cN = p.now()
  421. }
  422.  
  423. function cV(a, b) {
  424. p.each(b, function(b, c) {
  425. var d = (cT[b] || []).concat(cT["*"]),
  426. e = 0,
  427. f = d.length;
  428. for (; e < f; e++)
  429. if (d[e].call(a, b, c)) return
  430. })
  431. }
  432.  
  433. function cW(a, b, c) {
  434. var d, e = 0,
  435. f = 0,
  436. g = cS.length,
  437. h = p.Deferred().always(function() {
  438. delete i.elem
  439. }),
  440. i = function() {
  441. var b = cN || cU(),
  442. c = Math.max(0, j.startTime + j.duration - b),
  443. d = 1 - (c / j.duration || 0),
  444. e = 0,
  445. f = j.tweens.length;
  446. for (; e < f; e++) j.tweens[e].run(d);
  447. return h.notifyWith(a, [j, d, c]), d < 1 && f ? c : (h.resolveWith(a, [j]), !1)
  448. }, j = h.promise({
  449. elem: a,
  450. props: p.extend({}, b),
  451. opts: p.extend(!0, {
  452. specialEasing: {}
  453. }, c),
  454. originalProperties: b,
  455. originalOptions: c,
  456. startTime: cN || cU(),
  457. duration: c.duration,
  458. tweens: [],
  459. createTween: function(b, c, d) {
  460. var e = p.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
  461. return j.tweens.push(e), e
  462. },
  463. stop: function(b) {
  464. var c = 0,
  465. d = b ? j.tweens.length : 0;
  466. for (; c < d; c++) j.tweens[c].run(1);
  467. return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this
  468. }
  469. }),
  470. k = j.props;
  471. cX(k, j.opts.specialEasing);
  472. for (; e < g; e++) {
  473. d = cS[e].call(j, a, k, j.opts);
  474. if (d) return d
  475. }
  476. return cV(j, k), p.isFunction(j.opts.start) && j.opts.start.call(a, j), p.fx.timer(p.extend(i, {
  477. anim: j,
  478. queue: j.opts.queue,
  479. elem: a
  480. })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
  481. }
  482.  
  483. function cX(a, b) {
  484. var c, d, e, f, g;
  485. for (c in a) {
  486. d = p.camelCase(c), e = b[d], f = a[c], p.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = p.cssHooks[d];
  487. if (g && "expand" in g) {
  488. f = g.expand(f), delete a[d];
  489. for (c in f) c in a || (a[c] = f[c], b[c] = e)
  490. } else b[d] = e
  491. }
  492. }
  493.  
  494. function cY(a, b, c) {
  495. var d, e, f, g, h, i, j, k, l = this,
  496. m = a.style,
  497. n = {}, o = [],
  498. q = a.nodeType && bZ(a);
  499. c.queue || (j = p._queueHooks(a, "fx"), j.unqueued == null && (j.unqueued = 0, k = j.empty.fire, j.empty.fire = function() {
  500. j.unqueued || k()
  501. }), j.unqueued++, l.always(function() {
  502. l.always(function() {
  503. j.unqueued--, p.queue(a, "fx").length || j.empty.fire()
  504. })
  505. })), a.nodeType === 1 && ("height" in b || "width" in b) && (c.overflow = [m.overflow, m.overflowX, m.overflowY], p.css(a, "display") === "inline" && p.css(a, "float") === "none" && (!p.support.inlineBlockNeedsLayout || cc(a.nodeName) === "inline" ? m.display = "inline-block" : m.zoom = 1)), c.overflow && (m.overflow = "hidden", p.support.shrinkWrapBlocks || l.done(function() {
  506. m.overflow = c.overflow[0], m.overflowX = c.overflow[1], m.overflowY = c.overflow[2]
  507. }));
  508. for (d in b) {
  509. f = b[d];
  510. if (cP.exec(f)) {
  511. delete b[d];
  512. if (f === (q ? "hide" : "show")) continue;
  513. o.push(d)
  514. }
  515. }
  516. g = o.length;
  517. if (g) {
  518. h = p._data(a, "fxshow") || p._data(a, "fxshow", {}), q ? p(a).show() : l.done(function() {
  519. p(a).hide()
  520. }), l.done(function() {
  521. var b;
  522. p.removeData(a, "fxshow", !0);
  523. for (b in n) p.style(a, b, n[b])
  524. });
  525. for (d = 0; d < g; d++) e = o[d], i = l.createTween(e, q ? h[e] : 0), n[e] = h[e] || p.style(a, e), e in h || (h[e] = i.start, q && (i.end = i.start, i.start = e === "width" || e === "height" ? 1 : 0))
  526. }
  527. }
  528.  
  529. function cZ(a, b, c, d, e) {
  530. return new cZ.prototype.init(a, b, c, d, e)
  531. }
  532.  
  533. function c$(a, b) {
  534. var c, d = {
  535. height: a
  536. }, e = 0;
  537. b = b ? 1 : 0;
  538. for (; e < 4; e += 2 - b) c = bV[e], d["margin" + c] = d["padding" + c] = a;
  539. return b && (d.opacity = d.width = a), d
  540. }
  541.  
  542. function da(a) {
  543. return p.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1
  544. }
  545. var c, d, e = a.document,
  546. f = a.location,
  547. g = a.navigator,
  548. h = a.jQuery,
  549. i = a.$,
  550. j = Array.prototype.push,
  551. k = Array.prototype.slice,
  552. l = Array.prototype.indexOf,
  553. m = Object.prototype.toString,
  554. n = Object.prototype.hasOwnProperty,
  555. o = String.prototype.trim,
  556. p = function(a, b) {
  557. return new p.fn.init(a, b, c)
  558. }, q = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,
  559. r = /\S/,
  560. s = /\s+/,
  561. t = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  562. u = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
  563. v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
  564. w = /^[\],:{}\s]*$/,
  565. x = /(?:^|:|,)(?:\s*\[)+/g,
  566. y = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
  567. z = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,
  568. A = /^-ms-/,
  569. B = /-([\da-z])/gi,
  570. C = function(a, b) {
  571. return (b + "").toUpperCase()
  572. }, D = function() {
  573. e.addEventListener ? (e.removeEventListener("DOMContentLoaded", D, !1), p.ready()) : e.readyState === "complete" && (e.detachEvent("onreadystatechange", D), p.ready())
  574. }, E = {};
  575. p.fn = p.prototype = {
  576. constructor: p,
  577. init: function(a, c, d) {
  578. var f, g, h, i;
  579. if (!a) return this;
  580. if (a.nodeType) return this.context = this[0] = a, this.length = 1, this;
  581. if (typeof a == "string") {
  582. a.charAt(0) === "<" && a.charAt(a.length - 1) === ">" && a.length >= 3 ? f = [null, a, null] : f = u.exec(a);
  583. if (f && (f[1] || !c)) {
  584. if (f[1]) return c = c instanceof p ? c[0] : c, i = c && c.nodeType ? c.ownerDocument || c : e, a = p.parseHTML(f[1], i, !0), v.test(f[1]) && p.isPlainObject(c) && this.attr.call(a, c, !0), p.merge(this, a);
  585. g = e.getElementById(f[2]);
  586. if (g && g.parentNode) {
  587. if (g.id !== f[2]) return d.find(a);
  588. this.length = 1, this[0] = g
  589. }
  590. return this.context = e, this.selector = a, this
  591. }
  592. return !c || c.jquery ? (c || d).find(a) : this.constructor(c).find(a)
  593. }
  594. return p.isFunction(a) ? d.ready(a) : (a.selector !== b && (this.selector = a.selector, this.context = a.context), p.makeArray(a, this))
  595. },
  596. selector: "",
  597. jquery: "1.8.2",
  598. length: 0,
  599. size: function() {
  600. return this.length
  601. },
  602. toArray: function() {
  603. return k.call(this)
  604. },
  605. get: function(a) {
  606. return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a]
  607. },
  608. pushStack: function(a, b, c) {
  609. var d = p.merge(this.constructor(), a);
  610. return d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"), d
  611. },
  612. each: function(a, b) {
  613. return p.each(this, a, b)
  614. },
  615. ready: function(a) {
  616. return p.ready.promise().done(a), this
  617. },
  618. eq: function(a) {
  619. return a = +a, a === -1 ? this.slice(a) : this.slice(a, a + 1)
  620. },
  621. first: function() {
  622. return this.eq(0)
  623. },
  624. last: function() {
  625. return this.eq(-1)
  626. },
  627. slice: function() {
  628. return this.pushStack(k.apply(this, arguments), "slice", k.call(arguments).join(","))
  629. },
  630. map: function(a) {
  631. return this.pushStack(p.map(this, function(b, c) {
  632. return a.call(b, c, b)
  633. }))
  634. },
  635. end: function() {
  636. return this.prevObject || this.constructor(null)
  637. },
  638. push: j,
  639. sort: [].sort,
  640. splice: [].splice
  641. }, p.fn.init.prototype = p.fn, p.extend = p.fn.extend = function() {
  642. var a, c, d, e, f, g, h = arguments[0] || {}, i = 1,
  643. j = arguments.length,
  644. k = !1;
  645. typeof h == "boolean" && (k = h, h = arguments[1] || {}, i = 2), typeof h != "object" && !p.isFunction(h) && (h = {}), j === i && (h = this, --i);
  646. for (; i < j; i++)
  647. if ((a = arguments[i]) != null)
  648. for (c in a) {
  649. d = h[c], e = a[c];
  650. if (h === e) continue;
  651. k && e && (p.isPlainObject(e) || (f = p.isArray(e))) ? (f ? (f = !1, g = d && p.isArray(d) ? d : []) : g = d && p.isPlainObject(d) ? d : {}, h[c] = p.extend(k, g, e)) : e !== b && (h[c] = e)
  652. }
  653. return h
  654. }, p.extend({
  655. noConflict: function(b) {
  656. return a.$ === p && (a.$ = i), b && a.jQuery === p && (a.jQuery = h), p
  657. },
  658. isReady: !1,
  659. readyWait: 1,
  660. holdReady: function(a) {
  661. a ? p.readyWait++ : p.ready(!0)
  662. },
  663. ready: function(a) {
  664. if (a === !0 ? --p.readyWait : p.isReady) return;
  665. if (!e.body) return setTimeout(p.ready, 1);
  666. p.isReady = !0;
  667. if (a !== !0 && --p.readyWait > 0) return;
  668. d.resolveWith(e, [p]), p.fn.trigger && p(e).trigger("ready").off("ready")
  669. },
  670. isFunction: function(a) {
  671. return p.type(a) === "function"
  672. },
  673. isArray: Array.isArray || function(a) {
  674. return p.type(a) === "array"
  675. },
  676. isWindow: function(a) {
  677. return a != null && a == a.window
  678. },
  679. isNumeric: function(a) {
  680. return !isNaN(parseFloat(a)) && isFinite(a)
  681. },
  682. type: function(a) {
  683. return a == null ? String(a) : E[m.call(a)] || "object"
  684. },
  685. isPlainObject: function(a) {
  686. if (!a || p.type(a) !== "object" || a.nodeType || p.isWindow(a)) return !1;
  687. try {
  688. if (a.constructor && !n.call(a, "constructor") && !n.call(a.constructor.prototype, "isPrototypeOf")) return !1
  689. } catch (c) {
  690. return !1
  691. }
  692. var d;
  693. for (d in a);
  694. return d === b || n.call(a, d)
  695. },
  696. isEmptyObject: function(a) {
  697. var b;
  698. for (b in a) return !1;
  699. return !0
  700. },
  701. error: function(a) {
  702. throw new Error(a)
  703. },
  704. parseHTML: function(a, b, c) {
  705. var d;
  706. return !a || typeof a != "string" ? null : (typeof b == "boolean" && (c = b, b = 0), b = b || e, (d = v.exec(a)) ? [b.createElement(d[1])] : (d = p.buildFragment([a], b, c ? null : []), p.merge([], (d.cacheable ? p.clone(d.fragment) : d.fragment).childNodes)))
  707. },
  708. parseJSON: function(b) {
  709. if (!b || typeof b != "string") return null;
  710. b = p.trim(b);
  711. if (a.JSON && a.JSON.parse) return a.JSON.parse(b);
  712. if (w.test(b.replace(y, "@").replace(z, "]").replace(x, ""))) return (new Function("return " + b))();
  713. p.error("Invalid JSON: " + b)
  714. },
  715. parseXML: function(c) {
  716. var d, e;
  717. if (!c || typeof c != "string") return null;
  718. try {
  719. a.DOMParser ? (e = new DOMParser, d = e.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c))
  720. } catch (f) {
  721. d = b
  722. }
  723. return (!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && p.error("Invalid XML: " + c), d
  724. },
  725. noop: function() {},
  726. globalEval: function(b) {
  727. b && r.test(b) && (a.execScript || function(b) {
  728. a.eval.call(a, b)
  729. })(b)
  730. },
  731. camelCase: function(a) {
  732. return a.replace(A, "ms-").replace(B, C)
  733. },
  734. nodeName: function(a, b) {
  735. return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
  736. },
  737. each: function(a, c, d) {
  738. var e, f = 0,
  739. g = a.length,
  740. h = g === b || p.isFunction(a);
  741. if (d) {
  742. if (h) {
  743. for (e in a)
  744. if (c.apply(a[e], d) === !1) break
  745. } else
  746. for (; f < g;)
  747. if (c.apply(a[f++], d) === !1) break
  748. } else if (h) {
  749. for (e in a)
  750. if (c.call(a[e], e, a[e]) === !1) break
  751. } else
  752. for (; f < g;)
  753. if (c.call(a[f], f, a[f++]) === !1) break; return a
  754. },
  755. trim: o && !o.call(" ") ? function(a) {
  756. return a == null ? "" : o.call(a)
  757. } : function(a) {
  758. return a == null ? "" : (a + "").replace(t, "")
  759. },
  760. makeArray: function(a, b) {
  761. var c, d = b || [];
  762. return a != null && (c = p.type(a), a.length == null || c === "string" || c === "function" || c === "regexp" || p.isWindow(a) ? j.call(d, a) : p.merge(d, a)), d
  763. },
  764. inArray: function(a, b, c) {
  765. var d;
  766. if (b) {
  767. if (l) return l.call(b, a, c);
  768. d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0;
  769. for (; c < d; c++)
  770. if (c in b && b[c] === a) return c
  771. }
  772. return -1
  773. },
  774. merge: function(a, c) {
  775. var d = c.length,
  776. e = a.length,
  777. f = 0;
  778. if (typeof d == "number")
  779. for (; f < d; f++) a[e++] = c[f];
  780. else
  781. while (c[f] !== b) a[e++] = c[f++];
  782. return a.length = e, a
  783. },
  784. grep: function(a, b, c) {
  785. var d, e = [],
  786. f = 0,
  787. g = a.length;
  788. c = !! c;
  789. for (; f < g; f++) d = !! b(a[f], f), c !== d && e.push(a[f]);
  790. return e
  791. },
  792. map: function(a, c, d) {
  793. var e, f, g = [],
  794. h = 0,
  795. i = a.length,
  796. j = a instanceof p || i !== b && typeof i == "number" && (i > 0 && a[0] && a[i - 1] || i === 0 || p.isArray(a));
  797. if (j)
  798. for (; h < i; h++) e = c(a[h], h, d), e != null && (g[g.length] = e);
  799. else
  800. for (f in a) e = c(a[f], f, d), e != null && (g[g.length] = e);
  801. return g.concat.apply([], g)
  802. },
  803. guid: 1,
  804. proxy: function(a, c) {
  805. var d, e, f;
  806. return typeof c == "string" && (d = a[c], c = a, a = d), p.isFunction(a) ? (e = k.call(arguments, 2), f = function() {
  807. return a.apply(c, e.concat(k.call(arguments)))
  808. }, f.guid = a.guid = a.guid || p.guid++, f) : b
  809. },
  810. access: function(a, c, d, e, f, g, h) {
  811. var i, j = d == null,
  812. k = 0,
  813. l = a.length;
  814. if (d && typeof d == "object") {
  815. for (k in d) p.access(a, c, k, d[k], 1, g, e);
  816. f = 1
  817. } else if (e !== b) {
  818. i = h === b && p.isFunction(e), j && (i ? (i = c, c = function(a, b, c) {
  819. return i.call(p(a), c)
  820. }) : (c.call(a, e), c = null));
  821. if (c)
  822. for (; k < l; k++) c(a[k], d, i ? e.call(a[k], k, c(a[k], d)) : e, h);
  823. f = 1
  824. }
  825. return f ? a : j ? c.call(a) : l ? c(a[0], d) : g
  826. },
  827. now: function() {
  828. return (new Date).getTime()
  829. }
  830. }), p.ready.promise = function(b) {
  831. if (!d) {
  832. d = p.Deferred();
  833. if (e.readyState === "complete") setTimeout(p.ready, 1);
  834. else if (e.addEventListener) e.addEventListener("DOMContentLoaded", D, !1), a.addEventListener("load", p.ready, !1);
  835. else {
  836. e.attachEvent("onreadystatechange", D), a.attachEvent("onload", p.ready);
  837. var c = !1;
  838. try {
  839. c = a.frameElement == null && e.documentElement
  840. } catch (f) {}
  841. c && c.doScroll && function g() {
  842. if (!p.isReady) {
  843. try {
  844. c.doScroll("left")
  845. } catch (a) {
  846. return setTimeout(g, 50)
  847. }
  848. p.ready()
  849. }
  850. }()
  851. }
  852. }
  853. return d.promise(b)
  854. }, p.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) {
  855. E["[object " + b + "]"] = b.toLowerCase()
  856. }), c = p(e);
  857. var F = {};
  858. p.Callbacks = function(a) {
  859. a = typeof a == "string" ? F[a] || G(a) : p.extend({}, a);
  860. var c, d, e, f, g, h, i = [],
  861. j = !a.once && [],
  862. k = function(b) {
  863. c = a.memory && b, d = !0, h = f || 0, f = 0, g = i.length, e = !0;
  864. for (; i && h < g; h++)
  865. if (i[h].apply(b[0], b[1]) === !1 && a.stopOnFalse) {
  866. c = !1;
  867. break
  868. }
  869. e = !1, i && (j ? j.length && k(j.shift()) : c ? i = [] : l.disable())
  870. }, l = {
  871. add: function() {
  872. if (i) {
  873. var b = i.length;
  874. (function d(b) {
  875. p.each(b, function(b, c) {
  876. var e = p.type(c);
  877. e === "function" && (!a.unique || !l.has(c)) ? i.push(c) : c && c.length && e !== "string" && d(c)
  878. })
  879. })(arguments), e ? g = i.length : c && (f = b, k(c))
  880. }
  881. return this
  882. },
  883. remove: function() {
  884. return i && p.each(arguments, function(a, b) {
  885. var c;
  886. while ((c = p.inArray(b, i, c)) > -1) i.splice(c, 1), e && (c <= g && g--, c <= h && h--)
  887. }), this
  888. },
  889. has: function(a) {
  890. return p.inArray(a, i) > -1
  891. },
  892. empty: function() {
  893. return i = [], this
  894. },
  895. disable: function() {
  896. return i = j = c = b, this
  897. },
  898. disabled: function() {
  899. return !i
  900. },
  901. lock: function() {
  902. return j = b, c || l.disable(), this
  903. },
  904. locked: function() {
  905. return !j
  906. },
  907. fireWith: function(a, b) {
  908. return b = b || [], b = [a, b.slice ? b.slice() : b], i && (!d || j) && (e ? j.push(b) : k(b)), this
  909. },
  910. fire: function() {
  911. return l.fireWith(this, arguments), this
  912. },
  913. fired: function() {
  914. return !!d
  915. }
  916. };
  917. return l
  918. }, p.extend({
  919. Deferred: function(a) {
  920. var b = [
  921. ["resolve", "done", p.Callbacks("once memory"), "resolved"],
  922. ["reject", "fail", p.Callbacks("once memory"), "rejected"],
  923. ["notify", "progress", p.Callbacks("memory")]
  924. ],
  925. c = "pending",
  926. d = {
  927. state: function() {
  928. return c
  929. },
  930. always: function() {
  931. return e.done(arguments).fail(arguments), this
  932. },
  933. then: function() {
  934. var a = arguments;
  935. return p.Deferred(function(c) {
  936. p.each(b, function(b, d) {
  937. var f = d[0],
  938. g = a[b];
  939. e[d[1]](p.isFunction(g) ? function() {
  940. var a = g.apply(this, arguments);
  941. a && p.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f + "With"](this === e ? c : this, [a])
  942. } : c[f])
  943. }), a = null
  944. }).promise()
  945. },
  946. promise: function(a) {
  947. return a != null ? p.extend(a, d) : d
  948. }
  949. }, e = {};
  950. return d.pipe = d.then, p.each(b, function(a, f) {
  951. var g = f[2],
  952. h = f[3];
  953. d[f[1]] = g.add, h && g.add(function() {
  954. c = h
  955. }, b[a ^ 1][2].disable, b[2][2].lock), e[f[0]] = g.fire, e[f[0] + "With"] = g.fireWith
  956. }), d.promise(e), a && a.call(e, e), e
  957. },
  958. when: function(a) {
  959. var b = 0,
  960. c = k.call(arguments),
  961. d = c.length,
  962. e = d !== 1 || a && p.isFunction(a.promise) ? d : 0,
  963. f = e === 1 ? a : p.Deferred(),
  964. g = function(a, b, c) {
  965. return function(d) {
  966. b[a] = this, c[a] = arguments.length > 1 ? k.call(arguments) : d, c === h ? f.notifyWith(b, c) : --e || f.resolveWith(b, c)
  967. }
  968. }, h, i, j;
  969. if (d > 1) {
  970. h = new Array(d), i = new Array(d), j = new Array(d);
  971. for (; b < d; b++) c[b] && p.isFunction(c[b].promise) ? c[b].promise().done(g(b, j, c)).fail(f.reject).progress(g(b, i, h)) : --e
  972. }
  973. return e || f.resolveWith(j, c), f.promise()
  974. }
  975. }), p.support = function() {
  976. var b, c, d, f, g, h, i, j, k, l, m, n = e.createElement("div");
  977. n.setAttribute("className", "t"), n.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", c = n.getElementsByTagName("*"), d = n.getElementsByTagName("a")[0], d.style.cssText = "top:1px;float:left;opacity:.5";
  978. if (!c || !c.length) return {};
  979. f = e.createElement("select"), g = f.appendChild(e.createElement("option")), h = n.getElementsByTagName("input")[0], b = {
  980. leadingWhitespace: n.firstChild.nodeType === 3,
  981. tbody: !n.getElementsByTagName("tbody").length,
  982. htmlSerialize: !! n.getElementsByTagName("link").length,
  983. style: /top/.test(d.getAttribute("style")),
  984. hrefNormalized: d.getAttribute("href") === "/a",
  985. opacity: /^0.5/.test(d.style.opacity),
  986. cssFloat: !! d.style.cssFloat,
  987. checkOn: h.value === "on",
  988. optSelected: g.selected,
  989. getSetAttribute: n.className !== "t",
  990. enctype: !! e.createElement("form").enctype,
  991. html5Clone: e.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>",
  992. boxModel: e.compatMode === "CSS1Compat",
  993. submitBubbles: !0,
  994. changeBubbles: !0,
  995. focusinBubbles: !1,
  996. deleteExpando: !0,
  997. noCloneEvent: !0,
  998. inlineBlockNeedsLayout: !1,
  999. shrinkWrapBlocks: !1,
  1000. reliableMarginRight: !0,
  1001. boxSizingReliable: !0,
  1002. pixelPosition: !1
  1003. }, h.checked = !0, b.noCloneChecked = h.cloneNode(!0).checked, f.disabled = !0, b.optDisabled = !g.disabled;
  1004. try {
  1005. delete n.test
  1006. } catch (o) {
  1007. b.deleteExpando = !1
  1008. }!n.addEventListener && n.attachEvent && n.fireEvent && (n.attachEvent("onclick", m = function() {
  1009. b.noCloneEvent = !1
  1010. }), n.cloneNode(!0).fireEvent("onclick"), n.detachEvent("onclick", m)), h = e.createElement("input"), h.value = "t", h.setAttribute("type", "radio"), b.radioValue = h.value === "t", h.setAttribute("checked", "checked"), h.setAttribute("name", "t"), n.appendChild(h), i = e.createDocumentFragment(), i.appendChild(n.lastChild), b.checkClone = i.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = h.checked, i.removeChild(h), i.appendChild(n);
  1011. if (n.attachEvent)
  1012. for (k in {
  1013. submit: !0,
  1014. change: !0,
  1015. focusin: !0
  1016. }) j = "on" + k, l = j in n, l || (n.setAttribute(j, "return;"), l = typeof n[j] == "function"), b[k + "Bubbles"] = l;
  1017. return p(function() {
  1018. var c, d, f, g, h = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
  1019. i = e.getElementsByTagName("body")[0];
  1020. if (!i) return;
  1021. c = e.createElement("div"), c.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", i.insertBefore(c, i.firstChild), d = e.createElement("div"), c.appendChild(d), d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", f = d.getElementsByTagName("td"), f[0].style.cssText = "padding:0;margin:0;border:0;display:none", l = f[0].offsetHeight === 0, f[0].style.display = "", f[1].style.display = "none", b.reliableHiddenOffsets = l && f[0].offsetHeight === 0, d.innerHTML = "", d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", b.boxSizing = d.offsetWidth === 4, b.doesNotIncludeMarginInBodyOffset = i.offsetTop !== 1, a.getComputedStyle && (b.pixelPosition = (a.getComputedStyle(d, null) || {}).top !== "1%", b.boxSizingReliable = (a.getComputedStyle(d, null) || {
  1022. width: "4px"
  1023. }).width === "4px", g = e.createElement("div"), g.style.cssText = d.style.cssText = h, g.style.marginRight = g.style.width = "0", d.style.width = "1px", d.appendChild(g), b.reliableMarginRight = !parseFloat((a.getComputedStyle(g, null) || {}).marginRight)), typeof d.style.zoom != "undefined" && (d.innerHTML = "", d.style.cssText = h + "width:1px;padding:1px;display:inline;zoom:1", b.inlineBlockNeedsLayout = d.offsetWidth === 3, d.style.display = "block", d.style.overflow = "visible", d.innerHTML = "<div></div>", d.firstChild.style.width = "5px", b.shrinkWrapBlocks = d.offsetWidth !== 3, c.style.zoom = 1), i.removeChild(c), c = d = f = g = null
  1024. }), i.removeChild(n), c = d = f = g = h = i = n = null, b
  1025. }();
  1026. var H = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
  1027. I = /([A-Z])/g;
  1028. p.extend({
  1029. cache: {},
  1030. deletedIds: [],
  1031. uuid: 0,
  1032. expando: "jQuery" + (p.fn.jquery + Math.random()).replace(/\D/g, ""),
  1033. noData: {
  1034. embed: !0,
  1035. object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
  1036. applet: !0
  1037. },
  1038. hasData: function(a) {
  1039. return a = a.nodeType ? p.cache[a[p.expando]] : a[p.expando], !! a && !K(a)
  1040. },
  1041. data: function(a, c, d, e) {
  1042. if (!p.acceptData(a)) return;
  1043. var f, g, h = p.expando,
  1044. i = typeof c == "string",
  1045. j = a.nodeType,
  1046. k = j ? p.cache : a,
  1047. l = j ? a[h] : a[h] && h;
  1048. if ((!l || !k[l] || !e && !k[l].data) && i && d === b) return;
  1049. l || (j ? a[h] = l = p.deletedIds.pop() || p.guid++ : l = h), k[l] || (k[l] = {}, j || (k[l].toJSON = p.noop));
  1050. if (typeof c == "object" || typeof c == "function") e ? k[l] = p.extend(k[l], c) : k[l].data = p.extend(k[l].data, c);
  1051. return f = k[l], e || (f.data || (f.data = {}), f = f.data), d !== b && (f[p.camelCase(c)] = d), i ? (g = f[c], g == null && (g = f[p.camelCase(c)])) : g = f, g
  1052. },
  1053. removeData: function(a, b, c) {
  1054. if (!p.acceptData(a)) return;
  1055. var d, e, f, g = a.nodeType,
  1056. h = g ? p.cache : a,
  1057. i = g ? a[p.expando] : p.expando;
  1058. if (!h[i]) return;
  1059. if (b) {
  1060. d = c ? h[i] : h[i].data;
  1061. if (d) {
  1062. p.isArray(b) || (b in d ? b = [b] : (b = p.camelCase(b), b in d ? b = [b] : b = b.split(" ")));
  1063. for (e = 0, f = b.length; e < f; e++) delete d[b[e]];
  1064. if (!(c ? K : p.isEmptyObject)(d)) return
  1065. }
  1066. }
  1067. if (!c) {
  1068. delete h[i].data;
  1069. if (!K(h[i])) return
  1070. }
  1071. g ? p.cleanData([a], !0) : p.support.deleteExpando || h != h.window ? delete h[i] : h[i] = null
  1072. },
  1073. _data: function(a, b, c) {
  1074. return p.data(a, b, c, !0)
  1075. },
  1076. acceptData: function(a) {
  1077. var b = a.nodeName && p.noData[a.nodeName.toLowerCase()];
  1078. return !b || b !== !0 && a.getAttribute("classid") === b
  1079. }
  1080. }), p.fn.extend({
  1081. data: function(a, c) {
  1082. var d, e, f, g, h, i = this[0],
  1083. j = 0,
  1084. k = null;
  1085. if (a === b) {
  1086. if (this.length) {
  1087. k = p.data(i);
  1088. if (i.nodeType === 1 && !p._data(i, "parsedAttrs")) {
  1089. f = i.attributes;
  1090. for (h = f.length; j < h; j++) g = f[j].name, g.indexOf("data-") || (g = p.camelCase(g.substring(5)), J(i, g, k[g]));
  1091. p._data(i, "parsedAttrs", !0)
  1092. }
  1093. }
  1094. return k
  1095. }
  1096. return typeof a == "object" ? this.each(function() {
  1097. p.data(this, a)
  1098. }) : (d = a.split(".", 2), d[1] = d[1] ? "." + d[1] : "", e = d[1] + "!", p.access(this, function(c) {
  1099. if (c === b) return k = this.triggerHandler("getData" + e, [d[0]]), k === b && i && (k = p.data(i, a), k = J(i, a, k)), k === b && d[1] ? this.data(d[0]) : k;
  1100. d[1] = c, this.each(function() {
  1101. var b = p(this);
  1102. b.triggerHandler("setData" + e, d), p.data(this, a, c), b.triggerHandler("changeData" + e, d)
  1103. })
  1104. }, null, c, arguments.length > 1, null, !1))
  1105. },
  1106. removeData: function(a) {
  1107. return this.each(function() {
  1108. p.removeData(this, a)
  1109. })
  1110. }
  1111. }), p.extend({
  1112. queue: function(a, b, c) {
  1113. var d;
  1114. if (a) return b = (b || "fx") + "queue", d = p._data(a, b), c && (!d || p.isArray(c) ? d = p._data(a, b, p.makeArray(c)) : d.push(c)), d || []
  1115. },
  1116. dequeue: function(a, b) {
  1117. b = b || "fx";
  1118. var c = p.queue(a, b),
  1119. d = c.length,
  1120. e = c.shift(),
  1121. f = p._queueHooks(a, b),
  1122. g = function() {
  1123. p.dequeue(a, b)
  1124. };
  1125. e === "inprogress" && (e = c.shift(), d--), e && (b === "fx" && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()
  1126. },
  1127. _queueHooks: function(a, b) {
  1128. var c = b + "queueHooks";
  1129. return p._data(a, c) || p._data(a, c, {
  1130. empty: p.Callbacks("once memory").add(function() {
  1131. p.removeData(a, b + "queue", !0), p.removeData(a, c, !0)
  1132. })
  1133. })
  1134. }
  1135. }), p.fn.extend({
  1136. queue: function(a, c) {
  1137. var d = 2;
  1138. return typeof a != "string" && (c = a, a = "fx", d--), arguments.length < d ? p.queue(this[0], a) : c === b ? this : this.each(function() {
  1139. var b = p.queue(this, a, c);
  1140. p._queueHooks(this, a), a === "fx" && b[0] !== "inprogress" && p.dequeue(this, a)
  1141. })
  1142. },
  1143. dequeue: function(a) {
  1144. return this.each(function() {
  1145. p.dequeue(this, a)
  1146. })
  1147. },
  1148. delay: function(a, b) {
  1149. return a = p.fx ? p.fx.speeds[a] || a : a, b = b || "fx", this.queue(b, function(b, c) {
  1150. var d = setTimeout(b, a);
  1151. c.stop = function() {
  1152. clearTimeout(d)
  1153. }
  1154. })
  1155. },
  1156. clearQueue: function(a) {
  1157. return this.queue(a || "fx", [])
  1158. },
  1159. promise: function(a, c) {
  1160. var d, e = 1,
  1161. f = p.Deferred(),
  1162. g = this,
  1163. h = this.length,
  1164. i = function() {
  1165. --e || f.resolveWith(g, [g])
  1166. };
  1167. typeof a != "string" && (c = a, a = b), a = a || "fx";
  1168. while (h--) d = p._data(g[h], a + "queueHooks"), d && d.empty && (e++, d.empty.add(i));
  1169. return i(), f.promise(c)
  1170. }
  1171. });
  1172. var L, M, N, O = /[\t\r\n]/g,
  1173. P = /\r/g,
  1174. Q = /^(?:button|input)$/i,
  1175. R = /^(?:button|input|object|select|textarea)$/i,
  1176. S = /^a(?:rea|)$/i,
  1177. T = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
  1178. U = p.support.getSetAttribute;
  1179. p.fn.extend({
  1180. attr: function(a, b) {
  1181. return p.access(this, p.attr, a, b, arguments.length > 1)
  1182. },
  1183. removeAttr: function(a) {
  1184. return this.each(function() {
  1185. p.removeAttr(this, a)
  1186. })
  1187. },
  1188. prop: function(a, b) {
  1189. return p.access(this, p.prop, a, b, arguments.length > 1)
  1190. },
  1191. removeProp: function(a) {
  1192. return a = p.propFix[a] || a, this.each(function() {
  1193. try {
  1194. this[a] = b, delete this[a]
  1195. } catch (c) {}
  1196. })
  1197. },
  1198. addClass: function(a) {
  1199. var b, c, d, e, f, g, h;
  1200. if (p.isFunction(a)) return this.each(function(b) {
  1201. p(this).addClass(a.call(this, b, this.className))
  1202. });
  1203. if (a && typeof a == "string") {
  1204. b = a.split(s);
  1205. for (c = 0, d = this.length; c < d; c++) {
  1206. e = this[c];
  1207. if (e.nodeType === 1)
  1208. if (!e.className && b.length === 1) e.className = a;
  1209. else {
  1210. f = " " + e.className + " ";
  1211. for (g = 0, h = b.length; g < h; g++) f.indexOf(" " + b[g] + " ") < 0 && (f += b[g] + " ");
  1212. e.className = p.trim(f)
  1213. }
  1214. }
  1215. }
  1216. return this
  1217. },
  1218. removeClass: function(a) {
  1219. var c, d, e, f, g, h, i;
  1220. if (p.isFunction(a)) return this.each(function(b) {
  1221. p(this).removeClass(a.call(this, b, this.className))
  1222. });
  1223. if (a && typeof a == "string" || a === b) {
  1224. c = (a || "").split(s);
  1225. for (h = 0, i = this.length; h < i; h++) {
  1226. e = this[h];
  1227. if (e.nodeType === 1 && e.className) {
  1228. d = (" " + e.className + " ").replace(O, " ");
  1229. for (f = 0, g = c.length; f < g; f++)
  1230. while (d.indexOf(" " + c[f] + " ") >= 0) d = d.replace(" " + c[f] + " ", " ");
  1231. e.className = a ? p.trim(d) : ""
  1232. }
  1233. }
  1234. }
  1235. return this
  1236. },
  1237. toggleClass: function(a, b) {
  1238. var c = typeof a,
  1239. d = typeof b == "boolean";
  1240. return p.isFunction(a) ? this.each(function(c) {
  1241. p(this).toggleClass(a.call(this, c, this.className, b), b)
  1242. }) : this.each(function() {
  1243. if (c === "string") {
  1244. var e, f = 0,
  1245. g = p(this),
  1246. h = b,
  1247. i = a.split(s);
  1248. while (e = i[f++]) h = d ? h : !g.hasClass(e), g[h ? "addClass" : "removeClass"](e)
  1249. } else if (c === "undefined" || c === "boolean") this.className && p._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : p._data(this, "__className__") || ""
  1250. })
  1251. },
  1252. hasClass: function(a) {
  1253. var b = " " + a + " ",
  1254. c = 0,
  1255. d = this.length;
  1256. for (; c < d; c++)
  1257. if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(O, " ").indexOf(b) >= 0) return !0;
  1258. return !1
  1259. },
  1260. val: function(a) {
  1261. var c, d, e, f = this[0];
  1262. if (!arguments.length) {
  1263. if (f) return c = p.valHooks[f.type] || p.valHooks[f.nodeName.toLowerCase()], c && "get" in c && (d = c.get(f, "value")) !== b ? d : (d = f.value, typeof d == "string" ? d.replace(P, "") : d == null ? "" : d);
  1264. return
  1265. }
  1266. return e = p.isFunction(a), this.each(function(d) {
  1267. var f, g = p(this);
  1268. if (this.nodeType !== 1) return;
  1269. e ? f = a.call(this, d, g.val()) : f = a, f == null ? f = "" : typeof f == "number" ? f += "" : p.isArray(f) && (f = p.map(f, function(a) {
  1270. return a == null ? "" : a + ""
  1271. })), c = p.valHooks[this.type] || p.valHooks[this.nodeName.toLowerCase()];
  1272. if (!c || !("set" in c) || c.set(this, f, "value") === b) this.value = f
  1273. })
  1274. }
  1275. }), p.extend({
  1276. valHooks: {
  1277. option: {
  1278. get: function(a) {
  1279. var b = a.attributes.value;
  1280. return !b || b.specified ? a.value : a.text
  1281. }
  1282. },
  1283. select: {
  1284. get: function(a) {
  1285. var b, c, d, e, f = a.selectedIndex,
  1286. g = [],
  1287. h = a.options,
  1288. i = a.type === "select-one";
  1289. if (f < 0) return null;
  1290. c = i ? f : 0, d = i ? f + 1 : h.length;
  1291. for (; c < d; c++) {
  1292. e = h[c];
  1293. if (e.selected && (p.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !p.nodeName(e.parentNode, "optgroup"))) {
  1294. b = p(e).val();
  1295. if (i) return b;
  1296. g.push(b)
  1297. }
  1298. }
  1299. return i && !g.length && h.length ? p(h[f]).val() : g
  1300. },
  1301. set: function(a, b) {
  1302. var c = p.makeArray(b);
  1303. return p(a).find("option").each(function() {
  1304. this.selected = p.inArray(p(this).val(), c) >= 0
  1305. }), c.length || (a.selectedIndex = -1), c
  1306. }
  1307. }
  1308. },
  1309. attrFn: {},
  1310. attr: function(a, c, d, e) {
  1311. var f, g, h, i = a.nodeType;
  1312. if (!a || i === 3 || i === 8 || i === 2) return;
  1313. if (e && p.isFunction(p.fn[c])) return p(a)[c](d);
  1314. if (typeof a.getAttribute == "undefined") return p.prop(a, c, d);
  1315. h = i !== 1 || !p.isXMLDoc(a), h && (c = c.toLowerCase(), g = p.attrHooks[c] || (T.test(c) ? M : L));
  1316. if (d !== b) {
  1317. if (d === null) {
  1318. p.removeAttr(a, c);
  1319. return
  1320. }
  1321. return g && "set" in g && h && (f = g.set(a, d, c)) !== b ? f : (a.setAttribute(c, d + ""), d)
  1322. }
  1323. return g && "get" in g && h && (f = g.get(a, c)) !== null ? f : (f = a.getAttribute(c), f === null ? b : f)
  1324. },
  1325. removeAttr: function(a, b) {
  1326. var c, d, e, f, g = 0;
  1327. if (b && a.nodeType === 1) {
  1328. d = b.split(s);
  1329. for (; g < d.length; g++) e = d[g], e && (c = p.propFix[e] || e, f = T.test(e), f || p.attr(a, e, ""), a.removeAttribute(U ? e : c), f && c in a && (a[c] = !1))
  1330. }
  1331. },
  1332. attrHooks: {
  1333. type: {
  1334. set: function(a, b) {
  1335. if (Q.test(a.nodeName) && a.parentNode) p.error("type property can't be changed");
  1336. else if (!p.support.radioValue && b === "radio" && p.nodeName(a, "input")) {
  1337. var c = a.value;
  1338. return a.setAttribute("type", b), c && (a.value = c), b
  1339. }
  1340. }
  1341. },
  1342. value: {
  1343. get: function(a, b) {
  1344. return L && p.nodeName(a, "button") ? L.get(a, b) : b in a ? a.value : null
  1345. },
  1346. set: function(a, b, c) {
  1347. if (L && p.nodeName(a, "button")) return L.set(a, b, c);
  1348. a.value = b
  1349. }
  1350. }
  1351. },
  1352. propFix: {
  1353. tabindex: "tabIndex",
  1354. readonly: "readOnly",
  1355. "for": "htmlFor",
  1356. "class": "className",
  1357. maxlength: "maxLength",
  1358. cellspacing: "cellSpacing",
  1359. cellpadding: "cellPadding",
  1360. rowspan: "rowSpan",
  1361. colspan: "colSpan",
  1362. usemap: "useMap",
  1363. frameborder: "frameBorder",
  1364. contenteditable: "contentEditable"
  1365. },
  1366. prop: function(a, c, d) {
  1367. var e, f, g, h = a.nodeType;
  1368. if (!a || h === 3 || h === 8 || h === 2) return;
  1369. return g = h !== 1 || !p.isXMLDoc(a), g && (c = p.propFix[c] || c, f = p.propHooks[c]), d !== b ? f && "set" in f && (e = f.set(a, d, c)) !== b ? e : a[c] = d : f && "get" in f && (e = f.get(a, c)) !== null ? e : a[c]
  1370. },
  1371. propHooks: {
  1372. tabIndex: {
  1373. get: function(a) {
  1374. var c = a.getAttributeNode("tabindex");
  1375. return c && c.specified ? parseInt(c.value, 10) : R.test(a.nodeName) || S.test(a.nodeName) && a.href ? 0 : b
  1376. }
  1377. }
  1378. }
  1379. }), M = {
  1380. get: function(a, c) {
  1381. var d, e = p.prop(a, c);
  1382. return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b
  1383. },
  1384. set: function(a, b, c) {
  1385. var d;
  1386. return b === !1 ? p.removeAttr(a, c) : (d = p.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())), c
  1387. }
  1388. }, U || (N = {
  1389. name: !0,
  1390. id: !0,
  1391. coords: !0
  1392. }, L = p.valHooks.button = {
  1393. get: function(a, c) {
  1394. var d;
  1395. return d = a.getAttributeNode(c), d && (N[c] ? d.value !== "" : d.specified) ? d.value : b
  1396. },
  1397. set: function(a, b, c) {
  1398. var d = a.getAttributeNode(c);
  1399. return d || (d = e.createAttribute(c), a.setAttributeNode(d)), d.value = b + ""
  1400. }
  1401. }, p.each(["width", "height"], function(a, b) {
  1402. p.attrHooks[b] = p.extend(p.attrHooks[b], {
  1403. set: function(a, c) {
  1404. if (c === "") return a.setAttribute(b, "auto"), c
  1405. }
  1406. })
  1407. }), p.attrHooks.contenteditable = {
  1408. get: L.get,
  1409. set: function(a, b, c) {
  1410. b === "" && (b = "false"), L.set(a, b, c)
  1411. }
  1412. }), p.support.hrefNormalized || p.each(["href", "src", "width", "height"], function(a, c) {
  1413. p.attrHooks[c] = p.extend(p.attrHooks[c], {
  1414. get: function(a) {
  1415. var d = a.getAttribute(c, 2);
  1416. return d === null ? b : d
  1417. }
  1418. })
  1419. }), p.support.style || (p.attrHooks.style = {
  1420. get: function(a) {
  1421. return a.style.cssText.toLowerCase() || b
  1422. },
  1423. set: function(a, b) {
  1424. return a.style.cssText = b + ""
  1425. }
  1426. }), p.support.optSelected || (p.propHooks.selected = p.extend(p.propHooks.selected, {
  1427. get: function(a) {
  1428. var b = a.parentNode;
  1429. return b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex), null
  1430. }
  1431. })), p.support.enctype || (p.propFix.enctype = "encoding"), p.support.checkOn || p.each(["radio", "checkbox"], function() {
  1432. p.valHooks[this] = {
  1433. get: function(a) {
  1434. return a.getAttribute("value") === null ? "on" : a.value
  1435. }
  1436. }
  1437. }), p.each(["radio", "checkbox"], function() {
  1438. p.valHooks[this] = p.extend(p.valHooks[this], {
  1439. set: function(a, b) {
  1440. if (p.isArray(b)) return a.checked = p.inArray(p(a).val(), b) >= 0
  1441. }
  1442. })
  1443. });
  1444. var V = /^(?:textarea|input|select)$/i,
  1445. W = /^([^\.]*|)(?:\.(.+)|)$/,
  1446. X = /(?:^|\s)hover(\.\S+|)\b/,
  1447. Y = /^key/,
  1448. Z = /^(?:mouse|contextmenu)|click/,
  1449. $ = /^(?:focusinfocus|focusoutblur)$/,
  1450. _ = function(a) {
  1451. return p.event.special.hover ? a : a.replace(X, "mouseenter$1 mouseleave$1")
  1452. };
  1453. p.event = {
  1454. add: function(a, c, d, e, f) {
  1455. var g, h, i, j, k, l, m, n, o, q, r;
  1456. if (a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(g = p._data(a))) return;
  1457. d.handler && (o = d, d = o.handler, f = o.selector), d.guid || (d.guid = p.guid++), i = g.events, i || (g.events = i = {}), h = g.handle, h || (g.handle = h = function(a) {
  1458. return typeof p != "undefined" && (!a || p.event.triggered !== a.type) ? p.event.dispatch.apply(h.elem, arguments) : b
  1459. }, h.elem = a), c = p.trim(_(c)).split(" ");
  1460. for (j = 0; j < c.length; j++) {
  1461. k = W.exec(c[j]) || [], l = k[1], m = (k[2] || "").split(".").sort(), r = p.event.special[l] || {}, l = (f ? r.delegateType : r.bindType) || l, r = p.event.special[l] || {}, n = p.extend({
  1462. type: l,
  1463. origType: k[1],
  1464. data: e,
  1465. handler: d,
  1466. guid: d.guid,
  1467. selector: f,
  1468. needsContext: f && p.expr.match.needsContext.test(f),
  1469. namespace: m.join(".")
  1470. }, o), q = i[l];
  1471. if (!q) {
  1472. q = i[l] = [], q.delegateCount = 0;
  1473. if (!r.setup || r.setup.call(a, e, m, h) === !1) a.addEventListener ? a.addEventListener(l, h, !1) : a.attachEvent && a.attachEvent("on" + l, h)
  1474. }
  1475. r.add && (r.add.call(a, n), n.handler.guid || (n.handler.guid = d.guid)), f ? q.splice(q.delegateCount++, 0, n) : q.push(n), p.event.global[l] = !0
  1476. }
  1477. a = null
  1478. },
  1479. global: {},
  1480. remove: function(a, b, c, d, e) {
  1481. var f, g, h, i, j, k, l, m, n, o, q, r = p.hasData(a) && p._data(a);
  1482. if (!r || !(m = r.events)) return;
  1483. b = p.trim(_(b || "")).split(" ");
  1484. for (f = 0; f < b.length; f++) {
  1485. g = W.exec(b[f]) || [], h = i = g[1], j = g[2];
  1486. if (!h) {
  1487. for (h in m) p.event.remove(a, h + b[f], c, d, !0);
  1488. continue
  1489. }
  1490. n = p.event.special[h] || {}, h = (d ? n.delegateType : n.bindType) || h, o = m[h] || [], k = o.length, j = j ? new RegExp("(^|\\.)" + j.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
  1491. for (l = 0; l < o.length; l++) q = o[l], (e || i === q.origType) && (!c || c.guid === q.guid) && (!j || j.test(q.namespace)) && (!d || d === q.selector || d === "**" && q.selector) && (o.splice(l--, 1), q.selector && o.delegateCount--, n.remove && n.remove.call(a, q));
  1492. o.length === 0 && k !== o.length && ((!n.teardown || n.teardown.call(a, j, r.handle) === !1) && p.removeEvent(a, h, r.handle), delete m[h])
  1493. }
  1494. p.isEmptyObject(m) && (delete r.handle, p.removeData(a, "events", !0))
  1495. },
  1496. customEvent: {
  1497. getData: !0,
  1498. setData: !0,
  1499. changeData: !0
  1500. },
  1501. trigger: function(c, d, f, g) {
  1502. if (!f || f.nodeType !== 3 && f.nodeType !== 8) {
  1503. var h, i, j, k, l, m, n, o, q, r, s = c.type || c,
  1504. t = [];
  1505. if ($.test(s + p.event.triggered)) return;
  1506. s.indexOf("!") >= 0 && (s = s.slice(0, -1), i = !0), s.indexOf(".") >= 0 && (t = s.split("."), s = t.shift(), t.sort());
  1507. if ((!f || p.event.customEvent[s]) && !p.event.global[s]) return;
  1508. c = typeof c == "object" ? c[p.expando] ? c : new p.Event(s, c) : new p.Event(s), c.type = s, c.isTrigger = !0, c.exclusive = i, c.namespace = t.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + t.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, m = s.indexOf(":") < 0 ? "on" + s : "";
  1509. if (!f) {
  1510. h = p.cache;
  1511. for (j in h) h[j].events && h[j].events[s] && p.event.trigger(c, d, h[j].handle.elem, !0);
  1512. return
  1513. }
  1514. c.result = b, c.target || (c.target = f), d = d != null ? p.makeArray(d) : [], d.unshift(c), n = p.event.special[s] || {};
  1515. if (n.trigger && n.trigger.apply(f, d) === !1) return;
  1516. q = [
  1517. [f, n.bindType || s]
  1518. ];
  1519. if (!g && !n.noBubble && !p.isWindow(f)) {
  1520. r = n.delegateType || s, k = $.test(r + s) ? f : f.parentNode;
  1521. for (l = f; k; k = k.parentNode) q.push([k, r]), l = k;
  1522. l === (f.ownerDocument || e) && q.push([l.defaultView || l.parentWindow || a, r])
  1523. }
  1524. for (j = 0; j < q.length && !c.isPropagationStopped(); j++) k = q[j][0], c.type = q[j][1], o = (p._data(k, "events") || {})[c.type] && p._data(k, "handle"), o && o.apply(k, d), o = m && k[m], o && p.acceptData(k) && o.apply && o.apply(k, d) === !1 && c.preventDefault();
  1525. return c.type = s, !g && !c.isDefaultPrevented() && (!n._default || n._default.apply(f.ownerDocument, d) === !1) && (s !== "click" || !p.nodeName(f, "a")) && p.acceptData(f) && m && f[s] && (s !== "focus" && s !== "blur" || c.target.offsetWidth !== 0) && !p.isWindow(f) && (l = f[m], l && (f[m] = null), p.event.triggered = s, f[s](), p.event.triggered = b, l && (f[m] = l)), c.result
  1526. }
  1527. return
  1528. },
  1529. dispatch: function(c) {
  1530. c = p.event.fix(c || a.event);
  1531. var d, e, f, g, h, i, j, l, m, n, o = (p._data(this, "events") || {})[c.type] || [],
  1532. q = o.delegateCount,
  1533. r = k.call(arguments),
  1534. s = !c.exclusive && !c.namespace,
  1535. t = p.event.special[c.type] || {}, u = [];
  1536. r[0] = c, c.delegateTarget = this;
  1537. if (t.preDispatch && t.preDispatch.call(this, c) === !1) return;
  1538. if (q && (!c.button || c.type !== "click"))
  1539. for (f = c.target; f != this; f = f.parentNode || this)
  1540. if (f.disabled !== !0 || c.type !== "click") {
  1541. h = {}, j = [];
  1542. for (d = 0; d < q; d++) l = o[d], m = l.selector, h[m] === b && (h[m] = l.needsContext ? p(m, this).index(f) >= 0 : p.find(m, this, null, [f]).length), h[m] && j.push(l);
  1543. j.length && u.push({
  1544. elem: f,
  1545. matches: j
  1546. })
  1547. }
  1548. o.length > q && u.push({
  1549. elem: this,
  1550. matches: o.slice(q)
  1551. });
  1552. for (d = 0; d < u.length && !c.isPropagationStopped(); d++) {
  1553. i = u[d], c.currentTarget = i.elem;
  1554. for (e = 0; e < i.matches.length && !c.isImmediatePropagationStopped(); e++) {
  1555. l = i.matches[e];
  1556. if (s || !c.namespace && !l.namespace || c.namespace_re && c.namespace_re.test(l.namespace)) c.data = l.data, c.handleObj = l, g = ((p.event.special[l.origType] || {}).handle || l.handler).apply(i.elem, r), g !== b && (c.result = g, g === !1 && (c.preventDefault(), c.stopPropagation()))
  1557. }
  1558. }
  1559. return t.postDispatch && t.postDispatch.call(this, c), c.result
  1560. },
  1561. props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
  1562. fixHooks: {},
  1563. keyHooks: {
  1564. props: "char charCode key keyCode".split(" "),
  1565. filter: function(a, b) {
  1566. return a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode), a
  1567. }
  1568. },
  1569. mouseHooks: {
  1570. props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
  1571. filter: function(a, c) {
  1572. var d, f, g, h = c.button,
  1573. i = c.fromElement;
  1574. return a.pageX == null && c.clientX != null && (d = a.target.ownerDocument || e, f = d.documentElement, g = d.body, a.pageX = c.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = c.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? c.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0), a
  1575. }
  1576. },
  1577. fix: function(a) {
  1578. if (a[p.expando]) return a;
  1579. var b, c, d = a,
  1580. f = p.event.fixHooks[a.type] || {}, g = f.props ? this.props.concat(f.props) : this.props;
  1581. a = p.Event(d);
  1582. for (b = g.length; b;) c = g[--b], a[c] = d[c];
  1583. return a.target || (a.target = d.srcElement || e), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey = !! a.metaKey, f.filter ? f.filter(a, d) : a
  1584. },
  1585. special: {
  1586. load: {
  1587. noBubble: !0
  1588. },
  1589. focus: {
  1590. delegateType: "focusin"
  1591. },
  1592. blur: {
  1593. delegateType: "focusout"
  1594. },
  1595. beforeunload: {
  1596. setup: function(a, b, c) {
  1597. p.isWindow(this) && (this.onbeforeunload = c)
  1598. },
  1599. teardown: function(a, b) {
  1600. this.onbeforeunload === b && (this.onbeforeunload = null)
  1601. }
  1602. }
  1603. },
  1604. simulate: function(a, b, c, d) {
  1605. var e = p.extend(new p.Event, c, {
  1606. type: a,
  1607. isSimulated: !0,
  1608. originalEvent: {}
  1609. });
  1610. d ? p.event.trigger(e, null, b) : p.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault()
  1611. }
  1612. }, p.event.handle = p.event.dispatch, p.removeEvent = e.removeEventListener ? function(a, b, c) {
  1613. a.removeEventListener && a.removeEventListener(b, c, !1)
  1614. } : function(a, b, c) {
  1615. var d = "on" + b;
  1616. a.detachEvent && (typeof a[d] == "undefined" && (a[d] = null), a.detachEvent(d, c))
  1617. }, p.Event = function(a, b) {
  1618. if (this instanceof p.Event) a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? bb : ba) : this.type = a, b && p.extend(this, b), this.timeStamp = a && a.timeStamp || p.now(), this[p.expando] = !0;
  1619. else return new p.Event(a, b)
  1620. }, p.Event.prototype = {
  1621. preventDefault: function() {
  1622. this.isDefaultPrevented = bb;
  1623. var a = this.originalEvent;
  1624. if (!a) return;
  1625. a.preventDefault ? a.preventDefault() : a.returnValue = !1
  1626. },
  1627. stopPropagation: function() {
  1628. this.isPropagationStopped = bb;
  1629. var a = this.originalEvent;
  1630. if (!a) return;
  1631. a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0
  1632. },
  1633. stopImmediatePropagation: function() {
  1634. this.isImmediatePropagationStopped = bb, this.stopPropagation()
  1635. },
  1636. isDefaultPrevented: ba,
  1637. isPropagationStopped: ba,
  1638. isImmediatePropagationStopped: ba
  1639. }, p.each({
  1640. mouseenter: "mouseover",
  1641. mouseleave: "mouseout"
  1642. }, function(a, b) {
  1643. p.event.special[a] = {
  1644. delegateType: b,
  1645. bindType: b,
  1646. handle: function(a) {
  1647. var c, d = this,
  1648. e = a.relatedTarget,
  1649. f = a.handleObj,
  1650. g = f.selector;
  1651. if (!e || e !== d && !p.contains(d, e)) a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b;
  1652. return c
  1653. }
  1654. }
  1655. }), p.support.submitBubbles || (p.event.special.submit = {
  1656. setup: function() {
  1657. if (p.nodeName(this, "form")) return !1;
  1658. p.event.add(this, "click._submit keypress._submit", function(a) {
  1659. var c = a.target,
  1660. d = p.nodeName(c, "input") || p.nodeName(c, "button") ? c.form : b;
  1661. d && !p._data(d, "_submit_attached") && (p.event.add(d, "submit._submit", function(a) {
  1662. a._submit_bubble = !0
  1663. }), p._data(d, "_submit_attached", !0))
  1664. })
  1665. },
  1666. postDispatch: function(a) {
  1667. a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && p.event.simulate("submit", this.parentNode, a, !0))
  1668. },
  1669. teardown: function() {
  1670. if (p.nodeName(this, "form")) return !1;
  1671. p.event.remove(this, "._submit")
  1672. }
  1673. }), p.support.changeBubbles || (p.event.special.change = {
  1674. setup: function() {
  1675. if (V.test(this.nodeName)) {
  1676. if (this.type === "checkbox" || this.type === "radio") p.event.add(this, "propertychange._change", function(a) {
  1677. a.originalEvent.propertyName === "checked" && (this._just_changed = !0)
  1678. }), p.event.add(this, "click._change", function(a) {
  1679. this._just_changed && !a.isTrigger && (this._just_changed = !1), p.event.simulate("change", this, a, !0)
  1680. });
  1681. return !1
  1682. }
  1683. p.event.add(this, "beforeactivate._change", function(a) {
  1684. var b = a.target;
  1685. V.test(b.nodeName) && !p._data(b, "_change_attached") && (p.event.add(b, "change._change", function(a) {
  1686. this.parentNode && !a.isSimulated && !a.isTrigger && p.event.simulate("change", this.parentNode, a, !0)
  1687. }), p._data(b, "_change_attached", !0))
  1688. })
  1689. },
  1690. handle: function(a) {
  1691. var b = a.target;
  1692. if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments)
  1693. },
  1694. teardown: function() {
  1695. return p.event.remove(this, "._change"), !V.test(this.nodeName)
  1696. }
  1697. }), p.support.focusinBubbles || p.each({
  1698. focus: "focusin",
  1699. blur: "focusout"
  1700. }, function(a, b) {
  1701. var c = 0,
  1702. d = function(a) {
  1703. p.event.simulate(b, a.target, p.event.fix(a), !0)
  1704. };
  1705. p.event.special[b] = {
  1706. setup: function() {
  1707. c++ === 0 && e.addEventListener(a, d, !0)
  1708. },
  1709. teardown: function() {
  1710. --c === 0 && e.removeEventListener(a, d, !0)
  1711. }
  1712. }
  1713. }), p.fn.extend({
  1714. on: function(a, c, d, e, f) {
  1715. var g, h;
  1716. if (typeof a == "object") {
  1717. typeof c != "string" && (d = d || c, c = b);
  1718. for (h in a) this.on(h, c, d, a[h], f);
  1719. return this
  1720. }
  1721. d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b));
  1722. if (e === !1) e = ba;
  1723. else if (!e) return this;
  1724. return f === 1 && (g = e, e = function(a) {
  1725. return p().off(a), g.apply(this, arguments)
  1726. }, e.guid = g.guid || (g.guid = p.guid++)), this.each(function() {
  1727. p.event.add(this, a, e, d, c)
  1728. })
  1729. },
  1730. one: function(a, b, c, d) {
  1731. return this.on(a, b, c, d, 1)
  1732. },
  1733. off: function(a, c, d) {
  1734. var e, f;
  1735. if (a && a.preventDefault && a.handleObj) return e = a.handleObj, p(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler), this;
  1736. if (typeof a == "object") {
  1737. for (f in a) this.off(f, c, a[f]);
  1738. return this
  1739. }
  1740. if (c === !1 || typeof c == "function") d = c, c = b;
  1741. return d === !1 && (d = ba), this.each(function() {
  1742. p.event.remove(this, a, d, c)
  1743. })
  1744. },
  1745. bind: function(a, b, c) {
  1746. return this.on(a, null, b, c)
  1747. },
  1748. unbind: function(a, b) {
  1749. return this.off(a, null, b)
  1750. },
  1751. live: function(a, b, c) {
  1752. return p(this.context).on(a, this.selector, b, c), this
  1753. },
  1754. die: function(a, b) {
  1755. return p(this.context).off(a, this.selector || "**", b), this
  1756. },
  1757. delegate: function(a, b, c, d) {
  1758. return this.on(b, a, c, d)
  1759. },
  1760. undelegate: function(a, b, c) {
  1761. return arguments.length === 1 ? this.off(a, "**") : this.off(b, a || "**", c)
  1762. },
  1763. trigger: function(a, b) {
  1764. return this.each(function() {
  1765. p.event.trigger(a, b, this)
  1766. })
  1767. },
  1768. triggerHandler: function(a, b) {
  1769. if (this[0]) return p.event.trigger(a, b, this[0], !0)
  1770. },
  1771. toggle: function(a) {
  1772. var b = arguments,
  1773. c = a.guid || p.guid++,
  1774. d = 0,
  1775. e = function(c) {
  1776. var e = (p._data(this, "lastToggle" + a.guid) || 0) % d;
  1777. return p._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(), b[e].apply(this, arguments) || !1
  1778. };
  1779. e.guid = c;
  1780. while (d < b.length) b[d++].guid = c;
  1781. return this.click(e)
  1782. },
  1783. hover: function(a, b) {
  1784. return this.mouseenter(a).mouseleave(b || a)
  1785. }
  1786. }), p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) {
  1787. p.fn[b] = function(a, c) {
  1788. return c == null && (c = a, a = null), arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
  1789. }, Y.test(b) && (p.event.fixHooks[b] = p.event.keyHooks), Z.test(b) && (p.event.fixHooks[b] = p.event.mouseHooks)
  1790. }),
  1791. function(a, b) {
  1792. function bc(a, b, c, d) {
  1793. c = c || [], b = b || r;
  1794. var e, f, i, j, k = b.nodeType;
  1795. if (!a || typeof a != "string") return c;
  1796. if (k !== 1 && k !== 9) return [];
  1797. i = g(b);
  1798. if (!i && !d)
  1799. if (e = P.exec(a))
  1800. if (j = e[1]) {
  1801. if (k === 9) {
  1802. f = b.getElementById(j);
  1803. if (!f || !f.parentNode) return c;
  1804. if (f.id === j) return c.push(f), c
  1805. } else if (b.ownerDocument && (f = b.ownerDocument.getElementById(j)) && h(b, f) && f.id === j) return c.push(f), c
  1806. } else {
  1807. if (e[2]) return w.apply(c, x.call(b.getElementsByTagName(a), 0)), c;
  1808. if ((j = e[3]) && _ && b.getElementsByClassName) return w.apply(c, x.call(b.getElementsByClassName(j), 0)), c
  1809. }
  1810. return bp(a.replace(L, "$1"), b, c, d, i)
  1811. }
  1812.  
  1813. function bd(a) {
  1814. return function(b) {
  1815. var c = b.nodeName.toLowerCase();
  1816. return c === "input" && b.type === a
  1817. }
  1818. }
  1819.  
  1820. function be(a) {
  1821. return function(b) {
  1822. var c = b.nodeName.toLowerCase();
  1823. return (c === "input" || c === "button") && b.type === a
  1824. }
  1825. }
  1826.  
  1827. function bf(a) {
  1828. return z(function(b) {
  1829. return b = +b, z(function(c, d) {
  1830. var e, f = a([], c.length, b),
  1831. g = f.length;
  1832. while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
  1833. })
  1834. })
  1835. }
  1836.  
  1837. function bg(a, b, c) {
  1838. if (a === b) return c;
  1839. var d = a.nextSibling;
  1840. while (d) {
  1841. if (d === b) return -1;
  1842. d = d.nextSibling
  1843. }
  1844. return 1
  1845. }
  1846.  
  1847. function bh(a, b) {
  1848. var c, d, f, g, h, i, j, k = C[o][a];
  1849. if (k) return b ? 0 : k.slice(0);
  1850. h = a, i = [], j = e.preFilter;
  1851. while (h) {
  1852. if (!c || (d = M.exec(h))) d && (h = h.slice(d[0].length)), i.push(f = []);
  1853. c = !1;
  1854. if (d = N.exec(h)) f.push(c = new q(d.shift())), h = h.slice(c.length), c.type = d[0].replace(L, " ");
  1855. for (g in e.filter)(d = W[g].exec(h)) && (!j[g] || (d = j[g](d, r, !0))) && (f.push(c = new q(d.shift())), h = h.slice(c.length), c.type = g, c.matches = d);
  1856. if (!c) break
  1857. }
  1858. return b ? h.length : h ? bc.error(a) : C(a, i).slice(0)
  1859. }
  1860.  
  1861. function bi(a, b, d) {
  1862. var e = b.dir,
  1863. f = d && b.dir === "parentNode",
  1864. g = u++;
  1865. return b.first ? function(b, c, d) {
  1866. while (b = b[e])
  1867. if (f || b.nodeType === 1) return a(b, c, d)
  1868. } : function(b, d, h) {
  1869. if (!h) {
  1870. var i, j = t + " " + g + " ",
  1871. k = j + c;
  1872. while (b = b[e])
  1873. if (f || b.nodeType === 1) {
  1874. if ((i = b[o]) === k) return b.sizset;
  1875. if (typeof i == "string" && i.indexOf(j) === 0) {
  1876. if (b.sizset) return b
  1877. } else {
  1878. b[o] = k;
  1879. if (a(b, d, h)) return b.sizset = !0, b;
  1880. b.sizset = !1
  1881. }
  1882. }
  1883. } else
  1884. while (b = b[e])
  1885. if (f || b.nodeType === 1)
  1886. if (a(b, d, h)) return b
  1887. }
  1888. }
  1889.  
  1890. function bj(a) {
  1891. return a.length > 1 ? function(b, c, d) {
  1892. var e = a.length;
  1893. while (e--)
  1894. if (!a[e](b, c, d)) return !1;
  1895. return !0
  1896. } : a[0]
  1897. }
  1898.  
  1899. function bk(a, b, c, d, e) {
  1900. var f, g = [],
  1901. h = 0,
  1902. i = a.length,
  1903. j = b != null;
  1904. for (; h < i; h++)
  1905. if (f = a[h])
  1906. if (!c || c(f, d, e)) g.push(f), j && b.push(h);
  1907. return g
  1908. }
  1909.  
  1910. function bl(a, b, c, d, e, f) {
  1911. return d && !d[o] && (d = bl(d)), e && !e[o] && (e = bl(e, f)), z(function(f, g, h, i) {
  1912. if (f && e) return;
  1913. var j, k, l, m = [],
  1914. n = [],
  1915. o = g.length,
  1916. p = f || bo(b || "*", h.nodeType ? [h] : h, [], f),
  1917. q = a && (f || !b) ? bk(p, m, a, h, i) : p,
  1918. r = c ? e || (f ? a : o || d) ? [] : g : q;
  1919. c && c(q, r, h, i);
  1920. if (d) {
  1921. l = bk(r, n), d(l, [], h, i), j = l.length;
  1922. while (j--)
  1923. if (k = l[j]) r[n[j]] = !(q[n[j]] = k)
  1924. }
  1925. if (f) {
  1926. j = a && r.length;
  1927. while (j--)
  1928. if (k = r[j]) f[m[j]] = !(g[m[j]] = k)
  1929. } else r = bk(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : w.apply(g, r)
  1930. })
  1931. }
  1932.  
  1933. function bm(a) {
  1934. var b, c, d, f = a.length,
  1935. g = e.relative[a[0].type],
  1936. h = g || e.relative[" "],
  1937. i = g ? 1 : 0,
  1938. j = bi(function(a) {
  1939. return a === b
  1940. }, h, !0),
  1941. k = bi(function(a) {
  1942. return y.call(b, a) > -1
  1943. }, h, !0),
  1944. m = [
  1945. function(a, c, d) {
  1946. return !g && (d || c !== l) || ((b = c).nodeType ? j(a, c, d) : k(a, c, d))
  1947. }
  1948. ];
  1949. for (; i < f; i++)
  1950. if (c = e.relative[a[i].type]) m = [bi(bj(m), c)];
  1951. else {
  1952. c = e.filter[a[i].type].apply(null, a[i].matches);
  1953. if (c[o]) {
  1954. d = ++i;
  1955. for (; d < f; d++)
  1956. if (e.relative[a[d].type]) break;
  1957. return bl(i > 1 && bj(m), i > 1 && a.slice(0, i - 1).join("").replace(L, "$1"), c, i < d && bm(a.slice(i, d)), d < f && bm(a = a.slice(d)), d < f && a.join(""))
  1958. }
  1959. m.push(c)
  1960. }
  1961. return bj(m)
  1962. }
  1963.  
  1964. function bn(a, b) {
  1965. var d = b.length > 0,
  1966. f = a.length > 0,
  1967. g = function(h, i, j, k, m) {
  1968. var n, o, p, q = [],
  1969. s = 0,
  1970. u = "0",
  1971. x = h && [],
  1972. y = m != null,
  1973. z = l,
  1974. A = h || f && e.find.TAG("*", m && i.parentNode || i),
  1975. B = t += z == null ? 1 : Math.E;
  1976. y && (l = i !== r && i, c = g.el);
  1977. for (;
  1978. (n = A[u]) != null; u++) {
  1979. if (f && n) {
  1980. for (o = 0; p = a[o]; o++)
  1981. if (p(n, i, j)) {
  1982. k.push(n);
  1983. break
  1984. }
  1985. y && (t = B, c = ++g.el)
  1986. }
  1987. d && ((n = !p && n) && s--, h && x.push(n))
  1988. }
  1989. s += u;
  1990. if (d && u !== s) {
  1991. for (o = 0; p = b[o]; o++) p(x, q, i, j);
  1992. if (h) {
  1993. if (s > 0)
  1994. while (u--)!x[u] && !q[u] && (q[u] = v.call(k));
  1995. q = bk(q)
  1996. }
  1997. w.apply(k, q), y && !h && q.length > 0 && s + b.length > 1 && bc.uniqueSort(k)
  1998. }
  1999. return y && (t = B, l = z), x
  2000. };
  2001. return g.el = 0, d ? z(g) : g
  2002. }
  2003.  
  2004. function bo(a, b, c, d) {
  2005. var e = 0,
  2006. f = b.length;
  2007. for (; e < f; e++) bc(a, b[e], c, d);
  2008. return c
  2009. }
  2010.  
  2011. function bp(a, b, c, d, f) {
  2012. var g, h, j, k, l, m = bh(a),
  2013. n = m.length;
  2014. if (!d && m.length === 1) {
  2015. h = m[0] = m[0].slice(0);
  2016. if (h.length > 2 && (j = h[0]).type === "ID" && b.nodeType === 9 && !f && e.relative[h[1].type]) {
  2017. b = e.find.ID(j.matches[0].replace(V, ""), b, f)[0];
  2018. if (!b) return c;
  2019. a = a.slice(h.shift().length)
  2020. }
  2021. for (g = W.POS.test(a) ? -1 : h.length - 1; g >= 0; g--) {
  2022. j = h[g];
  2023. if (e.relative[k = j.type]) break;
  2024. if (l = e.find[k])
  2025. if (d = l(j.matches[0].replace(V, ""), R.test(h[0].type) && b.parentNode || b, f)) {
  2026. h.splice(g, 1), a = d.length && h.join("");
  2027. if (!a) return w.apply(c, x.call(d, 0)), c;
  2028. break
  2029. }
  2030. }
  2031. }
  2032. return i(a, m)(d, b, f, c, R.test(a)), c
  2033. }
  2034.  
  2035. function bq() {}
  2036. var c, d, e, f, g, h, i, j, k, l, m = !0,
  2037. n = "undefined",
  2038. o = ("sizcache" + Math.random()).replace(".", ""),
  2039. q = String,
  2040. r = a.document,
  2041. s = r.documentElement,
  2042. t = 0,
  2043. u = 0,
  2044. v = [].pop,
  2045. w = [].push,
  2046. x = [].slice,
  2047. y = [].indexOf || function(a) {
  2048. var b = 0,
  2049. c = this.length;
  2050. for (; b < c; b++)
  2051. if (this[b] === a) return b;
  2052. return -1
  2053. }, z = function(a, b) {
  2054. return a[o] = b == null || b, a
  2055. }, A = function() {
  2056. var a = {}, b = [];
  2057. return z(function(c, d) {
  2058. return b.push(c) > e.cacheLength && delete a[b.shift()], a[c] = d
  2059. }, a)
  2060. }, B = A(),
  2061. C = A(),
  2062. D = A(),
  2063. E = "[\\x20\\t\\r\\n\\f]",
  2064. F = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",
  2065. G = F.replace("w", "w#"),
  2066. H = "([*^$|!~]?=)",
  2067. I = "\\[" + E + "*(" + F + ")" + E + "*(?:" + H + E + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + G + ")|)|)" + E + "*\\]",
  2068. J = ":(" + F + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + I + ")|[^:]|\\\\.)*|.*))\\)|)",
  2069. K = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + E + "*((?:-\\d)?\\d*)" + E + "*\\)|)(?=[^-]|$)",
  2070. L = new RegExp("^" + E + "+|((?:^|[^\\\\])(?:\\\\.)*)" + E + "+$", "g"),
  2071. M = new RegExp("^" + E + "*," + E + "*"),
  2072. N = new RegExp("^" + E + "*([\\x20\\t\\r\\n\\f>+~])" + E + "*"),
  2073. O = new RegExp(J),
  2074. P = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
  2075. Q = /^:not/,
  2076. R = /[\x20\t\r\n\f]*[+~]/,
  2077. S = /:not\($/,
  2078. T = /h\d/i,
  2079. U = /input|select|textarea|button/i,
  2080. V = /\\(?!\\)/g,
  2081. W = {
  2082. ID: new RegExp("^#(" + F + ")"),
  2083. CLASS: new RegExp("^\\.(" + F + ")"),
  2084. NAME: new RegExp("^\\[name=['\"]?(" + F + ")['\"]?\\]"),
  2085. TAG: new RegExp("^(" + F.replace("w", "w*") + ")"),
  2086. ATTR: new RegExp("^" + I),
  2087. PSEUDO: new RegExp("^" + J),
  2088. POS: new RegExp(K, "i"),
  2089. CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + E + "*(even|odd|(([+-]|)(\\d*)n|)" + E + "*(?:([+-]|)" + E + "*(\\d+)|))" + E + "*\\)|)", "i"),
  2090. needsContext: new RegExp("^" + E + "*[>+~]|" + K, "i")
  2091. }, X = function(a) {
  2092. var b = r.createElement("div");
  2093. try {
  2094. return a(b)
  2095. } catch (c) {
  2096. return !1
  2097. } finally {
  2098. b = null
  2099. }
  2100. }, Y = X(function(a) {
  2101. return a.appendChild(r.createComment("")), !a.getElementsByTagName("*").length
  2102. }),
  2103. Z = X(function(a) {
  2104. return a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute !== n && a.firstChild.getAttribute("href") === "#"
  2105. }),
  2106. $ = X(function(a) {
  2107. a.innerHTML = "<select></select>";
  2108. var b = typeof a.lastChild.getAttribute("multiple");
  2109. return b !== "boolean" && b !== "string"
  2110. }),
  2111. _ = X(function(a) {
  2112. return a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !a.getElementsByClassName || !a.getElementsByClassName("e").length ? !1 : (a.lastChild.className = "e", a.getElementsByClassName("e").length === 2)
  2113. }),
  2114. ba = X(function(a) {
  2115. a.id = o + 0, a.innerHTML = "<a name='" + o + "'></a><div name='" + o + "'></div>", s.insertBefore(a, s.firstChild);
  2116. var b = r.getElementsByName && r.getElementsByName(o).length === 2 + r.getElementsByName(o + 0).length;
  2117. return d = !r.getElementById(o), s.removeChild(a), b
  2118. });
  2119. try {
  2120. x.call(s.childNodes, 0)[0].nodeType
  2121. } catch (bb) {
  2122. x = function(a) {
  2123. var b, c = [];
  2124. for (; b = this[a]; a++) c.push(b);
  2125. return c
  2126. }
  2127. }
  2128. bc.matches = function(a, b) {
  2129. return bc(a, null, null, b)
  2130. }, bc.matchesSelector = function(a, b) {
  2131. return bc(b, null, null, [a]).length > 0
  2132. }, f = bc.getText = function(a) {
  2133. var b, c = "",
  2134. d = 0,
  2135. e = a.nodeType;
  2136. if (e) {
  2137. if (e === 1 || e === 9 || e === 11) {
  2138. if (typeof a.textContent == "string") return a.textContent;
  2139. for (a = a.firstChild; a; a = a.nextSibling) c += f(a)
  2140. } else if (e === 3 || e === 4) return a.nodeValue
  2141. } else
  2142. for (; b = a[d]; d++) c += f(b);
  2143. return c
  2144. }, g = bc.isXML = function(a) {
  2145. var b = a && (a.ownerDocument || a).documentElement;
  2146. return b ? b.nodeName !== "HTML" : !1
  2147. }, h = bc.contains = s.contains ? function(a, b) {
  2148. var c = a.nodeType === 9 ? a.documentElement : a,
  2149. d = b && b.parentNode;
  2150. return a === d || !! (d && d.nodeType === 1 && c.contains && c.contains(d))
  2151. } : s.compareDocumentPosition ? function(a, b) {
  2152. return b && !! (a.compareDocumentPosition(b) & 16)
  2153. } : function(a, b) {
  2154. while (b = b.parentNode)
  2155. if (b === a) return !0;
  2156. return !1
  2157. }, bc.attr = function(a, b) {
  2158. var c, d = g(a);
  2159. return d || (b = b.toLowerCase()), (c = e.attrHandle[b]) ? c(a) : d || $ ? a.getAttribute(b) : (c = a.getAttributeNode(b), c ? typeof a[b] == "boolean" ? a[b] ? b : null : c.specified ? c.value : null : null)
  2160. }, e = bc.selectors = {
  2161. cacheLength: 50,
  2162. createPseudo: z,
  2163. match: W,
  2164. attrHandle: Z ? {} : {
  2165. href: function(a) {
  2166. return a.getAttribute("href", 2)
  2167. },
  2168. type: function(a) {
  2169. return a.getAttribute("type")
  2170. }
  2171. },
  2172. find: {
  2173. ID: d ? function(a, b, c) {
  2174. if (typeof b.getElementById !== n && !c) {
  2175. var d = b.getElementById(a);
  2176. return d && d.parentNode ? [d] : []
  2177. }
  2178. } : function(a, c, d) {
  2179. if (typeof c.getElementById !== n && !d) {
  2180. var e = c.getElementById(a);
  2181. return e ? e.id === a || typeof e.getAttributeNode !== n && e.getAttributeNode("id").value === a ? [e] : b : []
  2182. }
  2183. },
  2184. TAG: Y ? function(a, b) {
  2185. if (typeof b.getElementsByTagName !== n) return b.getElementsByTagName(a)
  2186. } : function(a, b) {
  2187. var c = b.getElementsByTagName(a);
  2188. if (a === "*") {
  2189. var d, e = [],
  2190. f = 0;
  2191. for (; d = c[f]; f++) d.nodeType === 1 && e.push(d);
  2192. return e
  2193. }
  2194. return c
  2195. },
  2196. NAME: ba && function(a, b) {
  2197. if (typeof b.getElementsByName !== n) return b.getElementsByName(name)
  2198. },
  2199. CLASS: _ && function(a, b, c) {
  2200. if (typeof b.getElementsByClassName !== n && !c) return b.getElementsByClassName(a)
  2201. }
  2202. },
  2203. relative: {
  2204. ">": {
  2205. dir: "parentNode",
  2206. first: !0
  2207. },
  2208. " ": {
  2209. dir: "parentNode"
  2210. },
  2211. "+": {
  2212. dir: "previousSibling",
  2213. first: !0
  2214. },
  2215. "~": {
  2216. dir: "previousSibling"
  2217. }
  2218. },
  2219. preFilter: {
  2220. ATTR: function(a) {
  2221. return a[1] = a[1].replace(V, ""), a[3] = (a[4] || a[5] || "").replace(V, ""), a[2] === "~=" && (a[3] = " " + a[3] + " "), a.slice(0, 4)
  2222. },
  2223. CHILD: function(a) {
  2224. return a[1] = a[1].toLowerCase(), a[1] === "nth" ? (a[2] || bc.error(a[0]), a[3] = +(a[3] ? a[4] + (a[5] || 1) : 2 * (a[2] === "even" || a[2] === "odd")), a[4] = +(a[6] + a[7] || a[2] === "odd")) : a[2] && bc.error(a[0]), a
  2225. },
  2226. PSEUDO: function(a) {
  2227. var b, c;
  2228. if (W.CHILD.test(a[0])) return null;
  2229. if (a[3]) a[2] = a[3];
  2230. else if (b = a[4]) O.test(b) && (c = bh(b, !0)) && (c = b.indexOf(")", b.length - c) - b.length) && (b = b.slice(0, c), a[0] = a[0].slice(0, c)), a[2] = b;
  2231. return a.slice(0, 3)
  2232. }
  2233. },
  2234. filter: {
  2235. ID: d ? function(a) {
  2236. return a = a.replace(V, ""),
  2237. function(b) {
  2238. return b.getAttribute("id") === a
  2239. }
  2240. } : function(a) {
  2241. return a = a.replace(V, ""),
  2242. function(b) {
  2243. var c = typeof b.getAttributeNode !== n && b.getAttributeNode("id");
  2244. return c && c.value === a
  2245. }
  2246. },
  2247. TAG: function(a) {
  2248. return a === "*" ? function() {
  2249. return !0
  2250. } : (a = a.replace(V, "").toLowerCase(), function(b) {
  2251. return b.nodeName && b.nodeName.toLowerCase() === a
  2252. })
  2253. },
  2254. CLASS: function(a) {
  2255. var b = B[o][a];
  2256. return b || (b = B(a, new RegExp("(^|" + E + ")" + a + "(" + E + "|$)"))),
  2257. function(a) {
  2258. return b.test(a.className || typeof a.getAttribute !== n && a.getAttribute("class") || "")
  2259. }
  2260. },
  2261. ATTR: function(a, b, c) {
  2262. return function(d, e) {
  2263. var f = bc.attr(d, a);
  2264. return f == null ? b === "!=" : b ? (f += "", b === "=" ? f === c : b === "!=" ? f !== c : b === "^=" ? c && f.indexOf(c) === 0 : b === "*=" ? c && f.indexOf(c) > -1 : b === "$=" ? c && f.substr(f.length - c.length) === c : b === "~=" ? (" " + f + " ").indexOf(c) > -1 : b === "|=" ? f === c || f.substr(0, c.length + 1) === c + "-" : !1) : !0
  2265. }
  2266. },
  2267. CHILD: function(a, b, c, d) {
  2268. return a === "nth" ? function(a) {
  2269. var b, e, f = a.parentNode;
  2270. if (c === 1 && d === 0) return !0;
  2271. if (f) {
  2272. e = 0;
  2273. for (b = f.firstChild; b; b = b.nextSibling)
  2274. if (b.nodeType === 1) {
  2275. e++;
  2276. if (a === b) break
  2277. }
  2278. }
  2279. return e -= d, e === c || e % c === 0 && e / c >= 0
  2280. } : function(b) {
  2281. var c = b;
  2282. switch (a) {
  2283. case "only":
  2284. case "first":
  2285. while (c = c.previousSibling)
  2286. if (c.nodeType === 1) return !1;
  2287. if (a === "first") return !0;
  2288. c = b;
  2289. case "last":
  2290. while (c = c.nextSibling)
  2291. if (c.nodeType === 1) return !1;
  2292. return !0
  2293. }
  2294. }
  2295. },
  2296. PSEUDO: function(a, b) {
  2297. var c, d = e.pseudos[a] || e.setFilters[a.toLowerCase()] || bc.error("unsupported pseudo: " + a);
  2298. return d[o] ? d(b) : d.length > 1 ? (c = [a, a, "", b], e.setFilters.hasOwnProperty(a.toLowerCase()) ? z(function(a, c) {
  2299. var e, f = d(a, b),
  2300. g = f.length;
  2301. while (g--) e = y.call(a, f[g]), a[e] = !(c[e] = f[g])
  2302. }) : function(a) {
  2303. return d(a, 0, c)
  2304. }) : d
  2305. }
  2306. },
  2307. pseudos: {
  2308. not: z(function(a) {
  2309. var b = [],
  2310. c = [],
  2311. d = i(a.replace(L, "$1"));
  2312. return d[o] ? z(function(a, b, c, e) {
  2313. var f, g = d(a, null, e, []),
  2314. h = a.length;
  2315. while (h--)
  2316. if (f = g[h]) a[h] = !(b[h] = f)
  2317. }) : function(a, e, f) {
  2318. return b[0] = a, d(b, null, f, c), !c.pop()
  2319. }
  2320. }),
  2321. has: z(function(a) {
  2322. return function(b) {
  2323. return bc(a, b).length > 0
  2324. }
  2325. }),
  2326. contains: z(function(a) {
  2327. return function(b) {
  2328. return (b.textContent || b.innerText || f(b)).indexOf(a) > -1
  2329. }
  2330. }),
  2331. enabled: function(a) {
  2332. return a.disabled === !1
  2333. },
  2334. disabled: function(a) {
  2335. return a.disabled === !0
  2336. },
  2337. checked: function(a) {
  2338. var b = a.nodeName.toLowerCase();
  2339. return b === "input" && !! a.checked || b === "option" && !! a.selected
  2340. },
  2341. selected: function(a) {
  2342. return a.parentNode && a.parentNode.selectedIndex, a.selected === !0
  2343. },
  2344. parent: function(a) {
  2345. return !e.pseudos.empty(a)
  2346. },
  2347. empty: function(a) {
  2348. var b;
  2349. a = a.firstChild;
  2350. while (a) {
  2351. if (a.nodeName > "@" || (b = a.nodeType) === 3 || b === 4) return !1;
  2352. a = a.nextSibling
  2353. }
  2354. return !0
  2355. },
  2356. header: function(a) {
  2357. return T.test(a.nodeName)
  2358. },
  2359. text: function(a) {
  2360. var b, c;
  2361. return a.nodeName.toLowerCase() === "input" && (b = a.type) === "text" && ((c = a.getAttribute("type")) == null || c.toLowerCase() === b)
  2362. },
  2363. radio: bd("radio"),
  2364. checkbox: bd("checkbox"),
  2365. file: bd("file"),
  2366. password: bd("password"),
  2367. image: bd("image"),
  2368. submit: be("submit"),
  2369. reset: be("reset"),
  2370. button: function(a) {
  2371. var b = a.nodeName.toLowerCase();
  2372. return b === "input" && a.type === "button" || b === "button"
  2373. },
  2374. input: function(a) {
  2375. return U.test(a.nodeName)
  2376. },
  2377. focus: function(a) {
  2378. var b = a.ownerDocument;
  2379. return a === b.activeElement && (!b.hasFocus || b.hasFocus()) && ( !! a.type || !! a.href)
  2380. },
  2381. active: function(a) {
  2382. return a === a.ownerDocument.activeElement
  2383. },
  2384. first: bf(function(a, b, c) {
  2385. return [0]
  2386. }),
  2387. last: bf(function(a, b, c) {
  2388. return [b - 1]
  2389. }),
  2390. eq: bf(function(a, b, c) {
  2391. return [c < 0 ? c + b : c]
  2392. }),
  2393. even: bf(function(a, b, c) {
  2394. for (var d = 0; d < b; d += 2) a.push(d);
  2395. return a
  2396. }),
  2397. odd: bf(function(a, b, c) {
  2398. for (var d = 1; d < b; d += 2) a.push(d);
  2399. return a
  2400. }),
  2401. lt: bf(function(a, b, c) {
  2402. for (var d = c < 0 ? c + b : c; --d >= 0;) a.push(d);
  2403. return a
  2404. }),
  2405. gt: bf(function(a, b, c) {
  2406. for (var d = c < 0 ? c + b : c; ++d < b;) a.push(d);
  2407. return a
  2408. })
  2409. }
  2410. }, j = s.compareDocumentPosition ? function(a, b) {
  2411. return a === b ? (k = !0, 0) : (!a.compareDocumentPosition || !b.compareDocumentPosition ? a.compareDocumentPosition : a.compareDocumentPosition(b) & 4) ? -1 : 1
  2412. } : function(a, b) {
  2413. if (a === b) return k = !0, 0;
  2414. if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex;
  2415. var c, d, e = [],
  2416. f = [],
  2417. g = a.parentNode,
  2418. h = b.parentNode,
  2419. i = g;
  2420. if (g === h) return bg(a, b);
  2421. if (!g) return -1;
  2422. if (!h) return 1;
  2423. while (i) e.unshift(i), i = i.parentNode;
  2424. i = h;
  2425. while (i) f.unshift(i), i = i.parentNode;
  2426. c = e.length, d = f.length;
  2427. for (var j = 0; j < c && j < d; j++)
  2428. if (e[j] !== f[j]) return bg(e[j], f[j]);
  2429. return j === c ? bg(a, f[j], -1) : bg(e[j], b, 1)
  2430. }, [0, 0].sort(j), m = !k, bc.uniqueSort = function(a) {
  2431. var b, c = 1;
  2432. k = m, a.sort(j);
  2433. if (k)
  2434. for (; b = a[c]; c++) b === a[c - 1] && a.splice(c--, 1);
  2435. return a
  2436. }, bc.error = function(a) {
  2437. throw new Error("Syntax error, unrecognized expression: " + a)
  2438. }, i = bc.compile = function(a, b) {
  2439. var c, d = [],
  2440. e = [],
  2441. f = D[o][a];
  2442. if (!f) {
  2443. b || (b = bh(a)), c = b.length;
  2444. while (c--) f = bm(b[c]), f[o] ? d.push(f) : e.push(f);
  2445. f = D(a, bn(e, d))
  2446. }
  2447. return f
  2448. }, r.querySelectorAll && function() {
  2449. var a, b = bp,
  2450. c = /'|\\/g,
  2451. d = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
  2452. e = [":focus"],
  2453. f = [":active", ":focus"],
  2454. h = s.matchesSelector || s.mozMatchesSelector || s.webkitMatchesSelector || s.oMatchesSelector || s.msMatchesSelector;
  2455. X(function(a) {
  2456. a.innerHTML = "<select><option selected=''></option></select>", a.querySelectorAll("[selected]").length || e.push("\\[" + E + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), a.querySelectorAll(":checked").length || e.push(":checked")
  2457. }), X(function(a) {
  2458. a.innerHTML = "<p test=''></p>", a.querySelectorAll("[test^='']").length && e.push("[*^$]=" + E + "*(?:\"\"|'')"), a.innerHTML = "<input type='hidden'/>", a.querySelectorAll(":enabled").length || e.push(":enabled", ":disabled")
  2459. }), e = new RegExp(e.join("|")), bp = function(a, d, f, g, h) {
  2460. if (!g && !h && (!e || !e.test(a))) {
  2461. var i, j, k = !0,
  2462. l = o,
  2463. m = d,
  2464. n = d.nodeType === 9 && a;
  2465. if (d.nodeType === 1 && d.nodeName.toLowerCase() !== "object") {
  2466. i = bh(a), (k = d.getAttribute("id")) ? l = k.replace(c, "\\$&") : d.setAttribute("id", l), l = "[id='" + l + "'] ", j = i.length;
  2467. while (j--) i[j] = l + i[j].join("");
  2468. m = R.test(a) && d.parentNode || d, n = i.join(",")
  2469. }
  2470. if (n) try {
  2471. return w.apply(f, x.call(m.querySelectorAll(n), 0)), f
  2472. } catch (p) {} finally {
  2473. k || d.removeAttribute("id")
  2474. }
  2475. }
  2476. return b(a, d, f, g, h)
  2477. }, h && (X(function(b) {
  2478. a = h.call(b, "div");
  2479. try {
  2480. h.call(b, "[test!='']:sizzle"), f.push("!=", J)
  2481. } catch (c) {}
  2482. }), f = new RegExp(f.join("|")), bc.matchesSelector = function(b, c) {
  2483. c = c.replace(d, "='$1']");
  2484. if (!g(b) && !f.test(c) && (!e || !e.test(c))) try {
  2485. var i = h.call(b, c);
  2486. if (i || a || b.document && b.document.nodeType !== 11) return i
  2487. } catch (j) {}
  2488. return bc(c, null, null, [b]).length > 0
  2489. })
  2490. }(), e.pseudos.nth = e.pseudos.eq, e.filters = bq.prototype = e.pseudos, e.setFilters = new bq, bc.attr = p.attr, p.find = bc, p.expr = bc.selectors, p.expr[":"] = p.expr.pseudos, p.unique = bc.uniqueSort, p.text = bc.getText, p.isXMLDoc = bc.isXML, p.contains = bc.contains
  2491. }(a);
  2492. var bc = /Until$/,
  2493. bd = /^(?:parents|prev(?:Until|All))/,
  2494. be = /^.[^:#\[\.,]*$/,
  2495. bf = p.expr.match.needsContext,
  2496. bg = {
  2497. children: !0,
  2498. contents: !0,
  2499. next: !0,
  2500. prev: !0
  2501. };
  2502. p.fn.extend({
  2503. find: function(a) {
  2504. var b, c, d, e, f, g, h = this;
  2505. if (typeof a != "string") return p(a).filter(function() {
  2506. for (b = 0, c = h.length; b < c; b++)
  2507. if (p.contains(h[b], this)) return !0
  2508. });
  2509. g = this.pushStack("", "find", a);
  2510. for (b = 0, c = this.length; b < c; b++) {
  2511. d = g.length, p.find(a, this[b], g);
  2512. if (b > 0)
  2513. for (e = d; e < g.length; e++)
  2514. for (f = 0; f < d; f++)
  2515. if (g[f] === g[e]) {
  2516. g.splice(e--, 1);
  2517. break
  2518. }
  2519. }
  2520. return g
  2521. },
  2522. has: function(a) {
  2523. var b, c = p(a, this),
  2524. d = c.length;
  2525. return this.filter(function() {
  2526. for (b = 0; b < d; b++)
  2527. if (p.contains(this, c[b])) return !0
  2528. })
  2529. },
  2530. not: function(a) {
  2531. return this.pushStack(bj(this, a, !1), "not", a)
  2532. },
  2533. filter: function(a) {
  2534. return this.pushStack(bj(this, a, !0), "filter", a)
  2535. },
  2536. is: function(a) {
  2537. return !!a && (typeof a == "string" ? bf.test(a) ? p(a, this.context).index(this[0]) >= 0 : p.filter(a, this).length > 0 : this.filter(a).length > 0)
  2538. },
  2539. closest: function(a, b) {
  2540. var c, d = 0,
  2541. e = this.length,
  2542. f = [],
  2543. g = bf.test(a) || typeof a != "string" ? p(a, b || this.context) : 0;
  2544. for (; d < e; d++) {
  2545. c = this[d];
  2546. while (c && c.ownerDocument && c !== b && c.nodeType !== 11) {
  2547. if (g ? g.index(c) > -1 : p.find.matchesSelector(c, a)) {
  2548. f.push(c);
  2549. break
  2550. }
  2551. c = c.parentNode
  2552. }
  2553. }
  2554. return f = f.length > 1 ? p.unique(f) : f, this.pushStack(f, "closest", a)
  2555. },
  2556. index: function(a) {
  2557. return a ? typeof a == "string" ? p.inArray(this[0], p(a)) : p.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
  2558. },
  2559. add: function(a, b) {
  2560. var c = typeof a == "string" ? p(a, b) : p.makeArray(a && a.nodeType ? [a] : a),
  2561. d = p.merge(this.get(), c);
  2562. return this.pushStack(bh(c[0]) || bh(d[0]) ? d : p.unique(d))
  2563. },
  2564. addBack: function(a) {
  2565. return this.add(a == null ? this.prevObject : this.prevObject.filter(a))
  2566. }
  2567. }), p.fn.andSelf = p.fn.addBack, p.each({
  2568. parent: function(a) {
  2569. var b = a.parentNode;
  2570. return b && b.nodeType !== 11 ? b : null
  2571. },
  2572. parents: function(a) {
  2573. return p.dir(a, "parentNode")
  2574. },
  2575. parentsUntil: function(a, b, c) {
  2576. return p.dir(a, "parentNode", c)
  2577. },
  2578. next: function(a) {
  2579. return bi(a, "nextSibling")
  2580. },
  2581. prev: function(a) {
  2582. return bi(a, "previousSibling")
  2583. },
  2584. nextAll: function(a) {
  2585. return p.dir(a, "nextSibling")
  2586. },
  2587. prevAll: function(a) {
  2588. return p.dir(a, "previousSibling")
  2589. },
  2590. nextUntil: function(a, b, c) {
  2591. return p.dir(a, "nextSibling", c)
  2592. },
  2593. prevUntil: function(a, b, c) {
  2594. return p.dir(a, "previousSibling", c)
  2595. },
  2596. siblings: function(a) {
  2597. return p.sibling((a.parentNode || {}).firstChild, a)
  2598. },
  2599. children: function(a) {
  2600. return p.sibling(a.firstChild)
  2601. },
  2602. contents: function(a) {
  2603. return p.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : p.merge([], a.childNodes)
  2604. }
  2605. }, function(a, b) {
  2606. p.fn[a] = function(c, d) {
  2607. var e = p.map(this, b, c);
  2608. return bc.test(a) || (d = c), d && typeof d == "string" && (e = p.filter(d, e)), e = this.length > 1 && !bg[a] ? p.unique(e) : e, this.length > 1 && bd.test(a) && (e = e.reverse()), this.pushStack(e, a, k.call(arguments).join(","))
  2609. }
  2610. }), p.extend({
  2611. filter: function(a, b, c) {
  2612. return c && (a = ":not(" + a + ")"), b.length === 1 ? p.find.matchesSelector(b[0], a) ? [b[0]] : [] : p.find.matches(a, b)
  2613. },
  2614. dir: function(a, c, d) {
  2615. var e = [],
  2616. f = a[c];
  2617. while (f && f.nodeType !== 9 && (d === b || f.nodeType !== 1 || !p(f).is(d))) f.nodeType === 1 && e.push(f), f = f[c];
  2618. return e
  2619. },
  2620. sibling: function(a, b) {
  2621. var c = [];
  2622. for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a);
  2623. return c
  2624. }
  2625. });
  2626. var bl = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
  2627. bm = / jQuery\d+="(?:null|\d+)"/g,
  2628. bn = /^\s+/,
  2629. bo = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
  2630. bp = /<([\w:]+)/,
  2631. bq = /<tbody/i,
  2632. br = /<|&#?\w+;/,
  2633. bs = /<(?:script|style|link)/i,
  2634. bt = /<(?:script|object|embed|option|style)/i,
  2635. bu = new RegExp("<(?:" + bl + ")[\\s/>]", "i"),
  2636. bv = /^(?:checkbox|radio)$/,
  2637. bw = /checked\s*(?:[^=]|=\s*.checked.)/i,
  2638. bx = /\/(java|ecma)script/i,
  2639. by = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,
  2640. bz = {
  2641. option: [1, "<select multiple='multiple'>", "</select>"],
  2642. legend: [1, "<fieldset>", "</fieldset>"],
  2643. thead: [1, "<table>", "</table>"],
  2644. tr: [2, "<table><tbody>", "</tbody></table>"],
  2645. td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  2646. col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
  2647. area: [1, "<map>", "</map>"],
  2648. _default: [0, "", ""]
  2649. }, bA = bk(e),
  2650. bB = bA.appendChild(e.createElement("div"));
  2651. bz.optgroup = bz.option, bz.tbody = bz.tfoot = bz.colgroup = bz.caption = bz.thead, bz.th = bz.td, p.support.htmlSerialize || (bz._default = [1, "X<div>", "</div>"]), p.fn.extend({
  2652. text: function(a) {
  2653. return p.access(this, function(a) {
  2654. return a === b ? p.text(this) : this.empty().append((this[0] && this[0].ownerDocument || e).createTextNode(a))
  2655. }, null, a, arguments.length)
  2656. },
  2657. wrapAll: function(a) {
  2658. if (p.isFunction(a)) return this.each(function(b) {
  2659. p(this).wrapAll(a.call(this, b))
  2660. });
  2661. if (this[0]) {
  2662. var b = p(a, this[0].ownerDocument).eq(0).clone(!0);
  2663. this[0].parentNode && b.insertBefore(this[0]), b.map(function() {
  2664. var a = this;
  2665. while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild;
  2666. return a
  2667. }).append(this)
  2668. }
  2669. return this
  2670. },
  2671. wrapInner: function(a) {
  2672. return p.isFunction(a) ? this.each(function(b) {
  2673. p(this).wrapInner(a.call(this, b))
  2674. }) : this.each(function() {
  2675. var b = p(this),
  2676. c = b.contents();
  2677. c.length ? c.wrapAll(a) : b.append(a)
  2678. })
  2679. },
  2680. wrap: function(a) {
  2681. var b = p.isFunction(a);
  2682. return this.each(function(c) {
  2683. p(this).wrapAll(b ? a.call(this, c) : a)
  2684. })
  2685. },
  2686. unwrap: function() {
  2687. return this.parent().each(function() {
  2688. p.nodeName(this, "body") || p(this).replaceWith(this.childNodes)
  2689. }).end()
  2690. },
  2691. append: function() {
  2692. return this.domManip(arguments, !0, function(a) {
  2693. (this.nodeType === 1 || this.nodeType === 11) && this.appendChild(a)
  2694. })
  2695. },
  2696. prepend: function() {
  2697. return this.domManip(arguments, !0, function(a) {
  2698. (this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(a, this.firstChild)
  2699. })
  2700. },
  2701. before: function() {
  2702. if (!bh(this[0])) return this.domManip(arguments, !1, function(a) {
  2703. this.parentNode.insertBefore(a, this)
  2704. });
  2705. if (arguments.length) {
  2706. var a = p.clean(arguments);
  2707. return this.pushStack(p.merge(a, this), "before", this.selector)
  2708. }
  2709. },
  2710. after: function() {
  2711. if (!bh(this[0])) return this.domManip(arguments, !1, function(a) {
  2712. this.parentNode.insertBefore(a, this.nextSibling)
  2713. });
  2714. if (arguments.length) {
  2715. var a = p.clean(arguments);
  2716. return this.pushStack(p.merge(this, a), "after", this.selector)
  2717. }
  2718. },
  2719. remove: function(a, b) {
  2720. var c, d = 0;
  2721. for (;
  2722. (c = this[d]) != null; d++)
  2723. if (!a || p.filter(a, [c]).length)!b && c.nodeType === 1 && (p.cleanData(c.getElementsByTagName("*")), p.cleanData([c])), c.parentNode && c.parentNode.removeChild(c);
  2724. return this
  2725. },
  2726. empty: function() {
  2727. var a, b = 0;
  2728. for (;
  2729. (a = this[b]) != null; b++) {
  2730. a.nodeType === 1 && p.cleanData(a.getElementsByTagName("*"));
  2731. while (a.firstChild) a.removeChild(a.firstChild)
  2732. }
  2733. return this
  2734. },
  2735. clone: function(a, b) {
  2736. return a = a == null ? !1 : a, b = b == null ? a : b, this.map(function() {
  2737. return p.clone(this, a, b)
  2738. })
  2739. },
  2740. html: function(a) {
  2741. return p.access(this, function(a) {
  2742. var c = this[0] || {}, d = 0,
  2743. e = this.length;
  2744. if (a === b) return c.nodeType === 1 ? c.innerHTML.replace(bm, "") : b;
  2745. if (typeof a == "string" && !bs.test(a) && (p.support.htmlSerialize || !bu.test(a)) && (p.support.leadingWhitespace || !bn.test(a)) && !bz[(bp.exec(a) || ["", ""])[1].toLowerCase()]) {
  2746. a = a.replace(bo, "<$1></$2>");
  2747. try {
  2748. for (; d < e; d++) c = this[d] || {}, c.nodeType === 1 && (p.cleanData(c.getElementsByTagName("*")), c.innerHTML = a);
  2749. c = 0
  2750. } catch (f) {}
  2751. }
  2752. c && this.empty().append(a)
  2753. }, null, a, arguments.length)
  2754. },
  2755. replaceWith: function(a) {
  2756. return bh(this[0]) ? this.length ? this.pushStack(p(p.isFunction(a) ? a() : a), "replaceWith", a) : this : p.isFunction(a) ? this.each(function(b) {
  2757. var c = p(this),
  2758. d = c.html();
  2759. c.replaceWith(a.call(this, b, d))
  2760. }) : (typeof a != "string" && (a = p(a).detach()), this.each(function() {
  2761. var b = this.nextSibling,
  2762. c = this.parentNode;
  2763. p(this).remove(), b ? p(b).before(a) : p(c).append(a)
  2764. }))
  2765. },
  2766. detach: function(a) {
  2767. return this.remove(a, !0)
  2768. },
  2769. domManip: function(a, c, d) {
  2770. a = [].concat.apply([], a);
  2771. var e, f, g, h, i = 0,
  2772. j = a[0],
  2773. k = [],
  2774. l = this.length;
  2775. if (!p.support.checkClone && l > 1 && typeof j == "string" && bw.test(j)) return this.each(function() {
  2776. p(this).domManip(a, c, d)
  2777. });
  2778. if (p.isFunction(j)) return this.each(function(e) {
  2779. var f = p(this);
  2780. a[0] = j.call(this, e, c ? f.html() : b), f.domManip(a, c, d)
  2781. });
  2782. if (this[0]) {
  2783. e = p.buildFragment(a, this, k), g = e.fragment, f = g.firstChild, g.childNodes.length === 1 && (g = f);
  2784. if (f) {
  2785. c = c && p.nodeName(f, "tr");
  2786. for (h = e.cacheable || l - 1; i < l; i++) d.call(c && p.nodeName(this[i], "table") ? bC(this[i], "tbody") : this[i], i === h ? g : p.clone(g, !0, !0))
  2787. }
  2788. g = f = null, k.length && p.each(k, function(a, b) {
  2789. b.src ? p.ajax ? p.ajax({
  2790. url: b.src,
  2791. type: "GET",
  2792. dataType: "script",
  2793. async: !1,
  2794. global: !1,
  2795. "throws": !0
  2796. }) : p.error("no ajax") : p.globalEval((b.text || b.textContent || b.innerHTML || "").replace(by, "")), b.parentNode && b.parentNode.removeChild(b)
  2797. })
  2798. }
  2799. return this
  2800. }
  2801. }), p.buildFragment = function(a, c, d) {
  2802. var f, g, h, i = a[0];
  2803. return c = c || e, c = !c.nodeType && c[0] || c, c = c.ownerDocument || c, a.length === 1 && typeof i == "string" && i.length < 512 && c === e && i.charAt(0) === "<" && !bt.test(i) && (p.support.checkClone || !bw.test(i)) && (p.support.html5Clone || !bu.test(i)) && (g = !0, f = p.fragments[i], h = f !== b), f || (f = c.createDocumentFragment(), p.clean(a, c, f, d), g && (p.fragments[i] = h && f)), {
  2804. fragment: f,
  2805. cacheable: g
  2806. }
  2807. }, p.fragments = {}, p.each({
  2808. appendTo: "append",
  2809. prependTo: "prepend",
  2810. insertBefore: "before",
  2811. insertAfter: "after",
  2812. replaceAll: "replaceWith"
  2813. }, function(a, b) {
  2814. p.fn[a] = function(c) {
  2815. var d, e = 0,
  2816. f = [],
  2817. g = p(c),
  2818. h = g.length,
  2819. i = this.length === 1 && this[0].parentNode;
  2820. if ((i == null || i && i.nodeType === 11 && i.childNodes.length === 1) && h === 1) return g[b](this[0]), this;
  2821. for (; e < h; e++) d = (e > 0 ? this.clone(!0) : this).get(), p(g[e])[b](d), f = f.concat(d);
  2822. return this.pushStack(f, a, g.selector)
  2823. }
  2824. }), p.extend({
  2825. clone: function(a, b, c) {
  2826. var d, e, f, g;
  2827. p.support.html5Clone || p.isXMLDoc(a) || !bu.test("<" + a.nodeName + ">") ? g = a.cloneNode(!0) : (bB.innerHTML = a.outerHTML, bB.removeChild(g = bB.firstChild));
  2828. if ((!p.support.noCloneEvent || !p.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !p.isXMLDoc(a)) {
  2829. bE(a, g), d = bF(a), e = bF(g);
  2830. for (f = 0; d[f]; ++f) e[f] && bE(d[f], e[f])
  2831. }
  2832. if (b) {
  2833. bD(a, g);
  2834. if (c) {
  2835. d = bF(a), e = bF(g);
  2836. for (f = 0; d[f]; ++f) bD(d[f], e[f])
  2837. }
  2838. }
  2839. return d = e = null, g
  2840. },
  2841. clean: function(a, b, c, d) {
  2842. var f, g, h, i, j, k, l, m, n, o, q, r, s = b === e && bA,
  2843. t = [];
  2844. if (!b || typeof b.createDocumentFragment == "undefined") b = e;
  2845. for (f = 0;
  2846. (h = a[f]) != null; f++) {
  2847. typeof h == "number" && (h += "");
  2848. if (!h) continue;
  2849. if (typeof h == "string")
  2850. if (!br.test(h)) h = b.createTextNode(h);
  2851. else {
  2852. s = s || bk(b), l = b.createElement("div"), s.appendChild(l), h = h.replace(bo, "<$1></$2>"), i = (bp.exec(h) || ["", ""])[1].toLowerCase(), j = bz[i] || bz._default, k = j[0], l.innerHTML = j[1] + h + j[2];
  2853. while (k--) l = l.lastChild;
  2854. if (!p.support.tbody) {
  2855. m = bq.test(h), n = i === "table" && !m ? l.firstChild && l.firstChild.childNodes : j[1] === "<table>" && !m ? l.childNodes : [];
  2856. for (g = n.length - 1; g >= 0; --g) p.nodeName(n[g], "tbody") && !n[g].childNodes.length && n[g].parentNode.removeChild(n[g])
  2857. }!p.support.leadingWhitespace && bn.test(h) && l.insertBefore(b.createTextNode(bn.exec(h)[0]), l.firstChild), h = l.childNodes, l.parentNode.removeChild(l)
  2858. }
  2859. h.nodeType ? t.push(h) : p.merge(t, h)
  2860. }
  2861. l && (h = l = s = null);
  2862. if (!p.support.appendChecked)
  2863. for (f = 0;
  2864. (h = t[f]) != null; f++) p.nodeName(h, "input") ? bG(h) : typeof h.getElementsByTagName != "undefined" && p.grep(h.getElementsByTagName("input"), bG);
  2865. if (c) {
  2866. q = function(a) {
  2867. if (!a.type || bx.test(a.type)) return d ? d.push(a.parentNode ? a.parentNode.removeChild(a) : a) : c.appendChild(a)
  2868. };
  2869. for (f = 0;
  2870. (h = t[f]) != null; f++)
  2871. if (!p.nodeName(h, "script") || !q(h)) c.appendChild(h), typeof h.getElementsByTagName != "undefined" && (r = p.grep(p.merge([], h.getElementsByTagName("script")), q), t.splice.apply(t, [f + 1, 0].concat(r)), f += r.length)
  2872. }
  2873. return t
  2874. },
  2875. cleanData: function(a, b) {
  2876. var c, d, e, f, g = 0,
  2877. h = p.expando,
  2878. i = p.cache,
  2879. j = p.support.deleteExpando,
  2880. k = p.event.special;
  2881. for (;
  2882. (e = a[g]) != null; g++)
  2883. if (b || p.acceptData(e)) {
  2884. d = e[h], c = d && i[d];
  2885. if (c) {
  2886. if (c.events)
  2887. for (f in c.events) k[f] ? p.event.remove(e, f) : p.removeEvent(e, f, c.handle);
  2888. i[d] && (delete i[d], j ? delete e[h] : e.removeAttribute ? e.removeAttribute(h) : e[h] = null, p.deletedIds.push(d))
  2889. }
  2890. }
  2891. }
  2892. }),
  2893. function() {
  2894. var a, b;
  2895. p.uaMatch = function(a) {
  2896. a = a.toLowerCase();
  2897. var b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [];
  2898. return {
  2899. browser: b[1] || "",
  2900. version: b[2] || "0"
  2901. }
  2902. }, a = p.uaMatch(g.userAgent), b = {}, a.browser && (b[a.browser] = !0, b.version = a.version), b.chrome ? b.webkit = !0 : b.webkit && (b.safari = !0), p.browser = b, p.sub = function() {
  2903. function a(b, c) {
  2904. return new a.fn.init(b, c)
  2905. }
  2906. p.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function c(c, d) {
  2907. return d && d instanceof p && !(d instanceof a) && (d = a(d)), p.fn.init.call(this, c, d, b)
  2908. }, a.fn.init.prototype = a.fn;
  2909. var b = a(e);
  2910. return a
  2911. }
  2912. }();
  2913. var bH, bI, bJ, bK = /alpha\([^)]*\)/i,
  2914. bL = /opacity=([^)]*)/,
  2915. bM = /^(top|right|bottom|left)$/,
  2916. bN = /^(none|table(?!-c[ea]).+)/,
  2917. bO = /^margin/,
  2918. bP = new RegExp("^(" + q + ")(.*)$", "i"),
  2919. bQ = new RegExp("^(" + q + ")(?!px)[a-z%]+$", "i"),
  2920. bR = new RegExp("^([-+])=(" + q + ")", "i"),
  2921. bS = {}, bT = {
  2922. position: "absolute",
  2923. visibility: "hidden",
  2924. display: "block"
  2925. }, bU = {
  2926. letterSpacing: 0,
  2927. fontWeight: 400
  2928. }, bV = ["Top", "Right", "Bottom", "Left"],
  2929. bW = ["Webkit", "O", "Moz", "ms"],
  2930. bX = p.fn.toggle;
  2931. p.fn.extend({
  2932. css: function(a, c) {
  2933. return p.access(this, function(a, c, d) {
  2934. return d !== b ? p.style(a, c, d) : p.css(a, c)
  2935. }, a, c, arguments.length > 1)
  2936. },
  2937. show: function() {
  2938. return b$(this, !0)
  2939. },
  2940. hide: function() {
  2941. return b$(this)
  2942. },
  2943. toggle: function(a, b) {
  2944. var c = typeof a == "boolean";
  2945. return p.isFunction(a) && p.isFunction(b) ? bX.apply(this, arguments) : this.each(function() {
  2946. (c ? a : bZ(this)) ? p(this).show() : p(this).hide()
  2947. })
  2948. }
  2949. }), p.extend({
  2950. cssHooks: {
  2951. opacity: {
  2952. get: function(a, b) {
  2953. if (b) {
  2954. var c = bH(a, "opacity");
  2955. return c === "" ? "1" : c
  2956. }
  2957. }
  2958. }
  2959. },
  2960. cssNumber: {
  2961. fillOpacity: !0,
  2962. fontWeight: !0,
  2963. lineHeight: !0,
  2964. opacity: !0,
  2965. orphans: !0,
  2966. widows: !0,
  2967. zIndex: !0,
  2968. zoom: !0
  2969. },
  2970. cssProps: {
  2971. "float": p.support.cssFloat ? "cssFloat" : "styleFloat"
  2972. },
  2973. style: function(a, c, d, e) {
  2974. if (!a || a.nodeType === 3 || a.nodeType === 8 || !a.style) return;
  2975. var f, g, h, i = p.camelCase(c),
  2976. j = a.style;
  2977. c = p.cssProps[i] || (p.cssProps[i] = bY(j, i)), h = p.cssHooks[c] || p.cssHooks[i];
  2978. if (d === b) return h && "get" in h && (f = h.get(a, !1, e)) !== b ? f : j[c];
  2979. g = typeof d, g === "string" && (f = bR.exec(d)) && (d = (f[1] + 1) * f[2] + parseFloat(p.css(a, c)), g = "number");
  2980. if (d == null || g === "number" && isNaN(d)) return;
  2981. g === "number" && !p.cssNumber[i] && (d += "px");
  2982. if (!h || !("set" in h) || (d = h.set(a, d, e)) !== b) try {
  2983. j[c] = d
  2984. } catch (k) {}
  2985. },
  2986. css: function(a, c, d, e) {
  2987. var f, g, h, i = p.camelCase(c);
  2988. return c = p.cssProps[i] || (p.cssProps[i] = bY(a.style, i)), h = p.cssHooks[c] || p.cssHooks[i], h && "get" in h && (f = h.get(a, !0, e)), f === b && (f = bH(a, c)), f === "normal" && c in bU && (f = bU[c]), d || e !== b ? (g = parseFloat(f), d || p.isNumeric(g) ? g || 0 : f) : f
  2989. },
  2990. swap: function(a, b, c) {
  2991. var d, e, f = {};
  2992. for (e in b) f[e] = a.style[e], a.style[e] = b[e];
  2993. d = c.call(a);
  2994. for (e in b) a.style[e] = f[e];
  2995. return d
  2996. }
  2997. }), a.getComputedStyle ? bH = function(b, c) {
  2998. var d, e, f, g, h = a.getComputedStyle(b, null),
  2999. i = b.style;
  3000. return h && (d = h[c], d === "" && !p.contains(b.ownerDocument, b) && (d = p.style(b, c)), bQ.test(d) && bO.test(c) && (e = i.width, f = i.minWidth, g = i.maxWidth, i.minWidth = i.maxWidth = i.width = d, d = h.width, i.width = e, i.minWidth = f, i.maxWidth = g)), d
  3001. } : e.documentElement.currentStyle && (bH = function(a, b) {
  3002. var c, d, e = a.currentStyle && a.currentStyle[b],
  3003. f = a.style;
  3004. return e == null && f && f[b] && (e = f[b]), bQ.test(e) && !bM.test(b) && (c = f.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), f.left = b === "fontSize" ? "1em" : e, e = f.pixelLeft + "px", f.left = c, d && (a.runtimeStyle.left = d)), e === "" ? "auto" : e
  3005. }), p.each(["height", "width"], function(a, b) {
  3006. p.cssHooks[b] = {
  3007. get: function(a, c, d) {
  3008. if (c) return a.offsetWidth === 0 && bN.test(bH(a, "display")) ? p.swap(a, bT, function() {
  3009. return cb(a, b, d)
  3010. }) : cb(a, b, d)
  3011. },
  3012. set: function(a, c, d) {
  3013. return b_(a, c, d ? ca(a, b, d, p.support.boxSizing && p.css(a, "boxSizing") === "border-box") : 0)
  3014. }
  3015. }
  3016. }), p.support.opacity || (p.cssHooks.opacity = {
  3017. get: function(a, b) {
  3018. return bL.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
  3019. },
  3020. set: function(a, b) {
  3021. var c = a.style,
  3022. d = a.currentStyle,
  3023. e = p.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "",
  3024. f = d && d.filter || c.filter || "";
  3025. c.zoom = 1;
  3026. if (b >= 1 && p.trim(f.replace(bK, "")) === "" && c.removeAttribute) {
  3027. c.removeAttribute("filter");
  3028. if (d && !d.filter) return
  3029. }
  3030. c.filter = bK.test(f) ? f.replace(bK, e) : f + " " + e
  3031. }
  3032. }), p(function() {
  3033. p.support.reliableMarginRight || (p.cssHooks.marginRight = {
  3034. get: function(a, b) {
  3035. return p.swap(a, {
  3036. display: "inline-block"
  3037. }, function() {
  3038. if (b) return bH(a, "marginRight")
  3039. })
  3040. }
  3041. }), !p.support.pixelPosition && p.fn.position && p.each(["top", "left"], function(a, b) {
  3042. p.cssHooks[b] = {
  3043. get: function(a, c) {
  3044. if (c) {
  3045. var d = bH(a, b);
  3046. return bQ.test(d) ? p(a).position()[b] + "px" : d
  3047. }
  3048. }
  3049. }
  3050. })
  3051. }), p.expr && p.expr.filters && (p.expr.filters.hidden = function(a) {
  3052. return a.offsetWidth === 0 && a.offsetHeight === 0 || !p.support.reliableHiddenOffsets && (a.style && a.style.display || bH(a, "display")) === "none"
  3053. }, p.expr.filters.visible = function(a) {
  3054. return !p.expr.filters.hidden(a)
  3055. }), p.each({
  3056. margin: "",
  3057. padding: "",
  3058. border: "Width"
  3059. }, function(a, b) {
  3060. p.cssHooks[a + b] = {
  3061. expand: function(c) {
  3062. var d, e = typeof c == "string" ? c.split(" ") : [c],
  3063. f = {};
  3064. for (d = 0; d < 4; d++) f[a + bV[d] + b] = e[d] || e[d - 2] || e[0];
  3065. return f
  3066. }
  3067. }, bO.test(a) || (p.cssHooks[a + b].set = b_)
  3068. });
  3069. var cd = /%20/g,
  3070. ce = /\[\]$/,
  3071. cf = /\r?\n/g,
  3072. cg = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
  3073. ch = /^(?:select|textarea)/i;
  3074. p.fn.extend({
  3075. serialize: function() {
  3076. return p.param(this.serializeArray())
  3077. },
  3078. serializeArray: function() {
  3079. return this.map(function() {
  3080. return this.elements ? p.makeArray(this.elements) : this
  3081. }).filter(function() {
  3082. return this.name && !this.disabled && (this.checked || ch.test(this.nodeName) || cg.test(this.type))
  3083. }).map(function(a, b) {
  3084. var c = p(this).val();
  3085. return c == null ? null : p.isArray(c) ? p.map(c, function(a, c) {
  3086. return {
  3087. name: b.name,
  3088. value: a.replace(cf, "\r\n")
  3089. }
  3090. }) : {
  3091. name: b.name,
  3092. value: c.replace(cf, "\r\n")
  3093. }
  3094. }).get()
  3095. }
  3096. }), p.param = function(a, c) {
  3097. var d, e = [],
  3098. f = function(a, b) {
  3099. b = p.isFunction(b) ? b() : b == null ? "" : b, e[e.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
  3100. };
  3101. c === b && (c = p.ajaxSettings && p.ajaxSettings.traditional);
  3102. if (p.isArray(a) || a.jquery && !p.isPlainObject(a)) p.each(a, function() {
  3103. f(this.name, this.value)
  3104. });
  3105. else
  3106. for (d in a) ci(d, a[d], c, f);
  3107. return e.join("&").replace(cd, "+")
  3108. };
  3109. var cj, ck, cl = /#.*$/,
  3110. cm = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
  3111. cn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
  3112. co = /^(?:GET|HEAD)$/,
  3113. cp = /^\/\//,
  3114. cq = /\?/,
  3115. cr = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
  3116. cs = /([?&])_=[^&]*/,
  3117. ct = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
  3118. cu = p.fn.load,
  3119. cv = {}, cw = {}, cx = ["*/"] + ["*"];
  3120. try {
  3121. ck = f.href
  3122. } catch (cy) {
  3123. ck = e.createElement("a"), ck.href = "", ck = ck.href
  3124. }
  3125. cj = ct.exec(ck.toLowerCase()) || [], p.fn.load = function(a, c, d) {
  3126. if (typeof a != "string" && cu) return cu.apply(this, arguments);
  3127. if (!this.length) return this;
  3128. var e, f, g, h = this,
  3129. i = a.indexOf(" ");
  3130. return i >= 0 && (e = a.slice(i, a.length), a = a.slice(0, i)), p.isFunction(c) ? (d = c, c = b) : c && typeof c == "object" && (f = "POST"), p.ajax({
  3131. url: a,
  3132. type: f,
  3133. dataType: "html",
  3134. data: c,
  3135. complete: function(a, b) {
  3136. d && h.each(d, g || [a.responseText, b, a])
  3137. }
  3138. }).done(function(a) {
  3139. g = arguments, h.html(e ? p("<div>").append(a.replace(cr, "")).find(e) : a)
  3140. }), this
  3141. }, p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {
  3142. p.fn[b] = function(a) {
  3143. return this.on(b, a)
  3144. }
  3145. }), p.each(["get", "post"], function(a, c) {
  3146. p[c] = function(a, d, e, f) {
  3147. return p.isFunction(d) && (f = f || e, e = d, d = b), p.ajax({
  3148. type: c,
  3149. url: a,
  3150. data: d,
  3151. success: e,
  3152. dataType: f
  3153. })
  3154. }
  3155. }), p.extend({
  3156. getScript: function(a, c) {
  3157. return p.get(a, b, c, "script")
  3158. },
  3159. getJSON: function(a, b, c) {
  3160. return p.get(a, b, c, "json")
  3161. },
  3162. ajaxSetup: function(a, b) {
  3163. return b ? cB(a, p.ajaxSettings) : (b = a, a = p.ajaxSettings), cB(a, b), a
  3164. },
  3165. ajaxSettings: {
  3166. url: ck,
  3167. isLocal: cn.test(cj[1]),
  3168. global: !0,
  3169. type: "GET",
  3170. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  3171. processData: !0,
  3172. async: !0,
  3173. accepts: {
  3174. xml: "application/xml, text/xml",
  3175. html: "text/html",
  3176. text: "text/plain",
  3177. json: "application/json, text/javascript",
  3178. "*": cx
  3179. },
  3180. contents: {
  3181. xml: /xml/,
  3182. html: /html/,
  3183. json: /json/
  3184. },
  3185. responseFields: {
  3186. xml: "responseXML",
  3187. text: "responseText"
  3188. },
  3189. converters: {
  3190. "* text": a.String,
  3191. "text html": !0,
  3192. "text json": p.parseJSON,
  3193. "text xml": p.parseXML
  3194. },
  3195. flatOptions: {
  3196. context: !0,
  3197. url: !0
  3198. }
  3199. },
  3200. ajaxPrefilter: cz(cv),
  3201. ajaxTransport: cz(cw),
  3202. ajax: function(a, c) {
  3203. function y(a, c, f, i) {
  3204. var k, s, t, u, w, y = c;
  3205. if (v === 2) return;
  3206. v = 2, h && clearTimeout(h), g = b, e = i || "", x.readyState = a > 0 ? 4 : 0, f && (u = cC(l, x, f));
  3207. if (a >= 200 && a < 300 || a === 304) l.ifModified && (w = x.getResponseHeader("Last-Modified"), w && (p.lastModified[d] = w), w = x.getResponseHeader("Etag"), w && (p.etag[d] = w)), a === 304 ? (y = "notmodified", k = !0) : (k = cD(l, u), y = k.state, s = k.data, t = k.error, k = !t);
  3208. else {
  3209. t = y;
  3210. if (!y || a) y = "error", a < 0 && (a = 0)
  3211. }
  3212. x.status = a, x.statusText = (c || y) + "", k ? o.resolveWith(m, [s, y, x]) : o.rejectWith(m, [x, y, t]), x.statusCode(r), r = b, j && n.trigger("ajax" + (k ? "Success" : "Error"), [x, l, k ? s : t]), q.fireWith(m, [x, y]), j && (n.trigger("ajaxComplete", [x, l]), --p.active || p.event.trigger("ajaxStop"))
  3213. }
  3214. typeof a == "object" && (c = a, a = b), c = c || {};
  3215. var d, e, f, g, h, i, j, k, l = p.ajaxSetup({}, c),
  3216. m = l.context || l,
  3217. n = m !== l && (m.nodeType || m instanceof p) ? p(m) : p.event,
  3218. o = p.Deferred(),
  3219. q = p.Callbacks("once memory"),
  3220. r = l.statusCode || {}, t = {}, u = {}, v = 0,
  3221. w = "canceled",
  3222. x = {
  3223. readyState: 0,
  3224. setRequestHeader: function(a, b) {
  3225. if (!v) {
  3226. var c = a.toLowerCase();
  3227. a = u[c] = u[c] || a, t[a] = b
  3228. }
  3229. return this
  3230. },
  3231. getAllResponseHeaders: function() {
  3232. return v === 2 ? e : null
  3233. },
  3234. getResponseHeader: function(a) {
  3235. var c;
  3236. if (v === 2) {
  3237. if (!f) {
  3238. f = {};
  3239. while (c = cm.exec(e)) f[c[1].toLowerCase()] = c[2]
  3240. }
  3241. c = f[a.toLowerCase()]
  3242. }
  3243. return c === b ? null : c
  3244. },
  3245. overrideMimeType: function(a) {
  3246. return v || (l.mimeType = a), this
  3247. },
  3248. abort: function(a) {
  3249. return a = a || w, g && g.abort(a), y(0, a), this
  3250. }
  3251. };
  3252. o.promise(x), x.success = x.done, x.error = x.fail, x.complete = q.add, x.statusCode = function(a) {
  3253. if (a) {
  3254. var b;
  3255. if (v < 2)
  3256. for (b in a) r[b] = [r[b], a[b]];
  3257. else b = a[x.status], x.always(b)
  3258. }
  3259. return this
  3260. }, l.url = ((a || l.url) + "").replace(cl, "").replace(cp, cj[1] + "//"), l.dataTypes = p.trim(l.dataType || "*").toLowerCase().split(s), l.crossDomain == null && (i = ct.exec(l.url.toLowerCase()) || !1, l.crossDomain = i && i.join(":") + (i[3] ? "" : i[1] === "http:" ? 80 : 443) !== cj.join(":") + (cj[3] ? "" : cj[1] === "http:" ? 80 : 443)), l.data && l.processData && typeof l.data != "string" && (l.data = p.param(l.data, l.traditional)), cA(cv, l, c, x);
  3261. if (v === 2) return x;
  3262. j = l.global, l.type = l.type.toUpperCase(), l.hasContent = !co.test(l.type), j && p.active++ === 0 && p.event.trigger("ajaxStart");
  3263. if (!l.hasContent) {
  3264. l.data && (l.url += (cq.test(l.url) ? "&" : "?") + l.data, delete l.data), d = l.url;
  3265. if (l.cache === !1) {
  3266. var z = p.now(),
  3267. A = l.url.replace(cs, "$1_=" + z);
  3268. l.url = A + (A === l.url ? (cq.test(l.url) ? "&" : "?") + "_=" + z : "")
  3269. }
  3270. }(l.data && l.hasContent && l.contentType !== !1 || c.contentType) && x.setRequestHeader("Content-Type", l.contentType), l.ifModified && (d = d || l.url, p.lastModified[d] && x.setRequestHeader("If-Modified-Since", p.lastModified[d]), p.etag[d] && x.setRequestHeader("If-None-Match", p.etag[d])), x.setRequestHeader("Accept", l.dataTypes[0] && l.accepts[l.dataTypes[0]] ? l.accepts[l.dataTypes[0]] + (l.dataTypes[0] !== "*" ? ", " + cx + "; q=0.01" : "") : l.accepts["*"]);
  3271. for (k in l.headers) x.setRequestHeader(k, l.headers[k]);
  3272. if (!l.beforeSend || l.beforeSend.call(m, x, l) !== !1 && v !== 2) {
  3273. w = "abort";
  3274. for (k in {
  3275. success: 1,
  3276. error: 1,
  3277. complete: 1
  3278. }) x[k](l[k]);
  3279. g = cA(cw, l, c, x);
  3280. if (!g) y(-1, "No Transport");
  3281. else {
  3282. x.readyState = 1, j && n.trigger("ajaxSend", [x, l]), l.async && l.timeout > 0 && (h = setTimeout(function() {
  3283. x.abort("timeout")
  3284. }, l.timeout));
  3285. try {
  3286. v = 1, g.send(t, y)
  3287. } catch (B) {
  3288. if (v < 2) y(-1, B);
  3289. else throw B
  3290. }
  3291. }
  3292. return x
  3293. }
  3294. return x.abort()
  3295. },
  3296. active: 0,
  3297. lastModified: {},
  3298. etag: {}
  3299. });
  3300. var cE = [],
  3301. cF = /\?/,
  3302. cG = /(=)\?(?=&|$)|\?\?/,
  3303. cH = p.now();
  3304. p.ajaxSetup({
  3305. jsonp: "callback",
  3306. jsonpCallback: function() {
  3307. var a = cE.pop() || p.expando + "_" + cH++;
  3308. return this[a] = !0, a
  3309. }
  3310. }), p.ajaxPrefilter("json jsonp", function(c, d, e) {
  3311. var f, g, h, i = c.data,
  3312. j = c.url,
  3313. k = c.jsonp !== !1,
  3314. l = k && cG.test(j),
  3315. m = k && !l && typeof i == "string" && !(c.contentType || "").indexOf("application/x-www-form-urlencoded") && cG.test(i);
  3316. if (c.dataTypes[0] === "jsonp" || l || m) return f = c.jsonpCallback = p.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback, g = a[f], l ? c.url = j.replace(cG, "$1" + f) : m ? c.data = i.replace(cG, "$1" + f) : k && (c.url += (cF.test(j) ? "&" : "?") + c.jsonp + "=" + f), c.converters["script json"] = function() {
  3317. return h || p.error(f + " was not called"), h[0]
  3318. }, c.dataTypes[0] = "json", a[f] = function() {
  3319. h = arguments
  3320. }, e.always(function() {
  3321. a[f] = g, c[f] && (c.jsonpCallback = d.jsonpCallback, cE.push(f)), h && p.isFunction(g) && g(h[0]), h = g = b
  3322. }), "script"
  3323. }), p.ajaxSetup({
  3324. accepts: {
  3325. script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  3326. },
  3327. contents: {
  3328. script: /javascript|ecmascript/
  3329. },
  3330. converters: {
  3331. "text script": function(a) {
  3332. return p.globalEval(a), a
  3333. }
  3334. }
  3335. }), p.ajaxPrefilter("script", function(a) {
  3336. a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1)
  3337. }), p.ajaxTransport("script", function(a) {
  3338. if (a.crossDomain) {
  3339. var c, d = e.head || e.getElementsByTagName("head")[0] || e.documentElement;
  3340. return {
  3341. send: function(f, g) {
  3342. c = e.createElement("script"), c.async = "async", a.scriptCharset && (c.charset = a.scriptCharset), c.src = a.url, c.onload = c.onreadystatechange = function(a, e) {
  3343. if (e || !c.readyState || /loaded|complete/.test(c.readyState)) c.onload = c.onreadystatechange = null, d && c.parentNode && d.removeChild(c), c = b, e || g(200, "success")
  3344. }, d.insertBefore(c, d.firstChild)
  3345. },
  3346. abort: function() {
  3347. c && c.onload(0, 1)
  3348. }
  3349. }
  3350. }
  3351. });
  3352. var cI, cJ = a.ActiveXObject ? function() {
  3353. for (var a in cI) cI[a](0, 1)
  3354. } : !1,
  3355. cK = 0;
  3356. p.ajaxSettings.xhr = a.ActiveXObject ? function() {
  3357. return !this.isLocal && cL() || cM()
  3358. } : cL,
  3359. function(a) {
  3360. p.extend(p.support, {
  3361. ajax: !! a,
  3362. cors: !! a && "withCredentials" in a
  3363. })
  3364. }(p.ajaxSettings.xhr()), p.support.ajax && p.ajaxTransport(function(c) {
  3365. if (!c.crossDomain || p.support.cors) {
  3366. var d;
  3367. return {
  3368. send: function(e, f) {
  3369. var g, h, i = c.xhr();
  3370. c.username ? i.open(c.type, c.url, c.async, c.username, c.password) : i.open(c.type, c.url, c.async);
  3371. if (c.xhrFields)
  3372. for (h in c.xhrFields) i[h] = c.xhrFields[h];
  3373. c.mimeType && i.overrideMimeType && i.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest");
  3374. try {
  3375. for (h in e) i.setRequestHeader(h, e[h])
  3376. } catch (j) {}
  3377. i.send(c.hasContent && c.data || null), d = function(a, e) {
  3378. var h, j, k, l, m;
  3379. try {
  3380. if (d && (e || i.readyState === 4)) {
  3381. d = b, g && (i.onreadystatechange = p.noop, cJ && delete cI[g]);
  3382. if (e) i.readyState !== 4 && i.abort();
  3383. else {
  3384. h = i.status, k = i.getAllResponseHeaders(), l = {}, m = i.responseXML, m && m.documentElement && (l.xml = m);
  3385. try {
  3386. l.text = i.responseText
  3387. } catch (a) {}
  3388. try {
  3389. j = i.statusText
  3390. } catch (n) {
  3391. j = ""
  3392. }!h && c.isLocal && !c.crossDomain ? h = l.text ? 200 : 404 : h === 1223 && (h = 204)
  3393. }
  3394. }
  3395. } catch (o) {
  3396. e || f(-1, o)
  3397. }
  3398. l && f(h, j, l, k)
  3399. }, c.async ? i.readyState === 4 ? setTimeout(d, 0) : (g = ++cK, cJ && (cI || (cI = {}, p(a).unload(cJ)), cI[g] = d), i.onreadystatechange = d) : d()
  3400. },
  3401. abort: function() {
  3402. d && d(0, 1)
  3403. }
  3404. }
  3405. }
  3406. });
  3407. var cN, cO, cP = /^(?:toggle|show|hide)$/,
  3408. cQ = new RegExp("^(?:([-+])=|)(" + q + ")([a-z%]*)$", "i"),
  3409. cR = /queueHooks$/,
  3410. cS = [cY],
  3411. cT = {
  3412. "*": [
  3413. function(a, b) {
  3414. var c, d, e = this.createTween(a, b),
  3415. f = cQ.exec(b),
  3416. g = e.cur(),
  3417. h = +g || 0,
  3418. i = 1,
  3419. j = 20;
  3420. if (f) {
  3421. c = +f[2], d = f[3] || (p.cssNumber[a] ? "" : "px");
  3422. if (d !== "px" && h) {
  3423. h = p.css(e.elem, a, !0) || c || 1;
  3424. do i = i || ".5", h = h / i, p.style(e.elem, a, h + d); while (i !== (i = e.cur() / g) && i !== 1 && --j)
  3425. }
  3426. e.unit = d, e.start = h, e.end = f[1] ? h + (f[1] + 1) * c : c
  3427. }
  3428. return e
  3429. }
  3430. ]
  3431. };
  3432. p.Animation = p.extend(cW, {
  3433. tweener: function(a, b) {
  3434. p.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
  3435. var c, d = 0,
  3436. e = a.length;
  3437. for (; d < e; d++) c = a[d], cT[c] = cT[c] || [], cT[c].unshift(b)
  3438. },
  3439. prefilter: function(a, b) {
  3440. b ? cS.unshift(a) : cS.push(a)
  3441. }
  3442. }), p.Tween = cZ, cZ.prototype = {
  3443. constructor: cZ,
  3444. init: function(a, b, c, d, e, f) {
  3445. this.elem = a, this.prop = c, this.easing = e || "swing", this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (p.cssNumber[c] ? "" : "px")
  3446. },
  3447. cur: function() {
  3448. var a = cZ.propHooks[this.prop];
  3449. return a && a.get ? a.get(this) : cZ.propHooks._default.get(this)
  3450. },
  3451. run: function(a) {
  3452. var b, c = cZ.propHooks[this.prop];
  3453. return this.options.duration ? this.pos = b = p.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : cZ.propHooks._default.set(this), this
  3454. }
  3455. }, cZ.prototype.init.prototype = cZ.prototype, cZ.propHooks = {
  3456. _default: {
  3457. get: function(a) {
  3458. var b;
  3459. return a.elem[a.prop] == null || !! a.elem.style && a.elem.style[a.prop] != null ? (b = p.css(a.elem, a.prop, !1, ""), !b || b === "auto" ? 0 : b) : a.elem[a.prop]
  3460. },
  3461. set: function(a) {
  3462. p.fx.step[a.prop] ? p.fx.step[a.prop](a) : a.elem.style && (a.elem.style[p.cssProps[a.prop]] != null || p.cssHooks[a.prop]) ? p.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
  3463. }
  3464. }
  3465. }, cZ.propHooks.scrollTop = cZ.propHooks.scrollLeft = {
  3466. set: function(a) {
  3467. a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
  3468. }
  3469. }, p.each(["toggle", "show", "hide"], function(a, b) {
  3470. var c = p.fn[b];
  3471. p.fn[b] = function(d, e, f) {
  3472. return d == null || typeof d == "boolean" || !a && p.isFunction(d) && p.isFunction(e) ? c.apply(this, arguments) : this.animate(c$(b, !0), d, e, f)
  3473. }
  3474. }), p.fn.extend({
  3475. fadeTo: function(a, b, c, d) {
  3476. return this.filter(bZ).css("opacity", 0).show().end().animate({
  3477. opacity: b
  3478. }, a, c, d)
  3479. },
  3480. animate: function(a, b, c, d) {
  3481. var e = p.isEmptyObject(a),
  3482. f = p.speed(b, c, d),
  3483. g = function() {
  3484. var b = cW(this, p.extend({}, a), f);
  3485. e && b.stop(!0)
  3486. };
  3487. return e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
  3488. },
  3489. stop: function(a, c, d) {
  3490. var e = function(a) {
  3491. var b = a.stop;
  3492. delete a.stop, b(d)
  3493. };
  3494. return typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []), this.each(function() {
  3495. var b = !0,
  3496. c = a != null && a + "queueHooks",
  3497. f = p.timers,
  3498. g = p._data(this);
  3499. if (c) g[c] && g[c].stop && e(g[c]);
  3500. else
  3501. for (c in g) g[c] && g[c].stop && cR.test(c) && e(g[c]);
  3502. for (c = f.length; c--;) f[c].elem === this && (a == null || f[c].queue === a) && (f[c].anim.stop(d), b = !1, f.splice(c, 1));
  3503. (b || !d) && p.dequeue(this, a)
  3504. })
  3505. }
  3506. }), p.each({
  3507. slideDown: c$("show"),
  3508. slideUp: c$("hide"),
  3509. slideToggle: c$("toggle"),
  3510. fadeIn: {
  3511. opacity: "show"
  3512. },
  3513. fadeOut: {
  3514. opacity: "hide"
  3515. },
  3516. fadeToggle: {
  3517. opacity: "toggle"
  3518. }
  3519. }, function(a, b) {
  3520. p.fn[a] = function(a, c, d) {
  3521. return this.animate(b, a, c, d)
  3522. }
  3523. }), p.speed = function(a, b, c) {
  3524. var d = a && typeof a == "object" ? p.extend({}, a) : {
  3525. complete: c || !c && b || p.isFunction(a) && a,
  3526. duration: a,
  3527. easing: c && b || b && !p.isFunction(b) && b
  3528. };
  3529. d.duration = p.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in p.fx.speeds ? p.fx.speeds[d.duration] : p.fx.speeds._default;
  3530. if (d.queue == null || d.queue === !0) d.queue = "fx";
  3531. return d.old = d.complete, d.complete = function() {
  3532. p.isFunction(d.old) && d.old.call(this), d.queue && p.dequeue(this, d.queue)
  3533. }, d
  3534. }, p.easing = {
  3535. linear: function(a) {
  3536. return a
  3537. },
  3538. swing: function(a) {
  3539. return .5 - Math.cos(a * Math.PI) / 2
  3540. }
  3541. }, p.timers = [], p.fx = cZ.prototype.init, p.fx.tick = function() {
  3542. var a, b = p.timers,
  3543. c = 0;
  3544. for (; c < b.length; c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1);
  3545. b.length || p.fx.stop()
  3546. }, p.fx.timer = function(a) {
  3547. a() && p.timers.push(a) && !cO && (cO = setInterval(p.fx.tick, p.fx.interval))
  3548. }, p.fx.interval = 13, p.fx.stop = function() {
  3549. clearInterval(cO), cO = null
  3550. }, p.fx.speeds = {
  3551. slow: 600,
  3552. fast: 200,
  3553. _default: 400
  3554. }, p.fx.step = {}, p.expr && p.expr.filters && (p.expr.filters.animated = function(a) {
  3555. return p.grep(p.timers, function(b) {
  3556. return a === b.elem
  3557. }).length
  3558. });
  3559. var c_ = /^(?:body|html)$/i;
  3560. p.fn.offset = function(a) {
  3561. if (arguments.length) return a === b ? this : this.each(function(b) {
  3562. p.offset.setOffset(this, a, b)
  3563. });
  3564. var c, d, e, f, g, h, i, j = {
  3565. top: 0,
  3566. left: 0
  3567. }, k = this[0],
  3568. l = k && k.ownerDocument;
  3569. if (!l) return;
  3570. return (d = l.body) === k ? p.offset.bodyOffset(k) : (c = l.documentElement, p.contains(c, k) ? (typeof k.getBoundingClientRect != "undefined" && (j = k.getBoundingClientRect()), e = da(l), f = c.clientTop || d.clientTop || 0, g = c.clientLeft || d.clientLeft || 0, h = e.pageYOffset || c.scrollTop, i = e.pageXOffset || c.scrollLeft, {
  3571. top: j.top + h - f,
  3572. left: j.left + i - g
  3573. }) : j)
  3574. }, p.offset = {
  3575. bodyOffset: function(a) {
  3576. var b = a.offsetTop,
  3577. c = a.offsetLeft;
  3578. return p.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(p.css(a, "marginTop")) || 0, c += parseFloat(p.css(a, "marginLeft")) || 0), {
  3579. top: b,
  3580. left: c
  3581. }
  3582. },
  3583. setOffset: function(a, b, c) {
  3584. var d = p.css(a, "position");
  3585. d === "static" && (a.style.position = "relative");
  3586. var e = p(a),
  3587. f = e.offset(),
  3588. g = p.css(a, "top"),
  3589. h = p.css(a, "left"),
  3590. i = (d === "absolute" || d === "fixed") && p.inArray("auto", [g, h]) > -1,
  3591. j = {}, k = {}, l, m;
  3592. i ? (k = e.position(), l = k.top, m = k.left) : (l = parseFloat(g) || 0, m = parseFloat(h) || 0), p.isFunction(b) && (b = b.call(a, c, f)), b.top != null && (j.top = b.top - f.top + l), b.left != null && (j.left = b.left - f.left + m), "using" in b ? b.using.call(a, j) : e.css(j)
  3593. }
  3594. }, p.fn.extend({
  3595. position: function() {
  3596. if (!this[0]) return;
  3597. var a = this[0],
  3598. b = this.offsetParent(),
  3599. c = this.offset(),
  3600. d = c_.test(b[0].nodeName) ? {
  3601. top: 0,
  3602. left: 0
  3603. } : b.offset();
  3604. return c.top -= parseFloat(p.css(a, "marginTop")) || 0, c.left -= parseFloat(p.css(a, "marginLeft")) || 0, d.top += parseFloat(p.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(p.css(b[0], "borderLeftWidth")) || 0, {
  3605. top: c.top - d.top,
  3606. left: c.left - d.left
  3607. }
  3608. },
  3609. offsetParent: function() {
  3610. return this.map(function() {
  3611. var a = this.offsetParent || e.body;
  3612. while (a && !c_.test(a.nodeName) && p.css(a, "position") === "static") a = a.offsetParent;
  3613. return a || e.body
  3614. })
  3615. }
  3616. }), p.each({
  3617. scrollLeft: "pageXOffset",
  3618. scrollTop: "pageYOffset"
  3619. }, function(a, c) {
  3620. var d = /Y/.test(c);
  3621. p.fn[a] = function(e) {
  3622. return p.access(this, function(a, e, f) {
  3623. var g = da(a);
  3624. if (f === b) return g ? c in g ? g[c] : g.document.documentElement[e] : a[e];
  3625. g ? g.scrollTo(d ? p(g).scrollLeft() : f, d ? f : p(g).scrollTop()) : a[e] = f
  3626. }, a, e, arguments.length, null)
  3627. }
  3628. }), p.each({
  3629. Height: "height",
  3630. Width: "width"
  3631. }, function(a, c) {
  3632. p.each({
  3633. padding: "inner" + a,
  3634. content: c,
  3635. "": "outer" + a
  3636. }, function(d, e) {
  3637. p.fn[e] = function(e, f) {
  3638. var g = arguments.length && (d || typeof e != "boolean"),
  3639. h = d || (e === !0 || f === !0 ? "margin" : "border");
  3640. return p.access(this, function(c, d, e) {
  3641. var f;
  3642. return p.isWindow(c) ? c.document.documentElement["client" + a] : c.nodeType === 9 ? (f = c.documentElement, Math.max(c.body["scroll" + a], f["scroll" + a], c.body["offset" + a], f["offset" + a], f["client" + a])) : e === b ? p.css(c, d, e, h) : p.style(c, d, e, h)
  3643. }, c, g ? e : b, g, null)
  3644. }
  3645. })
  3646. }), a.jQuery = a.$ = p, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() {
  3647. return p
  3648. })
  3649. })(window);;
  3650. /* NUGET: BEGIN LICENSE TEXT
  3651. *
  3652. * Microsoft grants you the right to use these script files for the sole
  3653. * purpose of either: (i) interacting through your browser with the Microsoft
  3654. * website or online service, subject to the applicable licensing or use
  3655. * terms; or (ii) using the files as included with a Microsoft product subject
  3656. * to that product's license terms. Microsoft reserves all other rights to the
  3657. * files not expressly granted by Microsoft, whether by implication, estoppel
  3658. * or otherwise. Insofar as a script file is dual licensed under GPL,
  3659. * Microsoft neither took the code under GPL nor distributes it thereunder but
  3660. * under the terms set out in this paragraph. All notices and licenses
  3661. * below are for informational purposes only.
  3662. *
  3663. * ASP.NET SignalR JavaScript Library v2.0.2; Copyright (C) Microsoft Corporation; https://github.com/SignalR/SignalR/blob/master/LICENSE.md
  3664. *
  3665. * NUGET: END LICENSE TEXT */
  3666. /*!
  3667. * ASP.NET SignalR JavaScript Library v2.0.2
  3668. * http://signalr.net/
  3669. *
  3670. * Copyright (C) Microsoft Corporation. All rights reserved.
  3671. *
  3672. */
  3673. (function(n, t, i) {
  3674. "use strict";
  3675.  
  3676. function p(t, i) {
  3677. var u, f;
  3678. if (n.isArray(t)) {
  3679. for (u = t.length - 1; u >= 0; u--) f = t[u], n.type(f) === "string" && r.transports[f] || (i.log("Invalid transport: " + f + ", removing it from the transports list."), t.splice(u, 1));
  3680. t.length === 0 && (i.log("No transports remain within the specified transport array."), t = null)
  3681. } else if (r.transports[t] || t === "auto") {
  3682. if (t === "auto" && r._.ieVersion <= 8) return ["longPolling"]
  3683. } else i.log("Invalid transport: " + t.toString() + "."), t = null;
  3684. return t
  3685. }
  3686.  
  3687. function w(n) {
  3688. return n === "http:" ? 80 : n === "https:" ? 443 : void 0
  3689. }
  3690.  
  3691. function l(n, t) {
  3692. return t.match(/:\d+$/) ? t : t + ":" + w(n)
  3693. }
  3694.  
  3695. function b(t, i) {
  3696. var u = this,
  3697. r = [];
  3698. u.tryBuffer = function(i) {
  3699. return t.state === n.signalR.connectionState.connecting ? (r.push(i), !0) : !1
  3700. };
  3701. u.drain = function() {
  3702. if (t.state === n.signalR.connectionState.connected)
  3703. while (r.length > 0) i(r.shift())
  3704. };
  3705. u.clear = function() {
  3706. r = []
  3707. }
  3708. }
  3709. var f = {
  3710. nojQuery: "jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",
  3711. noTransportOnInit: "No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",
  3712. errorOnNegotiate: "Error during negotiation request.",
  3713. stoppedWhileLoading: "The connection was stopped during page load.",
  3714. stoppedWhileNegotiating: "The connection was stopped during the negotiate request.",
  3715. errorParsingNegotiateResponse: "Error parsing negotiate response.",
  3716. protocolIncompatible: "You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",
  3717. sendFailed: "Send failed.",
  3718. parseFailed: "Failed at parsing response: {0}",
  3719. longPollFailed: "Long polling request failed.",
  3720. eventSourceFailedToConnect: "EventSource failed to connect.",
  3721. eventSourceError: "Error raised by EventSource",
  3722. webSocketClosed: "WebSocket closed.",
  3723. pingServerFailedInvalidResponse: "Invalid ping response when pinging server: '{0}'.",
  3724. pingServerFailed: "Failed to ping server.",
  3725. pingServerFailedStatusCode: "Failed to ping server. Server responded with status code {0}, stopping the connection.",
  3726. pingServerFailedParse: "Failed to parse ping server response, stopping the connection.",
  3727. noConnectionTransport: "Connection is in an invalid state, there is no transport active.",
  3728. webSocketsInvalidState: "The Web Socket transport is in an invalid state, transitioning into reconnecting."
  3729. };
  3730. if (typeof n != "function") throw new Error(f.nojQuery);
  3731. var r, h, s = t.document.readyState === "complete",
  3732. e = n(t),
  3733. c = "__Negotiate Aborted__",
  3734. u = {
  3735. onStart: "onStart",
  3736. onStarting: "onStarting",
  3737. onReceived: "onReceived",
  3738. onError: "onError",
  3739. onConnectionSlow: "onConnectionSlow",
  3740. onReconnecting: "onReconnecting",
  3741. onReconnect: "onReconnect",
  3742. onStateChanged: "onStateChanged",
  3743. onDisconnect: "onDisconnect"
  3744. }, a = function(n, i) {
  3745. if (i !== !1) {
  3746. var r;
  3747. typeof t.console != "undefined" && (r = "[" + (new Date).toTimeString() + "] SignalR: " + n, t.console.debug ? t.console.debug(r) : t.console.log && t.console.log(r))
  3748. }
  3749. }, o = function(t, i, r) {
  3750. return i === t.state ? (t.state = r, n(t).triggerHandler(u.onStateChanged, [{
  3751. oldState: i,
  3752. newState: r
  3753. }]), !0) : !1
  3754. }, v = function(n) {
  3755. return n.state === r.connectionState.disconnected
  3756. }, y = function(n) {
  3757. var i, u;
  3758. n._.configuredStopReconnectingTimeout || (u = function(n) {
  3759. n.log("Couldn't reconnect within the configured timeout (" + n.disconnectTimeout + "ms), disconnecting.");
  3760. n.stop(!1, !1)
  3761. }, n.reconnecting(function() {
  3762. var n = this;
  3763. n.state === r.connectionState.reconnecting && (i = t.setTimeout(function() {
  3764. u(n)
  3765. }, n.disconnectTimeout))
  3766. }), n.stateChanged(function(n) {
  3767. n.oldState === r.connectionState.reconnecting && t.clearTimeout(i)
  3768. }), n._.configuredStopReconnectingTimeout = !0)
  3769. };
  3770. r = function(n, t, i) {
  3771. return new r.fn.init(n, t, i)
  3772. };
  3773. r._ = {
  3774. defaultContentType: "application/x-www-form-urlencoded; charset=UTF-8",
  3775. ieVersion: function() {
  3776. var i, n;
  3777. return t.navigator.appName === "Microsoft Internet Explorer" && (n = /MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent), n && (i = t.parseFloat(n[1]))), i
  3778. }(),
  3779. error: function(n, t, i) {
  3780. var r = new Error(n);
  3781. return r.source = t, typeof i != "undefined" && (r.context = i), r
  3782. },
  3783. transportError: function(n, t, r, u) {
  3784. var f = this.error(n, r, u);
  3785. return f.transport = t ? t.name : i, f
  3786. },
  3787. format: function() {
  3788. for (var t = arguments[0], n = 0; n < arguments.length - 1; n++) t = t.replace("{" + n + "}", arguments[n + 1]);
  3789. return t
  3790. },
  3791. firefoxMajorVersion: function(n) {
  3792. var t = n.match(/Firefox\/(\d+)/);
  3793. return !t || !t.length || t.length < 2 ? 0 : parseInt(t[1], 10)
  3794. },
  3795. configurePingInterval: function(i) {
  3796. var f = i._.config,
  3797. e = function(t) {
  3798. n(i).triggerHandler(u.onError, [t])
  3799. };
  3800. f && !i._.pingIntervalId && f.pingInterval && (i._.pingIntervalId = t.setInterval(function() {
  3801. r.transports._logic.pingServer(i).fail(e)
  3802. }, f.pingInterval))
  3803. }
  3804. };
  3805. r.events = u;
  3806. r.resources = f;
  3807. r.ajaxDefaults = {
  3808. processData: !0,
  3809. timeout: null,
  3810. async: !0,
  3811. global: !1,
  3812. cache: !1
  3813. };
  3814. r.changeState = o;
  3815. r.isDisconnecting = v;
  3816. r.connectionState = {
  3817. connecting: 0,
  3818. connected: 1,
  3819. reconnecting: 2,
  3820. disconnected: 4
  3821. };
  3822. r.hub = {
  3823. start: function() {
  3824. throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'><\/script>.");
  3825. }
  3826. };
  3827. e.load(function() {
  3828. s = !0
  3829. });
  3830. r.fn = r.prototype = {
  3831. init: function(t, i, r) {
  3832. var f = n(this);
  3833. this.url = t;
  3834. this.qs = i;
  3835. this._ = {
  3836. keepAliveData: {},
  3837. connectingMessageBuffer: new b(this, function(n) {
  3838. f.triggerHandler(u.onReceived, [n])
  3839. }),
  3840. onFailedTimeoutHandle: null,
  3841. lastMessageAt: (new Date).getTime(),
  3842. lastActiveAt: (new Date).getTime(),
  3843. beatInterval: 5e3,
  3844. beatHandle: null
  3845. };
  3846. typeof r == "boolean" && (this.logging = r)
  3847. },
  3848. _parseResponse: function(n) {
  3849. var t = this;
  3850. return n ? typeof n == "string" ? t.json.parse(n) : n : n
  3851. },
  3852. json: t.JSON,
  3853. isCrossDomain: function(i, r) {
  3854. var u;
  3855. return (i = n.trim(i), r = r || t.location, i.indexOf("http") !== 0) ? !1 : (u = t.document.createElement("a"), u.href = i, u.protocol + l(u.protocol, u.host) !== r.protocol + l(r.protocol, r.host))
  3856. },
  3857. ajaxDataType: "text",
  3858. contentType: "application/json; charset=UTF-8",
  3859. logging: !1,
  3860. state: r.connectionState.disconnected,
  3861. clientProtocol: "1.3",
  3862. reconnectDelay: 2e3,
  3863. transportConnectTimeout: 0,
  3864. disconnectTimeout: 3e4,
  3865. reconnectWindow: 3e4,
  3866. keepAliveWarnAt: 2 / 3,
  3867. start: function(i, h) {
  3868. var l = this,
  3869. a = {
  3870. pingInterval: 3e5,
  3871. waitForPageLoad: !0,
  3872. transport: "auto",
  3873. jsonp: !1
  3874. }, k, v = l._deferral || n.Deferred(),
  3875. w = t.document.createElement("a"),
  3876. b, d;
  3877. if (l._deferral = v, !l.json) throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");
  3878. if (n.type(i) === "function" ? h = i : n.type(i) === "object" && (n.extend(a, i), n.type(a.callback) === "function" && (h = a.callback)), a.transport = p(a.transport, l), !a.transport) throw new Error("SignalR: Invalid transport(s) specified, aborting start.");
  3879. return (l._.config = a, !s && a.waitForPageLoad === !0) ? (l._.deferredStartHandler = function() {
  3880. l.start(i, h)
  3881. }, e.bind("load", l._.deferredStartHandler), v.promise()) : l.state === r.connectionState.connecting ? v.promise() : o(l, r.connectionState.disconnected, r.connectionState.connecting) === !1 ? (v.resolve(l), v.promise()) : (y(l), w.href = l.url, w.protocol && w.protocol !== ":" ? (l.protocol = w.protocol, l.host = w.host, l.baseUrl = w.protocol + "//" + w.host) : (l.protocol = t.document.location.protocol, l.host = t.document.location.host, l.baseUrl = l.protocol + "//" + l.host), l.wsProtocol = l.protocol === "https:" ? "wss://" : "ws://", a.transport === "auto" && a.jsonp === !0 && (a.transport = "longPolling"), l.url.indexOf("//") === 0 && (l.url = t.location.protocol + l.url, l.log("Protocol relative URL detected, normalizing it to '" + l.url + "'.")), this.isCrossDomain(l.url) && (l.log("Auto detected cross domain url."), a.transport === "auto" && (a.transport = ["webSockets", "longPolling"]), typeof a.withCredentials == "undefined" && (a.withCredentials = !0), a.jsonp || (a.jsonp = !n.support.cors, a.jsonp && l.log("Using jsonp because this browser doesn't support CORS.")), l.contentType = r._.defaultContentType), l.withCredentials = a.withCredentials, l.ajaxDataType = a.jsonp ? "jsonp" : "text", n(l).bind(u.onStart, function() {
  3882. n.type(h) === "function" && h.call(l);
  3883. v.resolve(l)
  3884. }), k = function(i, s) {
  3885. var y = r._.error(f.noTransportOnInit);
  3886. if (s = s || 0, s >= i.length) {
  3887. n(l).triggerHandler(u.onError, [y]);
  3888. v.reject(y);
  3889. l.stop();
  3890. return
  3891. }
  3892. if (l.state !== r.connectionState.disconnected) {
  3893. var p = i[s],
  3894. h = r.transports[p],
  3895. c = !1,
  3896. a = function() {
  3897. c || (c = !0, t.clearTimeout(l._.onFailedTimeoutHandle), h.stop(l), k(i, s + 1))
  3898. };
  3899. l.transport = h;
  3900. try {
  3901. l._.onFailedTimeoutHandle = t.setTimeout(function() {
  3902. l.log(h.name + " timed out when trying to connect.");
  3903. a()
  3904. }, l.transportConnectTimeout);
  3905. h.start(l, function() {
  3906. var i = r._.firefoxMajorVersion(t.navigator.userAgent) >= 11,
  3907. f = !! l.withCredentials && i;
  3908. l.state !== r.connectionState.disconnected && (c || (c = !0, t.clearTimeout(l._.onFailedTimeoutHandle), h.supportsKeepAlive && l._.keepAliveData.activated && r.transports._logic.monitorKeepAlive(l), r.transports._logic.startHeartbeat(l), r._.configurePingInterval(l), o(l, r.connectionState.connecting, r.connectionState.connected), l._.connectingMessageBuffer.drain(), n(l).triggerHandler(u.onStart), e.bind("unload", function() {
  3909. l.log("Window unloading, stopping the connection.");
  3910. l.stop(f)
  3911. }), i && e.bind("beforeunload", function() {
  3912. t.setTimeout(function() {
  3913. l.stop(f)
  3914. }, 0)
  3915. })))
  3916. }, a)
  3917. } catch (w) {
  3918. l.log(h.name + " transport threw '" + w.message + "' when attempting to start.");
  3919. a()
  3920. }
  3921. }
  3922. }, b = l.url + "/negotiate", d = function(t, i) {
  3923. var e = r._.error(f.errorOnNegotiate, t, i._.negotiateRequest);
  3924. n(i).triggerHandler(u.onError, e);
  3925. v.reject(e);
  3926. i.stop()
  3927. }, n(l).triggerHandler(u.onStarting), b = r.transports._logic.prepareQueryString(l, b), b = r.transports._logic.addQs(b, {
  3928. clientProtocol: l.clientProtocol
  3929. }), l.log("Negotiating with '" + b + "'."), l._.negotiateRequest = n.ajax(n.extend({}, n.signalR.ajaxDefaults, {
  3930. xhrFields: {
  3931. withCredentials: l.withCredentials
  3932. },
  3933. url: b,
  3934. type: "GET",
  3935. contentType: l.contentType,
  3936. data: {},
  3937. dataType: l.ajaxDataType,
  3938. error: function(n, t) {
  3939. t !== c ? d(n, l) : v.reject(r._.error(f.stoppedWhileNegotiating, null, l._.negotiateRequest))
  3940. },
  3941. success: function(t) {
  3942. var i, e, h, o = [],
  3943. s = [];
  3944. try {
  3945. i = l._parseResponse(t)
  3946. } catch (c) {
  3947. d(r._.error(f.errorParsingNegotiateResponse, c), l);
  3948. return
  3949. }
  3950. if (e = l._.keepAliveData, l.appRelativeUrl = i.Url, l.id = i.ConnectionId, l.token = i.ConnectionToken, l.webSocketServerUrl = i.WebSocketServerUrl, l.disconnectTimeout = i.DisconnectTimeout * 1e3, l.transportConnectTimeout = l.transportConnectTimeout + i.TransportConnectTimeout * 1e3, i.KeepAliveTimeout ? (e.activated = !0, e.timeout = i.KeepAliveTimeout * 1e3, e.timeoutWarning = e.timeout * l.keepAliveWarnAt, l._.beatInterval = (e.timeout - e.timeoutWarning) / 3) : e.activated = !1, l.reconnectWindow = l.disconnectTimeout + (e.timeout || 0), !i.ProtocolVersion || i.ProtocolVersion !== l.clientProtocol) {
  3951. h = r._.error(r._.format(f.protocolIncompatible, l.clientProtocol, i.ProtocolVersion));
  3952. n(l).triggerHandler(u.onError, [h]);
  3953. v.reject(h);
  3954. return
  3955. }
  3956. n.each(r.transports, function(n) {
  3957. if (n.indexOf("_") === 0 || n === "webSockets" && !i.TryWebSockets) return !0;
  3958. s.push(n)
  3959. });
  3960. n.isArray(a.transport) ? n.each(a.transport, function(t, i) {
  3961. n.inArray(i, s) >= 0 && o.push(i)
  3962. }) : a.transport === "auto" ? o = s : n.inArray(a.transport, s) >= 0 && o.push(a.transport);
  3963. k(o)
  3964. }
  3965. })), v.promise())
  3966. },
  3967. starting: function(t) {
  3968. var i = this;
  3969. return n(i).bind(u.onStarting, function() {
  3970. t.call(i)
  3971. }), i
  3972. },
  3973. send: function(n) {
  3974. var t = this;
  3975. if (t.state === r.connectionState.disconnected) throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");
  3976. if (t.state === r.connectionState.connecting) throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");
  3977. return t.transport.send(t, n), t
  3978. },
  3979. received: function(t) {
  3980. var i = this;
  3981. return n(i).bind(u.onReceived, function(n, r) {
  3982. t.call(i, r)
  3983. }), i
  3984. },
  3985. stateChanged: function(t) {
  3986. var i = this;
  3987. return n(i).bind(u.onStateChanged, function(n, r) {
  3988. t.call(i, r)
  3989. }), i
  3990. },
  3991. error: function(t) {
  3992. var i = this;
  3993. return n(i).bind(u.onError, function(n, r, u) {
  3994. t.call(i, r, u)
  3995. }), i
  3996. },
  3997. disconnected: function(t) {
  3998. var i = this;
  3999. return n(i).bind(u.onDisconnect, function() {
  4000. t.call(i)
  4001. }), i
  4002. },
  4003. connectionSlow: function(t) {
  4004. var i = this;
  4005. return n(i).bind(u.onConnectionSlow, function() {
  4006. t.call(i)
  4007. }), i
  4008. },
  4009. reconnecting: function(t) {
  4010. var i = this;
  4011. return n(i).bind(u.onReconnecting, function() {
  4012. t.call(i)
  4013. }), i
  4014. },
  4015. reconnected: function(t) {
  4016. var i = this;
  4017. return n(i).bind(u.onReconnect, function() {
  4018. t.call(i)
  4019. }), i
  4020. },
  4021. stop: function(i, h) {
  4022. var l = this,
  4023. a = l._deferral;
  4024. if (l._.deferredStartHandler && e.unbind("load", l._.deferredStartHandler), delete l._deferral, delete l._.config, delete l._.deferredStartHandler, !s && (!l._.config || l._.config.waitForPageLoad === !0)) {
  4025. l.log("Stopping connection prior to negotiate.");
  4026. a && a.reject(r._.error(f.stoppedWhileLoading));
  4027. return
  4028. }
  4029. if (l.state !== r.connectionState.disconnected) return l.log("Stopping connection."), o(l, l.state, r.connectionState.disconnected), t.clearTimeout(l._.beatHandle), t.clearTimeout(l._.onFailedTimeoutHandle), t.clearInterval(l._.pingIntervalId), l.transport && (l.transport.stop(l), h !== !1 && l.transport.abort(l, i), l.transport.supportsKeepAlive && l._.keepAliveData.activated && r.transports._logic.stopMonitoringKeepAlive(l), l.transport = null), l._.negotiateRequest && (l._.negotiateRequest.abort(c), delete l._.negotiateRequest), n(l).triggerHandler(u.onDisconnect), delete l.messageId, delete l.groupsToken, delete l.id, delete l._.pingIntervalId, delete l._.lastMessageAt, delete l._.lastActiveAt, l._.connectingMessageBuffer.clear(), l
  4030. },
  4031. log: function(n) {
  4032. a(n, this.logging)
  4033. }
  4034. };
  4035. r.fn.init.prototype = r.fn;
  4036. r.noConflict = function() {
  4037. return n.connection === r && (n.connection = h), r
  4038. };
  4039. n.connection && (h = n.connection);
  4040. n.connection = n.signalR = r
  4041. })(window.jQuery, window),
  4042. function(n, t) {
  4043. "use strict";
  4044.  
  4045. function f(n) {
  4046. n._.keepAliveData.monitoring && o(n);
  4047. r.markActive(n) && (n._.beatHandle = t.setTimeout(function() {
  4048. f(n)
  4049. }, n._.beatInterval))
  4050. }
  4051.  
  4052. function o(t) {
  4053. var r = t._.keepAliveData,
  4054. f;
  4055. t.state === i.connectionState.connected && (f = (new Date).getTime() - t._.lastMessageAt, f >= r.timeout ? (t.log("Keep alive timed out. Notifying transport that connection has been lost."), t.transport.lostConnection(t)) : f >= r.timeoutWarning ? r.userNotified || (t.log("Keep alive has been missed, connection may be dead/slow."), n(t).triggerHandler(u.onConnectionSlow), r.userNotified = !0) : r.userNotified = !1)
  4056. }
  4057.  
  4058. function s(n) {
  4059. return n.state === i.connectionState.connected || n.state === i.connectionState.reconnecting
  4060. }
  4061.  
  4062. function h(n, i) {
  4063. var r = n.indexOf("?") !== -1 ? "&" : "?";
  4064. return i && (n += r + "connectionData=" + t.encodeURIComponent(i)), n
  4065. }
  4066. var i = n.signalR,
  4067. u = n.signalR.events,
  4068. e = n.signalR.changeState,
  4069. r;
  4070. i.transports = {};
  4071. r = i.transports._logic = {
  4072. pingServer: function(t) {
  4073. var e, u = n.Deferred(),
  4074. f;
  4075. return t.transport ? (e = t.url + "/ping", e = r.addQs(e, t.qs), f = n.ajax(n.extend({}, n.signalR.ajaxDefaults, {
  4076. xhrFields: {
  4077. withCredentials: t.withCredentials
  4078. },
  4079. url: e,
  4080. type: "GET",
  4081. contentType: t.contentType,
  4082. data: {},
  4083. dataType: t.ajaxDataType,
  4084. success: function(n) {
  4085. var r;
  4086. try {
  4087. r = t._parseResponse(n)
  4088. } catch (e) {
  4089. u.reject(i._.transportError(i.resources.pingServerFailedParse, t.transport, e, f));
  4090. t.stop();
  4091. return
  4092. }
  4093. r.Response === "pong" ? u.resolve() : u.reject(i._.transportError(i._.format(i.resources.pingServerFailedInvalidResponse, n.responseText), t.transport, null, f))
  4094. },
  4095. error: function(n) {
  4096. n.status === 401 || n.status === 403 ? (u.reject(i._.transportError(i._.format(i.resources.pingServerFailedStatusCode, n.status), t.transport, n, f)), t.stop()) : u.reject(i._.transportError(i.resources.pingServerFailed, t.transport, n, f))
  4097. }
  4098. }))) : u.reject(i._.transportError(i.resources.noConnectionTransport, t.transport)), u.promise()
  4099. },
  4100. prepareQueryString: function(n, t) {
  4101. return t = r.addQs(t, n.qs), h(t, n.data)
  4102. },
  4103. addQs: function(t, i) {
  4104. var r = t.indexOf("?") !== -1 ? "&" : "?",
  4105. u;
  4106. if (!i) return t;
  4107. if (typeof i == "object") return t + r + n.param(i);
  4108. if (typeof i == "string") return u = i.charAt(0), (u === "?" || u === "&") && (r = ""), t + r + i;
  4109. throw new Error("Query string property must be either a string or object.");
  4110. },
  4111. getUrl: function(n, i, u, f) {
  4112. var s = i === "webSockets" ? "" : n.baseUrl,
  4113. e = s + n.appRelativeUrl,
  4114. o = "transport=" + i + "&connectionToken=" + t.encodeURIComponent(n.token);
  4115. return n.groupsToken && (o += "&groupsToken=" + t.encodeURIComponent(n.groupsToken)), u ? (e += f ? "/poll" : "/reconnect", n.messageId && (o += "&messageId=" + t.encodeURIComponent(n.messageId))) : e += "/connect", e += "?" + o, e = r.prepareQueryString(n, e), e + ("&tid=" + Math.floor(Math.random() * 11))
  4116. },
  4117. maximizePersistentResponse: function(n) {
  4118. return {
  4119. MessageId: n.C,
  4120. Messages: n.M,
  4121. Initialized: typeof n.S != "undefined" ? !0 : !1,
  4122. Disconnect: typeof n.D != "undefined" ? !0 : !1,
  4123. ShouldReconnect: typeof n.T != "undefined" ? !0 : !1,
  4124. LongPollDelay: n.L,
  4125. GroupsToken: n.G
  4126. }
  4127. },
  4128. updateGroups: function(n, t) {
  4129. t && (n.groupsToken = t)
  4130. },
  4131. stringifySend: function(n, t) {
  4132. return typeof t == "string" || typeof t == "undefined" || t === null ? t : n.json.stringify(t)
  4133. },
  4134. ajaxSend: function(f, e) {
  4135. var c = r.stringifySend(f, e),
  4136. o = f.url + "/send?transport=" + f.transport.name + "&connectionToken=" + t.encodeURIComponent(f.token),
  4137. s, h = function(t, r) {
  4138. n(r).triggerHandler(u.onError, [i._.transportError(i.resources.sendFailed, r.transport, t, s), e])
  4139. };
  4140. return o = r.prepareQueryString(f, o), s = n.ajax(n.extend({}, n.signalR.ajaxDefaults, {
  4141. xhrFields: {
  4142. withCredentials: f.withCredentials
  4143. },
  4144. url: o,
  4145. type: f.ajaxDataType === "jsonp" ? "GET" : "POST",
  4146. contentType: i._.defaultContentType,
  4147. dataType: f.ajaxDataType,
  4148. data: {
  4149. data: c
  4150. },
  4151. success: function(n) {
  4152. var t;
  4153. if (n) {
  4154. try {
  4155. t = f._parseResponse(n)
  4156. } catch (i) {
  4157. h(i, f);
  4158. f.stop();
  4159. return
  4160. }
  4161. r.triggerReceived(f, t)
  4162. }
  4163. },
  4164. error: function(n, t) {
  4165. t !== "abort" && t !== "parsererror" && h(n, f)
  4166. }
  4167. }))
  4168. },
  4169. ajaxAbort: function(i, u) {
  4170. if (typeof i.transport != "undefined") {
  4171. u = typeof u == "undefined" ? !0 : u;
  4172. var f = i.url + "/abort?transport=" + i.transport.name + "&connectionToken=" + t.encodeURIComponent(i.token);
  4173. f = r.prepareQueryString(i, f);
  4174. n.ajax(n.extend({}, n.signalR.ajaxDefaults, {
  4175. xhrFields: {
  4176. withCredentials: i.withCredentials
  4177. },
  4178. url: f,
  4179. async: u,
  4180. timeout: 1e3,
  4181. type: "POST",
  4182. contentType: i.contentType,
  4183. dataType: i.ajaxDataType,
  4184. data: {}
  4185. }));
  4186. i.log("Fired ajax abort async = " + u + ".")
  4187. }
  4188. },
  4189. tryInitialize: function(n, t) {
  4190. n.Initialized && t()
  4191. },
  4192. triggerReceived: function(t, i) {
  4193. t._.connectingMessageBuffer.tryBuffer(i) || n(t).triggerHandler(u.onReceived, [i])
  4194. },
  4195. processMessages: function(t, i, u) {
  4196. var f;
  4197. if (r.markLastMessage(t), i) {
  4198. if (f = r.maximizePersistentResponse(i), f.Disconnect) {
  4199. t.log("Disconnect command received from server.");
  4200. t.stop(!1, !1);
  4201. return
  4202. }
  4203. r.updateGroups(t, f.GroupsToken);
  4204. f.MessageId && (t.messageId = f.MessageId);
  4205. f.Messages && (n.each(f.Messages, function(n, i) {
  4206. r.triggerReceived(t, i)
  4207. }), r.tryInitialize(f, u))
  4208. }
  4209. },
  4210. monitorKeepAlive: function(t) {
  4211. var i = t._.keepAliveData;
  4212. i.monitoring ? t.log("Tried to monitor keep alive but it's already being monitored.") : (i.monitoring = !0, r.markLastMessage(t), t._.keepAliveData.reconnectKeepAliveUpdate = function() {
  4213. r.markLastMessage(t)
  4214. }, n(t).bind(u.onReconnect, t._.keepAliveData.reconnectKeepAliveUpdate), t.log("Now monitoring keep alive with a warning timeout of " + i.timeoutWarning + " and a connection lost timeout of " + i.timeout + "."))
  4215. },
  4216. stopMonitoringKeepAlive: function(t) {
  4217. var i = t._.keepAliveData;
  4218. i.monitoring && (i.monitoring = !1, n(t).unbind(u.onReconnect, t._.keepAliveData.reconnectKeepAliveUpdate), t._.keepAliveData = {}, t.log("Stopping the monitoring of the keep alive."))
  4219. },
  4220. startHeartbeat: function(n) {
  4221. f(n)
  4222. },
  4223. markLastMessage: function(n) {
  4224. n._.lastMessageAt = (new Date).getTime()
  4225. },
  4226. markActive: function(n) {
  4227. return r.verifyLastActive(n) ? (n._.lastActiveAt = (new Date).getTime(), !0) : !1
  4228. },
  4229. ensureReconnectingState: function(t) {
  4230. return e(t, i.connectionState.connected, i.connectionState.reconnecting) === !0 && n(t).triggerHandler(u.onReconnecting), t.state === i.connectionState.reconnecting
  4231. },
  4232. clearReconnectTimeout: function(n) {
  4233. n && n._.reconnectTimeout && (t.clearTimeout(n._.reconnectTimeout), delete n._.reconnectTimeout)
  4234. },
  4235. verifyLastActive: function(n) {
  4236. return (new Date).getTime() - n._.lastActiveAt >= n.reconnectWindow ? (n.log("There has not been an active server connection for an extended period of time. Stopping connection."), n.stop(), !1) : !0
  4237. },
  4238. reconnect: function(n, u) {
  4239. var f = i.transports[u];
  4240. if (s(n) && !n._.reconnectTimeout) {
  4241. if (!r.verifyLastActive(n)) return;
  4242. n._.reconnectTimeout = t.setTimeout(function() {
  4243. r.verifyLastActive(n) && (f.stop(n), r.ensureReconnectingState(n) && (n.log(u + " reconnecting."), f.start(n)))
  4244. }, n.reconnectDelay)
  4245. }
  4246. },
  4247. handleParseFailure: function(t, r, f, e, o) {
  4248. t.state === i.connectionState.connecting ? (t.log("Failed to parse server response while attempting to connect."), e()) : (n(t).triggerHandler(u.onError, [i._.transportError(i._.format(i.resources.parseFailed, r), t.transport, f, o)]), t.stop())
  4249. },
  4250. foreverFrame: {
  4251. count: 0,
  4252. connections: {}
  4253. }
  4254. }
  4255. }(window.jQuery, window),
  4256. function(n, t) {
  4257. "use strict";
  4258. var r = n.signalR,
  4259. u = n.signalR.events,
  4260. f = n.signalR.changeState,
  4261. i = r.transports._logic;
  4262. r.transports.webSockets = {
  4263. name: "webSockets",
  4264. supportsKeepAlive: !0,
  4265. send: function(t, f) {
  4266. var e = i.stringifySend(t, f);
  4267. try {
  4268. t.socket.send(e)
  4269. } catch (o) {
  4270. n(t).triggerHandler(u.onError, [r._.transportError(r.resources.webSocketsInvalidState, t.transport, o, t.socket), f])
  4271. }
  4272. },
  4273. start: function(e, o, s) {
  4274. var h, c = !1,
  4275. l = this,
  4276. a = !o,
  4277. v = n(e);
  4278. if (!t.WebSocket) {
  4279. s();
  4280. return
  4281. }
  4282. e.socket || (h = e.webSocketServerUrl ? e.webSocketServerUrl : e.wsProtocol + e.host, h += i.getUrl(e, this.name, a), e.log("Connecting to websocket endpoint '" + h + "'."), e.socket = new t.WebSocket(h), e.socket.onopen = function() {
  4283. c = !0;
  4284. e.log("Websocket opened.");
  4285. i.clearReconnectTimeout(e);
  4286. f(e, r.connectionState.reconnecting, r.connectionState.connected) === !0 && v.triggerHandler(u.onReconnect)
  4287. }, e.socket.onclose = function(t) {
  4288. if (this === e.socket) {
  4289. if (c) typeof t.wasClean != "undefined" && t.wasClean === !1 ? (n(e).triggerHandler(u.onError, [r._.transportError(r.resources.webSocketClosed, e.transport, t)]), e.log("Unclean disconnect from websocket: " + t.reason || "[no reason given].")) : e.log("Websocket closed.");
  4290. else {
  4291. s ? s() : a && l.reconnect(e);
  4292. return
  4293. }
  4294. l.reconnect(e)
  4295. }
  4296. }, e.socket.onmessage = function(t) {
  4297. var r;
  4298. try {
  4299. r = e._parseResponse(t.data)
  4300. } catch (u) {
  4301. i.handleParseFailure(e, t.data, u, s, t);
  4302. return
  4303. }
  4304. r && (n.isEmptyObject(r) || r.M ? i.processMessages(e, r, o) : i.triggerReceived(e, r))
  4305. })
  4306. },
  4307. reconnect: function(n) {
  4308. i.reconnect(n, this.name)
  4309. },
  4310. lostConnection: function(n) {
  4311. this.reconnect(n)
  4312. },
  4313. stop: function(n) {
  4314. i.clearReconnectTimeout(n);
  4315. n.socket && (n.log("Closing the Websocket."), n.socket.close(), n.socket = null)
  4316. },
  4317. abort: function(n, t) {
  4318. i.ajaxAbort(n, t)
  4319. }
  4320. }
  4321. }(window.jQuery, window),
  4322. function(n, t) {
  4323. "use strict";
  4324. var i = n.signalR,
  4325. u = n.signalR.events,
  4326. f = n.signalR.changeState,
  4327. r = i.transports._logic;
  4328. i.transports.serverSentEvents = {
  4329. name: "serverSentEvents",
  4330. supportsKeepAlive: !0,
  4331. timeOut: 3e3,
  4332. start: function(e, o, s) {
  4333. var h = this,
  4334. c = !1,
  4335. l = n(e),
  4336. a = !o,
  4337. v, y;
  4338. if (e.eventSource && (e.log("The connection already has an event source. Stopping it."), e.stop()), !t.EventSource) {
  4339. s && (e.log("This browser doesn't support SSE."), s());
  4340. return
  4341. }
  4342. v = r.getUrl(e, this.name, a);
  4343. try {
  4344. e.log("Attempting to connect to SSE endpoint '" + v + "'.");
  4345. e.eventSource = new t.EventSource(v)
  4346. } catch (p) {
  4347. e.log("EventSource failed trying to connect with error " + p.Message + ".");
  4348. s ? s() : (l.triggerHandler(u.onError, [i._.transportError(i.resources.eventSourceFailedToConnect, e.transport, p)]), a && h.reconnect(e));
  4349. return
  4350. }
  4351. a && (y = t.setTimeout(function() {
  4352. c === !1 && e.eventSource.readyState !== t.EventSource.OPEN && h.reconnect(e)
  4353. }, h.timeOut));
  4354. e.eventSource.addEventListener("open", function() {
  4355. e.log("EventSource connected.");
  4356. y && t.clearTimeout(y);
  4357. r.clearReconnectTimeout(e);
  4358. c === !1 && (c = !0, f(e, i.connectionState.reconnecting, i.connectionState.connected) === !0 && l.triggerHandler(u.onReconnect))
  4359. }, !1);
  4360. e.eventSource.addEventListener("message", function(n) {
  4361. var t;
  4362. if (n.data !== "initialized") {
  4363. try {
  4364. t = e._parseResponse(n.data)
  4365. } catch (i) {
  4366. r.handleParseFailure(e, n.data, i, s, n);
  4367. return
  4368. }
  4369. r.processMessages(e, t, o)
  4370. }
  4371. }, !1);
  4372. e.eventSource.addEventListener("error", function(n) {
  4373. if (this === e.eventSource) {
  4374. if (!c) {
  4375. s && s();
  4376. return
  4377. }
  4378. e.log("EventSource readyState: " + e.eventSource.readyState + ".");
  4379. n.eventPhase === t.EventSource.CLOSED ? (e.log("EventSource reconnecting due to the server connection ending."), h.reconnect(e)) : (e.log("EventSource error."), l.triggerHandler(u.onError, [i._.transportError(i.resources.eventSourceError, e.transport, n)]))
  4380. }
  4381. }, !1)
  4382. },
  4383. reconnect: function(n) {
  4384. r.reconnect(n, this.name)
  4385. },
  4386. lostConnection: function(n) {
  4387. this.reconnect(n)
  4388. },
  4389. send: function(n, t) {
  4390. r.ajaxSend(n, t)
  4391. },
  4392. stop: function(n) {
  4393. r.clearReconnectTimeout(n);
  4394. n && n.eventSource && (n.log("EventSource calling close()."), n.eventSource.close(), n.eventSource = null, delete n.eventSource)
  4395. },
  4396. abort: function(n, t) {
  4397. r.ajaxAbort(n, t)
  4398. }
  4399. }
  4400. }(window.jQuery, window),
  4401. function(n, t) {
  4402. "use strict";
  4403. var r = n.signalR,
  4404. e = n.signalR.events,
  4405. o = n.signalR.changeState,
  4406. i = r.transports._logic,
  4407. u = function() {
  4408. var n = t.document.createElement("iframe");
  4409. return n.setAttribute("style", "position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"), n
  4410. }, f = function() {
  4411. var i = null,
  4412. f = 1e3,
  4413. n = 0;
  4414. return {
  4415. prevent: function() {
  4416. r._.ieVersion <= 8 && (n === 0 && (i = t.setInterval(function() {
  4417. var n = u();
  4418. t.document.body.appendChild(n);
  4419. t.document.body.removeChild(n);
  4420. n = null
  4421. }, f)), n++)
  4422. },
  4423. cancel: function() {
  4424. n === 1 && t.clearInterval(i);
  4425. n > 0 && n--
  4426. }
  4427. }
  4428. }();
  4429. r.transports.foreverFrame = {
  4430. name: "foreverFrame",
  4431. supportsKeepAlive: !0,
  4432. iframeClearThreshold: 50,
  4433. start: function(n, r, e) {
  4434. var l = this,
  4435. s = i.foreverFrame.count += 1,
  4436. h, o = u(),
  4437. c = function() {
  4438. n.log("Forever frame iframe finished loading and is no longer receiving messages, reconnecting.");
  4439. l.reconnect(n)
  4440. };
  4441. if (t.EventSource) {
  4442. e && (n.log("This browser supports SSE, skipping Forever Frame."), e());
  4443. return
  4444. }
  4445. o.setAttribute("data-signalr-connection-id", n.id);
  4446. f.prevent();
  4447. h = i.getUrl(n, this.name);
  4448. h += "&frameId=" + s;
  4449. t.document.body.appendChild(o);
  4450. n.log("Binding to iframe's load event.");
  4451. o.addEventListener ? o.addEventListener("load", c, !1) : o.attachEvent && o.attachEvent("onload", c);
  4452. o.src = h;
  4453. i.foreverFrame.connections[s] = n;
  4454. n.frame = o;
  4455. n.frameId = s;
  4456. r && (n.onSuccess = function() {
  4457. n.log("Iframe transport started.");
  4458. r()
  4459. })
  4460. },
  4461. reconnect: function(n) {
  4462. var r = this;
  4463. i.verifyLastActive(n) && t.setTimeout(function() {
  4464. if (i.verifyLastActive(n) && n.frame && i.ensureReconnectingState(n)) {
  4465. var u = n.frame,
  4466. t = i.getUrl(n, r.name, !0) + "&frameId=" + n.frameId;
  4467. n.log("Updating iframe src to '" + t + "'.");
  4468. u.src = t
  4469. }
  4470. }, n.reconnectDelay)
  4471. },
  4472. lostConnection: function(n) {
  4473. this.reconnect(n)
  4474. },
  4475. send: function(n, t) {
  4476. i.ajaxSend(n, t)
  4477. },
  4478. receive: function(t, u) {
  4479. var f, e;
  4480. if (i.processMessages(t, u, t.onSuccess), t.state === n.signalR.connectionState.connected && (t.frameMessageCount = (t.frameMessageCount || 0) + 1, t.frameMessageCount > r.transports.foreverFrame.iframeClearThreshold && (t.frameMessageCount = 0, f = t.frame.contentWindow || t.frame.contentDocument, f && f.document && f.document.body)))
  4481. for (e = f.document.body; e.firstChild;) e.removeChild(e.firstChild)
  4482. },
  4483. stop: function(n) {
  4484. var r = null;
  4485. if (f.cancel(), n.frame) {
  4486. if (n.frame.stop) n.frame.stop();
  4487. else try {
  4488. r = n.frame.contentWindow || n.frame.contentDocument;
  4489. r.document && r.document.execCommand && r.document.execCommand("Stop")
  4490. } catch (u) {
  4491. n.log("Error occured when stopping foreverFrame transport. Message = " + u.message + ".")
  4492. }
  4493. n.frame.parentNode === t.document.body && t.document.body.removeChild(n.frame);
  4494. delete i.foreverFrame.connections[n.frameId];
  4495. n.frame = null;
  4496. n.frameId = null;
  4497. delete n.frame;
  4498. delete n.frameId;
  4499. delete n.onSuccess;
  4500. delete n.frameMessageCount;
  4501. n.log("Stopping forever frame.")
  4502. }
  4503. },
  4504. abort: function(n, t) {
  4505. i.ajaxAbort(n, t)
  4506. },
  4507. getConnection: function(n) {
  4508. return i.foreverFrame.connections[n]
  4509. },
  4510. started: function(t) {
  4511. o(t, r.connectionState.reconnecting, r.connectionState.connected) === !0 && n(t).triggerHandler(e.onReconnect)
  4512. }
  4513. }
  4514. }(window.jQuery, window),
  4515. function(n, t) {
  4516. "use strict";
  4517. var i = n.signalR,
  4518. u = n.signalR.events,
  4519. e = n.signalR.changeState,
  4520. f = n.signalR.isDisconnecting,
  4521. r = i.transports._logic;
  4522. i.transports.longPolling = {
  4523. name: "longPolling",
  4524. supportsKeepAlive: !1,
  4525. reconnectDelay: 3e3,
  4526. start: function(o, s, h) {
  4527. var a = this,
  4528. v = function() {
  4529. v = n.noop;
  4530. o.log("LongPolling connected.");
  4531. s();
  4532. h = null
  4533. }, y = function() {
  4534. return h ? (h(), h = null, o.log("LongPolling failed to connect."), !0) : !1
  4535. }, c = o._,
  4536. l = 0,
  4537. p = function(r) {
  4538. t.clearTimeout(c.reconnectTimeoutId);
  4539. c.reconnectTimeoutId = null;
  4540. e(r, i.connectionState.reconnecting, i.connectionState.connected) === !0 && (r.log("Raising the reconnect event"), n(r).triggerHandler(u.onReconnect))
  4541. }, w = 36e5;
  4542. o.pollXhr && (o.log("Polling xhr requests already exists, aborting."), o.stop());
  4543. o.messageId = null;
  4544. c.reconnectTimeoutId = null;
  4545. c.pollTimeoutId = t.setTimeout(function() {
  4546. (function e(s, h) {
  4547. var d = s.messageId,
  4548. g = d === null,
  4549. b = !g,
  4550. nt = !h,
  4551. k = r.getUrl(s, a.name, b, nt);
  4552. f(s) !== !0 && (o.log("Opening long polling request to '" + k + "'."), s.pollXhr = n.ajax(n.extend({}, n.signalR.ajaxDefaults, {
  4553. xhrFields: {
  4554. withCredentials: o.withCredentials
  4555. },
  4556. url: k,
  4557. type: "GET",
  4558. dataType: o.ajaxDataType,
  4559. contentType: o.contentType,
  4560. success: function(i) {
  4561. var h, w = 0,
  4562. u, a;
  4563. o.log("Long poll complete.");
  4564. l = 0;
  4565. try {
  4566. h = o._parseResponse(i)
  4567. } catch (b) {
  4568. r.handleParseFailure(s, i, b, y, s.pollXhr);
  4569. return
  4570. }(c.reconnectTimeoutId !== null && p(s), h && (u = r.maximizePersistentResponse(h)), r.processMessages(s, h, v), u && n.type(u.LongPollDelay) === "number" && (w = u.LongPollDelay), u && u.Disconnect) || f(s) !== !0 && (a = u && u.ShouldReconnect, !a || r.ensureReconnectingState(s)) && (w > 0 ? c.pollTimeoutId = t.setTimeout(function() {
  4571. e(s, a)
  4572. }, w) : e(s, a))
  4573. },
  4574. error: function(f, h) {
  4575. if (t.clearTimeout(c.reconnectTimeoutId), c.reconnectTimeoutId = null, h === "abort") {
  4576. o.log("Aborted xhr request.");
  4577. return
  4578. }
  4579. if (!y()) {
  4580. if (l++, o.state !== i.connectionState.reconnecting && (o.log("An error occurred using longPolling. Status = " + h + ". Response = " + f.responseText + "."), n(s).triggerHandler(u.onError, [i._.transportError(i.resources.longPollFailed, o.transport, f, s.pollXhr)])), (o.state === i.connectionState.connected || o.state === i.connectionState.reconnecting) && !r.verifyLastActive(o)) return;
  4581. if (!r.ensureReconnectingState(s)) return;
  4582. c.pollTimeoutId = t.setTimeout(function() {
  4583. e(s, !0)
  4584. }, a.reconnectDelay)
  4585. }
  4586. }
  4587. })), b && h === !0 && (c.reconnectTimeoutId = t.setTimeout(function() {
  4588. p(s)
  4589. }, Math.min(1e3 * (Math.pow(2, l) - 1), w))))
  4590. })(o)
  4591. }, 250)
  4592. },
  4593. lostConnection: function() {
  4594. throw new Error("Lost Connection not handled for LongPolling");
  4595. },
  4596. send: function(n, t) {
  4597. r.ajaxSend(n, t)
  4598. },
  4599. stop: function(n) {
  4600. t.clearTimeout(n._.pollTimeoutId);
  4601. t.clearTimeout(n._.reconnectTimeoutId);
  4602. delete n._.pollTimeoutId;
  4603. delete n._.reconnectTimeoutId;
  4604. n.pollXhr && (n.pollXhr.abort(), n.pollXhr = null, delete n.pollXhr)
  4605. },
  4606. abort: function(n, t) {
  4607. r.ajaxAbort(n, t)
  4608. }
  4609. }
  4610. }(window.jQuery, window),
  4611. function(n) {
  4612. "use strict";
  4613.  
  4614. function r(n) {
  4615. return n + e
  4616. }
  4617.  
  4618. function s(n, t, i) {
  4619. for (var f = n.length, u = [], r = 0; r < f; r += 1) n.hasOwnProperty(r) && (u[r] = t.call(i, n[r], r, n));
  4620. return u
  4621. }
  4622.  
  4623. function h(t) {
  4624. return n.isFunction(t) ? null : n.type(t) === "undefined" ? null : t
  4625. }
  4626.  
  4627. function u(n) {
  4628. for (var t in n)
  4629. if (n.hasOwnProperty(t)) return !0;
  4630. return !1
  4631. }
  4632.  
  4633. function f(n, t) {
  4634. var i = n._.invocationCallbacks,
  4635. r, f;
  4636. u(i) && n.log("Clearing hub invocation callbacks with error: " + t + ".");
  4637. n._.invocationCallbackId = 0;
  4638. delete n._.invocationCallbacks;
  4639. n._.invocationCallbacks = {};
  4640. for (f in i) r = i[f], r.method.call(r.scope, {
  4641. E: t
  4642. })
  4643. }
  4644.  
  4645. function i(n, t) {
  4646. return new i.fn.init(n, t)
  4647. }
  4648.  
  4649. function t(i, r) {
  4650. var u = {
  4651. qs: null,
  4652. logging: !1,
  4653. useDefaultPath: !0
  4654. };
  4655. return n.extend(u, r), (!i || u.useDefaultPath) && (i = (i || "") + "/signalr"), new t.fn.init(i, u)
  4656. }
  4657. var e = ".hubProxy",
  4658. o = n.signalR;
  4659. i.fn = i.prototype = {
  4660. init: function(n, t) {
  4661. this.state = {};
  4662. this.connection = n;
  4663. this.hubName = t;
  4664. this._ = {
  4665. callbackMap: {}
  4666. }
  4667. },
  4668. hasSubscriptions: function() {
  4669. return u(this._.callbackMap)
  4670. },
  4671. on: function(t, i) {
  4672. var u = this,
  4673. f = u._.callbackMap;
  4674. return t = t.toLowerCase(), f[t] || (f[t] = {}), f[t][i] = function(n, t) {
  4675. i.apply(u, t)
  4676. }, n(u).bind(r(t), f[t][i]), u
  4677. },
  4678. off: function(t, i) {
  4679. var e = this,
  4680. o = e._.callbackMap,
  4681. f;
  4682. return t = t.toLowerCase(), f = o[t], f && (f[i] ? (n(e).unbind(r(t), f[i]), delete f[i], u(f) || delete o[t]) : i || (n(e).unbind(r(t)), delete o[t])), e
  4683. },
  4684. invoke: function(t) {
  4685. var i = this,
  4686. r = i.connection,
  4687. e = n.makeArray(arguments).slice(1),
  4688. c = s(e, h),
  4689. f = {
  4690. H: i.hubName,
  4691. M: t,
  4692. A: c,
  4693. I: r._.invocationCallbackId
  4694. }, u = n.Deferred(),
  4695. l = function(f) {
  4696. var e = i._maximizeHubResponse(f),
  4697. h, s;
  4698. n.extend(i.state, e.State);
  4699. e.Error ? (e.StackTrace && r.log(e.Error + "\n" + e.StackTrace + "."), h = e.IsHubException ? "HubException" : "Exception", s = o._.error(e.Error, h), s.data = e.ErrorData, r.log(i.hubName + "." + t + " failed to execute. Error: " + s.message), u.rejectWith(i, [s])) : (r.log("Invoked " + i.hubName + "." + t), u.resolveWith(i, [e.Result]))
  4700. };
  4701. return r._.invocationCallbacks[r._.invocationCallbackId.toString()] = {
  4702. scope: i,
  4703. method: l
  4704. }, r._.invocationCallbackId += 1, n.isEmptyObject(i.state) || (f.S = i.state), r.log("Invoking " + i.hubName + "." + t), r.send(f), u.promise()
  4705. },
  4706. _maximizeHubResponse: function(n) {
  4707. return {
  4708. State: n.S,
  4709. Result: n.R,
  4710. Id: n.I,
  4711. IsHubException: n.H,
  4712. Error: n.E,
  4713. StackTrace: n.T,
  4714. ErrorData: n.D
  4715. }
  4716. }
  4717. };
  4718. i.fn.init.prototype = i.fn;
  4719. t.fn = t.prototype = n.connection();
  4720. t.fn.init = function(t, i) {
  4721. var e = {
  4722. qs: null,
  4723. logging: !1,
  4724. useDefaultPath: !0
  4725. }, u = this;
  4726. n.extend(e, i);
  4727. n.signalR.fn.init.call(u, t, e.qs, e.logging);
  4728. u.proxies = {};
  4729. u._.invocationCallbackId = 0;
  4730. u._.invocationCallbacks = {};
  4731. u.received(function(t) {
  4732. var i, o, f, e, s, h;
  4733. t && (typeof t.I != "undefined" ? (f = t.I.toString(), e = u._.invocationCallbacks[f], e && (u._.invocationCallbacks[f] = null, delete u._.invocationCallbacks[f], e.method.call(e.scope, t))) : (i = this._maximizeClientHubInvocation(t), u.log("Triggering client hub event '" + i.Method + "' on hub '" + i.Hub + "'."), s = i.Hub.toLowerCase(), h = i.Method.toLowerCase(), o = this.proxies[s], n.extend(o.state, i.State), n(o).triggerHandler(r(h), [i.Args])))
  4734. });
  4735. u.error(function(n, t) {
  4736. var i, r;
  4737. t && (i = t.I, r = u._.invocationCallbacks[i], r && (u._.invocationCallbacks[i] = null, delete u._.invocationCallbacks[i], r.method.call(r.scope, {
  4738. E: n
  4739. })))
  4740. });
  4741. u.reconnecting(function() {
  4742. u.transport && u.transport.name === "webSockets" && f(u, "Connection started reconnecting before invocation result was received.")
  4743. });
  4744. u.disconnected(function() {
  4745. f(u, "Connection was disconnected before invocation result was received.")
  4746. })
  4747. };
  4748. t.fn._maximizeClientHubInvocation = function(n) {
  4749. return {
  4750. Hub: n.H,
  4751. Method: n.M,
  4752. Args: n.A,
  4753. State: n.S
  4754. }
  4755. };
  4756. t.fn._registerSubscribedHubs = function() {
  4757. var t = this;
  4758. t._subscribedToHubs || (t._subscribedToHubs = !0, t.starting(function() {
  4759. var i = [];
  4760. n.each(t.proxies, function(n) {
  4761. this.hasSubscriptions() && (i.push({
  4762. name: n
  4763. }), t.log("Client subscribed to hub '" + n + "'."))
  4764. });
  4765. i.length === 0 && t.log("No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to.");
  4766. t.data = t.json.stringify(i)
  4767. }))
  4768. };
  4769. t.fn.createHubProxy = function(n) {
  4770. n = n.toLowerCase();
  4771. var t = this.proxies[n];
  4772. return t || (t = i(this, n), this.proxies[n] = t), this._registerSubscribedHubs(), t
  4773. };
  4774. t.fn.init.prototype = t.fn;
  4775. n.hubConnection = t
  4776. }(window.jQuery, window),
  4777. function(n) {
  4778. n.signalR.version = "2.0.2"
  4779. }(window.jQuery);
  4780. (function(n, t) {
  4781. var r = [],
  4782. u = {}, f = function(n, t) {
  4783. typeof n != "undefined" && n >= 0 && (t && t.continueWith ? t.continueWith(function(t) {
  4784. f(n, t)
  4785. }) : i.invoke("sys.callback", !1, [n, t]))
  4786. }, i = {
  4787. extensions: [],
  4788. inits: [],
  4789. callbackTable: [],
  4790. nextId: 0,
  4791. connection: null,
  4792. isReconnecting: !1,
  4793. isUnloading: !1,
  4794. extractName: function(n) {
  4795. var t = n.lastIndexOf("."),
  4796. r = null,
  4797. i = null;
  4798. return t > 0 && (r = n.substr(0, t).toLowerCase(), i = n.substr(t + 1)), {
  4799. factoryName: r,
  4800. methodName: i
  4801. }
  4802. },
  4803. log: function(n) {
  4804. var t;
  4805. typeof window.console != "undefined" && (t = "[" + (new Date).toTimeString() + "] Browser Link: " + n, window.console.debug ? window.console.debug(t) : window.console.log && window.console.log(t))
  4806. },
  4807. invoke: function(n, i, r) {
  4808. var e = {}, c, s, u, o, f, h;
  4809. e.name = n, e.args = r, e.callbackId = -1, i && (s = this.createTask(), e.callbackId = s.id), c = t.stringify(e);
  4810. try {
  4811. for (u = this.breakIntoSegments(c), o = u.length > 1 ? this.generateId() : 0, f = 0; f < u.length; f++) h = "id-" + o + " index-" + f + " total-" + u.length + " " + u[f], this.connection.send(h)
  4812. } catch (l) {
  4813. this.log("Failed to send message to browser link server:\n" + l.toString())
  4814. }
  4815. return s
  4816. },
  4817. breakIntoSegments: function(n) {
  4818. for (var f = 3072, u = [], t = n.length, r = 0, i; t > 0;) i = t > f ? f : t, u.push(n.substring(r, r + i)), r += i, t -= i;
  4819. return u
  4820. },
  4821. dispatchCallback: function(n, t, i) {
  4822. var r = this.extractName(n),
  4823. s, u, o, e;
  4824. if (r.factoryName && r.methodName) {
  4825. if (r.factoryName === "sys") {
  4826. if (r.methodName === "callback" && (s = t[0], u = t[1], typeof this.callbackTable[s].callback == "function")) {
  4827. try {
  4828. this.callbackTable[s].callback(u)
  4829. } catch (h) {
  4830. this.log("Failed to invoke return value callback:\n" + h.toString())
  4831. }
  4832. this.removeTask(s)
  4833. }
  4834. return
  4835. }
  4836. if (o = this.extensions[r.factoryName], !o || !o[r.methodName]) {
  4837. this.log("Failed to match method call " + n);
  4838. return
  4839. }
  4840. for (e = t.length; e < 15; e++) t[e] = null;
  4841. try {
  4842. u = o[r.methodName](t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14])
  4843. } catch (h) {
  4844. this.log("Exception thrown in callback method " + r.methodName + ": " + h.toString()), u = null
  4845. }
  4846. typeof u != "undefined" && f(i, u)
  4847. }
  4848. },
  4849. addExtensions: function() {
  4850. try {
  4851. this.addExtension("Microsoft.VisualStudio.Web.BrowserLink.AutoSyncExtensionFactory", (function(n, t) {
  4852. var o = [],
  4853. i = [],
  4854. y = function(n) {
  4855. for (var i, t = 0; t < o.length; t++)
  4856. if (o[t] === n) return o[t];
  4857. return i = {
  4858. key: n,
  4859. value: null
  4860. }, o.push(i), i
  4861. }, r = function(n) {
  4862. var t = n.__browserLink_sourceMapping;
  4863. return t ? t : y(n).value
  4864. }, tt = function(n, t) {
  4865. n.__browserLink_sourceMapping = t, y(n).value = t
  4866. }, w = function(n) {
  4867. if (n === "float") return t.support.cssFloat ? "cssFloat" : "styleFloat";
  4868. /^-/.test(n) && (n = n.substring(1));
  4869. return n.replace(/-\w/g, function(n) {
  4870. return n.substring(1).toUpperCase()
  4871. })
  4872. }, b = function(n) {
  4873. var t = function(i) {
  4874. var u = i.cssRules,
  4875. f, r;
  4876. if (u || (u = i.rules), u)
  4877. for (f = 0; f < u.length; f++)
  4878. if (r = u[f], r.type == 3) {
  4879. if (n(r.styleSheet) || t(r.styleSheet)) return !0
  4880. } else if (r.type == 4 && t(r)) return !0
  4881. }, i = function(r) {
  4882. for (var u, f = 0; f < r.length; f++) {
  4883. if (u = r[f], n(u)) return !0;
  4884. if (u.imports) {
  4885. if (i(u.imports)) return !0
  4886. } else if (t(u)) return !0
  4887. }
  4888. };
  4889. i(document.styleSheets)
  4890. }, p = function(n) {
  4891. var t = null;
  4892. return b(function(i) {
  4893. return i.href == n && (t = i), t
  4894. }), t
  4895. }, d = function(n, t) {
  4896. var i = function(n) {
  4897. var u = n.cssRules,
  4898. f, r, e;
  4899. if (u || (u = n.rules), u)
  4900. for (f = 0; f < u.length; f++)
  4901. if (r = u[f], (r.type == 1 || r.type == 3 || r.type == 4) && ((e = {
  4902. domRule: r,
  4903. collection: u,
  4904. index: f,
  4905. source: n
  4906. }, t(e)) || r.type == 4 && i(r))) return !0
  4907. };
  4908. i(n)
  4909. }, f = function(n, t) {
  4910. var i;
  4911. return d(n, function(n) {
  4912. return t(n.domRule) && (i = n), i
  4913. }), i
  4914. }, it = function(n) {
  4915. return f(n.parentStyleSheet, function(t) {
  4916. return t == n
  4917. })
  4918. }, k = function(n, t) {
  4919. var i = r(n);
  4920. return i && typeof i.originalStart != "undefined" && t >= i.originalStart && t <= i.originalStart + i.originalLength
  4921. }, e = function(n, t) {
  4922. return f(n, function(n) {
  4923. return n.type != 1 ? !1 : k(n, t)
  4924. })
  4925. }, ut = function(n, t, i) {
  4926. return f(n, function(n) {
  4927. var u = r(n);
  4928. return u && typeof u.originalStart != "undefined" && u.originalStart == t && u.originalLength == i
  4929. })
  4930. }, h = function(n) {
  4931. var t = n.cssRules;
  4932. return t || (t = n.rules), {
  4933. index: t.length,
  4934. source: n,
  4935. collection: t
  4936. }
  4937. }, c = function(n, t) {
  4938. var r = n.index - 1,
  4939. i;
  4940. return r >= 0 && (i = n.collection[r], i.type == 4 && k(i, t)) ? (n = h(i), c(n, t)) : n
  4941. }, rt = function(n, t) {
  4942. var i = f(n, function(n) {
  4943. var i = r(n);
  4944. return i && typeof i.originalStart != "undefined" && t < i.originalStart
  4945. });
  4946. return i || (i = h(n)), c(i, t)
  4947. }, u = function() {
  4948. return !0
  4949. }, nt = {
  4950. CssDomChangeDeleteRule: function(n, t) {
  4951. var i = e(n, t.RuleOriginalPosition);
  4952. return i ? (i.source.deleteRule(i.index), !0) : !1
  4953. },
  4954. CssDomChangeDeleteProperty: function(n, t) {
  4955. var i = e(n, t.PropertyOriginalPosition);
  4956. return i ? (i.domRule.style[w(t.PropertyName)] = "", !0) : !1
  4957. },
  4958. CssDomChangeSetSelector: function(n, t) {
  4959. var i = e(n, t.RuleOriginalPosition),
  4960. u, o, f;
  4961. return i ? (u = i.domRule.cssText, o = u.indexOf("{"), u = t.NewSelector + u.substring(o), f = r(i.domRule), i.source.deleteRule(i.index), i.source.insertRule(u, i.index), tt(i.collection[i.index], f), !0) : !1
  4962. },
  4963. CssDomChangeInsertRule: u,
  4964. CssDomChangeSetProperty: u
  4965. }, ft = {
  4966. CssDomChangeInsertRule: function(t, i) {
  4967. var r = rt(t, i.RuleFinalPosition),
  4968. u;
  4969. return r.source.insertRule(i.Selector + "{" + i.StyleText + "}", r.index), u = r.collection[r.index], n.sourceMapping.internal.addMappingRangeForObject(u, {
  4970. startPosition: i.RuleFinalPosition,
  4971. length: i.RuleLength,
  4972. sourceUrl: t.href
  4973. }), l(u), !0
  4974. },
  4975. CssDomChangeSetProperty: function(n, t) {
  4976. var i = e(n, t.PropertyFinalPosition);
  4977. return i ? (i.domRule.style[w(t.PropertyName)] = t.NewValue, !0) : !1
  4978. },
  4979. CssDomChangeDeleteRule: u,
  4980. CssDomChangeDeleteProperty: u,
  4981. CssDomChangeSetSelector: u
  4982. }, a = function(t, i, r) {
  4983. for (var u, e, f = 0; f < i.length; f++) {
  4984. if (u = i[f], e = r[u.Type], !e) return n.log("Unknown change type: " + u.Type), !1;
  4985. if (!e(t, u)) return n.log("Failed to apply change: " + u.Type), !1
  4986. }
  4987. return !0
  4988. }, g = function(n, t) {
  4989. for (var i, e, f, u = 0; u < t.length; u++) {
  4990. if (i = t[u], e = ut(n, i.OldStart, i.OldLength), !e) return !1;
  4991. f = r(e.domRule), f.start = i.NewStart, f.length = i.NewLength
  4992. }
  4993. return !0
  4994. }, l = function(n) {
  4995. var t = r(n);
  4996. t && (t.originalStart = t.start, t.originalLength = t.length)
  4997. }, s = function(t) {
  4998. return n.sourceMapping.ensureUpToDateAsync(function() {
  4999. d(t, function(n) {
  5000. l(n.domRule)
  5001. })
  5002. })
  5003. }, v = function() {
  5004. var f = [],
  5005. r = [],
  5006. u = [],
  5007. t;
  5008. for (b(function(n) {
  5009. i.indexOf(n.href) < 0 ? (r.push(n.href), i.push(n.href), s(n)) : f.push(n.href)
  5010. }), t = 0; t < i.length; t++) f.indexOf(i[t]) < 0 && r.indexOf(i[t]) < 0 && (u.push(i[t]), i.splice(t, 1), t--);
  5011. (r.length || u.length) && n.invoke("trackCssDocuments", r, u), setTimeout(v, 1e3)
  5012. };
  5013. return {
  5014. onConnected: function() {
  5015. Array.prototype.indexOf && v()
  5016. },
  5017. changeStyleSheetUrl: function(n, t) {
  5018. var r = p(n),
  5019. i;
  5020. r && (r.ownerNode ? r.ownerNode.href = t : r.ownerRule && (i = it(r.ownerRule), i && (i.source.deleteRule(i.index), i.source.insertRule("@import url('" + t + "')", i.index))))
  5021. },
  5022. applyCssChanges: function(t, i, r) {
  5023. try {
  5024. var u = p(t);
  5025. return u ? a(u, i, nt) ? n.sourceMapping.ensureUpToDateAsync(function() {
  5026. try {
  5027. return g(u, r) ? (s(u), !a(u, i, ft)) ? !1 : !0 : !1
  5028. } catch (n) {
  5029. return !1
  5030. }
  5031. }) : !1 : !1
  5032. } catch (f) {
  5033. return !1
  5034. }
  5035. }
  5036. }
  5037. }));
  5038. } catch (e) {
  5039. this.log("Invalid extension script encountered for extension 'Microsoft.VisualStudio.Web.BrowserLink.AutoSyncExtensionFactory'.");
  5040. return;
  5041. }
  5042. try {
  5043. this.addExtension("Microsoft.VisualStudio.Web.BrowserLink.InspectModeExtensionFactory", (function(n) {
  5044. var t = function(t) {
  5045. var i;
  5046. t && t.detail && t.detail.node && t.detail.origin !== "vs" && (i = t.detail.node, n.sourceMapping.canMapToSource(i) && n.sourceMapping.ensureUpToDateAsync(function() {
  5047. n.sourceMapping.selectCompleteRange(i)
  5048. }))
  5049. };
  5050. return {
  5051. onConnected: function() {
  5052. typeof window.addEventListener == "function" && window.addEventListener("BPT-SelectedNode", t)
  5053. }
  5054. }
  5055. }));
  5056. } catch (e) {
  5057. this.log("Invalid extension script encountered for extension 'Microsoft.VisualStudio.Web.BrowserLink.InspectModeExtensionFactory'.");
  5058. return;
  5059. }
  5060. try {
  5061. this.addExtension("Microsoft.VisualStudio.Web.BrowserLink.SourceMappingExtensionFactory", (function(n, t) {
  5062. function kt() {
  5063. var y = this,
  5064. w = function(n, i) {
  5065. var e, r, u, o;
  5066. if (!i) return null;
  5067. if (e = f(i), e) return e.selectorData == n ? e : null;
  5068. if (t(i).is(n.selector)) {
  5069. if (r = null, n.parent) {
  5070. for (u = i.parentElement, o = n.selector.split(">").length - 1; o > 0; o--) u = u.parentElement;
  5071. p(n.parent, u) && (r = t(i.parentElement).children(n.selector))
  5072. } else n.descendant ? t(i).find(n.descendant.selectorData.selector).each(function(i, u) {
  5073. if (p(n.descendant, u)) return r = t(u).parents(n.selector), !1
  5074. }) : r = t(n.selector);
  5075. r && d(n, r) && (r.each(function(t, i) {
  5076. if (!wt(i)) {
  5077. var u = t % n.elements.length,
  5078. r = n.elements[u];
  5079. r && s(i, r)
  5080. }
  5081. }), n.isInTemplateLike || bt(n))
  5082. }
  5083. return f(i)
  5084. }, p = function(n, t) {
  5085. return w(n.selectorData, t) == n
  5086. }, b = function(n) {
  5087. for (var u, r, t = 0; t < i.length; t++)
  5088. if (u = i[t], u && (r = w(i[t], n), r)) return r;
  5089. return null
  5090. }, h = function(n) {
  5091. var t = f(n);
  5092. return t ? t : b(n)
  5093. }, k = function(n) {
  5094. return f(n)
  5095. }, a = function(n, t, i) {
  5096. if (n < r.length) {
  5097. var u = r[n];
  5098. if (u) return {
  5099. sourcePath: u,
  5100. startPosition: t,
  5101. length: i
  5102. }
  5103. }
  5104. return null
  5105. }, e = function(t, i) {
  5106. t && (i == null && (i = !0), n.invoke("selectRange", t.sourcePath, t.startPosition, t.length, i))
  5107. };
  5108. this.getCompleteRange = function(n) {
  5109. var t = h(n);
  5110. return t ? a(t.sourceIndex, t.start, t.length) : null
  5111. }, this.getStartTagRange = function(n) {
  5112. var t = h(n);
  5113. return t && t.startTag ? a(t.sourceIndex, t.start, t.startTag) : null
  5114. }, this.getCssRuleRange = function(n) {
  5115. var t = k(n);
  5116. return t ? a(t.sourceIndex, t.start, t.length) : null
  5117. }, this.selectCompleteRange = function(n) {
  5118. e(y.getCompleteRange(n))
  5119. }, this.selectStartTagRange = function(n) {
  5120. e(y.getStartTagRange(n))
  5121. }, this.selectCssRule = function(n) {
  5122. e(y.getCssRuleRange(n))
  5123. }, this.canMapToSource = function(n) {
  5124. return h(n) != null
  5125. }, this.ensureUpToDateAsync = function(n) {
  5126. var t = new ft;
  5127. return (l.push(t.complete), n && t.Task.continueWith(n), v) ? t.Task : (lt(), !nt) ? t.Task : c > 0 ? t.Task : l.length == 0 ? t.Task : (yt(function() {
  5128. var t = l,
  5129. n;
  5130. for (l = [], n = 0; n < t.length; n++) try {
  5131. t[n]()
  5132. } catch (i) {}
  5133. }), t.Task)
  5134. }, this.getElementAtPosition = function(n, i) {
  5135. for (var f = null, s = null, h = o(n), r, e = 0; e < u.length; e++) r = u[e], r.sourceIndex == h && r.start <= i && r.length >= i - r.start && (f == null || f.length > r.length) && (f = r);
  5136. return f && t(f.selectorData.selector).each(function(n, t) {
  5137. if (p(f, t)) return s = t, !1
  5138. }), s
  5139. }, this.getCssRuleAtPosition = function(n, t) {
  5140. for (var s = o(n), i, r, u, e = 0; e < document.styleSheets.length; e++)
  5141. if (i = document.styleSheets[e], s == o(i.href)) {
  5142. for (r = 0; r < i.cssRules.length; r++)
  5143. if (u = f(i.cssRules[r]), u && u.start <= t && u.length >= t - u.start) return i.cssRules[r];
  5144. break
  5145. }
  5146. return null
  5147. }, this.internal = {
  5148. addMappingRangeForObject: function(n, t) {
  5149. var r = o(t.sourcePath || t.sourceUrl),
  5150. i = {
  5151. sourceIndex: r,
  5152. start: t.startPosition,
  5153. length: t.length
  5154. };
  5155. s(n, i), u.push(i)
  5156. }
  5157. }
  5158. }
  5159. var it = !1,
  5160. r = [],
  5161. y = {}, v = !1,
  5162. nt = !1,
  5163. c = 0,
  5164. l = [],
  5165. u = [],
  5166. i = [],
  5167. tt = {}, ft = function() {
  5168. var n = [];
  5169. this.complete = function() {
  5170. for (var t = null; n.length;) t = n.shift()(t)
  5171. }, this.Task = {
  5172. continueWith: function(t) {
  5173. n.push(t)
  5174. }
  5175. }
  5176. }, gt = function(n) {
  5177. return n.selectorText || n.media
  5178. }, ut = function(n) {
  5179. var u = gt(n),
  5180. t, i, r;
  5181. if (!u) return {
  5182. value: null
  5183. };
  5184. for (t = tt[u], t || (t = [], tt[u] = t), i = 0; i < t.length; i++)
  5185. if (t[i].key === n) return t[i];
  5186. return r = {
  5187. key: n,
  5188. value: null
  5189. }, t.push(r), r
  5190. }, f = function(n) {
  5191. return n ? n.__browserLink_sourceMapping || ut(n).value : null
  5192. }, wt = function(n) {
  5193. return f(n) != null
  5194. }, s = function(n, t) {
  5195. n && (n.__browserLink_sourceMapping = t, ut(n).value = t)
  5196. }, a = function(n) {
  5197. return n.toLowerCase()
  5198. }, rt = function(n) {
  5199. return y[a(n)]
  5200. }, g = function(n) {
  5201. return r.push(n), y[a(n)] = n, r.length - 1
  5202. }, o = function(n, t) {
  5203. var i = r.indexOf(rt(n));
  5204. return i < 0 && (i = g(n, t)), t && (y[a(t)] = n), i
  5205. }, d = function(n, t) {
  5206. return n.isTemplateLike || n.isParentTemplateLike ? t.length % n.elements.length == 0 : t.length == n.elements.length
  5207. }, k = function(n) {
  5208. var r, o, e, t, f, h, u, s;
  5209. for (i.push(n), r = i.length - 1; r < i.length; r++)
  5210. for (o = i[r], e = 0; e < o.elements.length; e++)
  5211. if (t = o.elements[e], t) {
  5212. for (f = 0; f < t.children.length; f++) h = t.children[f], i.push(h);
  5213. for (u = 0; u < t.ancestors.length; u++) s = t.ancestors[u], i.push(s)
  5214. }
  5215. }, bt = function(n) {
  5216. for (var t = 0; t < i.length; t++) i[t] == n && (i[t] = null)
  5217. }, pt = function(n, t, i) {
  5218. var r = n.start,
  5219. f = n.length,
  5220. o = r + f,
  5221. e = n.startTag || 0,
  5222. s = r + e,
  5223. u = t - i;
  5224. r >= t ? u >= o ? (r = t, f = 0, e = 0) : u > r ? (f = o - u, r = t, e = u >= s ? 0 : s - u) : r += i : s > t ? (u > s ? e = t - r : e += i, u > o ? f = t - r : f += i) : o > t && (u > o ? f = t - r : f += i), n.start = r, n.length = f, n.startTag && (n.startTag = e)
  5225. }, vt = function(n, t) {
  5226. for (var f, e, i, r; t.length >= 2;)
  5227. for (f = t.shift(), e = t.shift(), i = 0; i < u.length; i++) r = u[i], r.sourceIndex == n && pt(r, f, e)
  5228. }, yt = function(t) {
  5229. v = !0, n.invokeAsync("getChangesInFiles", r).continueWith(function() {
  5230. v = !1, t && t()
  5231. })
  5232. }, ti = function(n) {
  5233. return t(n)
  5234. }, ii = function(n, i) {
  5235. for (var u = t(n), f = i.split(">"), r = 0; r < f.length; r++) u = u.children(f[r]);
  5236. return u
  5237. }, ni = function(n, i) {
  5238. return t(n).parents(i)
  5239. }, dt = function(n, t) {
  5240. var i = t(n.selector);
  5241. d(n, i) ? (i.each(function(t, i) {
  5242. var e = t % n.elements.length,
  5243. r = n.elements[e],
  5244. u, f;
  5245. r != null && (s(i, r), u = r.children, h(u, 0, u.length || 1, null, ii.bind(null, i)), f = r.ancestors, h(f, 0, f.length || 1, null, ni.bind(null, i)))
  5246. }), n.isTemplateLike && k(n)) : k(n)
  5247. }, h = function(n, t, i, r, u) {
  5248. for (var f = t; f < t + i; f++) {
  5249. if (f >= n.length) {
  5250. r && r();
  5251. return
  5252. }
  5253. dt(n[f], u)
  5254. }
  5255. t + i <= n.length && setTimeout(function() {
  5256. h(n, t + i, i, r, u)
  5257. }, 5)
  5258. }, ot = function(n, t) {
  5259. h(n, 0, 10, t, ti)
  5260. }, p = function(n, t) {
  5261. var v = [],
  5262. l, o, r, a, s, i, f, h, e, c;
  5263. if (n)
  5264. for (l = 0; l < n.length; l++)
  5265. for (o = n[l], r = {
  5266. selector: o[0],
  5267. elements: [],
  5268. isTemplateLike: !1
  5269. }, v.push(r), a = 1; a < o.length; a++) {
  5270. if (s = o[a], i = null, s) {
  5271. for (f = s[0], h = s.length >= 2 ? s[1] : {}, i = {
  5272. selectorData: r,
  5273. sourceIndex: f[0] + t,
  5274. start: f[1],
  5275. length: f[2],
  5276. startTag: f.length >= 4 ? f[3] : null,
  5277. children: p(h.children, t),
  5278. ancestors: p(h.ancestors, t)
  5279. }, h.templateLike && o.length == 2 && (r.isTemplateLike = !0, r.isInTemplateLike = !0), e = 0; e < i.children.length; e++) i.children[e].parent = i, i.children[e].isParentTemplateLike = r.isTemplateLike, i.children[e].isInTemplateLike = r.isInTemplateLike;
  5280. for (c = 0; c < i.ancestors.length; c++) i.ancestors[c].descendant = i;
  5281. u.push(i)
  5282. }
  5283. r.elements.push(i)
  5284. }
  5285. return v
  5286. }, b = function(n, t, i) {
  5287. var u = n.cssRules,
  5288. f, r;
  5289. if (u || (u = n.rules), u)
  5290. for (f = 0; f < u.length; f++) r = u[f], r.type == 1 ? (t.push(r), i.push(r.selectorText)) : r.type == 4 ? (t.push(r), i.push(r.media.mediaText), b(r, t, i)) : r.type == 3 && w(r.styleSheet)
  5291. }, et = function(n, t, i) {
  5292. for (var h = o(t.resolvedPath, n), e = t.ranges, f, r = 0; r < i.length && r < e.length; r++) f = e[r], f && (f.sourceIndex = h, s(i[r], f), u.push(f))
  5293. }, st = function(n) {
  5294. return rt(n.href) != null
  5295. }, w = function(t) {
  5296. if (t.href && !st(t)) {
  5297. var r = [],
  5298. i = [];
  5299. b(t, i, r), c++, n.invokeAsync("getCssMappingData", t.href, r).continueWith(function(r) {
  5300. try {
  5301. et(t.href, r, i)
  5302. } catch (u) {}
  5303. c--, n.sourceMapping.ensureUpToDateAsync(null)
  5304. })
  5305. }
  5306. }, lt = function() {
  5307. var t, n;
  5308. if (!(c > 0))
  5309. for (t = document.styleSheets, n = 0; n < t.length; n++) w(t[n])
  5310. }, e = function() {
  5311. nt = !0, n.sourceMapping.ensureUpToDateAsync(null)
  5312. }, at = function(t) {
  5313. it = !0, n.invokeAsync("resolveSourceFilePaths", t.files).continueWith(function(n) {
  5314. var f, i, u;
  5315. try {
  5316. for (f = r.length, i = 0; i < n.length; i++) g(n[i], t.files[i]);
  5317. u = p(t.map, f), ot(u, e)
  5318. } catch (o) {
  5319. e()
  5320. }
  5321. })
  5322. }, ht = function(n) {
  5323. n ? t.ajax(n, {
  5324. dataType: "json",
  5325. data: {
  5326. version: 2
  5327. },
  5328. cache: !0,
  5329. success: at,
  5330. error: e
  5331. }) : e()
  5332. }, ct = function() {
  5333. if (!it && n.initializationData && n.initializationData.requestId) {
  5334. var t = "~/__browserLink/requestData/" + n.initializationData.requestId;
  5335. n.invokeAsync("resolveUrl", t).continueWith(ht)
  5336. } else e()
  5337. };
  5338. return n.addSharedService("sourceMapping", new kt), {
  5339. applyChangesInFile: function(n, t) {
  5340. var i = r.indexOf(n);
  5341. return i >= 0 ? (vt(i, t), !0) : !1
  5342. },
  5343. onConnected: function() {
  5344. Array.prototype.indexOf && (ct(), n.sourceMapping.ensureUpToDateAsync(null))
  5345. }
  5346. }
  5347. }));
  5348. } catch (e) {
  5349. this.log("Invalid extension script encountered for extension 'Microsoft.VisualStudio.Web.BrowserLink.SourceMappingExtensionFactory'.");
  5350. return;
  5351. }
  5352. try {
  5353. this.addExtension("Microsoft.VisualStudio.Web.BrowserLink.CoreExtensionFactory", (function(n) {
  5354. return {
  5355. log: function(t) {
  5356. n.log(t)
  5357. }
  5358. }
  5359. }));
  5360. } catch (e) {
  5361. this.log("Invalid extension script encountered for extension 'Microsoft.VisualStudio.Web.BrowserLink.CoreExtensionFactory'.");
  5362. return;
  5363. }
  5364. try {
  5365. this.addExtension("Microsoft.VisualStudio.Web.PageInspector.Package.RefreshExtensionFactory", (function() {
  5366. return {
  5367. refresh: function() {
  5368. location.reload(!0)
  5369. },
  5370. navigate: function(n) {
  5371. location.href = n
  5372. }
  5373. }
  5374. }));
  5375. } catch (e) {
  5376. this.log("Invalid extension script encountered for extension 'Microsoft.VisualStudio.Web.PageInspector.Package.RefreshExtensionFactory'.");
  5377. return;
  5378. }
  5379. },
  5380. generateId: function() {
  5381. return this.nextId++, this.nextId < 0 && (this.nextId = 0), this.nextId
  5382. },
  5383. createTask: function() {
  5384. var n = {
  5385. id: i.generateId(),
  5386. callback: null,
  5387. continueWith: function(n) {
  5388. if (typeof n == "function")
  5389. if (this.callback) {
  5390. var t = this.callback;
  5391. this.callback = function(i) {
  5392. n(t(i))
  5393. }
  5394. } else this.callback = n;
  5395. return this
  5396. },
  5397. setResult: function(n) {
  5398. this.callback !== null && this.callback(n)
  5399. }
  5400. };
  5401. return thisBri.callbackTable[n.id] = n, n
  5402. },
  5403. removeTask: function(n) {
  5404. delete this.callbackTable[n]
  5405. },
  5406. addExtension: function(f, e) {
  5407. var o = {}, s, l, c, h;
  5408. if (typeof e != "function") {
  5409. this.log("Extension function definition was not defined as a function object.");
  5410. return
  5411. }
  5412. l = function(n, t) {
  5413. if (typeof n == "undefined") throw new Error("Browser Link: Method call failed, missing method name argument.");
  5414. if (!t) throw new Error('Method call failed, missing class name. Use the format "namespace."methodName"');
  5415. return t + "." + n
  5416. }, c = function(n) {
  5417. for (var i = [], t = 1; t < n.length; t++) i.push(n[t]);
  5418. return i
  5419. }, o.json = t, o.initializationData = this.initializationData, o.log = this.log, o.invoke = function(n) {
  5420. var r = l(n, this.factoryName),
  5421. t = c(arguments);
  5422. i.invoke(r, !1, t)
  5423. }, o.invokeAsync = function(n) {
  5424. var r = l(n, this.factoryName),
  5425. t = c(arguments);
  5426. return i.invoke(r, !0, t)
  5427. }, o.addSharedService = function(n, t) {
  5428. u[n] = t;
  5429. for (var i = 0; i < r.length; i++) r[i][n] = t
  5430. };
  5431. for (h in u) o[h] = u[h];
  5432. r.push(o), s = e(o, n), o.factoryName = s.name = f.toLowerCase(), this.extensions[o.factoryName] = s, s.onConnected && this.inits.push(s)
  5433. },
  5434. reset: function() {
  5435. this.extensions = [], this.inits = [], this.callbackTable = [], this.nextId = 0, this.isUnloading = !1, this.connection = null
  5436. },
  5437. initialize: function() {
  5438. var e, f, o, s, u, r;
  5439. window.browserLink = i, u = n("script#__browserLink_initializationData").html(), r = u ? t.parse(u) : null, i.initializationData = r, e = function() {
  5440. return {
  5441. requestUrl: document.location.href,
  5442. browserName: r ? r.appName : "",
  5443. userAgent: navigator ? navigator.userAgent : null
  5444. }
  5445. }, s = e(), this.connection = n.connection("http://localhost:64727/638f2261b2aa40ab9f38df1ec60d8df1/arterySignalR", s), this.connection.json = t, this.connection.received(function(t) {
  5446. try {
  5447. var r = n.parseJSON(t);
  5448. r.name && r.args && i.dispatchCallback(r.name, r.args, r.callbackId)
  5449. } catch (u) {}
  5450. }), this.connection.stateChanged(function(t) {
  5451. t.newState === n.signalR.connectionState.disconnected && (i.isReconnecting || i.isUnloading || (i.isReconnecting = !0, window.setTimeout(function() {
  5452. i.reset(), i.initialize()
  5453. }, 25)))
  5454. }), f = function() {
  5455. if (i.isReconnecting) {
  5456. i.isReconnecting = !1;
  5457. for (var n = 0; n < i.inits.length; n++) typeof i.inits[n].onReconnected != "undefined" && i.inits[n].onReconnecting()
  5458. } else i.addExtensions();
  5459. i.invoke("Microsoft.VisualStudio.Web.BrowserLink.CoreExtensionFactory.connected", !0).continueWith(function() {
  5460. for (var n = 0; n < i.inits.length; n++) i.inits[n].onConnected()
  5461. })
  5462. }, o = function(n) {
  5463. var u, f, t, i, r;
  5464. if (u = function() {
  5465. return navigator.userAgent.search(/msie /i) >= 0 || navigator.userAgent.search(/trident/i) >= 0 ? !0 : !1
  5466. }, u() && (f = window.location, t = window.document.createElement("a"), t.href = n, i = function(n) {
  5467. return n && n.indexOf(".") < 0 ? !0 : !1
  5468. }, i(t.hostname) && !i(f.hostname))) return !1;
  5469. try {
  5470. return r = new XMLHttpRequest, r.open("get", n), !0
  5471. } catch (e) {
  5472. return !1
  5473. }
  5474. }, o(i.connection.url) ? i.connection.start().done(f) : i.connection.start({
  5475. transport: "longPolling",
  5476. jsonp: !0
  5477. }).done(f)
  5478. }
  5479. };
  5480. n(window).on("beforeunload", function() {
  5481. i.isUnloading = !0
  5482. });
  5483. i.initialize()
  5484. })($.noConflict(!0), JSON), window._vwdJSON && (JSON = window._vwdJSON), window._vwdDefine && (define = window._vwdDefine);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement