1/*! lightgallery - v1.2.18 - 2016-04-13 2* http://sachinchoolur.github.io/lightGallery/ 3* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ 4!function(e,t,s,o){"use strict";const i={mode:"lg-slide",cssEasing:"ease",easing:"linear",speed:600,height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:150,hideBarsDelay:6e3,useLeft:!1,enableSlide:!0,closable:!0,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimatoin:!0,hideControlOnEnd:!1,mousewheel:!0,getCaptionFromTitleOrAlt:!0,appendSubHtmlTo:".lg-sub-html",subHtmlSelectorRelative:!1,preload:1,showAfterLoad:!0,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:!1,iframeMaxWidth:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:()=>e(t).width()/4,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],galleryId:1};function l(t,o){if(this.el=t,this.$el=e(t),this.s=e.extend({},i,o),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in s.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.s.dynamic?this.$items=this.s.dynamicEl:"this"===this.s.selector?this.$items=this.$el:""!==this.s.selector?this.s.selectWithin?this.$items=e(this.s.selectWithin).find(this.s.selector):this.$items=this.$el.find(e(this.s.selector)):this.$items=this.$el.children(),this.s.enableSlide||(this.s.controls=!1,this.s.mousewheel=!1,this.s.preload=0,this.s.counter=!1,this.s.enableDrag=!1,this.s.enableSwipe=!1),this.$slide="",this.$outer="",this.init(),this}l.prototype.init=function(){const s=this;s.s.preload>s.$items.length&&(s.s.preload=s.$items.length);const o=t.location.hash;o.indexOf(`lg=${this.s.galleryId}`)>0&&(s.index=parseInt(o.split("&slide=")[1],10),e("body").addClass("lg-from-hash"),e("body").hasClass("lg-on")||setTimeout((()=>{s.build(s.index),e("body").addClass("lg-on")}))),s.s.dynamic?(s.$el.trigger("onBeforeOpen.lg"),s.index=s.s.index||0,e("body").hasClass("lg-on")||setTimeout((()=>{s.build(s.index),e("body").addClass("lg-on")}))):s.$items.on("click.lgcustom",(function(t){try{t.preventDefault(),t.preventDefault()}catch(e){t.returnValue=!1}s.$el.trigger("onBeforeOpen.lg"),s.index=s.s.index||s.$items.index(this),e("body").hasClass("lg-on")||(s.build(s.index),e("body").addClass("lg-on"))}))},l.prototype.build=function(t){const s=this;s.structure(),e.each(e.fn.lightGallery.modules,(t=>{s.modules[t]=new e.fn.lightGallery.modules[t](s.el)})),s.slide(t,!1,!1),s.s.keyPress&&s.keyPress(),s.$items.length>1&&(s.arrow(),setTimeout((()=>{s.enableDrag(),s.enableSwipe()}),50),s.s.mousewheel&&s.mousewheel()),s.counter(),s.closeGallery(),s.$el.trigger("onAfterOpen.lg"),s.$outer.on("mousemove.lg click.lg touchstart.lg",(()=>{s.$outer.removeClass("lg-hide-items"),clearTimeout(s.hideBartimeout),s.hideBartimeout=setTimeout((()=>{s.$outer.addClass("lg-hide-items")}),s.s.hideBarsDelay)}))},l.prototype.structure=function(){let s,o="",i="",l=0,a="";const r=this;for(e("body").append('<div class="lg-backdrop"></div>'),e(".lg-backdrop").css("transition-duration",`${this.s.backdropDuration}ms`),l=0;l<this.$items.length;l++)o+='<div class="lg-item"></div>';if(this.s.controls&&this.$items.length>1&&(i=`<div class="lg-actions"><div class="lg-prev lg-icon">${this.s.prevHtml}</div><div class="lg-next lg-icon">${this.s.nextHtml}</div></div>`),".lg-sub-html"===this.s.appendSubHtmlTo&&(a='<div class="lg-sub-html"></div>'),s=`<div class="lg-outer ${this.s.addClass} ${this.s.startClass}"><div class="lg" style="width:${this.s.width}; height:${this.s.height}"><div class="lg-inner">${o}</div><div class="lg-toolbar group"><span class="lg-close lg-icon"></span></div>${i}${a}</div></div>`,e("body").append(s),this.$outer=e(".lg-outer"),this.$slide=this.$outer.find(".lg-item"),this.s.useLeft?(this.$outer.addClass("lg-use-left"),this.s.mode="lg-slide"):this.$outer.addClass("lg-use-css3"),r.setTop(),e(t).on("resize.lg orientationchange.lg",(()=>{setTimeout((()=>{r.setTop();for(const e in r.imageData)r.setImageInfo(e)}),100)})),this.$slide.eq(this.index).addClass("lg-current"),this.doCss()?this.$outer.addClass("lg-css3"):(this.$outer.addClass("lg-css"),this.s.speed=0),this.$outer.addClass(this.s.mode),this.s.enableDrag&&this.$items.length>1&&this.$outer.addClass("lg-grab"),this.s.showAfterLoad&&this.$outer.addClass("lg-show-after-load"),this.doCss()){const e=this.$outer.find(".lg-inner");e.css("transition-timing-function",this.s.cssEasing),e.css("transition-duration",`${this.s.speed}ms`)}e(".lg-backdrop").addClass("in"),setTimeout((()=>{r.$outer.addClass("lg-visible")}),this.s.backdropDuration),this.s.download&&this.$outer.find(".lg-toolbar").append('<a id="lg-download" target="_blank" download class="lg-download lg-icon"></a>'),this.prevScrollTop=e(t).scrollTop()},l.prototype.setTop=function(){if("100%"!==this.s.height){const s=e(t).height(),o=(s-parseInt(this.s.height,10))/2,i=this.$outer.find(".lg");s>=parseInt(this.s.height,10)?i.css("top",`${o}px`):i.css("top","0px")}},l.prototype.doCss=function(){return!!function(){const e=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],t=s.documentElement;let o=0;for(o=0;o<e.length;o++)if(e[o]in t.style)return!0}()},l.prototype.isVideo=function(e,t){let s;if(s=this.s.dynamic?this.s.dynamicEl[t].html:this.$items.eq(t).attr("data-html"),!e&&s)return{html5:!0};const o=e.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i),i=e.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i),l=e.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i),a=e.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i);return o?{youtube:o}:i?{vimeo:i}:l?{dailymotion:l}:a?{vk:a}:void 0},l.prototype.counter=function(){this.s.counter&&e(this.s.appendCounterTo).append(`<div id="lg-counter"><span id="lg-counter-current">${parseInt(this.index,10)+1}</span> / <span id="lg-counter-all">${this.$items.length}</span></div>`)},l.prototype.addHtml=function(t){let s,o,i=null;if(this.s.dynamic?this.s.dynamicEl[t].subHtmlUrl?s=this.s.dynamicEl[t].subHtmlUrl:i=this.s.dynamicEl[t].subHtml:(o=this.$items.eq(t),o.attr("data-sub-html-url")?s=o.attr("data-sub-html-url"):(i=o.attr("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!i&&(i=o.attr("title")||o.find("img").first().attr("alt")))),!s)if(null!=i){const t=i.substring(0,1);"."!==t&&"#"!==t||(i=this.s.subHtmlSelectorRelative&&!this.s.dynamic?o.find(i).html():e(i).html())}else i="";".lg-sub-html"===this.s.appendSubHtmlTo?s?this.$outer.find(this.s.appendSubHtmlTo).load(s):this.$outer.find(this.s.appendSubHtmlTo).html(i):s?this.$slide.eq(t).load(s):this.$slide.eq(t).append(i),null!=i&&(""===i?this.$outer.find(this.s.appendSubHtmlTo).addClass("lg-empty-html"):this.$outer.find(this.s.appendSubHtmlTo).removeClass("lg-empty-html")),this.$el.trigger("onAfterAppendSubHtml.lg",[t])},l.prototype.preload=function(e){let t=1,s=1;for(t=1;t<=this.s.preload&&!(t>=this.$items.length-e);t++)this.loadContent(e+t,!1,0);for(s=1;s<=this.s.preload&&!(e-s<0);s++)this.loadContent(e-s,!1,0)},l.prototype.setImageInfo=function(e){const t=this;e=void 0!==e?+e:t.index,t.imageData||(t.imageData={}),t.imageData[e]={};const s=t.imageData[e];t.$slide.addClass("lg-show"),s.$wrap=t.$slide.eq(e).find(".lg-img-wrap"),s.$img=s.$wrap.find(".lg-image"),s.$img[0]&&(s.width=s.$img.width(),s.height=s.$img.he
4ight(),t.s.dynamic?(s.naturalWidth=t.s.dynamicEl[e].width||s.$img[0].naturalWidth,s.naturalHeight=t.s.dynamicEl[e].height||s.$img[0].naturalHeight):(s.naturalWidth=t.$items.eq(e).attr("data-width")||s.$img[0].naturalWidth,s.naturalHeight=t.$items.eq(e).attr("data-height")||s.$img[0].naturalHeight),s.initialOffsetX=(s.$wrap.width()-s.width)/2,s.initialOffsetY=(s.$wrap.height()-s.height)/2,s.maxScale=s.naturalWidth/s.width||3,t.setTranslate(s.$wrap,s.initialOffsetX,s.initialOffsetY)),t.viewportWidth=t.$outer.find(".lg").width(),t.viewportHeight=t.$outer.find(".lg").height(),t.$slide.removeClass("lg-show")},l.prototype.loadContent=function(s,o,i){const l=this;let a,r,n,d,g,c,h=!1;const m=function(s){const o=[],i=[];for(let e=0;e<s.length;e++){const t=s[e].split(" ");""===t[0]&&t.splice(0,1),i.push(t[0]),o.push(t[1])}const l=e(t).width();for(let e=0;e<o.length;e++)if(parseInt(o[e],10)>l){r=i[e];break}};if(l.s.dynamic){if(l.s.dynamicEl[s].poster&&(h=!0,n=l.s.dynamicEl[s].poster),c=l.s.dynamicEl[s].html,r=l.s.dynamicEl[s].src,l.s.dynamicEl[s].responsive){m(l.s.dynamicEl[s].responsive.split(","))}d=l.s.dynamicEl[s].srcset,g=l.s.dynamicEl[s].sizes}else{if(l.$items.eq(s).attr("data-poster")&&(h=!0,n=l.$items.eq(s).attr("data-poster")),c=l.$items.eq(s).attr("data-html"),r=l.$items.eq(s).attr("href")||l.$items.eq(s).attr("data-src"),l.$items.eq(s).attr("data-responsive")){m(l.$items.eq(s).attr("data-responsive").split(","))}d=l.$items.eq(s).attr("data-srcset"),g=l.$items.eq(s).attr("data-sizes")}let u=!1;l.s.dynamic?l.s.dynamicEl[s].iframe&&(u=!0):"true"===l.$items.eq(s).attr("data-iframe")&&(u=!0);const p=l.isVideo(r,s);if(!l.$slide.eq(s).hasClass("lg-loaded")){if(u)l.$slide.eq(s).prepend(`<div class="lg-video-cont" style="max-width:${l.s.iframeMaxWidth}"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="${r}" allowfullscreen="true"></iframe></div></div>`);else if(h){let e="";e=p&&p.youtube?"lg-has-youtube":p&&p.vimeo?"lg-has-vimeo":"lg-has-html5",l.$slide.eq(s).prepend(`<div class="lg-video-cont ${e} "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="${n}" /></div></div>`)}else p?(l.$slide.eq(s).prepend('<div class="lg-video-cont "><div class="lg-video"></div></div>'),l.$el.trigger("hasVideo.lg",[s,r,c])):l.$slide.eq(s).prepend(`<div class="lg-img-wrap"><img class="lg-object lg-image" src="${r}" /></div>`);if(l.$el.trigger("onAferAppendSlide.lg",[s]),a=l.$slide.eq(s).find(".lg-object"),g&&a.attr("sizes",g),d){a.attr("srcset",d);try{picturefill({elements:[a[0]]})}catch(e){console.error("Make sure you have included Picturefill version 2")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&l.addHtml(s),l.$slide.eq(s).addClass("lg-loaded")}l.$slide.eq(s).find(".lg-object").on("load.lg error.lg",(()=>{l.setImageInfo(s);let t=0;i&&!e("body").hasClass("lg-from-hash")&&(t=i),setTimeout((()=>{l.$slide.eq(s).addClass("lg-complete"),l.$el.trigger("onSlideItemLoad.lg",[s,i||0])}),t)})),p&&p.html5&&!h&&l.$slide.eq(s).addClass("lg-complete"),!0===o&&(l.$slide.eq(s).hasClass("lg-complete")?l.preload(s):l.$slide.eq(s).find(".lg-object").on("load.lg error.lg",(()=>{l.preload(s)})))},l.prototype.slide=function(t,s,o){const i=this.$outer.find(".lg-current").index(),l=this;if(l.lGalleryOn&&i===t)return;const a=this.$slide.length;l.lGalleryOn&&this.s.speed;let r=!1,n=!1;if(!l.lgBusy){if(this.s.download){let s;s=l.s.dynamic?!1!==l.s.dynamicEl[t].downloadUrl&&(l.s.dynamicEl[t].downloadUrl||l.s.dynamicEl[t].src):"false"!==l.$items.eq(t).attr("data-download-url")&&(l.$items.eq(t).attr("data-download-url")||l.$items.eq(t).attr("href")||l.$items.eq(t).attr("data-src")),s?(e("#lg-download").attr("href",s),l.$outer.removeClass("lg-hide-download")):l.$outer.addClass("lg-hide-download")}this.$el.trigger("onBeforeSlide.lg",[i,t,s,o]),l.lgBusy=!0,clearTimeout(l.hideBartimeout),".lg-sub-html"===this.s.appendSubHtmlTo&&l.addHtml(t),this.arrowDisable(t),t<i?(n=!0,l.s.loop&&a>2&&0===t&&i===a-1&&!o&&(n=!1,r=!0)):t>i&&(r=!0,l.s.loop&&a>2&&t===a-1&&0===i&&!o&&(n=!0,r=!1)),l.$outer.addClass("lg-no-trans"),this.$slide.removeClass("lg-prev-slide lg-next-slide lg-current"),n?(this.$slide.eq(t).addClass("lg-prev-slide"),this.$slide.eq(i).addClass("lg-next-slide")):r&&(this.$slide.eq(t).addClass("lg-next-slide"),this.$slide.eq(i).addClass("lg-prev-slide")),l.$outer.removeClass("lg-no-trans"),setTimeout((()=>{l.$slide.eq(t).addClass("lg-current"),l.$slide.removeAttr("style"),l.lGalleryOn?setTimeout((()=>{l.loadContent(t,!0,0),l.lgBusy=!1,l.$el.trigger("onAfterSlide.lg",[i,t,s,o])}),l.s.speed):(l.loadContent(t,!0,l.s.backdropDuration),l.lgBusy=!1,l.$el.trigger("onAfterSlide.lg",[i,t,s,o]))}),s?0:50),l.lGalleryOn=!0,this.s.counter&&e("#lg-counter-current").text(t+1)}},l.prototype.goToNextSlide=function(e){const t=this;t.lgBusy||(t.index+1<t.$slide.length?(t.index++,t.$el.trigger("onBeforeNextSlide.lg",[t.index]),t.slide(t.index,e,!1)):t.s.loop?(t.index=0,t.$el.trigger("onBeforeNextSlide.lg",[t.index]),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(t.$outer.addClass("lg-right-end"),setTimeout((()=>{t.$outer.removeClass("lg-right-end")}),400)))},l.prototype.goToPrevSlide=function(e){const t=this;t.lgBusy||(t.index>0?(t.index--,t.$el.trigger("onBeforePrevSlide.lg",[t.index,e]),t.slide(t.index,e,!1)):t.s.loop?(t.index=t.$items.length-1,t.$el.trigger("onBeforePrevSlide.lg",[t.index,e]),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(t.$outer.addClass("lg-left-end"),setTimeout((()=>{t.$outer.removeClass("lg-left-end")}),400)))},l.prototype.keyPress=function(){const s=this;this.$items.length>1&&e(t).on("keyup.lg",(e=>{s.$items.length>
41&&(37===e.keyCode&&(e.preventDefault(),s.goToPrevSlide()),39===e.keyCode&&(e.preventDefault(),s.goToNextSlide()))})),e(t).on("keydown.lg",(e=>{!0===s.s.escKey&&27===e.keyCode&&(e.preventDefault(),s.$outer.hasClass("lg-thumb-open")?s.$outer.removeClass("lg-thumb-open"):s.destroy())}))},l.prototype.arrow=function(){const e=this;this.$outer.find(".lg-prev").on("click.lg",(()=>{e.goToPrevSlide()})),this.$outer.find(".lg-next").on("click.lg",(()=>{e.goToNextSlide()}))},l.prototype.arrowDisable=function(e){!this.s.loop&&this.s.hideControlOnEnd&&(e+1<this.$slide.length?this.$outer.find(".lg-next").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-next").attr("disabled","disabled").addClass("disabled"),e>0?this.$outer.find(".lg-prev").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-prev").attr("disabled","disabled").addClass("disabled"))},l.prototype.setTranslate=function(e,t,s){this.s.useLeft?e.css("left",t):e.css({transform:`translate3d(${t}px, ${s}px, 0px)`})},l.prototype.touchMove=function(t,s){const o=s-t;if(o){const t=this.s.margin||20;this.imageData[this.index];Math.abs(o)>30&&(this.isDraging=!0),this.$outer.addClass("lg-dragging"),this.setTranslate(this.$slide.eq(this.index),o,0),this.setTranslate(e(".lg-prev-slide"),-this.viewportWidth+o-t,0),this.setTranslate(e(".lg-next-slide"),this.viewportWidth+o+t,0)}},l.prototype.touchEnd=function(e){const t=this,s="function"==typeof t.s.swipeThreshold?t.s.swipeThreshold():t.s.swipeThreshold;"lg-slide"!==t.s.mode&&t.$outer.addClass("lg-slide"),this.$slide.not(".lg-current, .lg-prev-slide, .lg-next-slide").css("opacity","0"),setTimeout((()=>{t.isDraging=!1,t.$outer.removeClass("lg-dragging"),e<0&&Math.abs(e)>s?t.goToNextSlide(!0):e>0&&Math.abs(e)>s?t.goToPrevSlide(!0):Math.abs(e)<5&&t.$el.trigger("onSlideClick.lg"),t.$slide.removeAttr("style")}),50),setTimeout((()=>{t.$outer.hasClass("lg-dragging")||"lg-slide"===t.s.mode||t.$outer.removeClass("lg-slide")}),t.s.speed+100)},l.prototype.enableSwipe=function(){const e=this;let t,s=0,o=0,i=!1,l=!1,a=0,r=!1;e.s.enableSwipe&&e.isTouch&&e.doCss()&&(e.$outer.off("touchstart.lg").on("touchstart.lg",(function(t){a=t.originalEvent.touches.length,e.lgBusy||1!=a||(i=!0,e.$outer.hasClass("lg-zoomed")||e.lgBusy||(e.manageSwipeClass(),s=t.originalEvent.touches[0].pageX),(s<30||s>e.viewportWidth-30)&&(r=!0),e.$outer.removeClass("lg-hide-items"))})),e.$outer.off("touchmove.lg").on("touchmove.lg",(function(a){const n=e.modules.zoom&&e.modules.zoom.isInZoom;!i||e.lgBusy||e.$outer.hasClass("lg-zoomed")||n||(a.preventDefault(),o=a.originalEvent.touches[0].pageX,e.touchMove(s,o),l=!0,r&&(clearTimeout(t),t=setTimeout((()=>{l=!1,i=!1,r=!1,e.touchEnd(o-s)}),200)))})),e.$outer.off("touchend.lg").on("touchend.lg",(function(t){a=t.originalEvent.touches.length,r=!1,0===a&&(i=!1,e.$outer.hasClass("lg-zoomed")||(l?(l=!1,e.touchEnd(o-s)):e.$el.trigger("onSlideClick.lg")))})))},l.prototype.enableDrag=function(){const s=this;let o=0,i=0,l=!1,a=0;s.s.enableDrag&&!s.isTouch&&s.doCss()&&(s.$slide.on("mousedown.lg",(t=>{s.$outer.hasClass("lg-zoomed")||(e(t.target).hasClass("lg-object")||e(t.target).hasClass("lg-video-play"))&&(t.preventDefault(),s.lgBusy||(s.manageSwipeClass(),o=t.pageX,s.isDraging=!0,s.$outer.scrollLeft+=1,s.$outer.scrollLeft-=1,s.$outer.removeClass("lg-grab").addClass("lg-grabbing"),s.$el.trigger("onDragstart.lg")))})),e(t).on("mousemove.lg",(r=>{flexbe_cli.is_admin&&(a=e(t).width()/6),s.isDraging&&(l=!0,i=r.pageX,s.touchMove(o,i),s.$el.trigger("onDragmove.lg"),(r.pageX<a||r.pageX>e(t).width()-a)&&e(t).trigger("mouseup.lg"))})),e(t).on("mouseup.lg",(t=>{l?(l=!1,s.touchEnd(i-o),s.$el.trigger("onDragend.lg")):(e(t.target).hasClass("lg-object")||e(t.target).hasClass("lg-video-play"))&&s.$el.trigger("onSlideClick.lg"),s.isDraging&&(s.isDraging=!1,s.$outer.removeClass("lg-grabbing").addClass("lg-grab"))})))},l.prototype.manageSwipeClass=function(){let e=this.index+1,t=this.index-1;const s=this.$slide.length;this.s.loop&&(0===this.index?t=s-1:this.index===s-1&&(e=0)),this.$slide.removeClass("lg-next-slide lg-prev-slide"),t>-1&&this.$slide.eq(t).addClass("lg-prev-slide"),this.$slide.eq(e).addClass("lg-next-slide")},l.prototype.mousewheel=function(){const e=this;e.$outer.on("mousewheel.lg",(t=>{t.deltaY&&(t.deltaY>0?e.goToPrevSlide():e.goToNextSlide(),t.preventDefault())}))},l.prototype.closeGallery=function(){const t=this;let s=!1;this.$outer.find(".lg-close").on("click.lg",(()=>{t.destroy()})),t.s.closable&&(t.$outer.on("mousedown.lg",(t=>{s=!!(e(t.target).is(".lg-outer")||e(t.target).is(".lg-item ")||e(t.target).is(".lg-img-wrap"))})),t.$outer.on("mouseup.lg",(o=>{(e(o.target).is(".lg-outer")||e(o.target).is(".lg-item ")||e(o.target).is(".lg-img-wrap")&&s)&&(t.$outer.hasClass("lg-dragging")||t.destroy())})))},l.prototype.destroy=function(s){const o=this;s||o.$el.trigger("onBeforeClose.lg"),e(t).scrollTop(o.prevScrollTop),s&&(o.s.dynamic||this.$items.off("click.lg click.lgcustom"),e.removeData(o.el,"lightGallery")),this.$el.off(".lg.tm"),e.each(e.fn.lightGallery.modules,(e=>{o.modules[e]&&o.modules[e].destroy()})),this.lGalleryOn=!1,clearTimeout(o.hideBartimeout),this.hideBartimeout=!1,e(t).off(".lg"),e("body").removeClass("lg-on lg-from-hash"),o.$outer&&o.$outer.removeClass("lg-visible"),e(".lg-backdrop").removeClass("in"),setTimeout((()=>{o.$outer&&o.$outer.remove(),e(".lg-backdrop").remove(),s||o.$el.trigger("onCloseAfter.lg")}),o.s.backdropDuration+50)},e.fn.lightGallery=function(t){return this.each((function(){if(e.data(this,"lightGallery"))try{e(this).data("lightGallery").init()}catch(e){console.error("lightGallery has not initiated properly")}else e.data(this,"lightGallery",new l(this,t))}))},e.fn.lightGallery.modules={}}(jQuery,window,document),function(e,t,s,o){"use strict";const i={scale:1,zoom:!0,actualSize:!0,zoomIcons:!0,enableZoomAfter:300},l=function(s){return this.core=e(s).data("lightGallery"),this.core.s=e.extend({},i,this.core.s),this.core.s.zoom&&this.core.doCss()&&(this.init(),this.zoomabletimeout=!1,this.pageX=e(t).width()/2,this.pageY=e(t).height()/2+e(t).scrollTop()),this.core.imageData||(this.core.imageData={}),this};l.prototype.init=function(){const s=this;let o;
4s.core.s.zoomIcons&&(o='<span id="lg-zoom-in" class="lg-icon"></span><span id="lg-zoom-out" class="lg-icon"></span>'),s.core.s.actualSize&&(o+='<span id="lg-actual-size" class="lg-icon"></span>'),this.core.$outer.find(".lg-toolbar").append(o),s.core.$el.off("onBeforeSlide.lg.tm.zoom").on("onBeforeSlide.lg.tm.zoom",((e,t,o)=>{s.fitImage(t,!0)})),s.core.$el.on("onSlideItemLoad.lg.tm.zoom",((t,o,i)=>{s.savePosition(o);let l=s.core.s.enableZoomAfter+i;e("body").hasClass("lg-from-hash")&&i?l=0:e("body").removeClass("lg-from-hash"),s.zoomabletimeout=setTimeout((()=>{s.core.$slide.eq(o).addClass("lg-zoomable")}),l+30)})),s.core.$slide.on("dblclick",".lg-image",(e=>{s.actualSize(e)}));let i,l=0,a=!1;s.core.$slide.on("touchstart",".lg-image",(e=>{e.preventDefault(),l=e.originalEvent.touches&&e.originalEvent.touches.length,1==l&&(a?(clearTimeout(a),a=null,s.actualSize(e)):a=setTimeout((()=>{a=null}),300))})),e(t).off("resize.lg_zoom orientationchange.lg_zoom").on("resize.lg_zoom orientationchange.lg_zoom",(()=>{clearTimeout(i),i=setTimeout((()=>{for(const e in s.core.imageData)s.fitImage(e,!0)}),100)})),s.core.s.zoomIcons&&(e("#lg-zoom-out").off("click.lg").on("click.lg",(()=>{let e=+s.core.imageData[s.core.index].$wrap.attr("data-scale")||1;s.core.$outer.find(".lg-current .lg-image").length&&(e-=1,s.zoom(e),s.fitImage())}
4)),e("#lg-zoom-in").off("click.lg").on("click.lg",(()=>{let e=+s.core.imageData[s.core.index].$wrap.attr("data-scale")||1;s.core.$outer.find(".lg-current .lg-image").length&&(e+=1,s.zoom(e),s.fitImage())}))),s.core.s.actualSize&&e("#lg-actual-size").off("click.lg").on("click.lg",(e=>{s.actualSize(e,!0)})),s.core.isTouch?s.zoomPitch():(s.mouseDrag(),s.scrollZoom())},l.prototype.zoomPitch=function(){const e=this;let t,s,o,i,l=0,a=0,r=1;let n=!1,d=!1;function g(e){if(!e.originalEvent.touches)return!1;const t=[];for(const s in e.originalEvent.touches){const o=e.originalEvent.touches[s];o.clientX&&t.push({x:o.clientX,y:o.clientY})}return t}function c(e){let t=0,s=0;return e.forEach((e=>{t+=e.x,s+=e.y})),{x:t/e.length,y:s/e.length}}function h(e){return e.length>1?Math.sqrt((e[1].x-e[0].x)**2+(e[1].y-e[0].y)**2):0}e.core.$slide.off("touchstart.lg_zoom_pitch").on("touchstart.lg_zoom_pitch",(function(o){if(e.core.isDraging)return;const i=g(o);t=e.core.imageData[e.core.index],r=+t.$wrap.attr("data-scale")||t.scale||1,n||(n=!0,s=i[0],t=e.core.imageData[e.core.index]);!d&&i.length>=2&&(d=!0,e.savePosition(),s=c(i));e.isZoomed&&o.preventDefault();l=h(i)})),e.core.$slide.off("touchmove.lg_zoom_pitch").on("touchmove.lg_zoom_pitch",(function(t){if(e.core.isDraging)return;t.preventDefault();const n=g(t);let d,m=0,u=0,p=r;if(o=n[0],e.core.$outer.addClass("lg-zoom-dragging lg-no-trans"),i=c(n),a=h(n),2==n.length){const t=a-l;d=4*Math.floor(100*t/e.core.viewportHeight),p=r*parseFloat((100+d)/100)}e.isZoomed&&(m=i.x-s.x,u=i.y-s.y);(r!=p||e.isZoomed&&(m||u))&&e.zoom(p,i.x,i.y,m,u)})),e.core.$slide.off("touchend.lg_zoom_pitch").on("touchend.lg_zoom_pitch",(function(i){if(e.core.isDraging)return;const l=g(i);r=+t.$wrap.attr("data-scale"),1==l.length&&(s=l[0],o=l[0],e.savePosition());l.length<=1&&(d=!1);0===l.length&&(n=!1,e.fitImage())}))},l.prototype.scrollZoom=function(){const s=this;let o;s.core.$slide.off("mousewheel.lg_zoom").on("mousewheel.lg_zoom",(i=>{const l=i.originalEvent,a=s.core.imageData[s.core.index];if(!a)return;if(s.core.isDraging)return;const r=+a.$wrap.attr("data-scale")||1,n=r+Math.max(-1,Math.min(1,l.wheelDelta||-l.detail))/10*(r+1),d=l.pageX,g=l.pageY-e(t).scrollTop();n>a.maxScale||(s.zoom(n,d,g),s.savePosition(),clearTimeout(o),o=setTimeout((()=>{s.fitImage()}),150),i.preventDefault())}))},l.prototype.mouseDrag=function(){const s=this;let o={},i={},l=!1;s.core.$slide.on("mousedown.lg_zoom",(t=>{s.core.imageData[s.core.index];s.isZoomed&&e(t.target).hasClass("lg-object")&&(t.preventDefault(),o={x:t.pageX,y:t.pageY},l=!0,s.core.$outer.scrollLeft+=1,s.core.$outer.scrollLeft-=1,s.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"))})),e(t).on("mousemove.lg_zoom",(e=>{if(l){const t=s.core.imageData[s.core.index];let l,a;i={x:e.pageX,y:e.pageY},s.core.$outer.addClass("lg-zoom-dragging"),l=i.x-o.x,a=i.y-o.y,s.zoom(t.scale,0,0,l,a)}})),e(t).on("mouseup.lg_zoom",(e=>{l&&(l=!1,s.fitImage()),(s.core.s.enableDrag||s.isZoomed)&&s.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")}))},l.prototype.checkPosition=function(e,t,s,o,i){const l=this;let a,r,n=0,d=0;void 0===i&&(i=l.core.index);const g=l.core.imageData[i];if(!g)return;(o=o||+g.$wrap.attr("data-scale")||1)>g.maxScale&&(o=g.maxScale),e?o<1&&(o=1):o<1&&(o=1-.2*(1-o))<.5&&(o=.5);const c=g.width*o,h=g.height*o,m=c>l.core.viewportWidth,u=h>l.core.viewportHeight;if(m?(n=0,a=l.core.viewportWidth-c):(n=(l.core.viewportWidth-c)/2,a=n),u?(d=0,r=l.core.viewportHeight-h):(d=(l.core.viewportHeight-h)/2,r=d),!e){let e,i;const l=.05*o;e=t>=0?(t-n)*l:(t-a)*l,i=s>=0?(s-d)*l:(s-r)*l,n+=e,a+=e,d+=i,r+=i}return t>n?t=n:t<a&&(t=a),s>d?s=d:s<r&&(s=r),{x:t,y:s,scale:o}},l.prototype.actualSize=function(s,o){const i=this,l=i.core.index,a=i.core.imageData[l];if(!a)return;let r,n,d=+a.$wrap.attr("data-scale")||1;d=i.isZoomed?1:a.maxScale,o||(r=s.pageX||s.originalEvent.targetTouches[0].pageX,n=(s.pageY||s.originalEvent.targetTouches[0].pageY)-e(t).scrollTop()),i.zoom(d,r,n),i.savePosition(),setTimeout((()=>{i.core.s.enableDrag||i.isZoomed?i.core.$outer.removeClass("lg-grabbing").addClass("lg-grab"):i.core.$outer.removeClass("lg-grab lg-grabbing")}),10)},l.prototype.fitImage=function(e,t){const s=this;if(void 0===e&&(e=this.core.index),!s.core.imageData)return;const o=s.core.imageData[e];if(!o)return;s.core.$outer.removeClass("lg-zoom-dragging lg-no-trans");let i=o.initialOffsetX,l=o.initialOffsetY,a=1;t||(i=+o.$wrap.attr("data-x")||i,l=+o.$wrap.attr("data-y")||l,a=+o.$wrap.attr("data-scale")||a);const r=s.checkPosition(!0,i,l,a,e);s.setPosition(r.x,r.y,r.scale,e),s.savePosition(),r.scale<=1&&(s.isInZoom=!1)},l.prototype.zoom=function(e,t,s,o,i){const l=this,a=this.core.imageData[this.core.index];if(!a||!e)return;let r,n;e>a.maxScale&&(e=a.maxScale),t&&s||(t=l.core.viewportWidth/2,s=l.core.viewportHe
4ight/2);const d=e/a.scale;r=a.offsetX+(a.offsetX-t)*(d-1),n=a.offsetY+(a.offsetY-s)*(d-1);void 0!==o&&void 0!==i&&(r+=o*d,n+=i*d);const g=l.checkPosition(!1,r,n,e);l.setPosition(g.x,g.y,g.scale),l.isInZoom=!0,l.isZoomed=g.scale>1,l.core.$outer.toggleClass("lg-zoomed",e>1),l.core.$outer.toggleClass("lg-zoom-max",e>=a.maxScale),l.core.$slide.removeAttr("style")},l.prototype.savePosition=function(e){e=void 0!==e?e:this.core.index;const t=this.core.imageData[e];t&&(t.scale=+t.$wrap.attr("data-scale")||1,t.offsetX=+t.$wrap.attr("data-x")||t.initialOffsetX,t.offsetY=+t.$wrap.attr("data-y")||t.initialOffsetY)},l.prototype.resetZoom=function(e){e=void 0!==e?e:this.core.index;this.core.imageData[e]&&(this.core.$outer.removeClass("lg-zoomed"),this.isZoomed=!1,this.isInZoom=!1,this.zoom(1,0,0,e),this.savePosition(e))},l.prototype.setPosition=function(e,t,s,o){const i=this;void 0===o&&(o=i.core.index);const l=i.core.imageData[o];s=s||l.$wrap.attr("data-scale")||1,e=Math.floor(e)||0,t=Math.floor(t)||0,l.$wrap.css({transform:`translate3d(${e}px, ${t}px, 0) scale(${s})`}).attr("data-x",e).attr("data-y",t).attr("data-scale",s)},l.prototype.destroy=function(){const s=this;s.core.$el.off(".lg_zoom"),e(t).off(".lg_zoom"),s.core.$slide.off(".lg_zoom"),s.core.$el.off(".lg.tm.zoom"),s.resetZoom(),clearTimeout(s.zoomabletimeout),s.zoomabletimeout=!1},setTimeout((()=>{e.fn.lightGallery.modules.zoom=l}),300)}(jQuery,window,document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.