Advertisement
Guest User

humanpresence.io source

a guest
Nov 17th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 429.16 KB | None | 0 0
  1. var ellipsis;
  2. ! function () {
  3. if (!ellipsis || !ellipsis.requirejs) {
  4. ellipsis ? require = ellipsis : ellipsis = {};
  5. var requirejs, require, define;
  6. ! function (global) {
  7. function isFunction(e) {
  8. return "[object Function]" === ostring.call(e)
  9. }
  10.  
  11. function isArray(e) {
  12. return "[object Array]" === ostring.call(e)
  13. }
  14.  
  15. function each(e, t) {
  16. if (e) {
  17. var n;
  18. for (n = 0; n < e.length && (!e[n] || !t(e[n], n, e)); n += 1);
  19. }
  20. }
  21.  
  22. function eachReverse(e, t) {
  23. if (e) {
  24. var n;
  25. for (n = e.length - 1; n > -1 && (!e[n] || !t(e[n], n, e)); n -= 1);
  26. }
  27. }
  28.  
  29. function hasProp(e, t) {
  30. return hasOwn.call(e, t)
  31. }
  32.  
  33. function getOwn(e, t) {
  34. return hasProp(e, t) && e[t]
  35. }
  36.  
  37. function eachProp(e, t) {
  38. var n;
  39. for (n in e)
  40. if (hasProp(e, n) && t(e[n], n)) break
  41. }
  42.  
  43. function mixin(e, t, n, r) {
  44. return t && eachProp(t, function (t, i) {
  45. (n || !hasProp(e, i)) && (r && "string" != typeof t ? (e[i] || (e[i] = {}), mixin(e[i], t, n, r)) : e[i] = t)
  46. }), e
  47. }
  48.  
  49. function bind(e, t) {
  50. return function () {
  51. return t.apply(e, arguments)
  52. }
  53. }
  54.  
  55. function scripts() {
  56. return document.getElementsByTagName("script")
  57. }
  58.  
  59. function getGlobal(e) {
  60. if (!e) return e;
  61. var t = global;
  62. return each(e.split("."), function (e) {
  63. t = t[e]
  64. }), t
  65. }
  66.  
  67. function makeError(e, t, n, r) {
  68. var i = new Error(t + "\nhttp://requirejs.org/docs/errors.html#" + e);
  69. return i.requireType = e, i.requireModules = r, n && (i.originalError = n), i
  70. }
  71.  
  72. function newContext(e) {
  73. function t(e) {
  74. var t, n;
  75. for (t = 0; e[t]; t += 1)
  76. if (n = e[t], "." === n) e.splice(t, 1), t -= 1;
  77. else if (".." === n) {
  78. if (1 === t && (".." === e[2] || ".." === e[0])) break;
  79. t > 0 && (e.splice(t - 1, 2), t -= 2)
  80. }
  81. }
  82.  
  83. function n(e, n, r) {
  84. var i, o, a, s, u, c, l, p, d, f, h, m = n && n.split("/"),
  85. g = m,
  86. v = C.map,
  87. y = v && v["*"];
  88. if (e && "." === e.charAt(0) && (n ? (g = getOwn(C.pkgs, n) ? m = [n] : m.slice(0, m.length - 1), e = g.concat(e.split("/")), t(e), o = getOwn(C.pkgs, i = e[0]), e = e.join("/"), o && e === i + "/" + o.main && (e = i)) : 0 === e.indexOf("./") && (e = e.substring(2))), r && v && (m || y)) {
  89. for (s = e.split("/"), u = s.length; u > 0; u -= 1) {
  90. if (l = s.slice(0, u).join("/"), m)
  91. for (c = m.length; c > 0; c -= 1)
  92. if (a = getOwn(v, m.slice(0, c).join("/")), a && (a = getOwn(a, l))) {
  93. p = a, d = u;
  94. break
  95. } if (p) break;
  96. !f && y && getOwn(y, l) && (f = getOwn(y, l), h = u)
  97. }!p && f && (p = f, d = h), p && (s.splice(0, d, p), e = s.join("/"))
  98. }
  99. return e
  100. }
  101.  
  102. function r(e) {
  103. isBrowser && each(scripts(), function (t) {
  104. return t.getAttribute("data-requiremodule") === e && t.getAttribute("data-requirecontext") === x.contextName ? (t.parentNode.removeChild(t), !0) : void 0
  105. })
  106. }
  107.  
  108. function i(e) {
  109. var t = getOwn(C.paths, e);
  110. return t && isArray(t) && t.length > 1 ? (r(e), t.shift(), x.require.undef(e), x.require([e]), !0) : void 0
  111. }
  112.  
  113. function o(e) {
  114. var t, n = e ? e.indexOf("!") : -1;
  115. return n > -1 && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e]
  116. }
  117.  
  118. function a(e, t, r, i) {
  119. var a, s, u, c, l = null,
  120. p = t ? t.name : null,
  121. d = e,
  122. f = !0,
  123. h = "";
  124. return e || (f = !1, e = "_@r" + (D += 1)), c = o(e), l = c[0], e = c[1], l && (l = n(l, p, i), s = getOwn(M, l)), e && (l ? h = s && s.normalize ? s.normalize(e, function (e) {
  125. return n(e, p, i)
  126. }) : n(e, p, i) : (h = n(e, p, i), c = o(h), l = c[0], h = c[1], r = !0, a = x.nameToUrl(h))), u = !l || s || r ? "" : "_unnormalized" + (A += 1), {
  127. prefix: l,
  128. name: h,
  129. parentMap: t,
  130. unnormalized: !!u,
  131. url: a,
  132. originalName: d,
  133. isDefine: f,
  134. id: (l ? l + "!" + h : h) + u
  135. }
  136. }
  137.  
  138. function s(e) {
  139. var t = e.id,
  140. n = getOwn(T, t);
  141. return n || (n = T[t] = new x.Module(e)), n
  142. }
  143.  
  144. function u(e, t, n) {
  145. var r = e.id,
  146. i = getOwn(T, r);
  147. !hasProp(M, r) || i && !i.defineEmitComplete ? s(e).on(t, n) : "defined" === t && n(M[r])
  148. }
  149.  
  150. function c(e, t) {
  151. var n = e.requireModules,
  152. r = !1;
  153. t ? t(e) : (each(n, function (t) {
  154. var n = getOwn(T, t);
  155. n && (n.error = e, n.events.error && (r = !0, n.emit("error", e)))
  156. }), r || req.onError(e))
  157. }
  158.  
  159. function l() {
  160. globalDefQueue.length && (apsp.apply(N, [N.length - 1, 0].concat(globalDefQueue)), globalDefQueue = [])
  161. }
  162.  
  163. function p(e) {
  164. delete T[e], delete k[e]
  165. }
  166.  
  167. function d(e, t, n) {
  168. var r = e.map.id;
  169. e.error ? e.emit("error", e.error) : (t[r] = !0, each(e.depMaps, function (r, i) {
  170. var o = r.id,
  171. a = getOwn(T, o);
  172. !a || e.depMatched[i] || n[o] || (getOwn(t, o) ? (e.defineDep(i, M[o]), e.check()) : d(a, t, n))
  173. }), n[r] = !0)
  174. }
  175.  
  176. function f() {
  177. var e, t, n, o, a = 1e3 * C.waitSeconds,
  178. s = a && x.startTime + a < (new Date).getTime(),
  179. u = [],
  180. l = [],
  181. p = !1,
  182. h = !0;
  183. if (!y) {
  184. if (y = !0, eachProp(k, function (n) {
  185. if (e = n.map, t = e.id, n.enabled && (e.isDefine || l.push(n), !n.error))
  186. if (!n.inited && s) i(t) ? (o = !0, p = !0) : (u.push(t), r(t));
  187. else if (!n.inited && n.fetched && e.isDefine && (p = !0, !e.prefix)) return h = !1
  188. }), s && u.length) return n = makeError("timeout", "Load timeout for modules: " + u, null, u), n.contextName = x.contextName, c(n);
  189. h && each(l, function (e) {
  190. d(e, {}, {})
  191. }), s && !o || !p || !isBrowser && !isWebWorker || w || (w = setTimeout(function () {
  192. w = 0, f()
  193. }, 50)), y = !1
  194. }
  195. }
  196.  
  197. function h(e) {
  198. hasProp(M, e[0]) || s(a(e[0], null, !0)).init(e[1], e[2])
  199. }
  200.  
  201. function m(e, t, n, r) {
  202. e.detachEvent && !isOpera ? r && e.detachEvent(r, t) : e.removeEventListener(n, t, !1)
  203. }
  204.  
  205. function g(e) {
  206. var t = e.currentTarget || e.srcElement;
  207. return m(t, x.onScriptLoad, "load", "onreadystatechange"), m(t, x.onScriptError, "error"), {
  208. node: t,
  209. id: t && t.getAttribute("data-requiremodule")
  210. }
  211. }
  212.  
  213. function v() {
  214. var e;
  215. for (l(); N.length;) {
  216. if (e = N.shift(), null === e[0]) return c(makeError("mismatch", "Mismatched anonymous define() module: " + e[e.length - 1]));
  217. h(e)
  218. }
  219. }
  220. var y, b, x, E, w, C = {
  221. waitSeconds: 7,
  222. baseUrl: "./",
  223. paths: {},
  224. pkgs: {},
  225. shim: {},
  226. config: {}
  227. },
  228. T = {},
  229. k = {},
  230. S = {},
  231. N = [],
  232. M = {},
  233. L = {},
  234. D = 1,
  235. A = 1;
  236. return E = {
  237. require: function (e) {
  238. return e.require ? e.require : e.require = x.makeRequire(e.map)
  239. },
  240. exports: function (e) {
  241. return e.usingExports = !0, e.map.isDefine ? e.exports ? e.exports : e.exports = M[e.map.id] = {} : void 0
  242. },
  243. module: function (e) {
  244. return e.module ? e.module : e.module = {
  245. id: e.map.id,
  246. uri: e.map.url,
  247. config: function () {
  248. return C.config && getOwn(C.config, e.map.id) || {}
  249. },
  250. exports: M[e.map.id]
  251. }
  252. }
  253. }, b = function (e) {
  254. this.events = getOwn(S, e.id) || {}, this.map = e, this.shim = getOwn(C.shim, e.id), this.depExports = [], this.depMaps = [], this.depMatched = [], this.pluginMaps = {}, this.depCount = 0
  255. }, b.prototype = {
  256. init: function (e, t, n, r) {
  257. r = r || {}, this.inited || (this.factory = t, n ? this.on("error", n) : this.events.error && (n = bind(this, function (e) {
  258. this.emit("error", e)
  259. })), this.depMaps = e && e.slice(0), this.errback = n, this.inited = !0, this.ignore = r.ignore, r.enabled || this.enabled ? this.enable() : this.check())
  260. },
  261. defineDep: function (e, t) {
  262. this.depMatched[e] || (this.depMatched[e] = !0, this.depCount -= 1, this.depExports[e] = t)
  263. },
  264. fetch: function () {
  265. if (!this.fetched) {
  266. this.fetched = !0, x.startTime = (new Date).getTime();
  267. var e = this.map;
  268. return this.shim ? void x.makeRequire(this.map, {
  269. enableBuildCallback: !0
  270. })(this.shim.deps || [], bind(this, function () {
  271. return e.prefix ? this.callPlugin() : this.load()
  272. })) : e.prefix ? this.callPlugin() : this.load()
  273. }
  274. },
  275. load: function () {
  276. var e = this.map.url;
  277. L[e] || (L[e] = !0, x.load(this.map.id, e))
  278. },
  279. check: function () {
  280. if (this.enabled && !this.enabling) {
  281. var e, t, n = this.map.id,
  282. r = this.depExports,
  283. i = this.exports,
  284. o = this.factory;
  285. if (this.inited) {
  286. if (this.error) this.emit("error", this.error);
  287. else if (!this.defining) {
  288. if (this.defining = !0, this.depCount < 1 && !this.defined) {
  289. if (isFunction(o)) {
  290. if (this.events.error) try {
  291. i = x.execCb(n, o, r, i)
  292. } catch (a) {
  293. e = a
  294. } else i = x.execCb(n, o, r, i);
  295. if (this.map.isDefine && (t = this.module, t && void 0 !== t.exports && t.exports !== this.exports ? i = t.exports : void 0 === i && this.usingExports && (i = this.exports)), e) return e.requireMap = this.map, e.requireModules = [this.map.id], e.requireType = "define", c(this.error = e)
  296. } else i = o;
  297. this.exports = i, this.map.isDefine && !this.ignore && (M[n] = i, req.onResourceLoad && req.onResourceLoad(x, this.map, this.depMaps)), p(n), this.defined = !0
  298. }
  299. this.defining = !1, this.defined && !this.defineEmitted && (this.defineEmitted = !0, this.emit("defined", this.exports), this.defineEmitComplete = !0)
  300. }
  301. } else this.fetch()
  302. }
  303. },
  304. callPlugin: function () {
  305. var e = this.map,
  306. t = e.id,
  307. r = a(e.prefix);
  308. this.depMaps.push(r), u(r, "defined", bind(this, function (r) {
  309. var i, o, l, d = this.map.name,
  310. f = this.map.parentMap ? this.map.parentMap.name : null,
  311. h = x.makeRequire(e.parentMap, {
  312. enableBuildCallback: !0
  313. });
  314. return this.map.unnormalized ? (r.normalize && (d = r.normalize(d, function (e) {
  315. return n(e, f, !0)
  316. }) || ""), o = a(e.prefix + "!" + d, this.map.parentMap), u(o, "defined", bind(this, function (e) {
  317. this.init([], function () {
  318. return e
  319. }, null, {
  320. enabled: !0,
  321. ignore: !0
  322. })
  323. })), l = getOwn(T, o.id), void(l && (this.depMaps.push(o), this.events.error && l.on("error", bind(this, function (e) {
  324. this.emit("error", e)
  325. })), l.enable()))) : (i = bind(this, function (e) {
  326. this.init([], function () {
  327. return e
  328. }, null, {
  329. enabled: !0
  330. })
  331. }), i.error = bind(this, function (e) {
  332. this.inited = !0, this.error = e, e.requireModules = [t], eachProp(T, function (e) {
  333. 0 === e.map.id.indexOf(t + "_unnormalized") && p(e.map.id)
  334. }), c(e)
  335. }), i.fromText = bind(this, function (n, r) {
  336. var o = e.name,
  337. u = a(o),
  338. l = useInteractive;
  339. r && (n = r), l && (useInteractive = !1), s(u), hasProp(C.config, t) && (C.config[o] = C.config[t]);
  340. try {
  341. req.exec(n)
  342. } catch (p) {
  343. return c(makeError("fromtexteval", "fromText eval for " + t + " failed: " + p, p, [t]))
  344. }
  345. l && (useInteractive = !0), this.depMaps.push(u), x.completeLoad(o), h([o], i)
  346. }), void r.load(e.name, h, i, C))
  347. })), x.enable(r, this), this.pluginMaps[r.id] = r
  348. },
  349. enable: function () {
  350. k[this.map.id] = this, this.enabled = !0, this.enabling = !0, each(this.depMaps, bind(this, function (e, t) {
  351. var n, r, i;
  352. if ("string" == typeof e) {
  353. if (e = a(e, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap), this.depMaps[t] = e, i = getOwn(E, e.id)) return void(this.depExports[t] = i(this));
  354. this.depCount += 1, u(e, "defined", bind(this, function (e) {
  355. this.defineDep(t, e), this.check()
  356. })), this.errback && u(e, "error", this.errback)
  357. }
  358. n = e.id, r = T[n], hasProp(E, n) || !r || r.enabled || x.enable(e, this)
  359. })), eachProp(this.pluginMaps, bind(this, function (e) {
  360. var t = getOwn(T, e.id);
  361. t && !t.enabled && x.enable(e, this)
  362. })), this.enabling = !1, this.check()
  363. },
  364. on: function (e, t) {
  365. var n = this.events[e];
  366. n || (n = this.events[e] = []), n.push(t)
  367. },
  368. emit: function (e, t) {
  369. each(this.events[e], function (e) {
  370. e(t)
  371. }), "error" === e && delete this.events[e]
  372. }
  373. }, x = {
  374. config: C,
  375. contextName: e,
  376. registry: T,
  377. defined: M,
  378. urlFetched: L,
  379. defQueue: N,
  380. Module: b,
  381. makeModuleMap: a,
  382. nextTick: req.nextTick,
  383. onError: c,
  384. configure: function (e) {
  385. e.baseUrl && "/" !== e.baseUrl.charAt(e.baseUrl.length - 1) && (e.baseUrl += "/");
  386. var t = C.pkgs,
  387. n = C.shim,
  388. r = {
  389. paths: !0,
  390. config: !0,
  391. map: !0
  392. };
  393. eachProp(e, function (e, t) {
  394. r[t] ? "map" === t ? (C.map || (C.map = {}), mixin(C[t], e, !0, !0)) : mixin(C[t], e, !0) : C[t] = e
  395. }), e.shim && (eachProp(e.shim, function (e, t) {
  396. isArray(e) && (e = {
  397. deps: e
  398. }), !e.exports && !e.init || e.exportsFn || (e.exportsFn = x.makeShimExports(e)), n[t] = e
  399. }), C.shim = n), e.packages && (each(e.packages, function (e) {
  400. var n;
  401. e = "string" == typeof e ? {
  402. name: e
  403. } : e, n = e.location, t[e.name] = {
  404. name: e.name,
  405. location: n || e.name,
  406. main: (e.main || "main").replace(currDirRegExp, "").replace(jsSuffixRegExp, "")
  407. }
  408. }), C.pkgs = t), eachProp(T, function (e, t) {
  409. e.inited || e.map.unnormalized || (e.map = a(t))
  410. }), (e.deps || e.callback) && x.require(e.deps || [], e.callback)
  411. },
  412. makeShimExports: function (e) {
  413. function t() {
  414. var t;
  415. return e.init && (t = e.init.apply(global, arguments)), t || e.exports && getGlobal(e.exports)
  416. }
  417. return t
  418. },
  419. makeRequire: function (t, r) {
  420. function i(n, o, u) {
  421. var l, p, d;
  422. return r.enableBuildCallback && o && isFunction(o) && (o.__requireJsBuild = !0), "string" == typeof n ? isFunction(o) ? c(makeError("requireargs", "Invalid require call"), u) : t && hasProp(E, n) ? E[n](T[t.id]) : req.get ? req.get(x, n, t, i) : (p = a(n, t, !1, !0), l = p.id, hasProp(M, l) ? M[l] : c(makeError("notloaded", 'Module name "' + l + '" has not been loaded yet for context: ' + e + (t ? "" : ". Use require([])")))) : (v(), x.nextTick(function () {
  423. v(), d = s(a(null, t)), d.skipMap = r.skipMap, d.init(n, o, u, {
  424. enabled: !0
  425. }), f()
  426. }), i)
  427. }
  428. return r = r || {}, mixin(i, {
  429. isBrowser: isBrowser,
  430. toUrl: function (e) {
  431. var r, i = e.lastIndexOf("."),
  432. o = e.split("/")[0],
  433. a = "." === o || ".." === o;
  434. return -1 !== i && (!a || i > 1) && (r = e.substring(i, e.length), e = e.substring(0, i)), x.nameToUrl(n(e, t && t.id, !0), r, !0)
  435. },
  436. defined: function (e) {
  437. return hasProp(M, a(e, t, !1, !0).id)
  438. },
  439. specified: function (e) {
  440. return e = a(e, t, !1, !0).id, hasProp(M, e) || hasProp(T, e)
  441. }
  442. }), t || (i.undef = function (e) {
  443. l();
  444. var n = a(e, t, !0),
  445. r = getOwn(T, e);
  446. delete M[e], delete L[n.url], delete S[e], r && (r.events.defined && (S[e] = r.events), p(e))
  447. }), i
  448. },
  449. enable: function (e) {
  450. var t = getOwn(T, e.id);
  451. t && s(e).enable()
  452. },
  453. completeLoad: function (e) {
  454. var t, n, r, o = getOwn(C.shim, e) || {},
  455. a = o.exports;
  456. for (l(); N.length;) {
  457. if (n = N.shift(), null === n[0]) {
  458. if (n[0] = e, t) break;
  459. t = !0
  460. } else n[0] === e && (t = !0);
  461. h(n)
  462. }
  463. if (r = getOwn(T, e), !t && !hasProp(M, e) && r && !r.inited) {
  464. if (!(!C.enforceDefine || a && getGlobal(a))) return i(e) ? void 0 : c(makeError("nodefine", "No define call for " + e, null, [e]));
  465. h([e, o.deps || [], o.exportsFn])
  466. }
  467. f()
  468. },
  469. nameToUrl: function (e, t, n) {
  470. var r, i, o, a, s, u, c, l, p;
  471. if (req.jsExtRegExp.test(e)) l = e + (t || "");
  472. else {
  473. for (r = C.paths, i = C.pkgs, s = e.split("/"), u = s.length; u > 0; u -= 1) {
  474. if (c = s.slice(0, u).join("/"), o = getOwn(i, c), p = getOwn(r, c)) {
  475. isArray(p) && (p = p[0]), s.splice(0, u, p);
  476. break
  477. }
  478. if (o) {
  479. a = e === o.name ? o.location + "/" + o.main : o.location, s.splice(0, u, a);
  480. break
  481. }
  482. }
  483. l = s.join("/"), l += t || (/\?/.test(l) || n ? "" : ".js"), l = ("/" === l.charAt(0) || l.match(/^[\w\+\.\-]+:/) ? "" : C.baseUrl) + l
  484. }
  485. return C.urlArgs ? l + ((-1 === l.indexOf("?") ? "?" : "&") + C.urlArgs) : l
  486. },
  487. load: function (e, t) {
  488. req.load(x, e, t)
  489. },
  490. execCb: function (e, t, n, r) {
  491. return t.apply(r, n)
  492. },
  493. onScriptLoad: function (e) {
  494. if ("load" === e.type || readyRegExp.test((e.currentTarget || e.srcElement).readyState)) {
  495. interactiveScript = null;
  496. var t = g(e);
  497. x.completeLoad(t.id)
  498. }
  499. },
  500. onScriptError: function (e) {
  501. var t = g(e);
  502. return i(t.id) ? void 0 : c(makeError("scripterror", "Script error", e, [t.id]))
  503. }
  504. }, x.require = x.makeRequire(), x
  505. }
  506.  
  507. function getInteractiveScript() {
  508. return interactiveScript && "interactive" === interactiveScript.readyState ? interactiveScript : (eachReverse(scripts(), function (e) {
  509. return "interactive" === e.readyState ? interactiveScript = e : void 0
  510. }), interactiveScript)
  511. }
  512. var req, s, head, baseElement, dataMain, src, interactiveScript, currentlyAddingScript, mainScript, subPath, version = "2.1.5",
  513. commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,
  514. cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
  515. jsSuffixRegExp = /\.js$/,
  516. currDirRegExp = /^\.\//,
  517. op = Object.prototype,
  518. ostring = op.toString,
  519. hasOwn = op.hasOwnProperty,
  520. ap = Array.prototype,
  521. apsp = ap.splice,
  522. isBrowser = !("undefined" == typeof window || !navigator || !document),
  523. isWebWorker = !isBrowser && "undefined" != typeof importScripts,
  524. readyRegExp = isBrowser && "PLAYSTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/,
  525. defContextName = "_",
  526. isOpera = "undefined" != typeof opera && "[object Opera]" === opera.toString(),
  527. contexts = {},
  528. cfg = {},
  529. globalDefQueue = [],
  530. useInteractive = !1;
  531. if ("undefined" == typeof define) {
  532. if ("undefined" != typeof requirejs) {
  533. if (isFunction(requirejs)) return;
  534. cfg = requirejs, requirejs = void 0
  535. }
  536. "undefined" == typeof require || isFunction(require) || (cfg = require, require = void 0), req = requirejs = function (e, t, n, r) {
  537. var i, o, a = defContextName;
  538. return isArray(e) || "string" == typeof e || (o = e, isArray(t) ? (e = t, t = n, n = r) : e = []), o && o.context && (a = o.context), i = getOwn(contexts, a), i || (i = contexts[a] = req.s.newContext(a)), o && i.configure(o), i.require(e, t, n)
  539. }, req.config = function (e) {
  540. return req(e)
  541. }, req.nextTick = "undefined" != typeof setTimeout ? function (e) {
  542. setTimeout(e, 4)
  543. } : function (e) {
  544. e()
  545. }, require || (require = req), req.version = version, req.jsExtRegExp = /^\/|:|\?|\.js$/, req.isBrowser = isBrowser, s = req.s = {
  546. contexts: contexts,
  547. newContext: newContext
  548. }, req({}), each(["toUrl", "undef", "defined", "specified"], function (e) {
  549. req[e] = function () {
  550. var t = contexts[defContextName];
  551. return t.require[e].apply(t, arguments)
  552. }
  553. }), isBrowser && (head = s.head = document.getElementsByTagName("head")[0], baseElement = document.getElementsByTagName("base")[0], baseElement && (head = s.head = baseElement.parentNode)), req.onError = function (e) {
  554. throw e
  555. }, req.load = function (e, t, n) {
  556. var r, i = e && e.config || {};
  557. if (isBrowser) return r = i.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script"), r.type = i.scriptType || "text/javascript", r.charset = "utf-8", r.async = !0, r.setAttribute("data-requirecontext", e.contextName), r.setAttribute("data-requiremodule", t), !r.attachEvent || r.attachEvent.toString && r.attachEvent.toString().indexOf("[native code") < 0 || isOpera ? (r.addEventListener("load", e.onScriptLoad, !1), r.addEventListener("error", e.onScriptError, !1)) : (useInteractive = !0, r.attachEvent("onreadystatechange", e.onScriptLoad)), r.src = n, currentlyAddingScript = r, baseElement ? head.insertBefore(r, baseElement) : head.appendChild(r), currentlyAddingScript = null, r;
  558. if (isWebWorker) try {
  559. importScripts(n), e.completeLoad(t)
  560. } catch (o) {
  561. e.onError(makeError("importscripts", "importScripts failed for " + t + " at " + n, o, [t]))
  562. }
  563. }, isBrowser && eachReverse(scripts(), function (e) {
  564. return head || (head = e.parentNode), dataMain = e.getAttribute("data-main"), dataMain ? (cfg.baseUrl || (src = dataMain.split("/"), mainScript = src.pop(), subPath = src.length ? src.join("/") + "/" : "./", cfg.baseUrl = subPath, dataMain = mainScript), dataMain = dataMain.replace(jsSuffixRegExp, ""), cfg.deps = cfg.deps ? cfg.deps.concat(dataMain) : [dataMain], !0) : void 0
  565. }), define = function (e, t, n) {
  566. var r, i;
  567. "string" != typeof e && (n = t, t = e, e = null), isArray(t) || (n = t, t = []), !t.length && isFunction(n) && n.length && (n.toString().replace(commentRegExp, "").replace(cjsRequireRegExp, function (e, n) {
  568. t.push(n)
  569. }), t = (1 === n.length ? ["require"] : ["require", "exports", "module"]).concat(t)), useInteractive && (r = currentlyAddingScript || getInteractiveScript(), r && (e || (e = r.getAttribute("data-requiremodule")), i = contexts[r.getAttribute("data-requirecontext")])), (i ? i.defQueue : globalDefQueue).push([e, t, n])
  570. }, define.amd = {
  571. jQuery: !0
  572. }, req.exec = function (text) {
  573. return eval(text)
  574. }, req(cfg)
  575. }
  576. }(this), ellipsis.requirejs = requirejs, ellipsis.require = require, ellipsis.define = define
  577. }
  578. }(), ellipsis.define("requireLib", function () {}),
  579. function (e, t) {
  580. function n(e) {
  581. var t = e.length,
  582. n = X.type(e);
  583. return X.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || "function" !== n && (0 === t || "number" == typeof t && t > 0 && t - 1 in e)
  584. }
  585.  
  586. function r(e) {
  587. var t = ie[e] = {};
  588. return X.each(e.match(K) || [], function (e, n) {
  589. t[n] = !0
  590. }), t
  591. }
  592.  
  593. function i(e, n, r, i) {
  594. if (X.acceptData(e)) {
  595. var o, a, s = X.expando,
  596. u = "string" == typeof n,
  597. c = e.nodeType,
  598. l = c ? X.cache : e,
  599. p = c ? e[s] : e[s] && s;
  600. if (p && l[p] && (i || l[p].data) || !u || r !== t) return p || (c ? e[s] = p = O.pop() || X.guid++ : p = s), l[p] || (l[p] = {}, c || (l[p].toJSON = X.noop)), ("object" == typeof n || "function" == typeof n) && (i ? l[p] = X.extend(l[p], n) : l[p].data = X.extend(l[p].data, n)), o = l[p], i || (o.data || (o.data = {}), o = o.data), r !== t && (o[X.camelCase(n)] = r), u ? (a = o[n], null == a && (a = o[X.camelCase(n)])) : a = o, a
  601. }
  602. }
  603.  
  604. function o(e, t, n) {
  605. if (X.acceptData(e)) {
  606. var r, i, o, a = e.nodeType,
  607. u = a ? X.cache : e,
  608. c = a ? e[X.expando] : X.expando;
  609. if (u[c]) {
  610. if (t && (o = n ? u[c] : u[c].data)) {
  611. X.isArray(t) ? t = t.concat(X.map(t, X.camelCase)) : t in o ? t = [t] : (t = X.camelCase(t), t = t in o ? [t] : t.split(" "));
  612. for (r = 0, i = t.length; i > r; r++) delete o[t[r]];
  613. if (!(n ? s : X.isEmptyObject)(o)) return
  614. }(n || (delete u[c].data, s(u[c]))) && (a ? X.cleanData([e], !0) : X.support.deleteExpando || u != u.window ? delete u[c] : u[c] = null)
  615. }
  616. }
  617. }
  618.  
  619. function a(e, n, r) {
  620. if (r === t && 1 === e.nodeType) {
  621. var i = "data-" + n.replace(ae, "-$1").toLowerCase();
  622. if (r = e.getAttribute(i), "string" == typeof r) {
  623. try {
  624. r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : +r + "" === r ? +r : oe.test(r) ? X.parseJSON(r) : r
  625. } catch (o) {}
  626. X.data(e, n, r)
  627. } else r = t
  628. }
  629. return r
  630. }
  631.  
  632. function s(e) {
  633. var t;
  634. for (t in e)
  635. if (("data" !== t || !X.isEmptyObject(e[t])) && "toJSON" !== t) return !1;
  636. return !0
  637. }
  638.  
  639. function u() {
  640. return !0
  641. }
  642.  
  643. function c() {
  644. return !1
  645. }
  646.  
  647. function l(e, t) {
  648. do e = e[t]; while (e && 1 !== e.nodeType);
  649. return e
  650. }
  651.  
  652. function p(e, t, n) {
  653. if (t = t || 0, X.isFunction(t)) return X.grep(e, function (e, r) {
  654. var i = !!t.call(e, r, e);
  655. return i === n
  656. });
  657. if (t.nodeType) return X.grep(e, function (e) {
  658. return e === t === n
  659. });
  660. if ("string" == typeof t) {
  661. var r = X.grep(e, function (e) {
  662. return 1 === e.nodeType
  663. });
  664. if (Te.test(t)) return X.filter(t, r, !n);
  665. t = X.filter(t, r)
  666. }
  667. return X.grep(e, function (e) {
  668. return X.inArray(e, t) >= 0 === n
  669. })
  670. }
  671.  
  672. function d(e) {
  673. var t = Ne.split("|"),
  674. n = e.createDocumentFragment();
  675. if (n.createElement)
  676. for (; t.length;) n.createElement(t.pop());
  677. return n
  678. }
  679.  
  680. function f(e, t) {
  681. return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
  682. }
  683.  
  684. function h(e) {
  685. var t = e.getAttributeNode("type");
  686. return e.type = (t && t.specified) + "/" + e.type, e
  687. }
  688.  
  689. function m(e) {
  690. var t = He.exec(e.type);
  691. return t ? e.type = t[1] : e.removeAttribute("type"), e
  692. }
  693.  
  694. function g(e, t) {
  695. for (var n, r = 0; null != (n = e[r]); r++) X._data(n, "globalEval", !t || X._data(t[r], "globalEval"))
  696. }
  697.  
  698. function v(e, t) {
  699. if (1 === t.nodeType && X.hasData(e)) {
  700. var n, r, i, o = X._data(e),
  701. a = X._data(t, o),
  702. s = o.events;
  703. if (s) {
  704. delete a.handle, a.events = {};
  705. for (n in s)
  706. for (r = 0, i = s[n].length; i > r; r++) X.event.add(t, n, s[n][r])
  707. }
  708. a.data && (a.data = X.extend({}, a.data))
  709. }
  710. }
  711.  
  712. function y(e, t) {
  713. var n, r, i;
  714. if (1 === t.nodeType) {
  715. if (n = t.nodeName.toLowerCase(), !X.support.noCloneEvent && t[X.expando]) {
  716. i = X._data(t);
  717. for (r in i.events) X.removeEvent(t, r, i.handle);
  718. t.removeAttribute(X.expando)
  719. }
  720. "script" === n && t.text !== e.text ? (h(t).text = e.text, m(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), X.support.html5Clone && e.innerHTML && !X.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Pe.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue)
  721. }
  722. }
  723.  
  724. function b(e, n) {
  725. var r, i, o = 0,
  726. a = typeof e.getElementsByTagName !== A ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== A ? e.querySelectorAll(n || "*") : t;
  727. if (!a)
  728. for (a = [], r = e.childNodes || e; null != (i = r[o]); o++) !n || X.nodeName(i, n) ? a.push(i) : X.merge(a, b(i, n));
  729. return n === t || n && X.nodeName(e, n) ? X.merge([e], a) : a
  730. }
  731.  
  732. function x(e) {
  733. Pe.test(e.type) && (e.defaultChecked = e.checked)
  734. }
  735.  
  736. function E(e, t, n, r) {
  737. var i;
  738. if (X.isArray(t)) X.each(t, function (t, i) {
  739. n || Ke.test(e) ? r(e, i) : E(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r)
  740. });
  741. else if (n || "object" !== X.type(t)) r(e, t);
  742. else
  743. for (i in t) E(e + "[" + i + "]", t[i], n, r)
  744. }
  745.  
  746. function w(e) {
  747. return function (t, n) {
  748. "string" != typeof t && (n = t, t = "*");
  749. var r, i = 0,
  750. o = t.toLowerCase().match(K) || [];
  751. if (X.isFunction(n))
  752. for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
  753. }
  754. }
  755.  
  756. function C(e, t, n, r) {
  757. function i(s) {
  758. var u;
  759. return o[s] = !0, X.each(e[s] || [], function (e, s) {
  760. var c = s(t, n, r);
  761. return "string" != typeof c || a || o[c] ? a ? !(u = c) : void 0 : (t.dataTypes.unshift(c), i(c), !1)
  762. }), u
  763. }
  764. var o = {},
  765. a = e === ut;
  766. return i(t.dataTypes[0]) || !o["*"] && i("*")
  767. }
  768.  
  769. function T(e, n) {
  770. var r, i, o = X.ajaxSettings.flatOptions || {};
  771. for (i in n) n[i] !== t && ((o[i] ? e : r || (r = {}))[i] = n[i]);
  772. return r && X.extend(!0, e, r), e
  773. }
  774.  
  775. function k(e, n, r) {
  776. var i, o, a, s, u = e.contents,
  777. c = e.dataTypes,
  778. l = e.responseFields;
  779. for (s in l) s in r && (n[l[s]] = r[s]);
  780. for (;
  781. "*" === c[0];) c.shift(), o === t && (o = e.mimeType || n.getResponseHeader("Content-Type"));
  782. if (o)
  783. for (s in u)
  784. if (u[s] && u[s].test(o)) {
  785. c.unshift(s);
  786. break
  787. } if (c[0] in r) a = c[0];
  788. else {
  789. for (s in r) {
  790. if (!c[0] || e.converters[s + " " + c[0]]) {
  791. a = s;
  792. break
  793. }
  794. i || (i = s)
  795. }
  796. a = a || i
  797. }
  798. return a ? (a !== c[0] && c.unshift(a), r[a]) : void 0
  799. }
  800.  
  801. function S(e, t) {
  802. var n, r, i, o, a = {},
  803. s = 0,
  804. u = e.dataTypes.slice(),
  805. c = u[0];
  806. if (e.dataFilter && (t = e.dataFilter(t, e.dataType)), u[1])
  807. for (i in e.converters) a[i.toLowerCase()] = e.converters[i];
  808. for (; r = u[++s];)
  809. if ("*" !== r) {
  810. if ("*" !== c && c !== r) {
  811. if (i = a[c + " " + r] || a["* " + r], !i)
  812. for (n in a)
  813. if (o = n.split(" "), o[1] === r && (i = a[c + " " + o[0]] || a["* " + o[0]])) {
  814. i === !0 ? i = a[n] : a[n] !== !0 && (r = o[0], u.splice(s--, 0, r));
  815. break
  816. } if (i !== !0)
  817. if (i && e["throws"]) t = i(t);
  818. else try {
  819. t = i(t)
  820. } catch (l) {
  821. return {
  822. state: "parsererror",
  823. error: i ? l : "No conversion from " + c + " to " + r
  824. }
  825. }
  826. }
  827. c = r
  828. } return {
  829. state: "success",
  830. data: t
  831. }
  832. }
  833.  
  834. function N() {
  835. try {
  836. return new e.XMLHttpRequest
  837. } catch (t) {}
  838. }
  839.  
  840. function M() {
  841. try {
  842. return new e.ActiveXObject("Microsoft.XMLHTTP")
  843. } catch (t) {}
  844. }
  845. var L, D, A = typeof t,
  846. j = e.document,
  847. q = e.location,
  848. _ = {},
  849. O = [],
  850. P = "1.9.1 -css,-effects,-offset,-dimensions,-deprecated",
  851. R = O.concat,
  852. B = O.push,
  853. H = O.slice,
  854. F = O.indexOf,
  855. I = _.toString,
  856. $ = _.hasOwnProperty,
  857. W = P.trim,
  858. X = function (e, t) {
  859. return new X.fn.init(e, t, D)
  860. },
  861. K = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, /\S+/g),
  862. z = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  863. U = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
  864. Y = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
  865. J = /^[\],:{}\s]*$/,
  866. V = /(?:^|:|,)(?:\s*\[)+/g,
  867. G = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
  868. Q = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
  869. Z = /^-ms-/,
  870. ee = /-([\da-z])/gi,
  871. te = function (e, t) {
  872. return t.toUpperCase()
  873. },
  874. ne = function (e) {
  875. (j.addEventListener || "load" === e.type || "complete" === j.readyState) && (re(), X.ready())
  876. },
  877. re = function () {
  878. j.addEventListener ? (j.removeEventListener("DOMContentLoaded", ne, !1), e.removeEventListener("load", ne, !1)) : (j.detachEvent("onreadystatechange", ne), e.detachEvent("onload", ne))
  879. };
  880. X.fn = X.prototype = {
  881. jquery: P,
  882. constructor: X,
  883. init: function (e, n, r) {
  884. var i, o;
  885. if (!e) return this;
  886. if ("string" == typeof e) {
  887. if (i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : U.exec(e), !i || !i[1] && n) return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e);
  888. if (i[1]) {
  889. if (n = n instanceof X ? n[0] : n, X.merge(this, X.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : j, !0)), Y.test(i[1]) && X.isPlainObject(n))
  890. for (i in n) X.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]);
  891. return this
  892. }
  893. if (o = j.getElementById(i[2]), o && o.parentNode) {
  894. if (o.id !== i[2]) return r.find(e);
  895. this.length = 1, this[0] = o
  896. }
  897. return this.context = j, this.selector = e, this
  898. }
  899. return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : X.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), X.makeArray(e, this))
  900. },
  901. selector: "",
  902. length: 0,
  903. size: function () {
  904. return this.length
  905. },
  906. toArray: function () {
  907. return H.call(this)
  908. },
  909. get: function (e) {
  910. return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e]
  911. },
  912. pushStack: function (e) {
  913. var t = X.merge(this.constructor(), e);
  914. return t.prevObject = this, t.context = this.context, t
  915. },
  916. each: function (e, t) {
  917. return X.each(this, e, t)
  918. },
  919. ready: function (e) {
  920. return X.ready.promise().done(e), this
  921. },
  922. slice: function () {
  923. return this.pushStack(H.apply(this, arguments))
  924. },
  925. first: function () {
  926. return this.eq(0)
  927. },
  928. last: function () {
  929. return this.eq(-1)
  930. },
  931. eq: function (e) {
  932. var t = this.length,
  933. n = +e + (0 > e ? t : 0);
  934. return this.pushStack(n >= 0 && t > n ? [this[n]] : [])
  935. },
  936. map: function (e) {
  937. return this.pushStack(X.map(this, function (t, n) {
  938. return e.call(t, n, t)
  939. }))
  940. },
  941. end: function () {
  942. return this.prevObject || this.constructor(null)
  943. },
  944. push: B,
  945. sort: [].sort,
  946. splice: [].splice
  947. }, X.fn.init.prototype = X.fn, X.extend = X.fn.extend = function () {
  948. var e, n, r, i, o, a, s = arguments[0] || {},
  949. u = 1,
  950. c = arguments.length,
  951. l = !1;
  952. for ("boolean" == typeof s && (l = s, s = arguments[1] || {}, u = 2), "object" == typeof s || X.isFunction(s) || (s = {}), c === u && (s = this, --u); c > u; u++)
  953. if (null != (o = arguments[u]))
  954. for (i in o) e = s[i], r = o[i], s !== r && (l && r && (X.isPlainObject(r) || (n = X.isArray(r))) ? (n ? (n = !1, a = e && X.isArray(e) ? e : []) : a = e && X.isPlainObject(e) ? e : {}, s[i] = X.extend(l, a, r)) : r !== t && (s[i] = r));
  955. return s
  956. }, X.extend({
  957. isReady: !1,
  958. readyWait: 1,
  959. holdReady: function (e) {
  960. e ? X.readyWait++ : X.ready(!0)
  961. },
  962. ready: function (e) {
  963. if (e === !0 ? !--X.readyWait : !X.isReady) {
  964. if (!j.body) return setTimeout(X.ready);
  965. X.isReady = !0, e !== !0 && --X.readyWait > 0 || (L.resolveWith(j, [X]), X.fn.trigger && X(j).trigger("ready").off("ready"))
  966. }
  967. },
  968. isFunction: function (e) {
  969. return "function" === X.type(e)
  970. },
  971. isArray: Array.isArray || function (e) {
  972. return "array" === X.type(e)
  973. },
  974. isWindow: function (e) {
  975. return null != e && e == e.window
  976. },
  977. isNumeric: function (e) {
  978. return !isNaN(parseFloat(e)) && isFinite(e)
  979. },
  980. type: function (e) {
  981. return null == e ? String(e) : "object" == typeof e || "function" == typeof e ? _[I.call(e)] || "object" : typeof e
  982. },
  983. isPlainObject: function (e) {
  984. if (!e || "object" !== X.type(e) || e.nodeType || X.isWindow(e)) return !1;
  985. try {
  986. if (e.constructor && !$.call(e, "constructor") && !$.call(e.constructor.prototype, "isPrototypeOf")) return !1
  987. } catch (n) {
  988. return !1
  989. }
  990. var r;
  991. for (r in e);
  992. return r === t || $.call(e, r)
  993. },
  994. isEmptyObject: function (e) {
  995. var t;
  996. for (t in e) return !1;
  997. return !0
  998. },
  999. error: function (e) {
  1000. throw new Error(e)
  1001. },
  1002. parseHTML: function (e, t, n) {
  1003. if (!e || "string" != typeof e) return null;
  1004. "boolean" == typeof t && (n = t, t = !1), t = t || j;
  1005. var r = Y.exec(e),
  1006. i = !n && [];
  1007. return r ? [t.createElement(r[1])] : (r = X.buildFragment([e], t, i), i && X(i).remove(), X.merge([], r.childNodes))
  1008. },
  1009. parseJSON: function (t) {
  1010. return e.JSON && e.JSON.parse ? e.JSON.parse(t) : null === t ? t : "string" == typeof t && (t = X.trim(t), t && J.test(t.replace(G, "@").replace(Q, "]").replace(V, ""))) ? new Function("return " + t)() : void X.error("Invalid JSON: " + t)
  1011. },
  1012. parseXML: function (n) {
  1013. var r, i;
  1014. if (!n || "string" != typeof n) return null;
  1015. try {
  1016. e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
  1017. } catch (o) {
  1018. r = t
  1019. }
  1020. return r && r.documentElement && !r.getElementsByTagName("parsererror").length || X.error("Invalid XML: " + n), r
  1021. },
  1022. noop: function () {},
  1023. globalEval: function (t) {
  1024. t && X.trim(t) && (e.execScript || function (t) {
  1025. e.eval.call(e, t)
  1026. })(t)
  1027. },
  1028. camelCase: function (e) {
  1029. return e.replace(Z, "ms-").replace(ee, te)
  1030. },
  1031. nodeName: function (e, t) {
  1032. return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
  1033. },
  1034. each: function (e, t, r) {
  1035. var i, o = 0,
  1036. a = e.length,
  1037. s = n(e);
  1038. if (r) {
  1039. if (s)
  1040. for (; a > o && (i = t.apply(e[o], r), i !== !1); o++);
  1041. else
  1042. for (o in e)
  1043. if (i = t.apply(e[o], r), i === !1) break
  1044. } else if (s)
  1045. for (; a > o && (i = t.call(e[o], o, e[o]), i !== !1); o++);
  1046. else
  1047. for (o in e)
  1048. if (i = t.call(e[o], o, e[o]), i === !1) break;
  1049. return e
  1050. },
  1051. trim: W && !W.call("\ufeff ") ? function (e) {
  1052. return null == e ? "" : W.call(e)
  1053. } : function (e) {
  1054. return null == e ? "" : (e + "").replace(z, "")
  1055. },
  1056. makeArray: function (e, t) {
  1057. var r = t || [];
  1058. return null != e && (n(Object(e)) ? X.merge(r, "string" == typeof e ? [e] : e) : B.call(r, e)), r
  1059. },
  1060. inArray: function (e, t, n) {
  1061. var r;
  1062. if (t) {
  1063. if (F) return F.call(t, e, n);
  1064. for (r = t.length, n = n ? 0 > n ? Math.max(0, r + n) : n : 0; r > n; n++)
  1065. if (n in t && t[n] === e) return n
  1066. }
  1067. return -1
  1068. },
  1069. merge: function (e, n) {
  1070. var r = n.length,
  1071. i = e.length,
  1072. o = 0;
  1073. if ("number" == typeof r)
  1074. for (; r > o; o++) e[i++] = n[o];
  1075. else
  1076. for (; n[o] !== t;) e[i++] = n[o++];
  1077. return e.length = i, e
  1078. },
  1079. grep: function (e, t, n) {
  1080. var r, i = [],
  1081. o = 0,
  1082. a = e.length;
  1083. for (n = !!n; a > o; o++) r = !!t(e[o], o), n !== r && i.push(e[o]);
  1084. return i
  1085. },
  1086. map: function (e, t, r) {
  1087. var i, o = 0,
  1088. a = e.length,
  1089. s = n(e),
  1090. u = [];
  1091. if (s)
  1092. for (; a > o; o++) i = t(e[o], o, r), null != i && (u[u.length] = i);
  1093. else
  1094. for (o in e) i = t(e[o], o, r), null != i && (u[u.length] = i);
  1095. return R.apply([], u)
  1096. },
  1097. guid: 1,
  1098. proxy: function (e, n) {
  1099. var r, i, o;
  1100. return "string" == typeof n && (o = e[n], n = e, e = o), X.isFunction(e) ? (r = H.call(arguments, 2), i = function () {
  1101. return e.apply(n || this, r.concat(H.call(arguments)))
  1102. }, i.guid = e.guid = e.guid || X.guid++, i) : t
  1103. },
  1104. access: function (e, n, r, i, o, a, s) {
  1105. var u = 0,
  1106. c = e.length,
  1107. l = null == r;
  1108. if ("object" === X.type(r)) {
  1109. o = !0;
  1110. for (u in r) X.access(e, n, u, r[u], !0, a, s)
  1111. } else if (i !== t && (o = !0, X.isFunction(i) || (s = !0), l && (s ? (n.call(e, i), n = null) : (l = n, n = function (e, t, n) {
  1112. return l.call(X(e), n)
  1113. })), n))
  1114. for (; c > u; u++) n(e[u], r, s ? i : i.call(e[u], u, n(e[u], r)));
  1115. return o ? e : l ? n.call(e) : c ? n(e[0], r) : a
  1116. },
  1117. now: function () {
  1118. return (new Date).getTime()
  1119. }
  1120. }), X.ready.promise = function (t) {
  1121. if (!L)
  1122. if (L = X.Deferred(), "complete" === j.readyState) setTimeout(X.ready);
  1123. else if (j.addEventListener) j.addEventListener("DOMContentLoaded", ne, !1), e.addEventListener("load", ne, !1);
  1124. else {
  1125. j.attachEvent("onreadystatechange", ne), e.attachEvent("onload", ne);
  1126. var n = !1;
  1127. try {
  1128. n = null == e.frameElement && j.documentElement
  1129. } catch (r) {}
  1130. n && n.doScroll && ! function i() {
  1131. if (!X.isReady) {
  1132. try {
  1133. n.doScroll("left")
  1134. } catch (e) {
  1135. return setTimeout(i, 50)
  1136. }
  1137. re(), X.ready()
  1138. }
  1139. }()
  1140. }
  1141. return L.promise(t)
  1142. }, X.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (e, t) {
  1143. _["[object " + t + "]"] = t.toLowerCase()
  1144. }), D = X(j);
  1145. var ie = {};
  1146. X.Callbacks = function (e) {
  1147. e = "string" == typeof e ? ie[e] || r(e) : X.extend({}, e);
  1148. var n, i, o, a, s, u, c = [],
  1149. l = !e.once && [],
  1150. p = function (t) {
  1151. for (i = e.memory && t, o = !0, s = u || 0, u = 0, a = c.length, n = !0; c && a > s; s++)
  1152. if (c[s].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
  1153. i = !1;
  1154. break
  1155. } n = !1, c && (l ? l.length && p(l.shift()) : i ? c = [] : d.disable())
  1156. },
  1157. d = {
  1158. add: function () {
  1159. if (c) {
  1160. var t = c.length;
  1161. ! function r(t) {
  1162. X.each(t, function (t, n) {
  1163. var i = X.type(n);
  1164. "function" === i ? e.unique && d.has(n) || c.push(n) : n && n.length && "string" !== i && r(n)
  1165. })
  1166. }(arguments), n ? a = c.length : i && (u = t, p(i))
  1167. }
  1168. return this
  1169. },
  1170. remove: function () {
  1171. return c && X.each(arguments, function (e, t) {
  1172. for (var r;
  1173. (r = X.inArray(t, c, r)) > -1;) c.splice(r, 1), n && (a >= r && a--, s >= r && s--)
  1174. }), this
  1175. },
  1176. has: function (e) {
  1177. return e ? X.inArray(e, c) > -1 : !(!c || !c.length)
  1178. },
  1179. empty: function () {
  1180. return c = [], this
  1181. },
  1182. disable: function () {
  1183. return c = l = i = t, this
  1184. },
  1185. disabled: function () {
  1186. return !c
  1187. },
  1188. lock: function () {
  1189. return l = t, i || d.disable(), this
  1190. },
  1191. locked: function () {
  1192. return !l
  1193. },
  1194. fireWith: function (e, t) {
  1195. return t = t || [], t = [e, t.slice ? t.slice() : t], !c || o && !l || (n ? l.push(t) : p(t)), this
  1196. },
  1197. fire: function () {
  1198. return d.fireWith(this, arguments), this
  1199. },
  1200. fired: function () {
  1201. return !!o
  1202. }
  1203. };
  1204. return d
  1205. }, X.extend({
  1206. Deferred: function (e) {
  1207. var t = [
  1208. ["resolve", "done", X.Callbacks("once memory"), "resolved"],
  1209. ["reject", "fail", X.Callbacks("once memory"), "rejected"],
  1210. ["notify", "progress", X.Callbacks("memory")]
  1211. ],
  1212. n = "pending",
  1213. r = {
  1214. state: function () {
  1215. return n
  1216. },
  1217. always: function () {
  1218. return i.done(arguments).fail(arguments), this
  1219. },
  1220. then: function () {
  1221. var e = arguments;
  1222. return X.Deferred(function (n) {
  1223. X.each(t, function (t, o) {
  1224. var a = o[0],
  1225. s = X.isFunction(e[t]) && e[t];
  1226. i[o[1]](function () {
  1227. var e = s && s.apply(this, arguments);
  1228. e && X.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[a + "With"](this === r ? n.promise() : this, s ? [e] : arguments)
  1229. })
  1230. }), e = null
  1231. }).promise()
  1232. },
  1233. promise: function (e) {
  1234. return null != e ? X.extend(e, r) : r
  1235. }
  1236. },
  1237. i = {};
  1238. return r.pipe = r.then, X.each(t, function (e, o) {
  1239. var a = o[2],
  1240. s = o[3];
  1241. r[o[1]] = a.add, s && a.add(function () {
  1242. n = s
  1243. }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function () {
  1244. return i[o[0] + "With"](this === i ? r : this, arguments), this
  1245. }, i[o[0] + "With"] = a.fireWith
  1246. }), r.promise(i), e && e.call(i, i), i
  1247. },
  1248. when: function (e) {
  1249. var t, n, r, i = 0,
  1250. o = H.call(arguments),
  1251. a = o.length,
  1252. s = 1 !== a || e && X.isFunction(e.promise) ? a : 0,
  1253. u = 1 === s ? e : X.Deferred(),
  1254. c = function (e, n, r) {
  1255. return function (i) {
  1256. n[e] = this, r[e] = arguments.length > 1 ? H.call(arguments) : i, r === t ? u.notifyWith(n, r) : --s || u.resolveWith(n, r)
  1257. }
  1258. };
  1259. if (a > 1)
  1260. for (t = new Array(a), n = new Array(a), r = new Array(a); a > i; i++) o[i] && X.isFunction(o[i].promise) ? o[i].promise().done(c(i, r, o)).fail(u.reject).progress(c(i, n, t)) : --s;
  1261. return s || u.resolveWith(r, o), u.promise()
  1262. }
  1263. }), X.support = function () {
  1264. var t, n, r, i, o, a, s, u, c, l, p = j.createElement("div");
  1265. if (p.setAttribute("className", "t"), p.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", n = p.getElementsByTagName("*"), r = p.getElementsByTagName("a")[0], !n || !r || !n.length) return {};
  1266. o = j.createElement("select"), s = o.appendChild(j.createElement("option")), i = p.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = {
  1267. getSetAttribute: "t" !== p.className,
  1268. leadingWhitespace: 3 === p.firstChild.nodeType,
  1269. tbody: !p.getElementsByTagName("tbody").length,
  1270. htmlSerialize: !!p.getElementsByTagName("link").length,
  1271. style: /top/.test(r.getAttribute("style")),
  1272. hrefNormalized: "/a" === r.getAttribute("href"),
  1273. opacity: /^0.5/.test(r.style.opacity),
  1274. cssFloat: !!r.style.cssFloat,
  1275. checkOn: !!i.value,
  1276. optSelected: s.selected,
  1277. enctype: !!j.createElement("form").enctype,
  1278. html5Clone: "<:nav></:nav>" !== j.createElement("nav").cloneNode(!0).outerHTML,
  1279. boxModel: "CSS1Compat" === j.compatMode,
  1280. deleteExpando: !0,
  1281. noCloneEvent: !0,
  1282. inlineBlockNeedsLayout: !1,
  1283. shrinkWrapBlocks: !1,
  1284. reliableMarginRight: !0,
  1285. boxSizingReliable: !0,
  1286. pixelPosition: !1
  1287. }, i.checked = !0, t.noCloneChecked = i.cloneNode(!0).checked, o.disabled = !0, t.optDisabled = !s.disabled;
  1288. try {
  1289. delete p.test
  1290. } catch (d) {
  1291. t.deleteExpando = !1
  1292. }
  1293. i = j.createElement("input"), i.setAttribute("value", ""), t.input = "" === i.getAttribute("value"), i.value = "t", i.setAttribute("type", "radio"), t.radioValue = "t" === i.value, i.setAttribute("checked", "t"), i.setAttribute("name", "t"), a = j.createDocumentFragment(), a.appendChild(i), t.appendChecked = i.checked, t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, p.attachEvent && (p.attachEvent("onclick", function () {
  1294. t.noCloneEvent = !1
  1295. }), p.cloneNode(!0).click());
  1296. for (l in {
  1297. submit: !0,
  1298. change: !0,
  1299. focusin: !0
  1300. }) p.setAttribute(u = "on" + l, "t"), t[l + "Bubbles"] = u in e || p.attributes[u].expando === !1;
  1301. return p.style.backgroundClip = "content-box", p.cloneNode(!0).style.backgroundClip = "", t.clearCloneStyle = "content-box" === p.style.backgroundClip, X(function () {
  1302. var n, r, i, o = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
  1303. a = j.getElementsByTagName("body")[0];
  1304. a && (n = j.createElement("div"), n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", a.appendChild(n).appendChild(p), p.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", i = p.getElementsByTagName("td"), i[0].style.cssText = "padding:0;margin:0;border:0;display:none", c = 0 === i[0].offsetHeight, i[0].style.display = "", i[1].style.display = "none", t.reliableHiddenOffsets = c && 0 === i[0].offsetHeight, p.innerHTML = "", p.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = 4 === p.offsetWidth, t.doesNotIncludeMarginInBodyOffset = 1 !== a.offsetTop, e.getComputedStyle && (t.pixelPosition = "1%" !== (e.getComputedStyle(p, null) || {}).top, t.boxSizingReliable = "4px" === (e.getComputedStyle(p, null) || {
  1305. width: "4px"
  1306. }).width, r = p.appendChild(j.createElement("div")), r.style.cssText = p.style.cssText = o, r.style.marginRight = r.style.width = "0", p.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(r, null) || {}).marginRight)), typeof p.style.zoom !== A && (p.innerHTML = "", p.style.cssText = o + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = 3 === p.offsetWidth, p.style.display = "block", p.innerHTML = "<div></div>", p.firstChild.style.width = "5px", t.shrinkWrapBlocks = 3 !== p.offsetWidth, t.inlineBlockNeedsLayout && (a.style.zoom = 1)), a.removeChild(n), n = p = i = r = null)
  1307. }), n = o = a = s = r = i = null, t
  1308. }();
  1309. var oe = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
  1310. ae = /([A-Z])/g;
  1311. X.extend({
  1312. cache: {},
  1313. expando: "jQuery" + (P + Math.random()).replace(/\D/g, ""),
  1314. noData: {
  1315. embed: !0,
  1316. object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
  1317. applet: !0
  1318. },
  1319. hasData: function (e) {
  1320. return e = e.nodeType ? X.cache[e[X.expando]] : e[X.expando], !!e && !s(e)
  1321. },
  1322. data: function (e, t, n) {
  1323. return i(e, t, n)
  1324. },
  1325. removeData: function (e, t) {
  1326. return o(e, t)
  1327. },
  1328. _data: function (e, t, n) {
  1329. return i(e, t, n, !0)
  1330. },
  1331. _removeData: function (e, t) {
  1332. return o(e, t, !0)
  1333. },
  1334. acceptData: function (e) {
  1335. if (e.nodeType && 1 !== e.nodeType && 9 !== e.nodeType) return !1;
  1336. var t = e.nodeName && X.noData[e.nodeName.toLowerCase()];
  1337. return !t || t !== !0 && e.getAttribute("classid") === t
  1338. }
  1339. }), X.fn.extend({
  1340. data: function (e, n) {
  1341. var r, i, o = this[0],
  1342. s = 0,
  1343. u = null;
  1344. if (e === t) {
  1345. if (this.length && (u = X.data(o), 1 === o.nodeType && !X._data(o, "parsedAttrs"))) {
  1346. for (r = o.attributes; s < r.length; s++) i = r[s].name, i.indexOf("data-") || (i = X.camelCase(i.slice(5)), a(o, i, u[i]));
  1347. X._data(o, "parsedAttrs", !0)
  1348. }
  1349. return u
  1350. }
  1351. return "object" == typeof e ? this.each(function () {
  1352. X.data(this, e)
  1353. }) : X.access(this, function (n) {
  1354. return n === t ? o ? a(o, e, X.data(o, e)) : null : void this.each(function () {
  1355. X.data(this, e, n)
  1356. })
  1357. }, null, n, arguments.length > 1, null, !0)
  1358. },
  1359. removeData: function (e) {
  1360. return this.each(function () {
  1361. X.removeData(this, e)
  1362. })
  1363. }
  1364. }), X.extend({
  1365. queue: function (e, t, n) {
  1366. var r;
  1367. return e ? (t = (t || "fx") + "queue", r = X._data(e, t), n && (!r || X.isArray(n) ? r = X._data(e, t, X.makeArray(n)) : r.push(n)), r || []) : void 0
  1368. },
  1369. dequeue: function (e, t) {
  1370. t = t || "fx";
  1371. var n = X.queue(e, t),
  1372. r = n.length,
  1373. i = n.shift(),
  1374. o = X._queueHooks(e, t),
  1375. a = function () {
  1376. X.dequeue(e, t)
  1377. };
  1378. "inprogress" === i && (i = n.shift(), r--), o.cur = i, i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire()
  1379. },
  1380. _queueHooks: function (e, t) {
  1381. var n = t + "queueHooks";
  1382. return X._data(e, n) || X._data(e, n, {
  1383. empty: X.Callbacks("once memory").add(function () {
  1384. X._removeData(e, t + "queue"), X._removeData(e, n)
  1385. })
  1386. })
  1387. }
  1388. }), X.fn.extend({
  1389. queue: function (e, n) {
  1390. var r = 2;
  1391. return "string" != typeof e && (n = e, e = "fx", r--), arguments.length < r ? X.queue(this[0], e) : n === t ? this : this.each(function () {
  1392. var t = X.queue(this, e, n);
  1393. X._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && X.dequeue(this, e)
  1394. })
  1395. },
  1396. dequeue: function (e) {
  1397. return this.each(function () {
  1398. X.dequeue(this, e)
  1399. })
  1400. },
  1401. delay: function (e, t) {
  1402. return e = X.fx ? X.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, n) {
  1403. var r = setTimeout(t, e);
  1404. n.stop = function () {
  1405. clearTimeout(r)
  1406. }
  1407. })
  1408. },
  1409. clearQueue: function (e) {
  1410. return this.queue(e || "fx", [])
  1411. },
  1412. promise: function (e, n) {
  1413. var r, i = 1,
  1414. o = X.Deferred(),
  1415. a = this,
  1416. s = this.length,
  1417. u = function () {
  1418. --i || o.resolveWith(a, [a])
  1419. };
  1420. for ("string" != typeof e && (n = e, e = t), e = e || "fx"; s--;) r = X._data(a[s], e + "queueHooks"), r && r.empty && (i++, r.empty.add(u));
  1421. return u(), o.promise(n)
  1422. }
  1423. });
  1424. var se, ue, ce = /[\t\r\n]/g,
  1425. le = /\r/g,
  1426. pe = /^(?:input|select|textarea|button|object)$/i,
  1427. de = /^(?:a|area)$/i,
  1428. fe = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
  1429. he = /^(?:checked|selected)$/i,
  1430. me = X.support.getSetAttribute,
  1431. ge = X.support.input;
  1432. X.fn.extend({
  1433. attr: function (e, t) {
  1434. return X.access(this, X.attr, e, t, arguments.length > 1)
  1435. },
  1436. removeAttr: function (e) {
  1437. return this.each(function () {
  1438. X.removeAttr(this, e)
  1439. })
  1440. },
  1441. prop: function (e, t) {
  1442. return X.access(this, X.prop, e, t, arguments.length > 1)
  1443. },
  1444. removeProp: function (e) {
  1445. return e = X.propFix[e] || e, this.each(function () {
  1446. try {
  1447. this[e] = t, delete this[e]
  1448. } catch (n) {}
  1449. })
  1450. },
  1451. addClass: function (e) {
  1452. var t, n, r, i, o, a = 0,
  1453. s = this.length,
  1454. u = "string" == typeof e && e;
  1455. if (X.isFunction(e)) return this.each(function (t) {
  1456. X(this).addClass(e.call(this, t, this.className))
  1457. });
  1458. if (u)
  1459. for (t = (e || "").match(K) || []; s > a; a++)
  1460. if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ce, " ") : " ")) {
  1461. for (o = 0; i = t[o++];) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
  1462. n.className = X.trim(r)
  1463. } return this
  1464. },
  1465. removeClass: function (e) {
  1466. var t, n, r, i, o, a = 0,
  1467. s = this.length,
  1468. u = 0 === arguments.length || "string" == typeof e && e;
  1469. if (X.isFunction(e)) return this.each(function (t) {
  1470. X(this).removeClass(e.call(this, t, this.className))
  1471. });
  1472. if (u)
  1473. for (t = (e || "").match(K) || []; s > a; a++)
  1474. if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ce, " ") : "")) {
  1475. for (o = 0; i = t[o++];)
  1476. for (; r.indexOf(" " + i + " ") >= 0;) r = r.replace(" " + i + " ", " ");
  1477. n.className = e ? X.trim(r) : ""
  1478. } return this
  1479. },
  1480. toggleClass: function (e, t) {
  1481. var n = typeof e,
  1482. r = "boolean" == typeof t;
  1483. return X.isFunction(e) ? this.each(function (n) {
  1484. X(this).toggleClass(e.call(this, n, this.className, t), t)
  1485. }) : this.each(function () {
  1486. if ("string" === n)
  1487. for (var i, o = 0, a = X(this), s = t, u = e.match(K) || []; i = u[o++];) s = r ? s : !a.hasClass(i), a[s ? "addClass" : "removeClass"](i);
  1488. else(n === A || "boolean" === n) && (this.className && X._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : X._data(this, "__className__") || "")
  1489. })
  1490. },
  1491. hasClass: function (e) {
  1492. for (var t = " " + e + " ", n = 0, r = this.length; r > n; n++)
  1493. if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(ce, " ").indexOf(t) >= 0) return !0;
  1494. return !1
  1495. },
  1496. val: function (e) {
  1497. var n, r, i, o = this[0]; {
  1498. if (arguments.length) return i = X.isFunction(e), this.each(function (n) {
  1499. var o, a = X(this);
  1500. 1 === this.nodeType && (o = i ? e.call(this, n, a.val()) : e, null == o ? o = "" : "number" == typeof o ? o += "" : X.isArray(o) && (o = X.map(o, function (e) {
  1501. return null == e ? "" : e + ""
  1502. })), r = X.valHooks[this.type] || X.valHooks[this.nodeName.toLowerCase()], r && "set" in r && r.set(this, o, "value") !== t || (this.value = o))
  1503. });
  1504. if (o) return r = X.valHooks[o.type] || X.valHooks[o.nodeName.toLowerCase()], r && "get" in r && (n = r.get(o, "value")) !== t ? n : (n = o.value, "string" == typeof n ? n.replace(le, "") : null == n ? "" : n)
  1505. }
  1506. }
  1507. }), X.extend({
  1508. valHooks: {
  1509. option: {
  1510. get: function (e) {
  1511. var t = e.attributes.value;
  1512. return !t || t.specified ? e.value : e.text
  1513. }
  1514. },
  1515. select: {
  1516. get: function (e) {
  1517. for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || 0 > i, a = o ? null : [], s = o ? i + 1 : r.length, u = 0 > i ? s : o ? i : 0; s > u; u++)
  1518. if (n = r[u], (n.selected || u === i) && (X.support.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !X.nodeName(n.parentNode, "optgroup"))) {
  1519. if (t = X(n).val(), o) return t;
  1520. a.push(t)
  1521. } return a
  1522. },
  1523. set: function (e, t) {
  1524. var n = X.makeArray(t);
  1525. return X(e).find("option").each(function () {
  1526. this.selected = X.inArray(X(this).val(), n) >= 0
  1527. }), n.length || (e.selectedIndex = -1), n
  1528. }
  1529. }
  1530. },
  1531. attr: function (e, n, r) {
  1532. var i, o, a, s = e.nodeType;
  1533. if (e && 3 !== s && 8 !== s && 2 !== s) return typeof e.getAttribute === A ? X.prop(e, n, r) : (o = 1 !== s || !X.isXMLDoc(e), o && (n = n.toLowerCase(), i = X.attrHooks[n] || (fe.test(n) ? ue : se)), r === t ? i && o && "get" in i && null !== (a = i.get(e, n)) ? a : (typeof e.getAttribute !== A && (a = e.getAttribute(n)), null == a ? t : a) : null !== r ? i && o && "set" in i && (a = i.set(e, r, n)) !== t ? a : (e.setAttribute(n, r + ""), r) : void X.removeAttr(e, n))
  1534. },
  1535. removeAttr: function (e, t) {
  1536. var n, r, i = 0,
  1537. o = t && t.match(K);
  1538. if (o && 1 === e.nodeType)
  1539. for (; n = o[i++];) r = X.propFix[n] || n, fe.test(n) ? !me && he.test(n) ? e[X.camelCase("default-" + n)] = e[r] = !1 : e[r] = !1 : X.attr(e, n, ""), e.removeAttribute(me ? n : r)
  1540. },
  1541. attrHooks: {
  1542. type: {
  1543. set: function (e, t) {
  1544. if (!X.support.radioValue && "radio" === t && X.nodeName(e, "input")) {
  1545. var n = e.value;
  1546. return e.setAttribute("type", t), n && (e.value = n), t
  1547. }
  1548. }
  1549. }
  1550. },
  1551. propFix: {
  1552. tabindex: "tabIndex",
  1553. readonly: "readOnly",
  1554. "for": "htmlFor",
  1555. "class": "className",
  1556. maxlength: "maxLength",
  1557. cellspacing: "cellSpacing",
  1558. cellpadding: "cellPadding",
  1559. rowspan: "rowSpan",
  1560. colspan: "colSpan",
  1561. usemap: "useMap",
  1562. frameborder: "frameBorder",
  1563. contenteditable: "contentEditable"
  1564. },
  1565. prop: function (e, n, r) {
  1566. var i, o, a, s = e.nodeType;
  1567. if (e && 3 !== s && 8 !== s && 2 !== s) return a = 1 !== s || !X.isXMLDoc(e), a && (n = X.propFix[n] || n, o = X.propHooks[n]), r !== t ? o && "set" in o && (i = o.set(e, r, n)) !== t ? i : e[n] = r : o && "get" in o && null !== (i = o.get(e, n)) ? i : e[n]
  1568. },
  1569. propHooks: {
  1570. tabIndex: {
  1571. get: function (e) {
  1572. var n = e.getAttributeNode("tabindex");
  1573. return n && n.specified ? parseInt(n.value, 10) : pe.test(e.nodeName) || de.test(e.nodeName) && e.href ? 0 : t
  1574. }
  1575. }
  1576. }
  1577. }), ue = {
  1578. get: function (e, n) {
  1579. var r = X.prop(e, n),
  1580. i = "boolean" == typeof r && e.getAttribute(n),
  1581. o = "boolean" == typeof r ? ge && me ? null != i : he.test(n) ? e[X.camelCase("default-" + n)] : !!i : e.getAttributeNode(n);
  1582. return o && o.value !== !1 ? n.toLowerCase() : t
  1583. },
  1584. set: function (e, t, n) {
  1585. return t === !1 ? X.removeAttr(e, n) : ge && me || !he.test(n) ? e.setAttribute(!me && X.propFix[n] || n, n) : e[X.camelCase("default-" + n)] = e[n] = !0, n
  1586. }
  1587. }, ge && me || (X.attrHooks.value = {
  1588. get: function (e, n) {
  1589. var r = e.getAttributeNode(n);
  1590. return X.nodeName(e, "input") ? e.defaultValue : r && r.specified ? r.value : t
  1591. },
  1592. set: function (e, t, n) {
  1593. return X.nodeName(e, "input") ? void(e.defaultValue = t) : se && se.set(e, t, n)
  1594. }
  1595. }), me || (se = X.valHooks.button = {
  1596. get: function (e, n) {
  1597. var r = e.getAttributeNode(n);
  1598. return r && ("id" === n || "name" === n || "coords" === n ? "" !== r.value : r.specified) ? r.value : t
  1599. },
  1600. set: function (e, n, r) {
  1601. var i = e.getAttributeNode(r);
  1602. return i || e.setAttributeNode(i = e.ownerDocument.createAttribute(r)), i.value = n += "", "value" === r || n === e.getAttribute(r) ? n : t
  1603. }
  1604. }, X.attrHooks.contenteditable = {
  1605. get: se.get,
  1606. set: function (e, t, n) {
  1607. se.set(e, "" === t ? !1 : t, n)
  1608. }
  1609. }, X.each(["width", "height"], function (e, t) {
  1610. X.attrHooks[t] = X.extend(X.attrHooks[t], {
  1611. set: function (e, n) {
  1612. return "" === n ? (e.setAttribute(t, "auto"), n) : void 0
  1613. }
  1614. })
  1615. })), X.support.hrefNormalized || (X.each(["href", "src", "width", "height"], function (e, n) {
  1616. X.attrHooks[n] = X.extend(X.attrHooks[n], {
  1617. get: function (e) {
  1618. var r = e.getAttribute(n, 2);
  1619. return null == r ? t : r
  1620. }
  1621. })
  1622. }), X.each(["href", "src"], function (e, t) {
  1623. X.propHooks[t] = {
  1624. get: function (e) {
  1625. return e.getAttribute(t, 4)
  1626. }
  1627. }
  1628. })), X.support.style || (X.attrHooks.style = {
  1629. get: function (e) {
  1630. return e.style.cssText || t
  1631. },
  1632. set: function (e, t) {
  1633. return e.style.cssText = t + ""
  1634. }
  1635. }), X.support.optSelected || (X.propHooks.selected = X.extend(X.propHooks.selected, {
  1636. get: function (e) {
  1637. var t = e.parentNode;
  1638. return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
  1639. }
  1640. })), X.support.enctype || (X.propFix.enctype = "encoding"), X.support.checkOn || X.each(["radio", "checkbox"], function () {
  1641. X.valHooks[this] = {
  1642. get: function (e) {
  1643. return null === e.getAttribute("value") ? "on" : e.value
  1644. }
  1645. }
  1646. }), X.each(["radio", "checkbox"], function () {
  1647. X.valHooks[this] = X.extend(X.valHooks[this], {
  1648. set: function (e, t) {
  1649. return X.isArray(t) ? e.checked = X.inArray(X(e).val(), t) >= 0 : void 0
  1650. }
  1651. })
  1652. });
  1653. var ve = /^(?:input|select|textarea)$/i,
  1654. ye = /^key/,
  1655. be = /^(?:mouse|contextmenu)|click/,
  1656. xe = /^(?:focusinfocus|focusoutblur)$/,
  1657. Ee = /^([^.]*)(?:\.(.+)|)$/;
  1658. X.event = {
  1659. global: {},
  1660. add: function (e, n, r, i, o) {
  1661. var a, s, u, c, l, p, d, f, h, m, g, v = X._data(e);
  1662. if (v) {
  1663. for (r.handler && (c = r, r = c.handler, o = c.selector), r.guid || (r.guid = X.guid++), (s = v.events) || (s = v.events = {}), (p = v.handle) || (p = v.handle = function (e) {
  1664. return typeof X === A || e && X.event.triggered === e.type ? t : X.event.dispatch.apply(p.elem, arguments)
  1665. }, p.elem = e), n = (n || "").match(K) || [""], u = n.length; u--;) a = Ee.exec(n[u]) || [], h = g = a[1], m = (a[2] || "").split(".").sort(), l = X.event.special[h] || {}, h = (o ? l.delegateType : l.bindType) || h, l = X.event.special[h] || {}, d = X.extend({
  1666. type: h,
  1667. origType: g,
  1668. data: i,
  1669. handler: r,
  1670. guid: r.guid,
  1671. selector: o,
  1672. needsContext: o && X.expr.match.needsContext.test(o),
  1673. namespace: m.join(".")
  1674. }, c), (f = s[h]) || (f = s[h] = [], f.delegateCount = 0, l.setup && l.setup.call(e, i, m, p) !== !1 || (e.addEventListener ? e.addEventListener(h, p, !1) : e.attachEvent && e.attachEvent("on" + h, p))), l.add && (l.add.call(e, d), d.handler.guid || (d.handler.guid = r.guid)), o ? f.splice(f.delegateCount++, 0, d) : f.push(d), X.event.global[h] = !0;
  1675. e = null
  1676. }
  1677. },
  1678. remove: function (e, t, n, r, i) {
  1679. var o, a, s, u, c, l, p, d, f, h, m, g = X.hasData(e) && X._data(e);
  1680. if (g && (l = g.events)) {
  1681. for (t = (t || "").match(K) || [""], c = t.length; c--;)
  1682. if (s = Ee.exec(t[c]) || [], f = m = s[1], h = (s[2] || "").split(".").sort(), f) {
  1683. for (p = X.event.special[f] || {}, f = (r ? p.delegateType : p.bindType) || f, d = l[f] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), u = o = d.length; o--;) a = d[o], !i && m !== a.origType || n && n.guid !== a.guid || s && !s.test(a.namespace) || r && r !== a.selector && ("**" !== r || !a.selector) || (d.splice(o, 1), a.selector && d.delegateCount--, p.remove && p.remove.call(e, a));
  1684. u && !d.length && (p.teardown && p.teardown.call(e, h, g.handle) !== !1 || X.removeEvent(e, f, g.handle), delete l[f])
  1685. } else
  1686. for (f in l) X.event.remove(e, f + t[c], n, r, !0);
  1687. X.isEmptyObject(l) && (delete g.handle, X._removeData(e, "events"))
  1688. }
  1689. },
  1690. trigger: function (n, r, i, o) {
  1691. var a, s, u, c, l, p, d, f = [i || j],
  1692. h = $.call(n, "type") ? n.type : n,
  1693. m = $.call(n, "namespace") ? n.namespace.split(".") : [];
  1694. if (u = p = i = i || j, 3 !== i.nodeType && 8 !== i.nodeType && !xe.test(h + X.event.triggered) && (h.indexOf(".") >= 0 && (m = h.split("."), h = m.shift(), m.sort()), s = h.indexOf(":") < 0 && "on" + h, n = n[X.expando] ? n : new X.Event(h, "object" == typeof n && n), n.isTrigger = !0, n.namespace = m.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, n.result = t, n.target || (n.target = i), r = null == r ? [n] : X.makeArray(r, [n]), l = X.event.special[h] || {}, o || !l.trigger || l.trigger.apply(i, r) !== !1)) {
  1695. if (!o && !l.noBubble && !X.isWindow(i)) {
  1696. for (c = l.delegateType || h, xe.test(c + h) || (u = u.parentNode); u; u = u.parentNode) f.push(u), p = u;
  1697. p === (i.ownerDocument || j) && f.push(p.defaultView || p.parentWindow || e)
  1698. }
  1699. for (d = 0;
  1700. (u = f[d++]) && !n.isPropagationStopped();) n.type = d > 1 ? c : l.bindType || h, a = (X._data(u, "events") || {})[n.type] && X._data(u, "handle"), a && a.apply(u, r), a = s && u[s], a && X.acceptData(u) && a.apply && a.apply(u, r) === !1 && n.preventDefault();
  1701. if (n.type = h, !o && !n.isDefaultPrevented() && (!l._default || l._default.apply(i.ownerDocument, r) === !1) && ("click" !== h || !X.nodeName(i, "a")) && X.acceptData(i) && s && i[h] && !X.isWindow(i)) {
  1702. p = i[s], p && (i[s] = null), X.event.triggered = h;
  1703. try {
  1704. i[h]()
  1705. } catch (g) {}
  1706. X.event.triggered = t, p && (i[s] = p)
  1707. }
  1708. return n.result
  1709. }
  1710. },
  1711. dispatch: function (e) {
  1712. e = X.event.fix(e);
  1713. var n, r, i, o, a, s = [],
  1714. u = H.call(arguments),
  1715. c = (X._data(this, "events") || {})[e.type] || [],
  1716. l = X.event.special[e.type] || {};
  1717. if (u[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
  1718. for (s = X.event.handlers.call(this, e, c), n = 0;
  1719. (o = s[n++]) && !e.isPropagationStopped();)
  1720. for (e.currentTarget = o.elem, a = 0;
  1721. (i = o.handlers[a++]) && !e.isImmediatePropagationStopped();)(!e.namespace_re || e.namespace_re.test(i.namespace)) && (e.handleObj = i, e.data = i.data, r = ((X.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, u), r !== t && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
  1722. return l.postDispatch && l.postDispatch.call(this, e), e.result
  1723. }
  1724. },
  1725. handlers: function (e, n) {
  1726. var r, i, o, a, s = [],
  1727. u = n.delegateCount,
  1728. c = e.target;
  1729. if (u && c.nodeType && (!e.button || "click" !== e.type))
  1730. for (; c != this; c = c.parentNode || this)
  1731. if (1 === c.nodeType && (c.disabled !== !0 || "click" !== e.type)) {
  1732. for (o = [], a = 0; u > a; a++) i = n[a], r = i.selector + " ", o[r] === t && (o[r] = i.needsContext ? X(r, this).index(c) >= 0 : X.find(r, this, null, [c]).length), o[r] && o.push(i);
  1733. o.length && s.push({
  1734. elem: c,
  1735. handlers: o
  1736. })
  1737. } return u < n.length && s.push({
  1738. elem: this,
  1739. handlers: n.slice(u)
  1740. }), s
  1741. },
  1742. fix: function (e) {
  1743. if (e[X.expando]) return e;
  1744. var t, n, r, i = e.type,
  1745. o = e,
  1746. a = this.fixHooks[i];
  1747. for (a || (this.fixHooks[i] = a = be.test(i) ? this.mouseHooks : ye.test(i) ? this.keyHooks : {}), r = a.props ? this.props.concat(a.props) : this.props, e = new X.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n];
  1748. return e.target || (e.target = o.srcElement || j), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, a.filter ? a.filter(e, o) : e
  1749. },
  1750. props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
  1751. fixHooks: {},
  1752. keyHooks: {
  1753. props: "char charCode key keyCode".split(" "),
  1754. filter: function (e, t) {
  1755. return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
  1756. }
  1757. },
  1758. mouseHooks: {
  1759. props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
  1760. filter: function (e, n) {
  1761. var r, i, o, a = n.button,
  1762. s = n.fromElement;
  1763. return null == e.pageX && null != n.clientX && (i = e.target.ownerDocument || j, o = i.documentElement, r = i.body, e.pageX = n.clientX + (o && o.scrollLeft || r && r.scrollLeft || 0) - (o && o.clientLeft || r && r.clientLeft || 0), e.pageY = n.clientY + (o && o.scrollTop || r && r.scrollTop || 0) - (o && o.clientTop || r && r.clientTop || 0)), !e.relatedTarget && s && (e.relatedTarget = s === e.target ? n.toElement : s), e.which || a === t || (e.which = 1 & a ? 1 : 2 & a ? 3 : 4 & a ? 2 : 0), e
  1764. }
  1765. },
  1766. special: {
  1767. load: {
  1768. noBubble: !0
  1769. },
  1770. click: {
  1771. trigger: function () {
  1772. return X.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0
  1773. }
  1774. },
  1775. focus: {
  1776. trigger: function () {
  1777. if (this !== j.activeElement && this.focus) try {
  1778. return this.focus(), !1
  1779. } catch (e) {}
  1780. },
  1781. delegateType: "focusin"
  1782. },
  1783. blur: {
  1784. trigger: function () {
  1785. return this === j.activeElement && this.blur ? (this.blur(), !1) : void 0
  1786. },
  1787. delegateType: "focusout"
  1788. },
  1789. beforeunload: {
  1790. postDispatch: function (e) {
  1791. e.result !== t && (e.originalEvent.returnValue = e.result)
  1792. }
  1793. }
  1794. },
  1795. simulate: function (e, t, n, r) {
  1796. var i = X.extend(new X.Event, n, {
  1797. type: e,
  1798. isSimulated: !0,
  1799. originalEvent: {}
  1800. });
  1801. r ? X.event.trigger(i, null, t) : X.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault()
  1802. }
  1803. }, X.removeEvent = j.removeEventListener ? function (e, t, n) {
  1804. e.removeEventListener && e.removeEventListener(t, n, !1)
  1805. } : function (e, t, n) {
  1806. var r = "on" + t;
  1807. e.detachEvent && (typeof e[r] === A && (e[r] = null), e.detachEvent(r, n))
  1808. }, X.Event = function (e, t) {
  1809. return this instanceof X.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? u : c) : this.type = e, t && X.extend(this, t), this.timeStamp = e && e.timeStamp || X.now(), void(this[X.expando] = !0)) : new X.Event(e, t)
  1810. }, X.Event.prototype = {
  1811. isDefaultPrevented: c,
  1812. isPropagationStopped: c,
  1813. isImmediatePropagationStopped: c,
  1814. preventDefault: function () {
  1815. var e = this.originalEvent;
  1816. this.isDefaultPrevented = u, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
  1817. },
  1818. stopPropagation: function () {
  1819. var e = this.originalEvent;
  1820. this.isPropagationStopped = u, e && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0)
  1821. },
  1822. stopImmediatePropagation: function () {
  1823. this.isImmediatePropagationStopped = u, this.stopPropagation()
  1824. }
  1825. }, X.each({
  1826. mouseenter: "mouseover",
  1827. mouseleave: "mouseout"
  1828. }, function (e, t) {
  1829. X.event.special[e] = {
  1830. delegateType: t,
  1831. bindType: t,
  1832. handle: function (e) {
  1833. var n, r = this,
  1834. i = e.relatedTarget,
  1835. o = e.handleObj;
  1836. return (!i || i !== r && !X.contains(r, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
  1837. }
  1838. }
  1839. }), X.support.submitBubbles || (X.event.special.submit = {
  1840. setup: function () {
  1841. return X.nodeName(this, "form") ? !1 : void X.event.add(this, "click._submit keypress._submit", function (e) {
  1842. var n = e.target,
  1843. r = X.nodeName(n, "input") || X.nodeName(n, "button") ? n.form : t;
  1844. r && !X._data(r, "submitBubbles") && (X.event.add(r, "submit._submit", function (e) {
  1845. e._submit_bubble = !0
  1846. }), X._data(r, "submitBubbles", !0))
  1847. })
  1848. },
  1849. postDispatch: function (e) {
  1850. e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && X.event.simulate("submit", this.parentNode, e, !0))
  1851. },
  1852. teardown: function () {
  1853. return X.nodeName(this, "form") ? !1 : void X.event.remove(this, "._submit")
  1854. }
  1855. }), X.support.changeBubbles || (X.event.special.change = {
  1856. setup: function () {
  1857. return ve.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (X.event.add(this, "propertychange._change", function (e) {
  1858. "checked" === e.originalEvent.propertyName && (this._just_changed = !0)
  1859. }), X.event.add(this, "click._change", function (e) {
  1860. this._just_changed && !e.isTrigger && (this._just_changed = !1), X.event.simulate("change", this, e, !0)
  1861. })), !1) : void X.event.add(this, "beforeactivate._change", function (e) {
  1862. var t = e.target;
  1863. ve.test(t.nodeName) && !X._data(t, "changeBubbles") && (X.event.add(t, "change._change", function (e) {
  1864. !this.parentNode || e.isSimulated || e.isTrigger || X.event.simulate("change", this.parentNode, e, !0)
  1865. }), X._data(t, "changeBubbles", !0))
  1866. })
  1867. },
  1868. handle: function (e) {
  1869. var t = e.target;
  1870. return this !== t || e.isSimulated || e.isTrigger || "radio" !== t.type && "checkbox" !== t.type ? e.handleObj.handler.apply(this, arguments) : void 0
  1871. },
  1872. teardown: function () {
  1873. return X.event.remove(this, "._change"), !ve.test(this.nodeName)
  1874. }
  1875. }), X.support.focusinBubbles || X.each({
  1876. focus: "focusin",
  1877. blur: "focusout"
  1878. }, function (e, t) {
  1879. var n = 0,
  1880. r = function (e) {
  1881. X.event.simulate(t, e.target, X.event.fix(e), !0)
  1882. };
  1883. X.event.special[t] = {
  1884. setup: function () {
  1885. 0 === n++ && j.addEventListener(e, r, !0)
  1886. },
  1887. teardown: function () {
  1888. 0 === --n && j.removeEventListener(e, r, !0)
  1889. }
  1890. }
  1891. }), X.fn.extend({
  1892. on: function (e, n, r, i, o) {
  1893. var a, s;
  1894. if ("object" == typeof e) {
  1895. "string" != typeof n && (r = r || n, n = t);
  1896. for (a in e) this.on(a, n, r, e[a], o);
  1897. return this
  1898. }
  1899. if (null == r && null == i ? (i = n, r = n = t) : null == i && ("string" == typeof n ? (i = r, r = t) : (i = r, r = n, n = t)), i === !1) i = c;
  1900. else if (!i) return this;
  1901. return 1 === o && (s = i, i = function (e) {
  1902. return X().off(e), s.apply(this, arguments)
  1903. }, i.guid = s.guid || (s.guid = X.guid++)), this.each(function () {
  1904. X.event.add(this, e, i, r, n)
  1905. })
  1906. },
  1907. one: function (e, t, n, r) {
  1908. return this.on(e, t, n, r, 1)
  1909. },
  1910. off: function (e, n, r) {
  1911. var i, o;
  1912. if (e && e.preventDefault && e.handleObj) return i = e.handleObj, X(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
  1913. if ("object" == typeof e) {
  1914. for (o in e) this.off(o, n, e[o]);
  1915. return this
  1916. }
  1917. return (n === !1 || "function" == typeof n) && (r = n, n = t), r === !1 && (r = c), this.each(function () {
  1918. X.event.remove(this, e, r, n)
  1919. })
  1920. },
  1921. bind: function (e, t, n) {
  1922. return this.on(e, null, t, n)
  1923. },
  1924. unbind: function (e, t) {
  1925. return this.off(e, null, t)
  1926. },
  1927. delegate: function (e, t, n, r) {
  1928. return this.on(t, e, n, r)
  1929. },
  1930. undelegate: function (e, t, n) {
  1931. return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
  1932. },
  1933. trigger: function (e, t) {
  1934. return this.each(function () {
  1935. X.event.trigger(e, t, this)
  1936. })
  1937. },
  1938. triggerHandler: function (e, t) {
  1939. var n = this[0];
  1940. return n ? X.event.trigger(e, t, n, !0) : void 0
  1941. }
  1942. }),
  1943. function (e, t) {
  1944. function n(e, t, n, r) {
  1945. var i, o, a, s, u, c, l, p, d, f;
  1946. if ((t ? t.ownerDocument || t : K) !== P && O(t), t = t || P, n = n || [], !e || "string" != typeof e) return n;
  1947. if (1 !== (s = t.nodeType) && 9 !== s) return [];
  1948. if (B && !r) {
  1949. if (i = Ce.exec(e))
  1950. if (a = i[1]) {
  1951. if (9 === s) {
  1952. if (o = t.getElementById(a), !o || !o.parentNode) return n;
  1953. if (o.id === a) return n.push(o), n
  1954. } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(a)) && $(t, o) && o.id === a) return n.push(o), n
  1955. } else {
  1956. if (i[2]) return oe.apply(n, t.getElementsByTagName(e)), n;
  1957. if ((a = i[3]) && N.getElementsByClassName && t.getElementsByClassName) return oe.apply(n, t.getElementsByClassName(a)), n
  1958. } if (N.qsa && (!H || !H.test(e))) {
  1959. if (p = l = W, d = t, f = 9 === s && e, 1 === s && "object" !== t.nodeName.toLowerCase()) {
  1960. for (c = m(e), (l = t.getAttribute("id")) ? p = l.replace(Se, "\\$&") : t.setAttribute("id", p), p = "[id='" + p + "'] ", u = c.length; u--;) c[u] = p + g(c[u]);
  1961. d = ve.test(e) && t.parentNode || t, f = c.join(",")
  1962. }
  1963. if (f) try {
  1964. return oe.apply(n, d.querySelectorAll(f)), n
  1965. } catch (h) {} finally {
  1966. l || t.removeAttribute("id")
  1967. }
  1968. }
  1969. }
  1970. return T(e.replace(he, "$1"), t, n, r)
  1971. }
  1972.  
  1973. function r(e) {
  1974. return we.test(e + "")
  1975. }
  1976.  
  1977. function i() {
  1978. function e(n, r) {
  1979. return t.push(n += " ") > L.cacheLength && delete e[t.shift()], e[n] = r
  1980. }
  1981. var t = [];
  1982. return e
  1983. }
  1984.  
  1985. function o(e) {
  1986. return e[W] = !0, e
  1987. }
  1988.  
  1989. function a(e) {
  1990. var t = P.createElement("div");
  1991. try {
  1992. return !!e(t)
  1993. } catch (n) {
  1994. return !1
  1995. } finally {
  1996. t.parentNode && t.parentNode.removeChild(t), t = null
  1997. }
  1998. }
  1999.  
  2000. function s(e, t, n) {
  2001. e = e.split("|");
  2002. for (var r, i = e.length, o = n ? null : t; i--;)(r = L.attrHandle[e[i]]) && r !== t || (L.attrHandle[e[i]] = o)
  2003. }
  2004.  
  2005. function u(e, t) {
  2006. var n = e.getAttributeNode(t);
  2007. return n && n.specified ? n.value : e[t] === !0 ? t.toLowerCase() : null
  2008. }
  2009.  
  2010. function c(e, t) {
  2011. return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
  2012. }
  2013.  
  2014. function l(e) {
  2015. return "input" === e.nodeName.toLowerCase() ? e.defaultValue : void 0
  2016. }
  2017.  
  2018. function p(e, t) {
  2019. var n = t && e,
  2020. r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || ee) - (~e.sourceIndex || ee);
  2021. if (r) return r;
  2022. if (n)
  2023. for (; n = n.nextSibling;)
  2024. if (n === t) return -1;
  2025. return e ? 1 : -1
  2026. }
  2027.  
  2028. function d(e) {
  2029. return function (t) {
  2030. var n = t.nodeName.toLowerCase();
  2031. return "input" === n && t.type === e
  2032. }
  2033. }
  2034.  
  2035. function f(e) {
  2036. return function (t) {
  2037. var n = t.nodeName.toLowerCase();
  2038. return ("input" === n || "button" === n) && t.type === e
  2039. }
  2040. }
  2041.  
  2042. function h(e) {
  2043. return o(function (t) {
  2044. return t = +t, o(function (n, r) {
  2045. for (var i, o = e([], n.length, t), a = o.length; a--;) n[i = o[a]] && (n[i] = !(r[i] = n[i]))
  2046. })
  2047. })
  2048. }
  2049.  
  2050. function m(e, t) {
  2051. var r, i, o, a, s, u, c, l = J[e + " "];
  2052. if (l) return t ? 0 : l.slice(0);
  2053. for (s = e, u = [], c = L.preFilter; s;) {
  2054. (!r || (i = me.exec(s))) && (i && (s = s.slice(i[0].length) || s), u.push(o = [])), r = !1, (i = ge.exec(s)) && (r = i.shift(), o.push({
  2055. value: r,
  2056. type: i[0].replace(he, " ")
  2057. }), s = s.slice(r.length));
  2058. for (a in L.filter) !(i = Ee[a].exec(s)) || c[a] && !(i = c[a](i)) || (r = i.shift(), o.push({
  2059. value: r,
  2060. type: a,
  2061. matches: i
  2062. }), s = s.slice(r.length));
  2063. if (!r) break
  2064. }
  2065. return t ? s.length : s ? n.error(e) : J(e, u).slice(0)
  2066. }
  2067.  
  2068. function g(e) {
  2069. for (var t = 0, n = e.length, r = ""; n > t; t++) r += e[t].value;
  2070. return r
  2071. }
  2072.  
  2073. function v(e, t, n) {
  2074. var r = t.dir,
  2075. i = n && "parentNode" === r,
  2076. o = U++;
  2077. return t.first ? function (t, n, o) {
  2078. for (; t = t[r];)
  2079. if (1 === t.nodeType || i) return e(t, n, o)
  2080. } : function (t, n, a) {
  2081. var s, u, c, l = z + " " + o;
  2082. if (a) {
  2083. for (; t = t[r];)
  2084. if ((1 === t.nodeType || i) && e(t, n, a)) return !0
  2085. } else
  2086. for (; t = t[r];)
  2087. if (1 === t.nodeType || i)
  2088. if (c = t[W] || (t[W] = {}), (u = c[r]) && u[0] === l) {
  2089. if ((s = u[1]) === !0 || s === M) return s === !0
  2090. } else if (u = c[r] = [l], u[1] = e(t, n, a) || M, u[1] === !0) return !0
  2091. }
  2092. }
  2093.  
  2094. function y(e) {
  2095. return e.length > 1 ? function (t, n, r) {
  2096. for (var i = e.length; i--;)
  2097. if (!e[i](t, n, r)) return !1;
  2098. return !0
  2099. } : e[0]
  2100. }
  2101.  
  2102. function b(e, t, n, r, i) {
  2103. for (var o, a = [], s = 0, u = e.length, c = null != t; u > s; s++)(o = e[s]) && (!n || n(o, r, i)) && (a.push(o), c && t.push(s));
  2104. return a
  2105. }
  2106.  
  2107. function x(e, t, n, r, i, a) {
  2108. return r && !r[W] && (r = x(r)), i && !i[W] && (i = x(i, a)), o(function (o, a, s, u) {
  2109. var c, l, p, d = [],
  2110. f = [],
  2111. h = a.length,
  2112. m = o || C(t || "*", s.nodeType ? [s] : s, []),
  2113. g = !e || !o && t ? m : b(m, d, e, s, u),
  2114. v = n ? i || (o ? e : h || r) ? [] : a : g;
  2115. if (n && n(g, v, s, u), r)
  2116. for (c = b(v, f), r(c, [], s, u), l = c.length; l--;)(p = c[l]) && (v[f[l]] = !(g[f[l]] = p));
  2117. if (o) {
  2118. if (i || e) {
  2119. if (i) {
  2120. for (c = [], l = v.length; l--;)(p = v[l]) && c.push(g[l] = p);
  2121. i(null, v = [], c, u)
  2122. }
  2123. for (l = v.length; l--;)(p = v[l]) && (c = i ? se.call(o, p) : d[l]) > -1 && (o[c] = !(a[c] = p))
  2124. }
  2125. } else v = b(v === a ? v.splice(h, v.length) : v), i ? i(null, a, v, u) : oe.apply(a, v)
  2126. })
  2127. }
  2128.  
  2129. function E(e) {
  2130. for (var t, n, r, i = e.length, o = L.relative[e[0].type], a = o || L.relative[" "], s = o ? 1 : 0, u = v(function (e) {
  2131. return e === t
  2132. }, a, !0), c = v(function (e) {
  2133. return se.call(t, e) > -1
  2134. }, a, !0), l = [function (e, n, r) {
  2135. return !o && (r || n !== q) || ((t = n).nodeType ? u(e, n, r) : c(e, n, r))
  2136. }]; i > s; s++)
  2137. if (n = L.relative[e[s].type]) l = [v(y(l), n)];
  2138. else {
  2139. if (n = L.filter[e[s].type].apply(null, e[s].matches), n[W]) {
  2140. for (r = ++s; i > r && !L.relative[e[r].type]; r++);
  2141. return x(s > 1 && y(l), s > 1 && g(e.slice(0, s - 1).concat({
  2142. value: " " === e[s - 2].type ? "*" : ""
  2143. })).replace(he, "$1"), n, r > s && E(e.slice(s, r)), i > r && E(e = e.slice(r)), i > r && g(e))
  2144. }
  2145. l.push(n)
  2146. } return y(l)
  2147. }
  2148.  
  2149. function w(e, t) {
  2150. var r = 0,
  2151. i = t.length > 0,
  2152. a = e.length > 0,
  2153. s = function (o, s, u, c, l) {
  2154. var p, d, f, h = [],
  2155. m = 0,
  2156. g = "0",
  2157. v = o && [],
  2158. y = null != l,
  2159. x = q,
  2160. E = o || a && L.find.TAG("*", l && s.parentNode || s),
  2161. w = z += null == x ? 1 : Math.random() || .1;
  2162. for (y && (q = s !== P && s, M = r); null != (p = E[g]); g++) {
  2163. if (a && p) {
  2164. for (d = 0; f = e[d++];)
  2165. if (f(p, s, u)) {
  2166. c.push(p);
  2167. break
  2168. } y && (z = w, M = ++r)
  2169. }
  2170. i && ((p = !f && p) && m--, o && v.push(p))
  2171. }
  2172. if (m += g, i && g !== m) {
  2173. for (d = 0; f = t[d++];) f(v, h, s, u);
  2174. if (o) {
  2175. if (m > 0)
  2176. for (; g--;) v[g] || h[g] || (h[g] = re.call(c));
  2177. h = b(h)
  2178. }
  2179. oe.apply(c, h), y && !o && h.length > 0 && m + t.length > 1 && n.uniqueSort(c)
  2180. }
  2181. return y && (z = w, q = x), v
  2182. };
  2183. return i ? o(s) : s
  2184. }
  2185.  
  2186. function C(e, t, r) {
  2187. for (var i = 0, o = t.length; o > i; i++) n(e, t[i], r);
  2188. return r
  2189. }
  2190.  
  2191. function T(e, t, n, r) {
  2192. var i, o, a, s, u, c = m(e);
  2193. if (!r && 1 === c.length) {
  2194. if (o = c[0] = c[0].slice(0), o.length > 2 && "ID" === (a = o[0]).type && N.getById && 9 === t.nodeType && B && L.relative[o[1].type]) {
  2195. if (t = (L.find.ID(a.matches[0].replace(Ne, Me), t) || [])[0], !t) return n;
  2196. e = e.slice(o.shift().value.length)
  2197. }
  2198. for (i = Ee.needsContext.test(e) ? 0 : o.length; i-- && (a = o[i], !L.relative[s = a.type]);)
  2199. if ((u = L.find[s]) && (r = u(a.matches[0].replace(Ne, Me), ve.test(o[0].type) && t.parentNode || t))) {
  2200. if (o.splice(i, 1), e = r.length && g(o), !e) return oe.apply(n, r), n;
  2201. break
  2202. }
  2203. }
  2204. return j(e, c)(r, t, !B, n, ve.test(e)), n
  2205. }
  2206.  
  2207. function k() {}
  2208. var S, N, M, L, D, A, j, q, _, O, P, R, B, H, F, I, $, W = "sizzle" + -new Date,
  2209. K = e.document,
  2210. z = 0,
  2211. U = 0,
  2212. Y = i(),
  2213. J = i(),
  2214. V = i(),
  2215. G = !1,
  2216. Q = function () {
  2217. return 0
  2218. },
  2219. Z = typeof t,
  2220. ee = 1 << 31,
  2221. te = {}.hasOwnProperty,
  2222. ne = [],
  2223. re = ne.pop,
  2224. ie = ne.push,
  2225. oe = ne.push,
  2226. ae = ne.slice,
  2227. se = ne.indexOf || function (e) {
  2228. for (var t = 0, n = this.length; n > t; t++)
  2229. if (this[t] === e) return t;
  2230. return -1
  2231. },
  2232. ue = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
  2233. ce = "[\\x20\\t\\r\\n\\f]",
  2234. le = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
  2235. pe = le.replace("w", "w#"),
  2236. de = "\\[" + ce + "*(" + le + ")" + ce + "*(?:([*^$|!~]?=)" + ce + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + pe + ")|)|)" + ce + "*\\]",
  2237. fe = ":(" + le + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + de.replace(3, 8) + ")*)|.*)\\)|)",
  2238. he = new RegExp("^" + ce + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ce + "+$", "g"),
  2239. me = new RegExp("^" + ce + "*," + ce + "*"),
  2240. ge = new RegExp("^" + ce + "*([>+~]|" + ce + ")" + ce + "*"),
  2241. ve = new RegExp(ce + "*[+~]"),
  2242. ye = new RegExp("=" + ce + "*([^\\]'\"]*)" + ce + "*\\]", "g"),
  2243. be = new RegExp(fe),
  2244. xe = new RegExp("^" + pe + "$"),
  2245. Ee = {
  2246. ID: new RegExp("^#(" + le + ")"),
  2247. CLASS: new RegExp("^\\.(" + le + ")"),
  2248. TAG: new RegExp("^(" + le.replace("w", "w*") + ")"),
  2249. ATTR: new RegExp("^" + de),
  2250. PSEUDO: new RegExp("^" + fe),
  2251. CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ce + "*(even|odd|(([+-]|)(\\d*)n|)" + ce + "*(?:([+-]|)" + ce + "*(\\d+)|))" + ce + "*\\)|)", "i"),
  2252. bool: new RegExp("^(?:" + ue + ")$", "i"),
  2253. needsContext: new RegExp("^" + ce + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ce + "*((?:-\\d)?\\d*)" + ce + "*\\)|)(?=[^-]|$)", "i")
  2254. },
  2255. we = /^[^{]+\{\s*\[native \w/,
  2256. Ce = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
  2257. Te = /^(?:input|select|textarea|button)$/i,
  2258. ke = /^h\d$/i,
  2259. Se = /'|\\/g,
  2260. Ne = new RegExp("\\\\([\\da-f]{1,6}" + ce + "?|(" + ce + ")|.)", "ig"),
  2261. Me = function (e, t, n) {
  2262. var r = "0x" + t - 65536;
  2263. return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
  2264. };
  2265. try {
  2266. oe.apply(ne = ae.call(K.childNodes), K.childNodes), ne[K.childNodes.length].nodeType
  2267. } catch (Le) {
  2268. oe = {
  2269. apply: ne.length ? function (e, t) {
  2270. ie.apply(e, ae.call(t))
  2271. } : function (e, t) {
  2272. for (var n = e.length, r = 0; e[n++] = t[r++];);
  2273. e.length = n - 1
  2274. }
  2275. }
  2276. }
  2277. A = n.isXML = function (e) {
  2278. var t = e && (e.ownerDocument || e).documentElement;
  2279. return t ? "HTML" !== t.nodeName : !1
  2280. }, N = n.support = {}, O = n.setDocument = function (e) {
  2281. var t = e ? e.ownerDocument || e : K;
  2282. return t !== P && 9 === t.nodeType && t.documentElement ? (P = t, R = t.documentElement, B = !A(t), N.attributes = a(function (e) {
  2283. return e.innerHTML = "<a href='#'></a>", s("type|href|height|width", c, "#" === e.firstChild.getAttribute("href")), s(ue, u, null == e.getAttribute("disabled")), e.className = "i", !e.getAttribute("className")
  2284. }),
  2285. N.input = a(function (e) {
  2286. return e.innerHTML = "<input>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
  2287. }), s("value", l, N.attributes && N.input), N.getElementsByTagName = a(function (e) {
  2288. return e.appendChild(t.createComment("")), !e.getElementsByTagName("*").length
  2289. }), N.getElementsByClassName = a(function (e) {
  2290. return e.innerHTML = "<div class='a'></div><div class='a i'></div>", e.firstChild.className = "i", 2 === e.getElementsByClassName("i").length
  2291. }), N.getById = a(function (e) {
  2292. return R.appendChild(e).id = W, !t.getElementsByName || !t.getElementsByName(W).length
  2293. }), N.getById ? (L.find.ID = function (e, t) {
  2294. if (typeof t.getElementById !== Z && B) {
  2295. var n = t.getElementById(e);
  2296. return n && n.parentNode ? [n] : []
  2297. }
  2298. }, L.filter.ID = function (e) {
  2299. var t = e.replace(Ne, Me);
  2300. return function (e) {
  2301. return e.getAttribute("id") === t
  2302. }
  2303. }) : (delete L.find.ID, L.filter.ID = function (e) {
  2304. var t = e.replace(Ne, Me);
  2305. return function (e) {
  2306. var n = typeof e.getAttributeNode !== Z && e.getAttributeNode("id");
  2307. return n && n.value === t
  2308. }
  2309. }), L.find.TAG = N.getElementsByTagName ? function (e, t) {
  2310. return typeof t.getElementsByTagName !== Z ? t.getElementsByTagName(e) : void 0
  2311. } : function (e, t) {
  2312. var n, r = [],
  2313. i = 0,
  2314. o = t.getElementsByTagName(e);
  2315. if ("*" === e) {
  2316. for (; n = o[i++];) 1 === n.nodeType && r.push(n);
  2317. return r
  2318. }
  2319. return o
  2320. }, L.find.CLASS = N.getElementsByClassName && function (e, t) {
  2321. return typeof t.getElementsByClassName !== Z && B ? t.getElementsByClassName(e) : void 0
  2322. }, F = [], H = [], (N.qsa = r(t.querySelectorAll)) && (a(function (e) {
  2323. e.innerHTML = "<select><option selected=''></option></select>", e.querySelectorAll("[selected]").length || H.push("\\[" + ce + "*(?:value|" + ue + ")"), e.querySelectorAll(":checked").length || H.push(":checked")
  2324. }), a(function (e) {
  2325. var n = t.createElement("input");
  2326. n.setAttribute("type", "hidden"), e.appendChild(n).setAttribute("t", ""), e.querySelectorAll("[t^='']").length && H.push("[*^$]=" + ce + "*(?:''|\"\")"), e.querySelectorAll(":enabled").length || H.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), H.push(",.*:")
  2327. })), (N.matchesSelector = r(I = R.webkitMatchesSelector || R.mozMatchesSelector || R.oMatchesSelector || R.msMatchesSelector)) && a(function (e) {
  2328. N.disconnectedMatch = I.call(e, "div"), I.call(e, "[s!='']:x"), F.push("!=", fe)
  2329. }), H = H.length && new RegExp(H.join("|")), F = F.length && new RegExp(F.join("|")), $ = r(R.contains) || R.compareDocumentPosition ? function (e, t) {
  2330. var n = 9 === e.nodeType ? e.documentElement : e,
  2331. r = t && t.parentNode;
  2332. return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
  2333. } : function (e, t) {
  2334. if (t)
  2335. for (; t = t.parentNode;)
  2336. if (t === e) return !0;
  2337. return !1
  2338. }, N.sortDetached = a(function (e) {
  2339. return 1 & e.compareDocumentPosition(t.createElement("div"))
  2340. }), Q = R.compareDocumentPosition ? function (e, n) {
  2341. if (e === n) return G = !0, 0;
  2342. var r = n.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(n);
  2343. return r ? 1 & r || !N.sortDetached && n.compareDocumentPosition(e) === r ? e === t || $(K, e) ? -1 : n === t || $(K, n) ? 1 : _ ? se.call(_, e) - se.call(_, n) : 0 : 4 & r ? -1 : 1 : e.compareDocumentPosition ? -1 : 1
  2344. } : function (e, n) {
  2345. var r, i = 0,
  2346. o = e.parentNode,
  2347. a = n.parentNode,
  2348. s = [e],
  2349. u = [n];
  2350. if (e === n) return G = !0, 0;
  2351. if (!o || !a) return e === t ? -1 : n === t ? 1 : o ? -1 : a ? 1 : _ ? se.call(_, e) - se.call(_, n) : 0;
  2352. if (o === a) return p(e, n);
  2353. for (r = e; r = r.parentNode;) s.unshift(r);
  2354. for (r = n; r = r.parentNode;) u.unshift(r);
  2355. for (; s[i] === u[i];) i++;
  2356. return i ? p(s[i], u[i]) : s[i] === K ? -1 : u[i] === K ? 1 : 0
  2357. }, t) : P
  2358. }, n.matches = function (e, t) {
  2359. return n(e, null, null, t)
  2360. }, n.matchesSelector = function (e, t) {
  2361. if ((e.ownerDocument || e) !== P && O(e), t = t.replace(ye, "='$1']"), N.matchesSelector && B && (!F || !F.test(t)) && (!H || !H.test(t))) try {
  2362. var r = I.call(e, t);
  2363. if (r || N.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
  2364. } catch (i) {}
  2365. return n(t, P, null, [e]).length > 0
  2366. }, n.contains = function (e, t) {
  2367. return (e.ownerDocument || e) !== P && O(e), $(e, t)
  2368. }, n.attr = function (e, n) {
  2369. (e.ownerDocument || e) !== P && O(e);
  2370. var r = L.attrHandle[n.toLowerCase()],
  2371. i = r && te.call(L.attrHandle, n.toLowerCase()) ? r(e, n, !B) : t;
  2372. return i === t ? N.attributes || !B ? e.getAttribute(n) : (i = e.getAttributeNode(n)) && i.specified ? i.value : null : i
  2373. }, n.error = function (e) {
  2374. throw new Error("Syntax error, unrecognized expression: " + e)
  2375. }, n.uniqueSort = function (e) {
  2376. var t, n = [],
  2377. r = 0,
  2378. i = 0;
  2379. if (G = !N.detectDuplicates, _ = !N.sortStable && e.slice(0), e.sort(Q), G) {
  2380. for (; t = e[i++];) t === e[i] && (r = n.push(i));
  2381. for (; r--;) e.splice(n[r], 1)
  2382. }
  2383. return e
  2384. }, D = n.getText = function (e) {
  2385. var t, n = "",
  2386. r = 0,
  2387. i = e.nodeType;
  2388. if (i) {
  2389. if (1 === i || 9 === i || 11 === i) {
  2390. if ("string" == typeof e.textContent) return e.textContent;
  2391. for (e = e.firstChild; e; e = e.nextSibling) n += D(e)
  2392. } else if (3 === i || 4 === i) return e.nodeValue
  2393. } else
  2394. for (; t = e[r]; r++) n += D(t);
  2395. return n
  2396. }, L = n.selectors = {
  2397. cacheLength: 50,
  2398. createPseudo: o,
  2399. match: Ee,
  2400. attrHandle: {},
  2401. find: {},
  2402. relative: {
  2403. ">": {
  2404. dir: "parentNode",
  2405. first: !0
  2406. },
  2407. " ": {
  2408. dir: "parentNode"
  2409. },
  2410. "+": {
  2411. dir: "previousSibling",
  2412. first: !0
  2413. },
  2414. "~": {
  2415. dir: "previousSibling"
  2416. }
  2417. },
  2418. preFilter: {
  2419. ATTR: function (e) {
  2420. return e[1] = e[1].replace(Ne, Me), e[3] = (e[4] || e[5] || "").replace(Ne, Me), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
  2421. },
  2422. CHILD: function (e) {
  2423. return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || n.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && n.error(e[0]), e
  2424. },
  2425. PSEUDO: function (e) {
  2426. var n, r = !e[5] && e[2];
  2427. return Ee.CHILD.test(e[0]) ? null : (e[3] && e[4] !== t ? e[2] = e[4] : r && be.test(r) && (n = m(r, !0)) && (n = r.indexOf(")", r.length - n) - r.length) && (e[0] = e[0].slice(0, n), e[2] = r.slice(0, n)), e.slice(0, 3))
  2428. }
  2429. },
  2430. filter: {
  2431. TAG: function (e) {
  2432. var t = e.replace(Ne, Me).toLowerCase();
  2433. return "*" === e ? function () {
  2434. return !0
  2435. } : function (e) {
  2436. return e.nodeName && e.nodeName.toLowerCase() === t
  2437. }
  2438. },
  2439. CLASS: function (e) {
  2440. var t = Y[e + " "];
  2441. return t || (t = new RegExp("(^|" + ce + ")" + e + "(" + ce + "|$)")) && Y(e, function (e) {
  2442. return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== Z && e.getAttribute("class") || "")
  2443. })
  2444. },
  2445. ATTR: function (e, t, r) {
  2446. return function (i) {
  2447. var o = n.attr(i, e);
  2448. return null == o ? "!=" === t : t ? (o += "", "=" === t ? o === r : "!=" === t ? o !== r : "^=" === t ? r && 0 === o.indexOf(r) : "*=" === t ? r && o.indexOf(r) > -1 : "$=" === t ? r && o.slice(-r.length) === r : "~=" === t ? (" " + o + " ").indexOf(r) > -1 : "|=" === t ? o === r || o.slice(0, r.length + 1) === r + "-" : !1) : !0
  2449. }
  2450. },
  2451. CHILD: function (e, t, n, r, i) {
  2452. var o = "nth" !== e.slice(0, 3),
  2453. a = "last" !== e.slice(-4),
  2454. s = "of-type" === t;
  2455. return 1 === r && 0 === i ? function (e) {
  2456. return !!e.parentNode
  2457. } : function (t, n, u) {
  2458. var c, l, p, d, f, h, m = o !== a ? "nextSibling" : "previousSibling",
  2459. g = t.parentNode,
  2460. v = s && t.nodeName.toLowerCase(),
  2461. y = !u && !s;
  2462. if (g) {
  2463. if (o) {
  2464. for (; m;) {
  2465. for (p = t; p = p[m];)
  2466. if (s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1;
  2467. h = m = "only" === e && !h && "nextSibling"
  2468. }
  2469. return !0
  2470. }
  2471. if (h = [a ? g.firstChild : g.lastChild], a && y) {
  2472. for (l = g[W] || (g[W] = {}), c = l[e] || [], f = c[0] === z && c[1], d = c[0] === z && c[2], p = f && g.childNodes[f]; p = ++f && p && p[m] || (d = f = 0) || h.pop();)
  2473. if (1 === p.nodeType && ++d && p === t) {
  2474. l[e] = [z, f, d];
  2475. break
  2476. }
  2477. } else if (y && (c = (t[W] || (t[W] = {}))[e]) && c[0] === z) d = c[1];
  2478. else
  2479. for (;
  2480. (p = ++f && p && p[m] || (d = f = 0) || h.pop()) && ((s ? p.nodeName.toLowerCase() !== v : 1 !== p.nodeType) || !++d || (y && ((p[W] || (p[W] = {}))[e] = [z, d]), p !== t)););
  2481. return d -= i, d === r || d % r === 0 && d / r >= 0
  2482. }
  2483. }
  2484. },
  2485. PSEUDO: function (e, t) {
  2486. var r, i = L.pseudos[e] || L.setFilters[e.toLowerCase()] || n.error("unsupported pseudo: " + e);
  2487. return i[W] ? i(t) : i.length > 1 ? (r = [e, e, "", t], L.setFilters.hasOwnProperty(e.toLowerCase()) ? o(function (e, n) {
  2488. for (var r, o = i(e, t), a = o.length; a--;) r = se.call(e, o[a]), e[r] = !(n[r] = o[a])
  2489. }) : function (e) {
  2490. return i(e, 0, r)
  2491. }) : i
  2492. }
  2493. },
  2494. pseudos: {
  2495. not: o(function (e) {
  2496. var t = [],
  2497. n = [],
  2498. r = j(e.replace(he, "$1"));
  2499. return r[W] ? o(function (e, t, n, i) {
  2500. for (var o, a = r(e, null, i, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o))
  2501. }) : function (e, i, o) {
  2502. return t[0] = e, r(t, null, o, n), !n.pop()
  2503. }
  2504. }),
  2505. has: o(function (e) {
  2506. return function (t) {
  2507. return n(e, t).length > 0
  2508. }
  2509. }),
  2510. contains: o(function (e) {
  2511. return function (t) {
  2512. return (t.textContent || t.innerText || D(t)).indexOf(e) > -1
  2513. }
  2514. }),
  2515. lang: o(function (e) {
  2516. return xe.test(e || "") || n.error("unsupported lang: " + e), e = e.replace(Ne, Me).toLowerCase(),
  2517. function (t) {
  2518. var n;
  2519. do
  2520. if (n = B ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType);
  2521. return !1
  2522. }
  2523. }),
  2524. target: function (t) {
  2525. var n = e.location && e.location.hash;
  2526. return n && n.slice(1) === t.id
  2527. },
  2528. root: function (e) {
  2529. return e === R
  2530. },
  2531. focus: function (e) {
  2532. return e === P.activeElement && (!P.hasFocus || P.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
  2533. },
  2534. enabled: function (e) {
  2535. return e.disabled === !1
  2536. },
  2537. disabled: function (e) {
  2538. return e.disabled === !0
  2539. },
  2540. checked: function (e) {
  2541. var t = e.nodeName.toLowerCase();
  2542. return "input" === t && !!e.checked || "option" === t && !!e.selected
  2543. },
  2544. selected: function (e) {
  2545. return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
  2546. },
  2547. empty: function (e) {
  2548. for (e = e.firstChild; e; e = e.nextSibling)
  2549. if (e.nodeName > "@" || 3 === e.nodeType || 4 === e.nodeType) return !1;
  2550. return !0
  2551. },
  2552. parent: function (e) {
  2553. return !L.pseudos.empty(e)
  2554. },
  2555. header: function (e) {
  2556. return ke.test(e.nodeName)
  2557. },
  2558. input: function (e) {
  2559. return Te.test(e.nodeName)
  2560. },
  2561. button: function (e) {
  2562. var t = e.nodeName.toLowerCase();
  2563. return "input" === t && "button" === e.type || "button" === t
  2564. },
  2565. text: function (e) {
  2566. var t;
  2567. return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || t.toLowerCase() === e.type)
  2568. },
  2569. first: h(function () {
  2570. return [0]
  2571. }),
  2572. last: h(function (e, t) {
  2573. return [t - 1]
  2574. }),
  2575. eq: h(function (e, t, n) {
  2576. return [0 > n ? n + t : n]
  2577. }),
  2578. even: h(function (e, t) {
  2579. for (var n = 0; t > n; n += 2) e.push(n);
  2580. return e
  2581. }),
  2582. odd: h(function (e, t) {
  2583. for (var n = 1; t > n; n += 2) e.push(n);
  2584. return e
  2585. }),
  2586. lt: h(function (e, t, n) {
  2587. for (var r = 0 > n ? n + t : n; --r >= 0;) e.push(r);
  2588. return e
  2589. }),
  2590. gt: h(function (e, t, n) {
  2591. for (var r = 0 > n ? n + t : n; ++r < t;) e.push(r);
  2592. return e
  2593. })
  2594. }
  2595. };
  2596. for (S in {
  2597. radio: !0,
  2598. checkbox: !0,
  2599. file: !0,
  2600. password: !0,
  2601. image: !0
  2602. }) L.pseudos[S] = d(S);
  2603. for (S in {
  2604. submit: !0,
  2605. reset: !0
  2606. }) L.pseudos[S] = f(S);
  2607. j = n.compile = function (e, t) {
  2608. var n, r = [],
  2609. i = [],
  2610. o = V[e + " "];
  2611. if (!o) {
  2612. for (t || (t = m(e)), n = t.length; n--;) o = E(t[n]), o[W] ? r.push(o) : i.push(o);
  2613. o = V(e, w(i, r))
  2614. }
  2615. return o
  2616. }, L.pseudos.nth = L.pseudos.eq, k.prototype = L.filters = L.pseudos, L.setFilters = new k, N.sortStable = W.split("").sort(Q).join("") === W, O(), [0, 0].sort(Q), N.detectDuplicates = G, n.attr = X.attr, X.find = n, X.expr = n.selectors, X.expr[":"] = X.expr.pseudos, X.unique = n.uniqueSort, X.text = n.getText, X.isXMLDoc = n.isXML, X.contains = n.contains
  2617. }(e);
  2618. var we = /Until$/,
  2619. Ce = /^(?:parents|prev(?:Until|All))/,
  2620. Te = /^.[^:#\[\.,]*$/,
  2621. ke = X.expr.match.needsContext,
  2622. Se = {
  2623. children: !0,
  2624. contents: !0,
  2625. next: !0,
  2626. prev: !0
  2627. };
  2628. X.fn.extend({
  2629. find: function (e) {
  2630. var t, n, r, i = this.length;
  2631. if ("string" != typeof e) return r = this, this.pushStack(X(e).filter(function () {
  2632. for (t = 0; i > t; t++)
  2633. if (X.contains(r[t], this)) return !0
  2634. }));
  2635. for (n = [], t = 0; i > t; t++) X.find(e, this[t], n);
  2636. return n = this.pushStack(i > 1 ? X.unique(n) : n), n.selector = (this.selector ? this.selector + " " : "") + e, n
  2637. },
  2638. has: function (e) {
  2639. var t, n = X(e, this),
  2640. r = n.length;
  2641. return this.filter(function () {
  2642. for (t = 0; r > t; t++)
  2643. if (X.contains(this, n[t])) return !0
  2644. })
  2645. },
  2646. not: function (e) {
  2647. return this.pushStack(p(this, e, !1))
  2648. },
  2649. filter: function (e) {
  2650. return this.pushStack(p(this, e, !0))
  2651. },
  2652. is: function (e) {
  2653. return !!e && ("string" == typeof e ? ke.test(e) ? X(e, this.context).index(this[0]) >= 0 : X.filter(e, this).length > 0 : this.filter(e).length > 0)
  2654. },
  2655. closest: function (e, t) {
  2656. for (var n, r = 0, i = this.length, o = [], a = ke.test(e) || "string" != typeof e ? X(e, t || this.context) : 0; i > r; r++)
  2657. for (n = this[r]; n && n.ownerDocument && n !== t && 11 !== n.nodeType;) {
  2658. if (a ? a.index(n) > -1 : X.find.matchesSelector(n, e)) {
  2659. o.push(n);
  2660. break
  2661. }
  2662. n = n.parentNode
  2663. }
  2664. return this.pushStack(o.length > 1 ? X.unique(o) : o)
  2665. },
  2666. index: function (e) {
  2667. return e ? "string" == typeof e ? X.inArray(this[0], X(e)) : X.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
  2668. },
  2669. add: function (e, t) {
  2670. var n = "string" == typeof e ? X(e, t) : X.makeArray(e && e.nodeType ? [e] : e),
  2671. r = X.merge(this.get(), n);
  2672. return this.pushStack(X.unique(r))
  2673. },
  2674. addBack: function (e) {
  2675. return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
  2676. }
  2677. }), X.fn.andSelf = X.fn.addBack, X.each({
  2678. parent: function (e) {
  2679. var t = e.parentNode;
  2680. return t && 11 !== t.nodeType ? t : null
  2681. },
  2682. parents: function (e) {
  2683. return X.dir(e, "parentNode")
  2684. },
  2685. parentsUntil: function (e, t, n) {
  2686. return X.dir(e, "parentNode", n)
  2687. },
  2688. next: function (e) {
  2689. return l(e, "nextSibling")
  2690. },
  2691. prev: function (e) {
  2692. return l(e, "previousSibling")
  2693. },
  2694. nextAll: function (e) {
  2695. return X.dir(e, "nextSibling")
  2696. },
  2697. prevAll: function (e) {
  2698. return X.dir(e, "previousSibling")
  2699. },
  2700. nextUntil: function (e, t, n) {
  2701. return X.dir(e, "nextSibling", n)
  2702. },
  2703. prevUntil: function (e, t, n) {
  2704. return X.dir(e, "previousSibling", n)
  2705. },
  2706. siblings: function (e) {
  2707. return X.sibling((e.parentNode || {}).firstChild, e)
  2708. },
  2709. children: function (e) {
  2710. return X.sibling(e.firstChild)
  2711. },
  2712. contents: function (e) {
  2713. return X.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : X.merge([], e.childNodes)
  2714. }
  2715. }, function (e, t) {
  2716. X.fn[e] = function (n, r) {
  2717. var i = X.map(this, t, n);
  2718. return we.test(e) || (r = n), r && "string" == typeof r && (i = X.filter(r, i)), i = this.length > 1 && !Se[e] ? X.unique(i) : i, this.length > 1 && Ce.test(e) && (i = i.reverse()), this.pushStack(i)
  2719. }
  2720. }), X.extend({
  2721. filter: function (e, t, n) {
  2722. return n && (e = ":not(" + e + ")"), 1 === t.length ? X.find.matchesSelector(t[0], e) ? [t[0]] : [] : X.find.matches(e, t)
  2723. },
  2724. dir: function (e, n, r) {
  2725. for (var i = [], o = e[n]; o && 9 !== o.nodeType && (r === t || 1 !== o.nodeType || !X(o).is(r));) 1 === o.nodeType && i.push(o), o = o[n];
  2726. return i
  2727. },
  2728. sibling: function (e, t) {
  2729. for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
  2730. return n
  2731. }
  2732. });
  2733. var Ne = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
  2734. Me = / jQuery\d+="(?:null|\d+)"/g,
  2735. Le = new RegExp("<(?:" + Ne + ")[\\s/>]", "i"),
  2736. De = /^\s+/,
  2737. Ae = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
  2738. je = /<([\w:]+)/,
  2739. qe = /<tbody/i,
  2740. _e = /<|&#?\w+;/,
  2741. Oe = /<(?:script|style|link)/i,
  2742. Pe = /^(?:checkbox|radio)$/i,
  2743. Re = /checked\s*(?:[^=]|=\s*.checked.)/i,
  2744. Be = /^$|\/(?:java|ecma)script/i,
  2745. He = /^true\/(.*)/,
  2746. Fe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
  2747. Ie = {
  2748. option: [1, "<select multiple='multiple'>", "</select>"],
  2749. legend: [1, "<fieldset>", "</fieldset>"],
  2750. area: [1, "<map>", "</map>"],
  2751. param: [1, "<object>", "</object>"],
  2752. thead: [1, "<table>", "</table>"],
  2753. tr: [2, "<table><tbody>", "</tbody></table>"],
  2754. col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
  2755. td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  2756. _default: X.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
  2757. },
  2758. $e = d(j),
  2759. We = $e.appendChild(j.createElement("div"));
  2760. Ie.optgroup = Ie.option, Ie.tbody = Ie.tfoot = Ie.colgroup = Ie.caption = Ie.thead, Ie.th = Ie.td, X.fn.extend({
  2761. text: function (e) {
  2762. return X.access(this, function (e) {
  2763. return e === t ? X.text(this) : this.empty().append((this[0] && this[0].ownerDocument || j).createTextNode(e))
  2764. }, null, e, arguments.length)
  2765. },
  2766. wrapAll: function (e) {
  2767. if (X.isFunction(e)) return this.each(function (t) {
  2768. X(this).wrapAll(e.call(this, t))
  2769. });
  2770. if (this[0]) {
  2771. var t = X(e, this[0].ownerDocument).eq(0).clone(!0);
  2772. this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
  2773. for (var e = this; e.firstChild && 1 === e.firstChild.nodeType;) e = e.firstChild;
  2774. return e
  2775. }).append(this)
  2776. }
  2777. return this
  2778. },
  2779. wrapInner: function (e) {
  2780. return X.isFunction(e) ? this.each(function (t) {
  2781. X(this).wrapInner(e.call(this, t))
  2782. }) : this.each(function () {
  2783. var t = X(this),
  2784. n = t.contents();
  2785. n.length ? n.wrapAll(e) : t.append(e)
  2786. })
  2787. },
  2788. wrap: function (e) {
  2789. var t = X.isFunction(e);
  2790. return this.each(function (n) {
  2791. X(this).wrapAll(t ? e.call(this, n) : e)
  2792. })
  2793. },
  2794. unwrap: function () {
  2795. return this.parent().each(function () {
  2796. X.nodeName(this, "body") || X(this).replaceWith(this.childNodes)
  2797. }).end()
  2798. },
  2799. append: function () {
  2800. return this.domManip(arguments, !0, function (e) {
  2801. (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.appendChild(e)
  2802. })
  2803. },
  2804. prepend: function () {
  2805. return this.domManip(arguments, !0, function (e) {
  2806. (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.insertBefore(e, this.firstChild)
  2807. })
  2808. },
  2809. before: function () {
  2810. return this.domManip(arguments, !1, function (e) {
  2811. this.parentNode && this.parentNode.insertBefore(e, this)
  2812. })
  2813. },
  2814. after: function () {
  2815. return this.domManip(arguments, !1, function (e) {
  2816. this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
  2817. })
  2818. },
  2819. remove: function (e, t) {
  2820. for (var n, r = 0; null != (n = this[r]); r++)(!e || X.filter(e, [n]).length > 0) && (t || 1 !== n.nodeType || X.cleanData(b(n)), n.parentNode && (t && X.contains(n.ownerDocument, n) && g(b(n, "script")), n.parentNode.removeChild(n)));
  2821. return this
  2822. },
  2823. empty: function () {
  2824. for (var e, t = 0; null != (e = this[t]); t++) {
  2825. for (1 === e.nodeType && X.cleanData(b(e, !1)); e.firstChild;) e.removeChild(e.firstChild);
  2826. e.options && X.nodeName(e, "select") && (e.options.length = 0)
  2827. }
  2828. return this
  2829. },
  2830. clone: function (e, t) {
  2831. return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function () {
  2832. return X.clone(this, e, t)
  2833. })
  2834. },
  2835. html: function (e) {
  2836. return X.access(this, function (e) {
  2837. var n = this[0] || {},
  2838. r = 0,
  2839. i = this.length;
  2840. if (e === t) return 1 === n.nodeType ? n.innerHTML.replace(Me, "") : t;
  2841. if ("string" == typeof e && !Oe.test(e) && (X.support.htmlSerialize || !Le.test(e)) && (X.support.leadingWhitespace || !De.test(e)) && !Ie[(je.exec(e) || ["", ""])[1].toLowerCase()]) {
  2842. e = e.replace(Ae, "<$1></$2>");
  2843. try {
  2844. for (; i > r; r++) n = this[r] || {}, 1 === n.nodeType && (X.cleanData(b(n, !1)), n.innerHTML = e);
  2845. n = 0
  2846. } catch (o) {}
  2847. }
  2848. n && this.empty().append(e)
  2849. }, null, e, arguments.length)
  2850. },
  2851. replaceWith: function (e) {
  2852. var t = X.isFunction(e);
  2853. return t || "string" == typeof e || (e = X(e).not(this).detach()), this.domManip([e], !0, function (e) {
  2854. var t = this.nextSibling,
  2855. n = this.parentNode;
  2856. n && (X(this).remove(), n.insertBefore(e, t))
  2857. })
  2858. },
  2859. detach: function (e) {
  2860. return this.remove(e, !0)
  2861. },
  2862. domManip: function (e, n, r) {
  2863. e = R.apply([], e);
  2864. var i, o, a, s, u, c, l = 0,
  2865. p = this.length,
  2866. d = this,
  2867. g = p - 1,
  2868. v = e[0],
  2869. y = X.isFunction(v);
  2870. if (y || !(1 >= p || "string" != typeof v || X.support.checkClone) && Re.test(v)) return this.each(function (i) {
  2871. var o = d.eq(i);
  2872. y && (e[0] = v.call(this, i, n ? o.html() : t)), o.domManip(e, n, r)
  2873. });
  2874. if (p && (c = X.buildFragment(e, this[0].ownerDocument, !1, this), i = c.firstChild, 1 === c.childNodes.length && (c = i), i)) {
  2875. for (n = n && X.nodeName(i, "tr"), s = X.map(b(c, "script"), h), a = s.length; p > l; l++) o = c, l !== g && (o = X.clone(o, !0, !0), a && X.merge(s, b(o, "script"))), r.call(n && X.nodeName(this[l], "table") ? f(this[l], "tbody") : this[l], o, l);
  2876. if (a)
  2877. for (u = s[s.length - 1].ownerDocument, X.map(s, m), l = 0; a > l; l++) o = s[l], Be.test(o.type || "") && !X._data(o, "globalEval") && X.contains(u, o) && (o.src ? X.ajax({
  2878. url: o.src,
  2879. type: "GET",
  2880. dataType: "script",
  2881. async: !1,
  2882. global: !1,
  2883. "throws": !0
  2884. }) : X.globalEval((o.text || o.textContent || o.innerHTML || "").replace(Fe, "")));
  2885. c = i = null
  2886. }
  2887. return this
  2888. }
  2889. }), X.each({
  2890. appendTo: "append",
  2891. prependTo: "prepend",
  2892. insertBefore: "before",
  2893. insertAfter: "after",
  2894. replaceAll: "replaceWith"
  2895. }, function (e, t) {
  2896. X.fn[e] = function (e) {
  2897. for (var n, r = 0, i = [], o = X(e), a = o.length - 1; a >= r; r++) n = r === a ? this : this.clone(!0), X(o[r])[t](n), B.apply(i, n.get());
  2898. return this.pushStack(i)
  2899. }
  2900. }), X.extend({
  2901. clone: function (e, t, n) {
  2902. var r, i, o, a, s, u = X.contains(e.ownerDocument, e);
  2903. if (X.support.html5Clone || X.isXMLDoc(e) || !Le.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (We.innerHTML = e.outerHTML, We.removeChild(o = We.firstChild)), !(X.support.noCloneEvent && X.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || X.isXMLDoc(e)))
  2904. for (r = b(o), s = b(e), a = 0; null != (i = s[a]); ++a) r[a] && y(i, r[a]);
  2905. if (t)
  2906. if (n)
  2907. for (s = s || b(e), r = r || b(o), a = 0; null != (i = s[a]); a++) v(i, r[a]);
  2908. else v(e, o);
  2909. return r = b(o, "script"), r.length > 0 && g(r, !u && b(e, "script")), r = s = i = null, o
  2910. },
  2911. buildFragment: function (e, t, n, r) {
  2912. for (var i, o, a, s, u, c, l, p = e.length, f = d(t), h = [], m = 0; p > m; m++)
  2913. if (o = e[m], o || 0 === o)
  2914. if ("object" === X.type(o)) X.merge(h, o.nodeType ? [o] : o);
  2915. else if (_e.test(o)) {
  2916. for (s = s || f.appendChild(t.createElement("div")), u = (je.exec(o) || ["", ""])[1].toLowerCase(), l = Ie[u] || Ie._default, s.innerHTML = l[1] + o.replace(Ae, "<$1></$2>") + l[2], i = l[0]; i--;) s = s.lastChild;
  2917. if (!X.support.leadingWhitespace && De.test(o) && h.push(t.createTextNode(De.exec(o)[0])), !X.support.tbody)
  2918. for (o = "table" !== u || qe.test(o) ? "<table>" !== l[1] || qe.test(o) ? 0 : s : s.firstChild, i = o && o.childNodes.length; i--;) X.nodeName(c = o.childNodes[i], "tbody") && !c.childNodes.length && o.removeChild(c);
  2919. for (X.merge(h, s.childNodes), s.textContent = ""; s.firstChild;) s.removeChild(s.firstChild);
  2920. s = f.lastChild
  2921. } else h.push(t.createTextNode(o));
  2922. for (s && f.removeChild(s), X.support.appendChecked || X.grep(b(h, "input"), x), m = 0; o = h[m++];)
  2923. if ((!r || -1 === X.inArray(o, r)) && (a = X.contains(o.ownerDocument, o), s = b(f.appendChild(o), "script"), a && g(s), n))
  2924. for (i = 0; o = s[i++];) Be.test(o.type || "") && n.push(o);
  2925. return s = null, f
  2926. },
  2927. cleanData: function (e, t) {
  2928. for (var n, r, i, o, a = 0, s = X.expando, u = X.cache, c = X.support.deleteExpando, l = X.event.special; null != (n = e[a]); a++)
  2929. if ((t || X.acceptData(n)) && (i = n[s], o = i && u[i])) {
  2930. if (o.events)
  2931. for (r in o.events) l[r] ? X.event.remove(n, r) : X.removeEvent(n, r, o.handle);
  2932. u[i] && (delete u[i], c ? delete n[s] : typeof n.removeAttribute !== A ? n.removeAttribute(s) : n[s] = null, O.push(i))
  2933. }
  2934. }
  2935. });
  2936. var Xe = /%20/g,
  2937. Ke = /\[\]$/,
  2938. ze = /\r?\n/g,
  2939. Ue = /^(?:submit|button|image|reset|file)$/i,
  2940. Ye = /^(?:input|select|textarea|keygen)/i;
  2941. X.fn.extend({
  2942. serialize: function () {
  2943. return X.param(this.serializeArray())
  2944. },
  2945. serializeArray: function () {
  2946. return this.map(function () {
  2947. var e = X.prop(this, "elements");
  2948. return e ? X.makeArray(e) : this
  2949. }).filter(function () {
  2950. var e = this.type;
  2951. return this.name && !X(this).is(":disabled") && Ye.test(this.nodeName) && !Ue.test(e) && (this.checked || !Pe.test(e))
  2952. }).map(function (e, t) {
  2953. var n = X(this).val();
  2954. return null == n ? null : X.isArray(n) ? X.map(n, function (e) {
  2955. return {
  2956. name: t.name,
  2957. value: e.replace(ze, "\r\n")
  2958. }
  2959. }) : {
  2960. name: t.name,
  2961. value: n.replace(ze, "\r\n")
  2962. }
  2963. }).get()
  2964. }
  2965. }), X.param = function (e, n) {
  2966. var r, i = [],
  2967. o = function (e, t) {
  2968. t = X.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
  2969. };
  2970. if (n === t && (n = X.ajaxSettings && X.ajaxSettings.traditional), X.isArray(e) || e.jquery && !X.isPlainObject(e)) X.each(e, function () {
  2971. o(this.name, this.value)
  2972. });
  2973. else
  2974. for (r in e) E(r, e[r], n, o);
  2975. return i.join("&").replace(Xe, "+")
  2976. }, X.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (e, t) {
  2977. X.fn[t] = function (e, n) {
  2978. return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
  2979. }
  2980. }), X.fn.hover = function (e, t) {
  2981. return this.mouseenter(e).mouseleave(t || e)
  2982. };
  2983. var Je, Ve, Ge = X.now(),
  2984. Qe = /\?/,
  2985. Ze = /#.*$/,
  2986. et = /([?&])_=[^&]*/,
  2987. tt = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
  2988. nt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  2989. rt = /^(?:GET|HEAD)$/,
  2990. it = /^\/\//,
  2991. ot = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
  2992. at = X.fn.load,
  2993. st = {},
  2994. ut = {},
  2995. ct = "*/".concat("*");
  2996. try {
  2997. Ve = q.href
  2998. } catch (lt) {
  2999. Ve = j.createElement("a"), Ve.href = "", Ve = Ve.href
  3000. }
  3001. Je = ot.exec(Ve.toLowerCase()) || [], X.fn.load = function (e, n, r) {
  3002. if ("string" != typeof e && at) return at.apply(this, arguments);
  3003. var i, o, a, s = this,
  3004. u = e.indexOf(" ");
  3005. return u >= 0 && (i = e.slice(u, e.length), e = e.slice(0, u)), X.isFunction(n) ? (r = n, n = t) : n && "object" == typeof n && (a = "POST"), s.length > 0 && X.ajax({
  3006. url: e,
  3007. type: a,
  3008. dataType: "html",
  3009. data: n
  3010. }).done(function (e) {
  3011. o = arguments, s.html(i ? X("<div>").append(X.parseHTML(e)).find(i) : e)
  3012. }).complete(r && function (e, t) {
  3013. s.each(r, o || [e.responseText, t, e])
  3014. }), this
  3015. }, X.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
  3016. X.fn[t] = function (e) {
  3017. return this.on(t, e)
  3018. }
  3019. }), X.each(["get", "post"], function (e, n) {
  3020. X[n] = function (e, r, i, o) {
  3021. return X.isFunction(r) && (o = o || i, i = r, r = t), X.ajax({
  3022. url: e,
  3023. type: n,
  3024. dataType: o,
  3025. data: r,
  3026. success: i
  3027. })
  3028. }
  3029. }), X.extend({
  3030. active: 0,
  3031. lastModified: {},
  3032. etag: {},
  3033. ajaxSettings: {
  3034. url: Ve,
  3035. type: "GET",
  3036. isLocal: nt.test(Je[1]),
  3037. global: !0,
  3038. processData: !0,
  3039. async: !0,
  3040. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  3041. accepts: {
  3042. "*": ct,
  3043. text: "text/plain",
  3044. html: "text/html",
  3045. xml: "application/xml, text/xml",
  3046. json: "application/json, text/javascript"
  3047. },
  3048. contents: {
  3049. xml: /xml/,
  3050. html: /html/,
  3051. json: /json/
  3052. },
  3053. responseFields: {
  3054. xml: "responseXML",
  3055. text: "responseText"
  3056. },
  3057. converters: {
  3058. "* text": e.String,
  3059. "text html": !0,
  3060. "text json": X.parseJSON,
  3061. "text xml": X.parseXML
  3062. },
  3063. flatOptions: {
  3064. url: !0,
  3065. context: !0
  3066. }
  3067. },
  3068. ajaxSetup: function (e, t) {
  3069. return t ? T(T(e, X.ajaxSettings), t) : T(X.ajaxSettings, e)
  3070. },
  3071. ajaxPrefilter: w(st),
  3072. ajaxTransport: w(ut),
  3073. ajax: function (e, n) {
  3074. function r(e, n, r, i) {
  3075. var o, p, y, b, E, C = n;
  3076. 2 !== x && (x = 2, u && clearTimeout(u), l = t, s = i || "", w.readyState = e > 0 ? 4 : 0, r && (b = k(d, w, r)), e >= 200 && 300 > e || 304 === e ? (d.ifModified && (E = w.getResponseHeader("Last-Modified"), E && (X.lastModified[a] = E), E = w.getResponseHeader("etag"), E && (X.etag[a] = E)), 204 === e ? (o = !0, C = "nocontent") : 304 === e ? (o = !0, C = "notmodified") : (o = S(d, b), C = o.state, p = o.data, y = o.error, o = !y)) : (y = C, (e || !C) && (C = "error", 0 > e && (e = 0))), w.status = e, w.statusText = (n || C) + "", o ? m.resolveWith(f, [p, C, w]) : m.rejectWith(f, [w, C, y]), w.statusCode(v), v = t, c && h.trigger(o ? "ajaxSuccess" : "ajaxError", [w, d, o ? p : y]), g.fireWith(f, [w, C]), c && (h.trigger("ajaxComplete", [w, d]), --X.active || X.event.trigger("ajaxStop")))
  3077. }
  3078. "object" == typeof e && (n = e, e = t), n = n || {};
  3079. var i, o, a, s, u, c, l, p, d = X.ajaxSetup({}, n),
  3080. f = d.context || d,
  3081. h = d.context && (f.nodeType || f.jquery) ? X(f) : X.event,
  3082. m = X.Deferred(),
  3083. g = X.Callbacks("once memory"),
  3084. v = d.statusCode || {},
  3085. y = {},
  3086. b = {},
  3087. x = 0,
  3088. E = "canceled",
  3089. w = {
  3090. readyState: 0,
  3091. getResponseHeader: function (e) {
  3092. var t;
  3093. if (2 === x) {
  3094. if (!p)
  3095. for (p = {}; t = tt.exec(s);) p[t[1].toLowerCase()] = t[2];
  3096. t = p[e.toLowerCase()]
  3097. }
  3098. return null == t ? null : t
  3099. },
  3100. getAllResponseHeaders: function () {
  3101. return 2 === x ? s : null
  3102. },
  3103. setRequestHeader: function (e, t) {
  3104. var n = e.toLowerCase();
  3105. return x || (e = b[n] = b[n] || e, y[e] = t), this
  3106. },
  3107. overrideMimeType: function (e) {
  3108. return x || (d.mimeType = e), this
  3109. },
  3110. statusCode: function (e) {
  3111. var t;
  3112. if (e)
  3113. if (2 > x)
  3114. for (t in e) v[t] = [v[t], e[t]];
  3115. else w.always(e[w.status]);
  3116. return this
  3117. },
  3118. abort: function (e) {
  3119. var t = e || E;
  3120. return l && l.abort(t), r(0, t), this
  3121. }
  3122. };
  3123. if (m.promise(w).complete = g.add, w.success = w.done, w.error = w.fail, d.url = ((e || d.url || Ve) + "").replace(Ze, "").replace(it, Je[1] + "//"), d.type = n.method || n.type || d.method || d.type, d.dataTypes = X.trim(d.dataType || "*").toLowerCase().match(K) || [""], null == d.crossDomain && (i = ot.exec(d.url.toLowerCase()), d.crossDomain = !(!i || i[1] === Je[1] && i[2] === Je[2] && (i[3] || ("http:" === i[1] ? 80 : 443)) == (Je[3] || ("http:" === Je[1] ? 80 : 443)))), d.data && d.processData && "string" != typeof d.data && (d.data = X.param(d.data, d.traditional)), C(st, d, n, w), 2 === x) return w;
  3124. c = d.global, c && 0 === X.active++ && X.event.trigger("ajaxStart"), d.type = d.type.toUpperCase(), d.hasContent = !rt.test(d.type), a = d.url, d.hasContent || (d.data && (a = d.url += (Qe.test(a) ? "&" : "?") + d.data, delete d.data), d.cache === !1 && (d.url = et.test(a) ? a.replace(et, "$1_=" + Ge++) : a + (Qe.test(a) ? "&" : "?") + "_=" + Ge++)), d.ifModified && (X.lastModified[a] && w.setRequestHeader("If-Modified-Since", X.lastModified[a]), X.etag[a] && w.setRequestHeader("If-None-Match", X.etag[a])), (d.data && d.hasContent && d.contentType !== !1 || n.contentType) && w.setRequestHeader("Content-Type", d.contentType), w.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + ("*" !== d.dataTypes[0] ? ", " + ct + "; q=0.01" : "") : d.accepts["*"]);
  3125. for (o in d.headers) w.setRequestHeader(o, d.headers[o]);
  3126. if (d.beforeSend && (d.beforeSend.call(f, w, d) === !1 || 2 === x)) return w.abort();
  3127. E = "abort";
  3128. for (o in {
  3129. success: 1,
  3130. error: 1,
  3131. complete: 1
  3132. }) w[o](d[o]);
  3133. if (l = C(ut, d, n, w)) {
  3134. w.readyState = 1, c && h.trigger("ajaxSend", [w, d]), d.async && d.timeout > 0 && (u = setTimeout(function () {
  3135. w.abort("timeout")
  3136. }, d.timeout));
  3137. try {
  3138. x = 1, l.send(y, r)
  3139. } catch (T) {
  3140. if (!(2 > x)) throw T;
  3141. r(-1, T)
  3142. }
  3143. } else r(-1, "No Transport");
  3144. return w
  3145. },
  3146. getScript: function (e, n) {
  3147. return X.get(e, t, n, "script")
  3148. },
  3149. getJSON: function (e, t, n) {
  3150. return X.get(e, t, n, "json")
  3151. }
  3152. }), X.ajaxSetup({
  3153. accepts: {
  3154. script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  3155. },
  3156. contents: {
  3157. script: /(?:java|ecma)script/
  3158. },
  3159. converters: {
  3160. "text script": function (e) {
  3161. return X.globalEval(e), e
  3162. }
  3163. }
  3164. }), X.ajaxPrefilter("script", function (e) {
  3165. e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1)
  3166. }), X.ajaxTransport("script", function (e) {
  3167. if (e.crossDomain) {
  3168. var n, r = j.head || X("head")[0] || j.documentElement;
  3169. return {
  3170. send: function (t, i) {
  3171. n = j.createElement("script"), n.async = !0, e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function (e, t) {
  3172. (t || !n.readyState || /loaded|complete/.test(n.readyState)) && (n.onload = n.onreadystatechange = null, n.parentNode && n.parentNode.removeChild(n), n = null, t || i(200, "success"))
  3173. }, r.insertBefore(n, r.firstChild)
  3174. },
  3175. abort: function () {
  3176. n && n.onload(t, !0)
  3177. }
  3178. }
  3179. }
  3180. });
  3181. var pt = [],
  3182. dt = /(=)\?(?=&|$)|\?\?/;
  3183. X.ajaxSetup({
  3184. jsonp: "callback",
  3185. jsonpCallback: function () {
  3186. var e = pt.pop() || X.expando + "_" + Ge++;
  3187. return this[e] = !0, e
  3188. }
  3189. }), X.ajaxPrefilter("json jsonp", function (n, r, i) {
  3190. var o, a, s, u = n.jsonp !== !1 && (dt.test(n.url) ? "url" : "string" == typeof n.data && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && dt.test(n.data) && "data");
  3191. return u || "jsonp" === n.dataTypes[0] ? (o = n.jsonpCallback = X.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, u ? n[u] = n[u].replace(dt, "$1" + o) : n.jsonp !== !1 && (n.url += (Qe.test(n.url) ? "&" : "?") + n.jsonp + "=" + o), n.converters["script json"] = function () {
  3192. return s || X.error(o + " was not called"), s[0]
  3193. }, n.dataTypes[0] = "json", a = e[o], e[o] = function () {
  3194. s = arguments
  3195. }, i.always(function () {
  3196. e[o] = a, n[o] && (n.jsonpCallback = r.jsonpCallback, pt.push(o)), s && X.isFunction(a) && a(s[0]), s = a = t
  3197. }), "script") : void 0
  3198. });
  3199. var ft, ht, mt = 0,
  3200. gt = e.ActiveXObject && function () {
  3201. var e;
  3202. for (e in ft) ft[e](t, !0)
  3203. };
  3204. X.ajaxSettings.xhr = e.ActiveXObject ? function () {
  3205. return !this.isLocal && N() || M()
  3206. } : N, ht = X.ajaxSettings.xhr(), X.support.cors = !!ht && "withCredentials" in ht, ht = X.support.ajax = !!ht, ht && X.ajaxTransport(function (n) {
  3207. if (!n.crossDomain || X.support.cors) {
  3208. var r;
  3209. return {
  3210. send: function (i, o) {
  3211. var a, s, u = n.xhr();
  3212. if (n.username ? u.open(n.type, n.url, n.async, n.username, n.password) : u.open(n.type, n.url, n.async), n.xhrFields)
  3213. for (s in n.xhrFields) u[s] = n.xhrFields[s];
  3214. n.mimeType && u.overrideMimeType && u.overrideMimeType(n.mimeType), n.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
  3215. try {
  3216. for (s in i) u.setRequestHeader(s, i[s])
  3217. } catch (c) {}
  3218. u.send(n.hasContent && n.data || null), r = function (e, i) {
  3219. var s, c, l, p;
  3220. try {
  3221. if (r && (i || 4 === u.readyState))
  3222. if (r = t, a && (u.onreadystatechange = X.noop, gt && delete ft[a]), i) 4 !== u.readyState && u.abort();
  3223. else {
  3224. p = {}, s = u.status, c = u.getAllResponseHeaders(), "string" == typeof u.responseText && (p.text = u.responseText);
  3225. try {
  3226. l = u.statusText
  3227. } catch (d) {
  3228. l = ""
  3229. }
  3230. s || !n.isLocal || n.crossDomain ? 1223 === s && (s = 204) : s = p.text ? 200 : 404
  3231. }
  3232. } catch (f) {
  3233. i || o(-1, f)
  3234. }
  3235. p && o(s, l, p, c)
  3236. }, n.async ? 4 === u.readyState ? setTimeout(r) : (a = ++mt, gt && (ft || (ft = {}, X(e).unload(gt)), ft[a] = r), u.onreadystatechange = r) : r()
  3237. },
  3238. abort: function () {
  3239. r && r(t, !0)
  3240. }
  3241. }
  3242. }
  3243. }), "function" == typeof ellipsis.define && ellipsis.define.amd && ellipsis.define.amd.jQuery && ellipsis.define("ell-jquery", [], function () {
  3244. return X
  3245. })
  3246. }(window), ellipsis.define("jsonh", ["require", "exports", "module"], function (e, t, n) {
  3247. var r, i = r = function (e, t) {
  3248. "use strict";
  3249.  
  3250. function n(t) {
  3251. for (var n, r, i = t.length, o = d(i ? t[0] : {}), a = o.length, s = e(i * a), u = 0, c = 0; i > u; ++u)
  3252. for (r = t[u], n = 0; a > n; s[c++] = r[o[n++]]);
  3253. return p.call([a], o, s)
  3254. }
  3255.  
  3256. function r(t) {
  3257. for (var n, r, i = t.length, o = t[0], a = e((i - o - 1) / o || 0), s = 1 + o, u = 0; i > s;)
  3258. for (a[u++] = r = {}, n = 0; o > n; r[t[++n]] = t[s++]);
  3259. return a
  3260. }
  3261.  
  3262. function i(e) {
  3263. return function (t) {
  3264. for (var n, r, i, o = this, a = t, s = 0, u = o.length; u > s; ++s) f(i = a[r = o[s]]) && (n = s + 1, a[r] = u > n ? h.call(i, e, o.slice(n)) : e(i)), a = a[r];
  3265. return t
  3266. }
  3267. }
  3268.  
  3269. function o(e) {
  3270. return function (t, n) {
  3271. for (var r = f(t), i = p.call(l, t), o = p.call(l, n), a = 0, s = o.length; s > a; ++a) i = h.call(i, e, o[a].split("."));
  3272. return r ? i : i[0]
  3273. }
  3274. }
  3275.  
  3276. function a(e, t) {
  3277. return t ? m(e, t) : n(e)
  3278. }
  3279.  
  3280. function s(e, t) {
  3281. return t ? g(e, t) : r(e)
  3282. }
  3283.  
  3284. function u(e, t, n, r) {
  3285. return v(a(e, r), t, n)
  3286. }
  3287.  
  3288. function c(e, t, n) {
  3289. return s(y(e, t), n)
  3290. }
  3291. var l = [],
  3292. p = l.concat,
  3293. d = Object.keys || function (e) {
  3294. var t, n = [];
  3295. for (t in e) e.hasOwnProperty(t) && n.push(t);
  3296. return n
  3297. },
  3298. f = e.isArray || function (e, t) {
  3299. return t = e.call(l),
  3300. function (n) {
  3301. return e.call(n) == t
  3302. }
  3303. }({}.toString),
  3304. h = l.map || function (t, n) {
  3305. for (var r = this, i = r.length, o = e(i); i--; o[i] = t.call(n, r[i], i, r));
  3306. return o
  3307. },
  3308. m = o(i(n)),
  3309. g = o(i(r)),
  3310. v = t.stringify,
  3311. y = t.parse;
  3312. return {
  3313. pack: a,
  3314. parse: c,
  3315. stringify: u,
  3316. unpack: s
  3317. }
  3318. }(Array, JSON);
  3319. "undefined" != typeof n && n.exports && (n.exports = i)
  3320. }), ellipsis.define("Core/EllipsisCore", ["require", "exports"], function (e, t) {
  3321. "use strict";
  3322. var n = function () {
  3323. function e() {}
  3324. return e.prototype.init = function () {}, e.prototype.uninit = function () {}, e.prototype.harvest = function () {}, e
  3325. }();
  3326. t.CollectionStrategy = n
  3327. });
  3328. var __extends = this && this.__extends || function (e, t) {
  3329. function n() {
  3330. this.constructor = e
  3331. }
  3332. for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]);
  3333. e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
  3334. };
  3335. ellipsis.define("BrowserTouchEvents", ["require", "exports", "./Core/EllipsisCore", "ell-jquery"], function (e, t, n, r) {
  3336. "use strict";
  3337. var i = n.CollectionStrategy,
  3338. o = r,
  3339. a = function (e) {
  3340. function t() {
  3341. var t = this;
  3342. e.apply(this, arguments), this.strokeEndDuration = 300, this.supportsTouchEvents = "ontouchstart" in document, this._touchMoveCount = 0, this.touchMoveCount = function () {
  3343. return t._touchMoveCount
  3344. }, this.currentTouchData = {}, this.onTouchMove = function (e) {
  3345. try {
  3346. var n = new Date;
  3347. if (t._touchMoveCount += 1, !t.lastTouchEvent) return void(t.lastTouchEvent = t.copyTouch(e));
  3348. var r = t.copyTouch(e);
  3349. t.updateTouchData(r, n)
  3350. } catch (i) {
  3351. console && console.warn("Error in Ellipsis.TouchMoveCollection.onTouchMove():" + i)
  3352. }
  3353. }, this.onTouchEnd = function (e) {
  3354. try {
  3355. new Date;
  3356. t._touchMoveCount += 1;
  3357. var n = t.copyTouch(e);
  3358. t.endTouchStroke(n)
  3359. } catch (r) {
  3360. console && console.warn("Error in Ellipsis.TouchMoveCollection.onTouchEnd():" + r)
  3361. }
  3362. }, this.strokeData = []
  3363. }
  3364. return __extends(t, e), t.prototype.harvest = function () {
  3365. var e = {
  3366. touchData: (this.strokeData || []).map(function (e) {
  3367. return e.getData()
  3368. })
  3369. };
  3370. return e
  3371. }, t.prototype.init = function () {
  3372. this.subscribeTouchEvents()
  3373. }, t.prototype.uninit = function () {
  3374. this.unsubscribeTouchEvents()
  3375. }, t.prototype.subscribeTouchEvents = function () {
  3376. o(document).addEventListener("touchstart", this.onTouchMove, !0), o(document).addEventListener("touchmove", this.onTouchMove, !0), o(document).addEventListener("touchend", this.onTouchEnd, !0), o(document).addEventListener("touchcancel", this.onTouchEnd, !0)
  3377. }, t.prototype.unsubscribeTouchEvents = function () {
  3378. o(document).removeEventListener("touchstart", this.onTouchMove, !0), o(document).removeEventListener("touchmove", this.onTouchMove, !0), o(document).removeEventListener("touchend", this.onTouchEnd, !0), o(document).removeEventListener("touchcancel", this.onTouchEnd, !0)
  3379. }, t.prototype.updateTouchData = function (e, t) {
  3380. var n = this;
  3381. o.each(e.touches, function (e, r) {
  3382. var i = n.currentTouchData[r.identifier];
  3383. i ? i.addTouch(r, t) : n.currentTouchData[r.identifier] = new s(r, t)
  3384. })
  3385. }, t.prototype.endTouchStroke = function (e) {
  3386. var t = this;
  3387. o.each(e.changedTouches, function (e, n) {
  3388. var r = t.currentTouchData[n.identifier];
  3389. r && t.strokeData.push(r), t.currentTouchData[n.identifier] = null
  3390. })
  3391. }, t.prototype.copyTouch = function (e) {
  3392. return o.extend(!0, {}, e)
  3393. }, t
  3394. }(i);
  3395. t.TouchMoveCollection = a;
  3396. var s = function () {
  3397. function e(e, t) {
  3398. this.distance = 0, this.x_distance = 0, this.y_distance = 0, this.displacement = 0, this.x_displacement = 0, this.y_displacement = 0, this.elapsedTime = 0, this.eventCount = 0, this.prevTouch = e, this.firstTouch || (this.firstTouch = e), this.eventCount += 1, this.prevEventTime = t
  3399. }
  3400. return e.prototype.addTouch = function (e, t) {
  3401. this.assignDistance(this.prevTouch, e), this.assignDisplacement(e), this.eventCount += 1, this.elapsedTime += t.getTime() - this.prevEventTime.getTime(), this.prevTouch = e, this.firstTouch || (this.firstTouch = e)
  3402. }, e.prototype.getData = function () {
  3403. return {
  3404. distance: this.distance,
  3405. x_distance: this.x_distance,
  3406. y_distance: this.y_distance,
  3407. displacement: this.displacement,
  3408. x_displacement: this.x_displacement,
  3409. y_displacement: this.y_displacement,
  3410. elapsedTime: this.elapsedTime,
  3411. eventCount: this.eventCount
  3412. }
  3413. }, e.prototype.assignDistance = function (e, t) {
  3414. var n = Math.abs(t.clientX - e.clientX);
  3415. this.x_distance = (this.x_distance || 0) + n, n *= n;
  3416. var r = this.y_distance = Math.abs(t.clientY - e.clientY);
  3417. this.y_distance = (this.y_distance || 0) + r, r *= r, this.distance = (this.distance || 0) + Math.sqrt(n + r)
  3418. }, e.prototype.assignDisplacement = function (e) {
  3419. var t = this.x_displacement = Math.abs(e.clientX - this.firstTouch.clientX);
  3420. t *= t;
  3421. var n = this.y_displacement = Math.abs(e.clientY - this.firstTouch.clientY);
  3422. n *= n, this.displacement = Math.sqrt(t + n)
  3423. }, e
  3424. }()
  3425. });
  3426. var __extends = this && this.__extends || function (e, t) {
  3427. function n() {
  3428. this.constructor = e
  3429. }
  3430. for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]);
  3431. e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
  3432. };
  3433. ellipsis.define("ellipsis", ["require", "exports", "ell-jquery", "jsonh", "Core/EllipsisCore", "BrowserTouchEvents"], function (e, t, n, r, i, o) {
  3434. "use strict";
  3435.  
  3436. function a() {
  3437. return document.getElementsByTagName("script")
  3438. }
  3439. var s = i.CollectionStrategy,
  3440. u = o.TouchMoveCollection,
  3441. c = n,
  3442. l = c,
  3443. p = r,
  3444. d = function () {
  3445. function e(n, r) {
  3446. var i = e.normalizeEvent(n);
  3447. if (e.isElement(i.target)) {
  3448. var o = i.target,
  3449. a = e.getTargetProperties(o);
  3450. this.targetid = a.id, this.targethash = a.hashCode, this.targettag = a.tagName
  3451. }
  3452. this.timeStamp = i.timeStamp ? i.timeStamp : n.timeStamp, this.timeHandled = r, this.type = e.eventAbbreviation(i.type), t.currentSession.update()
  3453. }
  3454. return e.normalizeEvent = function (e) {
  3455. return e[l.expando] ? e : l.event.fix(e)
  3456. }, e.eventAbbreviation = function (e) {
  3457. switch (e) {
  3458. case "blur":
  3459. return "bl";
  3460. case "focus":
  3461. return "fo";
  3462. case "change":
  3463. return "ch";
  3464. case "click":
  3465. return "cl";
  3466. case "dblclick":
  3467. return "dc";
  3468. case "keydown":
  3469. return "kd";
  3470. case "keyup":
  3471. return "ku";
  3472. case "keypress":
  3473. return "kp";
  3474. case "mousedown":
  3475. return "md";
  3476. case "mousemove":
  3477. return "mm";
  3478. case "mouseout":
  3479. return "mo";
  3480. case "mouseover":
  3481. return "mv";
  3482. case "mouseup":
  3483. return "mu";
  3484. case "select":
  3485. return "se";
  3486. default:
  3487. return e
  3488. }
  3489. }, e.isElement = function (e) {
  3490. return "id" in e || "tagName" in e
  3491. }, e.getTargetProperties = function (t) {
  3492. var n = {};
  3493. return n.id = t.id, n.tagName = t.tagName, n.hashCode = e.hashCode(c(t).getPath()), n
  3494. }, e.hashCode = function (e) {
  3495. var t = 0;
  3496. if (0 == e.length) return t;
  3497. for (var n = 0; n < e.length; n++) {
  3498. var r = e.charCodeAt(n);
  3499. t = (t << 5) - t + r, t &= t
  3500. }
  3501. return t
  3502. }, e.Ctor = function () {
  3503. var e = new Date;
  3504. return e.setMilliseconds(0), null
  3505. }(), e
  3506. }(),
  3507. f = function (e) {
  3508. function t(t, n) {
  3509. var r = d.normalizeEvent(t);
  3510. e.call(this, r, n), this.button = r.which, this.screenX = r.screenX, this.screenY = r.screenY, this.clientX = r.clientX, this.clientY = r.clientY, this.pageX = r.pageX, this.pageY = r.pageY, this.ctrlKey = r.ctrlKey, this.shiftKey = r.shiftKey, this.altKey = r.altKey, this.metaKey = r.metaKey
  3511. }
  3512. return __extends(t, e), t.isMouseEvent = function (e) {
  3513. return "button" in e
  3514. }, t
  3515. }(d),
  3516. h = function (e) {
  3517. function t(t, n, r, i) {
  3518. void 0 === i && (i = 0);
  3519. var o = d.normalizeEvent(t);
  3520. e.call(this, o, r), this.altKey = o.altKey, this.ctrlKey = o.ctrlKey, this.metaKey = o.metaKey, this.shiftKey = o.shiftKey, this.keyIndex = n, this.keyOver = -1 == n ? !0 : !1, this.locale = "locale" in t ? t.locale : "", this.location = "location" in t ? t.location : 0, this.nikc = "INPUT" != this.targettag ? o.keyCode || o.which : 0
  3521. }
  3522. return __extends(t, e), t
  3523. }(d),
  3524. m = function (e) {
  3525. function t(t, n, r) {
  3526. e.call(this, t, r), this.textLength = n
  3527. }
  3528. return __extends(t, e), t
  3529. }(d),
  3530. g = function () {
  3531. function e() {}
  3532. return e
  3533. }();
  3534. t.Session = g;
  3535. var v = function (e) {
  3536. function t() {
  3537. var n = this;
  3538. e.call(this), this.records = [], this.sampleRate = 100, this.mouseMoveCount = 0, this.mouseMoveCount = 0, this.onMouseMove = function (e) {
  3539. try {
  3540. var r = new Date;
  3541. n.mouseMoveCount += 1;
  3542. var i = new f(e, r.getTime()),
  3543. o = n.records.length - 1,
  3544. a = n.records[o];
  3545. if (0 > o) return void(o = n.records.push(i));
  3546. var s = a.timeStamp ? a.timeStamp : void 0;
  3547. s && i.timeStamp && i.timeStamp - s > n.sampleRate && (o = n.records.push(i)), n.records.length === t.maxEvents && n.unsubscribeMouseEvents()
  3548. } catch (u) {
  3549. console && console.warn("Error in Ellipsis.MouseMoveCollection():" + u)
  3550. }
  3551. }
  3552. }
  3553. return __extends(t, e), t.prototype.onMouseMove = function (e) {}, t.prototype.subscribeMouseEvents = function () {
  3554. c(document).addEventListener("mousemove", this.onMouseMove, !0)
  3555. }, t.prototype.unsubscribeMouseEvents = function () {
  3556. c(document).removeEventListener("mousemove", this.onMouseMove, !0)
  3557. }, t.prototype.harvest = function () {
  3558. var e = {
  3559. mouseMoveEvents: {
  3560. mouseMoveCount: this.mouseMoveCount,
  3561. sampleRate: this.sampleRate,
  3562. events: p.pack(this.records)
  3563. }
  3564. };
  3565. return this.records = [], this.mouseMoveCount = 0, e
  3566. }, t.prototype.init = function () {
  3567. this.subscribeMouseEvents()
  3568. }, t.prototype.uninit = function () {
  3569. this.unsubscribeMouseEvents()
  3570. }, t.maxEvents = 50, t
  3571. }(s),
  3572. y = function (e) {
  3573. function t() {
  3574. e.apply(this, arguments), this.startTime = (new Date).getTime()
  3575. }
  3576. return __extends(t, e), t.prototype.harvest = function () {
  3577. var e = (new Date).getTime(),
  3578. t = {};
  3579. return t.timeBalance = {
  3580. startTime: this.startTime,
  3581. collectTime: e,
  3582. diff: e - this.startTime
  3583. }, this.startTime = e, t
  3584. }, t
  3585. }(s),
  3586. b = function (e) {
  3587. function t() {
  3588. var t = this;
  3589. e.call(this), this.startRecords = [], this.endRecords = [], this.events = [], this.onEvent = function (e) {
  3590. try {
  3591. if (d.isElement(e.target)) {
  3592. var n = e.target;
  3593. if (void 0 === n) return;
  3594. var r = n.tagName.toLowerCase();
  3595. if ("input" === r && (r = n.type.toLowerCase()), "text" === r || "password" === r || "textarea" == r) {
  3596. var i = new m(e, c(n).val().length, (new Date).getTime());
  3597. t.events.push(i)
  3598. }
  3599. }
  3600. } catch (o) {
  3601. console && console.warn("Error in Ellipsis.TextInputLengthCollection():" + o)
  3602. }
  3603. }
  3604. }
  3605. return __extends(t, e), t.prototype.onEvent = function (e) {}, t.prototype.getCtrlLengths = function () {
  3606. return c("TEXTAREA,INPUT[type='text'],INPUT[type='password']").map(function (e, t) {
  3607. return {
  3608. control: t,
  3609. length: c(t).val().length
  3610. }
  3611. }).get()
  3612. }, t.prototype.start = function () {
  3613. this.startRecords = this.getCtrlLengths()
  3614. }, t.CreateCustomEvent = function (e) {
  3615. if (document.createEvent) {
  3616. var t = document.createEvent("CustomEvent");
  3617. t.initEvent("CustomEvent", !0, !0);
  3618. var n = Object.assign(e, t);
  3619. return n
  3620. }
  3621. if (document.createEventObject) {
  3622. var r = document.createEventObject(),
  3623. i = Object.assign(e, r);
  3624. return i
  3625. }
  3626. }, t.toEventRecords = function (e, n) {
  3627. for (var r = [], i = 0; i < e.length; i++) {
  3628. var o = e[i],
  3629. a = {
  3630. type: "ellipsis_harvest",
  3631. target: o.control,
  3632. currentTarget: o.control
  3633. },
  3634. s = t.CreateCustomEvent(a),
  3635. u = new m(s, o.length, void 0);
  3636. r.push(u)
  3637. }
  3638. return r
  3639. }, t.prototype.harvest = function () {
  3640. this.stop();
  3641. var e = {};
  3642. return e.textInput = {
  3643. startLength: p.pack(t.toEventRecords(this.startRecords, "ellipsis.init")),
  3644. endLength: p.pack(t.toEventRecords(this.endRecords, "ellipsis.harvest")),
  3645. events: p.pack(this.events)
  3646. }, this.reset(), e
  3647. }, t.prototype.init = function () {
  3648. this.reset(), this.subscribe()
  3649. }, t.prototype.subscribe = function () {
  3650. c(document).addEventListener("blur", this.onEvent, !0), c(document).addEventListener("focus", this.onEvent, !0), c(document).addEventListener("change", this.onEvent, !0), c(document).addEventListener("select", this.onEvent, !0)
  3651. }, t.prototype.uninit = function () {
  3652. this.unsubscribe()
  3653. }, t.prototype.unsubscribe = function () {
  3654. c(document).removeEventListener("blur", this.onEvent, !0), c(document).removeEventListener("focus", this.onEvent, !0), c(document).removeEventListener("change", this.onEvent, !0), c(document).removeEventListener("select", this.onEvent, !0)
  3655. }, t.prototype.stop = function () {
  3656. this.endRecords = this.getCtrlLengths()
  3657. }, t.prototype.reset = function () {
  3658. this.start(), this.endRecords = []
  3659. }, t
  3660. }(s),
  3661. x = function (e) {
  3662. function t() {
  3663. e.apply(this, arguments)
  3664. }
  3665. return __extends(t, e), t.prototype.harvest = function () {
  3666. var e = {
  3667. timeZone: (new Date).getTimezoneOffset(),
  3668. historyLength: 0,
  3669. pluginsLength: 0,
  3670. navigator: {},
  3671. window: {
  3672. screenTop: 0,
  3673. screenY: 0,
  3674. screenX: 0,
  3675. width: 0,
  3676. height: 0
  3677. },
  3678. devicePixelRatio: 0,
  3679. screen: {
  3680. width: 0,
  3681. height: 0,
  3682. colorDepth: 0
  3683. },
  3684. javaEnabled: !1,
  3685. localStorage: !1,
  3686. sessionStorage: !1
  3687. },
  3688. t = window.history;
  3689. t && t.go && (e.historyLength = t.length);
  3690. var n = navigator.plugins;
  3691. n && (e.pluginsLength = n.length), navigator && (e.navigator.appCodeName = navigator.appCodeName, e.navigator.appMinorVersion = navigator.appMinorVersion, e.navigator.appName = navigator.appName, e.navigator.appVersion = navigator.appVersion, e.navigator.cookieEnabled = navigator.cookieEnabled, e.navigator.onLine = navigator.onLine, e.navigator.platform = navigator.platform, e.navigator.userAgent = navigator.userAgent), void 0 !== window.screenTop && (e.window.screenTop = window.screenTop), void 0 !== window.screenY && (e.window.screenY = window.screenY), void 0 !== window.screenX && (e.window.screenX = window.screenX), void 0 !== window.devicePixelRatio && (e.devicePixelRatio = window.devicePixelRatio);
  3692. var r = window.screen;
  3693. r && void 0 !== r.width && void 0 !== r.height && (e.screen.width = r.width, e.screen.height = r.height), void 0 !== r.colorDepth && (e.screen.colorDepth = r.colorDepth), e.window.width = window.document.documentElement.clientwidth, e.window.height = window.document.documentElement.clientheight, navigator.javaEnabled && (e.javaEnabled = navigator.javaEnabled()), e.localStorage = this.testLocalStorage(), e.sessionStorage = this.testSessionStorage();
  3694. var i = {};
  3695. return i.browserFootprint = e, i
  3696. }, t.prototype.testLocalStorage = function () {
  3697. var e = "ellipsis";
  3698. try {
  3699. return localStorage.setItem(e, e), localStorage.removeItem(e), !0
  3700. } catch (t) {
  3701. return !1
  3702. }
  3703. }, t.prototype.testSessionStorage = function () {
  3704. var e = "ellipsis";
  3705. try {
  3706. return sessionStorage.setItem(e, e), sessionStorage.removeItem(e), !0
  3707. } catch (t) {
  3708. return !1
  3709. }
  3710. }, t
  3711. }(s);
  3712. t.BrowserFootprintCollection = x;
  3713. var E = function (e) {
  3714. function t() {
  3715. e.apply(this, arguments), this.pageCounts = {
  3716. formCount: 0,
  3717. inputCount: 0,
  3718. pwdCount: 0,
  3719. textareaCount: 0,
  3720. scriptCount: 0,
  3721. styleCount: 0,
  3722. iframeCount: 0
  3723. }
  3724. }
  3725. return __extends(t, e), t.prototype.init = function () {
  3726. this.pageCounts.formCount = c("form").length, this.pageCounts.textareaCount = c("textarea").length, this.pageCounts.scriptCount = c("script").length, this.pageCounts.styleCount = c("link").length, this.pageCounts.iframeCount = c("iframe").length, this.pageCounts.inputCount = c('input[type="text"]').length, this.pageCounts.pwdCount = c('input[type="password"]').length
  3727. }, t.prototype.harvest = function () {
  3728. var e = {};
  3729. return e.pageSnapshot = this.pageCounts, e
  3730. }, t
  3731. }(s),
  3732. w = function () {
  3733. function e() {
  3734. var e = this;
  3735. this.events = [], this.onKey = function (t) {
  3736. try {
  3737. var n = (new Date).getTime();
  3738. if (!t) return;
  3739. var r = t.keyCode ? t.keyCode : 0;
  3740. if ("keydown" == t.type) {
  3741. var i = e.kCodeMap[t.keyCode];
  3742. if (void 0 !== i && !isNaN(i) && i) return;
  3743. e.kCodeMap[t.keyCode] = n;
  3744. var r = e.getAvailableIndex();
  3745. r > -1 && (e.indexMap[r] = 0, e.kDownMap[t.keyCode] = r, e.kDownCount++, e.lastKDData = r)
  3746. } else if ("keyup" == t.type) {
  3747. if (delete e.kCodeMap[t.keyCode], r = e.kDownMap[t.keyCode], delete e.kDownMap[t.keyCode], void 0 === r) return;
  3748. e.indexMap[r] = 1, e.kDownCount--
  3749. } else "keypress" == t.type && (r = e.lastKDData);
  3750. var o = new h(t, r, n);
  3751. e.events.push(o)
  3752. } catch (a) {
  3753. console && console.warn("Error in Ellipsis.KeyboarEventsCollection():" + a)
  3754. }
  3755. }, this.reset()
  3756. }
  3757. return e.prototype.getAvailableIndex = function () {
  3758. for (var e = -1, t = 0; 10 > t && (e = t, !this.indexMap[t]); t++);
  3759. return e
  3760. }, e.prototype.onKey = function (e) {}, e.prototype.harvest = function () {
  3761. var e = {
  3762. keyboardEvents: p.pack(this.events)
  3763. };
  3764. return this.reset(), e
  3765. }, e.prototype.init = function () {
  3766. this.subscribe()
  3767. }, e.prototype.uninit = function () {
  3768. this.unsubscribe()
  3769. }, e.prototype.unsubscribe = function () {
  3770. c(document).removeEventListener("keydown", this.onKey, !0), c(document).removeEventListener("keyup", this.onKey, !0), c(document).removeEventListener("keypress", this.onKey, !0), this.reset()
  3771. }, e.prototype.subscribe = function () {
  3772. c(document).addEventListener("keydown", this.onKey, !0), c(document).addEventListener("keyup", this.onKey, !0), c(document).addEventListener("keypress", this.onKey, !0)
  3773. }, e.prototype.reset = function () {
  3774. this.events = [], this.kCodeMap = {}, this.kDownCount = 0, this.kDownMap = {}, this.lastKDData = 0, this.indexMap = {
  3775. 0: 1,
  3776. 1: 1,
  3777. 2: 1,
  3778. 3: 1,
  3779. 4: 1,
  3780. 5: 1,
  3781. 6: 1,
  3782. 7: 1,
  3783. 8: 1,
  3784. 9: 1
  3785. }
  3786. }, e
  3787. }();
  3788. t.KeyboardEventsCollector = w;
  3789. var C = function () {
  3790. function e() {
  3791. var e = this;
  3792. this.events = [], this.onMouse = function (t) {
  3793. try {
  3794. var n = (new Date).getTime();
  3795. if (!t) return;
  3796. var r = new f(t, n);
  3797. e.events.push(r)
  3798. } catch (i) {
  3799. console && console.warn("Error in Ellipsis.MouseEventsCollection():" + i)
  3800. }
  3801. }
  3802. }
  3803. return e.prototype.onMouse = function (e) {}, e.prototype.harvest = function () {
  3804. var e = {
  3805. mouseEvents: p.pack(this.events)
  3806. };
  3807. return this.reset(), e
  3808. }, e.prototype.init = function () {
  3809. this.subscribe()
  3810. }, e.prototype.uninit = function () {
  3811. this.unsubscribe()
  3812. }, e.prototype.subscribe = function () {
  3813. c(document).addEventListener("mousedown", this.onMouse, !0), c(document).addEventListener("mouseup", this.onMouse, !0), c(document).addEventListener("click", this.onMouse, !0), c(document).addEventListener("dblclick", this.onMouse, !0)
  3814. }, e.prototype.unsubscribe = function () {
  3815. c(document).removeEventListener("mousedown", this.onMouse, !0), c(document).removeEventListener("mouseup", this.onMouse, !0), c(document).removeEventListener("click", this.onMouse, !0), c(document).removeEventListener("dblclick", this.onMouse, !0), this.reset()
  3816. }, e.prototype.reset = function () {
  3817. this.events = []
  3818. }, e
  3819. }();
  3820. t.MouseEventsCollector = C;
  3821. var T = function () {
  3822. function e() {}
  3823. return e.compress = function (e) {
  3824. var t, n, r, i = {},
  3825. o = "",
  3826. a = [],
  3827. s = 256;
  3828. for (t = 0; 256 > t; t += 1) i[String.fromCharCode(t)] = t;
  3829. for (t = 0; t < e.length; t += 1) n = e.charAt(t), r = o + n, i.hasOwnProperty(r) ? o = r : (a.push(i[o]), i[r] = s++, o = String(n));
  3830. return "" !== o && a.push(i[o]), a
  3831. }, e
  3832. }();
  3833. t.LZW = T;
  3834. var k = function () {
  3835. function e() {}
  3836. return e.create = function (e, t, n) {
  3837. var r = 24 * (n.days || 0) * 60 + 60 * (n.hours || 0) + (n.minutes || 0),
  3838. i = "";
  3839. if (r > 0) {
  3840. var o = new Date;
  3841. o.setTime(o.getTime() + 60 * r * 1e3), i = "; expires=" + o.toUTCString()
  3842. }
  3843. var a = e + "=" + t + i + "; path=/";
  3844. document.cookie = a
  3845. }, e.read = function (e) {
  3846. for (var t = e + "=", n = document.cookie.split(";"), r = 0; r < n.length; r++) {
  3847. for (var i = n[r];
  3848. " " == i.charAt(0);) i = i.substring(1, i.length);
  3849. if (0 == i.indexOf(t)) return i.substring(t.length, i.length)
  3850. }
  3851. return null
  3852. }, e.prototype.erase = function (t) {
  3853. e.create(t, "", -1)
  3854. }, e
  3855. }(),
  3856. S = function () {
  3857. function e() {}
  3858. return e.generate = function () {
  3859. var t = e._gri,
  3860. n = e._ha;
  3861. return n(t(32), 8) + "-" + n(t(16), 4) + "-" + n(16384 | t(12), 4) + "-" + n(32768 | t(14), 4) + "-" + n(t(48), 12)
  3862. }, e._gri = function (e) {
  3863. return 0 > e ? NaN : 30 >= e ? 0 | Math.random() * (1 << e) : 53 >= e ? (0 | 1073741824 * Math.random()) + 1073741824 * (0 | Math.random() * (1 << e - 30)) : NaN
  3864. }, e._ha = function (e, t) {
  3865. for (var n = e.toString(16), r = t - n.length, i = "0"; r > 0; r >>>= 1, i += i) 1 & r && (n = i + n);
  3866. return n
  3867. }, e
  3868. }();
  3869. t.UUID = S,
  3870. function () {
  3871. for (var e, t = function () {}, n = ["assert", "clear", "count", "debug", "dir", "dirxml", "error", "exception", "group", "groupCollapsed", "groupEnd", "info", "log", "markTimeline", "profile", "profileEnd", "table", "time", "timeEnd", "timeStamp", "trace", "warn"], r = n.length, i = window.console || {}; r--;) e = n[r], i[e] || (i[e] = t)
  3872. }();
  3873. var N = function () {
  3874. function e() {
  3875. this.api_key = this.ExtractAPIKey()
  3876. }
  3877. return e.prototype.ExtractAPIKey = function () {
  3878. function e(e) {
  3879. e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  3880. var t = new RegExp("[\\?&]" + e + "=([^&#]*)"),
  3881. n = t.exec(r);
  3882. return null === n ? "" : decodeURIComponent(n[1].replace(/\+/g, " "))
  3883. }
  3884. for (var t = document.getElementsByTagName("script"), n = 0; n < t.length; n++) {
  3885. var r = t[n].src.toLowerCase();
  3886. if (r.indexOf("ellipsis.js") > -1) return e("api_key")
  3887. }
  3888. return ""
  3889. }, e
  3890. }();
  3891. t.API_Key = N;
  3892. var M = function () {
  3893. function e() {
  3894. this.pageId = S.generate(), this.update()
  3895. }
  3896. return e.prototype.update = function () {
  3897. var t = k.read(e.sessionKey);
  3898. this.sessionId = t ? t : S.generate(), k.create(e.sessionKey, this.sessionId, {
  3899. minutes: 30
  3900. });
  3901. var n = k.read(e.customSessionKey);
  3902. n && this.setCustomerSession(n)
  3903. }, e.prototype.setCustomerSession = function (t) {
  3904. k.create(e.customSessionKey, t, {
  3905. minutes: 30
  3906. })
  3907. }, e.sessionKey = "ellipsis.sessionid", e.customSessionKey = "ellipsis.customsessionid", e
  3908. }();
  3909. t.CurrentSession = M, t.currentSession = new M, t.api_key = new N, t.browserFootprintCollector = new x, t.mouseMoveCollector = new v, t.mouseEventsCollector = new C, t.keyboardEventsCollector = new w, t.timeBalanceCollector = new y, t.textLengthCollector = new b, t.pageSnapshotCollector = new E, t.touchMoveCollector = new u, t.start = function () {
  3910. t.browserFootprintCollector.init(), t.mouseMoveCollector.init(), t.mouseEventsCollector.init(), t.keyboardEventsCollector.init(), t.timeBalanceCollector.init(), t.textLengthCollector.init(), t.pageSnapshotCollector.init(), t.touchMoveCollector.init()
  3911. };
  3912. var L = function () {
  3913. var e = window.ellipsis;
  3914. if (e && e.signal) {
  3915. var t = typeof e.signal,
  3916. n = e.signal;
  3917. if ("string" == t) switch (n) {
  3918. case "human":
  3919. return 1;
  3920. case "bot":
  3921. return 2
  3922. } else if ("number" == t && n >= 0 && 2 >= n) return n
  3923. }
  3924. return n = 0, c.each(a(), function (e, t) {
  3925. var r = t.getAttribute("data-signal");
  3926. if (r) switch (r) {
  3927. case "human":
  3928. return n = 1, !1;
  3929. case "bot":
  3930. return n = 2, !1
  3931. }
  3932. }), n
  3933. };
  3934. t.harvest = function () {
  3935. var e = {
  3936. signal: 0,
  3937. api_key: "",
  3938. version: "2.0"
  3939. };
  3940. return e.signal = L(), c.extend(e, t.currentSession), c.extend(e, t.browserFootprintCollector.harvest()), c.extend(e, t.mouseMoveCollector.harvest()), c.extend(e, t.mouseEventsCollector.harvest()), c.extend(e, t.keyboardEventsCollector.harvest()), c.extend(e, t.timeBalanceCollector.harvest()), c.extend(e, t.textLengthCollector.harvest()), c.extend(e, t.pageSnapshotCollector.harvest()), c.extend(e, t.touchMoveCollector.harvest()), c.extend(e, t.api_key), e
  3941. }, t.end = function () {
  3942. t.browserFootprintCollector.uninit(), t.mouseMoveCollector.uninit(), t.mouseEventsCollector.uninit(), t.keyboardEventsCollector.uninit(), t.timeBalanceCollector.uninit(), t.textLengthCollector.uninit(), t.pageSnapshotCollector.uninit(), t.touchMoveCollector.uninit()
  3943. }, t.collectionTriggered = function (e) {
  3944. try {
  3945. c(window).removeEventListener("unload", t.collectionTriggered, !0);
  3946. var noHref = "" === e.target.href,
  3947. n = t.harvest(),
  3948. r = T.compress(JSON.stringify(n));
  3949. c.ajax({
  3950. type: "POST",
  3951. contentType: "application/json; charset=utf-8",
  3952. url: "https://api.humanpresence.io/v2",
  3953. data: JSON.stringify(r),
  3954. async: !!noHref,
  3955. complete: function () {
  3956. console.info("Ellipsis server called sucessfully.")
  3957. },
  3958. error: function (e, t, n) {
  3959. throw new Error("Error calling ellipsis server. " + t)
  3960. }
  3961. })
  3962. } catch (i) {
  3963. console.warn(i.message)
  3964. }
  3965. }, t.registerSiteSession = function (e, n) {
  3966. var r = {
  3967. sessid: t.currentSession.sessionId,
  3968. site_sessid: e,
  3969. api_key: n
  3970. };
  3971. c.ajax({
  3972. type: "POST",
  3973. contentType: "application/json; charset=utf-8",
  3974. url: "https://api.humanpresence.io/v2/registersession",
  3975. data: JSON.stringify(r),
  3976. async: !1,
  3977. complete: function () {
  3978. console.info("Ellipsis server called sucessfully.")
  3979. },
  3980. error: function (e, t, n) {
  3981. throw new Error("Error calling ellipsis server. " + t)
  3982. }
  3983. }), t.currentSession.setCustomerSession(e)
  3984. }, t.checkHumanPresence = function (e, n) {
  3985. void 0 === n && (n = null), n || (n = t.currentSession.sessionId);
  3986. var r, i;
  3987. return c.ajax({
  3988. type: "GET",
  3989. url: "https://api.humanpresence.io/v2/checkhumanpresence/" + n + "?apikey=" + e,
  3990. async: !1,
  3991. success: function (e) {
  3992. r = e.signal, i = e.confidence
  3993. },
  3994. error: function (e, t, n) {
  3995. throw new Error("Error calling ellipsis server. " + t)
  3996. }
  3997. }), {
  3998. signal: r,
  3999. confidence: i
  4000. }
  4001. }, t.reportSignal = function (e, n, r) {
  4002. void 0 === r && (r = null), r || (r = t.currentSession.sessionId);
  4003. var i = {
  4004. sessid: r,
  4005. pageid: t.currentSession.pageId,
  4006. signal: e,
  4007. apikey: n
  4008. };
  4009. c.ajax({
  4010. type: "POST",
  4011. data: JSON.stringify(i),
  4012. contentType: "application/json; charset=utf-8",
  4013. url: "https://api.humanpresence.io/v2/reportsignal",
  4014. async: !1,
  4015. error: function (e, t, n) {
  4016. throw new Error("Error calling ellipsis server. " + t)
  4017. }
  4018. })
  4019. }, c.fn.getPath = function (e) {
  4020. if ("undefined" == typeof e && (e = ""), this.is("html") || void 0 == this.get(0)) return "html" + e;
  4021. var t = this.get(0).nodeName.toLowerCase(),
  4022. n = this.attr("id"),
  4023. r = this.attr("class");
  4024. return "undefined" != typeof n && (t += "#" + n), "undefined" != typeof r && (t += "." + r.split(/[\s\n]+/).join(".")), this.parent().getPath(" > " + t + e)
  4025. }, c.fn.addEventListener = function (e, t, n) {
  4026. return this.each(function () {
  4027. this.addEventListener ? this.addEventListener(e, t, n) : this.attachEvent ? this.attachEvent("on" + e, t) : this["on" + e] = t
  4028. })
  4029. }, c.fn.removeEventListener = function (e, t, n) {
  4030. return this.each(function () {
  4031. this.removeEventListener ? this.removeEventListener(e, t, n) : this.detachEvent ? this.detachEvent("on" + e, t) : this["on" + e] = null
  4032. })
  4033. }
  4034. }),
  4035. function () {
  4036. ellipsis.require(["ell-jquery", "ellipsis"], function (e, t) {
  4037. t.start(), e(document).ready(function () {
  4038. e.support.cors || console.warn("Ellipsis: Browser (or IE compatability mode) does not support CORS."), e("a").addEventListener("click", t.collectionTriggered, !0), e("form").addEventListener("submit", t.collectionTriggered, !0), e(window).addEventListener("unload", t.collectionTriggered, !0), e(window).addEventListener("popstate", t.collectionTriggered, !0)
  4039. })
  4040. })
  4041. }(), ellipsis.define("src/ellipsis_init.js", function () {});var ellipsis;
  4042. ! function () {
  4043. if (!ellipsis || !ellipsis.requirejs) {
  4044. ellipsis ? require = ellipsis : ellipsis = {};
  4045. var requirejs, require, define;
  4046. ! function (global) {
  4047. function isFunction(e) {
  4048. return "[object Function]" === ostring.call(e)
  4049. }
  4050.  
  4051. function isArray(e) {
  4052. return "[object Array]" === ostring.call(e)
  4053. }
  4054.  
  4055. function each(e, t) {
  4056. if (e) {
  4057. var n;
  4058. for (n = 0; n < e.length && (!e[n] || !t(e[n], n, e)); n += 1);
  4059. }
  4060. }
  4061.  
  4062. function eachReverse(e, t) {
  4063. if (e) {
  4064. var n;
  4065. for (n = e.length - 1; n > -1 && (!e[n] || !t(e[n], n, e)); n -= 1);
  4066. }
  4067. }
  4068.  
  4069. function hasProp(e, t) {
  4070. return hasOwn.call(e, t)
  4071. }
  4072.  
  4073. function getOwn(e, t) {
  4074. return hasProp(e, t) && e[t]
  4075. }
  4076.  
  4077. function eachProp(e, t) {
  4078. var n;
  4079. for (n in e)
  4080. if (hasProp(e, n) && t(e[n], n)) break
  4081. }
  4082.  
  4083. function mixin(e, t, n, r) {
  4084. return t && eachProp(t, function (t, i) {
  4085. (n || !hasProp(e, i)) && (r && "string" != typeof t ? (e[i] || (e[i] = {}), mixin(e[i], t, n, r)) : e[i] = t)
  4086. }), e
  4087. }
  4088.  
  4089. function bind(e, t) {
  4090. return function () {
  4091. return t.apply(e, arguments)
  4092. }
  4093. }
  4094.  
  4095. function scripts() {
  4096. return document.getElementsByTagName("script")
  4097. }
  4098.  
  4099. function getGlobal(e) {
  4100. if (!e) return e;
  4101. var t = global;
  4102. return each(e.split("."), function (e) {
  4103. t = t[e]
  4104. }), t
  4105. }
  4106.  
  4107. function makeError(e, t, n, r) {
  4108. var i = new Error(t + "\nhttp://requirejs.org/docs/errors.html#" + e);
  4109. return i.requireType = e, i.requireModules = r, n && (i.originalError = n), i
  4110. }
  4111.  
  4112. function newContext(e) {
  4113. function t(e) {
  4114. var t, n;
  4115. for (t = 0; e[t]; t += 1)
  4116. if (n = e[t], "." === n) e.splice(t, 1), t -= 1;
  4117. else if (".." === n) {
  4118. if (1 === t && (".." === e[2] || ".." === e[0])) break;
  4119. t > 0 && (e.splice(t - 1, 2), t -= 2)
  4120. }
  4121. }
  4122.  
  4123. function n(e, n, r) {
  4124. var i, o, a, s, u, c, l, p, d, f, h, m = n && n.split("/"),
  4125. g = m,
  4126. v = C.map,
  4127. y = v && v["*"];
  4128. if (e && "." === e.charAt(0) && (n ? (g = getOwn(C.pkgs, n) ? m = [n] : m.slice(0, m.length - 1), e = g.concat(e.split("/")), t(e), o = getOwn(C.pkgs, i = e[0]), e = e.join("/"), o && e === i + "/" + o.main && (e = i)) : 0 === e.indexOf("./") && (e = e.substring(2))), r && v && (m || y)) {
  4129. for (s = e.split("/"), u = s.length; u > 0; u -= 1) {
  4130. if (l = s.slice(0, u).join("/"), m)
  4131. for (c = m.length; c > 0; c -= 1)
  4132. if (a = getOwn(v, m.slice(0, c).join("/")), a && (a = getOwn(a, l))) {
  4133. p = a, d = u;
  4134. break
  4135. } if (p) break;
  4136. !f && y && getOwn(y, l) && (f = getOwn(y, l), h = u)
  4137. }!p && f && (p = f, d = h), p && (s.splice(0, d, p), e = s.join("/"))
  4138. }
  4139. return e
  4140. }
  4141.  
  4142. function r(e) {
  4143. isBrowser && each(scripts(), function (t) {
  4144. return t.getAttribute("data-requiremodule") === e && t.getAttribute("data-requirecontext") === x.contextName ? (t.parentNode.removeChild(t), !0) : void 0
  4145. })
  4146. }
  4147.  
  4148. function i(e) {
  4149. var t = getOwn(C.paths, e);
  4150. return t && isArray(t) && t.length > 1 ? (r(e), t.shift(), x.require.undef(e), x.require([e]), !0) : void 0
  4151. }
  4152.  
  4153. function o(e) {
  4154. var t, n = e ? e.indexOf("!") : -1;
  4155. return n > -1 && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e]
  4156. }
  4157.  
  4158. function a(e, t, r, i) {
  4159. var a, s, u, c, l = null,
  4160. p = t ? t.name : null,
  4161. d = e,
  4162. f = !0,
  4163. h = "";
  4164. return e || (f = !1, e = "_@r" + (D += 1)), c = o(e), l = c[0], e = c[1], l && (l = n(l, p, i), s = getOwn(M, l)), e && (l ? h = s && s.normalize ? s.normalize(e, function (e) {
  4165. return n(e, p, i)
  4166. }) : n(e, p, i) : (h = n(e, p, i), c = o(h), l = c[0], h = c[1], r = !0, a = x.nameToUrl(h))), u = !l || s || r ? "" : "_unnormalized" + (A += 1), {
  4167. prefix: l,
  4168. name: h,
  4169. parentMap: t,
  4170. unnormalized: !!u,
  4171. url: a,
  4172. originalName: d,
  4173. isDefine: f,
  4174. id: (l ? l + "!" + h : h) + u
  4175. }
  4176. }
  4177.  
  4178. function s(e) {
  4179. var t = e.id,
  4180. n = getOwn(T, t);
  4181. return n || (n = T[t] = new x.Module(e)), n
  4182. }
  4183.  
  4184. function u(e, t, n) {
  4185. var r = e.id,
  4186. i = getOwn(T, r);
  4187. !hasProp(M, r) || i && !i.defineEmitComplete ? s(e).on(t, n) : "defined" === t && n(M[r])
  4188. }
  4189.  
  4190. function c(e, t) {
  4191. var n = e.requireModules,
  4192. r = !1;
  4193. t ? t(e) : (each(n, function (t) {
  4194. var n = getOwn(T, t);
  4195. n && (n.error = e, n.events.error && (r = !0, n.emit("error", e)))
  4196. }), r || req.onError(e))
  4197. }
  4198.  
  4199. function l() {
  4200. globalDefQueue.length && (apsp.apply(N, [N.length - 1, 0].concat(globalDefQueue)), globalDefQueue = [])
  4201. }
  4202.  
  4203. function p(e) {
  4204. delete T[e], delete k[e]
  4205. }
  4206.  
  4207. function d(e, t, n) {
  4208. var r = e.map.id;
  4209. e.error ? e.emit("error", e.error) : (t[r] = !0, each(e.depMaps, function (r, i) {
  4210. var o = r.id,
  4211. a = getOwn(T, o);
  4212. !a || e.depMatched[i] || n[o] || (getOwn(t, o) ? (e.defineDep(i, M[o]), e.check()) : d(a, t, n))
  4213. }), n[r] = !0)
  4214. }
  4215.  
  4216. function f() {
  4217. var e, t, n, o, a = 1e3 * C.waitSeconds,
  4218. s = a && x.startTime + a < (new Date).getTime(),
  4219. u = [],
  4220. l = [],
  4221. p = !1,
  4222. h = !0;
  4223. if (!y) {
  4224. if (y = !0, eachProp(k, function (n) {
  4225. if (e = n.map, t = e.id, n.enabled && (e.isDefine || l.push(n), !n.error))
  4226. if (!n.inited && s) i(t) ? (o = !0, p = !0) : (u.push(t), r(t));
  4227. else if (!n.inited && n.fetched && e.isDefine && (p = !0, !e.prefix)) return h = !1
  4228. }), s && u.length) return n = makeError("timeout", "Load timeout for modules: " + u, null, u), n.contextName = x.contextName, c(n);
  4229. h && each(l, function (e) {
  4230. d(e, {}, {})
  4231. }), s && !o || !p || !isBrowser && !isWebWorker || w || (w = setTimeout(function () {
  4232. w = 0, f()
  4233. }, 50)), y = !1
  4234. }
  4235. }
  4236.  
  4237. function h(e) {
  4238. hasProp(M, e[0]) || s(a(e[0], null, !0)).init(e[1], e[2])
  4239. }
  4240.  
  4241. function m(e, t, n, r) {
  4242. e.detachEvent && !isOpera ? r && e.detachEvent(r, t) : e.removeEventListener(n, t, !1)
  4243. }
  4244.  
  4245. function g(e) {
  4246. var t = e.currentTarget || e.srcElement;
  4247. return m(t, x.onScriptLoad, "load", "onreadystatechange"), m(t, x.onScriptError, "error"), {
  4248. node: t,
  4249. id: t && t.getAttribute("data-requiremodule")
  4250. }
  4251. }
  4252.  
  4253. function v() {
  4254. var e;
  4255. for (l(); N.length;) {
  4256. if (e = N.shift(), null === e[0]) return c(makeError("mismatch", "Mismatched anonymous define() module: " + e[e.length - 1]));
  4257. h(e)
  4258. }
  4259. }
  4260. var y, b, x, E, w, C = {
  4261. waitSeconds: 7,
  4262. baseUrl: "./",
  4263. paths: {},
  4264. pkgs: {},
  4265. shim: {},
  4266. config: {}
  4267. },
  4268. T = {},
  4269. k = {},
  4270. S = {},
  4271. N = [],
  4272. M = {},
  4273. L = {},
  4274. D = 1,
  4275. A = 1;
  4276. return E = {
  4277. require: function (e) {
  4278. return e.require ? e.require : e.require = x.makeRequire(e.map)
  4279. },
  4280. exports: function (e) {
  4281. return e.usingExports = !0, e.map.isDefine ? e.exports ? e.exports : e.exports = M[e.map.id] = {} : void 0
  4282. },
  4283. module: function (e) {
  4284. return e.module ? e.module : e.module = {
  4285. id: e.map.id,
  4286. uri: e.map.url,
  4287. config: function () {
  4288. return C.config && getOwn(C.config, e.map.id) || {}
  4289. },
  4290. exports: M[e.map.id]
  4291. }
  4292. }
  4293. }, b = function (e) {
  4294. this.events = getOwn(S, e.id) || {}, this.map = e, this.shim = getOwn(C.shim, e.id), this.depExports = [], this.depMaps = [], this.depMatched = [], this.pluginMaps = {}, this.depCount = 0
  4295. }, b.prototype = {
  4296. init: function (e, t, n, r) {
  4297. r = r || {}, this.inited || (this.factory = t, n ? this.on("error", n) : this.events.error && (n = bind(this, function (e) {
  4298. this.emit("error", e)
  4299. })), this.depMaps = e && e.slice(0), this.errback = n, this.inited = !0, this.ignore = r.ignore, r.enabled || this.enabled ? this.enable() : this.check())
  4300. },
  4301. defineDep: function (e, t) {
  4302. this.depMatched[e] || (this.depMatched[e] = !0, this.depCount -= 1, this.depExports[e] = t)
  4303. },
  4304. fetch: function () {
  4305. if (!this.fetched) {
  4306. this.fetched = !0, x.startTime = (new Date).getTime();
  4307. var e = this.map;
  4308. return this.shim ? void x.makeRequire(this.map, {
  4309. enableBuildCallback: !0
  4310. })(this.shim.deps || [], bind(this, function () {
  4311. return e.prefix ? this.callPlugin() : this.load()
  4312. })) : e.prefix ? this.callPlugin() : this.load()
  4313. }
  4314. },
  4315. load: function () {
  4316. var e = this.map.url;
  4317. L[e] || (L[e] = !0, x.load(this.map.id, e))
  4318. },
  4319. check: function () {
  4320. if (this.enabled && !this.enabling) {
  4321. var e, t, n = this.map.id,
  4322. r = this.depExports,
  4323. i = this.exports,
  4324. o = this.factory;
  4325. if (this.inited) {
  4326. if (this.error) this.emit("error", this.error);
  4327. else if (!this.defining) {
  4328. if (this.defining = !0, this.depCount < 1 && !this.defined) {
  4329. if (isFunction(o)) {
  4330. if (this.events.error) try {
  4331. i = x.execCb(n, o, r, i)
  4332. } catch (a) {
  4333. e = a
  4334. } else i = x.execCb(n, o, r, i);
  4335. if (this.map.isDefine && (t = this.module, t && void 0 !== t.exports && t.exports !== this.exports ? i = t.exports : void 0 === i && this.usingExports && (i = this.exports)), e) return e.requireMap = this.map, e.requireModules = [this.map.id], e.requireType = "define", c(this.error = e)
  4336. } else i = o;
  4337. this.exports = i, this.map.isDefine && !this.ignore && (M[n] = i, req.onResourceLoad && req.onResourceLoad(x, this.map, this.depMaps)), p(n), this.defined = !0
  4338. }
  4339. this.defining = !1, this.defined && !this.defineEmitted && (this.defineEmitted = !0, this.emit("defined", this.exports), this.defineEmitComplete = !0)
  4340. }
  4341. } else this.fetch()
  4342. }
  4343. },
  4344. callPlugin: function () {
  4345. var e = this.map,
  4346. t = e.id,
  4347. r = a(e.prefix);
  4348. this.depMaps.push(r), u(r, "defined", bind(this, function (r) {
  4349. var i, o, l, d = this.map.name,
  4350. f = this.map.parentMap ? this.map.parentMap.name : null,
  4351. h = x.makeRequire(e.parentMap, {
  4352. enableBuildCallback: !0
  4353. });
  4354. return this.map.unnormalized ? (r.normalize && (d = r.normalize(d, function (e) {
  4355. return n(e, f, !0)
  4356. }) || ""), o = a(e.prefix + "!" + d, this.map.parentMap), u(o, "defined", bind(this, function (e) {
  4357. this.init([], function () {
  4358. return e
  4359. }, null, {
  4360. enabled: !0,
  4361. ignore: !0
  4362. })
  4363. })), l = getOwn(T, o.id), void(l && (this.depMaps.push(o), this.events.error && l.on("error", bind(this, function (e) {
  4364. this.emit("error", e)
  4365. })), l.enable()))) : (i = bind(this, function (e) {
  4366. this.init([], function () {
  4367. return e
  4368. }, null, {
  4369. enabled: !0
  4370. })
  4371. }), i.error = bind(this, function (e) {
  4372. this.inited = !0, this.error = e, e.requireModules = [t], eachProp(T, function (e) {
  4373. 0 === e.map.id.indexOf(t + "_unnormalized") && p(e.map.id)
  4374. }), c(e)
  4375. }), i.fromText = bind(this, function (n, r) {
  4376. var o = e.name,
  4377. u = a(o),
  4378. l = useInteractive;
  4379. r && (n = r), l && (useInteractive = !1), s(u), hasProp(C.config, t) && (C.config[o] = C.config[t]);
  4380. try {
  4381. req.exec(n)
  4382. } catch (p) {
  4383. return c(makeError("fromtexteval", "fromText eval for " + t + " failed: " + p, p, [t]))
  4384. }
  4385. l && (useInteractive = !0), this.depMaps.push(u), x.completeLoad(o), h([o], i)
  4386. }), void r.load(e.name, h, i, C))
  4387. })), x.enable(r, this), this.pluginMaps[r.id] = r
  4388. },
  4389. enable: function () {
  4390. k[this.map.id] = this, this.enabled = !0, this.enabling = !0, each(this.depMaps, bind(this, function (e, t) {
  4391. var n, r, i;
  4392. if ("string" == typeof e) {
  4393. if (e = a(e, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap), this.depMaps[t] = e, i = getOwn(E, e.id)) return void(this.depExports[t] = i(this));
  4394. this.depCount += 1, u(e, "defined", bind(this, function (e) {
  4395. this.defineDep(t, e), this.check()
  4396. })), this.errback && u(e, "error", this.errback)
  4397. }
  4398. n = e.id, r = T[n], hasProp(E, n) || !r || r.enabled || x.enable(e, this)
  4399. })), eachProp(this.pluginMaps, bind(this, function (e) {
  4400. var t = getOwn(T, e.id);
  4401. t && !t.enabled && x.enable(e, this)
  4402. })), this.enabling = !1, this.check()
  4403. },
  4404. on: function (e, t) {
  4405. var n = this.events[e];
  4406. n || (n = this.events[e] = []), n.push(t)
  4407. },
  4408. emit: function (e, t) {
  4409. each(this.events[e], function (e) {
  4410. e(t)
  4411. }), "error" === e && delete this.events[e]
  4412. }
  4413. }, x = {
  4414. config: C,
  4415. contextName: e,
  4416. registry: T,
  4417. defined: M,
  4418. urlFetched: L,
  4419. defQueue: N,
  4420. Module: b,
  4421. makeModuleMap: a,
  4422. nextTick: req.nextTick,
  4423. onError: c,
  4424. configure: function (e) {
  4425. e.baseUrl && "/" !== e.baseUrl.charAt(e.baseUrl.length - 1) && (e.baseUrl += "/");
  4426. var t = C.pkgs,
  4427. n = C.shim,
  4428. r = {
  4429. paths: !0,
  4430. config: !0,
  4431. map: !0
  4432. };
  4433. eachProp(e, function (e, t) {
  4434. r[t] ? "map" === t ? (C.map || (C.map = {}), mixin(C[t], e, !0, !0)) : mixin(C[t], e, !0) : C[t] = e
  4435. }), e.shim && (eachProp(e.shim, function (e, t) {
  4436. isArray(e) && (e = {
  4437. deps: e
  4438. }), !e.exports && !e.init || e.exportsFn || (e.exportsFn = x.makeShimExports(e)), n[t] = e
  4439. }), C.shim = n), e.packages && (each(e.packages, function (e) {
  4440. var n;
  4441. e = "string" == typeof e ? {
  4442. name: e
  4443. } : e, n = e.location, t[e.name] = {
  4444. name: e.name,
  4445. location: n || e.name,
  4446. main: (e.main || "main").replace(currDirRegExp, "").replace(jsSuffixRegExp, "")
  4447. }
  4448. }), C.pkgs = t), eachProp(T, function (e, t) {
  4449. e.inited || e.map.unnormalized || (e.map = a(t))
  4450. }), (e.deps || e.callback) && x.require(e.deps || [], e.callback)
  4451. },
  4452. makeShimExports: function (e) {
  4453. function t() {
  4454. var t;
  4455. return e.init && (t = e.init.apply(global, arguments)), t || e.exports && getGlobal(e.exports)
  4456. }
  4457. return t
  4458. },
  4459. makeRequire: function (t, r) {
  4460. function i(n, o, u) {
  4461. var l, p, d;
  4462. return r.enableBuildCallback && o && isFunction(o) && (o.__requireJsBuild = !0), "string" == typeof n ? isFunction(o) ? c(makeError("requireargs", "Invalid require call"), u) : t && hasProp(E, n) ? E[n](T[t.id]) : req.get ? req.get(x, n, t, i) : (p = a(n, t, !1, !0), l = p.id, hasProp(M, l) ? M[l] : c(makeError("notloaded", 'Module name "' + l + '" has not been loaded yet for context: ' + e + (t ? "" : ". Use require([])")))) : (v(), x.nextTick(function () {
  4463. v(), d = s(a(null, t)), d.skipMap = r.skipMap, d.init(n, o, u, {
  4464. enabled: !0
  4465. }), f()
  4466. }), i)
  4467. }
  4468. return r = r || {}, mixin(i, {
  4469. isBrowser: isBrowser,
  4470. toUrl: function (e) {
  4471. var r, i = e.lastIndexOf("."),
  4472. o = e.split("/")[0],
  4473. a = "." === o || ".." === o;
  4474. return -1 !== i && (!a || i > 1) && (r = e.substring(i, e.length), e = e.substring(0, i)), x.nameToUrl(n(e, t && t.id, !0), r, !0)
  4475. },
  4476. defined: function (e) {
  4477. return hasProp(M, a(e, t, !1, !0).id)
  4478. },
  4479. specified: function (e) {
  4480. return e = a(e, t, !1, !0).id, hasProp(M, e) || hasProp(T, e)
  4481. }
  4482. }), t || (i.undef = function (e) {
  4483. l();
  4484. var n = a(e, t, !0),
  4485. r = getOwn(T, e);
  4486. delete M[e], delete L[n.url], delete S[e], r && (r.events.defined && (S[e] = r.events), p(e))
  4487. }), i
  4488. },
  4489. enable: function (e) {
  4490. var t = getOwn(T, e.id);
  4491. t && s(e).enable()
  4492. },
  4493. completeLoad: function (e) {
  4494. var t, n, r, o = getOwn(C.shim, e) || {},
  4495. a = o.exports;
  4496. for (l(); N.length;) {
  4497. if (n = N.shift(), null === n[0]) {
  4498. if (n[0] = e, t) break;
  4499. t = !0
  4500. } else n[0] === e && (t = !0);
  4501. h(n)
  4502. }
  4503. if (r = getOwn(T, e), !t && !hasProp(M, e) && r && !r.inited) {
  4504. if (!(!C.enforceDefine || a && getGlobal(a))) return i(e) ? void 0 : c(makeError("nodefine", "No define call for " + e, null, [e]));
  4505. h([e, o.deps || [], o.exportsFn])
  4506. }
  4507. f()
  4508. },
  4509. nameToUrl: function (e, t, n) {
  4510. var r, i, o, a, s, u, c, l, p;
  4511. if (req.jsExtRegExp.test(e)) l = e + (t || "");
  4512. else {
  4513. for (r = C.paths, i = C.pkgs, s = e.split("/"), u = s.length; u > 0; u -= 1) {
  4514. if (c = s.slice(0, u).join("/"), o = getOwn(i, c), p = getOwn(r, c)) {
  4515. isArray(p) && (p = p[0]), s.splice(0, u, p);
  4516. break
  4517. }
  4518. if (o) {
  4519. a = e === o.name ? o.location + "/" + o.main : o.location, s.splice(0, u, a);
  4520. break
  4521. }
  4522. }
  4523. l = s.join("/"), l += t || (/\?/.test(l) || n ? "" : ".js"), l = ("/" === l.charAt(0) || l.match(/^[\w\+\.\-]+:/) ? "" : C.baseUrl) + l
  4524. }
  4525. return C.urlArgs ? l + ((-1 === l.indexOf("?") ? "?" : "&") + C.urlArgs) : l
  4526. },
  4527. load: function (e, t) {
  4528. req.load(x, e, t)
  4529. },
  4530. execCb: function (e, t, n, r) {
  4531. return t.apply(r, n)
  4532. },
  4533. onScriptLoad: function (e) {
  4534. if ("load" === e.type || readyRegExp.test((e.currentTarget || e.srcElement).readyState)) {
  4535. interactiveScript = null;
  4536. var t = g(e);
  4537. x.completeLoad(t.id)
  4538. }
  4539. },
  4540. onScriptError: function (e) {
  4541. var t = g(e);
  4542. return i(t.id) ? void 0 : c(makeError("scripterror", "Script error", e, [t.id]))
  4543. }
  4544. }, x.require = x.makeRequire(), x
  4545. }
  4546.  
  4547. function getInteractiveScript() {
  4548. return interactiveScript && "interactive" === interactiveScript.readyState ? interactiveScript : (eachReverse(scripts(), function (e) {
  4549. return "interactive" === e.readyState ? interactiveScript = e : void 0
  4550. }), interactiveScript)
  4551. }
  4552. var req, s, head, baseElement, dataMain, src, interactiveScript, currentlyAddingScript, mainScript, subPath, version = "2.1.5",
  4553. commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,
  4554. cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
  4555. jsSuffixRegExp = /\.js$/,
  4556. currDirRegExp = /^\.\//,
  4557. op = Object.prototype,
  4558. ostring = op.toString,
  4559. hasOwn = op.hasOwnProperty,
  4560. ap = Array.prototype,
  4561. apsp = ap.splice,
  4562. isBrowser = !("undefined" == typeof window || !navigator || !document),
  4563. isWebWorker = !isBrowser && "undefined" != typeof importScripts,
  4564. readyRegExp = isBrowser && "PLAYSTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/,
  4565. defContextName = "_",
  4566. isOpera = "undefined" != typeof opera && "[object Opera]" === opera.toString(),
  4567. contexts = {},
  4568. cfg = {},
  4569. globalDefQueue = [],
  4570. useInteractive = !1;
  4571. if ("undefined" == typeof define) {
  4572. if ("undefined" != typeof requirejs) {
  4573. if (isFunction(requirejs)) return;
  4574. cfg = requirejs, requirejs = void 0
  4575. }
  4576. "undefined" == typeof require || isFunction(require) || (cfg = require, require = void 0), req = requirejs = function (e, t, n, r) {
  4577. var i, o, a = defContextName;
  4578. return isArray(e) || "string" == typeof e || (o = e, isArray(t) ? (e = t, t = n, n = r) : e = []), o && o.context && (a = o.context), i = getOwn(contexts, a), i || (i = contexts[a] = req.s.newContext(a)), o && i.configure(o), i.require(e, t, n)
  4579. }, req.config = function (e) {
  4580. return req(e)
  4581. }, req.nextTick = "undefined" != typeof setTimeout ? function (e) {
  4582. setTimeout(e, 4)
  4583. } : function (e) {
  4584. e()
  4585. }, require || (require = req), req.version = version, req.jsExtRegExp = /^\/|:|\?|\.js$/, req.isBrowser = isBrowser, s = req.s = {
  4586. contexts: contexts,
  4587. newContext: newContext
  4588. }, req({}), each(["toUrl", "undef", "defined", "specified"], function (e) {
  4589. req[e] = function () {
  4590. var t = contexts[defContextName];
  4591. return t.require[e].apply(t, arguments)
  4592. }
  4593. }), isBrowser && (head = s.head = document.getElementsByTagName("head")[0], baseElement = document.getElementsByTagName("base")[0], baseElement && (head = s.head = baseElement.parentNode)), req.onError = function (e) {
  4594. throw e
  4595. }, req.load = function (e, t, n) {
  4596. var r, i = e && e.config || {};
  4597. if (isBrowser) return r = i.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script"), r.type = i.scriptType || "text/javascript", r.charset = "utf-8", r.async = !0, r.setAttribute("data-requirecontext", e.contextName), r.setAttribute("data-requiremodule", t), !r.attachEvent || r.attachEvent.toString && r.attachEvent.toString().indexOf("[native code") < 0 || isOpera ? (r.addEventListener("load", e.onScriptLoad, !1), r.addEventListener("error", e.onScriptError, !1)) : (useInteractive = !0, r.attachEvent("onreadystatechange", e.onScriptLoad)), r.src = n, currentlyAddingScript = r, baseElement ? head.insertBefore(r, baseElement) : head.appendChild(r), currentlyAddingScript = null, r;
  4598. if (isWebWorker) try {
  4599. importScripts(n), e.completeLoad(t)
  4600. } catch (o) {
  4601. e.onError(makeError("importscripts", "importScripts failed for " + t + " at " + n, o, [t]))
  4602. }
  4603. }, isBrowser && eachReverse(scripts(), function (e) {
  4604. return head || (head = e.parentNode), dataMain = e.getAttribute("data-main"), dataMain ? (cfg.baseUrl || (src = dataMain.split("/"), mainScript = src.pop(), subPath = src.length ? src.join("/") + "/" : "./", cfg.baseUrl = subPath, dataMain = mainScript), dataMain = dataMain.replace(jsSuffixRegExp, ""), cfg.deps = cfg.deps ? cfg.deps.concat(dataMain) : [dataMain], !0) : void 0
  4605. }), define = function (e, t, n) {
  4606. var r, i;
  4607. "string" != typeof e && (n = t, t = e, e = null), isArray(t) || (n = t, t = []), !t.length && isFunction(n) && n.length && (n.toString().replace(commentRegExp, "").replace(cjsRequireRegExp, function (e, n) {
  4608. t.push(n)
  4609. }), t = (1 === n.length ? ["require"] : ["require", "exports", "module"]).concat(t)), useInteractive && (r = currentlyAddingScript || getInteractiveScript(), r && (e || (e = r.getAttribute("data-requiremodule")), i = contexts[r.getAttribute("data-requirecontext")])), (i ? i.defQueue : globalDefQueue).push([e, t, n])
  4610. }, define.amd = {
  4611. jQuery: !0
  4612. }, req.exec = function (text) {
  4613. return eval(text)
  4614. }, req(cfg)
  4615. }
  4616. }(this), ellipsis.requirejs = requirejs, ellipsis.require = require, ellipsis.define = define
  4617. }
  4618. }(), ellipsis.define("requireLib", function () {}),
  4619. function (e, t) {
  4620. function n(e) {
  4621. var t = e.length,
  4622. n = X.type(e);
  4623. return X.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || "function" !== n && (0 === t || "number" == typeof t && t > 0 && t - 1 in e)
  4624. }
  4625.  
  4626. function r(e) {
  4627. var t = ie[e] = {};
  4628. return X.each(e.match(K) || [], function (e, n) {
  4629. t[n] = !0
  4630. }), t
  4631. }
  4632.  
  4633. function i(e, n, r, i) {
  4634. if (X.acceptData(e)) {
  4635. var o, a, s = X.expando,
  4636. u = "string" == typeof n,
  4637. c = e.nodeType,
  4638. l = c ? X.cache : e,
  4639. p = c ? e[s] : e[s] && s;
  4640. if (p && l[p] && (i || l[p].data) || !u || r !== t) return p || (c ? e[s] = p = O.pop() || X.guid++ : p = s), l[p] || (l[p] = {}, c || (l[p].toJSON = X.noop)), ("object" == typeof n || "function" == typeof n) && (i ? l[p] = X.extend(l[p], n) : l[p].data = X.extend(l[p].data, n)), o = l[p], i || (o.data || (o.data = {}), o = o.data), r !== t && (o[X.camelCase(n)] = r), u ? (a = o[n], null == a && (a = o[X.camelCase(n)])) : a = o, a
  4641. }
  4642. }
  4643.  
  4644. function o(e, t, n) {
  4645. if (X.acceptData(e)) {
  4646. var r, i, o, a = e.nodeType,
  4647. u = a ? X.cache : e,
  4648. c = a ? e[X.expando] : X.expando;
  4649. if (u[c]) {
  4650. if (t && (o = n ? u[c] : u[c].data)) {
  4651. X.isArray(t) ? t = t.concat(X.map(t, X.camelCase)) : t in o ? t = [t] : (t = X.camelCase(t), t = t in o ? [t] : t.split(" "));
  4652. for (r = 0, i = t.length; i > r; r++) delete o[t[r]];
  4653. if (!(n ? s : X.isEmptyObject)(o)) return
  4654. }(n || (delete u[c].data, s(u[c]))) && (a ? X.cleanData([e], !0) : X.support.deleteExpando || u != u.window ? delete u[c] : u[c] = null)
  4655. }
  4656. }
  4657. }
  4658.  
  4659. function a(e, n, r) {
  4660. if (r === t && 1 === e.nodeType) {
  4661. var i = "data-" + n.replace(ae, "-$1").toLowerCase();
  4662. if (r = e.getAttribute(i), "string" == typeof r) {
  4663. try {
  4664. r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : +r + "" === r ? +r : oe.test(r) ? X.parseJSON(r) : r
  4665. } catch (o) {}
  4666. X.data(e, n, r)
  4667. } else r = t
  4668. }
  4669. return r
  4670. }
  4671.  
  4672. function s(e) {
  4673. var t;
  4674. for (t in e)
  4675. if (("data" !== t || !X.isEmptyObject(e[t])) && "toJSON" !== t) return !1;
  4676. return !0
  4677. }
  4678.  
  4679. function u() {
  4680. return !0
  4681. }
  4682.  
  4683. function c() {
  4684. return !1
  4685. }
  4686.  
  4687. function l(e, t) {
  4688. do e = e[t]; while (e && 1 !== e.nodeType);
  4689. return e
  4690. }
  4691.  
  4692. function p(e, t, n) {
  4693. if (t = t || 0, X.isFunction(t)) return X.grep(e, function (e, r) {
  4694. var i = !!t.call(e, r, e);
  4695. return i === n
  4696. });
  4697. if (t.nodeType) return X.grep(e, function (e) {
  4698. return e === t === n
  4699. });
  4700. if ("string" == typeof t) {
  4701. var r = X.grep(e, function (e) {
  4702. return 1 === e.nodeType
  4703. });
  4704. if (Te.test(t)) return X.filter(t, r, !n);
  4705. t = X.filter(t, r)
  4706. }
  4707. return X.grep(e, function (e) {
  4708. return X.inArray(e, t) >= 0 === n
  4709. })
  4710. }
  4711.  
  4712. function d(e) {
  4713. var t = Ne.split("|"),
  4714. n = e.createDocumentFragment();
  4715. if (n.createElement)
  4716. for (; t.length;) n.createElement(t.pop());
  4717. return n
  4718. }
  4719.  
  4720. function f(e, t) {
  4721. return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
  4722. }
  4723.  
  4724. function h(e) {
  4725. var t = e.getAttributeNode("type");
  4726. return e.type = (t && t.specified) + "/" + e.type, e
  4727. }
  4728.  
  4729. function m(e) {
  4730. var t = He.exec(e.type);
  4731. return t ? e.type = t[1] : e.removeAttribute("type"), e
  4732. }
  4733.  
  4734. function g(e, t) {
  4735. for (var n, r = 0; null != (n = e[r]); r++) X._data(n, "globalEval", !t || X._data(t[r], "globalEval"))
  4736. }
  4737.  
  4738. function v(e, t) {
  4739. if (1 === t.nodeType && X.hasData(e)) {
  4740. var n, r, i, o = X._data(e),
  4741. a = X._data(t, o),
  4742. s = o.events;
  4743. if (s) {
  4744. delete a.handle, a.events = {};
  4745. for (n in s)
  4746. for (r = 0, i = s[n].length; i > r; r++) X.event.add(t, n, s[n][r])
  4747. }
  4748. a.data && (a.data = X.extend({}, a.data))
  4749. }
  4750. }
  4751.  
  4752. function y(e, t) {
  4753. var n, r, i;
  4754. if (1 === t.nodeType) {
  4755. if (n = t.nodeName.toLowerCase(), !X.support.noCloneEvent && t[X.expando]) {
  4756. i = X._data(t);
  4757. for (r in i.events) X.removeEvent(t, r, i.handle);
  4758. t.removeAttribute(X.expando)
  4759. }
  4760. "script" === n && t.text !== e.text ? (h(t).text = e.text, m(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), X.support.html5Clone && e.innerHTML && !X.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Pe.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue)
  4761. }
  4762. }
  4763.  
  4764. function b(e, n) {
  4765. var r, i, o = 0,
  4766. a = typeof e.getElementsByTagName !== A ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== A ? e.querySelectorAll(n || "*") : t;
  4767. if (!a)
  4768. for (a = [], r = e.childNodes || e; null != (i = r[o]); o++) !n || X.nodeName(i, n) ? a.push(i) : X.merge(a, b(i, n));
  4769. return n === t || n && X.nodeName(e, n) ? X.merge([e], a) : a
  4770. }
  4771.  
  4772. function x(e) {
  4773. Pe.test(e.type) && (e.defaultChecked = e.checked)
  4774. }
  4775.  
  4776. function E(e, t, n, r) {
  4777. var i;
  4778. if (X.isArray(t)) X.each(t, function (t, i) {
  4779. n || Ke.test(e) ? r(e, i) : E(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r)
  4780. });
  4781. else if (n || "object" !== X.type(t)) r(e, t);
  4782. else
  4783. for (i in t) E(e + "[" + i + "]", t[i], n, r)
  4784. }
  4785.  
  4786. function w(e) {
  4787. return function (t, n) {
  4788. "string" != typeof t && (n = t, t = "*");
  4789. var r, i = 0,
  4790. o = t.toLowerCase().match(K) || [];
  4791. if (X.isFunction(n))
  4792. for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
  4793. }
  4794. }
  4795.  
  4796. function C(e, t, n, r) {
  4797. function i(s) {
  4798. var u;
  4799. return o[s] = !0, X.each(e[s] || [], function (e, s) {
  4800. var c = s(t, n, r);
  4801. return "string" != typeof c || a || o[c] ? a ? !(u = c) : void 0 : (t.dataTypes.unshift(c), i(c), !1)
  4802. }), u
  4803. }
  4804. var o = {},
  4805. a = e === ut;
  4806. return i(t.dataTypes[0]) || !o["*"] && i("*")
  4807. }
  4808.  
  4809. function T(e, n) {
  4810. var r, i, o = X.ajaxSettings.flatOptions || {};
  4811. for (i in n) n[i] !== t && ((o[i] ? e : r || (r = {}))[i] = n[i]);
  4812. return r && X.extend(!0, e, r), e
  4813. }
  4814.  
  4815. function k(e, n, r) {
  4816. var i, o, a, s, u = e.contents,
  4817. c = e.dataTypes,
  4818. l = e.responseFields;
  4819. for (s in l) s in r && (n[l[s]] = r[s]);
  4820. for (;
  4821. "*" === c[0];) c.shift(), o === t && (o = e.mimeType || n.getResponseHeader("Content-Type"));
  4822. if (o)
  4823. for (s in u)
  4824. if (u[s] && u[s].test(o)) {
  4825. c.unshift(s);
  4826. break
  4827. } if (c[0] in r) a = c[0];
  4828. else {
  4829. for (s in r) {
  4830. if (!c[0] || e.converters[s + " " + c[0]]) {
  4831. a = s;
  4832. break
  4833. }
  4834. i || (i = s)
  4835. }
  4836. a = a || i
  4837. }
  4838. return a ? (a !== c[0] && c.unshift(a), r[a]) : void 0
  4839. }
  4840.  
  4841. function S(e, t) {
  4842. var n, r, i, o, a = {},
  4843. s = 0,
  4844. u = e.dataTypes.slice(),
  4845. c = u[0];
  4846. if (e.dataFilter && (t = e.dataFilter(t, e.dataType)), u[1])
  4847. for (i in e.converters) a[i.toLowerCase()] = e.converters[i];
  4848. for (; r = u[++s];)
  4849. if ("*" !== r) {
  4850. if ("*" !== c && c !== r) {
  4851. if (i = a[c + " " + r] || a["* " + r], !i)
  4852. for (n in a)
  4853. if (o = n.split(" "), o[1] === r && (i = a[c + " " + o[0]] || a["* " + o[0]])) {
  4854. i === !0 ? i = a[n] : a[n] !== !0 && (r = o[0], u.splice(s--, 0, r));
  4855. break
  4856. } if (i !== !0)
  4857. if (i && e["throws"]) t = i(t);
  4858. else try {
  4859. t = i(t)
  4860. } catch (l) {
  4861. return {
  4862. state: "parsererror",
  4863. error: i ? l : "No conversion from " + c + " to " + r
  4864. }
  4865. }
  4866. }
  4867. c = r
  4868. } return {
  4869. state: "success",
  4870. data: t
  4871. }
  4872. }
  4873.  
  4874. function N() {
  4875. try {
  4876. return new e.XMLHttpRequest
  4877. } catch (t) {}
  4878. }
  4879.  
  4880. function M() {
  4881. try {
  4882. return new e.ActiveXObject("Microsoft.XMLHTTP")
  4883. } catch (t) {}
  4884. }
  4885. var L, D, A = typeof t,
  4886. j = e.document,
  4887. q = e.location,
  4888. _ = {},
  4889. O = [],
  4890. P = "1.9.1 -css,-effects,-offset,-dimensions,-deprecated",
  4891. R = O.concat,
  4892. B = O.push,
  4893. H = O.slice,
  4894. F = O.indexOf,
  4895. I = _.toString,
  4896. $ = _.hasOwnProperty,
  4897. W = P.trim,
  4898. X = function (e, t) {
  4899. return new X.fn.init(e, t, D)
  4900. },
  4901. K = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, /\S+/g),
  4902. z = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  4903. U = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
  4904. Y = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
  4905. J = /^[\],:{}\s]*$/,
  4906. V = /(?:^|:|,)(?:\s*\[)+/g,
  4907. G = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
  4908. Q = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
  4909. Z = /^-ms-/,
  4910. ee = /-([\da-z])/gi,
  4911. te = function (e, t) {
  4912. return t.toUpperCase()
  4913. },
  4914. ne = function (e) {
  4915. (j.addEventListener || "load" === e.type || "complete" === j.readyState) && (re(), X.ready())
  4916. },
  4917. re = function () {
  4918. j.addEventListener ? (j.removeEventListener("DOMContentLoaded", ne, !1), e.removeEventListener("load", ne, !1)) : (j.detachEvent("onreadystatechange", ne), e.detachEvent("onload", ne))
  4919. };
  4920. X.fn = X.prototype = {
  4921. jquery: P,
  4922. constructor: X,
  4923. init: function (e, n, r) {
  4924. var i, o;
  4925. if (!e) return this;
  4926. if ("string" == typeof e) {
  4927. if (i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : U.exec(e), !i || !i[1] && n) return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e);
  4928. if (i[1]) {
  4929. if (n = n instanceof X ? n[0] : n, X.merge(this, X.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : j, !0)), Y.test(i[1]) && X.isPlainObject(n))
  4930. for (i in n) X.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]);
  4931. return this
  4932. }
  4933. if (o = j.getElementById(i[2]), o && o.parentNode) {
  4934. if (o.id !== i[2]) return r.find(e);
  4935. this.length = 1, this[0] = o
  4936. }
  4937. return this.context = j, this.selector = e, this
  4938. }
  4939. return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : X.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), X.makeArray(e, this))
  4940. },
  4941. selector: "",
  4942. length: 0,
  4943. size: function () {
  4944. return this.length
  4945. },
  4946. toArray: function () {
  4947. return H.call(this)
  4948. },
  4949. get: function (e) {
  4950. return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e]
  4951. },
  4952. pushStack: function (e) {
  4953. var t = X.merge(this.constructor(), e);
  4954. return t.prevObject = this, t.context = this.context, t
  4955. },
  4956. each: function (e, t) {
  4957. return X.each(this, e, t)
  4958. },
  4959. ready: function (e) {
  4960. return X.ready.promise().done(e), this
  4961. },
  4962. slice: function () {
  4963. return this.pushStack(H.apply(this, arguments))
  4964. },
  4965. first: function () {
  4966. return this.eq(0)
  4967. },
  4968. last: function () {
  4969. return this.eq(-1)
  4970. },
  4971. eq: function (e) {
  4972. var t = this.length,
  4973. n = +e + (0 > e ? t : 0);
  4974. return this.pushStack(n >= 0 && t > n ? [this[n]] : [])
  4975. },
  4976. map: function (e) {
  4977. return this.pushStack(X.map(this, function (t, n) {
  4978. return e.call(t, n, t)
  4979. }))
  4980. },
  4981. end: function () {
  4982. return this.prevObject || this.constructor(null)
  4983. },
  4984. push: B,
  4985. sort: [].sort,
  4986. splice: [].splice
  4987. }, X.fn.init.prototype = X.fn, X.extend = X.fn.extend = function () {
  4988. var e, n, r, i, o, a, s = arguments[0] || {},
  4989. u = 1,
  4990. c = arguments.length,
  4991. l = !1;
  4992. for ("boolean" == typeof s && (l = s, s = arguments[1] || {}, u = 2), "object" == typeof s || X.isFunction(s) || (s = {}), c === u && (s = this, --u); c > u; u++)
  4993. if (null != (o = arguments[u]))
  4994. for (i in o) e = s[i], r = o[i], s !== r && (l && r && (X.isPlainObject(r) || (n = X.isArray(r))) ? (n ? (n = !1, a = e && X.isArray(e) ? e : []) : a = e && X.isPlainObject(e) ? e : {}, s[i] = X.extend(l, a, r)) : r !== t && (s[i] = r));
  4995. return s
  4996. }, X.extend({
  4997. isReady: !1,
  4998. readyWait: 1,
  4999. holdReady: function (e) {
  5000. e ? X.readyWait++ : X.ready(!0)
  5001. },
  5002. ready: function (e) {
  5003. if (e === !0 ? !--X.readyWait : !X.isReady) {
  5004. if (!j.body) return setTimeout(X.ready);
  5005. X.isReady = !0, e !== !0 && --X.readyWait > 0 || (L.resolveWith(j, [X]), X.fn.trigger && X(j).trigger("ready").off("ready"))
  5006. }
  5007. },
  5008. isFunction: function (e) {
  5009. return "function" === X.type(e)
  5010. },
  5011. isArray: Array.isArray || function (e) {
  5012. return "array" === X.type(e)
  5013. },
  5014. isWindow: function (e) {
  5015. return null != e && e == e.window
  5016. },
  5017. isNumeric: function (e) {
  5018. return !isNaN(parseFloat(e)) && isFinite(e)
  5019. },
  5020. type: function (e) {
  5021. return null == e ? String(e) : "object" == typeof e || "function" == typeof e ? _[I.call(e)] || "object" : typeof e
  5022. },
  5023. isPlainObject: function (e) {
  5024. if (!e || "object" !== X.type(e) || e.nodeType || X.isWindow(e)) return !1;
  5025. try {
  5026. if (e.constructor && !$.call(e, "constructor") && !$.call(e.constructor.prototype, "isPrototypeOf")) return !1
  5027. } catch (n) {
  5028. return !1
  5029. }
  5030. var r;
  5031. for (r in e);
  5032. return r === t || $.call(e, r)
  5033. },
  5034. isEmptyObject: function (e) {
  5035. var t;
  5036. for (t in e) return !1;
  5037. return !0
  5038. },
  5039. error: function (e) {
  5040. throw new Error(e)
  5041. },
  5042. parseHTML: function (e, t, n) {
  5043. if (!e || "string" != typeof e) return null;
  5044. "boolean" == typeof t && (n = t, t = !1), t = t || j;
  5045. var r = Y.exec(e),
  5046. i = !n && [];
  5047. return r ? [t.createElement(r[1])] : (r = X.buildFragment([e], t, i), i && X(i).remove(), X.merge([], r.childNodes))
  5048. },
  5049. parseJSON: function (t) {
  5050. return e.JSON && e.JSON.parse ? e.JSON.parse(t) : null === t ? t : "string" == typeof t && (t = X.trim(t), t && J.test(t.replace(G, "@").replace(Q, "]").replace(V, ""))) ? new Function("return " + t)() : void X.error("Invalid JSON: " + t)
  5051. },
  5052. parseXML: function (n) {
  5053. var r, i;
  5054. if (!n || "string" != typeof n) return null;
  5055. try {
  5056. e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
  5057. } catch (o) {
  5058. r = t
  5059. }
  5060. return r && r.documentElement && !r.getElementsByTagName("parsererror").length || X.error("Invalid XML: " + n), r
  5061. },
  5062. noop: function () {},
  5063. globalEval: function (t) {
  5064. t && X.trim(t) && (e.execScript || function (t) {
  5065. e.eval.call(e, t)
  5066. })(t)
  5067. },
  5068. camelCase: function (e) {
  5069. return e.replace(Z, "ms-").replace(ee, te)
  5070. },
  5071. nodeName: function (e, t) {
  5072. return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
  5073. },
  5074. each: function (e, t, r) {
  5075. var i, o = 0,
  5076. a = e.length,
  5077. s = n(e);
  5078. if (r) {
  5079. if (s)
  5080. for (; a > o && (i = t.apply(e[o], r), i !== !1); o++);
  5081. else
  5082. for (o in e)
  5083. if (i = t.apply(e[o], r), i === !1) break
  5084. } else if (s)
  5085. for (; a > o && (i = t.call(e[o], o, e[o]), i !== !1); o++);
  5086. else
  5087. for (o in e)
  5088. if (i = t.call(e[o], o, e[o]), i === !1) break;
  5089. return e
  5090. },
  5091. trim: W && !W.call("\ufeff ") ? function (e) {
  5092. return null == e ? "" : W.call(e)
  5093. } : function (e) {
  5094. return null == e ? "" : (e + "").replace(z, "")
  5095. },
  5096. makeArray: function (e, t) {
  5097. var r = t || [];
  5098. return null != e && (n(Object(e)) ? X.merge(r, "string" == typeof e ? [e] : e) : B.call(r, e)), r
  5099. },
  5100. inArray: function (e, t, n) {
  5101. var r;
  5102. if (t) {
  5103. if (F) return F.call(t, e, n);
  5104. for (r = t.length, n = n ? 0 > n ? Math.max(0, r + n) : n : 0; r > n; n++)
  5105. if (n in t && t[n] === e) return n
  5106. }
  5107. return -1
  5108. },
  5109. merge: function (e, n) {
  5110. var r = n.length,
  5111. i = e.length,
  5112. o = 0;
  5113. if ("number" == typeof r)
  5114. for (; r > o; o++) e[i++] = n[o];
  5115. else
  5116. for (; n[o] !== t;) e[i++] = n[o++];
  5117. return e.length = i, e
  5118. },
  5119. grep: function (e, t, n) {
  5120. var r, i = [],
  5121. o = 0,
  5122. a = e.length;
  5123. for (n = !!n; a > o; o++) r = !!t(e[o], o), n !== r && i.push(e[o]);
  5124. return i
  5125. },
  5126. map: function (e, t, r) {
  5127. var i, o = 0,
  5128. a = e.length,
  5129. s = n(e),
  5130. u = [];
  5131. if (s)
  5132. for (; a > o; o++) i = t(e[o], o, r), null != i && (u[u.length] = i);
  5133. else
  5134. for (o in e) i = t(e[o], o, r), null != i && (u[u.length] = i);
  5135. return R.apply([], u)
  5136. },
  5137. guid: 1,
  5138. proxy: function (e, n) {
  5139. var r, i, o;
  5140. return "string" == typeof n && (o = e[n], n = e, e = o), X.isFunction(e) ? (r = H.call(arguments, 2), i = function () {
  5141. return e.apply(n || this, r.concat(H.call(arguments)))
  5142. }, i.guid = e.guid = e.guid || X.guid++, i) : t
  5143. },
  5144. access: function (e, n, r, i, o, a, s) {
  5145. var u = 0,
  5146. c = e.length,
  5147. l = null == r;
  5148. if ("object" === X.type(r)) {
  5149. o = !0;
  5150. for (u in r) X.access(e, n, u, r[u], !0, a, s)
  5151. } else if (i !== t && (o = !0, X.isFunction(i) || (s = !0), l && (s ? (n.call(e, i), n = null) : (l = n, n = function (e, t, n) {
  5152. return l.call(X(e), n)
  5153. })), n))
  5154. for (; c > u; u++) n(e[u], r, s ? i : i.call(e[u], u, n(e[u], r)));
  5155. return o ? e : l ? n.call(e) : c ? n(e[0], r) : a
  5156. },
  5157. now: function () {
  5158. return (new Date).getTime()
  5159. }
  5160. }), X.ready.promise = function (t) {
  5161. if (!L)
  5162. if (L = X.Deferred(), "complete" === j.readyState) setTimeout(X.ready);
  5163. else if (j.addEventListener) j.addEventListener("DOMContentLoaded", ne, !1), e.addEventListener("load", ne, !1);
  5164. else {
  5165. j.attachEvent("onreadystatechange", ne), e.attachEvent("onload", ne);
  5166. var n = !1;
  5167. try {
  5168. n = null == e.frameElement && j.documentElement
  5169. } catch (r) {}
  5170. n && n.doScroll && ! function i() {
  5171. if (!X.isReady) {
  5172. try {
  5173. n.doScroll("left")
  5174. } catch (e) {
  5175. return setTimeout(i, 50)
  5176. }
  5177. re(), X.ready()
  5178. }
  5179. }()
  5180. }
  5181. return L.promise(t)
  5182. }, X.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (e, t) {
  5183. _["[object " + t + "]"] = t.toLowerCase()
  5184. }), D = X(j);
  5185. var ie = {};
  5186. X.Callbacks = function (e) {
  5187. e = "string" == typeof e ? ie[e] || r(e) : X.extend({}, e);
  5188. var n, i, o, a, s, u, c = [],
  5189. l = !e.once && [],
  5190. p = function (t) {
  5191. for (i = e.memory && t, o = !0, s = u || 0, u = 0, a = c.length, n = !0; c && a > s; s++)
  5192. if (c[s].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
  5193. i = !1;
  5194. break
  5195. } n = !1, c && (l ? l.length && p(l.shift()) : i ? c = [] : d.disable())
  5196. },
  5197. d = {
  5198. add: function () {
  5199. if (c) {
  5200. var t = c.length;
  5201. ! function r(t) {
  5202. X.each(t, function (t, n) {
  5203. var i = X.type(n);
  5204. "function" === i ? e.unique && d.has(n) || c.push(n) : n && n.length && "string" !== i && r(n)
  5205. })
  5206. }(arguments), n ? a = c.length : i && (u = t, p(i))
  5207. }
  5208. return this
  5209. },
  5210. remove: function () {
  5211. return c && X.each(arguments, function (e, t) {
  5212. for (var r;
  5213. (r = X.inArray(t, c, r)) > -1;) c.splice(r, 1), n && (a >= r && a--, s >= r && s--)
  5214. }), this
  5215. },
  5216. has: function (e) {
  5217. return e ? X.inArray(e, c) > -1 : !(!c || !c.length)
  5218. },
  5219. empty: function () {
  5220. return c = [], this
  5221. },
  5222. disable: function () {
  5223. return c = l = i = t, this
  5224. },
  5225. disabled: function () {
  5226. return !c
  5227. },
  5228. lock: function () {
  5229. return l = t, i || d.disable(), this
  5230. },
  5231. locked: function () {
  5232. return !l
  5233. },
  5234. fireWith: function (e, t) {
  5235. return t = t || [], t = [e, t.slice ? t.slice() : t], !c || o && !l || (n ? l.push(t) : p(t)), this
  5236. },
  5237. fire: function () {
  5238. return d.fireWith(this, arguments), this
  5239. },
  5240. fired: function () {
  5241. return !!o
  5242. }
  5243. };
  5244. return d
  5245. }, X.extend({
  5246. Deferred: function (e) {
  5247. var t = [
  5248. ["resolve", "done", X.Callbacks("once memory"), "resolved"],
  5249. ["reject", "fail", X.Callbacks("once memory"), "rejected"],
  5250. ["notify", "progress", X.Callbacks("memory")]
  5251. ],
  5252. n = "pending",
  5253. r = {
  5254. state: function () {
  5255. return n
  5256. },
  5257. always: function () {
  5258. return i.done(arguments).fail(arguments), this
  5259. },
  5260. then: function () {
  5261. var e = arguments;
  5262. return X.Deferred(function (n) {
  5263. X.each(t, function (t, o) {
  5264. var a = o[0],
  5265. s = X.isFunction(e[t]) && e[t];
  5266. i[o[1]](function () {
  5267. var e = s && s.apply(this, arguments);
  5268. e && X.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[a + "With"](this === r ? n.promise() : this, s ? [e] : arguments)
  5269. })
  5270. }), e = null
  5271. }).promise()
  5272. },
  5273. promise: function (e) {
  5274. return null != e ? X.extend(e, r) : r
  5275. }
  5276. },
  5277. i = {};
  5278. return r.pipe = r.then, X.each(t, function (e, o) {
  5279. var a = o[2],
  5280. s = o[3];
  5281. r[o[1]] = a.add, s && a.add(function () {
  5282. n = s
  5283. }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function () {
  5284. return i[o[0] + "With"](this === i ? r : this, arguments), this
  5285. }, i[o[0] + "With"] = a.fireWith
  5286. }), r.promise(i), e && e.call(i, i), i
  5287. },
  5288. when: function (e) {
  5289. var t, n, r, i = 0,
  5290. o = H.call(arguments),
  5291. a = o.length,
  5292. s = 1 !== a || e && X.isFunction(e.promise) ? a : 0,
  5293. u = 1 === s ? e : X.Deferred(),
  5294. c = function (e, n, r) {
  5295. return function (i) {
  5296. n[e] = this, r[e] = arguments.length > 1 ? H.call(arguments) : i, r === t ? u.notifyWith(n, r) : --s || u.resolveWith(n, r)
  5297. }
  5298. };
  5299. if (a > 1)
  5300. for (t = new Array(a), n = new Array(a), r = new Array(a); a > i; i++) o[i] && X.isFunction(o[i].promise) ? o[i].promise().done(c(i, r, o)).fail(u.reject).progress(c(i, n, t)) : --s;
  5301. return s || u.resolveWith(r, o), u.promise()
  5302. }
  5303. }), X.support = function () {
  5304. var t, n, r, i, o, a, s, u, c, l, p = j.createElement("div");
  5305. if (p.setAttribute("className", "t"), p.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", n = p.getElementsByTagName("*"), r = p.getElementsByTagName("a")[0], !n || !r || !n.length) return {};
  5306. o = j.createElement("select"), s = o.appendChild(j.createElement("option")), i = p.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = {
  5307. getSetAttribute: "t" !== p.className,
  5308. leadingWhitespace: 3 === p.firstChild.nodeType,
  5309. tbody: !p.getElementsByTagName("tbody").length,
  5310. htmlSerialize: !!p.getElementsByTagName("link").length,
  5311. style: /top/.test(r.getAttribute("style")),
  5312. hrefNormalized: "/a" === r.getAttribute("href"),
  5313. opacity: /^0.5/.test(r.style.opacity),
  5314. cssFloat: !!r.style.cssFloat,
  5315. checkOn: !!i.value,
  5316. optSelected: s.selected,
  5317. enctype: !!j.createElement("form").enctype,
  5318. html5Clone: "<:nav></:nav>" !== j.createElement("nav").cloneNode(!0).outerHTML,
  5319. boxModel: "CSS1Compat" === j.compatMode,
  5320. deleteExpando: !0,
  5321. noCloneEvent: !0,
  5322. inlineBlockNeedsLayout: !1,
  5323. shrinkWrapBlocks: !1,
  5324. reliableMarginRight: !0,
  5325. boxSizingReliable: !0,
  5326. pixelPosition: !1
  5327. }, i.checked = !0, t.noCloneChecked = i.cloneNode(!0).checked, o.disabled = !0, t.optDisabled = !s.disabled;
  5328. try {
  5329. delete p.test
  5330. } catch (d) {
  5331. t.deleteExpando = !1
  5332. }
  5333. i = j.createElement("input"), i.setAttribute("value", ""), t.input = "" === i.getAttribute("value"), i.value = "t", i.setAttribute("type", "radio"), t.radioValue = "t" === i.value, i.setAttribute("checked", "t"), i.setAttribute("name", "t"), a = j.createDocumentFragment(), a.appendChild(i), t.appendChecked = i.checked, t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, p.attachEvent && (p.attachEvent("onclick", function () {
  5334. t.noCloneEvent = !1
  5335. }), p.cloneNode(!0).click());
  5336. for (l in {
  5337. submit: !0,
  5338. change: !0,
  5339. focusin: !0
  5340. }) p.setAttribute(u = "on" + l, "t"), t[l + "Bubbles"] = u in e || p.attributes[u].expando === !1;
  5341. return p.style.backgroundClip = "content-box", p.cloneNode(!0).style.backgroundClip = "", t.clearCloneStyle = "content-box" === p.style.backgroundClip, X(function () {
  5342. var n, r, i, o = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
  5343. a = j.getElementsByTagName("body")[0];
  5344. a && (n = j.createElement("div"), n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", a.appendChild(n).appendChild(p), p.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", i = p.getElementsByTagName("td"), i[0].style.cssText = "padding:0;margin:0;border:0;display:none", c = 0 === i[0].offsetHeight, i[0].style.display = "", i[1].style.display = "none", t.reliableHiddenOffsets = c && 0 === i[0].offsetHeight, p.innerHTML = "", p.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = 4 === p.offsetWidth, t.doesNotIncludeMarginInBodyOffset = 1 !== a.offsetTop, e.getComputedStyle && (t.pixelPosition = "1%" !== (e.getComputedStyle(p, null) || {}).top, t.boxSizingReliable = "4px" === (e.getComputedStyle(p, null) || {
  5345. width: "4px"
  5346. }).width, r = p.appendChild(j.createElement("div")), r.style.cssText = p.style.cssText = o, r.style.marginRight = r.style.width = "0", p.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(r, null) || {}).marginRight)), typeof p.style.zoom !== A && (p.innerHTML = "", p.style.cssText = o + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = 3 === p.offsetWidth, p.style.display = "block", p.innerHTML = "<div></div>", p.firstChild.style.width = "5px", t.shrinkWrapBlocks = 3 !== p.offsetWidth, t.inlineBlockNeedsLayout && (a.style.zoom = 1)), a.removeChild(n), n = p = i = r = null)
  5347. }), n = o = a = s = r = i = null, t
  5348. }();
  5349. var oe = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
  5350. ae = /([A-Z])/g;
  5351. X.extend({
  5352. cache: {},
  5353. expando: "jQuery" + (P + Math.random()).replace(/\D/g, ""),
  5354. noData: {
  5355. embed: !0,
  5356. object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
  5357. applet: !0
  5358. },
  5359. hasData: function (e) {
  5360. return e = e.nodeType ? X.cache[e[X.expando]] : e[X.expando], !!e && !s(e)
  5361. },
  5362. data: function (e, t, n) {
  5363. return i(e, t, n)
  5364. },
  5365. removeData: function (e, t) {
  5366. return o(e, t)
  5367. },
  5368. _data: function (e, t, n) {
  5369. return i(e, t, n, !0)
  5370. },
  5371. _removeData: function (e, t) {
  5372. return o(e, t, !0)
  5373. },
  5374. acceptData: function (e) {
  5375. if (e.nodeType && 1 !== e.nodeType && 9 !== e.nodeType) return !1;
  5376. var t = e.nodeName && X.noData[e.nodeName.toLowerCase()];
  5377. return !t || t !== !0 && e.getAttribute("classid") === t
  5378. }
  5379. }), X.fn.extend({
  5380. data: function (e, n) {
  5381. var r, i, o = this[0],
  5382. s = 0,
  5383. u = null;
  5384. if (e === t) {
  5385. if (this.length && (u = X.data(o), 1 === o.nodeType && !X._data(o, "parsedAttrs"))) {
  5386. for (r = o.attributes; s < r.length; s++) i = r[s].name, i.indexOf("data-") || (i = X.camelCase(i.slice(5)), a(o, i, u[i]));
  5387. X._data(o, "parsedAttrs", !0)
  5388. }
  5389. return u
  5390. }
  5391. return "object" == typeof e ? this.each(function () {
  5392. X.data(this, e)
  5393. }) : X.access(this, function (n) {
  5394. return n === t ? o ? a(o, e, X.data(o, e)) : null : void this.each(function () {
  5395. X.data(this, e, n)
  5396. })
  5397. }, null, n, arguments.length > 1, null, !0)
  5398. },
  5399. removeData: function (e) {
  5400. return this.each(function () {
  5401. X.removeData(this, e)
  5402. })
  5403. }
  5404. }), X.extend({
  5405. queue: function (e, t, n) {
  5406. var r;
  5407. return e ? (t = (t || "fx") + "queue", r = X._data(e, t), n && (!r || X.isArray(n) ? r = X._data(e, t, X.makeArray(n)) : r.push(n)), r || []) : void 0
  5408. },
  5409. dequeue: function (e, t) {
  5410. t = t || "fx";
  5411. var n = X.queue(e, t),
  5412. r = n.length,
  5413. i = n.shift(),
  5414. o = X._queueHooks(e, t),
  5415. a = function () {
  5416. X.dequeue(e, t)
  5417. };
  5418. "inprogress" === i && (i = n.shift(), r--), o.cur = i, i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire()
  5419. },
  5420. _queueHooks: function (e, t) {
  5421. var n = t + "queueHooks";
  5422. return X._data(e, n) || X._data(e, n, {
  5423. empty: X.Callbacks("once memory").add(function () {
  5424. X._removeData(e, t + "queue"), X._removeData(e, n)
  5425. })
  5426. })
  5427. }
  5428. }), X.fn.extend({
  5429. queue: function (e, n) {
  5430. var r = 2;
  5431. return "string" != typeof e && (n = e, e = "fx", r--), arguments.length < r ? X.queue(this[0], e) : n === t ? this : this.each(function () {
  5432. var t = X.queue(this, e, n);
  5433. X._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && X.dequeue(this, e)
  5434. })
  5435. },
  5436. dequeue: function (e) {
  5437. return this.each(function () {
  5438. X.dequeue(this, e)
  5439. })
  5440. },
  5441. delay: function (e, t) {
  5442. return e = X.fx ? X.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, n) {
  5443. var r = setTimeout(t, e);
  5444. n.stop = function () {
  5445. clearTimeout(r)
  5446. }
  5447. })
  5448. },
  5449. clearQueue: function (e) {
  5450. return this.queue(e || "fx", [])
  5451. },
  5452. promise: function (e, n) {
  5453. var r, i = 1,
  5454. o = X.Deferred(),
  5455. a = this,
  5456. s = this.length,
  5457. u = function () {
  5458. --i || o.resolveWith(a, [a])
  5459. };
  5460. for ("string" != typeof e && (n = e, e = t), e = e || "fx"; s--;) r = X._data(a[s], e + "queueHooks"), r && r.empty && (i++, r.empty.add(u));
  5461. return u(), o.promise(n)
  5462. }
  5463. });
  5464. var se, ue, ce = /[\t\r\n]/g,
  5465. le = /\r/g,
  5466. pe = /^(?:input|select|textarea|button|object)$/i,
  5467. de = /^(?:a|area)$/i,
  5468. fe = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
  5469. he = /^(?:checked|selected)$/i,
  5470. me = X.support.getSetAttribute,
  5471. ge = X.support.input;
  5472. X.fn.extend({
  5473. attr: function (e, t) {
  5474. return X.access(this, X.attr, e, t, arguments.length > 1)
  5475. },
  5476. removeAttr: function (e) {
  5477. return this.each(function () {
  5478. X.removeAttr(this, e)
  5479. })
  5480. },
  5481. prop: function (e, t) {
  5482. return X.access(this, X.prop, e, t, arguments.length > 1)
  5483. },
  5484. removeProp: function (e) {
  5485. return e = X.propFix[e] || e, this.each(function () {
  5486. try {
  5487. this[e] = t, delete this[e]
  5488. } catch (n) {}
  5489. })
  5490. },
  5491. addClass: function (e) {
  5492. var t, n, r, i, o, a = 0,
  5493. s = this.length,
  5494. u = "string" == typeof e && e;
  5495. if (X.isFunction(e)) return this.each(function (t) {
  5496. X(this).addClass(e.call(this, t, this.className))
  5497. });
  5498. if (u)
  5499. for (t = (e || "").match(K) || []; s > a; a++)
  5500. if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ce, " ") : " ")) {
  5501. for (o = 0; i = t[o++];) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
  5502. n.className = X.trim(r)
  5503. } return this
  5504. },
  5505. removeClass: function (e) {
  5506. var t, n, r, i, o, a = 0,
  5507. s = this.length,
  5508. u = 0 === arguments.length || "string" == typeof e && e;
  5509. if (X.isFunction(e)) return this.each(function (t) {
  5510. X(this).removeClass(e.call(this, t, this.className))
  5511. });
  5512. if (u)
  5513. for (t = (e || "").match(K) || []; s > a; a++)
  5514. if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(ce, " ") : "")) {
  5515. for (o = 0; i = t[o++];)
  5516. for (; r.indexOf(" " + i + " ") >= 0;) r = r.replace(" " + i + " ", " ");
  5517. n.className = e ? X.trim(r) : ""
  5518. } return this
  5519. },
  5520. toggleClass: function (e, t) {
  5521. var n = typeof e,
  5522. r = "boolean" == typeof t;
  5523. return X.isFunction(e) ? this.each(function (n) {
  5524. X(this).toggleClass(e.call(this, n, this.className, t), t)
  5525. }) : this.each(function () {
  5526. if ("string" === n)
  5527. for (var i, o = 0, a = X(this), s = t, u = e.match(K) || []; i = u[o++];) s = r ? s : !a.hasClass(i), a[s ? "addClass" : "removeClass"](i);
  5528. else(n === A || "boolean" === n) && (this.className && X._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : X._data(this, "__className__") || "")
  5529. })
  5530. },
  5531. hasClass: function (e) {
  5532. for (var t = " " + e + " ", n = 0, r = this.length; r > n; n++)
  5533. if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(ce, " ").indexOf(t) >= 0) return !0;
  5534. return !1
  5535. },
  5536. val: function (e) {
  5537. var n, r, i, o = this[0]; {
  5538. if (arguments.length) return i = X.isFunction(e), this.each(function (n) {
  5539. var o, a = X(this);
  5540. 1 === this.nodeType && (o = i ? e.call(this, n, a.val()) : e, null == o ? o = "" : "number" == typeof o ? o += "" : X.isArray(o) && (o = X.map(o, function (e) {
  5541. return null == e ? "" : e + ""
  5542. })), r = X.valHooks[this.type] || X.valHooks[this.nodeName.toLowerCase()], r && "set" in r && r.set(this, o, "value") !== t || (this.value = o))
  5543. });
  5544. if (o) return r = X.valHooks[o.type] || X.valHooks[o.nodeName.toLowerCase()], r && "get" in r && (n = r.get(o, "value")) !== t ? n : (n = o.value, "string" == typeof n ? n.replace(le, "") : null == n ? "" : n)
  5545. }
  5546. }
  5547. }), X.extend({
  5548. valHooks: {
  5549. option: {
  5550. get: function (e) {
  5551. var t = e.attributes.value;
  5552. return !t || t.specified ? e.value : e.text
  5553. }
  5554. },
  5555. select: {
  5556. get: function (e) {
  5557. for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || 0 > i, a = o ? null : [], s = o ? i + 1 : r.length, u = 0 > i ? s : o ? i : 0; s > u; u++)
  5558. if (n = r[u], (n.selected || u === i) && (X.support.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !X.nodeName(n.parentNode, "optgroup"))) {
  5559. if (t = X(n).val(), o) return t;
  5560. a.push(t)
  5561. } return a
  5562. },
  5563. set: function (e, t) {
  5564. var n = X.makeArray(t);
  5565. return X(e).find("option").each(function () {
  5566. this.selected = X.inArray(X(this).val(), n) >= 0
  5567. }), n.length || (e.selectedIndex = -1), n
  5568. }
  5569. }
  5570. },
  5571. attr: function (e, n, r) {
  5572. var i, o, a, s = e.nodeType;
  5573. if (e && 3 !== s && 8 !== s && 2 !== s) return typeof e.getAttribute === A ? X.prop(e, n, r) : (o = 1 !== s || !X.isXMLDoc(e), o && (n = n.toLowerCase(), i = X.attrHooks[n] || (fe.test(n) ? ue : se)), r === t ? i && o && "get" in i && null !== (a = i.get(e, n)) ? a : (typeof e.getAttribute !== A && (a = e.getAttribute(n)), null == a ? t : a) : null !== r ? i && o && "set" in i && (a = i.set(e, r, n)) !== t ? a : (e.setAttribute(n, r + ""), r) : void X.removeAttr(e, n))
  5574. },
  5575. removeAttr: function (e, t) {
  5576. var n, r, i = 0,
  5577. o = t && t.match(K);
  5578. if (o && 1 === e.nodeType)
  5579. for (; n = o[i++];) r = X.propFix[n] || n, fe.test(n) ? !me && he.test(n) ? e[X.camelCase("default-" + n)] = e[r] = !1 : e[r] = !1 : X.attr(e, n, ""), e.removeAttribute(me ? n : r)
  5580. },
  5581. attrHooks: {
  5582. type: {
  5583. set: function (e, t) {
  5584. if (!X.support.radioValue && "radio" === t && X.nodeName(e, "input")) {
  5585. var n = e.value;
  5586. return e.setAttribute("type", t), n && (e.value = n), t
  5587. }
  5588. }
  5589. }
  5590. },
  5591. propFix: {
  5592. tabindex: "tabIndex",
  5593. readonly: "readOnly",
  5594. "for": "htmlFor",
  5595. "class": "className",
  5596. maxlength: "maxLength",
  5597. cellspacing: "cellSpacing",
  5598. cellpadding: "cellPadding",
  5599. rowspan: "rowSpan",
  5600. colspan: "colSpan",
  5601. usemap: "useMap",
  5602. frameborder: "frameBorder",
  5603. contenteditable: "contentEditable"
  5604. },
  5605. prop: function (e, n, r) {
  5606. var i, o, a, s = e.nodeType;
  5607. if (e && 3 !== s && 8 !== s && 2 !== s) return a = 1 !== s || !X.isXMLDoc(e), a && (n = X.propFix[n] || n, o = X.propHooks[n]), r !== t ? o && "set" in o && (i = o.set(e, r, n)) !== t ? i : e[n] = r : o && "get" in o && null !== (i = o.get(e, n)) ? i : e[n]
  5608. },
  5609. propHooks: {
  5610. tabIndex: {
  5611. get: function (e) {
  5612. var n = e.getAttributeNode("tabindex");
  5613. return n && n.specified ? parseInt(n.value, 10) : pe.test(e.nodeName) || de.test(e.nodeName) && e.href ? 0 : t
  5614. }
  5615. }
  5616. }
  5617. }), ue = {
  5618. get: function (e, n) {
  5619. var r = X.prop(e, n),
  5620. i = "boolean" == typeof r && e.getAttribute(n),
  5621. o = "boolean" == typeof r ? ge && me ? null != i : he.test(n) ? e[X.camelCase("default-" + n)] : !!i : e.getAttributeNode(n);
  5622. return o && o.value !== !1 ? n.toLowerCase() : t
  5623. },
  5624. set: function (e, t, n) {
  5625. return t === !1 ? X.removeAttr(e, n) : ge && me || !he.test(n) ? e.setAttribute(!me && X.propFix[n] || n, n) : e[X.camelCase("default-" + n)] = e[n] = !0, n
  5626. }
  5627. }, ge && me || (X.attrHooks.value = {
  5628. get: function (e, n) {
  5629. var r = e.getAttributeNode(n);
  5630. return X.nodeName(e, "input") ? e.defaultValue : r && r.specified ? r.value : t
  5631. },
  5632. set: function (e, t, n) {
  5633. return X.nodeName(e, "input") ? void(e.defaultValue = t) : se && se.set(e, t, n)
  5634. }
  5635. }), me || (se = X.valHooks.button = {
  5636. get: function (e, n) {
  5637. var r = e.getAttributeNode(n);
  5638. return r && ("id" === n || "name" === n || "coords" === n ? "" !== r.value : r.specified) ? r.value : t
  5639. },
  5640. set: function (e, n, r) {
  5641. var i = e.getAttributeNode(r);
  5642. return i || e.setAttributeNode(i = e.ownerDocument.createAttribute(r)), i.value = n += "", "value" === r || n === e.getAttribute(r) ? n : t
  5643. }
  5644. }, X.attrHooks.contenteditable = {
  5645. get: se.get,
  5646. set: function (e, t, n) {
  5647. se.set(e, "" === t ? !1 : t, n)
  5648. }
  5649. }, X.each(["width", "height"], function (e, t) {
  5650. X.attrHooks[t] = X.extend(X.attrHooks[t], {
  5651. set: function (e, n) {
  5652. return "" === n ? (e.setAttribute(t, "auto"), n) : void 0
  5653. }
  5654. })
  5655. })), X.support.hrefNormalized || (X.each(["href", "src", "width", "height"], function (e, n) {
  5656. X.attrHooks[n] = X.extend(X.attrHooks[n], {
  5657. get: function (e) {
  5658. var r = e.getAttribute(n, 2);
  5659. return null == r ? t : r
  5660. }
  5661. })
  5662. }), X.each(["href", "src"], function (e, t) {
  5663. X.propHooks[t] = {
  5664. get: function (e) {
  5665. return e.getAttribute(t, 4)
  5666. }
  5667. }
  5668. })), X.support.style || (X.attrHooks.style = {
  5669. get: function (e) {
  5670. return e.style.cssText || t
  5671. },
  5672. set: function (e, t) {
  5673. return e.style.cssText = t + ""
  5674. }
  5675. }), X.support.optSelected || (X.propHooks.selected = X.extend(X.propHooks.selected, {
  5676. get: function (e) {
  5677. var t = e.parentNode;
  5678. return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
  5679. }
  5680. })), X.support.enctype || (X.propFix.enctype = "encoding"), X.support.checkOn || X.each(["radio", "checkbox"], function () {
  5681. X.valHooks[this] = {
  5682. get: function (e) {
  5683. return null === e.getAttribute("value") ? "on" : e.value
  5684. }
  5685. }
  5686. }), X.each(["radio", "checkbox"], function () {
  5687. X.valHooks[this] = X.extend(X.valHooks[this], {
  5688. set: function (e, t) {
  5689. return X.isArray(t) ? e.checked = X.inArray(X(e).val(), t) >= 0 : void 0
  5690. }
  5691. })
  5692. });
  5693. var ve = /^(?:input|select|textarea)$/i,
  5694. ye = /^key/,
  5695. be = /^(?:mouse|contextmenu)|click/,
  5696. xe = /^(?:focusinfocus|focusoutblur)$/,
  5697. Ee = /^([^.]*)(?:\.(.+)|)$/;
  5698. X.event = {
  5699. global: {},
  5700. add: function (e, n, r, i, o) {
  5701. var a, s, u, c, l, p, d, f, h, m, g, v = X._data(e);
  5702. if (v) {
  5703. for (r.handler && (c = r, r = c.handler, o = c.selector), r.guid || (r.guid = X.guid++), (s = v.events) || (s = v.events = {}), (p = v.handle) || (p = v.handle = function (e) {
  5704. return typeof X === A || e && X.event.triggered === e.type ? t : X.event.dispatch.apply(p.elem, arguments)
  5705. }, p.elem = e), n = (n || "").match(K) || [""], u = n.length; u--;) a = Ee.exec(n[u]) || [], h = g = a[1], m = (a[2] || "").split(".").sort(), l = X.event.special[h] || {}, h = (o ? l.delegateType : l.bindType) || h, l = X.event.special[h] || {}, d = X.extend({
  5706. type: h,
  5707. origType: g,
  5708. data: i,
  5709. handler: r,
  5710. guid: r.guid,
  5711. selector: o,
  5712. needsContext: o && X.expr.match.needsContext.test(o),
  5713. namespace: m.join(".")
  5714. }, c), (f = s[h]) || (f = s[h] = [], f.delegateCount = 0, l.setup && l.setup.call(e, i, m, p) !== !1 || (e.addEventListener ? e.addEventListener(h, p, !1) : e.attachEvent && e.attachEvent("on" + h, p))), l.add && (l.add.call(e, d), d.handler.guid || (d.handler.guid = r.guid)), o ? f.splice(f.delegateCount++, 0, d) : f.push(d), X.event.global[h] = !0;
  5715. e = null
  5716. }
  5717. },
  5718. remove: function (e, t, n, r, i) {
  5719. var o, a, s, u, c, l, p, d, f, h, m, g = X.hasData(e) && X._data(e);
  5720. if (g && (l = g.events)) {
  5721. for (t = (t || "").match(K) || [""], c = t.length; c--;)
  5722. if (s = Ee.exec(t[c]) || [], f = m = s[1], h = (s[2] || "").split(".").sort(), f) {
  5723. for (p = X.event.special[f] || {}, f = (r ? p.delegateType : p.bindType) || f, d = l[f] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), u = o = d.length; o--;) a = d[o], !i && m !== a.origType || n && n.guid !== a.guid || s && !s.test(a.namespace) || r && r !== a.selector && ("**" !== r || !a.selector) || (d.splice(o, 1), a.selector && d.delegateCount--, p.remove && p.remove.call(e, a));
  5724. u && !d.length && (p.teardown && p.teardown.call(e, h, g.handle) !== !1 || X.removeEvent(e, f, g.handle), delete l[f])
  5725. } else
  5726. for (f in l) X.event.remove(e, f + t[c], n, r, !0);
  5727. X.isEmptyObject(l) && (delete g.handle, X._removeData(e, "events"))
  5728. }
  5729. },
  5730. trigger: function (n, r, i, o) {
  5731. var a, s, u, c, l, p, d, f = [i || j],
  5732. h = $.call(n, "type") ? n.type : n,
  5733. m = $.call(n, "namespace") ? n.namespace.split(".") : [];
  5734. if (u = p = i = i || j, 3 !== i.nodeType && 8 !== i.nodeType && !xe.test(h + X.event.triggered) && (h.indexOf(".") >= 0 && (m = h.split("."), h = m.shift(), m.sort()), s = h.indexOf(":") < 0 && "on" + h, n = n[X.expando] ? n : new X.Event(h, "object" == typeof n && n), n.isTrigger = !0, n.namespace = m.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, n.result = t, n.target || (n.target = i), r = null == r ? [n] : X.makeArray(r, [n]), l = X.event.special[h] || {}, o || !l.trigger || l.trigger.apply(i, r) !== !1)) {
  5735. if (!o && !l.noBubble && !X.isWindow(i)) {
  5736. for (c = l.delegateType || h, xe.test(c + h) || (u = u.parentNode); u; u = u.parentNode) f.push(u), p = u;
  5737. p === (i.ownerDocument || j) && f.push(p.defaultView || p.parentWindow || e)
  5738. }
  5739. for (d = 0;
  5740. (u = f[d++]) && !n.isPropagationStopped();) n.type = d > 1 ? c : l.bindType || h, a = (X._data(u, "events") || {})[n.type] && X._data(u, "handle"), a && a.apply(u, r), a = s && u[s], a && X.acceptData(u) && a.apply && a.apply(u, r) === !1 && n.preventDefault();
  5741. if (n.type = h, !o && !n.isDefaultPrevented() && (!l._default || l._default.apply(i.ownerDocument, r) === !1) && ("click" !== h || !X.nodeName(i, "a")) && X.acceptData(i) && s && i[h] && !X.isWindow(i)) {
  5742. p = i[s], p && (i[s] = null), X.event.triggered = h;
  5743. try {
  5744. i[h]()
  5745. } catch (g) {}
  5746. X.event.triggered = t, p && (i[s] = p)
  5747. }
  5748. return n.result
  5749. }
  5750. },
  5751. dispatch: function (e) {
  5752. e = X.event.fix(e);
  5753. var n, r, i, o, a, s = [],
  5754. u = H.call(arguments),
  5755. c = (X._data(this, "events") || {})[e.type] || [],
  5756. l = X.event.special[e.type] || {};
  5757. if (u[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
  5758. for (s = X.event.handlers.call(this, e, c), n = 0;
  5759. (o = s[n++]) && !e.isPropagationStopped();)
  5760. for (e.currentTarget = o.elem, a = 0;
  5761. (i = o.handlers[a++]) && !e.isImmediatePropagationStopped();)(!e.namespace_re || e.namespace_re.test(i.namespace)) && (e.handleObj = i, e.data = i.data, r = ((X.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, u), r !== t && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
  5762. return l.postDispatch && l.postDispatch.call(this, e), e.result
  5763. }
  5764. },
  5765. handlers: function (e, n) {
  5766. var r, i, o, a, s = [],
  5767. u = n.delegateCount,
  5768. c = e.target;
  5769. if (u && c.nodeType && (!e.button || "click" !== e.type))
  5770. for (; c != this; c = c.parentNode || this)
  5771. if (1 === c.nodeType && (c.disabled !== !0 || "click" !== e.type)) {
  5772. for (o = [], a = 0; u > a; a++) i = n[a], r = i.selector + " ", o[r] === t && (o[r] = i.needsContext ? X(r, this).index(c) >= 0 : X.find(r, this, null, [c]).length), o[r] && o.push(i);
  5773. o.length && s.push({
  5774. elem: c,
  5775. handlers: o
  5776. })
  5777. } return u < n.length && s.push({
  5778. elem: this,
  5779. handlers: n.slice(u)
  5780. }), s
  5781. },
  5782. fix: function (e) {
  5783. if (e[X.expando]) return e;
  5784. var t, n, r, i = e.type,
  5785. o = e,
  5786. a = this.fixHooks[i];
  5787. for (a || (this.fixHooks[i] = a = be.test(i) ? this.mouseHooks : ye.test(i) ? this.keyHooks : {}), r = a.props ? this.props.concat(a.props) : this.props, e = new X.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n];
  5788. return e.target || (e.target = o.srcElement || j), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, a.filter ? a.filter(e, o) : e
  5789. },
  5790. props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
  5791. fixHooks: {},
  5792. keyHooks: {
  5793. props: "char charCode key keyCode".split(" "),
  5794. filter: function (e, t) {
  5795. return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
  5796. }
  5797. },
  5798. mouseHooks: {
  5799. props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
  5800. filter: function (e, n) {
  5801. var r, i, o, a = n.button,
  5802. s = n.fromElement;
  5803. return null == e.pageX && null != n.clientX && (i = e.target.ownerDocument || j, o = i.documentElement, r = i.body, e.pageX = n.clientX + (o && o.scrollLeft || r && r.scrollLeft || 0) - (o && o.clientLeft || r && r.clientLeft || 0), e.pageY = n.clientY + (o && o.scrollTop || r && r.scrollTop || 0) - (o && o.clientTop || r && r.clientTop || 0)), !e.relatedTarget && s && (e.relatedTarget = s === e.target ? n.toElement : s), e.which || a === t || (e.which = 1 & a ? 1 : 2 & a ? 3 : 4 & a ? 2 : 0), e
  5804. }
  5805. },
  5806. special: {
  5807. load: {
  5808. noBubble: !0
  5809. },
  5810. click: {
  5811. trigger: function () {
  5812. return X.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0
  5813. }
  5814. },
  5815. focus: {
  5816. trigger: function () {
  5817. if (this !== j.activeElement && this.focus) try {
  5818. return this.focus(), !1
  5819. } catch (e) {}
  5820. },
  5821. delegateType: "focusin"
  5822. },
  5823. blur: {
  5824. trigger: function () {
  5825. return this === j.activeElement && this.blur ? (this.blur(), !1) : void 0
  5826. },
  5827. delegateType: "focusout"
  5828. },
  5829. beforeunload: {
  5830. postDispatch: function (e) {
  5831. e.result !== t && (e.originalEvent.returnValue = e.result)
  5832. }
  5833. }
  5834. },
  5835. simulate: function (e, t, n, r) {
  5836. var i = X.extend(new X.Event, n, {
  5837. type: e,
  5838. isSimulated: !0,
  5839. originalEvent: {}
  5840. });
  5841. r ? X.event.trigger(i, null, t) : X.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault()
  5842. }
  5843. }, X.removeEvent = j.removeEventListener ? function (e, t, n) {
  5844. e.removeEventListener && e.removeEventListener(t, n, !1)
  5845. } : function (e, t, n) {
  5846. var r = "on" + t;
  5847. e.detachEvent && (typeof e[r] === A && (e[r] = null), e.detachEvent(r, n))
  5848. }, X.Event = function (e, t) {
  5849. return this instanceof X.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? u : c) : this.type = e, t && X.extend(this, t), this.timeStamp = e && e.timeStamp || X.now(), void(this[X.expando] = !0)) : new X.Event(e, t)
  5850. }, X.Event.prototype = {
  5851. isDefaultPrevented: c,
  5852. isPropagationStopped: c,
  5853. isImmediatePropagationStopped: c,
  5854. preventDefault: function () {
  5855. var e = this.originalEvent;
  5856. this.isDefaultPrevented = u, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
  5857. },
  5858. stopPropagation: function () {
  5859. var e = this.originalEvent;
  5860. this.isPropagationStopped = u, e && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0)
  5861. },
  5862. stopImmediatePropagation: function () {
  5863. this.isImmediatePropagationStopped = u, this.stopPropagation()
  5864. }
  5865. }, X.each({
  5866. mouseenter: "mouseover",
  5867. mouseleave: "mouseout"
  5868. }, function (e, t) {
  5869. X.event.special[e] = {
  5870. delegateType: t,
  5871. bindType: t,
  5872. handle: function (e) {
  5873. var n, r = this,
  5874. i = e.relatedTarget,
  5875. o = e.handleObj;
  5876. return (!i || i !== r && !X.contains(r, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
  5877. }
  5878. }
  5879. }), X.support.submitBubbles || (X.event.special.submit = {
  5880. setup: function () {
  5881. return X.nodeName(this, "form") ? !1 : void X.event.add(this, "click._submit keypress._submit", function (e) {
  5882. var n = e.target,
  5883. r = X.nodeName(n, "input") || X.nodeName(n, "button") ? n.form : t;
  5884. r && !X._data(r, "submitBubbles") && (X.event.add(r, "submit._submit", function (e) {
  5885. e._submit_bubble = !0
  5886. }), X._data(r, "submitBubbles", !0))
  5887. })
  5888. },
  5889. postDispatch: function (e) {
  5890. e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && X.event.simulate("submit", this.parentNode, e, !0))
  5891. },
  5892. teardown: function () {
  5893. return X.nodeName(this, "form") ? !1 : void X.event.remove(this, "._submit")
  5894. }
  5895. }), X.support.changeBubbles || (X.event.special.change = {
  5896. setup: function () {
  5897. return ve.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (X.event.add(this, "propertychange._change", function (e) {
  5898. "checked" === e.originalEvent.propertyName && (this._just_changed = !0)
  5899. }), X.event.add(this, "click._change", function (e) {
  5900. this._just_changed && !e.isTrigger && (this._just_changed = !1), X.event.simulate("change", this, e, !0)
  5901. })), !1) : void X.event.add(this, "beforeactivate._change", function (e) {
  5902. var t = e.target;
  5903. ve.test(t.nodeName) && !X._data(t, "changeBubbles") && (X.event.add(t, "change._change", function (e) {
  5904. !this.parentNode || e.isSimulated || e.isTrigger || X.event.simulate("change", this.parentNode, e, !0)
  5905. }), X._data(t, "changeBubbles", !0))
  5906. })
  5907. },
  5908. handle: function (e) {
  5909. var t = e.target;
  5910. return this !== t || e.isSimulated || e.isTrigger || "radio" !== t.type && "checkbox" !== t.type ? e.handleObj.handler.apply(this, arguments) : void 0
  5911. },
  5912. teardown: function () {
  5913. return X.event.remove(this, "._change"), !ve.test(this.nodeName)
  5914. }
  5915. }), X.support.focusinBubbles || X.each({
  5916. focus: "focusin",
  5917. blur: "focusout"
  5918. }, function (e, t) {
  5919. var n = 0,
  5920. r = function (e) {
  5921. X.event.simulate(t, e.target, X.event.fix(e), !0)
  5922. };
  5923. X.event.special[t] = {
  5924. setup: function () {
  5925. 0 === n++ && j.addEventListener(e, r, !0)
  5926. },
  5927. teardown: function () {
  5928. 0 === --n && j.removeEventListener(e, r, !0)
  5929. }
  5930. }
  5931. }), X.fn.extend({
  5932. on: function (e, n, r, i, o) {
  5933. var a, s;
  5934. if ("object" == typeof e) {
  5935. "string" != typeof n && (r = r || n, n = t);
  5936. for (a in e) this.on(a, n, r, e[a], o);
  5937. return this
  5938. }
  5939. if (null == r && null == i ? (i = n, r = n = t) : null == i && ("string" == typeof n ? (i = r, r = t) : (i = r, r = n, n = t)), i === !1) i = c;
  5940. else if (!i) return this;
  5941. return 1 === o && (s = i, i = function (e) {
  5942. return X().off(e), s.apply(this, arguments)
  5943. }, i.guid = s.guid || (s.guid = X.guid++)), this.each(function () {
  5944. X.event.add(this, e, i, r, n)
  5945. })
  5946. },
  5947. one: function (e, t, n, r) {
  5948. return this.on(e, t, n, r, 1)
  5949. },
  5950. off: function (e, n, r) {
  5951. var i, o;
  5952. if (e && e.preventDefault && e.handleObj) return i = e.handleObj, X(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
  5953. if ("object" == typeof e) {
  5954. for (o in e) this.off(o, n, e[o]);
  5955. return this
  5956. }
  5957. return (n === !1 || "function" == typeof n) && (r = n, n = t), r === !1 && (r = c), this.each(function () {
  5958. X.event.remove(this, e, r, n)
  5959. })
  5960. },
  5961. bind: function (e, t, n) {
  5962. return this.on(e, null, t, n)
  5963. },
  5964. unbind: function (e, t) {
  5965. return this.off(e, null, t)
  5966. },
  5967. delegate: function (e, t, n, r) {
  5968. return this.on(t, e, n, r)
  5969. },
  5970. undelegate: function (e, t, n) {
  5971. return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
  5972. },
  5973. trigger: function (e, t) {
  5974. return this.each(function () {
  5975. X.event.trigger(e, t, this)
  5976. })
  5977. },
  5978. triggerHandler: function (e, t) {
  5979. var n = this[0];
  5980. return n ? X.event.trigger(e, t, n, !0) : void 0
  5981. }
  5982. }),
  5983. function (e, t) {
  5984. function n(e, t, n, r) {
  5985. var i, o, a, s, u, c, l, p, d, f;
  5986. if ((t ? t.ownerDocument || t : K) !== P && O(t), t = t || P, n = n || [], !e || "string" != typeof e) return n;
  5987. if (1 !== (s = t.nodeType) && 9 !== s) return [];
  5988. if (B && !r) {
  5989. if (i = Ce.exec(e))
  5990. if (a = i[1]) {
  5991. if (9 === s) {
  5992. if (o = t.getElementById(a), !o || !o.parentNode) return n;
  5993. if (o.id === a) return n.push(o), n
  5994. } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(a)) && $(t, o) && o.id === a) return n.push(o), n
  5995. } else {
  5996. if (i[2]) return oe.apply(n, t.getElementsByTagName(e)), n;
  5997. if ((a = i[3]) && N.getElementsByClassName && t.getElementsByClassName) return oe.apply(n, t.getElementsByClassName(a)), n
  5998. } if (N.qsa && (!H || !H.test(e))) {
  5999. if (p = l = W, d = t, f = 9 === s && e, 1 === s && "object" !== t.nodeName.toLowerCase()) {
  6000. for (c = m(e), (l = t.getAttribute("id")) ? p = l.replace(Se, "\\$&") : t.setAttribute("id", p), p = "[id='" + p + "'] ", u = c.length; u--;) c[u] = p + g(c[u]);
  6001. d = ve.test(e) && t.parentNode || t, f = c.join(",")
  6002. }
  6003. if (f) try {
  6004. return oe.apply(n, d.querySelectorAll(f)), n
  6005. } catch (h) {} finally {
  6006. l || t.removeAttribute("id")
  6007. }
  6008. }
  6009. }
  6010. return T(e.replace(he, "$1"), t, n, r)
  6011. }
  6012.  
  6013. function r(e) {
  6014. return we.test(e + "")
  6015. }
  6016.  
  6017. function i() {
  6018. function e(n, r) {
  6019. return t.push(n += " ") > L.cacheLength && delete e[t.shift()], e[n] = r
  6020. }
  6021. var t = [];
  6022. return e
  6023. }
  6024.  
  6025. function o(e) {
  6026. return e[W] = !0, e
  6027. }
  6028.  
  6029. function a(e) {
  6030. var t = P.createElement("div");
  6031. try {
  6032. return !!e(t)
  6033. } catch (n) {
  6034. return !1
  6035. } finally {
  6036. t.parentNode && t.parentNode.removeChild(t), t = null
  6037. }
  6038. }
  6039.  
  6040. function s(e, t, n) {
  6041. e = e.split("|");
  6042. for (var r, i = e.length, o = n ? null : t; i--;)(r = L.attrHandle[e[i]]) && r !== t || (L.attrHandle[e[i]] = o)
  6043. }
  6044.  
  6045. function u(e, t) {
  6046. var n = e.getAttributeNode(t);
  6047. return n && n.specified ? n.value : e[t] === !0 ? t.toLowerCase() : null
  6048. }
  6049.  
  6050. function c(e, t) {
  6051. return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
  6052. }
  6053.  
  6054. function l(e) {
  6055. return "input" === e.nodeName.toLowerCase() ? e.defaultValue : void 0
  6056. }
  6057.  
  6058. function p(e, t) {
  6059. var n = t && e,
  6060. r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || ee) - (~e.sourceIndex || ee);
  6061. if (r) return r;
  6062. if (n)
  6063. for (; n = n.nextSibling;)
  6064. if (n === t) return -1;
  6065. return e ? 1 : -1
  6066. }
  6067.  
  6068. function d(e) {
  6069. return function (t) {
  6070. var n = t.nodeName.toLowerCase();
  6071. return "input" === n && t.type === e
  6072. }
  6073. }
  6074.  
  6075. function f(e) {
  6076. return function (t) {
  6077. var n = t.nodeName.toLowerCase();
  6078. return ("input" === n || "button" === n) && t.type === e
  6079. }
  6080. }
  6081.  
  6082. function h(e) {
  6083. return o(function (t) {
  6084. return t = +t, o(function (n, r) {
  6085. for (var i, o = e([], n.length, t), a = o.length; a--;) n[i = o[a]] && (n[i] = !(r[i] = n[i]))
  6086. })
  6087. })
  6088. }
  6089.  
  6090. function m(e, t) {
  6091. var r, i, o, a, s, u, c, l = J[e + " "];
  6092. if (l) return t ? 0 : l.slice(0);
  6093. for (s = e, u = [], c = L.preFilter; s;) {
  6094. (!r || (i = me.exec(s))) && (i && (s = s.slice(i[0].length) || s), u.push(o = [])), r = !1, (i = ge.exec(s)) && (r = i.shift(), o.push({
  6095. value: r,
  6096. type: i[0].replace(he, " ")
  6097. }), s = s.slice(r.length));
  6098. for (a in L.filter) !(i = Ee[a].exec(s)) || c[a] && !(i = c[a](i)) || (r = i.shift(), o.push({
  6099. value: r,
  6100. type: a,
  6101. matches: i
  6102. }), s = s.slice(r.length));
  6103. if (!r) break
  6104. }
  6105. return t ? s.length : s ? n.error(e) : J(e, u).slice(0)
  6106. }
  6107.  
  6108. function g(e) {
  6109. for (var t = 0, n = e.length, r = ""; n > t; t++) r += e[t].value;
  6110. return r
  6111. }
  6112.  
  6113. function v(e, t, n) {
  6114. var r = t.dir,
  6115. i = n && "parentNode" === r,
  6116. o = U++;
  6117. return t.first ? function (t, n, o) {
  6118. for (; t = t[r];)
  6119. if (1 === t.nodeType || i) return e(t, n, o)
  6120. } : function (t, n, a) {
  6121. var s, u, c, l = z + " " + o;
  6122. if (a) {
  6123. for (; t = t[r];)
  6124. if ((1 === t.nodeType || i) && e(t, n, a)) return !0
  6125. } else
  6126. for (; t = t[r];)
  6127. if (1 === t.nodeType || i)
  6128. if (c = t[W] || (t[W] = {}), (u = c[r]) && u[0] === l) {
  6129. if ((s = u[1]) === !0 || s === M) return s === !0
  6130. } else if (u = c[r] = [l], u[1] = e(t, n, a) || M, u[1] === !0) return !0
  6131. }
  6132. }
  6133.  
  6134. function y(e) {
  6135. return e.length > 1 ? function (t, n, r) {
  6136. for (var i = e.length; i--;)
  6137. if (!e[i](t, n, r)) return !1;
  6138. return !0
  6139. } : e[0]
  6140. }
  6141.  
  6142. function b(e, t, n, r, i) {
  6143. for (var o, a = [], s = 0, u = e.length, c = null != t; u > s; s++)(o = e[s]) && (!n || n(o, r, i)) && (a.push(o), c && t.push(s));
  6144. return a
  6145. }
  6146.  
  6147. function x(e, t, n, r, i, a) {
  6148. return r && !r[W] && (r = x(r)), i && !i[W] && (i = x(i, a)), o(function (o, a, s, u) {
  6149. var c, l, p, d = [],
  6150. f = [],
  6151. h = a.length,
  6152. m = o || C(t || "*", s.nodeType ? [s] : s, []),
  6153. g = !e || !o && t ? m : b(m, d, e, s, u),
  6154. v = n ? i || (o ? e : h || r) ? [] : a : g;
  6155. if (n && n(g, v, s, u), r)
  6156. for (c = b(v, f), r(c, [], s, u), l = c.length; l--;)(p = c[l]) && (v[f[l]] = !(g[f[l]] = p));
  6157. if (o) {
  6158. if (i || e) {
  6159. if (i) {
  6160. for (c = [], l = v.length; l--;)(p = v[l]) && c.push(g[l] = p);
  6161. i(null, v = [], c, u)
  6162. }
  6163. for (l = v.length; l--;)(p = v[l]) && (c = i ? se.call(o, p) : d[l]) > -1 && (o[c] = !(a[c] = p))
  6164. }
  6165. } else v = b(v === a ? v.splice(h, v.length) : v), i ? i(null, a, v, u) : oe.apply(a, v)
  6166. })
  6167. }
  6168.  
  6169. function E(e) {
  6170. for (var t, n, r, i = e.length, o = L.relative[e[0].type], a = o || L.relative[" "], s = o ? 1 : 0, u = v(function (e) {
  6171. return e === t
  6172. }, a, !0), c = v(function (e) {
  6173. return se.call(t, e) > -1
  6174. }, a, !0), l = [function (e, n, r) {
  6175. return !o && (r || n !== q) || ((t = n).nodeType ? u(e, n, r) : c(e, n, r))
  6176. }]; i > s; s++)
  6177. if (n = L.relative[e[s].type]) l = [v(y(l), n)];
  6178. else {
  6179. if (n = L.filter[e[s].type].apply(null, e[s].matches), n[W]) {
  6180. for (r = ++s; i > r && !L.relative[e[r].type]; r++);
  6181. return x(s > 1 && y(l), s > 1 && g(e.slice(0, s - 1).concat({
  6182. value: " " === e[s - 2].type ? "*" : ""
  6183. })).replace(he, "$1"), n, r > s && E(e.slice(s, r)), i > r && E(e = e.slice(r)), i > r && g(e))
  6184. }
  6185. l.push(n)
  6186. } return y(l)
  6187. }
  6188.  
  6189. function w(e, t) {
  6190. var r = 0,
  6191. i = t.length > 0,
  6192. a = e.length > 0,
  6193. s = function (o, s, u, c, l) {
  6194. var p, d, f, h = [],
  6195. m = 0,
  6196. g = "0",
  6197. v = o && [],
  6198. y = null != l,
  6199. x = q,
  6200. E = o || a && L.find.TAG("*", l && s.parentNode || s),
  6201. w = z += null == x ? 1 : Math.random() || .1;
  6202. for (y && (q = s !== P && s, M = r); null != (p = E[g]); g++) {
  6203. if (a && p) {
  6204. for (d = 0; f = e[d++];)
  6205. if (f(p, s, u)) {
  6206. c.push(p);
  6207. break
  6208. } y && (z = w, M = ++r)
  6209. }
  6210. i && ((p = !f && p) && m--, o && v.push(p))
  6211. }
  6212. if (m += g, i && g !== m) {
  6213. for (d = 0; f = t[d++];) f(v, h, s, u);
  6214. if (o) {
  6215. if (m > 0)
  6216. for (; g--;) v[g] || h[g] || (h[g] = re.call(c));
  6217. h = b(h)
  6218. }
  6219. oe.apply(c, h), y && !o && h.length > 0 && m + t.length > 1 && n.uniqueSort(c)
  6220. }
  6221. return y && (z = w, q = x), v
  6222. };
  6223. return i ? o(s) : s
  6224. }
  6225.  
  6226. function C(e, t, r) {
  6227. for (var i = 0, o = t.length; o > i; i++) n(e, t[i], r);
  6228. return r
  6229. }
  6230.  
  6231. function T(e, t, n, r) {
  6232. var i, o, a, s, u, c = m(e);
  6233. if (!r && 1 === c.length) {
  6234. if (o = c[0] = c[0].slice(0), o.length > 2 && "ID" === (a = o[0]).type && N.getById && 9 === t.nodeType && B && L.relative[o[1].type]) {
  6235. if (t = (L.find.ID(a.matches[0].replace(Ne, Me), t) || [])[0], !t) return n;
  6236. e = e.slice(o.shift().value.length)
  6237. }
  6238. for (i = Ee.needsContext.test(e) ? 0 : o.length; i-- && (a = o[i], !L.relative[s = a.type]);)
  6239. if ((u = L.find[s]) && (r = u(a.matches[0].replace(Ne, Me), ve.test(o[0].type) && t.parentNode || t))) {
  6240. if (o.splice(i, 1), e = r.length && g(o), !e) return oe.apply(n, r), n;
  6241. break
  6242. }
  6243. }
  6244. return j(e, c)(r, t, !B, n, ve.test(e)), n
  6245. }
  6246.  
  6247. function k() {}
  6248. var S, N, M, L, D, A, j, q, _, O, P, R, B, H, F, I, $, W = "sizzle" + -new Date,
  6249. K = e.document,
  6250. z = 0,
  6251. U = 0,
  6252. Y = i(),
  6253. J = i(),
  6254. V = i(),
  6255. G = !1,
  6256. Q = function () {
  6257. return 0
  6258. },
  6259. Z = typeof t,
  6260. ee = 1 << 31,
  6261. te = {}.hasOwnProperty,
  6262. ne = [],
  6263. re = ne.pop,
  6264. ie = ne.push,
  6265. oe = ne.push,
  6266. ae = ne.slice,
  6267. se = ne.indexOf || function (e) {
  6268. for (var t = 0, n = this.length; n > t; t++)
  6269. if (this[t] === e) return t;
  6270. return -1
  6271. },
  6272. ue = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
  6273. ce = "[\\x20\\t\\r\\n\\f]",
  6274. le = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
  6275. pe = le.replace("w", "w#"),
  6276. de = "\\[" + ce + "*(" + le + ")" + ce + "*(?:([*^$|!~]?=)" + ce + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + pe + ")|)|)" + ce + "*\\]",
  6277. fe = ":(" + le + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + de.replace(3, 8) + ")*)|.*)\\)|)",
  6278. he = new RegExp("^" + ce + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ce + "+$", "g"),
  6279. me = new RegExp("^" + ce + "*," + ce + "*"),
  6280. ge = new RegExp("^" + ce + "*([>+~]|" + ce + ")" + ce + "*"),
  6281. ve = new RegExp(ce + "*[+~]"),
  6282. ye = new RegExp("=" + ce + "*([^\\]'\"]*)" + ce + "*\\]", "g"),
  6283. be = new RegExp(fe),
  6284. xe = new RegExp("^" + pe + "$"),
  6285. Ee = {
  6286. ID: new RegExp("^#(" + le + ")"),
  6287. CLASS: new RegExp("^\\.(" + le + ")"),
  6288. TAG: new RegExp("^(" + le.replace("w", "w*") + ")"),
  6289. ATTR: new RegExp("^" + de),
  6290. PSEUDO: new RegExp("^" + fe),
  6291. CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ce + "*(even|odd|(([+-]|)(\\d*)n|)" + ce + "*(?:([+-]|)" + ce + "*(\\d+)|))" + ce + "*\\)|)", "i"),
  6292. bool: new RegExp("^(?:" + ue + ")$", "i"),
  6293. needsContext: new RegExp("^" + ce + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ce + "*((?:-\\d)?\\d*)" + ce + "*\\)|)(?=[^-]|$)", "i")
  6294. },
  6295. we = /^[^{]+\{\s*\[native \w/,
  6296. Ce = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
  6297. Te = /^(?:input|select|textarea|button)$/i,
  6298. ke = /^h\d$/i,
  6299. Se = /'|\\/g,
  6300. Ne = new RegExp("\\\\([\\da-f]{1,6}" + ce + "?|(" + ce + ")|.)", "ig"),
  6301. Me = function (e, t, n) {
  6302. var r = "0x" + t - 65536;
  6303. return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
  6304. };
  6305. try {
  6306. oe.apply(ne = ae.call(K.childNodes), K.childNodes), ne[K.childNodes.length].nodeType
  6307. } catch (Le) {
  6308. oe = {
  6309. apply: ne.length ? function (e, t) {
  6310. ie.apply(e, ae.call(t))
  6311. } : function (e, t) {
  6312. for (var n = e.length, r = 0; e[n++] = t[r++];);
  6313. e.length = n - 1
  6314. }
  6315. }
  6316. }
  6317. A = n.isXML = function (e) {
  6318. var t = e && (e.ownerDocument || e).documentElement;
  6319. return t ? "HTML" !== t.nodeName : !1
  6320. }, N = n.support = {}, O = n.setDocument = function (e) {
  6321. var t = e ? e.ownerDocument || e : K;
  6322. return t !== P && 9 === t.nodeType && t.documentElement ? (P = t, R = t.documentElement, B = !A(t), N.attributes = a(function (e) {
  6323. return e.innerHTML = "<a href='#'></a>", s("type|href|height|width", c, "#" === e.firstChild.getAttribute("href")), s(ue, u, null == e.getAttribute("disabled")), e.className = "i", !e.getAttribute("className")
  6324. }),
  6325. N.input = a(function (e) {
  6326. return e.innerHTML = "<input>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
  6327. }), s("value", l, N.attributes && N.input), N.getElementsByTagName = a(function (e) {
  6328. return e.appendChild(t.createComment("")), !e.getElementsByTagName("*").length
  6329. }), N.getElementsByClassName = a(function (e) {
  6330. return e.innerHTML = "<div class='a'></div><div class='a i'></div>", e.firstChild.className = "i", 2 === e.getElementsByClassName("i").length
  6331. }), N.getById = a(function (e) {
  6332. return R.appendChild(e).id = W, !t.getElementsByName || !t.getElementsByName(W).length
  6333. }), N.getById ? (L.find.ID = function (e, t) {
  6334. if (typeof t.getElementById !== Z && B) {
  6335. var n = t.getElementById(e);
  6336. return n && n.parentNode ? [n] : []
  6337. }
  6338. }, L.filter.ID = function (e) {
  6339. var t = e.replace(Ne, Me);
  6340. return function (e) {
  6341. return e.getAttribute("id") === t
  6342. }
  6343. }) : (delete L.find.ID, L.filter.ID = function (e) {
  6344. var t = e.replace(Ne, Me);
  6345. return function (e) {
  6346. var n = typeof e.getAttributeNode !== Z && e.getAttributeNode("id");
  6347. return n && n.value === t
  6348. }
  6349. }), L.find.TAG = N.getElementsByTagName ? function (e, t) {
  6350. return typeof t.getElementsByTagName !== Z ? t.getElementsByTagName(e) : void 0
  6351. } : function (e, t) {
  6352. var n, r = [],
  6353. i = 0,
  6354. o = t.getElementsByTagName(e);
  6355. if ("*" === e) {
  6356. for (; n = o[i++];) 1 === n.nodeType && r.push(n);
  6357. return r
  6358. }
  6359. return o
  6360. }, L.find.CLASS = N.getElementsByClassName && function (e, t) {
  6361. return typeof t.getElementsByClassName !== Z && B ? t.getElementsByClassName(e) : void 0
  6362. }, F = [], H = [], (N.qsa = r(t.querySelectorAll)) && (a(function (e) {
  6363. e.innerHTML = "<select><option selected=''></option></select>", e.querySelectorAll("[selected]").length || H.push("\\[" + ce + "*(?:value|" + ue + ")"), e.querySelectorAll(":checked").length || H.push(":checked")
  6364. }), a(function (e) {
  6365. var n = t.createElement("input");
  6366. n.setAttribute("type", "hidden"), e.appendChild(n).setAttribute("t", ""), e.querySelectorAll("[t^='']").length && H.push("[*^$]=" + ce + "*(?:''|\"\")"), e.querySelectorAll(":enabled").length || H.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), H.push(",.*:")
  6367. })), (N.matchesSelector = r(I = R.webkitMatchesSelector || R.mozMatchesSelector || R.oMatchesSelector || R.msMatchesSelector)) && a(function (e) {
  6368. N.disconnectedMatch = I.call(e, "div"), I.call(e, "[s!='']:x"), F.push("!=", fe)
  6369. }), H = H.length && new RegExp(H.join("|")), F = F.length && new RegExp(F.join("|")), $ = r(R.contains) || R.compareDocumentPosition ? function (e, t) {
  6370. var n = 9 === e.nodeType ? e.documentElement : e,
  6371. r = t && t.parentNode;
  6372. return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
  6373. } : function (e, t) {
  6374. if (t)
  6375. for (; t = t.parentNode;)
  6376. if (t === e) return !0;
  6377. return !1
  6378. }, N.sortDetached = a(function (e) {
  6379. return 1 & e.compareDocumentPosition(t.createElement("div"))
  6380. }), Q = R.compareDocumentPosition ? function (e, n) {
  6381. if (e === n) return G = !0, 0;
  6382. var r = n.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(n);
  6383. return r ? 1 & r || !N.sortDetached && n.compareDocumentPosition(e) === r ? e === t || $(K, e) ? -1 : n === t || $(K, n) ? 1 : _ ? se.call(_, e) - se.call(_, n) : 0 : 4 & r ? -1 : 1 : e.compareDocumentPosition ? -1 : 1
  6384. } : function (e, n) {
  6385. var r, i = 0,
  6386. o = e.parentNode,
  6387. a = n.parentNode,
  6388. s = [e],
  6389. u = [n];
  6390. if (e === n) return G = !0, 0;
  6391. if (!o || !a) return e === t ? -1 : n === t ? 1 : o ? -1 : a ? 1 : _ ? se.call(_, e) - se.call(_, n) : 0;
  6392. if (o === a) return p(e, n);
  6393. for (r = e; r = r.parentNode;) s.unshift(r);
  6394. for (r = n; r = r.parentNode;) u.unshift(r);
  6395. for (; s[i] === u[i];) i++;
  6396. return i ? p(s[i], u[i]) : s[i] === K ? -1 : u[i] === K ? 1 : 0
  6397. }, t) : P
  6398. }, n.matches = function (e, t) {
  6399. return n(e, null, null, t)
  6400. }, n.matchesSelector = function (e, t) {
  6401. if ((e.ownerDocument || e) !== P && O(e), t = t.replace(ye, "='$1']"), N.matchesSelector && B && (!F || !F.test(t)) && (!H || !H.test(t))) try {
  6402. var r = I.call(e, t);
  6403. if (r || N.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
  6404. } catch (i) {}
  6405. return n(t, P, null, [e]).length > 0
  6406. }, n.contains = function (e, t) {
  6407. return (e.ownerDocument || e) !== P && O(e), $(e, t)
  6408. }, n.attr = function (e, n) {
  6409. (e.ownerDocument || e) !== P && O(e);
  6410. var r = L.attrHandle[n.toLowerCase()],
  6411. i = r && te.call(L.attrHandle, n.toLowerCase()) ? r(e, n, !B) : t;
  6412. return i === t ? N.attributes || !B ? e.getAttribute(n) : (i = e.getAttributeNode(n)) && i.specified ? i.value : null : i
  6413. }, n.error = function (e) {
  6414. throw new Error("Syntax error, unrecognized expression: " + e)
  6415. }, n.uniqueSort = function (e) {
  6416. var t, n = [],
  6417. r = 0,
  6418. i = 0;
  6419. if (G = !N.detectDuplicates, _ = !N.sortStable && e.slice(0), e.sort(Q), G) {
  6420. for (; t = e[i++];) t === e[i] && (r = n.push(i));
  6421. for (; r--;) e.splice(n[r], 1)
  6422. }
  6423. return e
  6424. }, D = n.getText = function (e) {
  6425. var t, n = "",
  6426. r = 0,
  6427. i = e.nodeType;
  6428. if (i) {
  6429. if (1 === i || 9 === i || 11 === i) {
  6430. if ("string" == typeof e.textContent) return e.textContent;
  6431. for (e = e.firstChild; e; e = e.nextSibling) n += D(e)
  6432. } else if (3 === i || 4 === i) return e.nodeValue
  6433. } else
  6434. for (; t = e[r]; r++) n += D(t);
  6435. return n
  6436. }, L = n.selectors = {
  6437. cacheLength: 50,
  6438. createPseudo: o,
  6439. match: Ee,
  6440. attrHandle: {},
  6441. find: {},
  6442. relative: {
  6443. ">": {
  6444. dir: "parentNode",
  6445. first: !0
  6446. },
  6447. " ": {
  6448. dir: "parentNode"
  6449. },
  6450. "+": {
  6451. dir: "previousSibling",
  6452. first: !0
  6453. },
  6454. "~": {
  6455. dir: "previousSibling"
  6456. }
  6457. },
  6458. preFilter: {
  6459. ATTR: function (e) {
  6460. return e[1] = e[1].replace(Ne, Me), e[3] = (e[4] || e[5] || "").replace(Ne, Me), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
  6461. },
  6462. CHILD: function (e) {
  6463. return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || n.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && n.error(e[0]), e
  6464. },
  6465. PSEUDO: function (e) {
  6466. var n, r = !e[5] && e[2];
  6467. return Ee.CHILD.test(e[0]) ? null : (e[3] && e[4] !== t ? e[2] = e[4] : r && be.test(r) && (n = m(r, !0)) && (n = r.indexOf(")", r.length - n) - r.length) && (e[0] = e[0].slice(0, n), e[2] = r.slice(0, n)), e.slice(0, 3))
  6468. }
  6469. },
  6470. filter: {
  6471. TAG: function (e) {
  6472. var t = e.replace(Ne, Me).toLowerCase();
  6473. return "*" === e ? function () {
  6474. return !0
  6475. } : function (e) {
  6476. return e.nodeName && e.nodeName.toLowerCase() === t
  6477. }
  6478. },
  6479. CLASS: function (e) {
  6480. var t = Y[e + " "];
  6481. return t || (t = new RegExp("(^|" + ce + ")" + e + "(" + ce + "|$)")) && Y(e, function (e) {
  6482. return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== Z && e.getAttribute("class") || "")
  6483. })
  6484. },
  6485. ATTR: function (e, t, r) {
  6486. return function (i) {
  6487. var o = n.attr(i, e);
  6488. return null == o ? "!=" === t : t ? (o += "", "=" === t ? o === r : "!=" === t ? o !== r : "^=" === t ? r && 0 === o.indexOf(r) : "*=" === t ? r && o.indexOf(r) > -1 : "$=" === t ? r && o.slice(-r.length) === r : "~=" === t ? (" " + o + " ").indexOf(r) > -1 : "|=" === t ? o === r || o.slice(0, r.length + 1) === r + "-" : !1) : !0
  6489. }
  6490. },
  6491. CHILD: function (e, t, n, r, i) {
  6492. var o = "nth" !== e.slice(0, 3),
  6493. a = "last" !== e.slice(-4),
  6494. s = "of-type" === t;
  6495. return 1 === r && 0 === i ? function (e) {
  6496. return !!e.parentNode
  6497. } : function (t, n, u) {
  6498. var c, l, p, d, f, h, m = o !== a ? "nextSibling" : "previousSibling",
  6499. g = t.parentNode,
  6500. v = s && t.nodeName.toLowerCase(),
  6501. y = !u && !s;
  6502. if (g) {
  6503. if (o) {
  6504. for (; m;) {
  6505. for (p = t; p = p[m];)
  6506. if (s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1;
  6507. h = m = "only" === e && !h && "nextSibling"
  6508. }
  6509. return !0
  6510. }
  6511. if (h = [a ? g.firstChild : g.lastChild], a && y) {
  6512. for (l = g[W] || (g[W] = {}), c = l[e] || [], f = c[0] === z && c[1], d = c[0] === z && c[2], p = f && g.childNodes[f]; p = ++f && p && p[m] || (d = f = 0) || h.pop();)
  6513. if (1 === p.nodeType && ++d && p === t) {
  6514. l[e] = [z, f, d];
  6515. break
  6516. }
  6517. } else if (y && (c = (t[W] || (t[W] = {}))[e]) && c[0] === z) d = c[1];
  6518. else
  6519. for (;
  6520. (p = ++f && p && p[m] || (d = f = 0) || h.pop()) && ((s ? p.nodeName.toLowerCase() !== v : 1 !== p.nodeType) || !++d || (y && ((p[W] || (p[W] = {}))[e] = [z, d]), p !== t)););
  6521. return d -= i, d === r || d % r === 0 && d / r >= 0
  6522. }
  6523. }
  6524. },
  6525. PSEUDO: function (e, t) {
  6526. var r, i = L.pseudos[e] || L.setFilters[e.toLowerCase()] || n.error("unsupported pseudo: " + e);
  6527. return i[W] ? i(t) : i.length > 1 ? (r = [e, e, "", t], L.setFilters.hasOwnProperty(e.toLowerCase()) ? o(function (e, n) {
  6528. for (var r, o = i(e, t), a = o.length; a--;) r = se.call(e, o[a]), e[r] = !(n[r] = o[a])
  6529. }) : function (e) {
  6530. return i(e, 0, r)
  6531. }) : i
  6532. }
  6533. },
  6534. pseudos: {
  6535. not: o(function (e) {
  6536. var t = [],
  6537. n = [],
  6538. r = j(e.replace(he, "$1"));
  6539. return r[W] ? o(function (e, t, n, i) {
  6540. for (var o, a = r(e, null, i, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o))
  6541. }) : function (e, i, o) {
  6542. return t[0] = e, r(t, null, o, n), !n.pop()
  6543. }
  6544. }),
  6545. has: o(function (e) {
  6546. return function (t) {
  6547. return n(e, t).length > 0
  6548. }
  6549. }),
  6550. contains: o(function (e) {
  6551. return function (t) {
  6552. return (t.textContent || t.innerText || D(t)).indexOf(e) > -1
  6553. }
  6554. }),
  6555. lang: o(function (e) {
  6556. return xe.test(e || "") || n.error("unsupported lang: " + e), e = e.replace(Ne, Me).toLowerCase(),
  6557. function (t) {
  6558. var n;
  6559. do
  6560. if (n = B ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType);
  6561. return !1
  6562. }
  6563. }),
  6564. target: function (t) {
  6565. var n = e.location && e.location.hash;
  6566. return n && n.slice(1) === t.id
  6567. },
  6568. root: function (e) {
  6569. return e === R
  6570. },
  6571. focus: function (e) {
  6572. return e === P.activeElement && (!P.hasFocus || P.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
  6573. },
  6574. enabled: function (e) {
  6575. return e.disabled === !1
  6576. },
  6577. disabled: function (e) {
  6578. return e.disabled === !0
  6579. },
  6580. checked: function (e) {
  6581. var t = e.nodeName.toLowerCase();
  6582. return "input" === t && !!e.checked || "option" === t && !!e.selected
  6583. },
  6584. selected: function (e) {
  6585. return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
  6586. },
  6587. empty: function (e) {
  6588. for (e = e.firstChild; e; e = e.nextSibling)
  6589. if (e.nodeName > "@" || 3 === e.nodeType || 4 === e.nodeType) return !1;
  6590. return !0
  6591. },
  6592. parent: function (e) {
  6593. return !L.pseudos.empty(e)
  6594. },
  6595. header: function (e) {
  6596. return ke.test(e.nodeName)
  6597. },
  6598. input: function (e) {
  6599. return Te.test(e.nodeName)
  6600. },
  6601. button: function (e) {
  6602. var t = e.nodeName.toLowerCase();
  6603. return "input" === t && "button" === e.type || "button" === t
  6604. },
  6605. text: function (e) {
  6606. var t;
  6607. return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || t.toLowerCase() === e.type)
  6608. },
  6609. first: h(function () {
  6610. return [0]
  6611. }),
  6612. last: h(function (e, t) {
  6613. return [t - 1]
  6614. }),
  6615. eq: h(function (e, t, n) {
  6616. return [0 > n ? n + t : n]
  6617. }),
  6618. even: h(function (e, t) {
  6619. for (var n = 0; t > n; n += 2) e.push(n);
  6620. return e
  6621. }),
  6622. odd: h(function (e, t) {
  6623. for (var n = 1; t > n; n += 2) e.push(n);
  6624. return e
  6625. }),
  6626. lt: h(function (e, t, n) {
  6627. for (var r = 0 > n ? n + t : n; --r >= 0;) e.push(r);
  6628. return e
  6629. }),
  6630. gt: h(function (e, t, n) {
  6631. for (var r = 0 > n ? n + t : n; ++r < t;) e.push(r);
  6632. return e
  6633. })
  6634. }
  6635. };
  6636. for (S in {
  6637. radio: !0,
  6638. checkbox: !0,
  6639. file: !0,
  6640. password: !0,
  6641. image: !0
  6642. }) L.pseudos[S] = d(S);
  6643. for (S in {
  6644. submit: !0,
  6645. reset: !0
  6646. }) L.pseudos[S] = f(S);
  6647. j = n.compile = function (e, t) {
  6648. var n, r = [],
  6649. i = [],
  6650. o = V[e + " "];
  6651. if (!o) {
  6652. for (t || (t = m(e)), n = t.length; n--;) o = E(t[n]), o[W] ? r.push(o) : i.push(o);
  6653. o = V(e, w(i, r))
  6654. }
  6655. return o
  6656. }, L.pseudos.nth = L.pseudos.eq, k.prototype = L.filters = L.pseudos, L.setFilters = new k, N.sortStable = W.split("").sort(Q).join("") === W, O(), [0, 0].sort(Q), N.detectDuplicates = G, n.attr = X.attr, X.find = n, X.expr = n.selectors, X.expr[":"] = X.expr.pseudos, X.unique = n.uniqueSort, X.text = n.getText, X.isXMLDoc = n.isXML, X.contains = n.contains
  6657. }(e);
  6658. var we = /Until$/,
  6659. Ce = /^(?:parents|prev(?:Until|All))/,
  6660. Te = /^.[^:#\[\.,]*$/,
  6661. ke = X.expr.match.needsContext,
  6662. Se = {
  6663. children: !0,
  6664. contents: !0,
  6665. next: !0,
  6666. prev: !0
  6667. };
  6668. X.fn.extend({
  6669. find: function (e) {
  6670. var t, n, r, i = this.length;
  6671. if ("string" != typeof e) return r = this, this.pushStack(X(e).filter(function () {
  6672. for (t = 0; i > t; t++)
  6673. if (X.contains(r[t], this)) return !0
  6674. }));
  6675. for (n = [], t = 0; i > t; t++) X.find(e, this[t], n);
  6676. return n = this.pushStack(i > 1 ? X.unique(n) : n), n.selector = (this.selector ? this.selector + " " : "") + e, n
  6677. },
  6678. has: function (e) {
  6679. var t, n = X(e, this),
  6680. r = n.length;
  6681. return this.filter(function () {
  6682. for (t = 0; r > t; t++)
  6683. if (X.contains(this, n[t])) return !0
  6684. })
  6685. },
  6686. not: function (e) {
  6687. return this.pushStack(p(this, e, !1))
  6688. },
  6689. filter: function (e) {
  6690. return this.pushStack(p(this, e, !0))
  6691. },
  6692. is: function (e) {
  6693. return !!e && ("string" == typeof e ? ke.test(e) ? X(e, this.context).index(this[0]) >= 0 : X.filter(e, this).length > 0 : this.filter(e).length > 0)
  6694. },
  6695. closest: function (e, t) {
  6696. for (var n, r = 0, i = this.length, o = [], a = ke.test(e) || "string" != typeof e ? X(e, t || this.context) : 0; i > r; r++)
  6697. for (n = this[r]; n && n.ownerDocument && n !== t && 11 !== n.nodeType;) {
  6698. if (a ? a.index(n) > -1 : X.find.matchesSelector(n, e)) {
  6699. o.push(n);
  6700. break
  6701. }
  6702. n = n.parentNode
  6703. }
  6704. return this.pushStack(o.length > 1 ? X.unique(o) : o)
  6705. },
  6706. index: function (e) {
  6707. return e ? "string" == typeof e ? X.inArray(this[0], X(e)) : X.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
  6708. },
  6709. add: function (e, t) {
  6710. var n = "string" == typeof e ? X(e, t) : X.makeArray(e && e.nodeType ? [e] : e),
  6711. r = X.merge(this.get(), n);
  6712. return this.pushStack(X.unique(r))
  6713. },
  6714. addBack: function (e) {
  6715. return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
  6716. }
  6717. }), X.fn.andSelf = X.fn.addBack, X.each({
  6718. parent: function (e) {
  6719. var t = e.parentNode;
  6720. return t && 11 !== t.nodeType ? t : null
  6721. },
  6722. parents: function (e) {
  6723. return X.dir(e, "parentNode")
  6724. },
  6725. parentsUntil: function (e, t, n) {
  6726. return X.dir(e, "parentNode", n)
  6727. },
  6728. next: function (e) {
  6729. return l(e, "nextSibling")
  6730. },
  6731. prev: function (e) {
  6732. return l(e, "previousSibling")
  6733. },
  6734. nextAll: function (e) {
  6735. return X.dir(e, "nextSibling")
  6736. },
  6737. prevAll: function (e) {
  6738. return X.dir(e, "previousSibling")
  6739. },
  6740. nextUntil: function (e, t, n) {
  6741. return X.dir(e, "nextSibling", n)
  6742. },
  6743. prevUntil: function (e, t, n) {
  6744. return X.dir(e, "previousSibling", n)
  6745. },
  6746. siblings: function (e) {
  6747. return X.sibling((e.parentNode || {}).firstChild, e)
  6748. },
  6749. children: function (e) {
  6750. return X.sibling(e.firstChild)
  6751. },
  6752. contents: function (e) {
  6753. return X.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : X.merge([], e.childNodes)
  6754. }
  6755. }, function (e, t) {
  6756. X.fn[e] = function (n, r) {
  6757. var i = X.map(this, t, n);
  6758. return we.test(e) || (r = n), r && "string" == typeof r && (i = X.filter(r, i)), i = this.length > 1 && !Se[e] ? X.unique(i) : i, this.length > 1 && Ce.test(e) && (i = i.reverse()), this.pushStack(i)
  6759. }
  6760. }), X.extend({
  6761. filter: function (e, t, n) {
  6762. return n && (e = ":not(" + e + ")"), 1 === t.length ? X.find.matchesSelector(t[0], e) ? [t[0]] : [] : X.find.matches(e, t)
  6763. },
  6764. dir: function (e, n, r) {
  6765. for (var i = [], o = e[n]; o && 9 !== o.nodeType && (r === t || 1 !== o.nodeType || !X(o).is(r));) 1 === o.nodeType && i.push(o), o = o[n];
  6766. return i
  6767. },
  6768. sibling: function (e, t) {
  6769. for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
  6770. return n
  6771. }
  6772. });
  6773. var Ne = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
  6774. Me = / jQuery\d+="(?:null|\d+)"/g,
  6775. Le = new RegExp("<(?:" + Ne + ")[\\s/>]", "i"),
  6776. De = /^\s+/,
  6777. Ae = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
  6778. je = /<([\w:]+)/,
  6779. qe = /<tbody/i,
  6780. _e = /<|&#?\w+;/,
  6781. Oe = /<(?:script|style|link)/i,
  6782. Pe = /^(?:checkbox|radio)$/i,
  6783. Re = /checked\s*(?:[^=]|=\s*.checked.)/i,
  6784. Be = /^$|\/(?:java|ecma)script/i,
  6785. He = /^true\/(.*)/,
  6786. Fe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
  6787. Ie = {
  6788. option: [1, "<select multiple='multiple'>", "</select>"],
  6789. legend: [1, "<fieldset>", "</fieldset>"],
  6790. area: [1, "<map>", "</map>"],
  6791. param: [1, "<object>", "</object>"],
  6792. thead: [1, "<table>", "</table>"],
  6793. tr: [2, "<table><tbody>", "</tbody></table>"],
  6794. col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
  6795. td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  6796. _default: X.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
  6797. },
  6798. $e = d(j),
  6799. We = $e.appendChild(j.createElement("div"));
  6800. Ie.optgroup = Ie.option, Ie.tbody = Ie.tfoot = Ie.colgroup = Ie.caption = Ie.thead, Ie.th = Ie.td, X.fn.extend({
  6801. text: function (e) {
  6802. return X.access(this, function (e) {
  6803. return e === t ? X.text(this) : this.empty().append((this[0] && this[0].ownerDocument || j).createTextNode(e))
  6804. }, null, e, arguments.length)
  6805. },
  6806. wrapAll: function (e) {
  6807. if (X.isFunction(e)) return this.each(function (t) {
  6808. X(this).wrapAll(e.call(this, t))
  6809. });
  6810. if (this[0]) {
  6811. var t = X(e, this[0].ownerDocument).eq(0).clone(!0);
  6812. this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
  6813. for (var e = this; e.firstChild && 1 === e.firstChild.nodeType;) e = e.firstChild;
  6814. return e
  6815. }).append(this)
  6816. }
  6817. return this
  6818. },
  6819. wrapInner: function (e) {
  6820. return X.isFunction(e) ? this.each(function (t) {
  6821. X(this).wrapInner(e.call(this, t))
  6822. }) : this.each(function () {
  6823. var t = X(this),
  6824. n = t.contents();
  6825. n.length ? n.wrapAll(e) : t.append(e)
  6826. })
  6827. },
  6828. wrap: function (e) {
  6829. var t = X.isFunction(e);
  6830. return this.each(function (n) {
  6831. X(this).wrapAll(t ? e.call(this, n) : e)
  6832. })
  6833. },
  6834. unwrap: function () {
  6835. return this.parent().each(function () {
  6836. X.nodeName(this, "body") || X(this).replaceWith(this.childNodes)
  6837. }).end()
  6838. },
  6839. append: function () {
  6840. return this.domManip(arguments, !0, function (e) {
  6841. (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.appendChild(e)
  6842. })
  6843. },
  6844. prepend: function () {
  6845. return this.domManip(arguments, !0, function (e) {
  6846. (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.insertBefore(e, this.firstChild)
  6847. })
  6848. },
  6849. before: function () {
  6850. return this.domManip(arguments, !1, function (e) {
  6851. this.parentNode && this.parentNode.insertBefore(e, this)
  6852. })
  6853. },
  6854. after: function () {
  6855. return this.domManip(arguments, !1, function (e) {
  6856. this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
  6857. })
  6858. },
  6859. remove: function (e, t) {
  6860. for (var n, r = 0; null != (n = this[r]); r++)(!e || X.filter(e, [n]).length > 0) && (t || 1 !== n.nodeType || X.cleanData(b(n)), n.parentNode && (t && X.contains(n.ownerDocument, n) && g(b(n, "script")), n.parentNode.removeChild(n)));
  6861. return this
  6862. },
  6863. empty: function () {
  6864. for (var e, t = 0; null != (e = this[t]); t++) {
  6865. for (1 === e.nodeType && X.cleanData(b(e, !1)); e.firstChild;) e.removeChild(e.firstChild);
  6866. e.options && X.nodeName(e, "select") && (e.options.length = 0)
  6867. }
  6868. return this
  6869. },
  6870. clone: function (e, t) {
  6871. return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function () {
  6872. return X.clone(this, e, t)
  6873. })
  6874. },
  6875. html: function (e) {
  6876. return X.access(this, function (e) {
  6877. var n = this[0] || {},
  6878. r = 0,
  6879. i = this.length;
  6880. if (e === t) return 1 === n.nodeType ? n.innerHTML.replace(Me, "") : t;
  6881. if ("string" == typeof e && !Oe.test(e) && (X.support.htmlSerialize || !Le.test(e)) && (X.support.leadingWhitespace || !De.test(e)) && !Ie[(je.exec(e) || ["", ""])[1].toLowerCase()]) {
  6882. e = e.replace(Ae, "<$1></$2>");
  6883. try {
  6884. for (; i > r; r++) n = this[r] || {}, 1 === n.nodeType && (X.cleanData(b(n, !1)), n.innerHTML = e);
  6885. n = 0
  6886. } catch (o) {}
  6887. }
  6888. n && this.empty().append(e)
  6889. }, null, e, arguments.length)
  6890. },
  6891. replaceWith: function (e) {
  6892. var t = X.isFunction(e);
  6893. return t || "string" == typeof e || (e = X(e).not(this).detach()), this.domManip([e], !0, function (e) {
  6894. var t = this.nextSibling,
  6895. n = this.parentNode;
  6896. n && (X(this).remove(), n.insertBefore(e, t))
  6897. })
  6898. },
  6899. detach: function (e) {
  6900. return this.remove(e, !0)
  6901. },
  6902. domManip: function (e, n, r) {
  6903. e = R.apply([], e);
  6904. var i, o, a, s, u, c, l = 0,
  6905. p = this.length,
  6906. d = this,
  6907. g = p - 1,
  6908. v = e[0],
  6909. y = X.isFunction(v);
  6910. if (y || !(1 >= p || "string" != typeof v || X.support.checkClone) && Re.test(v)) return this.each(function (i) {
  6911. var o = d.eq(i);
  6912. y && (e[0] = v.call(this, i, n ? o.html() : t)), o.domManip(e, n, r)
  6913. });
  6914. if (p && (c = X.buildFragment(e, this[0].ownerDocument, !1, this), i = c.firstChild, 1 === c.childNodes.length && (c = i), i)) {
  6915. for (n = n && X.nodeName(i, "tr"), s = X.map(b(c, "script"), h), a = s.length; p > l; l++) o = c, l !== g && (o = X.clone(o, !0, !0), a && X.merge(s, b(o, "script"))), r.call(n && X.nodeName(this[l], "table") ? f(this[l], "tbody") : this[l], o, l);
  6916. if (a)
  6917. for (u = s[s.length - 1].ownerDocument, X.map(s, m), l = 0; a > l; l++) o = s[l], Be.test(o.type || "") && !X._data(o, "globalEval") && X.contains(u, o) && (o.src ? X.ajax({
  6918. url: o.src,
  6919. type: "GET",
  6920. dataType: "script",
  6921. async: !1,
  6922. global: !1,
  6923. "throws": !0
  6924. }) : X.globalEval((o.text || o.textContent || o.innerHTML || "").replace(Fe, "")));
  6925. c = i = null
  6926. }
  6927. return this
  6928. }
  6929. }), X.each({
  6930. appendTo: "append",
  6931. prependTo: "prepend",
  6932. insertBefore: "before",
  6933. insertAfter: "after",
  6934. replaceAll: "replaceWith"
  6935. }, function (e, t) {
  6936. X.fn[e] = function (e) {
  6937. for (var n, r = 0, i = [], o = X(e), a = o.length - 1; a >= r; r++) n = r === a ? this : this.clone(!0), X(o[r])[t](n), B.apply(i, n.get());
  6938. return this.pushStack(i)
  6939. }
  6940. }), X.extend({
  6941. clone: function (e, t, n) {
  6942. var r, i, o, a, s, u = X.contains(e.ownerDocument, e);
  6943. if (X.support.html5Clone || X.isXMLDoc(e) || !Le.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (We.innerHTML = e.outerHTML, We.removeChild(o = We.firstChild)), !(X.support.noCloneEvent && X.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || X.isXMLDoc(e)))
  6944. for (r = b(o), s = b(e), a = 0; null != (i = s[a]); ++a) r[a] && y(i, r[a]);
  6945. if (t)
  6946. if (n)
  6947. for (s = s || b(e), r = r || b(o), a = 0; null != (i = s[a]); a++) v(i, r[a]);
  6948. else v(e, o);
  6949. return r = b(o, "script"), r.length > 0 && g(r, !u && b(e, "script")), r = s = i = null, o
  6950. },
  6951. buildFragment: function (e, t, n, r) {
  6952. for (var i, o, a, s, u, c, l, p = e.length, f = d(t), h = [], m = 0; p > m; m++)
  6953. if (o = e[m], o || 0 === o)
  6954. if ("object" === X.type(o)) X.merge(h, o.nodeType ? [o] : o);
  6955. else if (_e.test(o)) {
  6956. for (s = s || f.appendChild(t.createElement("div")), u = (je.exec(o) || ["", ""])[1].toLowerCase(), l = Ie[u] || Ie._default, s.innerHTML = l[1] + o.replace(Ae, "<$1></$2>") + l[2], i = l[0]; i--;) s = s.lastChild;
  6957. if (!X.support.leadingWhitespace && De.test(o) && h.push(t.createTextNode(De.exec(o)[0])), !X.support.tbody)
  6958. for (o = "table" !== u || qe.test(o) ? "<table>" !== l[1] || qe.test(o) ? 0 : s : s.firstChild, i = o && o.childNodes.length; i--;) X.nodeName(c = o.childNodes[i], "tbody") && !c.childNodes.length && o.removeChild(c);
  6959. for (X.merge(h, s.childNodes), s.textContent = ""; s.firstChild;) s.removeChild(s.firstChild);
  6960. s = f.lastChild
  6961. } else h.push(t.createTextNode(o));
  6962. for (s && f.removeChild(s), X.support.appendChecked || X.grep(b(h, "input"), x), m = 0; o = h[m++];)
  6963. if ((!r || -1 === X.inArray(o, r)) && (a = X.contains(o.ownerDocument, o), s = b(f.appendChild(o), "script"), a && g(s), n))
  6964. for (i = 0; o = s[i++];) Be.test(o.type || "") && n.push(o);
  6965. return s = null, f
  6966. },
  6967. cleanData: function (e, t) {
  6968. for (var n, r, i, o, a = 0, s = X.expando, u = X.cache, c = X.support.deleteExpando, l = X.event.special; null != (n = e[a]); a++)
  6969. if ((t || X.acceptData(n)) && (i = n[s], o = i && u[i])) {
  6970. if (o.events)
  6971. for (r in o.events) l[r] ? X.event.remove(n, r) : X.removeEvent(n, r, o.handle);
  6972. u[i] && (delete u[i], c ? delete n[s] : typeof n.removeAttribute !== A ? n.removeAttribute(s) : n[s] = null, O.push(i))
  6973. }
  6974. }
  6975. });
  6976. var Xe = /%20/g,
  6977. Ke = /\[\]$/,
  6978. ze = /\r?\n/g,
  6979. Ue = /^(?:submit|button|image|reset|file)$/i,
  6980. Ye = /^(?:input|select|textarea|keygen)/i;
  6981. X.fn.extend({
  6982. serialize: function () {
  6983. return X.param(this.serializeArray())
  6984. },
  6985. serializeArray: function () {
  6986. return this.map(function () {
  6987. var e = X.prop(this, "elements");
  6988. return e ? X.makeArray(e) : this
  6989. }).filter(function () {
  6990. var e = this.type;
  6991. return this.name && !X(this).is(":disabled") && Ye.test(this.nodeName) && !Ue.test(e) && (this.checked || !Pe.test(e))
  6992. }).map(function (e, t) {
  6993. var n = X(this).val();
  6994. return null == n ? null : X.isArray(n) ? X.map(n, function (e) {
  6995. return {
  6996. name: t.name,
  6997. value: e.replace(ze, "\r\n")
  6998. }
  6999. }) : {
  7000. name: t.name,
  7001. value: n.replace(ze, "\r\n")
  7002. }
  7003. }).get()
  7004. }
  7005. }), X.param = function (e, n) {
  7006. var r, i = [],
  7007. o = function (e, t) {
  7008. t = X.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
  7009. };
  7010. if (n === t && (n = X.ajaxSettings && X.ajaxSettings.traditional), X.isArray(e) || e.jquery && !X.isPlainObject(e)) X.each(e, function () {
  7011. o(this.name, this.value)
  7012. });
  7013. else
  7014. for (r in e) E(r, e[r], n, o);
  7015. return i.join("&").replace(Xe, "+")
  7016. }, X.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (e, t) {
  7017. X.fn[t] = function (e, n) {
  7018. return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
  7019. }
  7020. }), X.fn.hover = function (e, t) {
  7021. return this.mouseenter(e).mouseleave(t || e)
  7022. };
  7023. var Je, Ve, Ge = X.now(),
  7024. Qe = /\?/,
  7025. Ze = /#.*$/,
  7026. et = /([?&])_=[^&]*/,
  7027. tt = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
  7028. nt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  7029. rt = /^(?:GET|HEAD)$/,
  7030. it = /^\/\//,
  7031. ot = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
  7032. at = X.fn.load,
  7033. st = {},
  7034. ut = {},
  7035. ct = "*/".concat("*");
  7036. try {
  7037. Ve = q.href
  7038. } catch (lt) {
  7039. Ve = j.createElement("a"), Ve.href = "", Ve = Ve.href
  7040. }
  7041. Je = ot.exec(Ve.toLowerCase()) || [], X.fn.load = function (e, n, r) {
  7042. if ("string" != typeof e && at) return at.apply(this, arguments);
  7043. var i, o, a, s = this,
  7044. u = e.indexOf(" ");
  7045. return u >= 0 && (i = e.slice(u, e.length), e = e.slice(0, u)), X.isFunction(n) ? (r = n, n = t) : n && "object" == typeof n && (a = "POST"), s.length > 0 && X.ajax({
  7046. url: e,
  7047. type: a,
  7048. dataType: "html",
  7049. data: n
  7050. }).done(function (e) {
  7051. o = arguments, s.html(i ? X("<div>").append(X.parseHTML(e)).find(i) : e)
  7052. }).complete(r && function (e, t) {
  7053. s.each(r, o || [e.responseText, t, e])
  7054. }), this
  7055. }, X.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
  7056. X.fn[t] = function (e) {
  7057. return this.on(t, e)
  7058. }
  7059. }), X.each(["get", "post"], function (e, n) {
  7060. X[n] = function (e, r, i, o) {
  7061. return X.isFunction(r) && (o = o || i, i = r, r = t), X.ajax({
  7062. url: e,
  7063. type: n,
  7064. dataType: o,
  7065. data: r,
  7066. success: i
  7067. })
  7068. }
  7069. }), X.extend({
  7070. active: 0,
  7071. lastModified: {},
  7072. etag: {},
  7073. ajaxSettings: {
  7074. url: Ve,
  7075. type: "GET",
  7076. isLocal: nt.test(Je[1]),
  7077. global: !0,
  7078. processData: !0,
  7079. async: !0,
  7080. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  7081. accepts: {
  7082. "*": ct,
  7083. text: "text/plain",
  7084. html: "text/html",
  7085. xml: "application/xml, text/xml",
  7086. json: "application/json, text/javascript"
  7087. },
  7088. contents: {
  7089. xml: /xml/,
  7090. html: /html/,
  7091. json: /json/
  7092. },
  7093. responseFields: {
  7094. xml: "responseXML",
  7095. text: "responseText"
  7096. },
  7097. converters: {
  7098. "* text": e.String,
  7099. "text html": !0,
  7100. "text json": X.parseJSON,
  7101. "text xml": X.parseXML
  7102. },
  7103. flatOptions: {
  7104. url: !0,
  7105. context: !0
  7106. }
  7107. },
  7108. ajaxSetup: function (e, t) {
  7109. return t ? T(T(e, X.ajaxSettings), t) : T(X.ajaxSettings, e)
  7110. },
  7111. ajaxPrefilter: w(st),
  7112. ajaxTransport: w(ut),
  7113. ajax: function (e, n) {
  7114. function r(e, n, r, i) {
  7115. var o, p, y, b, E, C = n;
  7116. 2 !== x && (x = 2, u && clearTimeout(u), l = t, s = i || "", w.readyState = e > 0 ? 4 : 0, r && (b = k(d, w, r)), e >= 200 && 300 > e || 304 === e ? (d.ifModified && (E = w.getResponseHeader("Last-Modified"), E && (X.lastModified[a] = E), E = w.getResponseHeader("etag"), E && (X.etag[a] = E)), 204 === e ? (o = !0, C = "nocontent") : 304 === e ? (o = !0, C = "notmodified") : (o = S(d, b), C = o.state, p = o.data, y = o.error, o = !y)) : (y = C, (e || !C) && (C = "error", 0 > e && (e = 0))), w.status = e, w.statusText = (n || C) + "", o ? m.resolveWith(f, [p, C, w]) : m.rejectWith(f, [w, C, y]), w.statusCode(v), v = t, c && h.trigger(o ? "ajaxSuccess" : "ajaxError", [w, d, o ? p : y]), g.fireWith(f, [w, C]), c && (h.trigger("ajaxComplete", [w, d]), --X.active || X.event.trigger("ajaxStop")))
  7117. }
  7118. "object" == typeof e && (n = e, e = t), n = n || {};
  7119. var i, o, a, s, u, c, l, p, d = X.ajaxSetup({}, n),
  7120. f = d.context || d,
  7121. h = d.context && (f.nodeType || f.jquery) ? X(f) : X.event,
  7122. m = X.Deferred(),
  7123. g = X.Callbacks("once memory"),
  7124. v = d.statusCode || {},
  7125. y = {},
  7126. b = {},
  7127. x = 0,
  7128. E = "canceled",
  7129. w = {
  7130. readyState: 0,
  7131. getResponseHeader: function (e) {
  7132. var t;
  7133. if (2 === x) {
  7134. if (!p)
  7135. for (p = {}; t = tt.exec(s);) p[t[1].toLowerCase()] = t[2];
  7136. t = p[e.toLowerCase()]
  7137. }
  7138. return null == t ? null : t
  7139. },
  7140. getAllResponseHeaders: function () {
  7141. return 2 === x ? s : null
  7142. },
  7143. setRequestHeader: function (e, t) {
  7144. var n = e.toLowerCase();
  7145. return x || (e = b[n] = b[n] || e, y[e] = t), this
  7146. },
  7147. overrideMimeType: function (e) {
  7148. return x || (d.mimeType = e), this
  7149. },
  7150. statusCode: function (e) {
  7151. var t;
  7152. if (e)
  7153. if (2 > x)
  7154. for (t in e) v[t] = [v[t], e[t]];
  7155. else w.always(e[w.status]);
  7156. return this
  7157. },
  7158. abort: function (e) {
  7159. var t = e || E;
  7160. return l && l.abort(t), r(0, t), this
  7161. }
  7162. };
  7163. if (m.promise(w).complete = g.add, w.success = w.done, w.error = w.fail, d.url = ((e || d.url || Ve) + "").replace(Ze, "").replace(it, Je[1] + "//"), d.type = n.method || n.type || d.method || d.type, d.dataTypes = X.trim(d.dataType || "*").toLowerCase().match(K) || [""], null == d.crossDomain && (i = ot.exec(d.url.toLowerCase()), d.crossDomain = !(!i || i[1] === Je[1] && i[2] === Je[2] && (i[3] || ("http:" === i[1] ? 80 : 443)) == (Je[3] || ("http:" === Je[1] ? 80 : 443)))), d.data && d.processData && "string" != typeof d.data && (d.data = X.param(d.data, d.traditional)), C(st, d, n, w), 2 === x) return w;
  7164. c = d.global, c && 0 === X.active++ && X.event.trigger("ajaxStart"), d.type = d.type.toUpperCase(), d.hasContent = !rt.test(d.type), a = d.url, d.hasContent || (d.data && (a = d.url += (Qe.test(a) ? "&" : "?") + d.data, delete d.data), d.cache === !1 && (d.url = et.test(a) ? a.replace(et, "$1_=" + Ge++) : a + (Qe.test(a) ? "&" : "?") + "_=" + Ge++)), d.ifModified && (X.lastModified[a] && w.setRequestHeader("If-Modified-Since", X.lastModified[a]), X.etag[a] && w.setRequestHeader("If-None-Match", X.etag[a])), (d.data && d.hasContent && d.contentType !== !1 || n.contentType) && w.setRequestHeader("Content-Type", d.contentType), w.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + ("*" !== d.dataTypes[0] ? ", " + ct + "; q=0.01" : "") : d.accepts["*"]);
  7165. for (o in d.headers) w.setRequestHeader(o, d.headers[o]);
  7166. if (d.beforeSend && (d.beforeSend.call(f, w, d) === !1 || 2 === x)) return w.abort();
  7167. E = "abort";
  7168. for (o in {
  7169. success: 1,
  7170. error: 1,
  7171. complete: 1
  7172. }) w[o](d[o]);
  7173. if (l = C(ut, d, n, w)) {
  7174. w.readyState = 1, c && h.trigger("ajaxSend", [w, d]), d.async && d.timeout > 0 && (u = setTimeout(function () {
  7175. w.abort("timeout")
  7176. }, d.timeout));
  7177. try {
  7178. x = 1, l.send(y, r)
  7179. } catch (T) {
  7180. if (!(2 > x)) throw T;
  7181. r(-1, T)
  7182. }
  7183. } else r(-1, "No Transport");
  7184. return w
  7185. },
  7186. getScript: function (e, n) {
  7187. return X.get(e, t, n, "script")
  7188. },
  7189. getJSON: function (e, t, n) {
  7190. return X.get(e, t, n, "json")
  7191. }
  7192. }), X.ajaxSetup({
  7193. accepts: {
  7194. script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  7195. },
  7196. contents: {
  7197. script: /(?:java|ecma)script/
  7198. },
  7199. converters: {
  7200. "text script": function (e) {
  7201. return X.globalEval(e), e
  7202. }
  7203. }
  7204. }), X.ajaxPrefilter("script", function (e) {
  7205. e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1)
  7206. }), X.ajaxTransport("script", function (e) {
  7207. if (e.crossDomain) {
  7208. var n, r = j.head || X("head")[0] || j.documentElement;
  7209. return {
  7210. send: function (t, i) {
  7211. n = j.createElement("script"), n.async = !0, e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function (e, t) {
  7212. (t || !n.readyState || /loaded|complete/.test(n.readyState)) && (n.onload = n.onreadystatechange = null, n.parentNode && n.parentNode.removeChild(n), n = null, t || i(200, "success"))
  7213. }, r.insertBefore(n, r.firstChild)
  7214. },
  7215. abort: function () {
  7216. n && n.onload(t, !0)
  7217. }
  7218. }
  7219. }
  7220. });
  7221. var pt = [],
  7222. dt = /(=)\?(?=&|$)|\?\?/;
  7223. X.ajaxSetup({
  7224. jsonp: "callback",
  7225. jsonpCallback: function () {
  7226. var e = pt.pop() || X.expando + "_" + Ge++;
  7227. return this[e] = !0, e
  7228. }
  7229. }), X.ajaxPrefilter("json jsonp", function (n, r, i) {
  7230. var o, a, s, u = n.jsonp !== !1 && (dt.test(n.url) ? "url" : "string" == typeof n.data && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && dt.test(n.data) && "data");
  7231. return u || "jsonp" === n.dataTypes[0] ? (o = n.jsonpCallback = X.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, u ? n[u] = n[u].replace(dt, "$1" + o) : n.jsonp !== !1 && (n.url += (Qe.test(n.url) ? "&" : "?") + n.jsonp + "=" + o), n.converters["script json"] = function () {
  7232. return s || X.error(o + " was not called"), s[0]
  7233. }, n.dataTypes[0] = "json", a = e[o], e[o] = function () {
  7234. s = arguments
  7235. }, i.always(function () {
  7236. e[o] = a, n[o] && (n.jsonpCallback = r.jsonpCallback, pt.push(o)), s && X.isFunction(a) && a(s[0]), s = a = t
  7237. }), "script") : void 0
  7238. });
  7239. var ft, ht, mt = 0,
  7240. gt = e.ActiveXObject && function () {
  7241. var e;
  7242. for (e in ft) ft[e](t, !0)
  7243. };
  7244. X.ajaxSettings.xhr = e.ActiveXObject ? function () {
  7245. return !this.isLocal && N() || M()
  7246. } : N, ht = X.ajaxSettings.xhr(), X.support.cors = !!ht && "withCredentials" in ht, ht = X.support.ajax = !!ht, ht && X.ajaxTransport(function (n) {
  7247. if (!n.crossDomain || X.support.cors) {
  7248. var r;
  7249. return {
  7250. send: function (i, o) {
  7251. var a, s, u = n.xhr();
  7252. if (n.username ? u.open(n.type, n.url, n.async, n.username, n.password) : u.open(n.type, n.url, n.async), n.xhrFields)
  7253. for (s in n.xhrFields) u[s] = n.xhrFields[s];
  7254. n.mimeType && u.overrideMimeType && u.overrideMimeType(n.mimeType), n.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
  7255. try {
  7256. for (s in i) u.setRequestHeader(s, i[s])
  7257. } catch (c) {}
  7258. u.send(n.hasContent && n.data || null), r = function (e, i) {
  7259. var s, c, l, p;
  7260. try {
  7261. if (r && (i || 4 === u.readyState))
  7262. if (r = t, a && (u.onreadystatechange = X.noop, gt && delete ft[a]), i) 4 !== u.readyState && u.abort();
  7263. else {
  7264. p = {}, s = u.status, c = u.getAllResponseHeaders(), "string" == typeof u.responseText && (p.text = u.responseText);
  7265. try {
  7266. l = u.statusText
  7267. } catch (d) {
  7268. l = ""
  7269. }
  7270. s || !n.isLocal || n.crossDomain ? 1223 === s && (s = 204) : s = p.text ? 200 : 404
  7271. }
  7272. } catch (f) {
  7273. i || o(-1, f)
  7274. }
  7275. p && o(s, l, p, c)
  7276. }, n.async ? 4 === u.readyState ? setTimeout(r) : (a = ++mt, gt && (ft || (ft = {}, X(e).unload(gt)), ft[a] = r), u.onreadystatechange = r) : r()
  7277. },
  7278. abort: function () {
  7279. r && r(t, !0)
  7280. }
  7281. }
  7282. }
  7283. }), "function" == typeof ellipsis.define && ellipsis.define.amd && ellipsis.define.amd.jQuery && ellipsis.define("ell-jquery", [], function () {
  7284. return X
  7285. })
  7286. }(window), ellipsis.define("jsonh", ["require", "exports", "module"], function (e, t, n) {
  7287. var r, i = r = function (e, t) {
  7288. "use strict";
  7289.  
  7290. function n(t) {
  7291. for (var n, r, i = t.length, o = d(i ? t[0] : {}), a = o.length, s = e(i * a), u = 0, c = 0; i > u; ++u)
  7292. for (r = t[u], n = 0; a > n; s[c++] = r[o[n++]]);
  7293. return p.call([a], o, s)
  7294. }
  7295.  
  7296. function r(t) {
  7297. for (var n, r, i = t.length, o = t[0], a = e((i - o - 1) / o || 0), s = 1 + o, u = 0; i > s;)
  7298. for (a[u++] = r = {}, n = 0; o > n; r[t[++n]] = t[s++]);
  7299. return a
  7300. }
  7301.  
  7302. function i(e) {
  7303. return function (t) {
  7304. for (var n, r, i, o = this, a = t, s = 0, u = o.length; u > s; ++s) f(i = a[r = o[s]]) && (n = s + 1, a[r] = u > n ? h.call(i, e, o.slice(n)) : e(i)), a = a[r];
  7305. return t
  7306. }
  7307. }
  7308.  
  7309. function o(e) {
  7310. return function (t, n) {
  7311. for (var r = f(t), i = p.call(l, t), o = p.call(l, n), a = 0, s = o.length; s > a; ++a) i = h.call(i, e, o[a].split("."));
  7312. return r ? i : i[0]
  7313. }
  7314. }
  7315.  
  7316. function a(e, t) {
  7317. return t ? m(e, t) : n(e)
  7318. }
  7319.  
  7320. function s(e, t) {
  7321. return t ? g(e, t) : r(e)
  7322. }
  7323.  
  7324. function u(e, t, n, r) {
  7325. return v(a(e, r), t, n)
  7326. }
  7327.  
  7328. function c(e, t, n) {
  7329. return s(y(e, t), n)
  7330. }
  7331. var l = [],
  7332. p = l.concat,
  7333. d = Object.keys || function (e) {
  7334. var t, n = [];
  7335. for (t in e) e.hasOwnProperty(t) && n.push(t);
  7336. return n
  7337. },
  7338. f = e.isArray || function (e, t) {
  7339. return t = e.call(l),
  7340. function (n) {
  7341. return e.call(n) == t
  7342. }
  7343. }({}.toString),
  7344. h = l.map || function (t, n) {
  7345. for (var r = this, i = r.length, o = e(i); i--; o[i] = t.call(n, r[i], i, r));
  7346. return o
  7347. },
  7348. m = o(i(n)),
  7349. g = o(i(r)),
  7350. v = t.stringify,
  7351. y = t.parse;
  7352. return {
  7353. pack: a,
  7354. parse: c,
  7355. stringify: u,
  7356. unpack: s
  7357. }
  7358. }(Array, JSON);
  7359. "undefined" != typeof n && n.exports && (n.exports = i)
  7360. }), ellipsis.define("Core/EllipsisCore", ["require", "exports"], function (e, t) {
  7361. "use strict";
  7362. var n = function () {
  7363. function e() {}
  7364. return e.prototype.init = function () {}, e.prototype.uninit = function () {}, e.prototype.harvest = function () {}, e
  7365. }();
  7366. t.CollectionStrategy = n
  7367. });
  7368. var __extends = this && this.__extends || function (e, t) {
  7369. function n() {
  7370. this.constructor = e
  7371. }
  7372. for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]);
  7373. e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
  7374. };
  7375. ellipsis.define("BrowserTouchEvents", ["require", "exports", "./Core/EllipsisCore", "ell-jquery"], function (e, t, n, r) {
  7376. "use strict";
  7377. var i = n.CollectionStrategy,
  7378. o = r,
  7379. a = function (e) {
  7380. function t() {
  7381. var t = this;
  7382. e.apply(this, arguments), this.strokeEndDuration = 300, this.supportsTouchEvents = "ontouchstart" in document, this._touchMoveCount = 0, this.touchMoveCount = function () {
  7383. return t._touchMoveCount
  7384. }, this.currentTouchData = {}, this.onTouchMove = function (e) {
  7385. try {
  7386. var n = new Date;
  7387. if (t._touchMoveCount += 1, !t.lastTouchEvent) return void(t.lastTouchEvent = t.copyTouch(e));
  7388. var r = t.copyTouch(e);
  7389. t.updateTouchData(r, n)
  7390. } catch (i) {
  7391. console && console.warn("Error in Ellipsis.TouchMoveCollection.onTouchMove():" + i)
  7392. }
  7393. }, this.onTouchEnd = function (e) {
  7394. try {
  7395. new Date;
  7396. t._touchMoveCount += 1;
  7397. var n = t.copyTouch(e);
  7398. t.endTouchStroke(n)
  7399. } catch (r) {
  7400. console && console.warn("Error in Ellipsis.TouchMoveCollection.onTouchEnd():" + r)
  7401. }
  7402. }, this.strokeData = []
  7403. }
  7404. return __extends(t, e), t.prototype.harvest = function () {
  7405. var e = {
  7406. touchData: (this.strokeData || []).map(function (e) {
  7407. return e.getData()
  7408. })
  7409. };
  7410. return e
  7411. }, t.prototype.init = function () {
  7412. this.subscribeTouchEvents()
  7413. }, t.prototype.uninit = function () {
  7414. this.unsubscribeTouchEvents()
  7415. }, t.prototype.subscribeTouchEvents = function () {
  7416. o(document).addEventListener("touchstart", this.onTouchMove, !0), o(document).addEventListener("touchmove", this.onTouchMove, !0), o(document).addEventListener("touchend", this.onTouchEnd, !0), o(document).addEventListener("touchcancel", this.onTouchEnd, !0)
  7417. }, t.prototype.unsubscribeTouchEvents = function () {
  7418. o(document).removeEventListener("touchstart", this.onTouchMove, !0), o(document).removeEventListener("touchmove", this.onTouchMove, !0), o(document).removeEventListener("touchend", this.onTouchEnd, !0), o(document).removeEventListener("touchcancel", this.onTouchEnd, !0)
  7419. }, t.prototype.updateTouchData = function (e, t) {
  7420. var n = this;
  7421. o.each(e.touches, function (e, r) {
  7422. var i = n.currentTouchData[r.identifier];
  7423. i ? i.addTouch(r, t) : n.currentTouchData[r.identifier] = new s(r, t)
  7424. })
  7425. }, t.prototype.endTouchStroke = function (e) {
  7426. var t = this;
  7427. o.each(e.changedTouches, function (e, n) {
  7428. var r = t.currentTouchData[n.identifier];
  7429. r && t.strokeData.push(r), t.currentTouchData[n.identifier] = null
  7430. })
  7431. }, t.prototype.copyTouch = function (e) {
  7432. return o.extend(!0, {}, e)
  7433. }, t
  7434. }(i);
  7435. t.TouchMoveCollection = a;
  7436. var s = function () {
  7437. function e(e, t) {
  7438. this.distance = 0, this.x_distance = 0, this.y_distance = 0, this.displacement = 0, this.x_displacement = 0, this.y_displacement = 0, this.elapsedTime = 0, this.eventCount = 0, this.prevTouch = e, this.firstTouch || (this.firstTouch = e), this.eventCount += 1, this.prevEventTime = t
  7439. }
  7440. return e.prototype.addTouch = function (e, t) {
  7441. this.assignDistance(this.prevTouch, e), this.assignDisplacement(e), this.eventCount += 1, this.elapsedTime += t.getTime() - this.prevEventTime.getTime(), this.prevTouch = e, this.firstTouch || (this.firstTouch = e)
  7442. }, e.prototype.getData = function () {
  7443. return {
  7444. distance: this.distance,
  7445. x_distance: this.x_distance,
  7446. y_distance: this.y_distance,
  7447. displacement: this.displacement,
  7448. x_displacement: this.x_displacement,
  7449. y_displacement: this.y_displacement,
  7450. elapsedTime: this.elapsedTime,
  7451. eventCount: this.eventCount
  7452. }
  7453. }, e.prototype.assignDistance = function (e, t) {
  7454. var n = Math.abs(t.clientX - e.clientX);
  7455. this.x_distance = (this.x_distance || 0) + n, n *= n;
  7456. var r = this.y_distance = Math.abs(t.clientY - e.clientY);
  7457. this.y_distance = (this.y_distance || 0) + r, r *= r, this.distance = (this.distance || 0) + Math.sqrt(n + r)
  7458. }, e.prototype.assignDisplacement = function (e) {
  7459. var t = this.x_displacement = Math.abs(e.clientX - this.firstTouch.clientX);
  7460. t *= t;
  7461. var n = this.y_displacement = Math.abs(e.clientY - this.firstTouch.clientY);
  7462. n *= n, this.displacement = Math.sqrt(t + n)
  7463. }, e
  7464. }()
  7465. });
  7466. var __extends = this && this.__extends || function (e, t) {
  7467. function n() {
  7468. this.constructor = e
  7469. }
  7470. for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]);
  7471. e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
  7472. };
  7473. ellipsis.define("ellipsis", ["require", "exports", "ell-jquery", "jsonh", "Core/EllipsisCore", "BrowserTouchEvents"], function (e, t, n, r, i, o) {
  7474. "use strict";
  7475.  
  7476. function a() {
  7477. return document.getElementsByTagName("script")
  7478. }
  7479. var s = i.CollectionStrategy,
  7480. u = o.TouchMoveCollection,
  7481. c = n,
  7482. l = c,
  7483. p = r,
  7484. d = function () {
  7485. function e(n, r) {
  7486. var i = e.normalizeEvent(n);
  7487. if (e.isElement(i.target)) {
  7488. var o = i.target,
  7489. a = e.getTargetProperties(o);
  7490. this.targetid = a.id, this.targethash = a.hashCode, this.targettag = a.tagName
  7491. }
  7492. this.timeStamp = i.timeStamp ? i.timeStamp : n.timeStamp, this.timeHandled = r, this.type = e.eventAbbreviation(i.type), t.currentSession.update()
  7493. }
  7494. return e.normalizeEvent = function (e) {
  7495. return e[l.expando] ? e : l.event.fix(e)
  7496. }, e.eventAbbreviation = function (e) {
  7497. switch (e) {
  7498. case "blur":
  7499. return "bl";
  7500. case "focus":
  7501. return "fo";
  7502. case "change":
  7503. return "ch";
  7504. case "click":
  7505. return "cl";
  7506. case "dblclick":
  7507. return "dc";
  7508. case "keydown":
  7509. return "kd";
  7510. case "keyup":
  7511. return "ku";
  7512. case "keypress":
  7513. return "kp";
  7514. case "mousedown":
  7515. return "md";
  7516. case "mousemove":
  7517. return "mm";
  7518. case "mouseout":
  7519. return "mo";
  7520. case "mouseover":
  7521. return "mv";
  7522. case "mouseup":
  7523. return "mu";
  7524. case "select":
  7525. return "se";
  7526. default:
  7527. return e
  7528. }
  7529. }, e.isElement = function (e) {
  7530. return "id" in e || "tagName" in e
  7531. }, e.getTargetProperties = function (t) {
  7532. var n = {};
  7533. return n.id = t.id, n.tagName = t.tagName, n.hashCode = e.hashCode(c(t).getPath()), n
  7534. }, e.hashCode = function (e) {
  7535. var t = 0;
  7536. if (0 == e.length) return t;
  7537. for (var n = 0; n < e.length; n++) {
  7538. var r = e.charCodeAt(n);
  7539. t = (t << 5) - t + r, t &= t
  7540. }
  7541. return t
  7542. }, e.Ctor = function () {
  7543. var e = new Date;
  7544. return e.setMilliseconds(0), null
  7545. }(), e
  7546. }(),
  7547. f = function (e) {
  7548. function t(t, n) {
  7549. var r = d.normalizeEvent(t);
  7550. e.call(this, r, n), this.button = r.which, this.screenX = r.screenX, this.screenY = r.screenY, this.clientX = r.clientX, this.clientY = r.clientY, this.pageX = r.pageX, this.pageY = r.pageY, this.ctrlKey = r.ctrlKey, this.shiftKey = r.shiftKey, this.altKey = r.altKey, this.metaKey = r.metaKey
  7551. }
  7552. return __extends(t, e), t.isMouseEvent = function (e) {
  7553. return "button" in e
  7554. }, t
  7555. }(d),
  7556. h = function (e) {
  7557. function t(t, n, r, i) {
  7558. void 0 === i && (i = 0);
  7559. var o = d.normalizeEvent(t);
  7560. e.call(this, o, r), this.altKey = o.altKey, this.ctrlKey = o.ctrlKey, this.metaKey = o.metaKey, this.shiftKey = o.shiftKey, this.keyIndex = n, this.keyOver = -1 == n ? !0 : !1, this.locale = "locale" in t ? t.locale : "", this.location = "location" in t ? t.location : 0, this.nikc = "INPUT" != this.targettag ? o.keyCode || o.which : 0
  7561. }
  7562. return __extends(t, e), t
  7563. }(d),
  7564. m = function (e) {
  7565. function t(t, n, r) {
  7566. e.call(this, t, r), this.textLength = n
  7567. }
  7568. return __extends(t, e), t
  7569. }(d),
  7570. g = function () {
  7571. function e() {}
  7572. return e
  7573. }();
  7574. t.Session = g;
  7575. var v = function (e) {
  7576. function t() {
  7577. var n = this;
  7578. e.call(this), this.records = [], this.sampleRate = 100, this.mouseMoveCount = 0, this.mouseMoveCount = 0, this.onMouseMove = function (e) {
  7579. try {
  7580. var r = new Date;
  7581. n.mouseMoveCount += 1;
  7582. var i = new f(e, r.getTime()),
  7583. o = n.records.length - 1,
  7584. a = n.records[o];
  7585. if (0 > o) return void(o = n.records.push(i));
  7586. var s = a.timeStamp ? a.timeStamp : void 0;
  7587. s && i.timeStamp && i.timeStamp - s > n.sampleRate && (o = n.records.push(i)), n.records.length === t.maxEvents && n.unsubscribeMouseEvents()
  7588. } catch (u) {
  7589. console && console.warn("Error in Ellipsis.MouseMoveCollection():" + u)
  7590. }
  7591. }
  7592. }
  7593. return __extends(t, e), t.prototype.onMouseMove = function (e) {}, t.prototype.subscribeMouseEvents = function () {
  7594. c(document).addEventListener("mousemove", this.onMouseMove, !0)
  7595. }, t.prototype.unsubscribeMouseEvents = function () {
  7596. c(document).removeEventListener("mousemove", this.onMouseMove, !0)
  7597. }, t.prototype.harvest = function () {
  7598. var e = {
  7599. mouseMoveEvents: {
  7600. mouseMoveCount: this.mouseMoveCount,
  7601. sampleRate: this.sampleRate,
  7602. events: p.pack(this.records)
  7603. }
  7604. };
  7605. return this.records = [], this.mouseMoveCount = 0, e
  7606. }, t.prototype.init = function () {
  7607. this.subscribeMouseEvents()
  7608. }, t.prototype.uninit = function () {
  7609. this.unsubscribeMouseEvents()
  7610. }, t.maxEvents = 50, t
  7611. }(s),
  7612. y = function (e) {
  7613. function t() {
  7614. e.apply(this, arguments), this.startTime = (new Date).getTime()
  7615. }
  7616. return __extends(t, e), t.prototype.harvest = function () {
  7617. var e = (new Date).getTime(),
  7618. t = {};
  7619. return t.timeBalance = {
  7620. startTime: this.startTime,
  7621. collectTime: e,
  7622. diff: e - this.startTime
  7623. }, this.startTime = e, t
  7624. }, t
  7625. }(s),
  7626. b = function (e) {
  7627. function t() {
  7628. var t = this;
  7629. e.call(this), this.startRecords = [], this.endRecords = [], this.events = [], this.onEvent = function (e) {
  7630. try {
  7631. if (d.isElement(e.target)) {
  7632. var n = e.target;
  7633. if (void 0 === n) return;
  7634. var r = n.tagName.toLowerCase();
  7635. if ("input" === r && (r = n.type.toLowerCase()), "text" === r || "password" === r || "textarea" == r) {
  7636. var i = new m(e, c(n).val().length, (new Date).getTime());
  7637. t.events.push(i)
  7638. }
  7639. }
  7640. } catch (o) {
  7641. console && console.warn("Error in Ellipsis.TextInputLengthCollection():" + o)
  7642. }
  7643. }
  7644. }
  7645. return __extends(t, e), t.prototype.onEvent = function (e) {}, t.prototype.getCtrlLengths = function () {
  7646. return c("TEXTAREA,INPUT[type='text'],INPUT[type='password']").map(function (e, t) {
  7647. return {
  7648. control: t,
  7649. length: c(t).val().length
  7650. }
  7651. }).get()
  7652. }, t.prototype.start = function () {
  7653. this.startRecords = this.getCtrlLengths()
  7654. }, t.CreateCustomEvent = function (e) {
  7655. if (document.createEvent) {
  7656. var t = document.createEvent("CustomEvent");
  7657. t.initEvent("CustomEvent", !0, !0);
  7658. var n = Object.assign(e, t);
  7659. return n
  7660. }
  7661. if (document.createEventObject) {
  7662. var r = document.createEventObject(),
  7663. i = Object.assign(e, r);
  7664. return i
  7665. }
  7666. }, t.toEventRecords = function (e, n) {
  7667. for (var r = [], i = 0; i < e.length; i++) {
  7668. var o = e[i],
  7669. a = {
  7670. type: "ellipsis_harvest",
  7671. target: o.control,
  7672. currentTarget: o.control
  7673. },
  7674. s = t.CreateCustomEvent(a),
  7675. u = new m(s, o.length, void 0);
  7676. r.push(u)
  7677. }
  7678. return r
  7679. }, t.prototype.harvest = function () {
  7680. this.stop();
  7681. var e = {};
  7682. return e.textInput = {
  7683. startLength: p.pack(t.toEventRecords(this.startRecords, "ellipsis.init")),
  7684. endLength: p.pack(t.toEventRecords(this.endRecords, "ellipsis.harvest")),
  7685. events: p.pack(this.events)
  7686. }, this.reset(), e
  7687. }, t.prototype.init = function () {
  7688. this.reset(), this.subscribe()
  7689. }, t.prototype.subscribe = function () {
  7690. c(document).addEventListener("blur", this.onEvent, !0), c(document).addEventListener("focus", this.onEvent, !0), c(document).addEventListener("change", this.onEvent, !0), c(document).addEventListener("select", this.onEvent, !0)
  7691. }, t.prototype.uninit = function () {
  7692. this.unsubscribe()
  7693. }, t.prototype.unsubscribe = function () {
  7694. c(document).removeEventListener("blur", this.onEvent, !0), c(document).removeEventListener("focus", this.onEvent, !0), c(document).removeEventListener("change", this.onEvent, !0), c(document).removeEventListener("select", this.onEvent, !0)
  7695. }, t.prototype.stop = function () {
  7696. this.endRecords = this.getCtrlLengths()
  7697. }, t.prototype.reset = function () {
  7698. this.start(), this.endRecords = []
  7699. }, t
  7700. }(s),
  7701. x = function (e) {
  7702. function t() {
  7703. e.apply(this, arguments)
  7704. }
  7705. return __extends(t, e), t.prototype.harvest = function () {
  7706. var e = {
  7707. timeZone: (new Date).getTimezoneOffset(),
  7708. historyLength: 0,
  7709. pluginsLength: 0,
  7710. navigator: {},
  7711. window: {
  7712. screenTop: 0,
  7713. screenY: 0,
  7714. screenX: 0,
  7715. width: 0,
  7716. height: 0
  7717. },
  7718. devicePixelRatio: 0,
  7719. screen: {
  7720. width: 0,
  7721. height: 0,
  7722. colorDepth: 0
  7723. },
  7724. javaEnabled: !1,
  7725. localStorage: !1,
  7726. sessionStorage: !1
  7727. },
  7728. t = window.history;
  7729. t && t.go && (e.historyLength = t.length);
  7730. var n = navigator.plugins;
  7731. n && (e.pluginsLength = n.length), navigator && (e.navigator.appCodeName = navigator.appCodeName, e.navigator.appMinorVersion = navigator.appMinorVersion, e.navigator.appName = navigator.appName, e.navigator.appVersion = navigator.appVersion, e.navigator.cookieEnabled = navigator.cookieEnabled, e.navigator.onLine = navigator.onLine, e.navigator.platform = navigator.platform, e.navigator.userAgent = navigator.userAgent), void 0 !== window.screenTop && (e.window.screenTop = window.screenTop), void 0 !== window.screenY && (e.window.screenY = window.screenY), void 0 !== window.screenX && (e.window.screenX = window.screenX), void 0 !== window.devicePixelRatio && (e.devicePixelRatio = window.devicePixelRatio);
  7732. var r = window.screen;
  7733. r && void 0 !== r.width && void 0 !== r.height && (e.screen.width = r.width, e.screen.height = r.height), void 0 !== r.colorDepth && (e.screen.colorDepth = r.colorDepth), e.window.width = window.document.documentElement.clientwidth, e.window.height = window.document.documentElement.clientheight, navigator.javaEnabled && (e.javaEnabled = navigator.javaEnabled()), e.localStorage = this.testLocalStorage(), e.sessionStorage = this.testSessionStorage();
  7734. var i = {};
  7735. return i.browserFootprint = e, i
  7736. }, t.prototype.testLocalStorage = function () {
  7737. var e = "ellipsis";
  7738. try {
  7739. return localStorage.setItem(e, e), localStorage.removeItem(e), !0
  7740. } catch (t) {
  7741. return !1
  7742. }
  7743. }, t.prototype.testSessionStorage = function () {
  7744. var e = "ellipsis";
  7745. try {
  7746. return sessionStorage.setItem(e, e), sessionStorage.removeItem(e), !0
  7747. } catch (t) {
  7748. return !1
  7749. }
  7750. }, t
  7751. }(s);
  7752. t.BrowserFootprintCollection = x;
  7753. var E = function (e) {
  7754. function t() {
  7755. e.apply(this, arguments), this.pageCounts = {
  7756. formCount: 0,
  7757. inputCount: 0,
  7758. pwdCount: 0,
  7759. textareaCount: 0,
  7760. scriptCount: 0,
  7761. styleCount: 0,
  7762. iframeCount: 0
  7763. }
  7764. }
  7765. return __extends(t, e), t.prototype.init = function () {
  7766. this.pageCounts.formCount = c("form").length, this.pageCounts.textareaCount = c("textarea").length, this.pageCounts.scriptCount = c("script").length, this.pageCounts.styleCount = c("link").length, this.pageCounts.iframeCount = c("iframe").length, this.pageCounts.inputCount = c('input[type="text"]').length, this.pageCounts.pwdCount = c('input[type="password"]').length
  7767. }, t.prototype.harvest = function () {
  7768. var e = {};
  7769. return e.pageSnapshot = this.pageCounts, e
  7770. }, t
  7771. }(s),
  7772. w = function () {
  7773. function e() {
  7774. var e = this;
  7775. this.events = [], this.onKey = function (t) {
  7776. try {
  7777. var n = (new Date).getTime();
  7778. if (!t) return;
  7779. var r = t.keyCode ? t.keyCode : 0;
  7780. if ("keydown" == t.type) {
  7781. var i = e.kCodeMap[t.keyCode];
  7782. if (void 0 !== i && !isNaN(i) && i) return;
  7783. e.kCodeMap[t.keyCode] = n;
  7784. var r = e.getAvailableIndex();
  7785. r > -1 && (e.indexMap[r] = 0, e.kDownMap[t.keyCode] = r, e.kDownCount++, e.lastKDData = r)
  7786. } else if ("keyup" == t.type) {
  7787. if (delete e.kCodeMap[t.keyCode], r = e.kDownMap[t.keyCode], delete e.kDownMap[t.keyCode], void 0 === r) return;
  7788. e.indexMap[r] = 1, e.kDownCount--
  7789. } else "keypress" == t.type && (r = e.lastKDData);
  7790. var o = new h(t, r, n);
  7791. e.events.push(o)
  7792. } catch (a) {
  7793. console && console.warn("Error in Ellipsis.KeyboarEventsCollection():" + a)
  7794. }
  7795. }, this.reset()
  7796. }
  7797. return e.prototype.getAvailableIndex = function () {
  7798. for (var e = -1, t = 0; 10 > t && (e = t, !this.indexMap[t]); t++);
  7799. return e
  7800. }, e.prototype.onKey = function (e) {}, e.prototype.harvest = function () {
  7801. var e = {
  7802. keyboardEvents: p.pack(this.events)
  7803. };
  7804. return this.reset(), e
  7805. }, e.prototype.init = function () {
  7806. this.subscribe()
  7807. }, e.prototype.uninit = function () {
  7808. this.unsubscribe()
  7809. }, e.prototype.unsubscribe = function () {
  7810. c(document).removeEventListener("keydown", this.onKey, !0), c(document).removeEventListener("keyup", this.onKey, !0), c(document).removeEventListener("keypress", this.onKey, !0), this.reset()
  7811. }, e.prototype.subscribe = function () {
  7812. c(document).addEventListener("keydown", this.onKey, !0), c(document).addEventListener("keyup", this.onKey, !0), c(document).addEventListener("keypress", this.onKey, !0)
  7813. }, e.prototype.reset = function () {
  7814. this.events = [], this.kCodeMap = {}, this.kDownCount = 0, this.kDownMap = {}, this.lastKDData = 0, this.indexMap = {
  7815. 0: 1,
  7816. 1: 1,
  7817. 2: 1,
  7818. 3: 1,
  7819. 4: 1,
  7820. 5: 1,
  7821. 6: 1,
  7822. 7: 1,
  7823. 8: 1,
  7824. 9: 1
  7825. }
  7826. }, e
  7827. }();
  7828. t.KeyboardEventsCollector = w;
  7829. var C = function () {
  7830. function e() {
  7831. var e = this;
  7832. this.events = [], this.onMouse = function (t) {
  7833. try {
  7834. var n = (new Date).getTime();
  7835. if (!t) return;
  7836. var r = new f(t, n);
  7837. e.events.push(r)
  7838. } catch (i) {
  7839. console && console.warn("Error in Ellipsis.MouseEventsCollection():" + i)
  7840. }
  7841. }
  7842. }
  7843. return e.prototype.onMouse = function (e) {}, e.prototype.harvest = function () {
  7844. var e = {
  7845. mouseEvents: p.pack(this.events)
  7846. };
  7847. return this.reset(), e
  7848. }, e.prototype.init = function () {
  7849. this.subscribe()
  7850. }, e.prototype.uninit = function () {
  7851. this.unsubscribe()
  7852. }, e.prototype.subscribe = function () {
  7853. c(document).addEventListener("mousedown", this.onMouse, !0), c(document).addEventListener("mouseup", this.onMouse, !0), c(document).addEventListener("click", this.onMouse, !0), c(document).addEventListener("dblclick", this.onMouse, !0)
  7854. }, e.prototype.unsubscribe = function () {
  7855. c(document).removeEventListener("mousedown", this.onMouse, !0), c(document).removeEventListener("mouseup", this.onMouse, !0), c(document).removeEventListener("click", this.onMouse, !0), c(document).removeEventListener("dblclick", this.onMouse, !0), this.reset()
  7856. }, e.prototype.reset = function () {
  7857. this.events = []
  7858. }, e
  7859. }();
  7860. t.MouseEventsCollector = C;
  7861. var T = function () {
  7862. function e() {}
  7863. return e.compress = function (e) {
  7864. var t, n, r, i = {},
  7865. o = "",
  7866. a = [],
  7867. s = 256;
  7868. for (t = 0; 256 > t; t += 1) i[String.fromCharCode(t)] = t;
  7869. for (t = 0; t < e.length; t += 1) n = e.charAt(t), r = o + n, i.hasOwnProperty(r) ? o = r : (a.push(i[o]), i[r] = s++, o = String(n));
  7870. return "" !== o && a.push(i[o]), a
  7871. }, e
  7872. }();
  7873. t.LZW = T;
  7874. var k = function () {
  7875. function e() {}
  7876. return e.create = function (e, t, n) {
  7877. var r = 24 * (n.days || 0) * 60 + 60 * (n.hours || 0) + (n.minutes || 0),
  7878. i = "";
  7879. if (r > 0) {
  7880. var o = new Date;
  7881. o.setTime(o.getTime() + 60 * r * 1e3), i = "; expires=" + o.toUTCString()
  7882. }
  7883. var a = e + "=" + t + i + "; path=/";
  7884. document.cookie = a
  7885. }, e.read = function (e) {
  7886. for (var t = e + "=", n = document.cookie.split(";"), r = 0; r < n.length; r++) {
  7887. for (var i = n[r];
  7888. " " == i.charAt(0);) i = i.substring(1, i.length);
  7889. if (0 == i.indexOf(t)) return i.substring(t.length, i.length)
  7890. }
  7891. return null
  7892. }, e.prototype.erase = function (t) {
  7893. e.create(t, "", -1)
  7894. }, e
  7895. }(),
  7896. S = function () {
  7897. function e() {}
  7898. return e.generate = function () {
  7899. var t = e._gri,
  7900. n = e._ha;
  7901. return n(t(32), 8) + "-" + n(t(16), 4) + "-" + n(16384 | t(12), 4) + "-" + n(32768 | t(14), 4) + "-" + n(t(48), 12)
  7902. }, e._gri = function (e) {
  7903. return 0 > e ? NaN : 30 >= e ? 0 | Math.random() * (1 << e) : 53 >= e ? (0 | 1073741824 * Math.random()) + 1073741824 * (0 | Math.random() * (1 << e - 30)) : NaN
  7904. }, e._ha = function (e, t) {
  7905. for (var n = e.toString(16), r = t - n.length, i = "0"; r > 0; r >>>= 1, i += i) 1 & r && (n = i + n);
  7906. return n
  7907. }, e
  7908. }();
  7909. t.UUID = S,
  7910. function () {
  7911. for (var e, t = function () {}, n = ["assert", "clear", "count", "debug", "dir", "dirxml", "error", "exception", "group", "groupCollapsed", "groupEnd", "info", "log", "markTimeline", "profile", "profileEnd", "table", "time", "timeEnd", "timeStamp", "trace", "warn"], r = n.length, i = window.console || {}; r--;) e = n[r], i[e] || (i[e] = t)
  7912. }();
  7913. var N = function () {
  7914. function e() {
  7915. this.api_key = this.ExtractAPIKey()
  7916. }
  7917. return e.prototype.ExtractAPIKey = function () {
  7918. function e(e) {
  7919. e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  7920. var t = new RegExp("[\\?&]" + e + "=([^&#]*)"),
  7921. n = t.exec(r);
  7922. return null === n ? "" : decodeURIComponent(n[1].replace(/\+/g, " "))
  7923. }
  7924. for (var t = document.getElementsByTagName("script"), n = 0; n < t.length; n++) {
  7925. var r = t[n].src.toLowerCase();
  7926. if (r.indexOf("ellipsis.js") > -1) return e("api_key")
  7927. }
  7928. return ""
  7929. }, e
  7930. }();
  7931. t.API_Key = N;
  7932. var M = function () {
  7933. function e() {
  7934. this.pageId = S.generate(), this.update()
  7935. }
  7936. return e.prototype.update = function () {
  7937. var t = k.read(e.sessionKey);
  7938. this.sessionId = t ? t : S.generate(), k.create(e.sessionKey, this.sessionId, {
  7939. minutes: 30
  7940. });
  7941. var n = k.read(e.customSessionKey);
  7942. n && this.setCustomerSession(n)
  7943. }, e.prototype.setCustomerSession = function (t) {
  7944. k.create(e.customSessionKey, t, {
  7945. minutes: 30
  7946. })
  7947. }, e.sessionKey = "ellipsis.sessionid", e.customSessionKey = "ellipsis.customsessionid", e
  7948. }();
  7949. t.CurrentSession = M, t.currentSession = new M, t.api_key = new N, t.browserFootprintCollector = new x, t.mouseMoveCollector = new v, t.mouseEventsCollector = new C, t.keyboardEventsCollector = new w, t.timeBalanceCollector = new y, t.textLengthCollector = new b, t.pageSnapshotCollector = new E, t.touchMoveCollector = new u, t.start = function () {
  7950. t.browserFootprintCollector.init(), t.mouseMoveCollector.init(), t.mouseEventsCollector.init(), t.keyboardEventsCollector.init(), t.timeBalanceCollector.init(), t.textLengthCollector.init(), t.pageSnapshotCollector.init(), t.touchMoveCollector.init()
  7951. };
  7952. var L = function () {
  7953. var e = window.ellipsis;
  7954. if (e && e.signal) {
  7955. var t = typeof e.signal,
  7956. n = e.signal;
  7957. if ("string" == t) switch (n) {
  7958. case "human":
  7959. return 1;
  7960. case "bot":
  7961. return 2
  7962. } else if ("number" == t && n >= 0 && 2 >= n) return n
  7963. }
  7964. return n = 0, c.each(a(), function (e, t) {
  7965. var r = t.getAttribute("data-signal");
  7966. if (r) switch (r) {
  7967. case "human":
  7968. return n = 1, !1;
  7969. case "bot":
  7970. return n = 2, !1
  7971. }
  7972. }), n
  7973. };
  7974. t.harvest = function () {
  7975. var e = {
  7976. signal: 0,
  7977. api_key: "",
  7978. version: "2.0"
  7979. };
  7980. return e.signal = L(), c.extend(e, t.currentSession), c.extend(e, t.browserFootprintCollector.harvest()), c.extend(e, t.mouseMoveCollector.harvest()), c.extend(e, t.mouseEventsCollector.harvest()), c.extend(e, t.keyboardEventsCollector.harvest()), c.extend(e, t.timeBalanceCollector.harvest()), c.extend(e, t.textLengthCollector.harvest()), c.extend(e, t.pageSnapshotCollector.harvest()), c.extend(e, t.touchMoveCollector.harvest()), c.extend(e, t.api_key), e
  7981. }, t.end = function () {
  7982. t.browserFootprintCollector.uninit(), t.mouseMoveCollector.uninit(), t.mouseEventsCollector.uninit(), t.keyboardEventsCollector.uninit(), t.timeBalanceCollector.uninit(), t.textLengthCollector.uninit(), t.pageSnapshotCollector.uninit(), t.touchMoveCollector.uninit()
  7983. }, t.collectionTriggered = function (e) {
  7984. try {
  7985. c(window).removeEventListener("unload", t.collectionTriggered, !0);
  7986. var noHref = "" === e.target.href,
  7987. n = t.harvest(),
  7988. r = T.compress(JSON.stringify(n));
  7989. c.ajax({
  7990. type: "POST",
  7991. contentType: "application/json; charset=utf-8",
  7992. url: "https://api.humanpresence.io/v2",
  7993. data: JSON.stringify(r),
  7994. async: !!noHref,
  7995. complete: function () {
  7996. console.info("Ellipsis server called sucessfully.")
  7997. },
  7998. error: function (e, t, n) {
  7999. throw new Error("Error calling ellipsis server. " + t)
  8000. }
  8001. })
  8002. } catch (i) {
  8003. console.warn(i.message)
  8004. }
  8005. }, t.registerSiteSession = function (e, n) {
  8006. var r = {
  8007. sessid: t.currentSession.sessionId,
  8008. site_sessid: e,
  8009. api_key: n
  8010. };
  8011. c.ajax({
  8012. type: "POST",
  8013. contentType: "application/json; charset=utf-8",
  8014. url: "https://api.humanpresence.io/v2/registersession",
  8015. data: JSON.stringify(r),
  8016. async: !1,
  8017. complete: function () {
  8018. console.info("Ellipsis server called sucessfully.")
  8019. },
  8020. error: function (e, t, n) {
  8021. throw new Error("Error calling ellipsis server. " + t)
  8022. }
  8023. }), t.currentSession.setCustomerSession(e)
  8024. }, t.checkHumanPresence = function (e, n) {
  8025. void 0 === n && (n = null), n || (n = t.currentSession.sessionId);
  8026. var r, i;
  8027. return c.ajax({
  8028. type: "GET",
  8029. url: "https://api.humanpresence.io/v2/checkhumanpresence/" + n + "?apikey=" + e,
  8030. async: !1,
  8031. success: function (e) {
  8032. r = e.signal, i = e.confidence
  8033. },
  8034. error: function (e, t, n) {
  8035. throw new Error("Error calling ellipsis server. " + t)
  8036. }
  8037. }), {
  8038. signal: r,
  8039. confidence: i
  8040. }
  8041. }, t.reportSignal = function (e, n, r) {
  8042. void 0 === r && (r = null), r || (r = t.currentSession.sessionId);
  8043. var i = {
  8044. sessid: r,
  8045. pageid: t.currentSession.pageId,
  8046. signal: e,
  8047. apikey: n
  8048. };
  8049. c.ajax({
  8050. type: "POST",
  8051. data: JSON.stringify(i),
  8052. contentType: "application/json; charset=utf-8",
  8053. url: "https://api.humanpresence.io/v2/reportsignal",
  8054. async: !1,
  8055. error: function (e, t, n) {
  8056. throw new Error("Error calling ellipsis server. " + t)
  8057. }
  8058. })
  8059. }, c.fn.getPath = function (e) {
  8060. if ("undefined" == typeof e && (e = ""), this.is("html") || void 0 == this.get(0)) return "html" + e;
  8061. var t = this.get(0).nodeName.toLowerCase(),
  8062. n = this.attr("id"),
  8063. r = this.attr("class");
  8064. return "undefined" != typeof n && (t += "#" + n), "undefined" != typeof r && (t += "." + r.split(/[\s\n]+/).join(".")), this.parent().getPath(" > " + t + e)
  8065. }, c.fn.addEventListener = function (e, t, n) {
  8066. return this.each(function () {
  8067. this.addEventListener ? this.addEventListener(e, t, n) : this.attachEvent ? this.attachEvent("on" + e, t) : this["on" + e] = t
  8068. })
  8069. }, c.fn.removeEventListener = function (e, t, n) {
  8070. return this.each(function () {
  8071. this.removeEventListener ? this.removeEventListener(e, t, n) : this.detachEvent ? this.detachEvent("on" + e, t) : this["on" + e] = null
  8072. })
  8073. }
  8074. }),
  8075. function () {
  8076. ellipsis.require(["ell-jquery", "ellipsis"], function (e, t) {
  8077. t.start(), e(document).ready(function () {
  8078. e.support.cors || console.warn("Ellipsis: Browser (or IE compatability mode) does not support CORS."), e("a").addEventListener("click", t.collectionTriggered, !0), e("form").addEventListener("submit", t.collectionTriggered, !0), e(window).addEventListener("unload", t.collectionTriggered, !0), e(window).addEventListener("popstate", t.collectionTriggered, !0)
  8079. })
  8080. })
  8081. }(), ellipsis.define("src/ellipsis_init.js", function () {});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement