window.Modernizr=function(n,t,i){function a(n){c.cssText=n}function yt(n,t){return a(y.join(n+";")+(t||""))}function h(n,t){return typeof n===t}function v(n,t){return!!~(""+n).indexOf(t)}function lt(n,t){var u,r;for(u in n)if(r=n[u],!v(r,"-")&&c[r]!==i)return t=="pfx"?r:!0;return!1}function pt(n,t,r){var f,u;for(f in n)if(u=t[n[f]],u!==i)return r===!1?n[f]:h(u,"function")?u.bind(r||t):u;return!1}function f(n,t,i){var r=n.charAt(0).toUpperCase()+n.slice(1),u=(n+" "+ot.join(r+" ")+r).split(" ");return h(t,"string")||h(t,"undefined")?lt(u,t):(u=(n+" "+st.join(r+" ")+r).split(" "),pt(u,t,i))}function wt(){u.input=function(i){for(var r=0,u=i.length;r<u;r++)w[i[r]]=!!(i[r]in o);return w.list&&(w.list=!!(t.createElement("datalist")&&n.HTMLDataListElement)),w}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),u.inputtypes=function(n){for(var u=0,r,f,e,h=n.length;u<h;u++)o.setAttribute("type",f=n[u]),r=o.type!=="text",r&&(o.value=nt,o.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&o.style.WebkitAppearance!==i?(s.appendChild(o),e=t.defaultView,r=e.getComputedStyle&&e.getComputedStyle(o,null).WebkitAppearance!=="textfield"&&o.offsetHeight!==0,s.removeChild(o)):/^(search|tel)$/.test(f)||(r=/^(url|email)$/.test(f)?o.checkValidity&&o.checkValidity()===!1:o.value!=nt)),ht[n[u]]=!!r;return ht}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var at="2.6.2",u={},g=!0,s=t.documentElement,e="modernizr",ut=t.createElement(e),c=ut.style,o=t.createElement("input"),nt=":)",ft={}.toString,y=" -webkit- -moz- -o- -ms- ".split(" "),et="Webkit Moz O ms",ot=et.split(" "),st=et.toLowerCase().split(" "),p={svg:"http://www.w3.org/2000/svg"},r={},ht={},w={},tt=[],it=tt.slice,b,l=function(n,i,r,u){var l,a,c,v,f=t.createElement("div"),h=t.body,o=h||t.createElement("body");if(parseInt(r,10))while(r--)c=t.createElement("div"),c.id=u?u[r]:e+(r+1),f.appendChild(c);return l=["&#173;",'<style id="s',e,'">',n,"<\/style>"].join(""),f.id=e,(h?f:o).innerHTML+=l,o.appendChild(f),h||(o.style.background="",o.style.overflow="hidden",v=s.style.overflow,s.style.overflow="hidden",s.appendChild(o)),a=i(f,n),h?f.parentNode.removeChild(f):(o.parentNode.removeChild(o),s.style.overflow=v),!!a},vt=function(t){var i=n.matchMedia||n.msMatchMedia,r;return i?i(t).matches:(l("@media "+t+" { #"+e+" { position: absolute; } }",function(t){r=(n.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position=="absolute"}),r)},ct=function(){function r(r,u){u=u||t.createElement(n[r]||"div"),r="on"+r;var f=r in u;return f||(u.setAttribute||(u=t.createElement("div")),u.setAttribute&&u.removeAttribute&&(u.setAttribute(r,""),f=h(u[r],"function"),h(u[r],"undefined")||(u[r]=i),u.removeAttribute(r))),u=null,f}var n={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return r}(),rt={}.hasOwnProperty,k,d;k=h(rt,"undefined")||h(rt.call,"undefined")?function(n,t){return t in n&&h(n.constructor.prototype[t],"undefined")}:function(n,t){return rt.call(n,t)},Function.prototype.bind||(Function.prototype.bind=function(n){var t=this,i,r;if(typeof t!="function")throw new TypeError;return i=it.call(arguments,1),r=function(){var f,e,u;return this instanceof r?(f=function(){},f.prototype=t.prototype,e=new f,u=t.apply(e,i.concat(it.call(arguments))),Object(u)===u)?u:e:t.apply(n,i.concat(it.call(arguments)))},r}),r.flexbox=function(){return f("flexWrap")},r.flexboxlegacy=function(){return f("boxDirection")},r.canvas=function(){var n=t.createElement("canvas");return!!(n.getContext&&n.getContext("2d"))},r.canvastext=function(){return!!(u.canvas&&h(t.createElement("canvas").getContext("2d").fillText,"function"))},r.webgl=function(){return!!n.WebGLRenderingContext},r.touch=function(){var i;return"ontouchstart"in n||n.DocumentTouch&&t instanceof DocumentTouch?i=!0:l(["@media (",y.join("touch-enabled),("),e,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(n){i=n.offsetTop===9}),i},r.geolocation=function(){return"geolocation"in navigator},r.postmessage=function(){return!!n.postMessage},r.websqldatabase=function(){return!!n.openDatabase},r.indexedDB=function(){return!!f("indexedDB",n)},r.hashchange=function(){return ct("hashchange",n)&&(t.documentMode===i||t.documentMode>7)},r.history=function(){return!!(n.history&&history.pushState)},r.draganddrop=function(){var n=t.createElement("div");return"draggable"in n||"ondragstart"in n&&"ondrop"in n},r.websockets=function(){return"WebSocket"in n||"MozWebSocket"in n},r.rgba=function(){return a("background-color:rgba(150,255,150,.5)"),v(c.backgroundColor,"rgba")},r.hsla=function(){return a("background-color:hsla(120,40%,100%,.5)"),v(c.backgroundColor,"rgba")||v(c.backgroundColor,"hsla")},r.multiplebgs=function(){return a("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(c.background)},r.backgroundsize=function(){return f("backgroundSize")},r.borderimage=function(){return f("borderImage")},r.borderradius=function(){return f("borderRadius")},r.boxshadow=function(){return f("boxShadow")},r.textshadow=function(){return t.createElement("div").style.textShadow===""},r.opacity=function(){return yt("opacity:.55"),/^0.55$/.test(c.opacity)},r.cssanimations=function(){return f("animationName")},r.csscolumns=function(){return f("columnCount")},r.cssgradients=function(){var n="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",i="linear-gradient(left top,#9f9, white);";return a((n+"-webkit- ".split(" ").join(t+n)+y.join(i+n)).slice(0,-n.length)),v(c.backgroundImage,"gradient")},r.cssreflections=function(){return f("boxReflect")},r.csstransforms=function(){return!!f("transform")},r.csstransforms3d=function(){var n=!!f("perspective");return n&&"webkitPerspective"in s.style&&l("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){n=t.offsetLeft===9&&t.offsetHeight===3}),n},r.csstransitions=function(){return f("transition")},r.fontface=function(){var n;return l('@font-face {font-family:"font";src:url("https://")}',function(i,r){var f=t.getElementById("smodernizr"),u=f.sheet||f.styleSheet,e=u?u.cssRules&&u.cssRules[0]?u.cssRules[0].cssText:u.cssText||"":"";n=/src/i.test(e)&&e.indexOf(r.split(" ")[0])===0}),n},r.generatedcontent=function(){var n;return l(["#",e,"{font:0/0 a}#",e,':after{content:"',nt,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){n=t.offsetHeight>=3}),n},r.video=function(){var i=t.createElement("video"),n=!1;try{(n=!!i.canPlayType)&&(n=new Boolean(n),n.ogg=i.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),n.h264=i.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),n.webm=i.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(r){}return n},r.audio=function(){var i=t.createElement("audio"),n=!1;try{(n=!!i.canPlayType)&&(n=new Boolean(n),n.ogg=i.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),n.mp3=i.canPlayType("audio/mpeg;").replace(/^no$/,""),n.wav=i.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),n.m4a=(i.canPlayType("audio/x-m4a;")||i.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(r){}return n},r.localstorage=function(){try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(n){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch(n){return!1}},r.webworkers=function(){return!!n.Worker},r.applicationcache=function(){return!!n.applicationCache},r.svg=function(){return!!t.createElementNS&&!!t.createElementNS(p.svg,"svg").createSVGRect},r.inlinesvg=function(){var n=t.createElement("div");return n.innerHTML="<svg/>",(n.firstChild&&n.firstChild.namespaceURI)==p.svg},r.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(ft.call(t.createElementNS(p.svg,"animate")))},r.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(ft.call(t.createElementNS(p.svg,"clipPath")))};for(d in r)k(r,d)&&(b=d.toLowerCase(),u[b]=r[d](),tt.push((u[b]?"":"no-")+b));return u.input||wt(),u.addTest=function(n,t){if(typeof n=="object")for(var r in n)k(n,r)&&u.addTest(r,n[r]);else{if(n=n.toLowerCase(),u[n]!==i)return u;t=typeof t=="function"?t():t,typeof g!="undefined"&&g&&(s.className+=" "+(t?"":"no-")+n),u[n]=t}return u},a(""),ut=o=null,function(n,t){function p(n,t){var i=n.createElement("p"),r=n.getElementsByTagName("head")[0]||n.documentElement;return i.innerHTML="x<style>"+t+"<\/style>",r.insertBefore(i.lastChild,r.firstChild)}function c(){var n=r.elements;return typeof n=="string"?n.split(" "):n}function o(n){var t=h[n[s]];return t||(t={},e++,n[s]=e,h[e]=t),t}function l(n,r,u){if(r||(r=t),i)return r.createElement(n);u||(u=o(r));var f;return f=u.cache[n]?u.cache[n].cloneNode():y.test(n)?(u.cache[n]=u.createElem(n)).cloneNode():u.createElem(n),f.canHaveChildren&&!v.test(n)?u.frag.appendChild(f):f}function w(n,r){if(n||(n=t),i)return n.createDocumentFragment();r=r||o(n);for(var f=r.frag.cloneNode(),u=0,e=c(),s=e.length;u<s;u++)f.createElement(e[u]);return f}function b(n,t){t.cache||(t.cache={},t.createElem=n.createElement,t.createFrag=n.createDocumentFragment,t.frag=t.createFrag()),n.createElement=function(i){return r.shivMethods?l(i,n,t):t.createElem(i)},n.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+c().join().replace(/\w+/g,function(n){return t.createElem(n),t.frag.createElement(n),'c("'+n+'")'})+");return n}")(r,t.frag)}function a(n){n||(n=t);var u=o(n);return!r.shivCSS||f||u.hasCSS||(u.hasCSS=!!p(n,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),i||b(n,u),n}var u=n.html5||{},v=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,y=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,s="_html5shiv",e=0,h={},i,r;(function(){try{var n=t.createElement("a");n.innerHTML="<xyz><\/xyz>",f="hidden"in n,i=n.childNodes.length==1||function(){t.createElement("a");var n=t.createDocumentFragment();return typeof n.cloneNode=="undefined"||typeof n.createDocumentFragment=="undefined"||typeof n.createElement=="undefined"}()}catch(r){f=!0,i=!0}})(),r={elements:u.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:u.shivCSS!==!1,supportsUnknownElements:i,shivMethods:u.shivMethods!==!1,type:"default",shivDocument:a,createElement:l,createDocumentFragment:w},n.html5=r,a(t)}(this,t),u._version=at,u._prefixes=y,u._domPrefixes=st,u._cssomPrefixes=ot,u.mq=vt,u.hasEvent=ct,u.testProp=function(n){return lt([n])},u.testAllProps=f,u.testStyles=l,u.prefixed=function(n,t,i){return t?f(n,t,i):f(n,"pfx")},s.className=s.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(g?" js "+tt.join(" "):""),u}(this,this.document);var Mustache=function(){function s(n){return String(n).replace(/&(?!#?\w+;)|[<>"']/g,function(n){return e[n]||n})}var o=Object.prototype.toString,t,n,i,r,e,u,f;return Array.isArray=Array.isArray||function(n){return o.call(n)=="[object Array]"},t=String.prototype.trim,t?n=function(n){return n==null?"":t.call(n)}:(/\S/.test(" ")?(i=/^[\s\xA0]+/,r=/[\s\xA0]+$/):(i=/^\s+/,r=/\s+$/),n=function(n){return n==null?"":n.toString().replace(i,"").replace(r,"")}),e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},u={},f=function(){},f.prototype={otag:"{{",ctag:"}}",pragmas:{},buffer:[],pragmas_implemented:{"IMPLICIT-ITERATOR":!0},context:{},render:function(n,t,i,r){if(r||(this.context=t,this.buffer=[]),!this.includes("",n)){if(r)return n;this.send(n);return}n=this.render_pragmas(n);var u=this.render_section(n,t,i);if(u===!1&&(u=this.render_tags(n,t,i,r)),r)return u;this.sendLines(u)},send:function(n){n!==""&&this.buffer.push(n)},sendLines:function(n){var i,t;if(n)for(i=n.split("\n"),t=0;t<i.length;t++)this.send(i[t])},render_pragmas:function(n){if(!this.includes("%",n))return n;var t=this,i=this.getCachedRegex("render_pragmas",function(n,t){return new RegExp(n+"%([\\w-]+) ?([\\w]+=[\\w]+)?"+t,"g")});return n.replace(i,function(n,i,r){if(!t.pragmas_implemented[i])throw{message:"This implementation of mustache doesn't understand the '"+i+"' pragma"};if(t.pragmas[i]={},r){var u=r.split("=");t.pragmas[i][u[0]]=u[1]}return""})},render_partial:function(t,i,r){if(t=n(t),!r||r[t]===undefined)throw{message:"unknown_partial '"+t+"'"};return!i||typeof i[t]!="object"?this.render(r[t],i,r,!0):this.render(r[t],i[t],r,!0)},render_section:function(n,t,i){if(!this.includes("#",n)&&!this.includes("^",n))return!1;var r=this,u=this.getCachedRegex("render_section",function(n,t){return new RegExp("^([\\s\\S]*?)"+n+"(\\^|\\#)\\s*(.+?)\\s*"+t+"\n*([\\s\\S]*?)"+n+"\\/\\s*\\3\\s*"+t+"\\s*([\\s\\S]*)$","g")});return n.replace(u,function(n,u,f,e,o,s){var l=u?r.render_tags(u,t,i,!0):"",a=s?r.render(s,t,i,!0):"",c,h=r.find(e,t);return f==="^"?c=!h||Array.isArray(h)&&h.length===0?r.render(o,t,i,!0):"":f==="#"&&(c=Array.isArray(h)?r.map(h,function(n){return r.render(o,r.create_context(n),i,!0)}).join(""):r.is_object(h)?r.render(o,r.create_context(h),i,!0):typeof h=="function"?h.call(t,o,function(n){return r.render(n,t,i,!0)}):h?r.render(o,t,i,!0):""),l+c+a})},render_tags:function(n,t,i,r){for(var f=this,o=function(){return f.getCachedRegex("render_tags",function(n,t){return new RegExp(n+"(=|!|>|&|\\{|%)?([^#\\^]+?)\\1?"+t+"+","g")})},h=o(),c=function(n,r,u){switch(r){case"!":return"";case"=":return f.set_delimiters(u),h=o(),"";case">":return f.render_partial(u,t,i);case"{":case"&":return f.find(u,t);default:return s(f.find(u,t))}},e=n.split("\n"),u=0;u<e.length;u++)e[u]=e[u].replace(h,c,this),r||this.send(e[u]);if(r)return e.join("\n")},set_delimiters:function(n){var t=n.split(" ");this.otag=this.escape_regex(t[0]),this.ctag=this.escape_regex(t[1])},escape_regex:function(n){if(!arguments.callee.sRE){var t=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];arguments.callee.sRE=new RegExp("(\\"+t.join("|\\")+")","g")}return n.replace(arguments.callee.sRE,"\\$1")},find:function(t,i){function u(n){return n===!1||n===0||n}var r,f;return(t=n(t),t.match(/([a-z_]+)\./ig)?(f=this.walk_context(t,i),u(f)&&(r=f)):u(i[t])?r=i[t]:u(this.context[t])&&(r=this.context[t]),typeof r=="function")?r.apply(i):r!==undefined?r:""},walk_context:function(n,t){for(var r=n.split("."),u=t[r[0]]!=undefined?t:this.context,i=u[r.shift()];i!=undefined&&r.length>0;)u=i,i=i[r.shift()];return typeof i=="function"?i.apply(u):i},includes:function(n,t){return t.indexOf(this.otag+n)!=-1},create_context:function(n){var t,i;return this.is_object(n)?n:(t=".",this.pragmas["IMPLICIT-ITERATOR"]&&(t=this.pragmas["IMPLICIT-ITERATOR"].iterator),i={},i[t]=n,i)},is_object:function(n){return n&&typeof n=="object"},map:function(n,t){var r,u,i;if(typeof n.map=="function")return n.map(t);for(r=[],u=n.length,i=0;i<u;i++)r.push(t(n[i]));return r},getCachedRegex:function(n,t){var r=u[this.otag],i,f;return r||(r=u[this.otag]={}),i=r[this.ctag],i||(i=r[this.ctag]={}),f=i[n],f||(f=i[n]=t(this.otag,this.ctag)),f}},{name:"mustache.js",version:"0.4.1",to_html:function(n,t,i,r){var u=new f;return r&&(u.send=r),u.render(n,t||{},i),r?void 0:u.buffer.join("\n")}}}();!function(n,t){function o(n,t){function s(){}s[i]=this[i];var e=this,h=new s,o=r(n),c=o?n:this,l=o?{}:n,u=function(){this.initialize?this.initialize.apply(this,arguments):(t||o&&e.apply(this,arguments),c.apply(this,arguments))};return u.methods=function(n){return f(h,n,e),u[i]=h,this},u.methods.call(u,l).prototype.constructor=u,u.extend=arguments.callee,u[i].implement=u.statics=function(n,t){return n=typeof n=="string"?function(){var i={};return i[n]=t,i}():n,f(this,n,e),this},u}function f(n,t,u){for(var f in t)t.hasOwnProperty(f)&&(n[f]=r(t[f])&&r(u[i][f])&&h.test(t[f])?s(f,t[f],u):t[f])}function s(n,t,r){return function(){var f=this.supr,u;return this.supr=r[i][n],u=t.apply(this,arguments),this.supr=f,u}}function u(n){return o.call(r(n)?n:c,n,1)}var h=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,c=function(){},i="prototype",r=function(n){return typeof n===t},e;typeof module!="undefined"&&module.exports?module.exports=u:(e=n.klass,u.noConflict=function(){return n.klass=e,this},n.klass=u)}(this,"function"),function(n){Function.prototype.bind||(Function.prototype.bind=function(n){var i=[].slice,f=i.call(arguments,1),r=this,t=function(){},u=function(){return r.apply(this instanceof t?this:n||{},f.concat(i.call(arguments)))};return t.prototype=r.prototype,u.prototype=new t,u}),typeof n.Code=="undefined"&&(n.Code={}),n.Code.Util={registerNamespace:function(){for(var e=arguments,r=null,t,o,i,u,s,f=0,h=e.length;f<h;f++)for(o=e[f],i=o.split("."),u=i[0],typeof n[u]=="undefined"&&(n[u]={}),r=n[u],t=1,s=i.length;t<s;++t)r[i[t]]=r[i[t]]||{},r=r[i[t]]},coalesce:function(){for(var n=0,t=arguments.length;n<t;n++)if(!this.isNothing(arguments[n]))return arguments[n];return null},extend:function(n,t,i){var r;if(this.isNothing(i)&&(i=!0),n&&t&&this.isObject(t))for(r in t)this.objectHasProperty(t,r)&&(i?n[r]=t[r]:typeof n[r]=="undefined"&&(n[r]=t[r]))},clone:function(n){var t={};return this.extend(t,n),t},isObject:function(n){return n instanceof Object},isFunction:function(n){return{}.toString.call(n)==="[object Function]"},isArray:function(n){return n instanceof Array},isLikeArray:function(n){return typeof n.length=="number"},isNumber:function(n){return typeof n=="number"},isString:function(n){return typeof n=="string"},isNothing:function(n){return typeof n=="undefined"||n===null?!0:!1},swapArrayElements:function(n,t,i){var r=n[t];n[t]=n[i],n[i]=r},trim:function(n){return n.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},toCamelCase:function(n){return n.replace(/(\-[a-z])/g,function(n){return n.toUpperCase().replace("-","")})},toDashedCase:function(n){return n.replace(/([A-Z])/g,function(n){return"-"+n.toLowerCase()})},arrayIndexOf:function(n,t,i){var r,e,u,f;for(u=-1,r=0,e=t.length;r<e;r++)if(f=t[r],this.isNothing(i)){if(f===n){u=r;break}}else if(this.objectHasProperty(f,i)&&f[i]===n){u=r;break}return u},objectHasProperty:function(n,t){return n.hasOwnProperty?n.hasOwnProperty(t):"undefined"!=typeof n[t]}}}(window),function(n,t){t.Browser={ua:null,version:null,safari:null,webkit:null,opera:null,msie:null,chrome:null,mozilla:null,android:null,blackberry:null,iPad:null,iPhone:null,iPod:null,iOS:null,is3dSupported:null,isCSSTransformSupported:null,isTouchSupported:null,isGestureSupported:null,_detect:function(){this.ua=n.navigator.userAgent,this.version=this.ua.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[],this.safari=/Safari/gi.test(n.navigator.appVersion),this.webkit=/webkit/i.test(this.ua),this.opera=/opera/i.test(this.ua),this.msie=/msie/i.test(this.ua)&&!this.opera,this.chrome=/Chrome/i.test(this.ua),this.firefox=/Firefox/i.test(this.ua),this.fennec=/Fennec/i.test(this.ua),this.mozilla=/mozilla/i.test(this.ua)&&!/(compatible|webkit)/.test(this.ua),this.android=/android/i.test(this.ua),this.blackberry=/blackberry/i.test(this.ua),this.iOS=/iphone|ipod|ipad/gi.test(n.navigator.platform),this.iOS7=this.iOS&&/OS 7_/i.test(navigator.userAgent),this.iPad=/ipad/gi.test(n.navigator.platform),this.iPhone=/iphone/gi.test(n.navigator.platform),this.iPod=/ipod/gi.test(n.navigator.platform);var i=document.createElement("div");this.is3dSupported=!t.isNothing(i.style.WebkitPerspective),this.isCSSTransformSupported=!t.isNothing(i.style.WebkitTransform)||!t.isNothing(i.style.MozTransform)||!t.isNothing(i.style.transformProperty),this.isTouchSupported=this.isEventSupported("touchstart"),this.isGestureSupported=this.isEventSupported("gesturestart")},_eventTagNames:{select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"},isEventSupported:function(n){if(this.iOS7&&n=="gesturestart")return!0;var i=document.createElement(this._eventTagNames[n]||"div"),r;return n="on"+n,r=t.objectHasProperty(i,n),r||(i.setAttribute(n,"return;"),r=typeof i[n]=="function"),i=null,r},isLandscape:function(){return t.DOM.windowWidth()>t.DOM.windowHeight()}},t.Browser._detect()}(window,window.Code.Util),function(n,t,i){i.extend(i,{Events:{add:function(n,i,r){t(n).bind(i,r)},remove:function(n,i,r){t(n).unbind(i,r)},fire:function(n,i){var r,u=Array.prototype.slice.call(arguments).splice(2);r=typeof i=="string"?{type:i}:i,t(n).trigger(t.Event(r.type,r),u)},getMousePosition:function(n){return{x:n.pageX,y:n.pageY}},getTouchEvent:function(n){return n.originalEvent},getWheelDelta:function(n){var t=0;return i.isNothing(n.wheelDelta)?i.isNothing(n.detail)||(t=-n.detail/3):t=n.wheelDelta/120,t},domReady:function(n){t(document).ready(n)}}})}(window,window.jQuery,window.Code.Util),function(n,t,i){i.extend(i,{DOM:{setData:function(n,t,r){if(i.isLikeArray(n))for(var u=0,f=n.length;u<f;u++)i.DOM._setData(n[u],t,r);else i.DOM._setData(n,t,r)},_setData:function(n,t,r){i.DOM.setAttribute(n,"data-"+t,r)},getData:function(n,t,r){return i.DOM.getAttribute(n,"data-"+t,r)},removeData:function(n,t){if(i.isLikeArray(n))for(var r=0,u=n.length;r<u;r++)i.DOM._removeData(n[r],t);else i.DOM._removeData(n,t)},_removeData:function(n,t){i.DOM.removeAttribute(n,"data-"+t)},isChildOf:function(n,t){if(t===n)return!1;while(n&&n!==t)n=n.parentNode;return n===t},find:function(r,u){i.isNothing(u)&&(u=n.document);for(var e=t(r,u),o=[],f=0,s=e.length;f<s;f++)o.push(e[f]);return o},createElement:function(n,i,r){var u=t("<"+n+"><\/"+n+">");return u.attr(i),u.append(r),u[0]},appendChild:function(n,i){t(i).append(n)},insertBefore:function(n,i){t(n).insertBefore(i)},appendText:function(n,i){t(i).text(n)},appendToBody:function(n){t("body").append(n)},removeChild:function(n){t(n).empty().remove()},removeChildren:function(n){t(n).empty()},hasAttribute:function(n,r){return!i.isNothing(t(n).attr(r))},getAttribute:function(n,r,u){var f=t(n).attr(r);return i.isNothing(f)&&!i.isNothing(u)&&(f=u),f},setAttribute:function(n,t,r){if(i.isLikeArray(n))for(var u=0,f=n.length;u<f;u++)i.DOM._setAttribute(n[u],t,r);else i.DOM._setAttribute(n,t,r)},_setAttribute:function(n,i,r){t(n).attr(i,r)},removeAttribute:function(n,t){if(i.isLikeArray(n))for(var r=0,u=n.length;r<u;r++)i.DOM._removeAttribute(n[r],t);else i.DOM._removeAttribute(n,t)},_removeAttribute:function(n,i){t(n).removeAttr(i)},addClass:function(n,t){if(i.isLikeArray(n))for(var r=0,u=n.length;r<u;r++)i.DOM._addClass(n[r],t);else i.DOM._addClass(n,t)},_addClass:function(n,i){t(n).addClass(i)},removeClass:function(n,t){if(i.isLikeArray(n))for(var r=0,u=n.length;r<u;r++)i.DOM._removeClass(n[r],t);else i.DOM._removeClass(n,t)},_removeClass:function(n,i){t(n).removeClass(i)},hasClass:function(n,i){t(n).hasClass(i)},setStyle:function(n,t,r){if(i.isLikeArray(n))for(var u=0,f=n.length;u<f;u++)i.DOM._setStyle(n[u],t,r);else i.DOM._setStyle(n,t,r)},_setStyle:function(n,r,u){var f;if(i.isObject(r))for(f in r)i.objectHasProperty(r,f)&&(f==="width"?i.DOM.width(n,r[f]):f==="height"?i.DOM.height(n,r[f]):t(n).css(f,r[f]));else t(n).css(r,u)},getStyle:function(n,i){return t(n).css(i)},hide:function(n){if(i.isLikeArray(n))for(var t=0,r=n.length;t<r;t++)i.DOM._hide(n[t]);else i.DOM._hide(n)},_hide:function(n){t(n).hide()},show:function(n){if(i.isLikeArray(n))for(var t=0,r=n.length;t<r;t++)i.DOM._show(n[t]);else i.DOM._show(n)},_show:function(n){t(n).show()},width:function(n,r){return i.isNothing(r)||t(n).width(r),t(n).width()},outerWidth:function(n){return t(n).outerWidth()},height:function(n,r){return i.isNothing(r)||t(n).height(r),t(n).height()},outerHeight:function(n){return t(n).outerHeight()},documentWidth:function(){return t(document.documentElement).width()},documentHeight:function(){return t(document.documentElement).height()},documentOuterWidth:function(){return i.DOM.width(document.documentElement)},documentOuterHeight:function(){return i.DOM.outerHeight(document.documentElement)},bodyWidth:function(){return t(document.body).width()},bodyHeight:function(){return t(document.body).height()},bodyOuterWidth:function(){return i.DOM.outerWidth(document.body)},bodyOuterHeight:function(){return i.DOM.outerHeight(document.body)},windowWidth:function(){return n.innerWidth?n.innerWidth:t(n).width()},windowHeight:function(){return n.innerHeight?n.innerHeight:t(n).height()},windowScrollLeft:function(){return n.pageXOffset?n.pageXOffset:t(n).scrollLeft()},windowScrollTop:function(){return n.pageYOffset?n.pageYOffset:t(n).scrollTop()}}})}(window,window.jQuery,window.Code.Util),function(n,t){t.extend(t,{Animation:{_applyTransitionDelay:50,_transitionEndLabel:n.document.documentElement.style.webkitTransition!==undefined?"webkitTransitionEnd":"transitionend",_transitionEndHandler:null,_transitionPrefix:n.document.documentElement.style.webkitTransition!==undefined?"webkitTransition":n.document.documentElement.style.MozTransition!==undefined?"MozTransition":"transition",_transformLabel:n.document.documentElement.style.webkitTransform!==undefined?"webkitTransform":n.document.documentElement.style.MozTransition!==undefined?"MozTransform":"transform",_getTransitionEndHandler:function(){return t.isNothing(this._transitionEndHandler)&&(this._transitionEndHandler=this._onTransitionEnd.bind(this)),this._transitionEndHandler},stop:function(i){if(t.Browser.isCSSTransformSupported){var u=i.style[this._transitionPrefix+"Property"],f=u!==""?"ccl"+u+"callback":"cclallcallback",r={};t.Events.remove(i,this._transitionEndLabel,this._getTransitionEndHandler()),t.isNothing(i.callbackLabel)&&delete i.callbackLabel,r[this._transitionPrefix+"Property"]="",r[this._transitionPrefix+"Duration"]="",r[this._transitionPrefix+"TimingFunction"]="",r[this._transitionPrefix+"Delay"]="",r[this._transformLabel]="",t.DOM.setStyle(i,r)}else t.isNothing(n.jQuery)||n.jQuery(i).stop(!0,!0)},fadeIn:function(i,r,u,f,e){if(e=t.coalesce(e,1),e<=0&&(e=1),r<=0&&(t.DOM.setStyle(i,"opacity",e),!t.isNothing(u))){u(i);return}var o=t.DOM.getStyle(i,"opacity");o>=1&&t.DOM.setStyle(i,"opacity",0),t.Browser.isCSSTransformSupported?this._applyTransition(i,"opacity",e,r,u,f):t.isNothing(n.jQuery)||n.jQuery(i).fadeTo(r,e,u)},fadeTo:function(n,t,i,r,u){this.fadeIn(n,i,r,u,t)},fadeOut:function(i,r,u,f){if(r<=0&&(t.DOM.setStyle(i,"opacity",0),!t.isNothing(u))){u(i);return}t.Browser.isCSSTransformSupported?this._applyTransition(i,"opacity",0,r,u,f):n.jQuery(i).fadeTo(r,0,u)},slideBy:function(i,r,u,f,e,o){var s={};r=t.coalesce(r,0),u=t.coalesce(u,0),o=t.coalesce(o,"ease-out"),s[this._transitionPrefix+"Property"]="all",s[this._transitionPrefix+"Delay"]="0",f===0?(s[this._transitionPrefix+"Duration"]="",s[this._transitionPrefix+"TimingFunction"]=""):(s[this._transitionPrefix+"Duration"]=f+"ms",s[this._transitionPrefix+"TimingFunction"]=t.coalesce(o,"ease-out"),t.Events.add(i,this._transitionEndLabel,this._getTransitionEndHandler())),s[this._transformLabel]=t.Browser.is3dSupported?"translate3d("+r+"px, "+u+"px, 0px)":"translate("+r+"px, "+u+"px)",t.isNothing(e)||(i.cclallcallback=e),t.DOM.setStyle(i,s),f===0&&n.setTimeout(function(){this._leaveTransforms(i)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(n){var i={};i[this._transformLabel]=i[this._transformLabel]=t.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",t.DOM.setStyle(n,i)},_applyTransition:function(i,r,u,f,e,o){var s={};o=t.coalesce(o,"ease-in"),s[this._transitionPrefix+"Property"]=r,s[this._transitionPrefix+"Duration"]=f+"ms",s[this._transitionPrefix+"TimingFunction"]=o,s[this._transitionPrefix+"Delay"]="0",t.Events.add(i,this._transitionEndLabel,this._getTransitionEndHandler()),t.DOM.setStyle(i,s),t.isNothing(e)||(i["ccl"+r+"callback"]=e),n.setTimeout(function(){t.DOM.setStyle(i,r,u)},this._applyTransitionDelay)},_onTransitionEnd:function(n){t.Events.remove(n.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(n.currentTarget)},_leaveTransforms:function(i){var s=i.style[this._transitionPrefix+"Property"],e=s!==""?"ccl"+s+"callback":"cclallcallback",h,o=t.coalesce(i.style.webkitTransform,i.style.MozTransform,i.style.transform),u,f,a=n.parseInt(t.DOM.getStyle(i,"left"),0),v=n.parseInt(t.DOM.getStyle(i,"top"),0),c,l,r={};o!==""&&(u=t.Browser.is3dSupported?o.match(/translate3d\((.*?)\)/):o.match(/translate\((.*?)\)/),t.isNothing(u)||(f=u[1].split(", "),c=n.parseInt(f[0],0),l=n.parseInt(f[1],0))),r[this._transitionPrefix+"Property"]="",r[this._transitionPrefix+"Duration"]="",r[this._transitionPrefix+"TimingFunction"]="",r[this._transitionPrefix+"Delay"]="",t.DOM.setStyle(i,r),n.setTimeout(function(){t.isNothing(f)||(r={},r[this._transformLabel]="",r.left=a+c+"px",r.top=v+l+"px",t.DOM.setStyle(i,r)),t.isNothing(i[e])||(h=i[e],delete i[e],h(i))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(n,t,i){i.registerNamespace("Code.Util.TouchElement"),i.TouchElement.EventTypes={onTouch:"CodeUtilTouchElementOnTouch"},i.TouchElement.ActionTypes={touchStart:"touchStart",touchMove:"touchMove",touchEnd:"touchEnd",touchMoveEnd:"touchMoveEnd",tap:"tap",doubleTap:"doubleTap",swipeLeft:"swipeLeft",swipeRight:"swipeRight",swipeUp:"swipeUp",swipeDown:"swipeDown",gestureStart:"gestureStart",gestureChange:"gestureChange",gestureEnd:"gestureEnd"}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.Util.TouchElement"),i.TouchElement.TouchElementClass=t({el:null,captureSettings:null,touchStartPoint:null,touchEndPoint:null,touchStartTime:null,doubleTapTimeout:null,touchStartHandler:null,touchMoveHandler:null,touchEndHandler:null,mouseDownHandler:null,mouseMoveHandler:null,mouseUpHandler:null,mouseOutHandler:null,gestureStartHandler:null,gestureChangeHandler:null,gestureEndHandler:null,swipeThreshold:null,swipeTimeThreshold:null,doubleTapSpeed:null,dispose:function(){var n;this.removeEventHandlers();for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(n,t){this.el=n,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},i.extend(this.captureSettings,t),this.swipeThreshold=50,this.swipeTimeThreshold=250,this.doubleTapSpeed=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){if(i.isNothing(this.touchStartHandler)&&(this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.touchEndHandler=this.onTouchEnd.bind(this),this.mouseDownHandler=this.onMouseDown.bind(this),this.mouseMoveHandler=this.onMouseMove.bind(this),this.mouseUpHandler=this.onMouseUp.bind(this),this.mouseOutHandler=this.onMouseOut.bind(this),this.gestureStartHandler=this.onGestureStart.bind(this),this.gestureChangeHandler=this.onGestureChange.bind(this),this.gestureEndHandler=this.onGestureEnd.bind(this)),i.Events.add(this.el,"touchstart",this.touchStartHandler),this.captureSettings.move&&i.Events.add(this.el,"touchmove",this.touchMoveHandler),i.Events.add(this.el,"touchend",this.touchEndHandler),i.Events.add(this.el,"mousedown",this.mouseDownHandler),i.Browser.isGestureSupported&&this.captureSettings.gesture){var t=this.el;i.Browser.iOS7&&this.el==n&&(t=document),i.Events.add(t,"gesturestart",this.gestureStartHandler),i.Events.add(t,"gesturechange",this.gestureChangeHandler),i.Events.add(t,"gestureend",this.gestureEndHandler)}},removeEventHandlers:function(){if(i.Events.remove(this.el,"touchstart",this.touchStartHandler),this.captureSettings.move&&i.Events.remove(this.el,"touchmove",this.touchMoveHandler),i.Events.remove(this.el,"touchend",this.touchEndHandler),i.Events.remove(this.el,"mousedown",this.mouseDownHandler),i.Browser.isGestureSupported&&this.captureSettings.gesture){var t=this.el;i.Browser.iOS7&&this.el==n&&(t=document),i.Events.remove(t,"gesturestart",this.gestureStartHandler),i.Events.remove(t,"gesturechange",this.gestureChangeHandler),i.Events.remove(t,"gestureend",this.gestureEndHandler)}},getTouchPoint:function(n){return{x:n[0].pageX,y:n[0].pageY}},fireTouchEvent:function(t){var s,r=0,u=0,f=0,h,e,o;if(r=this.touchEndPoint.x-this.touchStartPoint.x,u=this.touchEndPoint.y-this.touchStartPoint.y,f=Math.sqrt(r*r+u*u),this.captureSettings.swipe&&(e=new Date,o=e-this.touchStartTime,o<=this.swipeTimeThreshold)){if(n.Math.abs(r)>=this.swipeThreshold){i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:r<0?i.TouchElement.ActionTypes.swipeLeft:i.TouchElement.ActionTypes.swipeRight,targetEl:t.target,currentTargetEl:t.currentTarget});return}if(n.Math.abs(u)>=this.swipeThreshold){i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:u<0?i.TouchElement.ActionTypes.swipeUp:i.TouchElement.ActionTypes.swipeDown,targetEl:t.target,currentTargetEl:t.currentTarget});return}}if(f>1){i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:t.target,currentTargetEl:t.currentTarget});return}if(!this.captureSettings.doubleTap){i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:i.TouchElement.ActionTypes.tap,targetEl:t.target,currentTargetEl:t.currentTarget});return}if(i.isNothing(this.doubleTapTimeout)){this.doubleTapTimeout=n.setTimeout(function(){this.doubleTapTimeout=null,i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:i.TouchElement.ActionTypes.tap,targetEl:t.target,currentTargetEl:t.currentTarget})}.bind(this),this.doubleTapSpeed);return}n.clearTimeout(this.doubleTapTimeout),this.doubleTapTimeout=null,i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:i.TouchElement.ActionTypes.doubleTap,targetEl:t.target,currentTargetEl:t.currentTarget})},onTouchStart:function(n){this.captureSettings.preventDefaultTouchEvents&&n.preventDefault(),i.Events.remove(this.el,"mousedown",this.mouseDownHandler);var r=i.Events.getTouchEvent(n),t=r.touches;if(t.length>1&&this.captureSettings.gesture){this.isGesture=!0;return}this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(t),i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:n.target,currentTargetEl:n.currentTarget})},onTouchMove:function(n){if(this.captureSettings.preventDefaultTouchEvents&&n.preventDefault(),!this.isGesture||!this.captureSettings.gesture){var t=i.Events.getTouchEvent(n),r=t.touches;i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(r),targetEl:n.target,currentTargetEl:n.currentTarget})}},onTouchEnd:function(n){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&n.preventDefault();var t=i.Events.getTouchEvent(n),r=i.isNothing(t.changedTouches)?t.touches:t.changedTouches;this.touchEndPoint=this.getTouchPoint(r),i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:n.target,currentTargetEl:n.currentTarget}),this.fireTouchEvent(n)}},onMouseDown:function(n){n.preventDefault(),i.Events.remove(this.el,"touchstart",this.mouseDownHandler),i.Events.remove(this.el,"touchmove",this.touchMoveHandler),i.Events.remove(this.el,"touchend",this.touchEndHandler),this.captureSettings.move&&i.Events.add(this.el,"mousemove",this.mouseMoveHandler),i.Events.add(this.el,"mouseup",this.mouseUpHandler),i.Events.add(this.el,"mouseout",this.mouseOutHandler),this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=i.Events.getMousePosition(n),i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:n.target,currentTargetEl:n.currentTarget})},onMouseMove:function(n){n.preventDefault(),i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchMove,point:i.Events.getMousePosition(n),targetEl:n.target,currentTargetEl:n.currentTarget})},onMouseUp:function(n){n.preventDefault(),this.captureSettings.move&&i.Events.remove(this.el,"mousemove",this.mouseMoveHandler),i.Events.remove(this.el,"mouseup",this.mouseUpHandler),i.Events.remove(this.el,"mouseout",this.mouseOutHandler),this.touchEndPoint=i.Events.getMousePosition(n),i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:n.target,currentTargetEl:n.currentTarget}),this.fireTouchEvent(n)},onMouseOut:function(n){var t=n.relatedTarget;this.el===t||i.DOM.isChildOf(t,this.el)||(n.preventDefault(),this.captureSettings.move&&i.Events.remove(this.el,"mousemove",this.mouseMoveHandler),i.Events.remove(this.el,"mouseup",this.mouseUpHandler),i.Events.remove(this.el,"mouseout",this.mouseOutHandler),this.touchEndPoint=i.Events.getMousePosition(n),i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:n.target,currentTargetEl:n.currentTarget}),this.fireTouchEvent(n))},onGestureStart:function(n){n.preventDefault();var t=i.Events.getTouchEvent(n);i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.gestureStart,scale:t.scale,rotation:t.rotation,targetEl:n.target,currentTargetEl:n.currentTarget})},onGestureChange:function(n){n.preventDefault();var t=i.Events.getTouchEvent(n);i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.gestureChange,scale:t.scale,rotation:t.rotation,targetEl:n.target,currentTargetEl:n.currentTarget})},onGestureEnd:function(n){n.preventDefault();var t=i.Events.getTouchEvent(n);i.Events.fire(this,{type:i.TouchElement.EventTypes.onTouch,target:this,action:i.TouchElement.ActionTypes.gestureEnd,scale:t.scale,rotation:t.rotation,targetEl:n.target,currentTargetEl:n.currentTarget})}})}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Image");var r=n.Code.PhotoSwipe;r.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Image");var r=n.Code.PhotoSwipe;r.Image.ImageClass=t({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var n,t;this.shrinkImage();for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(t,i,r,u){this.refObj=t,this.originalSrc=i,this.src=i,this.caption=r,this.metaData=u,this.imageEl=new n.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){if(this.imageEl.originalSrc=i.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src){this.imageEl.isError?i.Events.fire(this,{type:r.Image.EventTypes.onError,target:this}):i.Events.fire(this,{type:r.Image.EventTypes.onLoad,target:this});return}this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,this.imageEl.onload=this.imageLoadHandler,this.imageEl.onerror=this.imageErrorHandler,this.imageEl.onabort=this.imageErrorHandler,this.imageEl.originalSrc=this.src,this.imageEl.src=this.src},shrinkImage:function(){i.isNothing(this.imageEl)||this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",i.isNothing(this.imageEl.parentNode)||i.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=i.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=i.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,i.Events.fire(this,{type:r.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,i.Events.fire(this,{type:r.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Cache");var r=n.Code.PhotoSwipe;r.Cache.Mode={normal:"normal",aggressive:"aggressive"},r.Cache.Functions={getImageSource:function(n){return n.href},getImageCaption:function(n){if(n.nodeName==="IMG")return i.DOM.getAttribute(n,"alt");for(var r,t=0,u=n.childNodes.length;t<u;t++)if(r=n.childNodes[t],n.childNodes[t].nodeName==="IMG")return i.DOM.getAttribute(r,"alt")},getImageMetaData:function(){return{}}}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Cache");var r=n.Code.PhotoSwipe;r.Cache.CacheClass=t({images:null,settings:null,dispose:function(){var t,n,r;if(!i.isNothing(this.images)){for(n=0,r=this.images.length;n<r;n++)this.images[n].dispose();this.images.length=0}for(t in this)i.objectHasProperty(this,t)&&(this[t]=null)},initialize:function(n,t){var u,f,h,i,e,o,s;for(this.settings=t,this.images=[],u=0,f=n.length;u<f;u++)i=n[u],e=this.settings.getImageSource(i),o=this.settings.getImageCaption(i),s=this.settings.getImageMetaData(i),this.images.push(new r.Image.ImageClass(i,e,o,s))},getImages:function(n){for(var e=[],u,t=0,f=n.length;t<f;t++)u=this.images[n[t]],this.settings.cacheMode===r.Cache.Mode.aggressive&&(u.cacheDoNotShrink=!0),e.push(u);if(this.settings.cacheMode===r.Cache.Mode.aggressive)for(t=0,f=this.images.length;t<f;t++)u=this.images[t],i.objectHasProperty(u,"cacheDoNotShrink")?delete u.cacheDoNotShrink:u.shrinkImage();return e}})}(window,window.klass,window.Code.Util,window.Code.PhotoSwipe.Image),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.DocumentOverlay");var r=n.Code.PhotoSwipe;r.DocumentOverlay.CssClasses={documentOverlay:"ps-document-overlay"}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.DocumentOverlay");var r=n.Code.PhotoSwipe;r.DocumentOverlay.DocumentOverlayClass=t({el:null,settings:null,initialBodyHeight:null,dispose:function(){var n;i.Animation.stop(this.el),i.DOM.removeChild(this.el,this.el.parentNode);for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(t){this.settings=t,this.el=i.DOM.createElement("div",{"class":r.DocumentOverlay.CssClasses.documentOverlay},""),i.DOM.setStyle(this.el,{display:"block",position:"absolute",left:0,top:0,zIndex:this.settings.zIndex}),i.DOM.hide(this.el),this.settings.target===n?i.DOM.appendToBody(this.el):i.DOM.appendChild(this.el,this.settings.target),i.Animation.resetTranslate(this.el),this.initialBodyHeight=i.DOM.bodyOuterHeight()},resetPosition:function(){var r,t,u;this.settings.target===n?(r=i.DOM.windowWidth(),t=i.DOM.bodyOuterHeight()*2,u=this.settings.jQueryMobile?i.DOM.windowScrollTop()+"px":"0px",t<1&&(t=this.initialBodyHeight),i.DOM.windowHeight()>t&&(t=i.DOM.windowHeight())):(r=i.DOM.width(this.settings.target),t=i.DOM.height(this.settings.target),u="0px"),i.DOM.setStyle(this.el,{width:r,height:t,top:u})},fadeIn:function(n,t){this.resetPosition(),i.DOM.setStyle(this.el,"opacity",0),i.DOM.show(this.el),i.Animation.fadeIn(this.el,n,t)}})}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Carousel");var r=n.Code.PhotoSwipe;r.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},r.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},r.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Carousel");var r=n.Code.PhotoSwipe;r.Carousel.CarouselClass=t({el:null,contentEl:null,settings:null,cache:null,slideByEndHandler:null,currentCacheIndex:null,isSliding:null,isSlideshowActive:null,lastSlideByAction:null,touchStartPoint:null,touchStartPosition:null,imageLoadHandler:null,imageErrorHandler:null,slideshowTimeout:null,dispose:function(){for(var t,n=0,u=this.cache.images.length;n<u;n++)i.Events.remove(this.cache.images[n],r.Image.EventTypes.onLoad,this.imageLoadHandler),i.Events.remove(this.cache.images[n],r.Image.EventTypes.onError,this.imageErrorHandler);this.stopSlideshow(),i.Animation.stop(this.el),i.DOM.removeChild(this.el,this.el.parentNode);for(t in this)i.objectHasProperty(this,t)&&(this[t]=null)},initialize:function(t,u){var e,o,f;for(this.cache=t,this.settings=u,this.slideByEndHandler=this.onSlideByEnd.bind(this),this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this),this.currentCacheIndex=0,this.isSliding=!1,this.isSlideshowActive=!1,this.cache.images.length<3&&(this.settings.loop=!1),this.el=i.DOM.createElement("div",{"class":r.Carousel.CssClasses.carousel},""),i.DOM.setStyle(this.el,{display:"block",position:"absolute",left:0,top:0,overflow:"hidden",zIndex:this.settings.zIndex}),i.DOM.hide(this.el),this.contentEl=i.DOM.createElement("div",{"class":r.Carousel.CssClasses.content},""),i.DOM.setStyle(this.contentEl,{display:"block",position:"absolute",left:0,top:0}),i.DOM.appendChild(this.contentEl,this.el),o=t.images.length<3?t.images.length:3,e=0;e<o;e++)f=i.DOM.createElement("div",{"class":r.Carousel.CssClasses.item+" "+r.Carousel.CssClasses.item+"-"+e},""),i.DOM.setAttribute(f,"style","float: left;"),i.DOM.setStyle(f,{display:"block",position:"relative",left:0,top:0,overflow:"hidden"}),this.settings.margin>0&&i.DOM.setStyle(f,{marginRight:this.settings.margin+"px"}),i.DOM.appendChild(f,this.contentEl);this.settings.target===n?i.DOM.appendToBody(this.el):i.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var t,u,o,c,f,l,e,a,s,h;for(this.settings.target===n?(t=i.DOM.windowWidth(),u=i.DOM.windowHeight(),o=i.DOM.windowScrollTop()+"px"):(t=i.DOM.width(this.settings.target),u=i.DOM.height(this.settings.target),o="0px"),c=this.settings.margin>0?t+this.settings.margin:t,f=i.DOM.find("."+r.Carousel.CssClasses.item,this.contentEl),l=c*f.length,i.DOM.setStyle(this.el,{top:o,width:t,height:u}),i.DOM.setStyle(this.contentEl,{width:l,height:u}),e=0,a=f.length;e<a;e++)s=f[e],i.DOM.setStyle(s,{width:t,height:u}),h=i.DOM.find("img",s)[0],i.isNothing(h)||this.resetImagePosition(h);this.setContentLeftPosition()},resetImagePosition:function(n){if(!i.isNothing(n)){var h=i.DOM.getAttribute(n,"src"),t,r,u,o,s,f=i.DOM.width(this.el),e=i.DOM.height(this.el);this.settings.imageScaleMethod==="fitNoUpscale"?(r=n.naturalWidth,u=n.naturalHeight,r>f&&(t=f/r,r=Math.round(r*t),u=Math.round(u*t)),u>e&&(t=e/u,u=Math.round(u*t),r=Math.round(r*t))):(t=n.isLandscape?f/n.naturalWidth:e/n.naturalHeight,r=Math.round(n.naturalWidth*t),u=Math.round(n.naturalHeight*t),this.settings.imageScaleMethod==="zoom"?(t=1,u<e?t=e/u:r<f&&(t=f/r),t!==1&&(r=Math.round(r*t),u=Math.round(u*t))):this.settings.imageScaleMethod==="fit"&&(t=1,r>f?t=f/r:u>e&&(t=e/u),t!==1&&(r=Math.round(r*t),u=Math.round(u*t)))),o=Math.round((e-u)/2)+"px",s=Math.round((f-r)/2)+"px",i.DOM.setStyle(n,{position:"absolute",width:r,height:u,top:o,left:s,display:"block"})}},setContentLeftPosition:function(){var t,u,r;t=this.settings.target===n?i.DOM.windowWidth():i.DOM.width(this.settings.target),u=this.getItemEls(),r=0,this.settings.loop?r=(t+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?r=(u.length-1)*(t+this.settings.margin)*-1:this.currentCacheIndex>0&&(r=(t+this.settings.margin)*-1),i.DOM.setStyle(this.contentEl,{left:r+"px"})},show:function(n){this.currentCacheIndex=n,this.resetPosition(),this.setImages(!1),i.DOM.show(this.el),i.Animation.resetTranslate(this.contentEl);for(var u=this.getItemEls(),t=0,f=u.length;t<f;t++)i.Animation.resetTranslate(u[t]);i.Events.fire(this,{type:r.Carousel.EventTypes.onSlideByEnd,target:this,action:r.Carousel.SlideByAction.current,cacheIndex:this.currentCacheIndex})},setImages:function(n){var t,i=this.getItemEls(),r=this.currentCacheIndex+1,u=this.currentCacheIndex-1;this.settings.loop?(r>this.cache.images.length-1&&(r=0),u<0&&(u=this.cache.images.length-1),t=this.cache.getImages([u,this.currentCacheIndex,r]),n||this.addCacheImageToItemEl(t[1],i[1]),this.addCacheImageToItemEl(t[2],i[2]),this.addCacheImageToItemEl(t[0],i[0])):i.length===1?n||(t=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(t[0],i[0])):i.length===2?this.currentCacheIndex===0?(t=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),n||this.addCacheImageToItemEl(t[0],i[0]),this.addCacheImageToItemEl(t[1],i[1])):(t=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),n||this.addCacheImageToItemEl(t[1],i[1]),this.addCacheImageToItemEl(t[0],i[0])):this.currentCacheIndex===0?(t=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),n||this.addCacheImageToItemEl(t[0],i[0]),this.addCacheImageToItemEl(t[1],i[1]),this.addCacheImageToItemEl(t[2],i[2])):this.currentCacheIndex===this.cache.images.length-1?(t=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),n||this.addCacheImageToItemEl(t[2],i[2]),this.addCacheImageToItemEl(t[1],i[1]),this.addCacheImageToItemEl(t[0],i[0])):(t=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),n||this.addCacheImageToItemEl(t[1],i[1]),this.addCacheImageToItemEl(t[2],i[2]),this.addCacheImageToItemEl(t[0],i[0]))},addCacheImageToItemEl:function(n,t){i.DOM.removeClass(t,r.Carousel.CssClasses.itemError),i.DOM.addClass(t,r.Carousel.CssClasses.itemLoading),i.DOM.removeChildren(t),i.DOM.setStyle(n.imageEl,{display:"none"}),i.DOM.appendChild(n.imageEl,t),i.Animation.resetTranslate(n.imageEl),i.Events.add(n,r.Image.EventTypes.onLoad,this.imageLoadHandler),i.Events.add(n,r.Image.EventTypes.onError,this.imageErrorHandler),n.load()},slideCarousel:function(t,u,f){if(!this.isSliding){var o,s,e;if(o=this.settings.target===n?i.DOM.windowWidth()+this.settings.margin:i.DOM.width(this.settings.target)+this.settings.margin,f=i.coalesce(f,this.settings.slideSpeed),!(n.Math.abs(s)<1)){switch(u){case i.TouchElement.ActionTypes.swipeLeft:e=o*-1;break;case i.TouchElement.ActionTypes.swipeRight:e=o;break;default:s=t.x-this.touchStartPoint.x,e=n.Math.abs(s)>o/2?s>0?o:o*-1:0}this.lastSlideByAction=e<0?r.Carousel.SlideByAction.next:e>0?r.Carousel.SlideByAction.previous:r.Carousel.SlideByAction.current,this.settings.loop||(this.lastSlideByAction===r.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===r.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(e=0,this.lastSlideByAction=r.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(e,f)}}},moveCarousel:function(n){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(n.x-this.touchStartPoint.x)},getItemEls:function(){return i.DOM.find("."+r.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},i.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},i.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},i.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=n.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),i.Events.fire(this,{type:r.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){i.isNothing(this.slideshowTimeout)||(n.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,i.Events.fire(this,{type:r.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!i.isNothing(this.isSliding)){var t=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===r.Carousel.SlideByAction.next?this.currentCacheIndex=this.currentCacheIndex+1:this.lastSlideByAction===r.Carousel.SlideByAction.previous&&(this.currentCacheIndex=this.currentCacheIndex-1),this.settings.loop?(this.lastSlideByAction===r.Carousel.SlideByAction.next?i.DOM.appendChild(t[0],this.contentEl):this.lastSlideByAction===r.Carousel.SlideByAction.previous&&i.DOM.insertBefore(t[t.length-1],t[0],this.contentEl),this.currentCacheIndex<0?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0)):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex<this.cache.images.length-2?this.lastSlideByAction===r.Carousel.SlideByAction.next?i.DOM.appendChild(t[0],this.contentEl):this.lastSlideByAction===r.Carousel.SlideByAction.previous&&i.DOM.insertBefore(t[t.length-1],t[0],this.contentEl):this.currentCacheIndex===1?this.lastSlideByAction===r.Carousel.SlideByAction.previous&&i.DOM.insertBefore(t[t.length-1],t[0],this.contentEl):this.currentCacheIndex===this.cache.images.length-2&&this.lastSlideByAction===r.Carousel.SlideByAction.next&&i.DOM.appendChild(t[0],this.contentEl)),this.lastSlideByAction!==r.Carousel.SlideByAction.current&&(this.setContentLeftPosition(),this.setImages(!0)),i.Events.fire(this,{type:r.Carousel.EventTypes.onSlideByEnd,target:this,action:this.lastSlideByAction,cacheIndex:this.currentCacheIndex}),this.isSlideshowActive&&(this.lastSlideByAction!==r.Carousel.SlideByAction.current?this.startSlideshow():this.stopSlideshow())}},onTouch:function(t,r){this.stopSlideshow();switch(t){case i.TouchElement.ActionTypes.touchStart:this.touchStartPoint=r,this.touchStartPosition={x:n.parseInt(i.DOM.getStyle(this.contentEl,"left"),0),y:n.parseInt(i.DOM.getStyle(this.contentEl,"top"),0)};break;case i.TouchElement.ActionTypes.touchMove:this.moveCarousel(r);break;case i.TouchElement.ActionTypes.touchMoveEnd:case i.TouchElement.ActionTypes.swipeLeft:case i.TouchElement.ActionTypes.swipeRight:this.slideCarousel(r,t)}},onImageLoad:function(n){var t=n.target;i.isNothing(t.imageEl.parentNode)||(i.DOM.removeClass(t.imageEl.parentNode,r.Carousel.CssClasses.itemLoading),this.resetImagePosition(t.imageEl)),i.Events.remove(t,r.Image.EventTypes.onLoad,this.imageLoadHandler),i.Events.remove(t,r.Image.EventTypes.onError,this.imageErrorHandler)},onImageError:function(n){var t=n.target;i.isNothing(t.imageEl.parentNode)||(i.DOM.removeClass(t.imageEl.parentNode,r.Carousel.CssClasses.itemLoading),i.DOM.addClass(t.imageEl.parentNode,r.Carousel.CssClasses.itemError)),i.Events.remove(t,r.Image.EventTypes.onLoad,this.imageLoadHandler),i.Events.remove(t,r.Image.EventTypes.onError,this.imageErrorHandler)}})}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Carousel");var u=n.Code.PhotoSwipe;u.Carousel.CarouselClass=u.Carousel.CarouselClass.extend({getStartingPos:function(){var t=this.touchStartPosition;return i.isNothing(t)&&(t={x:n.parseInt(i.DOM.getStyle(this.contentEl,"left"),0),y:n.parseInt(i.DOM.getStyle(this.contentEl,"top"),0)}),t},doMoveCarousel:function(t){var r;i.Browser.isCSSTransformSupported?(r={},r[i.Animation._transitionPrefix+"Property"]="all",r[i.Animation._transitionPrefix+"Duration"]="",r[i.Animation._transitionPrefix+"TimingFunction"]="",r[i.Animation._transitionPrefix+"Delay"]="0",r[i.Animation._transformLabel]=i.Browser.is3dSupported?"translate3d("+t+"px, 0px, 0px)":"translate("+t+"px, 0px)",i.DOM.setStyle(this.contentEl,r)):i.isNothing(n.jQuery)||n.jQuery(this.contentEl).stop().css("left",this.getStartingPos().x+t+"px")},doSlideCarousel:function(t,r){var f,u;if(r<=0){this.slideByEndHandler();return}if(i.Browser.isCSSTransformSupported){if(u=i.coalesce(this.contentEl.style.webkitTransform,this.contentEl.style.MozTransform,this.contentEl.style.transform,""),u.indexOf("translate3d("+t)===0){this.slideByEndHandler();return}if(u.indexOf("translate("+t)===0){this.slideByEndHandler();return}i.Animation.slideBy(this.contentEl,t,0,r,this.slideByEndHandler,this.settings.slideTimingFunction)}else i.isNothing(n.jQuery)||(f={left:this.getStartingPos().x+t+"px"},this.settings.animationTimingFunction==="ease-out"&&(this.settings.animationTimingFunction="easeOutQuad"),i.isNothing(n.jQuery.easing[this.settings.animationTimingFunction])&&(this.settings.animationTimingFunction="linear"),n.jQuery(this.contentEl).animate(f,this.settings.slideSpeed,this.settings.animationTimingFunction,this.slideByEndHandler))}})}(window,window.klass,window.Code.Util,window.Code.PhotoSwipe.TouchElement),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Toolbar");var r=n.Code.PhotoSwipe;r.Toolbar.CssClasses={toolbar:"ps-toolbar",toolbarContent:"ps-toolbar-content",toolbarTop:"ps-toolbar-top",caption:"ps-caption",captionBottom:"ps-caption-bottom",captionContent:"ps-caption-content",close:"ps-toolbar-close",play:"ps-toolbar-play",previous:"ps-toolbar-previous",previousDisabled:"ps-toolbar-previous-disabled",next:"ps-toolbar-next",nextDisabled:"ps-toolbar-next-disabled"},r.Toolbar.ToolbarAction={close:"close",play:"play",next:"next",previous:"previous",none:"none"},r.Toolbar.EventTypes={onTap:"PhotoSwipeToolbarOnClick",onBeforeShow:"PhotoSwipeToolbarOnBeforeShow",onShow:"PhotoSwipeToolbarOnShow",onBeforeHide:"PhotoSwipeToolbarOnBeforeHide",onHide:"PhotoSwipeToolbarOnHide"},r.Toolbar.getToolbar=function(){return'<div class="'+r.Toolbar.CssClasses.close+'"><div class="'+r.Toolbar.CssClasses.toolbarContent+'"><\/div><\/div><div class="'+r.Toolbar.CssClasses.play+'"><div class="'+r.Toolbar.CssClasses.toolbarContent+'"><\/div><\/div><div class="'+r.Toolbar.CssClasses.previous+'"><div class="'+r.Toolbar.CssClasses.toolbarContent+'"><\/div><\/div><div class="'+r.Toolbar.CssClasses.next+'"><div class="'+r.Toolbar.CssClasses.toolbarContent+'"><\/div><\/div>'}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.Toolbar");var r=n.Code.PhotoSwipe;r.Toolbar.ToolbarClass=t({toolbarEl:null,closeEl:null,playEl:null,previousEl:null,nextEl:null,captionEl:null,captionContentEl:null,currentCaption:null,settings:null,cache:null,timeout:null,isVisible:null,fadeOutHandler:null,touchStartHandler:null,touchMoveHandler:null,clickHandler:null,dispose:function(){var n;this.clearTimeout(),this.removeEventHandlers(),i.Animation.stop(this.toolbarEl),i.Animation.stop(this.captionEl),i.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),i.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(t,u){var f;this.settings=u,this.cache=t,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),f=r.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(f=f+" "+r.Toolbar.CssClasses.toolbarTop),this.toolbarEl=i.DOM.createElement("div",{"class":f},this.settings.getToolbar()),i.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===n?i.DOM.appendToBody(this.toolbarEl):i.DOM.appendChild(this.toolbarEl,this.settings.target),i.DOM.hide(this.toolbarEl),this.closeEl=i.DOM.find("."+r.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!i.isNothing(this.closeEl)&&i.DOM.hide(this.closeEl),this.playEl=i.DOM.find("."+r.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!i.isNothing(this.playEl)&&i.DOM.hide(this.playEl),this.nextEl=i.DOM.find("."+r.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=i.DOM.find("."+r.Toolbar.CssClasses.previous,this.toolbarEl)[0],f=r.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(f=f+" "+r.Toolbar.CssClasses.captionBottom),this.captionEl=i.DOM.createElement("div",{"class":f},""),i.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===n?i.DOM.appendToBody(this.captionEl):i.DOM.appendChild(this.captionEl,this.settings.target),i.DOM.hide(this.captionEl),this.captionContentEl=i.DOM.createElement("div",{"class":r.Toolbar.CssClasses.captionContent},""),i.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var u,t,r;this.settings.target===n?(this.settings.captionAndToolbarFlipPosition?(t=i.DOM.windowScrollTop(),r=i.DOM.windowScrollTop()+i.DOM.windowHeight()-i.DOM.height(this.captionEl)):(t=i.DOM.windowScrollTop()+i.DOM.windowHeight()-i.DOM.height(this.toolbarEl),r=i.DOM.windowScrollTop()),u=i.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(t="0",r=i.DOM.height(this.settings.target)-i.DOM.height(this.captionEl)):(t=i.DOM.height(this.settings.target)-i.DOM.height(this.toolbarEl),r=0),u=i.DOM.width(this.settings.target)),i.DOM.setStyle(this.toolbarEl,{top:t+"px",width:u}),i.DOM.setStyle(this.captionEl,{top:r+"px",width:u})},toggleVisibility:function(n){this.isVisible?this.fadeOut():this.show(n)},show:function(n){i.Animation.stop(this.toolbarEl),i.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(n),i.Events.fire(this,{type:r.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(n),this.showCaption(),this.isVisible=!0,this.setTimeout(),i.Events.fire(this,{type:r.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=n.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){i.isNothing(this.timeout)||(n.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),i.Events.fire(this,{type:r.Toolbar.EventTypes.onBeforeHide,target:this}),i.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){i.Browser.isTouchSupported&&(i.Browser.blackberry||i.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),i.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),i.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),i.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){i.Browser.isTouchSupported&&(i.Browser.blackberry||i.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),i.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),i.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),i.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(n){this.clearTimeout();var t;n.target===this.nextEl||i.DOM.isChildOf(n.target,this.nextEl)?t=r.Toolbar.ToolbarAction.next:n.target===this.previousEl||i.DOM.isChildOf(n.target,this.previousEl)?t=r.Toolbar.ToolbarAction.previous:n.target===this.closeEl||i.DOM.isChildOf(n.target,this.closeEl)?t=r.Toolbar.ToolbarAction.close:(n.target===this.playEl||i.DOM.isChildOf(n.target,this.playEl))&&(t=r.Toolbar.ToolbarAction.play),this.setTimeout(),i.isNothing(t)&&(t=r.Toolbar.ToolbarAction.none),i.Events.fire(this,{type:r.Toolbar.EventTypes.onTap,target:this,action:t,tapTarget:n.target})},setCaption:function(n){i.DOM.removeChildren(this.captionContentEl),this.currentCaption=i.coalesce(this.cache.images[n].caption," "),i.isObject(this.currentCaption)?i.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),i.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){i.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),i.DOM.show(this.toolbarEl)},showCaption:function(){if((this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions){i.DOM.hide(this.captionEl);return}i.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),i.DOM.show(this.captionEl)},setToolbarStatus:function(n){this.settings.loop||(i.DOM.removeClass(this.previousEl,r.Toolbar.CssClasses.previousDisabled),i.DOM.removeClass(this.nextEl,r.Toolbar.CssClasses.nextDisabled),n>0&&n<this.cache.images.length-1)||(n===0&&(i.isNothing(this.previousEl)||i.DOM.addClass(this.previousEl,r.Toolbar.CssClasses.previousDisabled)),n===this.cache.images.length-1&&(i.isNothing(this.nextEl)||i.DOM.addClass(this.nextEl,r.Toolbar.CssClasses.nextDisabled)))},onFadeOut:function(){i.DOM.hide(this.captionEl),i.Events.fire(this,{type:r.Toolbar.EventTypes.onHide,target:this})},onTouchStart:function(n){n.preventDefault(),i.Events.remove(this.toolbarEl,"click",this.clickHandler),this.handleTap(n)},onTouchMove:function(n){n.preventDefault()},onClick:function(n){n.preventDefault(),this.handleTap(n)}})}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.UILayer");var r=n.Code.PhotoSwipe;r.UILayer.CssClasses={uiLayer:"ps-uilayer"}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.UILayer");var r=n.Code.PhotoSwipe;r.UILayer.UILayerClass=i.TouchElement.TouchElementClass.extend({el:null,settings:null,dispose:function(){var n;this.removeEventHandlers(),i.DOM.removeChild(this.el,this.el.parentNode);for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(t){this.settings=t,this.el=i.DOM.createElement("div",{"class":r.UILayer.CssClasses.uiLayer},""),i.DOM.setStyle(this.el,{display:"block",position:"absolute",left:0,top:0,overflow:"hidden",zIndex:this.settings.zIndex,opacity:0}),i.DOM.hide(this.el),this.settings.target===n?i.DOM.appendToBody(this.el):i.DOM.appendChild(this.el,this.settings.target),this.supr(this.el,{swipe:!0,move:!0,gesture:i.Browser.iOS,doubleTap:!0,preventDefaultTouchEvents:this.settings.preventDefaultTouchEvents})},resetPosition:function(){this.settings.target===n?i.DOM.setStyle(this.el,{top:i.DOM.windowScrollTop()+"px",width:i.DOM.windowWidth(),height:i.DOM.windowHeight()}):i.DOM.setStyle(this.el,{top:"0px",width:i.DOM.width(this.settings.target),height:i.DOM.height(this.settings.target)})},show:function(){this.resetPosition(),i.DOM.show(this.el),this.addEventHandlers()},addEventHandlers:function(){this.supr()},removeEventHandlers:function(){this.supr()}})}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.ZoomPanRotate");var r=n.Code.PhotoSwipe;r.ZoomPanRotate.CssClasses={zoomPanRotate:"ps-zoom-pan-rotate"},r.ZoomPanRotate.EventTypes={onTransform:"PhotoSwipeZoomPanRotateOnTransform"}}(window,window.klass,window.Code.Util),function(n,t,i){i.registerNamespace("Code.PhotoSwipe.ZoomPanRotate");var r=n.Code.PhotoSwipe;r.ZoomPanRotate.ZoomPanRotateClass=t({el:null,settings:null,containerEl:null,imageEl:null,transformSettings:null,panStartingPoint:null,transformEl:null,dispose:function(){var n;i.DOM.removeChild(this.el,this.el.parentNode);for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(t,u,f){var e,o,s,h;this.settings=t,this.settings.target===n?(e=document.body,o=i.DOM.windowWidth(),s=i.DOM.windowHeight(),h=i.DOM.windowScrollTop()+"px"):(e=this.settings.target,o=i.DOM.width(e),s=i.DOM.height(e),h="0px"),this.imageEl=u.imageEl.cloneNode(!1),i.DOM.setStyle(this.imageEl,{zIndex:1}),this.transformSettings={startingScale:1,scale:1,startingRotation:0,rotation:0,startingTranslateX:0,startingTranslateY:0,translateX:0,translateY:0},this.el=i.DOM.createElement("div",{"class":r.ZoomPanRotate.CssClasses.zoomPanRotate},""),i.DOM.setStyle(this.el,{left:0,top:h,position:"absolute",width:o,height:s,zIndex:this.settings.zIndex,display:"block"}),i.DOM.insertBefore(this.el,f.el,e),i.Browser.iOS?(this.containerEl=i.DOM.createElement("div","",""),i.DOM.setStyle(this.containerEl,{left:0,top:0,width:o,height:s,position:"absolute",zIndex:1}),i.DOM.appendChild(this.imageEl,this.containerEl),i.DOM.appendChild(this.containerEl,this.el),i.Animation.resetTranslate(this.containerEl),i.Animation.resetTranslate(this.imageEl),this.transformEl=this.containerEl):(i.DOM.appendChild(this.imageEl,this.el),this.transformEl=this.imageEl)},setStartingTranslateFromCurrentTransform:function(){var r=i.coalesce(this.transformEl.style.webkitTransform,this.transformEl.style.MozTransform,this.transformEl.style.transform),t;i.isNothing(r)||(t=r.match(/translate\((.*?)\)/),i.isNothing(t)||(t=t[1].split(", "),this.transformSettings.startingTranslateX=n.parseInt(t[0],10),this.transformSettings.startingTranslateY=n.parseInt(t[1],10)))},getScale:function(n){var t=this.transformSettings.startingScale*n;return this.settings.minUserZoom!==0&&t<this.settings.minUserZoom?t=this.settings.minUserZoom:this.settings.maxUserZoom!==0&&t>this.settings.maxUserZoom&&(t=this.settings.maxUserZoom),t},setStartingScaleAndRotation:function(n,t){this.transformSettings.startingScale=this.getScale(n),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+t)%360},zoomRotate:function(n,t){this.transformSettings.scale=this.getScale(n),this.transformSettings.rotation=this.transformSettings.startingRotation+t,this.applyTransform()},panStart:function(n){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:n.x,y:n.y}},pan:function(n){var t=n.x-this.panStartingPoint.x,i=n.y-this.panStartingPoint.y,r=t/this.transformSettings.scale,u=i/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+r,this.transformSettings.translateY=this.transformSettings.startingTranslateY+u,this.applyTransform()},zoomAndPanToPoint:function(t,r){if(this.settings.target===n){this.panStart({x:i.DOM.windowWidth()/2,y:i.DOM.windowHeight()/2});var u=r.x-this.panStartingPoint.x,f=r.y-this.panStartingPoint.y,e=u/this.transformSettings.scale,o=f/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+e)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+o)*-1}this.setStartingScaleAndRotation(t,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var u=this.transformSettings.rotation%360,f=n.parseInt(this.transformSettings.translateX,10),e=n.parseInt(this.transformSettings.translateY,10),t="scale("+this.transformSettings.scale+") rotate("+u+"deg) translate("+f+"px, "+e+"px)";i.DOM.setStyle(this.transformEl,{webkitTransform:t,MozTransform:t,msTransform:t,transform:t}),i.Events.fire(this,{target:this,type:r.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:u,translateX:f,translateY:e})}})}(window,window.klass,window.Code.Util),function(n,t){t.registerNamespace("Code.PhotoSwipe");var i=n.Code.PhotoSwipe;i.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},i.EventTypes={onBeforeShow:"PhotoSwipeOnBeforeShow",onShow:"PhotoSwipeOnShow",onBeforeHide:"PhotoSwipeOnBeforeHide",onHide:"PhotoSwipeOnHide",onDisplayImage:"PhotoSwipeOnDisplayImage",onResetPosition:"PhotoSwipeOnResetPosition",onSlideshowStart:"PhotoSwipeOnSlideshowStart",onSlideshowStop:"PhotoSwipeOnSlideshowStop",onTouch:"PhotoSwipeOnTouch",onBeforeCaptionAndToolbarShow:"PhotoSwipeOnBeforeCaptionAndToolbarShow",onCaptionAndToolbarShow:"PhotoSwipeOnCaptionAndToolbarShow",onBeforeCaptionAndToolbarHide:"PhotoSwipeOnBeforeCaptionAndToolbarHide",onCaptionAndToolbarHide:"PhotoSwipeOnCaptionAndToolbarHide",onToolbarTap:"PhotoSwipeOnToolbarTap",onBeforeZoomPanRotateShow:"PhotoSwipeOnBeforeZoomPanRotateShow",onZoomPanRotateShow:"PhotoSwipeOnZoomPanRotateShow",onBeforeZoomPanRotateHide:"PhotoSwipeOnBeforeZoomPanRotateHide",onZoomPanRotateHide:"PhotoSwipeOnZoomPanRotateHide",onZoomPanRotateTransform:"PhotoSwipeOnZoomPanRotateTransform"},i.instances=[],i.activeInstances=[],i.setActivateInstance=function(n){var r=t.arrayIndexOf(n.settings.target,i.activeInstances,"target");if(r>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";i.activeInstances.push({target:n.settings.target,instance:n})},i.unsetActivateInstance=function(n){var r=t.arrayIndexOf(n,i.activeInstances,"instance");i.activeInstances.splice(r,1)},i.attach=function(n,r,u){var e,s,o,f;for(o=i.createInstance(n,r,u),e=0,s=n.length;e<s;e++)f=n[e],t.isNothing(f.nodeType)||f.nodeType===1&&(f.__photoSwipeClickHandler=i.onTriggerElementClick.bind(o),t.Events.remove(f,"click",f.__photoSwipeClickHandler),t.Events.add(f,"click",f.__photoSwipeClickHandler));return o},n.jQuery&&(n.jQuery.fn.photoSwipe=function(n,t){return i.attach(this,n,t)}),i.detatch=function(n){for(var r,u=0,f=n.originalImages.length;u<f;u++)r=n.originalImages[u],t.isNothing(r.nodeType)||r.nodeType===1&&(t.Events.remove(r,"click",r.__photoSwipeClickHandler),delete r.__photoSwipeClickHandler);i.disposeInstance(n)},i.createInstance=function(n,r,u){var e,f,o;if(t.isNothing(n))throw"Code.PhotoSwipe.attach: No images passed.";if(!t.isLikeArray(n))throw"Code.PhotoSwipe.createInstance: Images must be an array of elements or image urls.";if(n.length<1)throw"Code.PhotoSwipe.createInstance: No images to passed.";if(r=t.coalesce(r,{}),f=i.getInstance(u),t.isNothing(f))f=new i.PhotoSwipeClass(n,r,u),i.instances.push(f);else throw'Code.PhotoSwipe.createInstance: Instance with id "'+u+' already exists."';return f},i.disposeInstance=function(n){var t=i.getInstanceIndex(n);if(t<0)throw"Code.PhotoSwipe.disposeInstance: Unable to find instance to dispose.";n.dispose(),i.instances.splice(t,1),n=null},i.onTriggerElementClick=function(n){n.preventDefault();var t=this;t.show(n.currentTarget)},i.getInstance=function(n){for(var r,t=0,u=i.instances.length;t<u;t++)if(r=i.instances[t],r.id===n)return r;return null},i.getInstanceIndex=function(n){for(var r=-1,t=0,u=i.instances.length;t<u;t++)if(i.instances[t]===n){r=t;break}return r}}(window,window.Code.Util),function(n,t,i,r,u,f,e,o,s){i.registerNamespace("Code.PhotoSwipe");var h=n.Code.PhotoSwipe;h.PhotoSwipeClass=t({id:null,settings:null,isBackEventSupported:null,backButtonClicked:null,currentIndex:null,originalImages:null,mouseWheelStartTime:null,windowDimensions:null,cache:null,documentOverlay:null,carousel:null,uiLayer:null,toolbar:null,zoomPanRotate:null,windowOrientationChangeHandler:null,windowScrollHandler:null,windowHashChangeHandler:null,keyDownHandler:null,windowOrientationEventName:null,uiLayerTouchHandler:null,carouselSlideByEndHandler:null,carouselSlideshowStartHandler:null,carouselSlideshowStopHandler:null,toolbarTapHandler:null,toolbarBeforeShowHandler:null,toolbarShowHandler:null,toolbarBeforeHideHandler:null,toolbarHideHandler:null,mouseWheelHandler:null,zoomPanRotateTransformHandler:null,_isResettingPosition:null,_uiWebViewResetPositionTimeout:null,dispose:function(){var n;i.Events.remove(this,h.EventTypes.onBeforeShow),i.Events.remove(this,h.EventTypes.onShow),i.Events.remove(this,h.EventTypes.onBeforeHide),i.Events.remove(this,h.EventTypes.onHide),i.Events.remove(this,h.EventTypes.onDisplayImage),i.Events.remove(this,h.EventTypes.onResetPosition),i.Events.remove(this,h.EventTypes.onSlideshowStart),i.Events.remove(this,h.EventTypes.onSlideshowStop),i.Events.remove(this,h.EventTypes.onTouch),i.Events.remove(this,h.EventTypes.onBeforeCaptionAndToolbarShow),i.Events.remove(this,h.EventTypes.onCaptionAndToolbarShow),i.Events.remove(this,h.EventTypes.onBeforeCaptionAndToolbarHide),i.Events.remove(this,h.EventTypes.onCaptionAndToolbarHide),i.Events.remove(this,h.EventTypes.onZoomPanRotateTransform),this.removeEventHandlers(),i.isNothing(this.documentOverlay)||this.documentOverlay.dispose(),i.isNothing(this.carousel)||this.carousel.dispose(),i.isNothing(this.uiLayer)||this.uiLayer.dispose(),i.isNothing(this.toolbar)||this.toolbar.dispose(),this.destroyZoomPanRotate(),i.isNothing(this.cache)||this.cache.dispose();for(n in this)i.objectHasProperty(this,n)&&(this[n]=null)},initialize:function(t,u,f){var e;this.id=i.isNothing(f)?"PhotoSwipe"+(+new Date).toString():f,this.originalImages=t,i.Browser.android&&!i.Browser.firefox&&n.navigator.userAgent.match(/Android (\d+.\d+)/).toString().replace(/^.*\,/,"")>=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=i.objectHasProperty(n,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!i.isNothing(n.jQuery)&&!i.isNothing(n.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:n,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:h.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:h.Cache.Functions.getImageSource,getImageCaption:h.Cache.Functions.getImageCaption,getImageMetaData:h.Cache.Functions.getImageMetaData,cacheMode:h.Cache.Mode.normal},i.extend(this.settings,u),this.settings.target!==n&&(e=i.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&i.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==n?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new r.CacheClass(t,this.settings)},show:function(t){var r,u;if(this._isResettingPosition=!1,this.backButtonClicked=!1,i.isNumber(t))this.currentIndex=t;else for(this.currentIndex=-1,r=0,u=this.originalImages.length;r<u;r++)if(this.originalImages[r]===t){this.currentIndex=r;break}if(this.currentIndex<0||this.currentIndex>this.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),h.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===n?i.DOM.addClass(n.document.body,h.CssClasses.buildingBody):i.DOM.addClass(this.settings.target,h.CssClasses.buildingBody),this.createComponents(),i.Events.fire(this,{type:h.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:i.DOM.windowWidth(),height:i.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new u.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new o.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new e.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var n=this.getWindowDimensions();(i.isNothing(this.windowDimensions)||n.width!==this.windowDimensions.width||n.height!==this.windowDimensions.height)&&(this._isResettingPosition=!0,this.windowDimensions=n,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),i.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,i.Events.fire(this,{type:h.EventTypes.onResetPosition,target:this}))}},addEventHandler:function(n,t){i.Events.add(this,n,t)},addEventHandlers:function(){if(i.isNothing(this.windowOrientationChangeHandler)&&(this.windowOrientationChangeHandler=this.onWindowOrientationChange.bind(this),this.windowScrollHandler=this.onWindowScroll.bind(this),this.keyDownHandler=this.onKeyDown.bind(this),this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.uiLayerTouchHandler=this.onUILayerTouch.bind(this),this.carouselSlideByEndHandler=this.onCarouselSlideByEnd.bind(this),this.carouselSlideshowStartHandler=this.onCarouselSlideshowStart.bind(this),this.carouselSlideshowStopHandler=this.onCarouselSlideshowStop.bind(this),this.toolbarTapHandler=this.onToolbarTap.bind(this),this.toolbarBeforeShowHandler=this.onToolbarBeforeShow.bind(this),this.toolbarShowHandler=this.onToolbarShow.bind(this),this.toolbarBeforeHideHandler=this.onToolbarBeforeHide.bind(this),this.toolbarHideHandler=this.onToolbarHide.bind(this),this.mouseWheelHandler=this.onMouseWheel.bind(this),this.zoomPanRotateTransformHandler=this.onZoomPanRotateTransform.bind(this)),i.Browser.android)this.orientationEventName="resize";else if(i.Browser.iOS&&!i.Browser.safari)i.Events.add(n.document.body,"orientationchange",this.windowOrientationChangeHandler);else{var t=!i.isNothing(n.onorientationchange);this.orientationEventName=t?"orientationchange":"resize"}i.isNothing(this.orientationEventName)||i.Events.add(n,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===n&&i.Events.add(n,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&i.Events.add(n.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?n.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(+new Date).toString(),n.location.hash=this.currentHistoryHashValue),i.Events.add(n,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&i.Events.add(n,"mousewheel",this.mouseWheelHandler),i.Events.add(this.uiLayer,i.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),i.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),i.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),i.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),i.isNothing(this.toolbar)||(i.Events.add(this.toolbar,e.EventTypes.onTap,this.toolbarTapHandler),i.Events.add(this.toolbar,e.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),i.Events.add(this.toolbar,e.EventTypes.onShow,this.toolbarShowHandler),i.Events.add(this.toolbar,e.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),i.Events.add(this.toolbar,e.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){i.Browser.iOS&&!i.Browser.safari&&i.Events.remove(n.document.body,"orientationchange",this.windowOrientationChangeHandler),i.isNothing(this.orientationEventName)||i.Events.remove(n,this.orientationEventName,this.windowOrientationChangeHandler),i.Events.remove(n,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&i.Events.remove(n.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&i.Events.remove(n,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&i.Events.remove(n,"mousewheel",this.mouseWheelHandler),i.isNothing(this.uiLayer)||i.Events.remove(this.uiLayer,i.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),i.isNothing(this.toolbar)||(i.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),i.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),i.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),i.isNothing(this.toolbar)||(i.Events.remove(this.toolbar,e.EventTypes.onTap,this.toolbarTapHandler),i.Events.remove(this.toolbar,e.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),i.Events.remove(this.toolbar,e.EventTypes.onShow,this.toolbarShowHandler),i.Events.remove(this.toolbar,e.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),i.Events.remove(this.toolbar,e.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(i.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";i.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),i.Events.fire(this,{type:h.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,i.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,i.DOM.removeClass(n.document.body,h.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,h.unsetActivateInstance(this),i.Events.fire(this,{type:h.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||n.history.back())},play:function(){this.isZoomActive()||this.settings.preventSlideshow||i.isNothing(this.carousel)||(!i.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||i.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||i.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||i.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||i.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!i.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(i.Events.fire(this,h.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new s.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,i.Events.add(this.zoomPanRotate,h.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),i.Events.fire(this,h.EventTypes.onZoomPanRotateShow),!i.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){i.isNothing(this.zoomPanRotate)||(i.Events.fire(this,h.EventTypes.onBeforeZoomPanRotateHide),i.Events.remove(this.zoomPanRotate,h.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,i.Events.fire(this,h.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var t,n;if(i.Browser.msie){if(t=document.createElement("div"),i.isNothing(t.style.msTransform))return!1}else if(!i.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(n=this.cache.images[this.currentIndex],i.isNothing(n))?!1:n.isLoading?!1:!0:!1},isZoomActive:function(){return!i.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){n.setTimeout(function(){var t=this.settings.target===n?n.document.body:this.settings.target;i.DOM.removeClass(t,h.CssClasses.buildingBody),i.DOM.addClass(t,h.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():i.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),i.Events.fire(this,{type:h.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&i.Browser.iOS&&!i.Browser.safari&&(i.isNothing(this._uiWebViewResetPositionTimeout)||n.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=n.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){i.isNothing(this._uiWebViewResetPositionTimeout)||n.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){var i="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue);n.location.hash!==i&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(n){n.keyCode===37?(n.preventDefault(),this.previous()):n.keyCode===39?(n.preventDefault(),this.next()):n.keyCode===38||n.keyCode===40?n.preventDefault():n.keyCode===27?(n.preventDefault(),this.hide()):n.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),n.preventDefault()):n.keyCode===13&&(n.preventDefault(),this.play())},onUILayerTouch:function(t){if(this.isZoomActive())switch(t.action){case i.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(t.scale,this.settings.allowRotationOnUserZoom?t.rotation:0);break;case i.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(t.scale,this.settings.allowRotationOnUserZoom?t.rotation:0);break;case i.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(t.point);break;case i.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(t.point);break;case i.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case i.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case i.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(t.action){case i.TouchElement.ActionTypes.touchMove:case i.TouchElement.ActionTypes.swipeLeft:case i.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible();this.carousel.onTouch(t.action,t.point);break;case i.TouchElement.ActionTypes.touchStart:case i.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(t.action,t.point);break;case i.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case i.TouchElement.ActionTypes.doubleTap:this.settings.target===n&&(t.point.x-=i.DOM.windowScrollLeft(),t.point.y-=i.DOM.windowScrollTop());var r=this.cache.images[this.currentIndex].imageEl,u=n.parseInt(i.DOM.getStyle(r,"top"),10),f=n.parseInt(i.DOM.getStyle(r,"left"),10),e=f+i.DOM.width(r),o=u+i.DOM.height(r);t.point.x<f?t.point.x=f:t.point.x>e&&(t.point.x=e),t.point.y<u?t.point.y=u:t.point.y>o&&(t.point.y=o),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,t.point);break;case i.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}i.Events.fire(this,{type:h.EventTypes.onTouch,target:this,point:t.point,action:t.action})},onCarouselSlideByEnd:function(n){this.currentIndex=n.cacheIndex,i.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),i.Events.fire(this,{type:h.EventTypes.onDisplayImage,target:this,action:n.action,index:n.cacheIndex})},onToolbarTap:function(n){switch(n.action){case e.ToolbarAction.next:this.next();break;case e.ToolbarAction.previous:this.previous();break;case e.ToolbarAction.close:this.hide();break;case e.ToolbarAction.play:this.play()}i.Events.fire(this,{type:h.EventTypes.onToolbarTap,target:this,toolbarAction:n.action,tapTarget:n.tapTarget})},onMouseWheel:function(n){var t=i.Events.getWheelDelta(n),r=n.timeStamp-(this.mouseWheelStartTime||0);r<this.settings.mouseWheelSpeed||(this.mouseWheelStartTime=n.timeStamp,this.settings.invertMouseWheel&&(t=t*-1),t<0?this.next():t>0&&this.previous())},onCarouselSlideshowStart:function(){i.Events.fire(this,{type:h.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){i.Events.fire(this,{type:h.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){i.Events.fire(this,{type:h.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){i.Events.fire(this,{type:h.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){i.Events.fire(this,{type:h.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){i.Events.fire(this,{type:h.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(n){i.Events.fire(this,{target:this,type:h.EventTypes.onZoomPanRotateTransform,scale:n.scale,rotation:n.rotation,rotationDegs:n.rotationDegs,translateX:n.translateX,translateY:n.translateY})}})}(window,window.klass,window.Code.Util,window.Code.PhotoSwipe.Cache,window.Code.PhotoSwipe.DocumentOverlay,window.Code.PhotoSwipe.Carousel,window.Code.PhotoSwipe.Toolbar,window.Code.PhotoSwipe.UILayer,window.Code.PhotoSwipe.ZoomPanRotate),window.Swipe=function(n,t){var i=this;n&&(this.container=n,this.element=this.container.children[0],this.browser={touch:function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch}(),transitions:function(){var i=document.createElement("swipe"),n=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],t;for(t in n)if(i.style[n[t]]!==undefined)return!0;return!1}()},t=t||{},this.index=t.startSlide||0,this.speed=t.speed||300,this.callback=t.callback||function(){},this.transitionEnd=t.transitionEnd||function(){},this.delay=t.auto||0,this.cont=t.continuous!=undefined?!!t.continuous:!0,this.disableScroll=!!t.disableScroll,this.index=parseInt(this.index,10),this.setup(),this.begin(),this.element.addEventListener?(!this.browser.touch||(this.element.addEventListener("touchstart",this,!1),this.element.addEventListener("touchmove",this,!1),this.element.addEventListener("touchend",this,!1)),!this.browser.transitions||(this.element.addEventListener("webkitTransitionEnd",this,!1),this.element.addEventListener("msTransitionEnd",this,!1),this.element.addEventListener("oTransitionEnd",this,!1),this.element.addEventListener("transitionend",this,!1)),window.addEventListener("resize",this,!1)):window.onresize=function(){i.setup()})},Swipe.prototype={setup:function(){var t,n,i;if((this.slides=this.element.children,this.length=this.slides.length,this.cache=new Array(this.length),this.width=this.container.getBoundingClientRect().width||this.container.offsetWidth,this.width)&&(this.element.style.width=this.slides.length*this.width+"px",this.container.style.visibility="visible",!(this.length<2))){for(t=[[],[],[]],n=this.length-1;n>-1;n--)i=this.slides[n],i.style.width=this.width+"px",i.setAttribute("data-index",n),this.browser.transitions&&(i.style.left=n*-this.width+"px"),t[this.index>n?0:this.index<n?2:1].push(n);this.browser.transitions&&(this._stack(t[0],-1),this._stack(t[1],0),this._stack(t[2],1))}},kill:function(){var t,n,i;for(this.delay=0,clearTimeout(this.interval),t=[],n=this.slides.length-1;n>=0;n--)this.slides[n].style.width="",t.push(n);this._stack(t,0),i=this.element,i.className=i.className.replace("swipe-active",""),this.element.removeEventListener?(!this.browser.touch||(this.element.removeEventListener("touchstart",this,!1),this.element.removeEventListener("touchmove",this,!1),this.element.removeEventListener("touchend",this,!1)),!this.browser.transitions||(this.element.removeEventListener("webkitTransitionEnd",this,!1),this.element.removeEventListener("msTransitionEnd",this,!1),this.element.removeEventListener("oTransitionEnd",this,!1),this.element.removeEventListener("transitionend",this,!1)),window.removeEventListener("resize",this.resize,!1)):window.onresize=null},getPos:function(){return this.index},prev:function(n){this.delay=n||0,clearTimeout(this.interval),this.index?this.slide(this.index-1,this.speed):this.cont&&this.slide(this.length-1,this.speed)},next:function(n){this.delay=n||0,clearTimeout(this.interval),this.index<this.length-1?this.slide(this.index+1,this.speed):this.cont&&this.slide(0,this.speed)},begin:function(){var n=this;this.interval=this.delay?setTimeout(function(){n.next(n.delay)},this.delay):0},handleEvent:function(n){switch(n.type){case"touchstart":this.onTouchStart(n);break;case"touchmove":this.onTouchMove(n);break;case"touchend":this.onTouchEnd(n);break;case"webkitTransitionEnd":case"msTransitionEnd":case"oTransitionEnd":case"transitionend":this.onTransitionEnd(n);break;case"resize":this.setup()}n.stopPropagation()},onTouchStart:function(n){var t=this;t.start={pageX:n.touches[0].pageX,pageY:n.touches[0].pageY,time:Number(new Date)},t.isScrolling=undefined,t.deltaX=0},onTouchMove:function(n){var t=this;n.touches.length>1||n.scale&&n.scale!==1||(t.deltaX=n.touches[0].pageX-t.start.pageX,typeof t.isScrolling=="undefined"&&(t.isScrolling=!!(t.isScrolling||Math.abs(t.deltaX)<Math.abs(n.touches[0].pageY-t.start.pageY))),t.isScrolling?t.disableScroll&&n.preventDefault():(n.preventDefault(),t.delay=0,clearTimeout(t.interval),t.deltaX=t.deltaX/(!t.index&&t.deltaX>0||t.index==t.length-1&&t.deltaX<0?Math.abs(t.deltaX)/t.width+1:1),t._move([t.index-1,t.index,t.index+1],t.deltaX)))},onTouchEnd:function(){var t=this,i=Number(new Date)-t.start.time<250&&Math.abs(t.deltaX)>20||Math.abs(t.deltaX)>t.width/2,r=!t.index&&t.deltaX>0||t.index==t.length-1&&t.deltaX<0,u=t.deltaX<0;t.isScrolling||(i&&!r?(u?(t._stack([t.index-1],-1),t._slide([t.index,t.index+1],-t.width,t.speed),t.index+=1):(t._stack([t.index+1],1),t._slide([t.index-1,t.index],t.width,t.speed),t.index+=-1),t.callback(t.index,t.slides[t.index])):t._slide([t.index-1,t.index,t.index+1],0,t.speed))},onTransitionEnd:function(n){this._getElemIndex(n.target)==this.index&&(this.delay&&this.begin(),this.transitionEnd(this.index,this.slides[this.index]))},slide:function(n){var i=this.index;if(i!=n){if(this.browser.transitions){for(var r=Math.abs(i-n)-1,u=Math.abs(i-n)/(i-n),f=[];r--;)f.push((n>i?n:i)-r-1);this._stack(f,u),this._slide([i,n],this.width*u,this.speed)}else this._animate(i*-this.width,n*-this.width,this.speed);this.index=n,this.callback(this.index,this.slides[this.index])}},_slide:function(n,t,i){for(var u=this.slides,r=n.length;r--;)this._translate(u[n[r]],t+this.cache[n[r]],i?i:0),this.cache[n[r]]+=t},_stack:function(n,t){for(var u=this.slides,i=n.length,r=this.width*t;i--;)this._translate(u[n[i]],r,0),this.cache[n[i]]=r},_move:function(n,t){for(var r=this.slides,i=n.length;i--;)this._translate(r[n[i]],t+this.cache[n[i]],0)},_translate:function(n,t,i){if(n){var r=n.style;r.webkitTransitionDuration=r.MozTransitionDuration=r.msTransitionDuration=r.OTransitionDuration=r.transitionDuration=i+"ms",r.webkitTransform="translate3d("+t+"px,0,0)",r.msTransform=r.MozTransform=r.OTransform="translateX("+t+"px)"}},_animate:function(n,t,i){var u=this.element;if(!i){u.style.left=t+"px";return}var r=this,f=new Date,e=setInterval(function(){var o=new Date-f;if(o>i){u.style.left=t+"px",r._getElemIndex(u)==r.index&&(r.delay&&r.begin(),r.transitionEnd(r.index,r.slides[r.index])),clearInterval(e);return}u.style.left=(t-n)*(Math.floor(o/i*100)/100)+n+"px"},4)},_getElemIndex:function(n){return parseInt(n.getAttribute("data-index"),10)}},(window.jQuery||window.Zepto)&&function(n){n.fn.Swipe=function(t){return this.each(function(){var i=n(this);i.data("Swipe",new Swipe(i[0],t))})}}(window.jQuery||window.Zepto),function(n,t,i){function f(n){return n}function e(n){return decodeURIComponent(n.replace(u," "))}var u=/\+/g,r=n.cookie=function(u,o,s){var p,c,l,a,h,v,y;if(o!==i)return s=n.extend({},r.defaults,s),o===null&&(s.expires=-1),typeof s.expires=="number"&&(p=s.expires,c=s.expires=new Date,c.setDate(c.getDate()+p)),o=r.json?JSON.stringify(o):String(o),t.cookie=[encodeURIComponent(u),"=",r.raw?o:encodeURIComponent(o),s.expires?"; expires="+s.expires.toUTCString():"",s.path?"; path="+s.path:"",s.domain?"; domain="+s.domain:"",s.secure?"; secure":""].join("");for(l=r.raw?f:e,a=t.cookie.split("; "),h=0;v=a[h]&&a[h].split("=");h++)if(l(v.shift())===u)return y=l(v.join("=")),r.json?JSON.parse(y):y;return null};r.defaults={},n.removeCookie=function(t,i){return n.cookie(t)!==null?(n.cookie(t,null,i),!0):!1}}(jQuery,document),function(n){var i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=["January","February","March","April","May","June","July","August","September","October","November","December"],t=[];t.Jan="01",t.Feb="02",t.Mar="03",t.Apr="04",t.May="05",t.Jun="06",t.Jul="07",t.Aug="08",t.Sep="09",t.Oct="10",t.Nov="11",t.Dec="12",n.format=function(){function e(n){return i[parseInt(n,10)]||n}function o(n){var t=parseInt(n,10)-1;return r[t]||n}function s(n){var t=parseInt(n,10)-1;return u[t]||n}var f=function(n){return t[n]||n},n=function(n){var t=n,u="",r,i;return t.indexOf(".")!==-1&&(r=t.split("."),t=r[0],u=r[1]),i=t.split(":"),i.length===3?(hour=i[0],minute=i[1],second=i[2],{time:t,hour:hour,minute:minute,second:second,millis:u}):{time:"",hour:"",minute:"",second:"",millis:""}};return{date:function(t,i){var a,h,p,d,b;try{var w=null,y=null,l=null,v=null,k=null,c=null;if(typeof t=="number")return this.date(new Date(t),i);if(typeof t.getFullYear=="function")y=t.getFullYear(),l=t.getMonth()+1,v=t.getDate(),k=t.getDay(),c=n(t.toTimeString());else if(t.search(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.?\d{0,3}[-+]?\d{2}:?\d{2}/)!=-1)a=t.split(/[T\+-]/),y=a[0],l=a[1],v=a[2],c=n(a[3].split(".")[0]),w=new Date(y,l-1,v),k=w.getDay();else{a=t.split(" ");switch(a.length){case 6:y=a[5],l=f(a[1]),v=a[2],c=n(a[3]),w=new Date(y,l-1,v),k=w.getDay();break;case 2:h=a[0].split("-"),y=h[0],l=h[1],v=h[2],c=n(a[1]),w=new Date(y,l-1,v),k=w.getDay();break;case 7:case 9:case 10:y=a[3],l=f(a[1]),v=a[2],c=n(a[4]),w=new Date(y,l-1,v),k=w.getDay();break;case 1:h=a[0].split(""),y=h[0]+h[1]+h[2]+h[3],l=h[5]+h[6],v=h[8]+h[9],c=n(h[13]+h[14]+h[15]+h[16]+h[17]+h[18]+h[19]+h[20]),w=new Date(y,l-1,v),k=w.getDay();break;default:return t}}var r="",u="",g="";for(p=0;p<i.length;p++){d=i.charAt(p),r+=d,g="";switch(r){case"ddd":u+=e(k),r="";break;case"dd":if(i.charAt(p+1)=="d")break;String(v).length===1&&(v="0"+v),u+=v,r="";break;case"d":if(i.charAt(p+1)=="d")break;u+=parseInt(v,10),r="";break;case"MMMM":u+=s(l),r="";break;case"MMM":if(i.charAt(p+1)==="M")break;u+=o(l),r="";break;case"MM":if(i.charAt(p+1)=="M")break;String(l).length===1&&(l="0"+l),u+=l,r="";break;case"M":if(i.charAt(p+1)=="M")break;u+=parseInt(l,10),r="";break;case"yyyy":u+=y,r="";break;case"yy":if(i.charAt(p+1)=="y"&&i.charAt(p+2)=="y")break;u+=String(y).slice(-2),r="";break;case"HH":u+=c.hour,r="";break;case"hh":b=c.hour==0?12:c.hour<13?c.hour:c.hour-12,b=String(b).length==1?"0"+b:b,u+=b,r="";break;case"h":if(i.charAt(p+1)=="h")break;b=c.hour==0?12:c.hour<13?c.hour:c.hour-12,u+=parseInt(b,10),r="";break;case"mm":u+=c.minute,r="";break;case"ss":u+=c.second.substring(0,2),r="";break;case"SSS":u+=c.millis.substring(0,3),r="";break;case"a":u+=c.hour>=12?"PM":"AM",r="";break;case" ":u+=d,r="";break;case"/":u+=d,r="";break;case":":u+=d,r="";break;default:r.length===2&&r.indexOf("y")!==0&&r!="SS"?(u+=r.substring(0,1),r=r.substring(1,2)):r.length===3&&r.indexOf("yyy")===-1?r="":g=r}}return u+=g}catch(nt){return console.log(nt),t}}}}()}(jQuery),jQuery.format.date.defaultShortDateFormat="dd/MM/yyyy",jQuery.format.date.defaultLongDateFormat="dd/MM/yyyy hh:mm:ss",jQuery(document).ready(function(){jQuery(".shortDateFormat").each(function(n,t){jQuery(t).is(":input")?jQuery(t).val(jQuery.format.date(jQuery(t).val(),jQuery.format.date.defaultShortDateFormat)):jQuery(t).text(jQuery.format.date(jQuery(t).text(),jQuery.format.date.defaultShortDateFormat))}),jQuery(".longDateFormat").each(function(n,t){jQuery(t).is(":input")?jQuery(t).val(jQuery.format.date(jQuery(t).val(),jQuery.format.date.defaultLongDateFormat)):jQuery(t).text(jQuery.format.date(jQuery(t).text(),jQuery.format.date.defaultLongDateFormat))})}),function(n){function i(n){return typeof n=="object"?n:{top:n,left:n}}var t=n.scrollTo=function(t,i,r){n(window).scrollTo(t,i,r)};t.defaults={axis:"xy",duration:parseFloat(n.fn.jquery)>=1.3?0:1,limit:!0},t.window=function(){return n(window)._scrollable()},n.fn._scrollable=function(){return this.map(function(){var t=this,r=!t.nodeName||n.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1,i;return r?(i=(t.contentWindow||t).document||t.ownerDocument||t,/webkit/i.test(navigator.userAgent)||i.compatMode=="BackCompat"?i.body:i.documentElement):t})},n.fn.scrollTo=function(r,u,f){return typeof u=="object"&&(f=u,u=0),typeof f=="function"&&(f={onAfter:f}),r=="max"&&(r=9e9),f=n.extend({},t.defaults,f),u=u||f.duration,f.queue=f.queue&&f.axis.length>1,f.queue&&(u/=2),f.offset=i(f.offset),f.over=i(f.over),this._scrollable().each(function(){function l(n){h.animate(o,u,f.easing,n&&function(){n.call(this,r,f)})}if(r!=null){var s=this,h=n(s),e=r,c,o={},a=h.is("html,body");switch(typeof e){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(e)){e=i(e);break}if(e=n(e,this),!e.length)return;case"object":(e.is||e.style)&&(c=(e=n(e)).offset())}n.each(f.axis.split(""),function(n,i){var y=i=="x"?"Left":"Top",u=y.toLowerCase(),r="scroll"+y,p=s[r],w=t.max(s,i),v;c?(o[r]=c[u]+(a?0:p-h.offset()[u]),f.margin&&(o[r]-=parseInt(e.css("margin"+y))||0,o[r]-=parseInt(e.css("border"+y+"Width"))||0),o[r]+=f.offset[u]||0,f.over[u]&&(o[r]+=e[i=="x"?"width":"height"]()*f.over[u])):(v=e[u],o[r]=v.slice&&v.slice(-1)=="%"?parseFloat(v)/100*w:v),f.limit&&/^\d+$/.test(o[r])&&(o[r]=o[r]<=0?0:Math.min(o[r],w)),!n&&f.queue&&(p!=o[r]&&l(f.onAfterFirst),delete o[r])}),l(f.onAfter)}}).end()},t.max=function(t,i){var r=i=="x"?"Width":"Height",u="scroll"+r;if(!n(t).is("html,body"))return t[u]-n(t)[r.toLowerCase()]();var f="client"+r,e=t.ownerDocument.documentElement,o=t.ownerDocument.body;return Math.max(e[u],o[u])-Math.min(e[f],o[f])}}(jQuery),function(n){typeof define=="function"&&define.amd?define(n):typeof module!="undefined"&&module.exports?module.exports=n():window.pym=n.call(this)}(function(){var n="xPYMx",t={},i=function(n){var i=new RegExp("[\\?&]"+n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]")+"=([^&#]*)"),t=i.exec(location.search);return t===null?"":decodeURIComponent(t[1].replace(/\+/g," "))},r=function(n,t){if(t.xdomain==="*"||n.origin.match(new RegExp(t.xdomain+"$")))return!0},u=function(t,i,r){var u=["pym",t,i,r];return u.join(n)},e=function(t){var i=["pym",t,"(\\S+)","(.+)"];return new RegExp("^"+i.join(n)+"$")},f=function(){for(var r=document.querySelectorAll("[data-pym-src]:not([data-pym-auto-initialized])"),e=r.length,n,i=0;i<e;++i){n=r[i],n.setAttribute("data-pym-auto-initialized",""),n.id===""&&(n.id="pym-"+i);var o=n.getAttribute("data-pym-src"),u=n.getAttribute("data-pym-xdomain"),f={};u&&(f.xdomain=u),new t.Parent(n.id,o,f)}};return t.Parent=function(n,t,i){var f,o;this.id=n,this.url=t,this.el=document.getElementById(n),this.iframe=null,this.settings={xdomain:"*"},this.messageRegex=e(this.id),this.messageHandlers={},i=i||{},this._constructIframe=function(){var r=this.el.offsetWidth.toString(),t,n,i;this.iframe=document.createElement("iframe"),t="",n=this.url.indexOf("#"),n>-1&&(t=this.url.substring(n,this.url.length),this.url=this.url.substring(0,n)),this.url+=this.url.indexOf("?")<0?"?":"&",this.iframe.src=this.url+"initialWidth="+r+"&childId="+this.id+t,this.iframe.setAttribute("width","100%"),this.iframe.setAttribute("scrolling","no"),this.iframe.setAttribute("marginheight","0"),this.iframe.setAttribute("frameborder","0"),this.iframe.setAttribute("class","pymIframe"),this.el.appendChild(this.iframe),i=this,window.addEventListener("resize",function(){i.sendWidth()})},this._fire=function(n,t){if(n in this.messageHandlers)for(var i=0;i<this.messageHandlers[n].length;i++)this.messageHandlers[n][i].call(this,t)},this._processMessage=function(n){var t,i,u;if(r(n,this.settings)){if(t=n.data.match(this.messageRegex),!t||t.length!==3)return!1;i=t[1],u=t[2],this._fire(i,u)}},this._onHeightMessage=function(n){var t=parseInt(n);this.iframe.setAttribute("height",t+"px")},this._onNavigateToMessage=function(n){document.location.href=n},this.onMessage=function(n,t){n in this.messageHandlers||(this.messageHandlers[n]=[]),this.messageHandlers[n].push(t)},this.sendMessage=function(n,t){this.el.getElementsByTagName("iframe")[0].contentWindow.postMessage(u(this.id,n,t),"*")},this.sendWidth=function(){var n=this.el.offsetWidth.toString();this.sendMessage("width",n)};for(f in i)this.settings[f]=i[f];this.onMessage("height",this._onHeightMessage);this.onMessage("navigateTo",this._onNavigateToMessage);return o=this,window.addEventListener("message",function(n){return o._processMessage(n)},!1),this._constructIframe(),this},t.Child=function(t){var o,f,e;this.parentWidth=null,this.id=null,this.settings={renderCallback:null,xdomain:"*",polling:0},this.messageRegex=null,this.messageHandlers={},t=t||{},this.onMessage=function(n,t){n in this.messageHandlers||(this.messageHandlers[n]=[]),this.messageHandlers[n].push(t)},this._fire=function(n,t){if(n in this.messageHandlers)for(var i=0;i<this.messageHandlers[n].length;i++)this.messageHandlers[n][i].call(this,t)},this._processMessage=function(n){var t,i,u;r(n,this.settings)&&(t=n.data.match(this.messageRegex),t&&t.length===3)&&(i=t[1],u=t[2],this._fire(i,u))},this._onWidthMessage=function(n){var t=parseInt(n);t!==this.parentWidth&&(this.parentWidth=t,this.settings.renderCallback&&this.settings.renderCallback(t),this.sendHeight())},this.sendMessage=function(n,t){window.parent.postMessage(u(this.id,n,t),"*")},this.sendHeight=function(){var n=document.getElementsByTagName("body")[0].offsetHeight.toString();e.sendMessage("height",n)},this.scrollParentTo=function(n){this.sendMessage("navigateTo","#"+n)},this.navigateParentTo=function(n){this.sendMessage("navigateTo",n)},this.id=i("childId")||t.id,this.messageRegex=new RegExp("^pym"+n+this.id+n+"(\\S+)"+n+"(.+)$"),o=parseInt(i("initialWidth"));this.onMessage("width",this._onWidthMessage);for(f in t)this.settings[f]=t[f];return e=this,window.addEventListener("message",function(n){e._processMessage(n)},!1),this.settings.renderCallback&&this.settings.renderCallback(o),this.sendHeight(),this.settings.polling&&window.setInterval(this.sendHeight,this.settings.polling),this},t.BBMMobile=function(){this._init=function(){f()}},f(),t})