<repo_name>MJCoderMJCoder/mr-design.jp<file_sep>/static/js/main.js
/**
 * Modules in this bundle
 * @license
 *
 * undefined:
 *
 * jquery:
 *   license: MIT (http://opensource.org/licenses/MIT)
 *   author: jQuery Foundation and other contributors
 *   maintainers: dmethvin <<EMAIL>>, scott.gonzalez <<EMAIL>>, m_gol <<EMAIL>>, timmywil <<EMAIL>>
 *   homepage: http://jquery.com
 *   version: 2.2.4
 *
 * This header is generated by licensify (https://github.com/twada/licensify)
 */
require = function e(t, n, r) {
	function i(s, a) {
		if (!n[s]) {
			if (!t[s]) {
				var u = "function" == typeof require && require;
				if (!a && u) return u(s, !0);
				if (o) return o(s, !0);
				var l = new Error("Cannot find module '" + s + "'");
				throw l.code = "MODULE_NOT_FOUND", l
			}
			var c = n[s] = {
				exports: {}
			};
			t[s][0].call(c.exports, function (e) {
				var n = t[s][1][e];
				return i(n ? n : e)
			}, c, c.exports, e, t, n, r)
		}
		return n[s].exports
	}
	for (var o = "function" == typeof require && require, s = 0; s < r.length; s++) i(r[s]);
	return i
}({
	1: [function (e, t, n) {
		"use strict";
		t.exports = {
			MAX_WIDTH_MOBILE: 768,
			MAX_WIDTH_TABLET: 1024
		}
	}, {}],
	2: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e() {
				r(this, e), console.info("Contact.constructor"), this.isSending = !1, this.$window = $(window), this.$messages = $(".message"), this.$forms = $(".form"), this.$buttons = $("#buttons button"), this.$name = $("#value-name .form"), this.$company = $("#value-company .form"), this.$tel = $("#value-tel .form"), this.$mail = $("#value-mail .form"), this.$comment = $("#value-comment .form"), $("#button-confirm").on("click", this.confirmClickHandler.bind(this)), $("#button-send").on("click", this.sendClickHandler.bind(this)), $("#button-back").on("click", this.backClickHandler.bind(this))
			}
			return i(e, [{
				key: "confirmClickHandler",
				value: function () {
					return "" === this.$name.val() ? (alert("Please enter your name."), void this.$name.focus()) : "" === this.$mail.val() ? (alert("Please enter your email address."), void this.$mail.focus()) : "" === this.$comment.val() ? (alert("Please enter a comment."), void this.$comment.focus()) : (this.$window.scrollTop(0), this.$forms.attr("disabled", "disabled"), this.$forms.addClass("disabled"), this.$messages.hide(), this.$messages.eq(1).show(), this.$buttons.show(), void this.$buttons.eq(0).hide())
				}
			}, {
				key: "sendClickHandler",
				value: function () {
					if (!this.isSending) {
						this.isSending = !0;
						var e = "/php/sendmail.php";
						$.ajax({
							type: "POST",
							url: e,
							data: {
								name: this.$name.val(),
								company: this.$company.val(),
								tel: this.$tel.val(),
								email: this.$mail.val(),
								messege: this.$comment.val()
							},
							success: function (e) {
								console.log("result: " + e), this.isSending = !1, this.$window.scrollTop(0), $("#form").hide(), $("#buttons").hide(), this.$messages.hide(), this.$messages.eq(2).show(), this.$window.resize()
							}.bind(this),
							error: function (e) {
								console.log("result: " + e), this.isSending = !1, alert("Sending failed. Please try again later.")
							}.bind(this)
						})
					}
				}
			}, {
				key: "backClickHandler",
				value: function () {
					this.$window.scrollTop(0), this.$forms.attr("disabled", !1), this.$forms.removeClass("disabled"), this.$messages.hide(), this.$messages.eq(0).show(), this.$buttons.hide(), this.$buttons.eq(0).show()
				}
			}]), e
		}()
	}, {}],
	3: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
				function e(e, t) {
					for (var n = 0; n < t.length; n++) {
						var r = t[n];
						r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
					}
				}
				return function (t, n, r) {
					return n && e(t.prototype, n), r && e(t, r), t
				}
			}(),
			o = e("$es6/utils/Random.js");
		t.exports = function () {
			function e() {
				r(this, e), console.info("Top.constructor"), this.$window = $(window), this.$header = $("header"), this.$main = $("#main"), this.$image = $(".image"), this.list = [], this.$image.each(function (e, t) {
					0 === e && this.list.push(["movie", null, "/assets/movies/1/?color=white&loop=false"]), $(t).hide(), this.list.push(["image", $(t)]), e === Math.floor((this.$image.length - 1) / 2) && this.list.push(["movie", null, "/assets/movies/1/?color=black&loop=false"])
				}.bind(this));
				var t = $('<iframe id="movie" style="border:none" width="100%" height="100%"></iframe>');
				this.$main.prepend(t);
				for (var n = 0; n < this.list.length; n++) {
					var i = this.list[n];
					"movie" == i[0] && (i[1] = t)
				}
				$(document).on("black", function (e) {
					this.showHeader(1)
				}.bind(this)), $(document).on("white", function (e) {
					this.showHeader(0)
				}.bind(this)), this.preload(), this.sideMargin = parseInt(this.$header.css("margin-left")), this.$window.resize(this.resizeHandler.bind(this))
			}
			return i(e, [{
				key: "preload",
				value: function () {
					console.info("Top.preload");
					var e = this;
					e.count = 0, this.list.forEach(function (t, n) {
						if ("image" == t[0]) {
							var r = t[1];
							r.on("load", function () {
								e.count++, e.count >= e.$image.length && e.loadComplete()
							}), r.attr("src", r.attr("data-src"))
						}
					})
				}
			}, {
				key: "loadComplete",
				value: function () {
					console.info("Top.loadComplete"), this.currentIdx = o.range(0, this.list.length - 1, !0), this.next()
				}
			}, {
				key: "show",
				value: function () {
					var e = !1,
						t = "";
					if (this.$main.children().hide(), this.currentContent && (this.currentContent[1].css("z-index", 0), this.currentContent[1].show()), this.nextContent = this.list[this.currentIdx], "image" == this.nextContent[0]) {
						this.resizeImage(this.nextContent[1]);
						var n = this.nextContent[1].attr("data-invert-logo"),
							r = this.nextContent[1].attr("data-invert-menu");
						"0" === n && "0" === r ? this.showHeader(0) : "1" === n && "1" === r ? this.showHeader(1) : "1" === n && "0" === r ? this.showHeader(2) : "0" === n && "1" === r && this.showHeader(3)
					} else t = this.nextContent[2], e = !0;
					return this.nextContent[1].css("z-index", 1), this.nextContent[1].stop().fadeTo(0, 0).fadeTo(500, 1, function () {
						$("iframe").attr("src", t)
					}), this.currentContent = this.nextContent, this.resizeHandler(), e
				}
			}, {
				key: "next",
				value: function () {
					this.currentIdx = (this.currentIdx + 1) % this.list.length;
					var e = this.show(),
						t = e ? 12e3 : 4e3;
					setTimeout(this.next.bind(this), t)
				}
			}, {
				key: "showHeader",
				value: function (e) {
					var t = $("header:eq(" + e + ")"),
						n = $("header:not(:eq(" + e + "))");
					n.css("z-index", 2), n.stop().fadeTo(500, 0), t.show(), t.css("z-index", 3), t.stop().fadeTo(500, 1)
				}
			}, {
				key: "resizeHandler",
				value: function () {
					console.info("Top.resizeHandler"), this.$header.width(this.$window.width() - 2 * this.sideMargin), "image" == this.currentContent[0] && this.resizeImage(this.currentContent[1])
				}
			}, {
				key: "resizeImage",
				value: function (e) {
					if (e) {
						var t, n, r = this.$window.width(),
							i = this.$window.height(),
							o = e.attr("data-width"),
							s = e.attr("data-height"),
							a = e.attr("data-align-horizontal"),
							u = e.attr("data-align-vertical");
						r / i < o / s ? (t = o * (i / s), n = i) : (n = s * (r / o), t = r);
						var l = (r - t) / 2,
							c = (i - n) / 2;
						switch (a) {
							case "left":
								l = 0;
								break;
							case "right":
								l = r - t
						}
						switch (u) {
							case "top":
								c = 0;
								break;
							case "bottom":
								c = i - n
						}
						e.css({
							left: l,
							top: c,
							width: t,
							height: n
						})
					}
				}
			}]), e
		}()
	}, {
		"$es6/utils/Random.js": 13
	}],
	4: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e() {
				r(this, e), console.info("Footer.constructor"), this.$window = $(window), this.$body = $("html, body"), this.$footer = $("footer"), this.sideMargin = parseInt(this.$footer.css("margin-left")), $("#back-to-top a").on("click", function (e) {
					e.preventDefault(), e.stopPropagation();
					var t = this.$window.scrollTop(),
						n = this.$window.height();
					this.$body.scrollTop(Math.min(t, n)), this.$body.stop().animate({
						scrollTop: 0
					}, 400, "easeOutExpo")
				}.bind(this)), ($("html#contact").length > 0 || $("html#news").length > 0) && (this.$window.resize(this.resizeHandler.bind(this)), this.resizeHandler())
			}
			return i(e, [{
				key: "resizeHandler",
				value: function () {
					console.info("Footer.resizeHandler"), document.body.scrollHeight > this.$window.height() ? (this.$footer.removeClass("fix"), this.$footer.width("auto")) : (this.$footer.addClass("fix"), this.$footer.width(this.$window.width() - 2 * this.sideMargin))
				}
			}]), e
		}()
	}, {}],
	5: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e(t) {
				if (r(this, e), console.info("GoogleMaps.constructor"), this.idList = t, this.GOOGLE_MAPS_ZOOM = 14, this.API_KEY = "<KEY>", window.google) this.gmapHandler();
				else {
					var n = document.createElement("script");
					n.type = "text/javascript", n.defer = !0, n.async = !0, n.src = "https://maps.googleapis.com/maps/api/js?key=" + this.API_KEY + "&language=en&callback=gmapHandler", window.gmapHandler = this.gmapHandler.bind(this), $("head").append(n)
				}
			}
			return i(e, [{
				key: "gmapHandler",
				value: function () {
					console.info("GoogleMaps.gmapHandler"), this.idList.forEach(function (e, t) {
						this.generateMap($("#" + e))
					}.bind(this))
				}
			}, {
				key: "generateMap",
				value: function (e) {
					console.info("GoogleMaps.generateMap");
					var t = new google.maps.LatLng(Number(e.attr("data-lat")), Number(e.attr("data-lng"))),
						n = {
							zoom: this.GOOGLE_MAPS_ZOOM,
							center: t,
							mapTypeId: google.maps.MapTypeId.ROADMAP,
							disableDefaultUI: !0,
							streetViewControl: !1,
							zoomControl: !0,
							zoomControlOptions: {
								position: google.maps.ControlPosition.TOP_RIGHT,
								style: google.maps.ZoomControlStyle.LARGE
							},
							styles: [{
								stylers: [{
									saturation: -100
								}]
							}]
						},
						r = new google.maps.Map(e.get(0), n),
						i = (new google.maps.Marker({
							map: r,
							position: t,
							title: e.attr("data-name"),
							flat: !0
						}), {
							styles: [{
								stylers: [{
									saturation: 0
								}]
							}]
						}),
						o = {
							styles: [{
								stylers: [{
									saturation: -100
								}]
							}]
						},
						s = !1;
					e.mouseenter(function (e) {
						s || (r.setOptions(i), s = !0)
					}), e.mouseleave(function (e) {
						s && (r.setOptions(o), s = !1)
					})
				}
			}]), e
		}()
	}, {}],
	6: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e() {
				r(this, e), console.info("Grid.constructor"), this.$window = $(window), this.$stage = $("#stage"), this.$grid = $("#grid"), this.$single = $("#single"), this.imageNum = $("#images .image").length, this.maxColumn = 3, void 0 === localStorage.mode && (localStorage.mode = "grid"), $("html").hasClass("mobile") && (localStorage.mode = "single"), this.imageNum <= 1 && $("#switch").hide(), $("html").css("overflow-y", "scroll"), this.preload(), this.$window.resize(this.resizeHandler.bind(this))
			}
			return i(e, [{
				key: "preload",
				value: function () {
					console.info("Grid.preload"), this.$images = [];
					var e = this,
						t = 0;
					$("#images .image").each(function (n, r) {
						var i = $(r);
						e.$images[n] = i, e.$stage.prepend(i), i.attr("src", i.attr("data-src")), i.on("load", function () {
							t++, t >= e.imageNum && e.preloadComplete()
						})
					})
				}
			}, {
				key: "preloadComplete",
				value: function () {
					console.info("Grid.preloadComplete"), this.$stage.css("background-color", "#fff"), this.$grid.on("click", this.gridSwitchHandler.bind(this)), this.$single.on("click", this.singleSwitchHandler.bind(this)), "grid" == localStorage.mode ? $("html").addClass("grid").removeClass("single") : $("html").removeClass("grid").addClass("single"), this.$images.forEach(function (e, t) {
						e.show()
					}), this.resizeHandler(), $("footer").show()
				}
			}, {
				key: "gridSwitchHandler",
				value: function (e) {
					console.info("Grid.gridSwitchHandler"), e.preventDefault(), "grid" !== localStorage.mode && ($("html").addClass("grid").removeClass("single"), localStorage.mode = "grid", this.resizeHandler(), this.$stage.stop().fadeTo(0, 0).fadeTo(200, 1))
				}
			}, {
				key: "singleSwitchHandler",
				value: function (e) {
					console.info("Grid.singleSwitchHandler"), e.preventDefault(), "grid" === localStorage.mode && ($("html").removeClass("grid").addClass("single"), localStorage.mode = "single", this.resizeHandler(), this.$stage.stop().fadeTo(0, 0).fadeTo(200, 1))
				}
			}, {
				key: "resizeHandler",
				value: function (e) {
					console.info("Grid.resizeHandler");
					var t = (this.$window.width(), this.$stage.width()),
						n = 340,
						r = 60,
						i = 60,
						o = Math.floor((t + r) / (n + r));
					o = Math.min(o, this.maxColumn);
					var s = t - r * (o - 1),
						a = 0,
						u = [],
						l = [],
						c = [];
					this.$images.forEach(function (e, t) {
						"true" == e.attr("data-pickup") ? c.push({
							idx: t,
							ele: e
						}) : l.push({
							idx: t,
							ele: e
						})
					});
					for (var f = [], d = Math.ceil(l.length / o), h = 0; h < d; h++) {
						f[h] = [];
						for (var p = 0; p < o; p++) {
							var g = l.shift();
							g && f[h].push(g)
						}
					}
					for (; f.length > 0 || c.length > 0;) {
						var m = f[0],
							v = c[0];
						if (m && v)
							if (m.length < o) {
								var y = c.shift();
								u.push(y.ele)
							} else if (m[0].idx < v.idx)
							for (var b = f.shift(), x = 0; x < b.length; x++) u.push(b[x].ele);
						else {
							var w = c.shift();
							u.push(w.ele)
						} else if (m && !v)
							for (var $ = f.shift(), C = 0; C < $.length; C++) u.push($[C].ele);
						else if (!m && v) {
							var T = c.shift();
							u.push(T.ele)
						}
					}
					var k = [],
						E = !0,
						S = !1,
						j = void 0;
					try {
						for (var M, H = u[Symbol.iterator](); !(E = (M = H.next()).done); E = !0) {
							var N = M.value,
								D = "true" == N.attr("data-pickup") || "single" == localStorage.mode;
							k.push(N);
							var A = D ? 1 : o;
							if (k.length >= A) {
								var O = this.calcSizeAndPos(k, s, a, r);
								a += O + i, console.log("currentY", a, "rowHeight", O), k = []
							}
						}
					} catch (q) {
						S = !0, j = q
					} finally {
						try {
							!E && H["return"] && H["return"]()
						} finally {
							if (S) throw j
						}
					}
					if (console.log("tempList", k.length), k.length > 0) {
						s = t - r * (k.length - 1);
						var I = this.calcSizeAndPos(k, s, a, r);
						a += I + i
					}
					a -= i, this.$stage.css("height", a)
				}
			}, {
				key: "calcSizeAndPos",
				value: function (e, t, n, r) {
					var i = 800,
						o = 0,
						s = !0,
						a = !1,
						u = void 0;
					try {
						for (var l, c = e[Symbol.iterator](); !(s = (l = c.next()).done); s = !0) {
							var f = l.value,
								d = parseInt(f.attr("data-width")),
								h = parseInt(f.attr("data-height"));
							o += d * (i / h)
						}
					} catch (p) {
						a = !0, u = p
					} finally {
						try {
							!s && c["return"] && c["return"]()
						} finally {
							if (a) throw u
						}
					}
					var g = t / o,
						m = 0,
						v = 0,
						y = 0,
						b = !0,
						x = !1,
						w = void 0;
					try {
						for (var $, C = e[Symbol.iterator](); !(b = ($ = C.next()).done); b = !0) {
							var T = $.value,
								k = "true" == T.attr("data-pickup") || "single" == localStorage.mode,
								E = parseInt(T.attr("data-width")) || T.width(),
								S = parseInt(T.attr("data-height")) || T.height(),
								j = g * (i / S);
							k && (j = this.$stage.width() / E), m = E * j, v = S * j, T.css({
								width: m,
								height: v,
								left: y,
								top: n
							}), y += m + r
						}
					} catch (p) {
						x = !0, w = p
					} finally {
						try {
							!b && C["return"] && C["return"]()
						} finally {
							if (x) throw w
						}
					}
					return v
				}
			}]), e
		}()
	}, {}],
	7: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e() {
				r(this, e), console.info("ImageList.constructor"), this.$window = $(window), this.$main = $("#main"), this.$items = $(".desktop .items"), this.$item = $(".desktop .items .item"), this.$window.resize(this.resizeHandler.bind(this)), this.resizeHandler(), this.$item.css("visibility", "visible")
			}
			return i(e, [{
				key: "resizeHandler",
				value: function () {
					console.info("ImageList.resizeHandler");
					var e = 60,
						t = 340,
						n = 60,
						r = this.$window.width(),
						i = r - 2 * e,
						o = Math.floor(i / (t + n)),
						s = i - (t + n) * o + n;
					t += s / o, $(".desktop .items .item").each(function (e, n) {
						var r = $(n),
							i = r.find("img"),
							o = parseInt(i.attr("width")),
							s = parseInt(i.attr("height")),
							a = t / o;
						r.width(t), i.width(t), i.height(s * a)
					}), this.$item.css("margin-right", n), this.$items.eq(o).css("margin-right", 0), this.$item.css("visibility", "visible")
				}
			}]), e
		}()
	}, {}],
	8: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e() {
				r(this, e), console.info("SpMenu.constructor");
				$(window);
				this.$hamburger = $(".hamburger"), this.$closeMenu = $(".close-menu"), this.$main = $("#main"), this.$header = $("header"), this.$footer = $("footer"), this.$spMenu = $("#sp-menu"), this.hadClass = null, $(document).on("touchstart", ".hamburger", this.hamburgerHandler.bind(this)), $(document).on("touchstart", ".close-menu", this.closeHandler.bind(this)), $(document).on("click", ".hamburger", this.hamburgerHandler.bind(this)), $(document).on("click", ".close-menu", this.closeHandler.bind(this))
			}
			return i(e, [{
				key: "hamburgerHandler",
				value: function (e) {
					console.log("hamburgerHandler"), e.preventDefault(), this.$header.hide(), this.$main.hide(), this.$footer.hide(), this.$spMenu.show()
				}
			}, {
				key: "closeHandler",
				value: function (e) {
					console.log("closeHandler"), e.preventDefault(), this.$header.show(), this.$main.show(), this.$footer.show(), this.$spMenu.hide()
				}
			}]), e
		}()
	}, {}],
	"C:\\Users\\bouze\\Dropbox\\tha\\works\\1508 MR_DESIGN\\dev\\site2\\dev\\assets\\es6\\libs\\jquery.easing.1.3": [function (e, t, n) {
		jQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, {
			def: "easeOutQuad",
			swing: function (e, t, n, r, i) {
				return jQuery.easing[jQuery.easing.def](e, t, n, r, i)
			},
			easeInQuad: function (e, t, n, r, i) {
				return r * (t /= i) * t + n
			},
			easeOutQuad: function (e, t, n, r, i) {
				return -r * (t /= i) * (t - 2) + n
			},
			easeInOutQuad: function (e, t, n, r, i) {
				return (t /= i / 2) < 1 ? r / 2 * t * t + n : -r / 2 * (--t * (t - 2) - 1) + n
			},
			easeInCubic: function (e, t, n, r, i) {
				return r * (t /= i) * t * t + n
			},
			easeOutCubic: function (e, t, n, r, i) {
				return r * ((t = t / i - 1) * t * t + 1) + n
			},
			easeInOutCubic: function (e, t, n, r, i) {
				return (t /= i / 2) < 1 ? r / 2 * t * t * t + n : r / 2 * ((t -= 2) * t * t + 2) + n
			},
			easeInQuart: function (e, t, n, r, i) {
				return r * (t /= i) * t * t * t + n
			},
			easeOutQuart: function (e, t, n, r, i) {
				return -r * ((t = t / i - 1) * t * t * t - 1) + n
			},
			easeInOutQuart: function (e, t, n, r, i) {
				return (t /= i / 2) < 1 ? r / 2 * t * t * t * t + n : -r / 2 * ((t -= 2) * t * t * t - 2) + n
			},
			easeInQuint: function (e, t, n, r, i) {
				return r * (t /= i) * t * t * t * t + n
			},
			easeOutQuint: function (e, t, n, r, i) {
				return r * ((t = t / i - 1) * t * t * t * t + 1) + n
			},
			easeInOutQuint: function (e, t, n, r, i) {
				return (t /= i / 2) < 1 ? r / 2 * t * t * t * t * t + n : r / 2 * ((t -= 2) * t * t * t * t + 2) + n
			},
			easeInSine: function (e, t, n, r, i) {
				return -r * Math.cos(t / i * (Math.PI / 2)) + r + n
			},
			easeOutSine: function (e, t, n, r, i) {
				return r * Math.sin(t / i * (Math.PI / 2)) + n
			},
			easeInOutSine: function (e, t, n, r, i) {
				return -r / 2 * (Math.cos(Math.PI * t / i) - 1) + n
			},
			easeInExpo: function (e, t, n, r, i) {
				return 0 == t ? n : r * Math.pow(2, 10 * (t / i - 1)) + n
			},
			easeOutExpo: function (e, t, n, r, i) {
				return t == i ? n + r : r * (-Math.pow(2, -10 * t / i) + 1) + n
			},
			easeInOutExpo: function (e, t, n, r, i) {
				return 0 == t ? n : t == i ? n + r : (t /= i / 2) < 1 ? r / 2 * Math.pow(2, 10 * (t - 1)) + n : r / 2 * (-Math.pow(2, -10 * --t) + 2) + n
			},
			easeInCirc: function (e, t, n, r, i) {
				return -r * (Math.sqrt(1 - (t /= i) * t) - 1) + n
			},
			easeOutCirc: function (e, t, n, r, i) {
				return r * Math.sqrt(1 - (t = t / i - 1) * t) + n
			},
			easeInOutCirc: function (e, t, n, r, i) {
				return (t /= i / 2) < 1 ? -r / 2 * (Math.sqrt(1 - t * t) - 1) + n : r / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + n
			},
			easeInElastic: function (e, t, n, r, i) {
				var o = 1.70158,
					s = 0,
					a = r;
				if (0 == t) return n;
				if (1 == (t /= i)) return n + r;
				if (s || (s = .3 * i), a < Math.abs(r)) {
					a = r;
					var o = s / 4
				} else var o = s / (2 * Math.PI) * Math.asin(r / a);
				return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * i - o) * (2 * Math.PI) / s)) + n
			},
			easeOutElastic: function (e, t, n, r, i) {
				var o = 1.70158,
					s = 0,
					a = r;
				if (0 == t) return n;
				if (1 == (t /= i)) return n + r;
				if (s || (s = .3 * i), a < Math.abs(r)) {
					a = r;
					var o = s / 4
				} else var o = s / (2 * Math.PI) * Math.asin(r / a);
				return a * Math.pow(2, -10 * t) * Math.sin((t * i - o) * (2 * Math.PI) / s) + r + n
			},
			easeInOutElastic: function (e, t, n, r, i) {
				var o = 1.70158,
					s = 0,
					a = r;
				if (0 == t) return n;
				if (2 == (t /= i / 2)) return n + r;
				if (s || (s = i * (.3 * 1.5)), a < Math.abs(r)) {
					a = r;
					var o = s / 4
				} else var o = s / (2 * Math.PI) * Math.asin(r / a);
				return t < 1 ? -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * i - o) * (2 * Math.PI) / s)) + n : a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * i - o) * (2 * Math.PI) / s) * .5 + r + n
			},
			easeInBack: function (e, t, n, r, i, o) {
				return void 0 == o && (o = 1.70158), r * (t /= i) * t * ((o + 1) * t - o) + n
			},
			easeOutBack: function (e, t, n, r, i, o) {
				return void 0 == o && (o = 1.70158), r * ((t = t / i - 1) * t * ((o + 1) * t + o) + 1) + n
			},
			easeInOutBack: function (e, t, n, r, i, o) {
				return void 0 == o && (o = 1.70158), (t /= i / 2) < 1 ? r / 2 * (t * t * (((o *= 1.525) + 1) * t - o)) + n : r / 2 * ((t -= 2) * t * (((o *= 1.525) + 1) * t + o) + 2) + n
			},
			easeInBounce: function (e, t, n, r, i) {
				return r - jQuery.easing.easeOutBounce(e, i - t, 0, r, i) + n
			},
			easeOutBounce: function (e, t, n, r, i) {
				return (t /= i) < 1 / 2.75 ? r * (7.5625 * t * t) + n : t < 2 / 2.75 ? r * (7.5625 * (t -= 1.5 / 2.75) * t + .75) + n : t < 2.5 / 2.75 ? r * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) + n : r * (7.5625 * (t -= 2.625 / 2.75) * t + .984375) + n
			},
			easeInOutBounce: function (e, t, n, r, i) {
				return t < i / 2 ? .5 * jQuery.easing.easeInBounce(e, 2 * t, 0, r, i) + n : .5 * jQuery.easing.easeOutBounce(e, 2 * t - i, 0, r, i) + .5 * r + n
			}
		})
	}, {}],
	9: [function (e, t, n) {
		"use strict";
		! function (e) {
			e.fn.textshuffle = function (t) {
				var n = {
						str: "",
						waitChar: "-",
						charSpeed: 2,
						moveFix: 1,
						moveRange: 10,
						moveTrigger: 12,
						fps: 60
					},
					r = e.extend(n, t);
				return this.each(function (t) {
					var n, i, o, s, a, u, l, c, f, d = 33,
						h = 126,
						p = function () {
							l = u, c = !0;
							for (var e = a; e <= s; e++) {
								if (0 != o[e] && null != o[e]) {
									c = !1;
									var t = o[e];
									if (Math.abs(t) <= r.moveTrigger) {
										var p = Math.min(Math.max(i.charCodeAt(e) + t, d), h);
										l += String.fromCharCode(p)
									} else l += r.waitChar;
									t > 0 ? o[e] -= 1 : o[e] += 1
								} else a == e - 1 && (a = e, u = i.substring(0, a)), l += i.charAt(e);
								n.get(0).textContent = l
							}
							s <= i.length ? s += r.charSpeed : f = !0, c && f && (clearInterval(n.data("id")), n.html(n.data("html")), n.data("run", !1))
						};
					if (n = e(this), n.data("run") || n.data("html", n.html()), n.data("run", !0), n.html(r.str), r.str = n.text(), n.html(r.waitChar), r.str) {
						i = r.str, o = [];
						for (var g = 0; g <= r.str.length - 1; g++) {
							var m = i.charAt(t);
							" " != m ? o[g] = (r.moveFix + Math.round(Math.random() * r.moveRange)) * (Math.round(Math.random()) - .5) * 2 : o[g] = 0
						}
						s = 0, a = 0, u = "", clearInterval(n.data("id"));
						var v = setInterval(p, 1e3 / r.fps);
						n.data("id", v)
					}
				})
			}
		}(jQuery)
	}, {}],
	10: [function (e, t, n) {
		"use strict";
		location.href.indexOf("//mr-design.jp") > -1 && (window.console = {
			log: function () {},
			error: function () {},
			dir: function () {},
			time: function () {},
			timeEnd: function () {},
			info: function () {},
			group: function () {},
			warn: function () {},
			trace: function () {},
			debug: function () {}
		}), window.localStorage || (window.localStorage = {});
		e("$es6/Constants.js");
		window.jQuery = e("jquery"), window.$ = window.jQuery, e("$es6/libs/jquery.easing.1.3"), /iPad/.test(navigator.userAgent) && $("meta[name='viewport']").attr("content", "width=device-width, initial-scale=1.0"), $(function () {
			new(e("$es6/utils/MediaSwitch.js")), new(e("$es6/utils/TextEffect.js")), new(e("$es6/utils/MouseOverEffect.js")), new(e("$es6/common/Footer.js")), $("html#top").length > 0 && new(e("$es6/Top.js")), ($("html#products").length > 0 || $("html#works").length > 0) && new(e("$es6/common/ImageList.js")), ($("html#works-detail").length > 0 || $("html#products-detail").length > 0) && new(e("$es6/common/Grid.js")), $("html#about").length > 0 && new(e("$es6/common/GoogleMaps.js"))(["gmap0", "gmap1"]), $("html#contact").length > 0 && new(e("$es6/Contact.js")), $("html.mobile").length > 0 && new(e("$es6/common/SpMenu.js"))
		})
	}, {
		"$es6/Constants.js": 1,
		"$es6/Contact.js": 2,
		"$es6/Top.js": 3,
		"$es6/common/Footer.js": 4,
		"$es6/common/GoogleMaps.js": 5,
		"$es6/common/Grid.js": 6,
		"$es6/common/ImageList.js": 7,
		"$es6/common/SpMenu.js": 8,
		"$es6/libs/jquery.easing.1.3": "C:\\Users\\bouze\\Dropbox\\tha\\works\\1508 MR_DESIGN\\dev\\site2\\dev\\assets\\es6\\libs\\jquery.easing.1.3",
		"$es6/utils/MediaSwitch.js": 11,
		"$es6/utils/MouseOverEffect.js": 12,
		"$es6/utils/TextEffect.js": 14,
		jquery: "jquery"
	}],
	11: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
				function e(e, t) {
					for (var n = 0; n < t.length; n++) {
						var r = t[n];
						r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
					}
				}
				return function (t, n, r) {
					return n && e(t.prototype, n), r && e(t, r), t
				}
			}(),
			o = e("$es6/Constants.js");
		t.exports = function () {
			function e() {
				r(this, e), console.info("MediaSwitch.constructor"), this.$window = $(window);
				var t = this.getWidthInnerWidth();
				this.isMobile = t <= o.MAX_WIDTH_MOBILE, this.isMobile ? ($("html").addClass("mobile"), $("html").removeClass("desktop")) : ($("html").removeClass("mobile"), $("html").addClass("desktop")), this.$window.on("resize", this, this.resizeHandler), this.resizeHandler()
			}
			return i(e, [{
				key: "resizeHandler",
				value: function (e) {
					console.info("MediaSwitch.resizeHandler");
					var t = e ? e.data : this,
						n = t.getWidthInnerWidth(),
						r = n <= o.MAX_WIDTH_MOBILE;
					t.isMobile != r && (t.isMobile = r, t.isMobile ? ($("html").addClass("mobile"), $("html").removeClass("desktop")) : ($("html").removeClass("mobile"), $("html").addClass("desktop")), t.onMediaChange && t.onMediaChange())
				}
			}, {
				key: "getWidthInnerWidth",
				value: function () {
					return document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth
				}
			}, {
				key: "dispose",
				value: function () {
					this.$window.off("resize", this.resizeHandler), this.$window = null, this.isMobile = null
				}
			}]), e
		}()
	}, {
		"$es6/Constants.js": 1
	}],
	12: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		t.exports = function () {
			function e() {
				r(this, e), console.info("MouseOverEffect.constructor");
				this.$targets = $(".mouse-over-effect"), this.$html = $("html"), $(document).on("mouseenter", ".mouse-over-effect", this.mouseEnterHandler1.bind(this)), $(document).on("mouseenter", ".mouse-over-effect-strong", this.mouseEnterHandler2.bind(this))
			}
			return i(e, [{
				key: "mouseEnterHandler1",
				value: function (e) {
					this.$html.hasClass("desktop") && $(e.currentTarget).stop().fadeTo(0, .5).fadeTo(200, 1)
				}
			}, {
				key: "mouseEnterHandler2",
				value: function (e) {
					this.$html.hasClass("desktop") && $(e.currentTarget).stop().fadeTo(0, 0).fadeTo(200, 1)
				}
			}]), e
		}()
	}, {}],
	13: [function (e, t, n) {
		"use strict";
		t.exports = {
			range: function (e, t) {
				var n = !(arguments.length <= 2 || void 0 === arguments[2]) && arguments[2];
				return n ? Math.round(Math.random() * (t - e) + e) : Math.random() * (t - e) + e
			},
			choice: function (e) {
				var t = this.range(0, e.length - 1, !0);
				return e[t]
			},
			chance: function (e, t) {
				for (var n = MathUtil.sum(t), r = this.range(0, n), i = 0, o = 0; o < e.length; o++)
					if (i = 0 !== o ? i + t[o - 1] : 0, i < r && r < i + t[o]) return e[o]
			},
			trueOrFalse: function () {
				var e = arguments.length <= 0 || void 0 === arguments[0] ? .5 : arguments[0];
				return Math.random() < e
			},
			zeroOrOne: function () {
				var e = arguments.length <= 0 || void 0 === arguments[0] ? .5 : arguments[0];
				return Math.random() < e ? 0 : 1
			},
			minusOrPlus: function () {
				var e = arguments.length <= 0 || void 0 === arguments[0] ? .5 : arguments[0];
				return Math.random() < e ? -1 : 1
			}
		}
	}, {}],
	14: [function (e, t, n) {
		"use strict";

		function r(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
		}
		var i = function () {
			function e(e, t) {
				for (var n = 0; n < t.length; n++) {
					var r = t[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
				}
			}
			return function (t, n, r) {
				return n && e(t.prototype, n), r && e(t, r), t
			}
		}();
		e("$es6/libs/jquery.textshuffle.js"), t.exports = function () {
			function e() {
				r(this, e), console.info("TextEffect.constructor");
				var t = this;
				this.$targets = $(".text-effect"), this.$html = $("html"), $(".text-effect").each(function (e, n) {
					$(n).parent().on("mouseenter", t, t.mouseEnterHandler)
				})
			}
			return i(e, [{
				key: "mouseEnterHandler",
				value: function (e) {
					$(this).find(".text-effect").each(function (t, n) {
						e.data.$html.hasClass("desktop") && $(n).textshuffle({
							str: $(n).attr("data-text")
						})
					})
				}
			}, {
				key: "fastIntro",
				value: function () {
					console.info("TextEffect.fastIntro"), $(".text-effect").css("visibility", "visible")
				}
			}, {
				key: "dispose",
				value: function () {
					console.info("TextEffect.dispose"), this.$targets && this.$targets.each(function (e, t) {
						$(t).parent().off("mouseenter", this.mouseEnterHandler)
					}), this.$targets = null
				}
			}]), e
		}()
	}, {
		"$es6/libs/jquery.textshuffle.js": 9
	}],
	jquery: [function (e, t, n) {
		/*!
		 * jQuery JavaScript Library v2.2.4
		 * http://jquery.com/
		 *
		 * Includes Sizzle.js
		 * http://sizzlejs.com/
		 *
		 * Copyright jQuery Foundation and other contributors
		 * Released under the MIT license
		 * http://jquery.org/license
		 *
		 * Date: 2016-05-20T17:23Z
		 */
		! function (e, n) {
			"object" == typeof t && "object" == typeof t.exports ? t.exports = e.document ? n(e, !0) : function (e) {
				if (!e.document) throw new Error("jQuery requires a window with a document");
				return n(e)
			} : n(e)
		}("undefined" != typeof window ? window : this, function (e, t) {
			function n(e) {
				var t = !!e && "length" in e && e.length,
					n = oe.type(e);
				return "function" !== n && !oe.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
			}

			function r(e, t, n) {
				if (oe.isFunction(t)) return oe.grep(e, function (e, r) {
					return !!t.call(e, r, e) !== n
				});
				if (t.nodeType) return oe.grep(e, function (e) {
					return e === t !== n
				});
				if ("string" == typeof t) {
					if (ge.test(t)) return oe.filter(t, e, n);
					t = oe.filter(t, e)
				}
				return oe.grep(e, function (e) {
					return Z.call(t, e) > -1 !== n
				})
			}

			function i(e, t) {
				for (;
					(e = e[t]) && 1 !== e.nodeType;);
				return e
			}

			function o(e) {
				var t = {};
				return oe.each(e.match(we) || [], function (e, n) {
					t[n] = !0
				}), t
			}

			function s() {
				Y.removeEventListener("DOMContentLoaded", s), e.removeEventListener("load", s), oe.ready()
			}

			function a() {
				this.expando = oe.expando + a.uid++
			}

			function u(e, t, n) {
				var r;
				if (void 0 === n && 1 === e.nodeType)
					if (r = "data-" + t.replace(je, "-$&").toLowerCase(), n = e.getAttribute(r), "string" == typeof n) {
						try {
							n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : Se.test(n) ? oe.parseJSON(n) : n)
						} catch (i) {}
						Ee.set(e, t, n)
					} else n = void 0;
				return n
			}

			function l(e, t, n, r) {
				var i, o = 1,
					s = 20,
					a = r ? function () {
						return r.cur()
					} : function () {
						return oe.css(e, t, "")
					},
					u = a(),
					l = n && n[3] || (oe.cssNumber[t] ? "" : "px"),
					c = (oe.cssNumber[t] || "px" !== l && +u) && He.exec(oe.css(e, t));
				if (c && c[3] !== l) {
					l = l || c[3], n = n || [], c = +u || 1;
					do o = o || ".5", c /= o, oe.style(e, t, c + l); while (o !== (o = a() / u) && 1 !== o && --s)
				}
				return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i
			}

			function c(e, t) {
				var n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
				return void 0 === t || t && oe.nodeName(e, t) ? oe.merge([e], n) : n
			}

			function f(e, t) {
				for (var n = 0, r = e.length; n < r; n++) ke.set(e[n], "globalEval", !t || ke.get(t[n], "globalEval"))
			}

			function d(e, t, n, r, i) {
				for (var o, s, a, u, l, d, h = t.createDocumentFragment(), p = [], g = 0, m = e.length; g < m; g++)
					if (o = e[g], o || 0 === o)
						if ("object" === oe.type(o)) oe.merge(p, o.nodeType ? [o] : o);
						else if (Le.test(o)) {
					for (s = s || h.appendChild(t.createElement("div")), a = (Oe.exec(o) || ["", ""])[1].toLowerCase(), u = Ie[a] || Ie._default, s.innerHTML = u[1] + oe.htmlPrefilter(o) + u[2], d = u[0]; d--;) s = s.lastChild;
					oe.merge(p, s.childNodes), s = h.firstChild, s.textContent = ""
				} else p.push(t.createTextNode(o));
				for (h.textContent = "", g = 0; o = p[g++];)
					if (r && oe.inArray(o, r) > -1) i && i.push(o);
					else if (l = oe.contains(o.ownerDocument, o), s = c(h.appendChild(o), "script"), l && f(s), n)
					for (d = 0; o = s[d++];) qe.test(o.type || "") && n.push(o);
				return h
			}

			function h() {
				return !0
			}

			function p() {
				return !1
			}

			function g() {
				try {
					return Y.activeElement
				} catch (e) {}
			}

			function m(e, t, n, r, i, o) {
				var s, a;
				if ("object" == typeof t) {
					"string" != typeof n && (r = r || n, n = void 0);
					for (a in t) m(e, a, n, r, t[a], o);
					return e
				}
				if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), i === !1) i = p;
				else if (!i) return e;
				return 1 === o && (s = i, i = function (e) {
					return oe().off(e), s.apply(this, arguments)
				}, i.guid = s.guid || (s.guid = oe.guid++)), e.each(function () {
					oe.event.add(this, t, i, r, n)
				})
			}

			function v(e, t) {
				return oe.nodeName(e, "table") && oe.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
			}

			function y(e) {
				return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
			}

			function b(e) {
				var t = _e.exec(e.type);
				return t ? e.type = t[1] : e.removeAttribute("type"), e
			}

			function x(e, t) {
				var n, r, i, o, s, a, u, l;
				if (1 === t.nodeType) {
					if (ke.hasData(e) && (o = ke.access(e), s = ke.set(t, o), l = o.events)) {
						delete s.handle, s.events = {};
						for (i in l)
							for (n = 0, r = l[i].length; n < r; n++) oe.event.add(t, i, l[i][n])
					}
					Ee.hasData(e) && (a = Ee.access(e), u = oe.extend({}, a), Ee.set(t, u))
				}
			}

			function w(e, t) {
				var n = t.nodeName.toLowerCase();
				"input" === n && Ae.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
			}

			function $(e, t, n, r) {
				t = J.apply([], t);
				var i, o, s, a, u, l, f = 0,
					h = e.length,
					p = h - 1,
					g = t[0],
					m = oe.isFunction(g);
				if (m || h > 1 && "string" == typeof g && !re.checkClone && Be.test(g)) return e.each(function (i) {
					var o = e.eq(i);
					m && (t[0] = g.call(this, i, o.html())), $(o, t, n, r)
				});
				if (h && (i = d(t, e[0].ownerDocument, !1, e, r), o = i.firstChild, 1 === i.childNodes.length && (i = o), o || r)) {
					for (s = oe.map(c(i, "script"), y), a = s.length; f < h; f++) u = i, f !== p && (u = oe.clone(u, !0, !0), a && oe.merge(s, c(u, "script"))), n.call(e[f], u, f);
					if (a)
						for (l = s[s.length - 1].ownerDocument, oe.map(s, b), f = 0; f < a; f++) u = s[f], qe.test(u.type || "") && !ke.access(u, "globalEval") && oe.contains(l, u) && (u.src ? oe._evalUrl && oe._evalUrl(u.src) : oe.globalEval(u.textContent.replace(Ge, "")))
				}
				return e
			}

			function C(e, t, n) {
				for (var r, i = t ? oe.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || oe.cleanData(c(r)), r.parentNode && (n && oe.contains(r.ownerDocument, r) && f(c(r, "script")), r.parentNode.removeChild(r));
				return e
			}

			function T(e, t) {
				var n = oe(t.createElement(e)).appendTo(t.body),
					r = oe.css(n[0], "display");
				return n.detach(), r
			}

			function k(e) {
				var t = Y,
					n = Qe[e];
				return n || (n = T(e, t), "none" !== n && n || (Xe = (Xe || oe("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = Xe[0].contentDocument, t.write(), t.close(), n = T(e, t), Xe.detach()), Qe[e] = n), n
			}

			function E(e, t, n) {
				var r, i, o, s, a = e.style;
				return n = n || Ve(e), s = n ? n.getPropertyValue(t) || n[t] : void 0, "" !== s && void 0 !== s || oe.contains(e.ownerDocument, e) || (s = oe.style(e, t)), n && !re.pixelMarginRight() && Ye.test(s) && Ue.test(t) && (r = a.width, i = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = r, a.minWidth = i, a.maxWidth = o), void 0 !== s ? s + "" : s
			}

			function S(e, t) {
				return {
					get: function () {
						return e() ? void delete this.get : (this.get = t).apply(this, arguments)
					}
				}
			}

			function j(e) {
				if (e in rt) return e;
				for (var t = e[0].toUpperCase() + e.slice(1), n = nt.length; n--;)
					if (e = nt[n] + t, e in rt) return e
			}

			function M(e, t, n) {
				var r = He.exec(t);
				return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
			}

			function H(e, t, n, r, i) {
				for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; o < 4; o += 2) "margin" === n && (s += oe.css(e, n + Ne[o], !0, i)), r ? ("content" === n && (s -= oe.css(e, "padding" + Ne[o], !0, i)), "margin" !== n && (s -= oe.css(e, "border" + Ne[o] + "Width", !0, i))) : (s += oe.css(e, "padding" + Ne[o], !0, i), "padding" !== n && (s += oe.css(e, "border" + Ne[o] + "Width", !0, i)));
				return s
			}

			function N(e, t, n) {
				var r = !0,
					i = "width" === t ? e.offsetWidth : e.offsetHeight,
					o = Ve(e),
					s = "border-box" === oe.css(e, "boxSizing", !1, o);
				if (i <= 0 || null == i) {
					if (i = E(e, t, o), (i < 0 || null == i) && (i = e.style[t]), Ye.test(i)) return i;
					r = s && (re.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0
				}
				return i + H(e, t, n || (s ? "border" : "content"), r, o) + "px"
			}

			function D(e, t) {
				for (var n, r, i, o = [], s = 0, a = e.length; s < a; s++) r = e[s], r.style && (o[s] = ke.get(r, "olddisplay"), n = r.style.display, t ? (o[s] || "none" !== n || (r.style.display = ""), "" === r.style.display && De(r) && (o[s] = ke.access(r, "olddisplay", k(r.nodeName)))) : (i = De(r), "none" === n && i || ke.set(r, "olddisplay", i ? n : oe.css(r, "display"))));
				for (s = 0; s < a; s++) r = e[s], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[s] || "" : "none"));
				return e
			}

			function A(e, t, n, r, i) {
				return new A.prototype.init(e, t, n, r, i)
			}

			function O() {
				return e.setTimeout(function () {
					it = void 0
				}), it = oe.now()
			}

			function q(e, t) {
				var n, r = 0,
					i = {
						height: e
					};
				for (t = t ? 1 : 0; r < 4; r += 2 - t) n = Ne[r], i["margin" + n] = i["padding" + n] = e;
				return t && (i.opacity = i.width = e), i
			}

			function I(e, t, n) {
				for (var r, i = (F.tweeners[t] || []).concat(F.tweeners["*"]), o = 0, s = i.length; o < s; o++)
					if (r = i[o].call(n, t, e)) return r
			}

			function L(e, t, n) {
				var r, i, o, s, a, u, l, c, f = this,
					d = {},
					h = e.style,
					p = e.nodeType && De(e),
					g = ke.get(e, "fxshow");
				n.queue || (a = oe._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, a.empty.fire = function () {
					a.unqueued || u()
				}), a.unqueued++, f.always(function () {
					f.always(function () {
						a.unqueued--, oe.queue(e, "fx").length || a.empty.fire()
					})
				})), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [h.overflow, h.overflowX, h.overflowY], l = oe.css(e, "display"), c = "none" === l ? ke.get(e, "olddisplay") || k(e.nodeName) : l, "inline" === c && "none" === oe.css(e, "float") && (h.display = "inline-block")), n.overflow && (h.overflow = "hidden", f.always(function () {
					h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]
				}));
				for (r in t)
					if (i = t[r], st.exec(i)) {
						if (delete t[r], o = o || "toggle" === i, i === (p ? "hide" : "show")) {
							if ("show" !== i || !g || void 0 === g[r]) continue;
							p = !0
						}
						d[r] = g && g[r] || oe.style(e, r)
					} else l = void 0;
				if (oe.isEmptyObject(d)) "inline" === ("none" === l ? k(e.nodeName) : l) && (h.display = l);
				else {
					g ? "hidden" in g && (p = g.hidden) : g = ke.access(e, "fxshow", {}), o && (g.hidden = !p), p ? oe(e).show() : f.done(function () {
						oe(e).hide()
					}), f.done(function () {
						var t;
						ke.remove(e, "fxshow");
						for (t in d) oe.style(e, t, d[t])
					});
					for (r in d) s = I(p ? g[r] : 0, r, f), r in g || (g[r] = s.start, p && (s.end = s.start, s.start = "width" === r || "height" === r ? 1 : 0))
				}
			}

			function P(e, t) {
				var n, r, i, o, s;
				for (n in e)
					if (r = oe.camelCase(n), i = t[r], o = e[n], oe.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), s = oe.cssHooks[r], s && "expand" in s) {
						o = s.expand(o), delete e[r];
						for (n in o) n in e || (e[n] = o[n], t[n] = i)
					} else t[r] = i
			}

			function F(e, t, n) {
				var r, i, o = 0,
					s = F.prefilters.length,
					a = oe.Deferred().always(function () {
						delete u.elem
					}),
					u = function () {
						if (i) return !1;
						for (var t = it || O(), n = Math.max(0, l.startTime + l.duration - t), r = n / l.duration || 0, o = 1 - r, s = 0, u = l.tweens.length; s < u; s++) l.tweens[s].run(o);
						return a.notifyWith(e, [l, o, n]), o < 1 && u ? n : (a.resolveWith(e, [l]), !1)
					},
					l = a.promise({
						elem: e,
						props: oe.extend({}, t),
						opts: oe.extend(!0, {
							specialEasing: {},
							easing: oe.easing._default
						}, n),
						originalProperties: t,
						originalOptions: n,
						startTime: it || O(),
						duration: n.duration,
						tweens: [],
						createTween: function (t, n) {
							var r = oe.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
							return l.tweens.push(r), r
						},
						stop: function (t) {
							var n = 0,
								r = t ? l.tweens.length : 0;
							if (i) return this;
							for (i = !0; n < r; n++) l.tweens[n].run(1);
							return t ? (a.notifyWith(e, [l, 1, 0]), a.resolveWith(e, [l, t])) : a.rejectWith(e, [l, t]), this
						}
					}),
					c = l.props;
				for (P(c, l.opts.specialEasing); o < s; o++)
					if (r = F.prefilters[o].call(l, e, c, l.opts)) return oe.isFunction(r.stop) && (oe._queueHooks(l.elem, l.opts.queue).stop = oe.proxy(r.stop, r)), r;
				return oe.map(c, I, l), oe.isFunction(l.opts.start) && l.opts.start.call(e, l), oe.fx.timer(oe.extend(u, {
					elem: e,
					anim: l,
					queue: l.opts.queue
				})), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
			}

			function R(e) {
				return e.getAttribute && e.getAttribute("class") || ""
			}

			function z(e) {
				return function (t, n) {
					"string" != typeof t && (n = t, t = "*");
					var r, i = 0,
						o = t.toLowerCase().match(we) || [];
					if (oe.isFunction(n))
						for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
				}
			}

			function W(e, t, n, r) {
				function i(a) {
					var u;
					return o[a] = !0, oe.each(e[a] || [], function (e, a) {
						var l = a(t, n, r);
						return "string" != typeof l || s || o[l] ? s ? !(u = l) : void 0 : (t.dataTypes.unshift(l), i(l), !1)
					}), u
				}
				var o = {},
					s = e === Et;
				return i(t.dataTypes[0]) || !o["*"] && i("*")
			}

			function B(e, t) {
				var n, r, i = oe.ajaxSettings.flatOptions || {};
				for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
				return r && oe.extend(!0, e, r), e
			}

			function _(e, t, n) {
				for (var r, i, o, s, a = e.contents, u = e.dataTypes;
					"*" === u[0];) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
				if (r)
					for (i in a)
						if (a[i] && a[i].test(r)) {
							u.unshift(i);
							break
						}
				if (u[0] in n) o = u[0];
				else {
					for (i in n) {
						if (!u[0] || e.converters[i + " " + u[0]]) {
							o = i;
							break
						}
						s || (s = i)
					}
					o = o || s
				}
				if (o) return o !== u[0] && u.unshift(o), n[o]
			}

			function G(e, t, n, r) {
				var i, o, s, a, u, l = {},
					c = e.dataTypes.slice();
				if (c[1])
					for (s in e.converters) l[s.toLowerCase()] = e.converters[s];
				for (o = c.shift(); o;)
					if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
						if ("*" === o) o = u;
						else if ("*" !== u && u !== o) {
					if (s = l[u + " " + o] || l["* " + o], !s)
						for (i in l)
							if (a = i.split(" "), a[1] === o && (s = l[u + " " + a[0]] || l["* " + a[0]])) {
								s === !0 ? s = l[i] : l[i] !== !0 && (o = a[0], c.unshift(a[1]));
								break
							}
					if (s !== !0)
						if (s && e["throws"]) t = s(t);
						else try {
							t = s(t)
						} catch (f) {
							return {
								state: "parsererror",
								error: s ? f : "No conversion from " + u + " to " + o
							}
						}
				}
				return {
					state: "success",
					data: t
				}
			}

			function X(e, t, n, r) {
				var i;
				if (oe.isArray(t)) oe.each(t, function (t, i) {
					n || Ht.test(e) ? r(e, i) : X(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r)
				});
				else if (n || "object" !== oe.type(t)) r(e, t);
				else
					for (i in t) X(e + "[" + i + "]", t[i], n, r)
			}

			function Q(e) {
				return oe.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
			}
			var U = [],
				Y = e.document,
				V = U.slice,
				J = U.concat,
				K = U.push,
				Z = U.indexOf,
				ee = {},
				te = ee.toString,
				ne = ee.hasOwnProperty,
				re = {},
				ie = "2.2.4",
				oe = function (e, t) {
					return new oe.fn.init(e, t)
				},
				se = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
				ae = /^-ms-/,
				ue = /-([\da-z])/gi,
				le = function (e, t) {
					return t.toUpperCase()
				};
			oe.fn = oe.prototype = {
				jquery: ie,
				constructor: oe,
				selector: "",
				length: 0,
				toArray: function () {
					return V.call(this)
				},
				get: function (e) {
					return null != e ? e < 0 ? this[e + this.length] : this[e] : V.call(this)
				},
				pushStack: function (e) {
					var t = oe.merge(this.constructor(), e);
					return t.prevObject = this, t.context = this.context, t
				},
				each: function (e) {
					return oe.each(this, e)
				},
				map: function (e) {
					return this.pushStack(oe.map(this, function (t, n) {
						return e.call(t, n, t)
					}))
				},
				slice: function () {
					return this.pushStack(V.apply(this, arguments))
				},
				first: function () {
					return this.eq(0)
				},
				last: function () {
					return this.eq(-1)
				},
				eq: function (e) {
					var t = this.length,
						n = +e + (e < 0 ? t : 0);
					return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
				},
				end: function () {
					return this.prevObject || this.constructor()
				},
				push: K,
				sort: U.sort,
				splice: U.splice
			}, oe.extend = oe.fn.extend = function () {
				var e, t, n, r, i, o, s = arguments[0] || {},
					a = 1,
					u = arguments.length,
					l = !1;
				for ("boolean" == typeof s && (l = s, s = arguments[a] || {}, a++), "object" == typeof s || oe.isFunction(s) || (s = {}), a === u && (s = this, a--); a < u; a++)
					if (null != (e = arguments[a]))
						for (t in e) n = s[t], r = e[t], s !== r && (l && r && (oe.isPlainObject(r) || (i = oe.isArray(r))) ? (i ? (i = !1, o = n && oe.isArray(n) ? n : []) : o = n && oe.isPlainObject(n) ? n : {}, s[t] = oe.extend(l, o, r)) : void 0 !== r && (s[t] = r));
				return s
			}, oe.extend({
				expando: "jQuery" + (ie + Math.random()).replace(/\D/g, ""),
				isReady: !0,
				error: function (e) {
					throw new Error(e)
				},
				noop: function () {},
				isFunction: function (e) {
					return "function" === oe.type(e)
				},
				isArray: Array.isArray,
				isWindow: function (e) {
					return null != e && e === e.window
				},
				isNumeric: function (e) {
					var t = e && e.toString();
					return !oe.isArray(e) && t - parseFloat(t) + 1 >= 0
				},
				isPlainObject: function (e) {
					var t;
					if ("object" !== oe.type(e) || e.nodeType || oe.isWindow(e)) return !1;
					if (e.constructor && !ne.call(e, "constructor") && !ne.call(e.constructor.prototype || {}, "isPrototypeOf")) return !1;
					for (t in e);
					return void 0 === t || ne.call(e, t)
				},
				isEmptyObject: function (e) {
					var t;
					for (t in e) return !1;
					return !0
				},
				type: function (e) {
					return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? ee[te.call(e)] || "object" : typeof e
				},
				globalEval: function (e) {
					var t, n = eval;
					e = oe.trim(e), e && (1 === e.indexOf("use strict") ? (t = Y.createElement("script"), t.text = e, Y.head.appendChild(t).parentNode.removeChild(t)) : n(e))
				},
				camelCase: function (e) {
					return e.replace(ae, "ms-").replace(ue, le)
				},
				nodeName: function (e, t) {
					return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
				},
				each: function (e, t) {
					var r, i = 0;
					if (n(e))
						for (r = e.length; i < r && t.call(e[i], i, e[i]) !== !1; i++);
					else
						for (i in e)
							if (t.call(e[i], i, e[i]) === !1) break; return e
				},
				trim: function (e) {
					return null == e ? "" : (e + "").replace(se, "")
				},
				makeArray: function (e, t) {
					var r = t || [];
					return null != e && (n(Object(e)) ? oe.merge(r, "string" == typeof e ? [e] : e) : K.call(r, e)), r
				},
				inArray: function (e, t, n) {
					return null == t ? -1 : Z.call(t, e, n)
				},
				merge: function (e, t) {
					for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r];
					return e.length = i, e
				},
				grep: function (e, t, n) {
					for (var r, i = [], o = 0, s = e.length, a = !n; o < s; o++) r = !t(e[o], o), r !== a && i.push(e[o]);
					return i
				},
				map: function (e, t, r) {
					var i, o, s = 0,
						a = [];
					if (n(e))
						for (i = e.length; s < i; s++) o = t(e[s], s, r), null != o && a.push(o);
					else
						for (s in e) o = t(e[s], s, r), null != o && a.push(o);
					return J.apply([], a)
				},
				guid: 1,
				proxy: function (e, t) {
					var n, r, i;
					if ("string" == typeof t && (n = e[t], t = e, e = n), oe.isFunction(e)) return r = V.call(arguments, 2), i = function () {
						return e.apply(t || this, r.concat(V.call(arguments)))
					}, i.guid = e.guid = e.guid || oe.guid++, i
				},
				now: Date.now,
				support: re
			}), "function" == typeof Symbol && (oe.fn[Symbol.iterator] = U[Symbol.iterator]), oe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
				ee["[object " + t + "]"] = t.toLowerCase()
			});
			var ce =
				/*!
				 * Sizzle CSS Selector Engine v2.2.1
				 * http://sizzlejs.com/
				 *
				 * Copyright jQuery Foundation and other contributors
				 * Released under the MIT license
				 * http://jquery.org/license
				 *
				 * Date: 2015-10-17
				 */
				function (e) {
					function t(e, t, n, r) {
						var i, o, s, a, u, l, f, h, p = t && t.ownerDocument,
							g = t ? t.nodeType : 9;
						if (n = n || [], "string" != typeof e || !e || 1 !== g && 9 !== g && 11 !== g) return n;
						if (!r && ((t ? t.ownerDocument || t : R) !== D && N(t), t = t || D, O)) {
							if (11 !== g && (l = ve.exec(e)))
								if (i = l[1]) {
									if (9 === g) {
										if (!(s = t.getElementById(i))) return n;
										if (s.id === i) return n.push(s), n
									} else if (p && (s = p.getElementById(i)) && P(t, s) && s.id === i) return n.push(s), n
								} else {
									if (l[2]) return K.apply(n, t.getElementsByTagName(e)), n;
									if ((i = l[3]) && w.getElementsByClassName && t.getElementsByClassName) return K.apply(n, t.getElementsByClassName(i)), n
								}
							if (w.qsa && !G[e + " "] && (!q || !q.test(e))) {
								if (1 !== g) p = t, h = e;
								else if ("object" !== t.nodeName.toLowerCase()) {
									for ((a = t.getAttribute("id")) ? a = a.replace(be, "\\$&") : t.setAttribute("id", a = F), f = k(e), o = f.length, u = de.test(a) ? "#" + a : "[id='" + a + "']"; o--;) f[o] = u + " " + d(f[o]);
									h = f.join(","), p = ye.test(e) && c(t.parentNode) || t
								}
								if (h) try {
									return K.apply(n, p.querySelectorAll(h)), n
								} catch (m) {} finally {
									a === F && t.removeAttribute("id")
								}
							}
						}
						return S(e.replace(ae, "$1"), t, n, r)
					}

					function n() {
						function e(n, r) {
							return t.push(n + " ") > $.cacheLength && delete e[t.shift()], e[n + " "] = r
						}
						var t = [];
						return e
					}

					function r(e) {
						return e[F] = !0, e
					}

					function i(e) {
						var t = D.createElement("div");
						try {
							return !!e(t)
						} catch (n) {
							return !1
						} finally {
							t.parentNode && t.parentNode.removeChild(t), t = null
						}
					}

					function o(e, t) {
						for (var n = e.split("|"), r = n.length; r--;) $.attrHandle[n[r]] = t
					}

					function s(e, t) {
						var n = t && e,
							r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || Q) - (~e.sourceIndex || Q);
						if (r) return r;
						if (n)
							for (; n = n.nextSibling;)
								if (n === t) return -1;
						return e ? 1 : -1
					}

					function a(e) {
						return function (t) {
							var n = t.nodeName.toLowerCase();
							return "input" === n && t.type === e
						}
					}

					function u(e) {
						return function (t) {
							var n = t.nodeName.toLowerCase();
							return ("input" === n || "button" === n) && t.type === e
						}
					}

					function l(e) {
						return r(function (t) {
							return t = +t, r(function (n, r) {
								for (var i, o = e([], n.length, t), s = o.length; s--;) n[i = o[s]] && (n[i] = !(r[i] = n[i]))
							})
						})
					}

					function c(e) {
						return e && "undefined" != typeof e.getElementsByTagName && e
					}

					function f() {}

					function d(e) {
						for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
						return r
					}

					function h(e, t, n) {
						var r = t.dir,
							i = n && "parentNode" === r,
							o = W++;
						return t.first ? function (t, n, o) {
							for (; t = t[r];)
								if (1 === t.nodeType || i) return e(t, n, o)
						} : function (t, n, s) {
							var a, u, l, c = [z, o];
							if (s) {
								for (; t = t[r];)
									if ((1 === t.nodeType || i) && e(t, n, s)) return !0
							} else
								for (; t = t[r];)
									if (1 === t.nodeType || i) {
										if (l = t[F] || (t[F] = {}), u = l[t.uniqueID] || (l[t.uniqueID] = {}), (a = u[r]) && a[0] === z && a[1] === o) return c[2] = a[2];
										if (u[r] = c, c[2] = e(t, n, s)) return !0
									}
						}
					}

					function p(e) {
						return e.length > 1 ? function (t, n, r) {
							for (var i = e.length; i--;)
								if (!e[i](t, n, r)) return !1;
							return !0
						} : e[0]
					}

					function g(e, n, r) {
						for (var i = 0, o = n.length; i < o; i++) t(e, n[i], r);
						return r
					}

					function m(e, t, n, r, i) {
						for (var o, s = [], a = 0, u = e.length, l = null != t; a < u; a++)(o = e[a]) && (n && !n(o, r, i) || (s.push(o), l && t.push(a)));
						return s
					}

					function v(e, t, n, i, o, s) {
						return i && !i[F] && (i = v(i)), o && !o[F] && (o = v(o, s)), r(function (r, s, a, u) {
							var l, c, f, d = [],
								h = [],
								p = s.length,
								v = r || g(t || "*", a.nodeType ? [a] : a, []),
								y = !e || !r && t ? v : m(v, d, e, a, u),
								b = n ? o || (r ? e : p || i) ? [] : s : y;
							if (n && n(y, b, a, u), i)
								for (l = m(b, h), i(l, [], a, u), c = l.length; c--;)(f = l[c]) && (b[h[c]] = !(y[h[c]] = f));
							if (r) {
								if (o || e) {
									if (o) {
										for (l = [], c = b.length; c--;)(f = b[c]) && l.push(y[c] = f);
										o(null, b = [], l, u)
									}
									for (c = b.length; c--;)(f = b[c]) && (l = o ? ee(r, f) : d[c]) > -1 && (r[l] = !(s[l] = f))
								}
							} else b = m(b === s ? b.splice(p, b.length) : b), o ? o(null, s, b, u) : K.apply(s, b)
						})
					}

					function y(e) {
						for (var t, n, r, i = e.length, o = $.relative[e[0].type], s = o || $.relative[" "], a = o ? 1 : 0, u = h(function (e) {
								return e === t
							}, s, !0), l = h(function (e) {
								return ee(t, e) > -1
							}, s, !0), c = [function (e, n, r) {
								var i = !o && (r || n !== j) || ((t = n).nodeType ? u(e, n, r) : l(e, n, r));
								return t = null, i
							}]; a < i; a++)
							if (n = $.relative[e[a].type]) c = [h(p(c), n)];
							else {
								if (n = $.filter[e[a].type].apply(null, e[a].matches), n[F]) {
									for (r = ++a; r < i && !$.relative[e[r].type]; r++);
									return v(a > 1 && p(c), a > 1 && d(e.slice(0, a - 1).concat({
										value: " " === e[a - 2].type ? "*" : ""
									})).replace(ae, "$1"), n, a < r && y(e.slice(a, r)), r < i && y(e = e.slice(r)), r < i && d(e))
								}
								c.push(n)
							}
						return p(c)
					}

					function b(e, n) {
						var i = n.length > 0,
							o = e.length > 0,
							s = function (r, s, a, u, l) {
								var c, f, d, h = 0,
									p = "0",
									g = r && [],
									v = [],
									y = j,
									b = r || o && $.find.TAG("*", l),
									x = z += null == y ? 1 : Math.random() || .1,
									w = b.length;
								for (l && (j = s === D || s || l); p !== w && null != (c = b[p]); p++) {
									if (o && c) {
										for (f = 0, s || c.ownerDocument === D || (N(c), a = !O); d = e[f++];)
											if (d(c, s || D, a)) {
												u.push(c);
												break
											}
										l && (z = x)
									}
									i && ((c = !d && c) && h--, r && g.push(c))
								}
								if (h += p, i && p !== h) {
									for (f = 0; d = n[f++];) d(g, v, s, a);
									if (r) {
										if (h > 0)
											for (; p--;) g[p] || v[p] || (v[p] = V.call(u));
										v = m(v)
									}
									K.apply(u, v), l && !r && v.length > 0 && h + n.length > 1 && t.uniqueSort(u)
								}
								return l && (z = x, j = y), g
							};
						return i ? r(s) : s
					}
					var x, w, $, C, T, k, E, S, j, M, H, N, D, A, O, q, I, L, P, F = "sizzle" + 1 * new Date,
						R = e.document,
						z = 0,
						W = 0,
						B = n(),
						_ = n(),
						G = n(),
						X = function (e, t) {
							return e === t && (H = !0), 0
						},
						Q = 1 << 31,
						U = {}.hasOwnProperty,
						Y = [],
						V = Y.pop,
						J = Y.push,
						K = Y.push,
						Z = Y.slice,
						ee = function (e, t) {
							for (var n = 0, r = e.length; n < r; n++)
								if (e[n] === t) return n;
							return -1
						},
						te = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
						ne = "[\\x20\\t\\r\\n\\f]",
						re = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
						ie = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + re + "))|)" + ne + "*\\]",
						oe = ":(" + re + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ie + ")*)|.*)\\)|)",
						se = new RegExp(ne + "+", "g"),
						ae = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"),
						ue = new RegExp("^" + ne + "*," + ne + "*"),
						le = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"),
						ce = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"),
						fe = new RegExp(oe),
						de = new RegExp("^" + re + "$"),
						he = {
							ID: new RegExp("^#(" + re + ")"),
							CLASS: new RegExp("^\\.(" + re + ")"),
							TAG: new RegExp("^(" + re + "|[*])"),
							ATTR: new RegExp("^" + ie),
							PSEUDO: new RegExp("^" + oe),
							CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"),
							bool: new RegExp("^(?:" + te + ")$", "i"),
							needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i")
						},
						pe = /^(?:input|select|textarea|button)$/i,
						ge = /^h\d$/i,
						me = /^[^{]+\{\s*\[native \w/,
						ve = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
						ye = /[+~]/,
						be = /'|\\/g,
						xe = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"),
						we = function (e, t, n) {
							var r = "0x" + t - 65536;
							return r !== r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
						},
						$e = function () {
							N()
						};
					try {
						K.apply(Y = Z.call(R.childNodes), R.childNodes), Y[R.childNodes.length].nodeType
					} catch (Ce) {
						K = {
							apply: Y.length ? function (e, t) {
								J.apply(e, Z.call(t))
							} : function (e, t) {
								for (var n = e.length, r = 0; e[n++] = t[r++];);
								e.length = n - 1
							}
						}
					}
					w = t.support = {}, T = t.isXML = function (e) {
						var t = e && (e.ownerDocument || e).documentElement;
						return !!t && "HTML" !== t.nodeName
					}, N = t.setDocument = function (e) {
						var t, n, r = e ? e.ownerDocument || e : R;
						return r !== D && 9 === r.nodeType && r.documentElement ? (D = r, A = D.documentElement, O = !T(D), (n = D.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", $e, !1) : n.attachEvent && n.attachEvent("onunload", $e)), w.attributes = i(function (e) {
							return e.className = "i", !e.getAttribute("className")
						}), w.getElementsByTagName = i(function (e) {
							return e.appendChild(D.createComment("")), !e.getElementsByTagName("*").length
						}), w.getElementsByClassName = me.test(D.getElementsByClassName), w.getById = i(function (e) {
							return A.appendChild(e).id = F, !D.getElementsByName || !D.getElementsByName(F).length
						}), w.getById ? ($.find.ID = function (e, t) {
							if ("undefined" != typeof t.getElementById && O) {
								var n = t.getElementById(e);
								return n ? [n] : []
							}
						}, $.filter.ID = function (e) {
							var t = e.replace(xe, we);
							return function (e) {
								return e.getAttribute("id") === t
							}
						}) : (delete $.find.ID, $.filter.ID = function (e) {
							var t = e.replace(xe, we);
							return function (e) {
								var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
								return n && n.value === t
							}
						}), $.find.TAG = w.getElementsByTagName ? function (e, t) {
							return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0
						} : function (e, t) {
							var n, r = [],
								i = 0,
								o = t.getElementsByTagName(e);
							if ("*" === e) {
								for (; n = o[i++];) 1 === n.nodeType && r.push(n);
								return r
							}
							return o
						}, $.find.CLASS = w.getElementsByClassName && function (e, t) {
							if ("undefined" != typeof t.getElementsByClassName && O) return t.getElementsByClassName(e)
						}, I = [], q = [], (w.qsa = me.test(D.querySelectorAll)) && (i(function (e) {
							A.appendChild(e).innerHTML = "<a id='" + F + "'></a><select id='" + F + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + ne + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || q.push("\\[" + ne + "*(?:value|" + te + ")"), e.querySelectorAll("[id~=" + F + "-]").length || q.push("~="), e.querySelectorAll(":checked").length || q.push(":checked"), e.querySelectorAll("a#" + F + "+*").length || q.push(".#.+[+~]")
						}), i(function (e) {
							var t = D.createElement("input");
							t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && q.push("name" + ne + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), q.push(",.*:")
						})), (w.matchesSelector = me.test(L = A.matches || A.webkitMatchesSelector || A.mozMatchesSelector || A.oMatchesSelector || A.msMatchesSelector)) && i(function (e) {
							w.disconnectedMatch = L.call(e, "div"), L.call(e, "[s!='']:x"), I.push("!=", oe)
						}), q = q.length && new RegExp(q.join("|")), I = I.length && new RegExp(I.join("|")), t = me.test(A.compareDocumentPosition), P = t || me.test(A.contains) ? function (e, t) {
							var n = 9 === e.nodeType ? e.documentElement : e,
								r = t && t.parentNode;
							return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
						} : function (e, t) {
							if (t)
								for (; t = t.parentNode;)
									if (t === e) return !0;
							return !1
						}, X = t ? function (e, t) {
							if (e === t) return H = !0, 0;
							var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
							return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === D || e.ownerDocument === R && P(R, e) ? -1 : t === D || t.ownerDocument === R && P(R, t) ? 1 : M ? ee(M, e) - ee(M, t) : 0 : 4 & n ? -1 : 1)
						} : function (e, t) {
							if (e === t) return H = !0, 0;
							var n, r = 0,
								i = e.parentNode,
								o = t.parentNode,
								a = [e],
								u = [t];
							if (!i || !o) return e === D ? -1 : t === D ? 1 : i ? -1 : o ? 1 : M ? ee(M, e) - ee(M, t) : 0;
							if (i === o) return s(e, t);
							for (n = e; n = n.parentNode;) a.unshift(n);
							for (n = t; n = n.parentNode;) u.unshift(n);
							for (; a[r] === u[r];) r++;
							return r ? s(a[r], u[r]) : a[r] === R ? -1 : u[r] === R ? 1 : 0
						}, D) : D
					}, t.matches = function (e, n) {
						return t(e, null, null, n)
					}, t.matchesSelector = function (e, n) {
						if ((e.ownerDocument || e) !== D && N(e), n = n.replace(ce, "='$1']"), w.matchesSelector && O && !G[n + " "] && (!I || !I.test(n)) && (!q || !q.test(n))) try {
							var r = L.call(e, n);
							if (r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
						} catch (i) {}
						return t(n, D, null, [e]).length > 0
					}, t.contains = function (e, t) {
						return (e.ownerDocument || e) !== D && N(e), P(e, t)
					}, t.attr = function (e, t) {
						(e.ownerDocument || e) !== D && N(e);
						var n = $.attrHandle[t.toLowerCase()],
							r = n && U.call($.attrHandle, t.toLowerCase()) ? n(e, t, !O) : void 0;
						return void 0 !== r ? r : w.attributes || !O ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
					}, t.error = function (e) {
						throw new Error("Syntax error, unrecognized expression: " + e)
					}, t.uniqueSort = function (e) {
						var t, n = [],
							r = 0,
							i = 0;
						if (H = !w.detectDuplicates, M = !w.sortStable && e.slice(0), e.sort(X), H) {
							for (; t = e[i++];) t === e[i] && (r = n.push(i));
							for (; r--;) e.splice(n[r], 1)
						}
						return M = null, e
					}, C = t.getText = function (e) {
						var t, n = "",
							r = 0,
							i = e.nodeType;
						if (i) {
							if (1 === i || 9 === i || 11 === i) {
								if ("string" == typeof e.textContent) return e.textContent;
								for (e = e.firstChild; e; e = e.nextSibling) n += C(e)
							} else if (3 === i || 4 === i) return e.nodeValue
						} else
							for (; t = e[r++];) n += C(t);
						return n
					}, $ = t.selectors = {
						cacheLength: 50,
						createPseudo: r,
						match: he,
						attrHandle: {},
						find: {},
						relative: {
							">": {
								dir: "parentNode",
								first: !0
							},
							" ": {
								dir: "parentNode"
							},
							"+": {
								dir: "previousSibling",
								first: !0
							},
							"~": {
								dir: "previousSibling"
							}
						},
						preFilter: {
							ATTR: function (e) {
								return e[1] = e[1].replace(xe, we), e[3] = (e[3] || e[4] || e[5] || "").replace(xe, we), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
							},
							CHILD: function (e) {
								return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.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] && t.error(e[0]), e
							},
							PSEUDO: function (e) {
								var t, n = !e[6] && e[2];
								return he.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && fe.test(n) && (t = k(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
							}
						},
						filter: {
							TAG: function (e) {
								var t = e.replace(xe, we).toLowerCase();
								return "*" === e ? function () {
									return !0
								} : function (e) {
									return e.nodeName && e.nodeName.toLowerCase() === t
								}
							},
							CLASS: function (e) {
								var t = B[e + " "];
								return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && B(e, function (e) {
									return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "")
								})
							},
							ATTR: function (e, n, r) {
								return function (i) {
									var o = t.attr(i, e);
									return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o.replace(se, " ") + " ").indexOf(r) > -1 : "|=" === n && (o === r || o.slice(0, r.length + 1) === r + "-"))
								}
							},
							CHILD: function (e, t, n, r, i) {
								var o = "nth" !== e.slice(0, 3),
									s = "last" !== e.slice(-4),
									a = "of-type" === t;
								return 1 === r && 0 === i ? function (e) {
									return !!e.parentNode
								} : function (t, n, u) {
									var l, c, f, d, h, p, g = o !== s ? "nextSibling" : "previousSibling",
										m = t.parentNode,
										v = a && t.nodeName.toLowerCase(),
										y = !u && !a,
										b = !1;
									if (m) {
										if (o) {
											for (; g;) {
												for (d = t; d = d[g];)
													if (a ? d.nodeName.toLowerCase() === v : 1 === d.nodeType) return !1;
												p = g = "only" === e && !p && "nextSibling"
											}
											return !0
										}
										if (p = [s ? m.firstChild : m.lastChild], s && y) {
											for (d = m, f = d[F] || (d[F] = {}), c = f[d.uniqueID] || (f[d.uniqueID] = {}), l = c[e] || [], h = l[0] === z && l[1], b = h && l[2], d = h && m.childNodes[h]; d = ++h && d && d[g] || (b = h = 0) || p.pop();)
												if (1 === d.nodeType && ++b && d === t) {
													c[e] = [z, h, b];
													break
												}
										} else if (y && (d = t, f = d[F] || (d[F] = {}), c = f[d.uniqueID] || (f[d.uniqueID] = {}), l = c[e] || [], h = l[0] === z && l[1], b = h), b === !1)
											for (;
												(d = ++h && d && d[g] || (b = h = 0) || p.pop()) && ((a ? d.nodeName.toLowerCase() !== v : 1 !== d.nodeType) || !++b || (y && (f = d[F] || (d[F] = {}), c = f[d.uniqueID] || (f[d.uniqueID] = {}), c[e] = [z, b]), d !== t)););
										return b -= i, b === r || b % r === 0 && b / r >= 0
									}
								}
							},
							PSEUDO: function (e, n) {
								var i, o = $.pseudos[e] || $.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
								return o[F] ? o(n) : o.length > 1 ? (i = [e, e, "", n], $.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function (e, t) {
									for (var r, i = o(e, n), s = i.length; s--;) r = ee(e, i[s]), e[r] = !(t[r] = i[s])
								}) : function (e) {
									return o(e, 0, i)
								}) : o
							}
						},
						pseudos: {
							not: r(function (e) {
								var t = [],
									n = [],
									i = E(e.replace(ae, "$1"));
								return i[F] ? r(function (e, t, n, r) {
									for (var o, s = i(e, null, r, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o))
								}) : function (e, r, o) {
									return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop()
								}
							}),
							has: r(function (e) {
								return function (n) {
									return t(e, n).length > 0
								}
							}),
							contains: r(function (e) {
								return e = e.replace(xe, we),
									function (t) {
										return (t.textContent || t.innerText || C(t)).indexOf(e) > -1
									}
							}),
							lang: r(function (e) {
								return de.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(xe, we).toLowerCase(),
									function (t) {
										var n;
										do
											if (n = O ? 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);
										return !1
									}
							}),
							target: function (t) {
								var n = e.location && e.location.hash;
								return n && n.slice(1) === t.id
							},
							root: function (e) {
								return e === A
							},
							focus: function (e) {
								return e === D.activeElement && (!D.hasFocus || D.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
							},
							enabled: function (e) {
								return e.disabled === !1
							},
							disabled: function (e) {
								return e.disabled === !0
							},
							checked: function (e) {
								var t = e.nodeName.toLowerCase();
								return "input" === t && !!e.checked || "option" === t && !!e.selected
							},
							selected: function (e) {
								return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
							},
							empty: function (e) {
								for (e = e.firstChild; e; e = e.nextSibling)
									if (e.nodeType < 6) return !1;
								return !0
							},
							parent: function (e) {
								return !$.pseudos.empty(e)
							},
							header: function (e) {
								return ge.test(e.nodeName)
							},
							input: function (e) {
								return pe.test(e.nodeName)
							},
							button: function (e) {
								var t = e.nodeName.toLowerCase();
								return "input" === t && "button" === e.type || "button" === t
							},
							text: function (e) {
								var t;
								return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
							},
							first: l(function () {
								return [0]
							}),
							last: l(function (e, t) {
								return [t - 1]
							}),
							eq: l(function (e, t, n) {
								return [n < 0 ? n + t : n]
							}),
							even: l(function (e, t) {
								for (var n = 0; n < t; n += 2) e.push(n);
								return e
							}),
							odd: l(function (e, t) {
								for (var n = 1; n < t; n += 2) e.push(n);
								return e
							}),
							lt: l(function (e, t, n) {
								for (var r = n < 0 ? n + t : n; --r >= 0;) e.push(r);
								return e
							}),
							gt: l(function (e, t, n) {
								for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
								return e
							})
						}
					}, $.pseudos.nth = $.pseudos.eq;
					for (x in {
							radio: !0,
							checkbox: !0,
							file: !0,
							password: !0,
							image: !0
						}) $.pseudos[x] = a(x);
					for (x in {
							submit: !0,
							reset: !0
						}) $.pseudos[x] = u(x);
					return f.prototype = $.filters = $.pseudos, $.setFilters = new f, k = t.tokenize = function (e, n) {
						var r, i, o, s, a, u, l, c = _[e + " "];
						if (c) return n ? 0 : c.slice(0);
						for (a = e, u = [], l = $.preFilter; a;) {
							r && !(i = ue.exec(a)) || (i && (a = a.slice(i[0].length) || a), u.push(o = [])), r = !1, (i = le.exec(a)) && (r = i.shift(), o.push({
								value: r,
								type: i[0].replace(ae, " ")
							}), a = a.slice(r.length));
							for (s in $.filter) !(i = he[s].exec(a)) || l[s] && !(i = l[s](i)) || (r = i.shift(), o.push({
								value: r,
								type: s,
								matches: i
							}), a = a.slice(r.length));
							if (!r) break
						}
						return n ? a.length : a ? t.error(e) : _(e, u).slice(0)
					}, E = t.compile = function (e, t) {
						var n, r = [],
							i = [],
							o = G[e + " "];
						if (!o) {
							for (t || (t = k(e)), n = t.length; n--;) o = y(t[n]), o[F] ? r.push(o) : i.push(o);
							o = G(e, b(i, r)), o.selector = e
						}
						return o
					}, S = t.select = function (e, t, n, r) {
						var i, o, s, a, u, l = "function" == typeof e && e,
							f = !r && k(e = l.selector || e);
						if (n = n || [], 1 === f.length) {
							if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === t.nodeType && O && $.relative[o[1].type]) {
								if (t = ($.find.ID(s.matches[0].replace(xe, we), t) || [])[0], !t) return n;
								l && (t = t.parentNode), e = e.slice(o.shift().value.length)
							}
							for (i = he.needsContext.test(e) ? 0 : o.length; i-- && (s = o[i], !$.relative[a = s.type]);)
								if ((u = $.find[a]) && (r = u(s.matches[0].replace(xe, we), ye.test(o[0].type) && c(t.parentNode) || t))) {
									if (o.splice(i, 1), e = r.length && d(o), !e) return K.apply(n, r), n;
									break
								}
						}
						return (l || E(e, f))(r, t, !O, n, !t || ye.test(e) && c(t.parentNode) || t), n
					}, w.sortStable = F.split("").sort(X).join("") === F, w.detectDuplicates = !!H, N(), w.sortDetached = i(function (e) {
						return 1 & e.compareDocumentPosition(D.createElement("div"))
					}), i(function (e) {
						return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
					}) || o("type|href|height|width", function (e, t, n) {
						if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
					}), w.attributes && i(function (e) {
						return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
					}) || o("value", function (e, t, n) {
						if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
					}), i(function (e) {
						return null == e.getAttribute("disabled")
					}) || o(te, function (e, t, n) {
						var r;
						if (!n) return e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
					}), t
				}(e);
			oe.find = ce, oe.expr = ce.selectors, oe.expr[":"] = oe.expr.pseudos, oe.uniqueSort = oe.unique = ce.uniqueSort, oe.text = ce.getText, oe.isXMLDoc = ce.isXML, oe.contains = ce.contains;
			var fe = function (e, t, n) {
					for (var r = [], i = void 0 !== n;
						(e = e[t]) && 9 !== e.nodeType;)
						if (1 === e.nodeType) {
							if (i && oe(e).is(n)) break;
							r.push(e)
						}
					return r
				},
				de = function (e, t) {
					for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
					return n
				},
				he = oe.expr.match.needsContext,
				pe = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
				ge = /^.[^:#\[\.,]*$/;
			oe.filter = function (e, t, n) {
				var r = t[0];
				return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? oe.find.matchesSelector(r, e) ? [r] : [] : oe.find.matches(e, oe.grep(t, function (e) {
					return 1 === e.nodeType
				}))
			}, oe.fn.extend({
				find: function (e) {
					var t, n = this.length,
						r = [],
						i = this;
					if ("string" != typeof e) return this.pushStack(oe(e).filter(function () {
						for (t = 0; t < n; t++)
							if (oe.contains(i[t], this)) return !0
					}));
					for (t = 0; t < n; t++) oe.find(e, i[t], r);
					return r = this.pushStack(n > 1 ? oe.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, r
				},
				filter: function (e) {
					return this.pushStack(r(this, e || [], !1))
				},
				not: function (e) {
					return this.pushStack(r(this, e || [], !0))
				},
				is: function (e) {
					return !!r(this, "string" == typeof e && he.test(e) ? oe(e) : e || [], !1).length
				}
			});
			var me, ve = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
				ye = oe.fn.init = function (e, t, n) {
					var r, i;
					if (!e) return this;
					if (n = n || me, "string" == typeof e) {
						if (r = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : ve.exec(e), !r || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
						if (r[1]) {
							if (t = t instanceof oe ? t[0] : t, oe.merge(this, oe.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : Y, !0)), pe.test(r[1]) && oe.isPlainObject(t))
								for (r in t) oe.isFunction(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
							return this
						}
						return i = Y.getElementById(r[2]), i && i.parentNode && (this.length = 1, this[0] = i), this.context = Y, this.selector = e, this
					}
					return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : oe.isFunction(e) ? void 0 !== n.ready ? n.ready(e) : e(oe) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), oe.makeArray(e, this))
				};
			ye.prototype = oe.fn, me = oe(Y);
			var be = /^(?:parents|prev(?:Until|All))/,
				xe = {
					children: !0,
					contents: !0,
					next: !0,
					prev: !0
				};
			oe.fn.extend({
				has: function (e) {
					var t = oe(e, this),
						n = t.length;
					return this.filter(function () {
						for (var e = 0; e < n; e++)
							if (oe.contains(this, t[e])) return !0
					})
				},
				closest: function (e, t) {
					for (var n, r = 0, i = this.length, o = [], s = he.test(e) || "string" != typeof e ? oe(e, t || this.context) : 0; r < i; r++)
						for (n = this[r]; n && n !== t; n = n.parentNode)
							if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && oe.find.matchesSelector(n, e))) {
								o.push(n);
								break
							}
					return this.pushStack(o.length > 1 ? oe.uniqueSort(o) : o)
				},
				index: function (e) {
					return e ? "string" == typeof e ? Z.call(oe(e), this[0]) : Z.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
				},
				add: function (e, t) {
					return this.pushStack(oe.uniqueSort(oe.merge(this.get(), oe(e, t))))
				},
				addBack: function (e) {
					return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
				}
			}), oe.each({
				parent: function (e) {
					var t = e.parentNode;
					return t && 11 !== t.nodeType ? t : null
				},
				parents: function (e) {
					return fe(e, "parentNode")
				},
				parentsUntil: function (e, t, n) {
					return fe(e, "parentNode", n)
				},
				next: function (e) {
					return i(e, "nextSibling")
				},
				prev: function (e) {
					return i(e, "previousSibling")
				},
				nextAll: function (e) {
					return fe(e, "nextSibling")
				},
				prevAll: function (e) {
					return fe(e, "previousSibling")
				},
				nextUntil: function (e, t, n) {
					return fe(e, "nextSibling", n)
				},
				prevUntil: function (e, t, n) {
					return fe(e, "previousSibling", n)
				},
				siblings: function (e) {
					return de((e.parentNode || {}).firstChild, e)
				},
				children: function (e) {
					return de(e.firstChild)
				},
				contents: function (e) {
					return e.contentDocument || oe.merge([], e.childNodes)
				}
			}, function (e, t) {
				oe.fn[e] = function (n, r) {
					var i = oe.map(this, t, n);
					return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = oe.filter(r, i)), this.length > 1 && (xe[e] || oe.uniqueSort(i), be.test(e) && i.reverse()), this.pushStack(i)
				}
			});
			var we = /\S+/g;
			oe.Callbacks = function (e) {
				e = "string" == typeof e ? o(e) : oe.extend({}, e);
				var t, n, r, i, s = [],
					a = [],
					u = -1,
					l = function () {
						for (i = e.once, r = t = !0; a.length; u = -1)
							for (n = a.shift(); ++u < s.length;) s[u].apply(n[0], n[1]) === !1 && e.stopOnFalse && (u = s.length, n = !1);
						e.memory || (n = !1), t = !1, i && (s = n ? [] : "")
					},
					c = {
						add: function () {
							return s && (n && !t && (u = s.length - 1, a.push(n)), function r(t) {
								oe.each(t, function (t, n) {
									oe.isFunction(n) ? e.unique && c.has(n) || s.push(n) : n && n.length && "string" !== oe.type(n) && r(n)
								})
							}(arguments), n && !t && l()), this
						},
						remove: function () {
							return oe.each(arguments, function (e, t) {
								for (var n;
									(n = oe.inArray(t, s, n)) > -1;) s.splice(n, 1), n <= u && u--
							}), this
						},
						has: function (e) {
							return e ? oe.inArray(e, s) > -1 : s.length > 0
						},
						empty: function () {
							return s && (s = []), this
						},
						disable: function () {
							return i = a = [], s = n = "", this
						},
						disabled: function () {
							return !s
						},
						lock: function () {
							return i = a = [], n || (s = n = ""), this
						},
						locked: function () {
							return !!i
						},
						fireWith: function (e, n) {
							return i || (n = n || [], n = [e, n.slice ? n.slice() : n], a.push(n), t || l()), this
						},
						fire: function () {
							return c.fireWith(this, arguments), this
						},
						fired: function () {
							return !!r
						}
					};
				return c
			}, oe.extend({
				Deferred: function (e) {
					var t = [
							["resolve", "done", oe.Callbacks("once memory"), "resolved"],
							["reject", "fail", oe.Callbacks("once memory"), "rejected"],
							["notify", "progress", oe.Callbacks("memory")]
						],
						n = "pending",
						r = {
							state: function () {
								return n
							},
							always: function () {
								return i.done(arguments).fail(arguments), this
							},
							then: function () {
								var e = arguments;
								return oe.Deferred(function (n) {
									oe.each(t, function (t, o) {
										var s = oe.isFunction(e[t]) && e[t];
										i[o[1]](function () {
											var e = s && s.apply(this, arguments);
											e && oe.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === r ? n.promise() : this, s ? [e] : arguments)
										})
									}), e = null
								}).promise()
							},
							promise: function (e) {
								return null != e ? oe.extend(e, r) : r
							}
						},
						i = {};
					return r.pipe = r.then, oe.each(t, function (e, o) {
						var s = o[2],
							a = o[3];
						r[o[1]] = s.add, a && s.add(function () {
							n = a
						}, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function () {
							return i[o[0] + "With"](this === i ? r : this, arguments), this
						}, i[o[0] + "With"] = s.fireWith
					}), r.promise(i), e && e.call(i, i), i
				},
				when: function (e) {
					var t, n, r, i = 0,
						o = V.call(arguments),
						s = o.length,
						a = 1 !== s || e && oe.isFunction(e.promise) ? s : 0,
						u = 1 === a ? e : oe.Deferred(),
						l = function (e, n, r) {
							return function (i) {
								n[e] = this, r[e] = arguments.length > 1 ? V.call(arguments) : i, r === t ? u.notifyWith(n, r) : --a || u.resolveWith(n, r)
							}
						};
					if (s > 1)
						for (t = new Array(s), n = new Array(s), r = new Array(s); i < s; i++) o[i] && oe.isFunction(o[i].promise) ? o[i].promise().progress(l(i, n, t)).done(l(i, r, o)).fail(u.reject) : --a;
					return a || u.resolveWith(r, o), u.promise()
				}
			});
			var $e;
			oe.fn.ready = function (e) {
				return oe.ready.promise().done(e), this
			}, oe.extend({
				isReady: !1,
				readyWait: 1,
				holdReady: function (e) {
					e ? oe.readyWait++ : oe.ready(!0)
				},
				ready: function (e) {
					(e === !0 ? --oe.readyWait : oe.isReady) || (oe.isReady = !0, e !== !0 && --oe.readyWait > 0 || ($e.resolveWith(Y, [oe]), oe.fn.triggerHandler && (oe(Y).triggerHandler("ready"), oe(Y).off("ready"))))
				}
			}), oe.ready.promise = function (t) {
				return $e || ($e = oe.Deferred(), "complete" === Y.readyState || "loading" !== Y.readyState && !Y.documentElement.doScroll ? e.setTimeout(oe.ready) : (Y.addEventListener("DOMContentLoaded", s), e.addEventListener("load", s))), $e.promise(t)
			}, oe.ready.promise();
			var Ce = function (e, t, n, r, i, o, s) {
					var a = 0,
						u = e.length,
						l = null == n;
					if ("object" === oe.type(n)) {
						i = !0;
						for (a in n) Ce(e, t, a, n[a], !0, o, s)
					} else if (void 0 !== r && (i = !0, oe.isFunction(r) || (s = !0), l && (s ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) {
							return l.call(oe(e), n)
						})), t))
						for (; a < u; a++) t(e[a], n, s ? r : r.call(e[a], a, t(e[a], n)));
					return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
				},
				Te = function (e) {
					return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
				};
			a.uid = 1, a.prototype = {
				register: function (e, t) {
					var n = t || {};
					return e.nodeType ? e[this.expando] = n : Object.defineProperty(e, this.expando, {
						value: n,
						writable: !0,
						configurable: !0
					}), e[this.expando]
				},
				cache: function (e) {
					if (!Te(e)) return {};
					var t = e[this.expando];
					return t || (t = {}, Te(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
						value: t,
						configurable: !0
					}))), t
				},
				set: function (e, t, n) {
					var r, i = this.cache(e);
					if ("string" == typeof t) i[t] = n;
					else
						for (r in t) i[r] = t[r];
					return i
				},
				get: function (e, t) {
					return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][t]
				},
				access: function (e, t, n) {
					var r;
					return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), void 0 !== r ? r : this.get(e, oe.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t)
				},
				remove: function (e, t) {
					var n, r, i, o = e[this.expando];
					if (void 0 !== o) {
						if (void 0 === t) this.register(e);
						else {
							oe.isArray(t) ? r = t.concat(t.map(oe.camelCase)) : (i = oe.camelCase(t), t in o ? r = [t, i] : (r = i, r = r in o ? [r] : r.match(we) || [])), n = r.length;
							for (; n--;) delete o[r[n]]
						}(void 0 === t || oe.isEmptyObject(o)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
					}
				},
				hasData: function (e) {
					var t = e[this.expando];
					return void 0 !== t && !oe.isEmptyObject(t)
				}
			};
			var ke = new a,
				Ee = new a,
				Se = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
				je = /[A-Z]/g;
			oe.extend({
				hasData: function (e) {
					return Ee.hasData(e) || ke.hasData(e)
				},
				data: function (e, t, n) {
					return Ee.access(e, t, n)
				},
				removeData: function (e, t) {
					Ee.remove(e, t)
				},
				_data: function (e, t, n) {
					return ke.access(e, t, n)
				},
				_removeData: function (e, t) {
					ke.remove(e, t)
				}
			}), oe.fn.extend({
				data: function (e, t) {
					var n, r, i, o = this[0],
						s = o && o.attributes;
					if (void 0 === e) {
						if (this.length && (i = Ee.get(o), 1 === o.nodeType && !ke.get(o, "hasDataAttrs"))) {
							for (n = s.length; n--;) s[n] && (r = s[n].name, 0 === r.indexOf("data-") && (r = oe.camelCase(r.slice(5)), u(o, r, i[r])));
							ke.set(o, "hasDataAttrs", !0)
						}
						return i
					}
					return "object" == typeof e ? this.each(function () {
						Ee.set(this, e)
					}) : Ce(this, function (t) {
						var n, r;
						if (o && void 0 === t) {
							if (n = Ee.get(o, e) || Ee.get(o, e.replace(je, "-$&").toLowerCase()), void 0 !== n) return n;
							if (r = oe.camelCase(e), n = Ee.get(o, r), void 0 !== n) return n;
							if (n = u(o, r, void 0), void 0 !== n) return n
						} else r = oe.camelCase(e), this.each(function () {
							var n = Ee.get(this, r);
							Ee.set(this, r, t), e.indexOf("-") > -1 && void 0 !== n && Ee.set(this, e, t)
						})
					}, null, t, arguments.length > 1, null, !0)
				},
				removeData: function (e) {
					return this.each(function () {
						Ee.remove(this, e)
					})
				}
			}), oe.extend({
				queue: function (e, t, n) {
					var r;
					if (e) return t = (t || "fx") + "queue", r = ke.get(e, t), n && (!r || oe.isArray(n) ? r = ke.access(e, t, oe.makeArray(n)) : r.push(n)), r || []
				},
				dequeue: function (e, t) {
					t = t || "fx";
					var n = oe.queue(e, t),
						r = n.length,
						i = n.shift(),
						o = oe._queueHooks(e, t),
						s = function () {
							oe.dequeue(e, t)
						};
					"inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, s, o)), !r && o && o.empty.fire()
				},
				_queueHooks: function (e, t) {
					var n = t + "queueHooks";
					return ke.get(e, n) || ke.access(e, n, {
						empty: oe.Callbacks("once memory").add(function () {
							ke.remove(e, [t + "queue", n])
						})
					})
				}
			}), oe.fn.extend({
				queue: function (e, t) {
					var n = 2;
					return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? oe.queue(this[0], e) : void 0 === t ? this : this.each(function () {
						var n = oe.queue(this, e, t);
						oe._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && oe.dequeue(this, e)
					})
				},
				dequeue: function (e) {
					return this.each(function () {
						oe.dequeue(this, e)
					})
				},
				clearQueue: function (e) {
					return this.queue(e || "fx", [])
				},
				promise: function (e, t) {
					var n, r = 1,
						i = oe.Deferred(),
						o = this,
						s = this.length,
						a = function () {
							--r || i.resolveWith(o, [o])
						};
					for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;) n = ke.get(o[s], e + "queueHooks"), n && n.empty && (r++, n.empty.add(a));
					return a(), i.promise(t)
				}
			});
			var Me = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
				He = new RegExp("^(?:([+-])=|)(" + Me + ")([a-z%]*)$", "i"),
				Ne = ["Top", "Right", "Bottom", "Left"],
				De = function (e, t) {
					return e = t || e, "none" === oe.css(e, "display") || !oe.contains(e.ownerDocument, e)
				},
				Ae = /^(?:checkbox|radio)$/i,
				Oe = /<([\w:-]+)/,
				qe = /^$|\/(?:java|ecma)script/i,
				Ie = {
					option: [1, "<select multiple='multiple'>", "</select>"],
					thead: [1, "<table>", "</table>"],
					col: [2, "<table><colgroup>", "</colgroup></table>"],
					tr: [2, "<table><tbody>", "</tbody></table>"],
					td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
					_default: [0, "", ""]
				};
			Ie.optgroup = Ie.option, Ie.tbody = Ie.tfoot = Ie.colgroup = Ie.caption = Ie.thead, Ie.th = Ie.td;
			var Le = /<|&#?\w+;/;
			! function () {
				var e = Y.createDocumentFragment(),
					t = e.appendChild(Y.createElement("div")),
					n = Y.createElement("input");
				n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), t.appendChild(n), re.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", re.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
			}();
			var Pe = /^key/,
				Fe = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
				Re = /^([^.]*)(?:\.(.+)|)/;
			oe.event = {
				global: {},
				add: function (e, t, n, r, i) {
					var o, s, a, u, l, c, f, d, h, p, g, m = ke.get(e);
					if (m)
						for (n.handler && (o = n, n = o.handler, i = o.selector), n.guid || (n.guid = oe.guid++), (u = m.events) || (u = m.events = {}), (s = m.handle) || (s = m.handle = function (t) {
								return "undefined" != typeof oe && oe.event.triggered !== t.type ? oe.event.dispatch.apply(e, arguments) : void 0
							}), t = (t || "").match(we) || [""], l = t.length; l--;) a = Re.exec(t[l]) || [], h = g = a[1], p = (a[2] || "").split(".").sort(), h && (f = oe.event.special[h] || {}, h = (i ? f.delegateType : f.bindType) || h, f = oe.event.special[h] || {}, c = oe.extend({
							type: h,
							origType: g,
							data: r,
							handler: n,
							guid: n.guid,
							selector: i,
							needsContext: i && oe.expr.match.needsContext.test(i),
							namespace: p.join(".")
						}, o), (d = u[h]) || (d = u[h] = [], d.delegateCount = 0, f.setup && f.setup.call(e, r, p, s) !== !1 || e.addEventListener && e.addEventListener(h, s)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? d.splice(d.delegateCount++, 0, c) : d.push(c), oe.event.global[h] = !0)
				},
				remove: function (e, t, n, r, i) {
					var o, s, a, u, l, c, f, d, h, p, g, m = ke.hasData(e) && ke.get(e);
					if (m && (u = m.events)) {
						for (t = (t || "").match(we) || [""], l = t.length; l--;)
							if (a = Re.exec(t[l]) || [], h = g = a[1], p = (a[2] || "").split(".").sort(), h) {
								for (f = oe.event.special[h] || {}, h = (r ? f.delegateType : f.bindType) || h, d = u[h] || [], a = a[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = d.length; o--;) c = d[o], !i && g !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (d.splice(o, 1),
									c.selector && d.delegateCount--, f.remove && f.remove.call(e, c));
								s && !d.length && (f.teardown && f.teardown.call(e, p, m.handle) !== !1 || oe.removeEvent(e, h, m.handle), delete u[h])
							} else
								for (h in u) oe.event.remove(e, h + t[l], n, r, !0);
						oe.isEmptyObject(u) && ke.remove(e, "handle events")
					}
				},
				dispatch: function (e) {
					e = oe.event.fix(e);
					var t, n, r, i, o, s = [],
						a = V.call(arguments),
						u = (ke.get(this, "events") || {})[e.type] || [],
						l = oe.event.special[e.type] || {};
					if (a[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
						for (s = oe.event.handlers.call(this, e, u), t = 0;
							(i = s[t++]) && !e.isPropagationStopped();)
							for (e.currentTarget = i.elem, n = 0;
								(o = i.handlers[n++]) && !e.isImmediatePropagationStopped();) e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, r = ((oe.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, a), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
						return l.postDispatch && l.postDispatch.call(this, e), e.result
					}
				},
				handlers: function (e, t) {
					var n, r, i, o, s = [],
						a = t.delegateCount,
						u = e.target;
					if (a && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))
						for (; u !== this; u = u.parentNode || this)
							if (1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) {
								for (r = [], n = 0; n < a; n++) o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? oe(i, this).index(u) > -1 : oe.find(i, this, null, [u]).length), r[i] && r.push(o);
								r.length && s.push({
									elem: u,
									handlers: r
								})
							}
					return a < t.length && s.push({
						elem: this,
						handlers: t.slice(a)
					}), s
				},
				props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
				fixHooks: {},
				keyHooks: {
					props: "char charCode key keyCode".split(" "),
					filter: function (e, t) {
						return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
					}
				},
				mouseHooks: {
					props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
					filter: function (e, t) {
						var n, r, i, o = t.button;
						return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || Y, r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
					}
				},
				fix: function (e) {
					if (e[oe.expando]) return e;
					var t, n, r, i = e.type,
						o = e,
						s = this.fixHooks[i];
					for (s || (this.fixHooks[i] = s = Fe.test(i) ? this.mouseHooks : Pe.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new oe.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n];
					return e.target || (e.target = Y), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, o) : e
				},
				special: {
					load: {
						noBubble: !0
					},
					focus: {
						trigger: function () {
							if (this !== g() && this.focus) return this.focus(), !1
						},
						delegateType: "focusin"
					},
					blur: {
						trigger: function () {
							if (this === g() && this.blur) return this.blur(), !1
						},
						delegateType: "focusout"
					},
					click: {
						trigger: function () {
							if ("checkbox" === this.type && this.click && oe.nodeName(this, "input")) return this.click(), !1
						},
						_default: function (e) {
							return oe.nodeName(e.target, "a")
						}
					},
					beforeunload: {
						postDispatch: function (e) {
							void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
						}
					}
				}
			}, oe.removeEvent = function (e, t, n) {
				e.removeEventListener && e.removeEventListener(t, n)
			}, oe.Event = function (e, t) {
				return this instanceof oe.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? h : p) : this.type = e, t && oe.extend(this, t), this.timeStamp = e && e.timeStamp || oe.now(), void(this[oe.expando] = !0)) : new oe.Event(e, t)
			}, oe.Event.prototype = {
				constructor: oe.Event,
				isDefaultPrevented: p,
				isPropagationStopped: p,
				isImmediatePropagationStopped: p,
				isSimulated: !1,
				preventDefault: function () {
					var e = this.originalEvent;
					this.isDefaultPrevented = h, e && !this.isSimulated && e.preventDefault()
				},
				stopPropagation: function () {
					var e = this.originalEvent;
					this.isPropagationStopped = h, e && !this.isSimulated && e.stopPropagation()
				},
				stopImmediatePropagation: function () {
					var e = this.originalEvent;
					this.isImmediatePropagationStopped = h, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
				}
			}, oe.each({
				mouseenter: "mouseover",
				mouseleave: "mouseout",
				pointerenter: "pointerover",
				pointerleave: "pointerout"
			}, function (e, t) {
				oe.event.special[e] = {
					delegateType: t,
					bindType: t,
					handle: function (e) {
						var n, r = this,
							i = e.relatedTarget,
							o = e.handleObj;
						return i && (i === r || oe.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
					}
				}
			}), oe.fn.extend({
				on: function (e, t, n, r) {
					return m(this, e, t, n, r)
				},
				one: function (e, t, n, r) {
					return m(this, e, t, n, r, 1)
				},
				off: function (e, t, n) {
					var r, i;
					if (e && e.preventDefault && e.handleObj) return r = e.handleObj, oe(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
					if ("object" == typeof e) {
						for (i in e) this.off(i, t, e[i]);
						return this
					}
					return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = p), this.each(function () {
						oe.event.remove(this, e, n, t)
					})
				}
			});
			var ze = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
				We = /<script|<style|<link/i,
				Be = /checked\s*(?:[^=]|=\s*.checked.)/i,
				_e = /^true\/(.*)/,
				Ge = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
			oe.extend({
				htmlPrefilter: function (e) {
					return e.replace(ze, "<$1><$2>")
				},
				clone: function (e, t, n) {
					var r, i, o, s, a = e.cloneNode(!0),
						u = oe.contains(e.ownerDocument, e);
					if (!(re.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || oe.isXMLDoc(e)))
						for (s = c(a), o = c(e), r = 0, i = o.length; r < i; r++) w(o[r], s[r]);
					if (t)
						if (n)
							for (o = o || c(e), s = s || c(a), r = 0, i = o.length; r < i; r++) x(o[r], s[r]);
						else x(e, a);
					return s = c(a, "script"), s.length > 0 && f(s, !u && c(e, "script")), a
				},
				cleanData: function (e) {
					for (var t, n, r, i = oe.event.special, o = 0; void 0 !== (n = e[o]); o++)
						if (Te(n)) {
							if (t = n[ke.expando]) {
								if (t.events)
									for (r in t.events) i[r] ? oe.event.remove(n, r) : oe.removeEvent(n, r, t.handle);
								n[ke.expando] = void 0
							}
							n[Ee.expando] && (n[Ee.expando] = void 0)
						}
				}
			}), oe.fn.extend({
				domManip: $,
				detach: function (e) {
					return C(this, e, !0)
				},
				remove: function (e) {
					return C(this, e)
				},
				text: function (e) {
					return Ce(this, function (e) {
						return void 0 === e ? oe.text(this) : this.empty().each(function () {
							1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
						})
					}, null, e, arguments.length)
				},
				append: function () {
					return $(this, arguments, function (e) {
						if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
							var t = v(this, e);
							t.appendChild(e)
						}
					})
				},
				prepend: function () {
					return $(this, arguments, function (e) {
						if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
							var t = v(this, e);
							t.insertBefore(e, t.firstChild)
						}
					})
				},
				before: function () {
					return $(this, arguments, function (e) {
						this.parentNode && this.parentNode.insertBefore(e, this)
					})
				},
				after: function () {
					return $(this, arguments, function (e) {
						this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
					})
				},
				empty: function () {
					for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (oe.cleanData(c(e, !1)), e.textContent = "");
					return this
				},
				clone: function (e, t) {
					return e = null != e && e, t = null == t ? e : t, this.map(function () {
						return oe.clone(this, e, t)
					})
				},
				html: function (e) {
					return Ce(this, function (e) {
						var t = this[0] || {},
							n = 0,
							r = this.length;
						if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
						if ("string" == typeof e && !We.test(e) && !Ie[(Oe.exec(e) || ["", ""])[1].toLowerCase()]) {
							e = oe.htmlPrefilter(e);
							try {
								for (; n < r; n++) t = this[n] || {}, 1 === t.nodeType && (oe.cleanData(c(t, !1)), t.innerHTML = e);
								t = 0
							} catch (i) {}
						}
						t && this.empty().append(e)
					}, null, e, arguments.length)
				},
				replaceWith: function () {
					var e = [];
					return $(this, arguments, function (t) {
						var n = this.parentNode;
						oe.inArray(this, e) < 0 && (oe.cleanData(c(this)), n && n.replaceChild(t, this))
					}, e)
				}
			}), oe.each({
				appendTo: "append",
				prependTo: "prepend",
				insertBefore: "before",
				insertAfter: "after",
				replaceAll: "replaceWith"
			}, function (e, t) {
				oe.fn[e] = function (e) {
					for (var n, r = [], i = oe(e), o = i.length - 1, s = 0; s <= o; s++) n = s === o ? this : this.clone(!0), oe(i[s])[t](n), K.apply(r, n.get());
					return this.pushStack(r)
				}
			});
			var Xe, Qe = {
					HTML: "block",
					BODY: "block"
				},
				Ue = /^margin/,
				Ye = new RegExp("^(" + Me + ")(?!px)[a-z%]+$", "i"),
				Ve = function (t) {
					var n = t.ownerDocument.defaultView;
					return n && n.opener || (n = e), n.getComputedStyle(t)
				},
				Je = function (e, t, n, r) {
					var i, o, s = {};
					for (o in t) s[o] = e.style[o], e.style[o] = t[o];
					i = n.apply(e, r || []);
					for (o in t) e.style[o] = s[o];
					return i
				},
				Ke = Y.documentElement;
			! function () {
				function t() {
					a.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", a.innerHTML = "", Ke.appendChild(s);
					var t = e.getComputedStyle(a);
					n = "1%" !== t.top, o = "2px" === t.marginLeft, r = "4px" === t.width, a.style.marginRight = "50%", i = "4px" === t.marginRight, Ke.removeChild(s)
				}
				var n, r, i, o, s = Y.createElement("div"),
					a = Y.createElement("div");
				a.style && (a.style.backgroundClip = "content-box", a.cloneNode(!0).style.backgroundClip = "", re.clearCloneStyle = "content-box" === a.style.backgroundClip, s.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", s.appendChild(a), oe.extend(re, {
					pixelPosition: function () {
						return t(), n
					},
					boxSizingReliable: function () {
						return null == r && t(), r
					},
					pixelMarginRight: function () {
						return null == r && t(), i
					},
					reliableMarginLeft: function () {
						return null == r && t(), o
					},
					reliableMarginRight: function () {
						var t, n = a.appendChild(Y.createElement("div"));
						return n.style.cssText = a.style.cssText = "-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", n.style.marginRight = n.style.width = "0", a.style.width = "1px", Ke.appendChild(s), t = !parseFloat(e.getComputedStyle(n).marginRight), Ke.removeChild(s), a.removeChild(n), t
					}
				}))
			}();
			var Ze = /^(none|table(?!-c[ea]).+)/,
				et = {
					position: "absolute",
					visibility: "hidden",
					display: "block"
				},
				tt = {
					letterSpacing: "0",
					fontWeight: "400"
				},
				nt = ["Webkit", "O", "Moz", "ms"],
				rt = Y.createElement("div").style;
			oe.extend({
				cssHooks: {
					opacity: {
						get: function (e, t) {
							if (t) {
								var n = E(e, "opacity");
								return "" === n ? "1" : n
							}
						}
					}
				},
				cssNumber: {
					animationIterationCount: !0,
					columnCount: !0,
					fillOpacity: !0,
					flexGrow: !0,
					flexShrink: !0,
					fontWeight: !0,
					lineHeight: !0,
					opacity: !0,
					order: !0,
					orphans: !0,
					widows: !0,
					zIndex: !0,
					zoom: !0
				},
				cssProps: {
					"float": "cssFloat"
				},
				style: function (e, t, n, r) {
					if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
						var i, o, s, a = oe.camelCase(t),
							u = e.style;
						return t = oe.cssProps[a] || (oe.cssProps[a] = j(a) || a), s = oe.cssHooks[t] || oe.cssHooks[a], void 0 === n ? s && "get" in s && void 0 !== (i = s.get(e, !1, r)) ? i : u[t] : (o = typeof n, "string" === o && (i = He.exec(n)) && i[1] && (n = l(e, t, i), o = "number"), null != n && n === n && ("number" === o && (n += i && i[3] || (oe.cssNumber[a] ? "" : "px")), re.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), s && "set" in s && void 0 === (n = s.set(e, n, r)) || (u[t] = n)), void 0)
					}
				},
				css: function (e, t, n, r) {
					var i, o, s, a = oe.camelCase(t);
					return t = oe.cssProps[a] || (oe.cssProps[a] = j(a) || a), s = oe.cssHooks[t] || oe.cssHooks[a], s && "get" in s && (i = s.get(e, !0, n)), void 0 === i && (i = E(e, t, r)), "normal" === i && t in tt && (i = tt[t]), "" === n || n ? (o = parseFloat(i), n === !0 || isFinite(o) ? o || 0 : i) : i
				}
			}), oe.each(["height", "width"], function (e, t) {
				oe.cssHooks[t] = {
					get: function (e, n, r) {
						if (n) return Ze.test(oe.css(e, "display")) && 0 === e.offsetWidth ? Je(e, et, function () {
							return N(e, t, r)
						}) : N(e, t, r)
					},
					set: function (e, n, r) {
						var i, o = r && Ve(e),
							s = r && H(e, t, r, "border-box" === oe.css(e, "boxSizing", !1, o), o);
						return s && (i = He.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = oe.css(e, t)), M(e, n, s)
					}
				}
			}), oe.cssHooks.marginLeft = S(re.reliableMarginLeft, function (e, t) {
				if (t) return (parseFloat(E(e, "marginLeft")) || e.getBoundingClientRect().left - Je(e, {
					marginLeft: 0
				}, function () {
					return e.getBoundingClientRect().left
				})) + "px"
			}), oe.cssHooks.marginRight = S(re.reliableMarginRight, function (e, t) {
				if (t) return Je(e, {
					display: "inline-block"
				}, E, [e, "marginRight"])
			}), oe.each({
				margin: "",
				padding: "",
				border: "Width"
			}, function (e, t) {
				oe.cssHooks[e + t] = {
					expand: function (n) {
						for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) i[e + Ne[r] + t] = o[r] || o[r - 2] || o[0];
						return i
					}
				}, Ue.test(e) || (oe.cssHooks[e + t].set = M)
			}), oe.fn.extend({
				css: function (e, t) {
					return Ce(this, function (e, t, n) {
						var r, i, o = {},
							s = 0;
						if (oe.isArray(t)) {
							for (r = Ve(e), i = t.length; s < i; s++) o[t[s]] = oe.css(e, t[s], !1, r);
							return o
						}
						return void 0 !== n ? oe.style(e, t, n) : oe.css(e, t)
					}, e, t, arguments.length > 1)
				},
				show: function () {
					return D(this, !0)
				},
				hide: function () {
					return D(this)
				},
				toggle: function (e) {
					return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
						De(this) ? oe(this).show() : oe(this).hide()
					})
				}
			}), oe.Tween = A, A.prototype = {
				constructor: A,
				init: function (e, t, n, r, i, o) {
					this.elem = e, this.prop = n, this.easing = i || oe.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (oe.cssNumber[n] ? "" : "px")
				},
				cur: function () {
					var e = A.propHooks[this.prop];
					return e && e.get ? e.get(this) : A.propHooks._default.get(this)
				},
				run: function (e) {
					var t, n = A.propHooks[this.prop];
					return this.options.duration ? this.pos = t = oe.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : A.propHooks._default.set(this), this
				}
			}, A.prototype.init.prototype = A.prototype, A.propHooks = {
				_default: {
					get: function (e) {
						var t;
						return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = oe.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0)
					},
					set: function (e) {
						oe.fx.step[e.prop] ? oe.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[oe.cssProps[e.prop]] && !oe.cssHooks[e.prop] ? e.elem[e.prop] = e.now : oe.style(e.elem, e.prop, e.now + e.unit)
					}
				}
			}, A.propHooks.scrollTop = A.propHooks.scrollLeft = {
				set: function (e) {
					e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
				}
			}, oe.easing = {
				linear: function (e) {
					return e
				},
				swing: function (e) {
					return .5 - Math.cos(e * Math.PI) / 2
				},
				_default: "swing"
			}, oe.fx = A.prototype.init, oe.fx.step = {};
			var it, ot, st = /^(?:toggle|show|hide)$/,
				at = /queueHooks$/;
			oe.Animation = oe.extend(F, {
					tweeners: {
						"*": [function (e, t) {
							var n = this.createTween(e, t);
							return l(n.elem, e, He.exec(t), n), n
						}]
					},
					tweener: function (e, t) {
						oe.isFunction(e) ? (t = e, e = ["*"]) : e = e.match(we);
						for (var n, r = 0, i = e.length; r < i; r++) n = e[r], F.tweeners[n] = F.tweeners[n] || [], F.tweeners[n].unshift(t)
					},
					prefilters: [L],
					prefilter: function (e, t) {
						t ? F.prefilters.unshift(e) : F.prefilters.push(e)
					}
				}), oe.speed = function (e, t, n) {
					var r = e && "object" == typeof e ? oe.extend({}, e) : {
						complete: n || !n && t || oe.isFunction(e) && e,
						duration: e,
						easing: n && t || t && !oe.isFunction(t) && t
					};
					return r.duration = oe.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in oe.fx.speeds ? oe.fx.speeds[r.duration] : oe.fx.speeds._default, null != r.queue && r.queue !== !0 || (r.queue = "fx"), r.old = r.complete, r.complete = function () {
						oe.isFunction(r.old) && r.old.call(this), r.queue && oe.dequeue(this, r.queue)
					}, r
				}, oe.fn.extend({
					fadeTo: function (e, t, n, r) {
						return this.filter(De).css("opacity", 0).show().end().animate({
							opacity: t
						}, e, n, r)
					},
					animate: function (e, t, n, r) {
						var i = oe.isEmptyObject(e),
							o = oe.speed(t, n, r),
							s = function () {
								var t = F(this, oe.extend({}, e), o);
								(i || ke.get(this, "finish")) && t.stop(!0)
							};
						return s.finish = s, i || o.queue === !1 ? this.each(s) : this.queue(o.queue, s)
					},
					stop: function (e, t, n) {
						var r = function (e) {
							var t = e.stop;
							delete e.stop, t(n)
						};
						return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e || "fx", []), this.each(function () {
							var t = !0,
								i = null != e && e + "queueHooks",
								o = oe.timers,
								s = ke.get(this);
							if (i) s[i] && s[i].stop && r(s[i]);
							else
								for (i in s) s[i] && s[i].stop && at.test(i) && r(s[i]);
							for (i = o.length; i--;) o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1));
							!t && n || oe.dequeue(this, e)
						})
					},
					finish: function (e) {
						return e !== !1 && (e = e || "fx"), this.each(function () {
							var t, n = ke.get(this),
								r = n[e + "queue"],
								i = n[e + "queueHooks"],
								o = oe.timers,
								s = r ? r.length : 0;
							for (n.finish = !0, oe.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;) o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1));
							for (t = 0; t < s; t++) r[t] && r[t].finish && r[t].finish.call(this);
							delete n.finish
						})
					}
				}), oe.each(["toggle", "show", "hide"], function (e, t) {
					var n = oe.fn[t];
					oe.fn[t] = function (e, r, i) {
						return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(q(t, !0), e, r, i)
					}
				}), oe.each({
					slideDown: q("show"),
					slideUp: q("hide"),
					slideToggle: q("toggle"),
					fadeIn: {
						opacity: "show"
					},
					fadeOut: {
						opacity: "hide"
					},
					fadeToggle: {
						opacity: "toggle"
					}
				}, function (e, t) {
					oe.fn[e] = function (e, n, r) {
						return this.animate(t, e, n, r)
					}
				}), oe.timers = [], oe.fx.tick = function () {
					var e, t = 0,
						n = oe.timers;
					for (it = oe.now(); t < n.length; t++) e = n[t], e() || n[t] !== e || n.splice(t--, 1);
					n.length || oe.fx.stop(), it = void 0
				}, oe.fx.timer = function (e) {
					oe.timers.push(e), e() ? oe.fx.start() : oe.timers.pop()
				}, oe.fx.interval = 13, oe.fx.start = function () {
					ot || (ot = e.setInterval(oe.fx.tick, oe.fx.interval))
				}, oe.fx.stop = function () {
					e.clearInterval(ot), ot = null
				}, oe.fx.speeds = {
					slow: 600,
					fast: 200,
					_default: 400
				}, oe.fn.delay = function (t, n) {
					return t = oe.fx ? oe.fx.speeds[t] || t : t, n = n || "fx", this.queue(n, function (n, r) {
						var i = e.setTimeout(n, t);
						r.stop = function () {
							e.clearTimeout(i)
						}
					})
				},
				function () {
					var e = Y.createElement("input"),
						t = Y.createElement("select"),
						n = t.appendChild(Y.createElement("option"));
					e.type = "checkbox", re.checkOn = "" !== e.value, re.optSelected = n.selected, t.disabled = !0, re.optDisabled = !n.disabled, e = Y.createElement("input"), e.value = "t", e.type = "radio", re.radioValue = "t" === e.value
				}();
			var ut, lt = oe.expr.attrHandle;
			oe.fn.extend({
				attr: function (e, t) {
					return Ce(this, oe.attr, e, t, arguments.length > 1)
				},
				removeAttr: function (e) {
					return this.each(function () {
						oe.removeAttr(this, e)
					})
				}
			}), oe.extend({
				attr: function (e, t, n) {
					var r, i, o = e.nodeType;
					if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? oe.prop(e, t, n) : (1 === o && oe.isXMLDoc(e) || (t = t.toLowerCase(), i = oe.attrHooks[t] || (oe.expr.match.bool.test(t) ? ut : void 0)), void 0 !== n ? null === n ? void oe.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : (r = oe.find.attr(e, t), null == r ? void 0 : r))
				},
				attrHooks: {
					type: {
						set: function (e, t) {
							if (!re.radioValue && "radio" === t && oe.nodeName(e, "input")) {
								var n = e.value;
								return e.setAttribute("type", t), n && (e.value = n), t
							}
						}
					}
				},
				removeAttr: function (e, t) {
					var n, r, i = 0,
						o = t && t.match(we);
					if (o && 1 === e.nodeType)
						for (; n = o[i++];) r = oe.propFix[n] || n, oe.expr.match.bool.test(n) && (e[r] = !1), e.removeAttribute(n)
				}
			}), ut = {
				set: function (e, t, n) {
					return t === !1 ? oe.removeAttr(e, n) : e.setAttribute(n, n), n
				}
			}, oe.each(oe.expr.match.bool.source.match(/\w+/g), function (e, t) {
				var n = lt[t] || oe.find.attr;
				lt[t] = function (e, t, r) {
					var i, o;
					return r || (o = lt[t], lt[t] = i, i = null != n(e, t, r) ? t.toLowerCase() : null, lt[t] = o), i
				}
			});
			var ct = /^(?:input|select|textarea|button)$/i,
				ft = /^(?:a|area)$/i;
			oe.fn.extend({
				prop: function (e, t) {
					return Ce(this, oe.prop, e, t, arguments.length > 1)
				},
				removeProp: function (e) {
					return this.each(function () {
						delete this[oe.propFix[e] || e]
					})
				}
			}), oe.extend({
				prop: function (e, t, n) {
					var r, i, o = e.nodeType;
					if (3 !== o && 8 !== o && 2 !== o) return 1 === o && oe.isXMLDoc(e) || (t = oe.propFix[t] || t, i = oe.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]
				},
				propHooks: {
					tabIndex: {
						get: function (e) {
							var t = oe.find.attr(e, "tabindex");
							return t ? parseInt(t, 10) : ct.test(e.nodeName) || ft.test(e.nodeName) && e.href ? 0 : -1
						}
					}
				},
				propFix: {
					"for": "htmlFor",
					"class": "className"
				}
			}), re.optSelected || (oe.propHooks.selected = {
				get: function (e) {
					var t = e.parentNode;
					return t && t.parentNode && t.parentNode.selectedIndex, null
				},
				set: function (e) {
					var t = e.parentNode;
					t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
				}
			}), oe.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
				oe.propFix[this.toLowerCase()] = this
			});
			var dt = /[\t\r\n\f]/g;
			oe.fn.extend({
				addClass: function (e) {
					var t, n, r, i, o, s, a, u = 0;
					if (oe.isFunction(e)) return this.each(function (t) {
						oe(this).addClass(e.call(this, t, R(this)))
					});
					if ("string" == typeof e && e)
						for (t = e.match(we) || []; n = this[u++];)
							if (i = R(n), r = 1 === n.nodeType && (" " + i + " ").replace(dt, " ")) {
								for (s = 0; o = t[s++];) r.indexOf(" " + o + " ") < 0 && (r += o + " ");
								a = oe.trim(r), i !== a && n.setAttribute("class", a)
							}
					return this
				},
				removeClass: function (e) {
					var t, n, r, i, o, s, a, u = 0;
					if (oe.isFunction(e)) return this.each(function (t) {
						oe(this).removeClass(e.call(this, t, R(this)))
					});
					if (!arguments.length) return this.attr("class", "");
					if ("string" == typeof e && e)
						for (t = e.match(we) || []; n = this[u++];)
							if (i = R(n), r = 1 === n.nodeType && (" " + i + " ").replace(dt, " ")) {
								for (s = 0; o = t[s++];)
									for (; r.indexOf(" " + o + " ") > -1;) r = r.replace(" " + o + " ", " ");
								a = oe.trim(r), i !== a && n.setAttribute("class", a)
							}
					return this
				},
				toggleClass: function (e, t) {
					var n = typeof e;
					return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : oe.isFunction(e) ? this.each(function (n) {
						oe(this).toggleClass(e.call(this, n, R(this), t), t)
					}) : this.each(function () {
						var t, r, i, o;
						if ("string" === n)
							for (r = 0, i = oe(this), o = e.match(we) || []; t = o[r++];) i.hasClass(t) ? i.removeClass(t) : i.addClass(t);
						else void 0 !== e && "boolean" !== n || (t = R(this), t && ke.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || e === !1 ? "" : ke.get(this, "__className__") || ""))
					})
				},
				hasClass: function (e) {
					var t, n, r = 0;
					for (t = " " + e + " "; n = this[r++];)
						if (1 === n.nodeType && (" " + R(n) + " ").replace(dt, " ").indexOf(t) > -1) return !0;
					return !1
				}
			});
			var ht = /\r/g,
				pt = /[\x20\t\r\n\f]+/g;
			oe.fn.extend({
				val: function (e) {
					var t, n, r, i = this[0]; {
						if (arguments.length) return r = oe.isFunction(e), this.each(function (n) {
							var i;
							1 === this.nodeType && (i = r ? e.call(this, n, oe(this).val()) : e, null == i ? i = "" : "number" == typeof i ? i += "" : oe.isArray(i) && (i = oe.map(i, function (e) {
								return null == e ? "" : e + ""
							})), t = oe.valHooks[this.type] || oe.valHooks[this.nodeName.toLowerCase()], t && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i))
						});
						if (i) return t = oe.valHooks[i.type] || oe.valHooks[i.nodeName.toLowerCase()], t && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : (n = i.value, "string" == typeof n ? n.replace(ht, "") : null == n ? "" : n)
					}
				}
			}), oe.extend({
				valHooks: {
					option: {
						get: function (e) {
							var t = oe.find.attr(e, "value");
							return null != t ? t : oe.trim(oe.text(e)).replace(pt, " ")
						}
					},
					select: {
						get: function (e) {
							for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || i < 0, s = o ? null : [], a = o ? i + 1 : r.length, u = i < 0 ? a : o ? i : 0; u < a; u++)
								if (n = r[u], (n.selected || u === i) && (re.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !oe.nodeName(n.parentNode, "optgroup"))) {
									if (t = oe(n).val(), o) return t;
									s.push(t)
								}
							return s
						},
						set: function (e, t) {
							for (var n, r, i = e.options, o = oe.makeArray(t), s = i.length; s--;) r = i[s], (r.selected = oe.inArray(oe.valHooks.option.get(r), o) > -1) && (n = !0);
							return n || (e.selectedIndex = -1), o
						}
					}
				}
			}), oe.each(["radio", "checkbox"], function () {
				oe.valHooks[this] = {
					set: function (e, t) {
						if (oe.isArray(t)) return e.checked = oe.inArray(oe(e).val(), t) > -1
					}
				}, re.checkOn || (oe.valHooks[this].get = function (e) {
					return null === e.getAttribute("value") ? "on" : e.value
				})
			});
			var gt = /^(?:focusinfocus|focusoutblur)$/;
			oe.extend(oe.event, {
				trigger: function (t, n, r, i) {
					var o, s, a, u, l, c, f, d = [r || Y],
						h = ne.call(t, "type") ? t.type : t,
						p = ne.call(t, "namespace") ? t.namespace.split(".") : [];
					if (s = a = r = r || Y, 3 !== r.nodeType && 8 !== r.nodeType && !gt.test(h + oe.event.triggered) && (h.indexOf(".") > -1 && (p = h.split("."), h = p.shift(), p.sort()), l = h.indexOf(":") < 0 && "on" + h, t = t[oe.expando] ? t : new oe.Event(h, "object" == typeof t && t), t.isTrigger = i ? 2 : 3, t.namespace = p.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = r), n = null == n ? [t] : oe.makeArray(n, [t]), f = oe.event.special[h] || {}, i || !f.trigger || f.trigger.apply(r, n) !== !1)) {
						if (!i && !f.noBubble && !oe.isWindow(r)) {
							for (u = f.delegateType || h, gt.test(u + h) || (s = s.parentNode); s; s = s.parentNode) d.push(s), a = s;
							a === (r.ownerDocument || Y) && d.push(a.defaultView || a.parentWindow || e)
						}
						for (o = 0;
							(s = d[o++]) && !t.isPropagationStopped();) t.type = o > 1 ? u : f.bindType || h, c = (ke.get(s, "events") || {})[t.type] && ke.get(s, "handle"), c && c.apply(s, n), c = l && s[l], c && c.apply && Te(s) && (t.result = c.apply(s, n), t.result === !1 && t.preventDefault());
						return t.type = h, i || t.isDefaultPrevented() || f._default && f._default.apply(d.pop(), n) !== !1 || !Te(r) || l && oe.isFunction(r[h]) && !oe.isWindow(r) && (a = r[l], a && (r[l] = null), oe.event.triggered = h, r[h](), oe.event.triggered = void 0, a && (r[l] = a)), t.result
					}
				},
				simulate: function (e, t, n) {
					var r = oe.extend(new oe.Event, n, {
						type: e,
						isSimulated: !0
					});
					oe.event.trigger(r, null, t)
				}
			}), oe.fn.extend({
				trigger: function (e, t) {
					return this.each(function () {
						oe.event.trigger(e, t, this)
					})
				},
				triggerHandler: function (e, t) {
					var n = this[0];
					if (n) return oe.event.trigger(e, t, n, !0)
				}
			}), oe.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) {
				oe.fn[t] = function (e, n) {
					return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
				}
			}), oe.fn.extend({
				hover: function (e, t) {
					return this.mouseenter(e).mouseleave(t || e)
				}
			}), re.focusin = "onfocusin" in e, re.focusin || oe.each({
				focus: "focusin",
				blur: "focusout"
			}, function (e, t) {
				var n = function (e) {
					oe.event.simulate(t, e.target, oe.event.fix(e))
				};
				oe.event.special[t] = {
					setup: function () {
						var r = this.ownerDocument || this,
							i = ke.access(r, t);
						i || r.addEventListener(e, n, !0), ke.access(r, t, (i || 0) + 1)
					},
					teardown: function () {
						var r = this.ownerDocument || this,
							i = ke.access(r, t) - 1;
						i ? ke.access(r, t, i) : (r.removeEventListener(e, n, !0), ke.remove(r, t))
					}
				}
			});
			var mt = e.location,
				vt = oe.now(),
				yt = /\?/;
			oe.parseJSON = function (e) {
				return JSON.parse(e + "")
			}, oe.parseXML = function (t) {
				var n;
				if (!t || "string" != typeof t) return null;
				try {
					n = (new e.DOMParser).parseFromString(t, "text/xml")
				} catch (r) {
					n = void 0
				}
				return n && !n.getElementsByTagName("parsererror").length || oe.error("Invalid XML: " + t), n
			};
			var bt = /#.*$/,
				xt = /([?&])_=[^&]*/,
				wt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
				$t = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
				Ct = /^(?:GET|HEAD)$/,
				Tt = /^\/\//,
				kt = {},
				Et = {},
				St = "*/".concat("*"),
				jt = Y.createElement("a");
			jt.href = mt.href, oe.extend({
				active: 0,
				lastModified: {},
				etag: {},
				ajaxSettings: {
					url: mt.href,
					type: "GET",
					isLocal: $t.test(mt.protocol),
					global: !0,
					processData: !0,
					async: !0,
					contentType: "application/x-www-form-urlencoded; charset=UTF-8",
					accepts: {
						"*": St,
						text: "text/plain",
						html: "text/html",
						xml: "application/xml, text/xml",
						json: "application/json, text/javascript"
					},
					contents: {
						xml: /\bxml\b/,
						html: /\bhtml/,
						json: /\bjson\b/
					},
					responseFields: {
						xml: "responseXML",
						text: "responseText",
						json: "responseJSON"
					},
					converters: {
						"* text": String,
						"text html": !0,
						"text json": oe.parseJSON,
						"text xml": oe.parseXML
					},
					flatOptions: {
						url: !0,
						context: !0
					}
				},
				ajaxSetup: function (e, t) {
					return t ? B(B(e, oe.ajaxSettings), t) : B(oe.ajaxSettings, e)
				},
				ajaxPrefilter: z(kt),
				ajaxTransport: z(Et),
				ajax: function (t, n) {
					function r(t, n, r, a) {
						var l, f, y, b, w, C = n;
						2 !== x && (x = 2, u && e.clearTimeout(u), i = void 0, s = a || "", $.readyState = t > 0 ? 4 : 0, l = t >= 200 && t < 300 || 304 === t, r && (b = _(d, $, r)), b = G(d, b, $, l), l ? (d.ifModified && (w = $.getResponseHeader("Last-Modified"), w && (oe.lastModified[o] = w), w = $.getResponseHeader("etag"), w && (oe.etag[o] = w)), 204 === t || "HEAD" === d.type ? C = "nocontent" : 304 === t ? C = "notmodified" : (C = b.state, f = b.data, y = b.error, l = !y)) : (y = C, !t && C || (C = "error", t < 0 && (t = 0))), $.status = t, $.statusText = (n || C) + "", l ? g.resolveWith(h, [f, C, $]) : g.rejectWith(h, [$, C, y]), $.statusCode(v), v = void 0, c && p.trigger(l ? "ajaxSuccess" : "ajaxError", [$, d, l ? f : y]), m.fireWith(h, [$, C]), c && (p.trigger("ajaxComplete", [$, d]), --oe.active || oe.event.trigger("ajaxStop")))
					}
					"object" == typeof t && (n = t, t = void 0), n = n || {};
					var i, o, s, a, u, l, c, f, d = oe.ajaxSetup({}, n),
						h = d.context || d,
						p = d.context && (h.nodeType || h.jquery) ? oe(h) : oe.event,
						g = oe.Deferred(),
						m = oe.Callbacks("once memory"),
						v = d.statusCode || {},
						y = {},
						b = {},
						x = 0,
						w = "canceled",
						$ = {
							readyState: 0,
							getResponseHeader: function (e) {
								var t;
								if (2 === x) {
									if (!a)
										for (a = {}; t = wt.exec(s);) a[t[1].toLowerCase()] = t[2];
									t = a[e.toLowerCase()]
								}
								return null == t ? null : t
							},
							getAllResponseHeaders: function () {
								return 2 === x ? s : null
							},
							setRequestHeader: function (e, t) {
								var n = e.toLowerCase();
								return x || (e = b[n] = b[n] || e, y[e] = t), this
							},
							overrideMimeType: function (e) {
								return x || (d.mimeType = e), this
							},
							statusCode: function (e) {
								var t;
								if (e)
									if (x < 2)
										for (t in e) v[t] = [v[t], e[t]];
									else $.always(e[$.status]);
								return this
							},
							abort: function (e) {
								var t = e || w;
								return i && i.abort(t), r(0, t), this
							}
						};
					if (g.promise($).complete = m.add, $.success = $.done, $.error = $.fail, d.url = ((t || d.url || mt.href) + "").replace(bt, "").replace(Tt, mt.protocol + "//"), d.type = n.method || n.type || d.method || d.type, d.dataTypes = oe.trim(d.dataType || "*").toLowerCase().match(we) || [""], null == d.crossDomain) {
						l = Y.createElement("a");
						try {
							l.href = d.url, l.href = l.href, d.crossDomain = jt.protocol + "//" + jt.host != l.protocol + "//" + l.host
						} catch (C) {
							d.crossDomain = !0
						}
					}
					if (d.data && d.processData && "string" != typeof d.data && (d.data = oe.param(d.data, d.traditional)), W(kt, d, n, $), 2 === x) return $;
					c = oe.event && d.global, c && 0 === oe.active++ && oe.event.trigger("ajaxStart"), d.type = d.type.toUpperCase(), d.hasContent = !Ct.test(d.type), o = d.url, d.hasContent || (d.data && (o = d.url += (yt.test(o) ? "&" : "?") + d.data, delete d.data), d.cache === !1 && (d.url = xt.test(o) ? o.replace(xt, "$1_=" + vt++) : o + (yt.test(o) ? "&" : "?") + "_=" + vt++)), d.ifModified && (oe.lastModified[o] && $.setRequestHeader("If-Modified-Since", oe.lastModified[o]), oe.etag[o] && $.setRequestHeader("If-None-Match", oe.etag[o])), (d.data && d.hasContent && d.contentType !== !1 || n.contentType) && $.setRequestHeader("Content-Type", d.contentType), $.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + ("*" !== d.dataTypes[0] ? ", " + St + "; q=0.01" : "") : d.accepts["*"]);
					for (f in d.headers) $.setRequestHeader(f, d.headers[f]);
					if (d.beforeSend && (d.beforeSend.call(h, $, d) === !1 || 2 === x)) return $.abort();
					w = "abort";
					for (f in {
							success: 1,
							error: 1,
							complete: 1
						}) $[f](d[f]);
					if (i = W(Et, d, n, $)) {
						if ($.readyState = 1, c && p.trigger("ajaxSend", [$, d]), 2 === x) return $;
						d.async && d.timeout > 0 && (u = e.setTimeout(function () {
							$.abort("timeout")
						}, d.timeout));
						try {
							x = 1, i.send(y, r)
						} catch (C) {
							if (!(x < 2)) throw C;
							r(-1, C)
						}
					} else r(-1, "No Transport");
					return $
				},
				getJSON: function (e, t, n) {
					return oe.get(e, t, n, "json")
				},
				getScript: function (e, t) {
					return oe.get(e, void 0, t, "script")
				}
			}), oe.each(["get", "post"], function (e, t) {
				oe[t] = function (e, n, r, i) {
					return oe.isFunction(n) && (i = i || r, r = n, n = void 0), oe.ajax(oe.extend({
						url: e,
						type: t,
						dataType: i,
						data: n,
						success: r
					}, oe.isPlainObject(e) && e))
				}
			}), oe._evalUrl = function (e) {
				return oe.ajax({
					url: e,
					type: "GET",
					dataType: "script",
					async: !1,
					global: !1,
					"throws": !0
				})
			}, oe.fn.extend({
				wrapAll: function (e) {
					var t;
					return oe.isFunction(e) ? this.each(function (t) {
						oe(this).wrapAll(e.call(this, t))
					}) : (this[0] && (t = oe(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
						for (var e = this; e.firstElementChild;) e = e.firstElementChild;
						return e
					}).append(this)), this)
				},
				wrapInner: function (e) {
					return oe.isFunction(e) ? this.each(function (t) {
						oe(this).wrapInner(e.call(this, t))
					}) : this.each(function () {
						var t = oe(this),
							n = t.contents();
						n.length ? n.wrapAll(e) : t.append(e)
					})
				},
				wrap: function (e) {
					var t = oe.isFunction(e);
					return this.each(function (n) {
						oe(this).wrapAll(t ? e.call(this, n) : e)
					})
				},
				unwrap: function () {
					return this.parent().each(function () {
						oe.nodeName(this, "body") || oe(this).replaceWith(this.childNodes)
					}).end()
				}
			}), oe.expr.filters.hidden = function (e) {
				return !oe.expr.filters.visible(e)
			}, oe.expr.filters.visible = function (e) {
				return e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0
			};
			var Mt = /%20/g,
				Ht = /\[\]$/,
				Nt = /\r?\n/g,
				Dt = /^(?:submit|button|image|reset|file)$/i,
				At = /^(?:input|select|textarea|keygen)/i;
			oe.param = function (e, t) {
				var n, r = [],
					i = function (e, t) {
						t = oe.isFunction(t) ? t() : null == t ? "" : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
					};
				if (void 0 === t && (t = oe.ajaxSettings && oe.ajaxSettings.traditional), oe.isArray(e) || e.jquery && !oe.isPlainObject(e)) oe.each(e, function () {
					i(this.name, this.value)
				});
				else
					for (n in e) X(n, e[n], t, i);
				return r.join("&").replace(Mt, "+")
			}, oe.fn.extend({
				serialize: function () {
					return oe.param(this.serializeArray())
				},
				serializeArray: function () {
					return this.map(function () {
						var e = oe.prop(this, "elements");
						return e ? oe.makeArray(e) : this
					}).filter(function () {
						var e = this.type;
						return this.name && !oe(this).is(":disabled") && At.test(this.nodeName) && !Dt.test(e) && (this.checked || !Ae.test(e))
					}).map(function (e, t) {
						var n = oe(this).val();
						return null == n ? null : oe.isArray(n) ? oe.map(n, function (e) {
							return {
								name: t.name,
								value: e.replace(Nt, "\r\n")
							}
						}) : {
							name: t.name,
							value: n.replace(Nt, "\r\n")
						}
					}).get()
				}
			}), oe.ajaxSettings.xhr = function () {
				try {
					return new e.XMLHttpRequest
				} catch (t) {}
			};
			var Ot = {
					0: 200,
					1223: 204
				},
				qt = oe.ajaxSettings.xhr();
			re.cors = !!qt && "withCredentials" in qt, re.ajax = qt = !!qt, oe.ajaxTransport(function (t) {
				var n, r;
				if (re.cors || qt && !t.crossDomain) return {
					send: function (i, o) {
						var s, a = t.xhr();
						if (a.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields)
							for (s in t.xhrFields) a[s] = t.xhrFields[s];
						t.mimeType && a.overrideMimeType && a.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
						for (s in i) a.setRequestHeader(s, i[s]);
						n = function (e) {
							return function () {
								n && (n = r = a.onload = a.onerror = a.onabort = a.onreadystatechange = null, "abort" === e ? a.abort() : "error" === e ? "number" != typeof a.status ? o(0, "error") : o(a.status, a.statusText) : o(Ot[a.status] || a.status, a.statusText, "text" !== (a.responseType || "text") || "string" != typeof a.responseText ? {
									binary: a.response
								} : {
									text: a.responseText
								}, a.getAllResponseHeaders()))
							}
						}, a.onload = n(), r = a.onerror = n("error"), void 0 !== a.onabort ? a.onabort = r : a.onreadystatechange = function () {
							4 === a.readyState && e.setTimeout(function () {
								n && r()
							})
						}, n = n("abort");
						try {
							a.send(t.hasContent && t.data || null)
						} catch (u) {
							if (n) throw u
						}
					},
					abort: function () {
						n && n()
					}
				}
			}), oe.ajaxSetup({
				accepts: {
					script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
				},
				contents: {
					script: /\b(?:java|ecma)script\b/
				},
				converters: {
					"text script": function (e) {
						return oe.globalEval(e), e
					}
				}
			}), oe.ajaxPrefilter("script", function (e) {
				void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
			}), oe.ajaxTransport("script", function (e) {
				if (e.crossDomain) {
					var t, n;
					return {
						send: function (r, i) {
							t = oe("<script>").prop({
								charset: e.scriptCharset,
								src: e.url
							}).on("load error", n = function (e) {
								t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type)
							}), Y.head.appendChild(t[0])
						},
						abort: function () {
							n && n()
						}
					}
				}
			});
			var It = [],
				Lt = /(=)\?(?=&|$)|\?\?/;
			oe.ajaxSetup({
				jsonp: "callback",
				jsonpCallback: function () {
					var e = It.pop() || oe.expando + "_" + vt++;
					return this[e] = !0, e
				}
			}), oe.ajaxPrefilter("json jsonp", function (t, n, r) {
				var i, o, s, a = t.jsonp !== !1 && (Lt.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Lt.test(t.data) && "data");
				if (a || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback = oe.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, a ? t[a] = t[a].replace(Lt, "$1" + i) : t.jsonp !== !1 && (t.url += (yt.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () {
					return s || oe.error(i + " was not called"), s[0]
				}, t.dataTypes[0] = "json", o = e[i], e[i] = function () {
					s = arguments
				}, r.always(function () {
					void 0 === o ? oe(e).removeProp(i) : e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, It.push(i)), s && oe.isFunction(o) && o(s[0]), s = o = void 0
				}), "script"
			}), oe.parseHTML = function (e, t, n) {
				if (!e || "string" != typeof e) return null;
				"boolean" == typeof t && (n = t, t = !1), t = t || Y;
				var r = pe.exec(e),
					i = !n && [];
				return r ? [t.createElement(r[1])] : (r = d([e], t, i), i && i.length && oe(i).remove(), oe.merge([], r.childNodes))
			};
			var Pt = oe.fn.load;
			oe.fn.load = function (e, t, n) {
				if ("string" != typeof e && Pt) return Pt.apply(this, arguments);
				var r, i, o, s = this,
					a = e.indexOf(" ");
				return a > -1 && (r = oe.trim(e.slice(a)), e = e.slice(0, a)), oe.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), s.length > 0 && oe.ajax({
					url: e,
					type: i || "GET",
					dataType: "html",
					data: t
				}).done(function (e) {
					o = arguments, s.html(r ? oe("<div>").append(oe.parseHTML(e)).find(r) : e)
				}).always(n && function (e, t) {
					s.each(function () {
						n.apply(this, o || [e.responseText, t, e])
					})
				}), this
			}, oe.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
				oe.fn[t] = function (e) {
					return this.on(t, e)
				}
			}), oe.expr.filters.animated = function (e) {
				return oe.grep(oe.timers, function (t) {
					return e === t.elem
				}).length
			}, oe.offset = {
				setOffset: function (e, t, n) {
					var r, i, o, s, a, u, l, c = oe.css(e, "position"),
						f = oe(e),
						d = {};
					"static" === c && (e.style.position = "relative"), a = f.offset(), o = oe.css(e, "top"), u = oe.css(e, "left"), l = ("absolute" === c || "fixed" === c) && (o + u).indexOf("auto") > -1, l ? (r = f.position(), s = r.top, i = r.left) : (s = parseFloat(o) || 0, i = parseFloat(u) || 0), oe.isFunction(t) && (t = t.call(e, n, oe.extend({}, a))), null != t.top && (d.top = t.top - a.top + s), null != t.left && (d.left = t.left - a.left + i), "using" in t ? t.using.call(e, d) : f.css(d)
				}
			}, oe.fn.extend({
				offset: function (e) {
					if (arguments.length) return void 0 === e ? this : this.each(function (t) {
						oe.offset.setOffset(this, e, t)
					});
					var t, n, r = this[0],
						i = {
							top: 0,
							left: 0
						},
						o = r && r.ownerDocument;
					if (o) return t = o.documentElement, oe.contains(t, r) ? (i = r.getBoundingClientRect(), n = Q(o), {
						top: i.top + n.pageYOffset - t.clientTop,
						left: i.left + n.pageXOffset - t.clientLeft
					}) : i
				},
				position: function () {
					if (this[0]) {
						var e, t, n = this[0],
							r = {
								top: 0,
								left: 0
							};
						return "fixed" === oe.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), oe.nodeName(e[0], "html") || (r = e.offset()), r.top += oe.css(e[0], "borderTopWidth", !0), r.left += oe.css(e[0], "borderLeftWidth", !0)), {
							top: t.top - r.top - oe.css(n, "marginTop", !0),
							left: t.left - r.left - oe.css(n, "marginLeft", !0)
						}
					}
				},
				offsetParent: function () {
					return this.map(function () {
						for (var e = this.offsetParent; e && "static" === oe.css(e, "position");) e = e.offsetParent;
						return e || Ke
					})
				}
			}), oe.each({
				scrollLeft: "pageXOffset",
				scrollTop: "pageYOffset"
			}, function (e, t) {
				var n = "pageYOffset" === t;
				oe.fn[e] = function (r) {
					return Ce(this, function (e, r, i) {
						var o = Q(e);
						return void 0 === i ? o ? o[t] : e[r] : void(o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i)
					}, e, r, arguments.length)
				}
			}), oe.each(["top", "left"], function (e, t) {
				oe.cssHooks[t] = S(re.pixelPosition, function (e, n) {
					if (n) return n = E(e, t), Ye.test(n) ? oe(e).position()[t] + "px" : n
				})
			}), oe.each({
				Height: "height",
				Width: "width"
			}, function (e, t) {
				oe.each({
					padding: "inner" + e,
					content: t,
					"": "outer" + e
				}, function (n, r) {
					oe.fn[r] = function (r, i) {
						var o = arguments.length && (n || "boolean" != typeof r),
							s = n || (r === !0 || i === !0 ? "margin" : "border");
						return Ce(this, function (t, n, r) {
							var i;
							return oe.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === r ? oe.css(t, n, s) : oe.style(t, n, r, s)
						}, t, o ? r : void 0, o, null)
					}
				})
			}), oe.fn.extend({
				bind: function (e, t, n) {
					return this.on(e, null, t, n)
				},
				unbind: function (e, t) {
					return this.off(e, null, t)
				},
				delegate: function (e, t, n, r) {
					return this.on(t, e, n, r)
				},
				undelegate: function (e, t, n) {
					return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
				},
				size: function () {
					return this.length
				}
			}), oe.fn.andSelf = oe.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function () {
				return oe
			});
			var Ft = e.jQuery,
				Rt = e.$;
			return oe.noConflict = function (t) {
				return e.$ === oe && (e.$ = Rt), t && e.jQuery === oe && (e.jQuery = Ft), oe
			}, t || (e.jQuery = e.$ = oe), oe
		})
	}, {}]
}, {}, [10]);