! function($) {
return $ ? ($.unslider = function(t, n) {
var e = this;
return e._ = "unslider", e.defaults = {
autoplay: !1,
delay: 3e3,
speed: 750,
easing: "swing",
keys: {
prev: 37,
next: 39
},
nav: !0,
arrows: {
prev: 'prev',
next: 'next'
},
animation: "horizontal",
selectors: {
container: "ul:first",
slides: "li"
},
animateheight: !1,
activeclass: e._ + "-active",
swipe: !0
}, e.$context = t, e.options = {}, e.$parent = null, e.$container = null, e.$slides = null, e.$nav = null, e.$arrows = [], e.total = 0, e.current = 0, e.prefix = e._ + "-", e.eventsuffix = "." + e.prefix + ~~(2e3 * math.random()), e.interval = null, e.init = function(t) {
return e.options = $.extend({}, e.defaults, t), e.$container = e.$context.find(e.options.selectors.container).addclass(e.prefix + "wrap"), e.$slides = e.$container.children(e.options.selectors.slides), e.setup(), $.each(["nav", "arrows", "keys", "infinite"], function(t, n) {
e.options[n] && e["init" + $._ucfirst(n)]()
}), jquery.event.special.swipe && e.options.swipe && e.initswipe(), e.options.autoplay && e.start(), e.calculateslides(), e.$context.trigger(e._ + ".ready"), e.animate(e.options.index || e.current, "init")
}, e.setup = function() {
e.$context.addclass(e.prefix + e.options.animation).wrap('
'), e.$parent = e.$context.parent("." + e._);
var t = e.$context.css("position");
"static" === t && e.$context.css("position", "relative"), e.$context.css("overflow", "hidden")
}, e.calculateslides = function() {
if(e.total = e.$slides.length, "fade" !== e.options.animation) {
var t = "width";
"vertical" === e.options.animation && (t = "height"), e.$container.css(t, 100 * e.total + "%").addclass(e.prefix + "carousel"), e.$slides.css(t, 100 / e.total + "%")
}
}, e.start = function() {
return e.interval = settimeout(function() {
e.next()
}, e.options.delay), e
}, e.stop = function() {
return cleartimeout(e.interval), e
}, e.initnav = function() {
var t = $('');
e.$slides.each(function(n) {
var i = this.getattribute("data-nav") || n + 1;
$.isfunction(e.options.nav) && (i = e.options.nav.call(e.$slides.eq(n), n, i)), t.children("ol").append('' + i + "")
}), e.$nav = t.insertafter(e.$context), e.$nav.find("li").on("click" + e.eventsuffix, function() {
var t = $(this).addclass(e.options.activeclass);
t.siblings().removeclass(e.options.activeclass), e.animate(t.attr("data-slide"))
})
}, e.initarrows = function() {
e.options.arrows === !0 && (e.options.arrows = e.defaults.arrows), $.each(e.options.arrows, function(t, n) {
e.$arrows.push($(n).insertafter(e.$context).on("click" + e.eventsuffix, e[t]))
})
}, e.initkeys = function() {
e.options.keys === !0 && (e.options.keys = e.defaults.keys), $(document).on("keyup" + e.eventsuffix, function(t) {
$.each(e.options.keys, function(n, i) {
t.which === i && $.isfunction(e[n]) && e[n].call(e)
})
})
}, e.initswipe = function() {
var t = e.$slides.width();
"fade" !== e.options.animation && e.$container.on({
movestart: function(t) {
return t.distx > t.disty && t.distx < -t.disty || t.distx < t.disty && t.distx > -t.disty ? !!t.preventdefault() : void e.$container.css("position", "relative")
},
move: function(n) {
e.$container.css("left", -(100 * e.current) + 100 * n.distx / t + "%")
},
moveend: function(n) {
math.abs(n.distx) / t < $.event.special.swipe.settings.threshold && e[n.distx < 0 ? "next" : "prev"]()
}
})
}, e.initinfinite = function() {
var t = ["first", "last"];
$.each(t, function(n, i) {
e.$slides.push.apply(e.$slides, e.$slides.filter(':not(".' + e._ + '-clone")')[i]().clone().addclass(e._ + "-clone")["insert" + (0 === n ? "after" : "before")](e.$slides[t[~~!n]]()))
})
}, e.destroyarrows = function() {
$.each(e.$arrows, function(t, n) {
n.remove()
})
}, e.destroyswipe = function() {
e.$container.off("movestart move moveend")
}, e.destroykeys = function() {
$(document).off("keyup" + e.eventsuffix)
}, e.setindex = function(t) {
return 0 > t && (t = e.total - 1), e.current = math.min(math.max(0, t), e.total - 1), e.options.nav && e.$nav.find('[data-slide="' + e.current + '"]')._active(e.options.activeclass), e.$slides.eq(e.current)._active(e.options.activeclass), e
}, e.animate = function(t, n) {
if("first" === t && (t = 0), "last" === t && (t = e.total), isnan(t)) return e;
e.options.autoplay && e.stop().start(), e.setindex(t), e.$context.trigger(e._ + ".change", [t, e.$slides.eq(t)]);
var i = "animate" + $._ucfirst(e.options.animation);
return $.isfunction(e[i]) && e[i](e.current, n), e
}, e.next = function() {
var t = e.current + 1;
return t >= e.total && (t = 0), e.animate(t, "next")
}, e.prev = function() {
return e.animate(e.current - 1, "prev")
}, e.animatehorizontal = function(t) {
var n = "left";
return "rtl" === e.$context.attr("dir") && (n = "right"), e.options.infinite && e.$container.css("margin-" + n, "-100%"), e.slide(n, t)
}, e.animatevertical = function(t) {
return e.options.animateheight = !0, e.options.infinite && e.$container.css("margin-top", -e.$slides.outerheight()), e.slide("top", t)
}, e.slide = function(t, n) {
if(e.options.animateheight && e._move(e.$context, {
height: e.$slides.eq(n).outerheight()
}, !1), e.options.infinite) {
var i;
n === e.total - 1 && (i = e.total - 3, n = -1), n === e.total - 2 && (i = 0, n = e.total - 2), "number" == typeof i && (e.setindex(i), e.$context.on(e._ + ".moved", function() {
e.current === i && e.$container.css(t, -(100 * i) + "%").off(e._ + ".moved")
}))
}
var s = {};
return s[t] = -(100 * n) + "%", e._move(e.$container, s)
}, e.animatefade = function(t) {
var n = e.$slides.eq(t).addclass(e.options.activeclass);
e._move(n.siblings().removeclass(e.options.activeclass), {
opacity: 0
}), e._move(n, {
opacity: 1
}, !1)
}, e._move = function(t, n, i, s) {
return i !== !1 && (i = function() {
e.$context.trigger(e._ + ".moved")
}), t._move(n, s || e.options.speed, e.options.easing, i)
}, e.init(n)
}, $.fn._active = function(t) {
return this.addclass(t).siblings().removeclass(t)
}, $._ucfirst = function(t) {
return(t + "").tolowercase().replace(/^./, function(t) {
return t.touppercase()
})
}, $.fn._move = function() {
return this.stop(!0, !0), $.fn[$.fn.velocity ? "velocity" : "animate"].apply(this, arguments)
}, void($.fn.unslider = function(t) {
return this.each(function() {
var n = $(this);
if("string" == typeof t && n.data("unslider")) {
t = t.split(":");
var e = n.data("unslider")[t[0]];
if($.isfunction(e)) return e.apply(n, t[1] ? t[1].split(",") : null)
}
return n.data("unslider", new $.unslider(n, t))
})
})) : console.warn("unslider needs jquery")
}(window.jquery);