PageSourceSearch

https://bigother.com/_static/??-eJyVkdFOwzAMRX8ILwWJMR4Qn4K81O3cJk…B4E7DGnGldYe7AKfyl9xo/nt/du+9q9dLsf0YzVRw==

js bigother.com collected 2026-10-02 03:37:04 UTC 180,738 bytes, 3,798 lines download raw bytes

1(()=>{(function(){var Scroller,stats,type,text,totop,loading_text,isIE=-1!==navigator.userAgent.search("MSIE");if(isIE){var IEVersion=navigator.userAgent.match(/MSIE\s?(\d+)\.?\d*;/);IEVersion=parseInt(IEVersion[1])}function fullscreenState(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?1:0}"https:"===document.location.protocol&&(infiniteScroll.settings.ajaxurl=infiniteScroll.settings.ajaxurl.replace("http://","https://")),Scroller=function(e){var t=this;this.id=e.id,this.body=document.body,this.window=window,this.element=document.getElementById(e.id),this.wrapperClass=e.wrapper_class,this.ready=!0,this.disabled=!1,this.page=1,this.offset=e.offset,this.currentday=e.currentday,this.order=e.order,this.throttle=!1,this.click_handle=e.click_handle,this.google_analytics=e.google_analytics,this.history=e.history,this.origURL=window.location.href,this.handle=document.createElement("div"),this.handle.setAttribute("id","infinite-handle");var n=document.createElement("span"),i=document.createElement("button");i.textContent=text,n.appendChild(i),this.handle.appendChild(n),this.footer={el:document.getElementById("infinite-footer"),wrap:e.footer},this.checkViewportOnLoadBound=t.checkViewportOnLoad.bind(this),this.wpMediaelement=null,"scroll"===type?(this.window.addEventListener("scroll",function(){t.throttle=!0}),t.gotop(),setInterval(function(){t.throttle&&(t.throttle=!1,t.thefooter(),t.refresh(),t.determineURL())},250),t.ensureFilledViewport(),this.body.addEventListener("is.post-load",t.checkViewportOnLoadBound)):"click"===type&&(this.click_handle&&this.element.appendChild(this.handle),this.handle.addEventListener("click",function(){t.click_handle&&t.handle.parentNode.removeChild(t.handle),t.refresh()})),this.body.addEventListener("is.post-load",t.initializeMejs)},Scroller.prototype.getScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},Scroller.prototype.extend=function(e){e=e||{};for(var t=1;t<arguments.length;t++)if(arguments[t])for(var n in arguments[t])Object.hasOwn(arguments[t],n)&&(e[n]=arguments[t][n]);return e},Scroller.prototype.check=function(){return this.measure(this.element,[this.wrapperClass]).bottom<2*this.window.innerHeight},Scroller.prototype.render=function(e){var t=Array.prototype.slice.call(e.fragment.childNodes);for(this.body.classList.add("infinity-success");t.length>0;){var n=t.shift();this.element.appendChild(n)}this.trigger(this.body,"is.post-load",{jqueryEventName:"post-load",data:e}),this.ready=!0},Scroller.prototype.query=function(){return{page:this.page+this.offset,currentday:this.currentday,order:this.order,scripts:window.infiniteScroll.settings.scripts,styles:window.infiniteScroll.settings.styles,query_args:window.infiniteScroll.settings.query_args,query_before:window.infiniteScroll.settings.query_before,last_post_date:window.infiniteScroll.settings.last_post_date}},Scroller.prototype.animate=function(e,t){var n=performance.now();requestAnimationFrame(function i(o){var r=Math.min(1,(o-n)/t);e(r),r<1&&requestAnimationFrame(i)})},Scroller.prototype.gotop=function(){var e=document.getElementById("infinity-blog-title"),t=this;e&&(e.setAttribute("title",totop),e.addEventListener("click",function(e){var n=t.window.pageYOffset;e.preventDefault(),t.animate(function(e){var t=n-n*e;document.documentElement.scrollTop=document.body.scrollTop=t},200)}))},Scroller.prototype.thefooter=function(){var e,t,n,i,o=this;if(this.footer&&this.footer.el){if("string"==typeof this.footer.wrap){try{t=(t=document.getElementById(this.footer.wrap).getBoundingClientRect()).width}catch{t=0}t>479&&(e=this.footer.el.querySelector(".container"))&&(e.style.width=t+"px")}n=parseInt(o.footer.el.style.bottom||-50,10),i=this.window.pageYOffset>=350?0:-50,n!==i&&o.animate(function(e){var t=n+(i-n)*e;o.footer.el.style.bottom=t+"px",1===e&&(n=i)},200)}},Scroller.prototype.urlEncodeJSON=function(e,t){var n,i,o=[];for(var r in e)n=encodeURIComponent(r),i=t?t+"["+n+"]":n,"object"==typeof e[r]?!Array.isArray(e[r])||e[r].length>0?o.push(this.urlEncodeJSON(e[r],i)):o.push(i+"[]="):o.push(i+"="+encodeURIComponent(e[r]));return o.join("&")},Scroller.prototype.refresh=function(){var self=this,query,xhr,loader,customized;if(!this.disabled&&this.ready&&this.check())return this.ready=!1,this.click_handle&&(loader||(document.getElementById("infinite-aria").textContent=loading_text,loader=document.createElement("div"),loader.classList.add("infinite-loader"),loader.setAttribute("role","progress"),loader.innerHTML='<svg class="jetpack-spinner infinite-loader-spinner spinner" width="28" height="28" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indef
1inite"/></path></svg>'),this.element.appendChild(loader)),query=self.extend({action:"infinite_scroll"},this.query()),"undefined"!=typeof wp&&wp.customize&&wp.customize.settings.theme&&(customized={},query.wp_customize="on",query.theme=wp.customize.settings.theme.stylesheet,wp.customize.each(function(e){e._dirty&&(customized[e.id]=e())}),query.customized=JSON.stringify(customized),query.nonce=wp.customize.settings.nonce.preview),xhr=new XMLHttpRequest,xhr.open("POST",infiniteScroll.settings.ajaxurl,!0),xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),xhr.send(self.urlEncodeJSON(query)),xhr.onerror=function(){self.click_handle&&loader.parentNode&&loader.parentNode.removeChild(loader),self.ready=!0},xhr.onload=function(){var response=JSON.parse(xhr.responseText),httpCheck=xhr.status>=200&&xhr.status<300,responseCheck=void 0!==response.html;if(response&&httpCheck&&responseCheck){if(self.click_handle&&loader.parentNode&&loader.parentNode.removeChild(loader),response.scripts&&Array.isArray(response.scripts)&&response.scripts.forEach(function(e){var t=e.footer?"body":"head";window.infiniteScroll.settings.scripts.push(e.handle),e.extra_data&&self.appendInlineScript(e.extra_data,t),e.before_handle&&self.appendInlineScript(e.before_handle,t);var n=document.createElement("script");n.type="text/javascript",n.src=e.src,n.id=e.handle,n.async=!1,e.after_handle&&(n.onload=function(){self.appendInlineScript(e.after_handle,t)}),"wp-mediaelement"===e.handle&&self.body.removeEventListener("is.post-load",self.initializeMejs),"wp-mediaelement"===e.handle&&"undefined"==typeof mejs?(self.wpMediaelement={},self.wpMediaelement.tag=n,self.wpMediaelement.element=t,setTimeout(self.maybeLoadMejs.bind(self),250)):document.getElementsByTagName(t)[0].appendChild(n)}),response.styles&&Array.isArray(response.styles)&&response.styles.forEach(function(item){window.infiniteScroll.settings.styles.push(item.handle);var style=document.createElement("link");style.rel="stylesheet",style.href=item.src,style.id=item.handle+"-css",!item.conditional||isIE&&eval(item.conditional.replace(/%ver/g,IEVersion))||(style=!1),style&&document.getElementsByTagName("head")[0].appendChild(style)}),response.fragment=document.createElement("div"),response.fragment.innerHTML=response.html,self.page++,stats&&((new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?"+stats+"&post=0&baba="+Math.random()),"object"==typeof response.postflair&&"object"==typeof WPCOM_sharing_counts&&(WPCOM_sharing_counts=self.extend(WPCOM_sharing_counts,response.postflair)),self.render.call(self,response),"click"===type?(infiniteScroll.settings.wrapper&&document.querySelector("#infinite-view-"+(self.page+self.offset-1)+" a:first-of-type").focus({preventScroll:!0}),response.lastbatch?self.click_handle?(self.body.classList.add("infinity-end"),self.body.classList.remove("infinity-success")):self.trigger(this.body,"infinite-scroll-posts-end"):self.click_handle?self.element.appendChild(self.handle):self.trigger(this.body,"infinite-scroll-posts-more")):response.lastbatch&&(self.disabled=!0,self.body.classList.add("infinity-end"),self.body.classList.remove("infinity-success")),response.currentday&&(self.currentday=response.currentday),self.google_analytics){var ga_url=self.history.path.replace(/%d/,self.page);"object"==typeof _gaq&&_gaq.push(["_trackPageview",ga_url]),"function"==typeof ga&&ga("send","pageview",ga_url)}}else self.click_handle&&loader.parentNode&&loader.parentNode.removeChild(loader)},xhr},Scroller.prototype.appendInlineScript=function(e,t){var n=document.createElement("script"),i=document.createTextNode("//<![CDATA[ \n"+e+"\n//]]>");n.type="text/javascript",n.appendChild(i),document.getElementsByTagName(t)[0].appendChild(n)},Scroller.prototype.maybeLoadMejs=function(){null!==this.wpMediaelement&&("undefined"==typeof mejs?setTimeout(this.maybeLoadMejs.bind(this),250):(document.getElementsByTagName(this.wpMediaelement.element)[0].appendChild(this.wpMediaelement.tag),this.wpMediaelement=null,this.body.addEventListener("is.post-load",this.initializeMejs)))},Scroller.prototype.initializeMejs=function(e){if(e.detail&&e.detail.html&&(-1!==e.detail.html.indexOf("wp-audio-shortcode")||-1!==e.detail.html.indexOf("wp-video-shortcode"))&&"undefined"!=typeof mejs){var t,n={};"undefined"!=typeof _wpmejsSettings&&(n.pluginPath=_wpmejsSettings.pluginPath),n.success=function(e){var t=e.attributes.autoplay&&"false"!==e.attributes.autoplay;"flash"===e.pluginType&&t&&e.addEventListener("canplay",function(){e.play()},!1)},t=document.querySelectorAll(".wp-audio-shortcode, .wp-video-shortcode"),t=(t=Array.prototype.slice.call(t)).filter(function(e){for(;e.parentNode;){if(e.classList.contains("mejs-container"))return!1;e=e.parentNode}return!0});for(var i=0;i<t.length;i++)new MediaElementPlayer(t[i],n)}},Scroller.prototype.measure=function(e,t){t=t||[];for(var n,i,o,r=Array.prototype.slice.call(e.children),s=Number.MAX_VALUE,l=0;r.length>0;){for(n=r.shift(),o=0;o<t.length;o++)if(n.classList.contains(t[o])){r=r.concat(Array.prototype.slice.call(n.children));break}i=n.getBoundingClientRect(),s=Math.min(s,i.top),l=Math.max(l,i.bottom)}var a=Math.round(window.innerHeight/2),d=s<=a&&l>=a;return{top:s,bottom:l,height:l-s,factor:(Math.min(l,a)-Math.max(s,0))/a,isActive:d}},Scroller.prototype.ensureFilledViewport=function(){var e=this,t=e.window.innerHeight,n=e.measure(e.element,[e.wrapperClass]);e.body.removeEventListener("is.post-load",e.checkViewportOnLoadBound),0!==n.bottom&&n.bottom<t&&(e.ready=!0,e.refresh())},Scroller.prototype.checkViewportOnLoad=function(){this.ensureFilledViewport()};var previousFullScrenState=fullscreenState();Scroller.prototype.determineURL=function(){var e,t=this,n=-1,i=fullscreenState(),o=0;if(previousFullScrenState^i)previousFullScrenState=i;else{previousFullScrenState=i,e=document.querySelectorAll("."+t.wrapperClass);for(var r=0;r<e.length;r++){var s=t.measure(e[r]);if(s.isActive){n=parseInt(e[r].dataset.pageNum,10);break}s.factor>o&&(n=parseInt(e[r].dataset.pageNum,10),o=s.factor)}t.updateURL(n)}},Scroller.prototype.updateURL=function(e){if(window.history.pushState){var t=this,n=t.origURL;-1!==e&&(n=window.location.protocol+"//"+t.history.host+t.history.path.replace(/%d/,e)+t.history.parameters),window.location.href!==n&&history.pushState(null,null,n)}},Scroller.prototype.pause=function(){this.disabled=!0},Scroller.prototype.resume=function(){this.disabled=!1},Scroller.prototype.trigger=function(e,t,n){var i;(n=n||{}).jqueryEventName&&"undefined"!=typeof jQuery&&jQuery(e).trigger(n.jqueryEventName,n.data||null);try{i=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n.data||null})}catch{(i=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n.data||null)}e.dispatchEvent(i)};var jetpackInfinityModule=function(){if("object"==typeof infiniteScroll&&(infiniteScroll.
1settings.body_class.split(" ").forEach(function(e){e&&document.body.classList.add(e)}),stats=infiniteScroll.settings.stats,type=infiniteScroll.settings.type,text=infiniteScroll.settings.text,totop=infiniteScroll.settings.totop,loading_text=infiniteScroll.settings.loading_text,infiniteScroll.scroller=new Scroller(infiniteScroll.settings),"click"===type)){var e=null;window.addEventListener("scroll",function(){e||(e=setTimeout(function(){infiniteScroll.scroller.determineURL(),e=null},250))})}};"interactive"===document.readyState||"complete"===document.readyState?jetpackInfinityModule():document.addEventListener("DOMContentLoaded",jetpackInfinityModule)})()})();;
2!function($){"use strict";(new function(){var e=this;this.init=function(){window.ppFormRecaptchaLoadCallback=this.recaptcha_processing,$(".pp-del-profile-avatar").on("click",this.delete_avatar),$(".pp-del-cover-image").on("click",this.delete_profile_image_cover),$(document).on("click",".has-password-visibility-icon .pp-form-material-icons",this.toggle_password_visibility),$(document.body).on("click","a.showlogin",(function(){$(".pp_wc_login").slideToggle()})),$(window).on("load resize ppress_updated_checkout",(function(){e.defaultUserProfileResponsive()})),$(window).on("ppress_updated_checkout",(function(){e.recaptcha_processing()})),$(document).on("click",".ppress-confirm-delete",(function(e){e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(window.location.href=$(this).attr("href"))})),this.submit_reload_form_on_billing_country_field_change(),this.myaccount_password_strength_meter(),"true"!==pp_ajax_form.disable_ajax_form&&($(document).on("submit",'form[data-pp-form-submit="login"]',this.ajax_login),$(document).on("submit",'form[data-pp-form-submit="signup"]',this.ajax_registration),$(document).on("submit",'form[data-pp-form-submit="passwordreset"]',this.ajax_password_reset),$(document).on("submit",'form[data-pp-form-submit="editprofile"]',this.ajax_edit_profile))},this.recaptcha_processing=function(){$(".pp-g-recaptcha").each((function(s,t){var r=$(t).attr("data-sitekey"),o=$(this).parents(".pp-form-container").find("form"),p=void 0!==grecaptcha.enterprise?grecaptcha.enterprise:grecaptcha;if("v3"===$(t).attr("data-type"))o.find("input.pp-submit-form").on("click",(function(s){s.preventDefault(),e._add_processing_label(o),p.ready((function(){p.execute(r,{action:"form"}).then((function(e){o.find('[name="g-recaptcha-response"]').remove(),o.append($("<input>",{type:"hidden",value:e,name:"g-recaptcha-response"})),o.trigger("submit")}))}))}));else{try{var a=p.render(t,{sitekey:r,theme:$(t).attr("data-theme"),size:$(t).attr("data-size")})}catch(e){}o.on("pp_form_submitted",(function(){p.reset(a)})),$(document).on("ppress_process_checkout_success_callback ppress_process_checkout_error_callback",(function(){p.reset(a)}))}}))},this.toggle_password_visibility=function(e){e.preventDefault();var s=$(this).parents(".pp-form-field-input-textarea-wrap").find(".pp-form-field");"password"===s.attr("type")?(s.attr("type","text"),$(this).text("visibility_off")):(s.attr("type","password"),$(this).text("visibility"))},this.submit_reload_form_on_billing_country_field_change=function(){$(document).on("change",".pp-edit-profile-form-wrap select[name=ppress_billing_country]",(function(e){$(document).on("pp_form_edit_profile_success",(function(){window.location.reload()})),$(this).closest("form").find("input.pp-submit-form").trigger("click")}))},this.ajax_edit_profile=function(s){if(void 0!==window.FormData&&window.FormData){s.preventDefault();var t=$('form[data-pp-form-submit="editprofile"]'),r=e.get_melange_id(t),o=new FormData(this);o.append("action","pp_ajax_editprofile"),o.append("nonce",pp_ajax_form.nonce),o.append("melange_id",r),$(".profilepress-edit-profile-status").remove(),$(".profilepress-edit-profile-success").remove(),""!==window.edit_profile_msg_class&&$("."+window.edit_profile_msg_class).remove(),e._add_processing_label(t),$.post({url:pp_ajax_form.ajaxurl,data:o,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){t.trigger("pp_form_submitted"),t.trigger("pp_form_edit_profile_success",[t]),"avatar_url"in s&&""!==s.avatar_url&&($("img[data-del='avatar'], img.pp-user-avatar").attr("src",s.avatar_url),$("input[name=eup_avatar]",t).val("")),"cover_image_url"in s&&""!==s.cover_image_url&&($("img[data-del='cover-image'], img.pp-user-cover-image").attr("src",s.cover_image_url),$("input[name=eup_cover_image]",t).val(""),$(".profilepress-myaccount-has-cover-image",t).show(),$(".profilepress-myaccount-cover-image-empty",t).hide()),"message"in s&&(window.edit_profile_msg_class=$(s.message).attr("class"),t.before(s.message),s.message&&s.message.includes("profilepress-edit-profile-status")&&e.scroll_to_notices($(".profilepress-edit-profile-status"))),"redirect"in s&&(t.trigger("pp_edit_profile_success_before_redirect"),window.location.assign(s.redirect)),e._remove_processing_label(t)}},"json")}},this.ajax_password_reset=function(s){s.preventDefault();var t=$(this),r=e.get_melange_id(t),o="true"===t.find('input[name="is-pp-tab-widget"]').val(),p={action:"pp_ajax_passwordreset",data:$(this).serialize()+"&melange_id="+r};e._remove_status_notice(),t.parents(".pp-tab-widget-form").prev(".pp-tab-status").remove(),e._add_processing_label(t),$.post(pp_ajax_form.ajaxurl,p,(function(s){if(t.trigger("pp_form_submitted"),"object"!=typeof s)return e._remove_processing_label(t);if("message"in s){if(t.trigger("pp_password_reset_status"),o){var r=s.message.replace("profilepress-reset-status","pp-tab-status");t.parents(".pp-tab-widget-form").before(r)}else t.parents(".lucidContainer").length>0?t.parents(".lucidContainer").before(s.message):t.before(s.message);"status"in s&&!0===s.status&&t.hide(),$('input[name="user_login"]',t).val("")}e._remove_processing_label(t)}),"json")},this.ajax_registration=function(s){if(void 0!==window.FormData&&window.FormData){s.preventDefault();var t=$(this),r=e.get_melange_id(t),o=new FormData(this),p="true"===t.find('input[name="is-pp-tab-widget"]').val();o.append("action","pp_ajax_signup"),o.append("melange_id",r),e._remove_status_notice(),t.parents(".pp-tab-widget-form").prev(".pp-tab-status").remove(),e._add_processing_label(t),$.post({url:pp_ajax_form.ajaxurl,data:o,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){if(t.trigger("pp_form_submitted"),"object"!=typeof s)return e._remove_processing_label(t);if("message"in s){if(t.trigger("pp_registration_error",[s]),t.trigger("pp_registration_ajax_response",[s]),p){var r=s.message.replace("profilepress-reg-status","pp-tab-status");t.parents(".pp-tab-widget-form").before(r)}else t.parents(".lucidContainer").length>0?t.parents(".lucidContainer").before(s.message):t.before(s.message);s.message&&s.message.includes("profilepress-reg-status")&&e.scroll_to_notices()}else"redirect"in s&&(t.trigger("pp_registration_success",[s]),window.location.assign(s.redirect));e._remove_processing_label(t)}})}},this.ajax_login=function(s){s.preventDefault();var t=$(this),r={action:"pp_ajax_login",data:$(this).serialize()},o="true"===t.find('input[name="is-pp-tab-widget"]').val();e._remove_status_notice(),e._add_processing_label(t),$.post(pp_ajax_form.ajaxurl,r,(function(s){if(t.trigger("pp_form_submitted"),null===s||"object"!=typeof s)return e._remove_processing_label(t);if("success"in s&&!0===s.success&&"redirect"in s)t.trigger("pp_login_form_success"),window.location.assign(s.redirect);else if(t.trigger("pp_login_form_error"),"code"in s&&"pp2fa_auth_code_invalid"==s.code&&t.find(".pp-2fa").show(),o){var r=s.message.replace("profilepress-login-status","pp-tab-status");t.parents(".pp-tab-widget-form").before(r)}else t.parents(".lucidContainer").length>0?t.parents(".lucidContainer").before(s.message):t.before(s.message);e._remove_processing_label(t)}),"json")},this.delete_avatar=function(e){e.preventDefault();var s=$(this).text(),t=$(this);e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(t.is("button")&&t.text(pp_ajax_form.deleting_text),$.post(pp_ajax_form.ajaxurl,{action:"pp_del_avatar",nonce:pp_ajax_form.nonce}).done((function(e){"error"in e&&"nonce_failed"===e.error?(t.text(s),alert(pp_ajax_form.deleting_error)):"success"in e&&($("img[data-del='avatar']").attr("src",e.default),t.remove())}
2)))},this.delete_profile_image_cover=function(e){e.preventDefault();var s=$(this).text(),t=$(this);e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(t.is("button")&&t.text(pp_ajax_form.deleting_text),$.post(pp_ajax_form.ajaxurl,{action:"pp_del_cover_image",nonce:pp_ajax_form.nonce}).done((function(e){"error"in e&&"nonce_failed"===e.error&&(t.text(s),alert(pp_ajax_form.deleting_error)),"success"in e&&(""!==e.default?($("img[data-del='cover-image']").attr("src",e.default),t.parent().find(".profilepress-myaccount-has-cover-image").show(),t.parent().find(".profilepress-myaccount-cover-image-empty").hide()):(t.parent().find(".profilepress-myaccount-has-cover-image").hide(),t.parent().find(".profilepress-myaccount-cover-image-empty").show()),t.remove())})))},this.get_melange_id=function(e){var s=$("input.pp_melange_id",e).val();return void 0===s?"":s},this._add_processing_label=function(e){var s=e.find("input[data-pp-submit-label]");s.attr({value:s.data("pp-processing-label"),disabled:"disabled"}).css("opacity",".4")},this._remove_processing_label=function(e){var s=e.find("input[data-pp-submit-label]");s.attr("value",s.data("pp-submit-label")),s.attr({value:s.data("pp-submit-label"),disabled:null}).css("opacity","")},this._remove_status_notice=function(){$(".profilepress-login-status,.pp-tab-status,.profilepress-edit-profile-success,.profilepress-edit-profile-status,.pp-reset-success,.profilepress-reset-status,.profilepress-reg-status").remove()},this.scroll_to_notices=function(e){(e=e||$(".profilepress-reg-status")).length&&$("html, body").animate({scrollTop:e.offset().top-100},1e3)},this.defaultUserProfileResponsive=function(){$(".ppress-default-profile, .pp-member-directory, .ppress-checkout__form").each((function(){var e=$
2(this),s=e.width();s<=340?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui800"),e.removeClass("ppressui768"),e.removeClass("ppressui960"),e.addClass("ppressui340")):s<=500?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui500")):s<=768?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui768")):s<=800?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui800")):s<=960?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui960")):s>960&&(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960")),e.css("opacity",1)})),$(".ppress-default-profile-cover, .ppress-default-profile-cover-e").each((function(){var e=$
2(this),s=Math.round(e.width()/e.data("ratio"))+"px";e.height(s),e.find(".ppress-dpf-cover-add").height(s)}))},this.myaccount_password_strength_meter=function(){$((function(){var e=$("input[name=password_new]"),s=$("input[name=password_confirm_new]"),t=$("input[name=submit-form]"),r=$("#pp-pass-strength-result");$("body").on("keyup","input[name=password_new], input[name=password_confirm_new]",(function(o){!function(e,s,t,r,o){var p=e.val(),a=s.val();r.attr("disabled","disabled"),t.removeClass("short bad good strong"),o=o.concat(wp.passwordStrength.userInputDisallowedList());var i=wp.passwordStrength.meter(p,o,a);switch(i){case 2:t.addClass("bad").html(pwsL10n.bad);break;case 3:t.addClass("good").html(pwsL10n.good);break;case 4:t.addClass("strong").html(pwsL10n.strong);break;case 5:t.addClass("short").html(pwsL10n.mismatch);break;default:t.addClass("short").html(pwsL10n.short)}"false"===myacPwsL10n.disable_enforcement&&4===i&&""!==a.trim()&&r.removeAttr("disabled")}(e,s,r,t,[])}))}))}}).init(),(new function(){let e=this;window.ppressCheckoutForm=this,this.last_checked_email="",this.check_email_xhr=null,this.init=function(){if("0"!==pp_ajax_form.is_checkout&&0!==$("#ppress_checkout_main_form").length){if($(document).on("click",".ppress-checkout-show-login-form",this.toggle_login_form),$(document).on("click",'.ppress-login-submit-btn input[type="submit"]',this.process_login),$(document).on("click",".ppress-coupon-code-link",this.toggle_discount_code_reveal),$(document).on("click",".ppress-apply-discount-btn",this.apply_discount_code),$(document).on("click","#ppress-remove-applied-coupon",this.remove_applied_discount_code),$(document).on("submit","#ppress_mb_checkout_form",this.process_checkout),"1"!==pp_ajax_form.is_user_logged_in){$(document).on("blur","#ppress_mb_checkout_form #ppmb_email",this.check_email_exists),$(document).on("input","#ppress_mb_checkout_form #ppmb_email",e.debounce(this.check_email_exists,500)),$(document).on("click",".ppress-checkout-inline-login-link",this.show_login_form_and_focus),$.trim($("#ppress_mb_checkout_form #ppmb_email").val())&&this.check_email_exists()}$(document).on("click",".ppress-terms-and-conditions-link",(function(e){var s=$(".ppress-checkout-form__terms_condition__content");s.length>0&&(e.preventDefault(),s.slideToggle())})),$(document).on("ppress_update_checkout",this.update_checkout),"1"===pp_ajax_form.is_checkout_tax_enabled?$(document).on("change","#ppress_mb_checkout_form .ppress_billing_country, #ppress_mb_checkout_form .ppress_billing_state, #ppress_mb_checkout_form .ppress_vat_number",e.debounce((function(){$(document.body).trigger("ppress_update_checkout")}),200)):$(document).on("change","#ppress_mb_checkout_form .ppress_billing_country",e.contextual_state_field),$(document.body).on("change","#ppress_checkout_payment_methods [name=ppress_payment_method]",(function(){$(document.body).trigger("ppress_update_checkout")})),$(document.body).on("change","#ppress_mb_checkout_form #ppress-checkout-renewal",(function(){$(document.body).trigger("ppress_update_checkout")})),$(document.body).on("change","#ppress_mb_checkout_form #pwyw_price",(function(){$(document.body).trigger("ppress_update_checkout")})),$(document.body).on("change","#ppress_mb_checkout_form [name=group_selector]",(function(){e.update_checkout()})),$(document.body).trigger("ppress_update_checkout"),$(document).ajaxError((function(){e.remove_spinner()}))}},this.debounce=function(e,s){let t;return s=s||600,function(){clearTimeout(t),t=setTimeout((function(){e()}),s)}},this.contextual_state_field=function(){let e=$(".ppress_billing_state"),s={action:"ppress_contextual_state_field",country:$(this).val(),name:e.prop("name"),id:e.prop("id"),class:e.prop("class"),csrf:$("#ppress_checkout_nonce").val()};$.post(pp_ajax_form.ajaxurl,s,(function(s){e.replaceWith(s.data)}))},this.scroll_to_notices=function(e){"true"===pp_ajax_form.is_checkout_autoscroll_enabled&&(e=e||$(".ppress-checkout-alert")).length&&$("html, body").animate({scrollTop:e.offset().top-100},1e3)},this.update_checkout=function(s){s=s||!1;let t=$("#ppress_mb_checkout_form [name=group_selector]").length>0;e.removeAllAlerts(),e.add_spinner();let r={action:"ppress_update_order_review",plan_id:$("#ppress-checkout-plan-id").val(),ppress_payment_method:$("#ppress_checkout_payment_methods [name=ppress_payment_method]:checked").val(),csrf:$("#ppress_checkout_nonce").val(),address:$(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_address").val(),city:$(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_city").val(),country:$(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_country").val(),state:$(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_state").val(),postcode:$(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_postcode").val(),phone:$(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_phone").val(),vat_number:$("#ppress_checkout_main_form .ppress_vat_number").val(),post_data:$("#ppress_mb_checkout_form").serialize()};!0===t&&(r.isChangePlanUpdate="true"),$.post(pp_ajax_form.ajaxurl,r,(function(o){let p={};if($(".ppress-checkout-form__payment_method :input, .ppress-checkout_account_info-wrap :input").each((function(){let e=$(this).attr("id");e&&(-1!==$.inArray($(this).attr("type"),["checkbox","radio"])?p[e]=$(this).prop("checked"):p[e]=$(this).val())})),"data"in o&&void 0!==o.data.fragments&&($.each(o.data.fragments,(function(s,t){e.fragments&&e.fragments[s]===t||$(s).replaceWith(t)})),e.fragments=r.fragments),$.isEmptyObject(p)||$(".ppress-checkout-form__payment_method :input, .ppress-checkout_account_info-wrap :input").each((function(){let e=$(this).attr("id");e&&(-1!==$.inArray($(this).attr("type"),["checkbox","radio"])?$(this).prop("checked",p[e]):($.inArray($(this).attr("type"),["select"]),$(this).val(p[e])))})),"success"in o&&!1===o.success){let e=$("#ppress_checkout_main_form");
2o.data&&e.prepend(o.data),e.find(".input-text, select, input:checkbox").trigger("blur")}$(document.body).trigger("ppress_updated_checkout",[o]);let a,i=$(".ppress-checkout_order_summary__bottom_details");(a=$(".ppress-checkout-alert")).length>0&&(i=a),e.scroll_to_notices(i),e.remove_spinner(),!0===t&&!0!==s&&e.update_checkout(!0),!0===t&&(e.last_checked_email="",e.check_email_exists())}))},this.toggle_login_form=function(e){e.preventDefault(),$("#ppress_checkout_account_info .ppress-main-checkout-form__login_form_wrap").slideToggle((function(){if($(this).is(":visible")){let e=$.trim($("#ppress_mb_checkout_form #ppmb_email").val()),s=$("#ppmb_user_login");e&&!s.val()&&s.val(e)}}))},this.show_login_form_and_focus=function(e){e.preventDefault();let s=$("#ppress_checkout_account_info .ppress-main-checkout-form__login_form_wrap"),t=$.trim($("#ppress_mb_checkout_form #ppmb_email").val()),r=$("#ppmb_user_login");t&&r.val(t);let o=function(){r.val()?$("#ppmb_user_pass").focus():r.focus()};s.is(":visible")?o():s.slideDown(o),$("#ppress_checkout_account_info").length&&$("html, body").animate({scrollTop:$("#ppress_checkout_account_info").offset().top-100},500)},this.check_email_exists=function(){if("1"===pp_ajax_form.is_user_logged_in)return;let s=$("#ppress_mb_checkout_form #ppmb_email");if(0===s.length||"hidden"===s.attr("type"))return;let t=$.trim(s.val());if(!t||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t))return e.remove_email_exists_message(),void(e.last_checked_email="");if(t===e.last_checked_email)return;let r={action:"ppress_checkout_check_email",email:t,csrf:$("#ppress_checkout_nonce").val()||pp_ajax_form.nonce};e.check_email_xhr&&e.check_email_xhr.abort(),e.check_email_xhr=$.post(pp_ajax_form.ajaxurl,r,(function(r){if(e.last_checked_email=t,e.remove_email_exists_message(),r&&r.success&&r.data&&r.data.exists&&$.trim($("#ppress_mb_checkout_form #ppmb_email").val())===t){let e=r.data.message||"";if(e){let t=$('<div class="ppress-checkout-field-inline-message ppress-checkout-email-exists-message">'+e+"</div>"),r=s.closest(".ppmb-email");r.length?r.append(t):s.after(t)}}}))},this.remove_email_exists_message=function(){$(".ppress-checkout-email-exists-message").remove()},this.toggle_discount_code_reveal=function(e){e.preventDefault(),$("#ppress-checkout-coupon-code-wrap").slideToggle()},this.apply_discount_code=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let t={action:"ppress_checkout_apply_discount",plan_id:$("#ppress-checkout-plan-id").val(),coupon_code:$("#apply-discount").val(),ppress_checkout_nonce:$("#ppress_checkout_nonce").val()};$.post(pp_ajax_form.ajaxurl,t,(function(s){"success"in s&&!0===s.success?$(document.body).trigger("ppress_update_checkout"):($(".ppress-checkout_order_summary-wrap").before(s.data),e.remove_spinner())}))},this.remove_applied_discount_code=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let t={action:"ppress_checkout_remove_discount",plan_id:$("#ppress-checkout-plan-id").val(),ppress_checkout_nonce:$("#ppress_checkout_nonce").val()};$.post(pp_ajax_form.ajaxurl,t,(function(s){"success"in s&&!0===s.success?$(document.body).trigger("ppress_update_checkout"):($(".ppress-checkout_order_summary-wrap").before(s.data),e.remove_spinner())}))},this.process_login=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let t={action:"ppress_process_checkout_login",ppmb_user_login:$("#ppress_mb_checkout_form #ppmb_user_login").val(),ppmb_user_pass:$("#ppress_mb_checkout_form #ppmb_user_pass").val(),ppress_checkout_nonce:$("#ppress_checkout_nonce").val()};$.post(pp_ajax_form.ajaxurl,t,(function(s){"success"in s&&(!0===s.success?window.location.reload():"data"in s&&$("#ppress_mb_checkout_form .ppress-login-submit-btn").prepend(s.data)),e.remove_spinner()}))},this.process_checkout=function(s){if("function"!=typeof this.checkValidity||!1!==this.checkValidity()){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();var t=$(this),r=e.get_payment_method();if(!1!==t.triggerHandler("ppress_checkout_place_order_"+r)){let s=new FormData(this);s.append("action","ppress_process_checkout"),s.append("ppress_checkout_nonce",$("#ppress_checkout_nonce").val()),$.post({url:pp_ajax_form.ajaxurl,data:s,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){if($(document.body).trigger("ppress_process_checkout_success_callback",[s]),"success"in s)return!0===s.success?void(!1!==t.triggerHandler("ppress_process_checkout_"+r,[s,r])&&("redirect_url"in s&&void 0!==s.redirect_url&&s.redirect_url.length>0?window.location.assign(s.redirect_url):($(document.body).trigger("ppress_checkout_success",[s,r]),window.location.assign(s.order_success_url)))):"error_message"in s?e.createAlertMessage(s.error_message):"data"in s&&"string"==typeof s.data?e.createAlertMessage(s.data):void 0;e.remove_spinner()},error:function(s,t,r){$(document.body).trigger("ppress_process_checkout_error_callback",[s,t,r]),e.createAlertMessage(r)}},"json")}}},this.get_payment_method=function(){return $("#ppress_mb_checkout_form").find('input[name="ppress_payment_method"]:checked').val()},this.createAlertMessage=function(e,s){s=s||"error";var t=void 0!==e.indexOf&&-1!==e.indexOf("ppress-checkout-alert"),r="";t||(r='<div class="ppress-checkout-alert ppress-'+s+'"><p>'),r+=e,t||(r+="</p></div>"),$("#ppress_checkout_main_form").prepend(r),ppressCheckoutForm.scroll_to_notices(),ppressCheckoutForm.remove_spinner(),$(document.body).trigger("ppress_checkout_error",[e])},this.removeAllAlerts=function(){$(".ppress-checkout-alert").remove()},this.add_spinner=function(){e.remove_spinner(),$(".ppress-checkout__form").prepend('<div class="ppress-checkout__form__preloader"><div class="ppress-checkout__form__spinner"></div></div>')},this.remove_spinner=function(){$(".ppress-checkout__form .ppress-checkout__form__preloader").remove()},this.is_var_defined=function(e){return null!=e},this.get_obj_val=function(e,s){return this.is_var_defined(e)&&""!==e?e:s}}).init()}(jQuery);;
3/**
4 * File navigation.js.
5 *
6 * Handles toggling the navigation menu for small screens and enables TAB key
7 * navigation support for dropdown menus.
8 */
9( function() {
10	var container, button, menu, links, i, len;
11
12	container = document.getElementById( 'site-navigation' );
13	if ( ! container ) {
14		return;
15	}
16
17	button = container.getElementsByTagName( 'button' )[0];
18	if ( 'undefined' === typeof button ) {
19		return;
20	}
21
22	menu = container.getElementsByTagName( 'ul' )[0];
23
24	// Hide menu toggle button if menu is empty and return early.
25	if ( 'undefined' === typeof menu ) {
26		button.style.display = 'none';
27		return;
28	}
29
30	menu.setAttribute( 'aria-expanded', 'false' );
31	if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
32		menu.className += ' nav-menu';
33	}
34
35	button.onclick = function() {
36		if ( -1 !== container.className.indexOf( 'toggled' ) ) {
37			container.className = container.className.replace( ' toggled', '' );
38			button.setAttribute( 'aria-expanded', 'false' );
39			menu.setAttribute( 'aria-expanded', 'false' );
40		} else {
41			container.className += ' toggled';
42			button.setAttribute( 'aria-expanded', 'true' );
43			menu.setAttribute( 'aria-expanded', 'true' );
44		}
45	};
46
47	// Get all the link elements within the menu.
48	links    = menu.getElementsByTagName( 'a' );
49
50	// Each time a menu link is focused or blurred, toggle focus.
51	for ( i = 0, len = links.length; i < len; i++ ) {
52		links[i].addEventListener( 'focus', toggleFocus, true );
53		links[i].addEventListener( 'blur', toggleFocus, true );
54	}
55
56	/**
57	 * Sets or removes .focus class on an element.
58	 */
59	function toggleFocus() {
60		var self = this;
61
62		// Move up through the ancestors of the current link until we hit .nav-menu.
63		while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
64
65			// On li elements toggle the class .focus.
66			if ( 'li' === self.tagName.toLowerCase() ) {
67				if ( -1 !== self.className.indexOf( 'focus' ) ) {
68					self.className = self.className.replace( ' focus', '' );
69				} else {
70					self.className += ' focus';
71				}
72			}
73
74			self = self.parentElement;
75		}
76	}
77
78	/**
79	 * Toggles `focus` class to allow submenu access on tablets.
80	 */
81	( function( container ) {
82		var touchStartFn, i,
83			parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
84
85		if ( 'ontouchstart' in window ) {
86			touchStartFn = function( e ) {
87				var menuItem = this.parentNode, i;
88
89				if ( ! menuItem.classList.contains( 'focus' ) ) {
90					e.preventDefault();
91					for ( i = 0; i < menuItem.parentNode.children.length; ++i ) {
92						if ( menuItem === menuItem.parentNode.children[i] ) {
93							continue;
94						}
95						menuItem.parentNode.children[i].classList.remove( 'focus' );
96					}
97					menuItem.classList.add( 'focus' );
98				} else {
99					menuItem.classList.remove( 'focus' );
100				}
101			};
102
103			for ( i = 0; i < parentLink.length; ++i ) {
104				parentLink[i].addEventListener( 'touchstart', touchStartFn, false );
105			}
106		}
107	}( container ) );
108} )();
109;
110/**
111 * File skip-link-focus-fix.js.
112 *
113 * Helps with accessibility for keyboard only users.
114 *
115 * Learn more: https://git.io/vWdr2
116 */
117( function() {
118	var isIe = /(trident|msie)/i.test( navigator.userAgent );
119
120	if ( isIe && document.getElementById && window.addEventListener ) {
121		window.addEventListener( 'hashchange', function() {
122			var id = location.hash.substring( 1 ),
123				element;
124
125			if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
126				return;
127			}
128
129			element = document.getElementById( id );
130
131			if ( element ) {
132				if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
133					element.tabIndex = -1;
134				}
135
136				element.focus();
137			}
138		}, false );
139	}
140} )();
141;
142/*
143     _ _      _       _
144 ___| (_) ___| | __  (_)___
145/ __| | |/ __| |/ /  | / __|
146\__ \ | | (__|   < _ | \__ \
147|___/_|_|\___|_|\_(_)/ |___/
148                   |__/
149
150 Version: 1.6.0
151  Author: Ken Wheeler
152 Website: http://kenwheeler.github.io
153    Docs: http://kenwheeler.github.io/slick
154    Repo: http://github.com/kenwheeler/slick
155  Issues: http://github.com/kenwheeler/slick/issues
156
157 */
158/* global window, document, define, jQuery, setInterval, clearInterval */
159(function(factory) {
160    'use strict';
161    if (typeof define === 'function' && define.amd) {
162        define(['jquery'], factory);
163    } else if (typeof exports !== 'undefined') {
164        module.exports = factory(require('jquery'));
165    } else {
166        factory(jQuery);
167    }
168
169}(function($) {
170    'use strict';
171    var Slick = window.Slick || {};
172
173    Slick = (function() {
174
175        var instanceUid = 0;
176
177        function Slick(element, settings) {
178
179            var _ = this, dataSettings;
180
181            _.defaults = {
182                accessibility: true,
183                adaptiveHeight: false,
184                appendArrows: $(element),
185                appendDots: $(element),
186                arrows: true,
187                asNavFor: null,
188                prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
189                nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
190                autoplay: false,
191                autoplaySpeed: 3000,
192                centerMode: false,
193                centerPadding: '50px',
194                cssEase: 'ease',
195                customPaging: function(slider, i) {
196                    return $('<button type="button" data-role="none" role="button" tabindex="0" />').text(i + 1);
197                },
198                dots: false,
199                dotsClass: 'slick-dots',
200                draggable: true,
201                easing: 'linear',
202                edgeFriction: 0.35,
203                fade: false,
204                focusOnSelect: false,
205                infinite: true,
206                initialSlide: 0,
207                lazyLoad: 'ondemand',
208                mobileFirst: false,
209                pauseOnHover: true,
210                pauseOnFocus: true,
211                pauseOnDotsHover: false,
212                respondTo: 'window',
213                responsive: null,
214                rows: 1,
215                rtl: false,
216                slide: '',
217                slidesPerRow: 1,
218                slidesToShow: 1,
219                slidesToScroll: 1,
220                speed: 500,
221                swipe: true,
222                swipeToSlide: false,
223                touchMove: true,
224                touchThreshold: 5,
225                useCSS: true,
226                useTransform: true,
227                variableWidth: false,
228                vertical: false,
229                verticalSwiping: false,
230                waitForAnimate: true,
231                zIndex: 1000
232            };
233
234            _.initials = {
235                animating: false,
236                dragging: false,
237                autoPlayTimer: null,
238                currentDirection: 0,
239                currentLeft: null,
240                currentSlide: 0,
241                direction: 1,
242                $dots: null,
243                listWidth: null,
244                listHeight: null,
245                loadIndex: 0,
246                $nextArrow: null,
247                $prevArrow: null,
248                slideCount: null,
249                slideWidth: null,
250                $slideTrack: null,
251                $slides: null,
252                sliding: false,
253                slideOffset: 0,
254                swipeLeft: null
vendor: 11,177 bytes, lines 254-637
254,
255                $list: null,
256                touchObject: {},
257                transformsEnabled: false,
258                unslicked: false
259            };
260
261            $.extend(_, _.initials);
262
263            _.activeBreakpoint = null;
264            _.animType = null;
265            _.animProp = null;
266            _.breakpoints = [];
267            _.breakpointSettings = [];
268            _.cssTransitions = false;
269            _.focussed = false;
270            _.interrupted = false;
271            _.hidden = 'hidden';
272            _.paused = true;
273            _.positionProp = null;
274            _.respondTo = null;
275            _.rowCount = 1;
276            _.shouldClick = true;
277            _.$slider = $(element);
278            _.$slidesCache = null;
279            _.transformType = null;
280            _.transitionType = null;
281            _.visibilityChange = 'visibilitychange';
282            _.windowWidth = 0;
283            _.windowTimer = null;
284
285            dataSettings = $(element).data('slick') || {};
286
287            _.options = $.extend({}, _.defaults, settings, dataSettings);
288
289            _.currentSlide = _.options.initialSlide;
290
291            _.originalSettings = _.options;
292
293            if (typeof document.mozHidden !== 'undefined') {
294                _.hidden = 'mozHidden';
295                _.visibilityChange = 'mozvisibilitychange';
296            } else if (typeof document.webkitHidden !== 'undefined') {
297                _.hidden = 'webkitHidden';
298                _.visibilityChange = 'webkitvisibilitychange';
299            }
300
301            _.autoPlay = $.proxy(_.autoPlay, _);
302            _.autoPlayClear = $.proxy(_.autoPlayClear, _);
303            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
304            _.changeSlide = $.proxy(_.changeSlide, _);
305            _.clickHandler = $.proxy(_.clickHandler, _);
306            _.selectHandler = $.proxy(_.selectHandler, _);
307            _.setPosition = $.proxy(_.setPosition, _);
308            _.swipeHandler = $.proxy(_.swipeHandler, _);
309            _.dragHandler = $.proxy(_.dragHandler, _);
310            _.keyHandler = $.proxy(_.keyHandler, _);
311
312            _.instanceUid = instanceUid++;
313
314            // A simple way to check for HTML strings
315            // Strict HTML recognition (must start with <)
316            // Extracted from jQuery v1.11 source
317            _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
318
319
320            _.registerBreakpoints();
321            _.init(true);
322
323        }
324
325        return Slick;
326
327    }());
328
329    Slick.prototype.activateADA = function() {
330        var _ = this;
331
332        _.$slideTrack.find('.slick-active').attr({
333            'aria-hidden': 'false'
334        }).find('a, input, button, select').attr({
335            'tabindex': '0'
336        });
337
338    };
339
340    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
341
342        var _ = this;
343
344        if (typeof(index) === 'boolean') {
345            addBefore = index;
346            index = null;
347        } else if (index < 0 || (index >= _.slideCount)) {
348            return false;
349        }
350
351        _.unload();
352
353        if (typeof(index) === 'number') {
354            if (index === 0 && _.$slides.length === 0) {
355                $(markup).appendTo(_.$slideTrack);
356            } else if (addBefore) {
357                $(markup).insertBefore(_.$slides.eq(index));
358            } else {
359                $(markup).insertAfter(_.$slides.eq(index));
360            }
361        } else {
362            if (addBefore === true) {
363                $(markup).prependTo(_.$slideTrack);
364            } else {
365                $(markup).appendTo(_.$slideTrack);
366            }
367        }
368
369        _.$slides = _.$slideTrack.children(this.options.slide);
370
371        _.$slideTrack.children(this.options.slide).detach();
372
373        _.$slideTrack.append(_.$slides);
374
375        _.$slides.each(function(index, element) {
376            $(element).attr('data-slick-index', index);
377        });
378
379        _.$slidesCache = _.$slides;
380
381        _.reinit();
382
383    };
384
385    Slick.prototype.animateHeight = function() {
386        var _ = this;
387        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
388            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
389            _.$list.animate({
390                height: targetHeight
391            }, _.options.speed);
392        }
393    };
394
395    Slick.prototype.animateSlide = function(targetLeft, callback) {
396
397        var animProps = {},
398            _ = this;
399
400        _.animateHeight();
401
402        if (_.options.rtl === true && _.options.vertical === false) {
403            targetLeft = -targetLeft;
404        }
405        if (_.transformsEnabled === false) {
406            if (_.options.vertical === false) {
407                _.$slideTrack.animate({
408                    left: targetLeft
409                }, _.options.speed, _.options.easing, callback);
410            } else {
411                _.$slideTrack.animate({
412                    top: targetLeft
413                }, _.options.speed, _.options.easing, callback);
414            }
415
416        } else {
417
418            if (_.cssTransitions === false) {
419                if (_.options.rtl === true) {
420                    _.currentLeft = -(_.currentLeft);
421                }
422                $({
423                    animStart: _.currentLeft
424                }).animate({
425                    animStart: targetLeft
426                }, {
427                    duration: _.options.speed,
428                    easing: _.options.easing,
429                    step: function(now) {
430                        now = Math.ceil(now);
431                        if (_.options.vertical === false) {
432                            animProps[_.animType] = 'translate(' +
433                                now + 'px, 0px)';
434                            _.$slideTrack.css(animProps);
435                        } else {
436                            animProps[_.animType] = 'translate(0px,' +
437                                now + 'px)';
438                            _.$slideTrack.css(animProps);
439                        }
440                    },
441                    complete: function() {
442                        if (callback) {
443                            callback.call();
444                        }
445                    }
446                });
447
448            } else {
449
450                _.applyTransition();
451                targetLeft = Math.ceil(targetLeft);
452
453                if (_.options.vertical === false) {
454                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
455                } else {
456                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
457                }
458                _.$slideTrack.css(animProps);
459
460                if (callback) {
461                    setTimeout(function() {
462
463                        _.disableTransition();
464
465                        callback.call();
466                    }, _.options.speed);
467                }
468
469            }
470
471        }
472
473    };
474
475    Slick.prototype.getNavTarget = function() {
476
477        var _ = this,
478            asNavFor = _.options.asNavFor;
479
480        if ( asNavFor && asNavFor !== null ) {
481            asNavFor = $(asNavFor).not(_.$slider);
482        }
483
484        return asNavFor;
485
486    };
487
488    Slick.prototype.asNavFor = function(index) {
489
490        var _ = this,
491            asNavFor = _.getNavTarget();
492
493        if ( asNavFor !== null && typeof asNavFor === 'object' ) {
494            asNavFor.each(function() {
495                var target = $(this).slick('getSlick');
496                if(!target.unslicked) {
497                    target.slideHandler(index, true);
498                }
499            });
500        }
501
502    };
503
504    Slick.prototype.applyTransition = function(slide) {
505
506        var _ = this,
507            transition = {};
508
509        if (_.options.fade === false) {
510            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
511        } else {
512            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
513        }
514
515        if (_.options.fade === false) {
516            _.$slideTrack.css(transition);
517        } else {
518            _.$slides.eq(slide).css(transition);
519        }
520
521    };
522
523    Slick.prototype.autoPlay = function() {
524
525        var _ = this;
526
527        _.autoPlayClear();
528
529        if ( _.slideCount > _.options.slidesToShow ) {
530            _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
531        }
532
533    };
534
535    Slick.prototype.autoPlayClear = function() {
536
537        var _ = this;
538
539        if (_.autoPlayTimer) {
540            clearInterval(_.autoPlayTimer);
541        }
542
543    };
544
545    Slick.prototype.autoPlayIterator = function() {
546
547        var _ = this,
548            slideTo = _.currentSlide + _.options.slidesToScroll;
549
550        if ( !_.paused && !_.interrupted && !_.focussed ) {
551
552            if ( _.options.infinite === false ) {
553
554                if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
555                    _.direction = 0;
556                }
557
558                else if ( _.direction === 0 ) {
559
560                    slideTo = _.currentSlide - _.options.slidesToScroll;
561
562                    if ( _.currentSlide - 1 === 0 ) {
563                        _.direction = 1;
564                    }
565
566                }
567
568            }
569
570            _.slideHandler( slideTo );
571
572        }
573
574    };
575
576    Slick.prototype.buildArrows = function() {
577
578        var _ = this;
579
580        if (_.options.arrows === true ) {
581
582            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
583            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
584
585            if( _.slideCount > _.options.slidesToShow ) {
586
587                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
588                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
589
590                if (_.htmlExpr.test(_.options.prevArrow)) {
591                    _.$prevArrow.prependTo(_.options.appendArrows);
592                }
593
594                if (_.htmlExpr.test(_.options.nextArrow)) {
595                    _.$nextArrow.appendTo(_.options.appendArrows);
596                }
597
598                if (_.options.infinite !== true) {
599                    _.$prevArrow
600                        .addClass('slick-disabled')
601                        .attr('aria-disabled', 'true');
602                }
603
604            } else {
605
606                _.$prevArrow.add( _.$nextArrow )
607
608                    .addClass('slick-hidden')
609                    .attr({
610                        'aria-disabled': 'true',
611                        'tabindex': '-1'
612                    });
613
614            }
615
616        }
617
618    };
619
620    Slick.prototype.buildDots = function() {
621
622        var _ = this,
623            i, dot;
624
625        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
626
627            _.$slider.addClass('slick-dotted');
628
629            dot = $('<ul />').addClass(_.options.dotsClass);
630
631            for (i = 0; i <= _.getDotCount(); i += 1) {
632                dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
633            }
634
635            _.$dots = dot.appendTo(_.options.appendDots);
636
637            _.$dots.find('li').first().addClass('slick-active')
vendor: 14,869 bytes, lines 637-1125
637.attr('aria-hidden', 'false');
638
639        }
640
641    };
642
643    Slick.prototype.buildOut = function() {
644
645        var _ = this;
646
647        _.$slides =
648            _.$slider
649                .children( _.options.slide + ':not(.slick-cloned)')
650                .addClass('slick-slide');
651
652        _.slideCount = _.$slides.length;
653
654        _.$slides.each(function(index, element) {
655            $(element)
656                .attr('data-slick-index', index)
657                .data('originalStyling', $(element).attr('style') || '');
658        });
659
660        _.$slider.addClass('slick-slider');
661
662        _.$slideTrack = (_.slideCount === 0) ?
663            $('<div class="slick-track"/>').appendTo(_.$slider) :
664            _.$slides.wrapAll('<div class="slick-track"/>').parent();
665
666        _.$list = _.$slideTrack.wrap(
667            '<div aria-live="polite" class="slick-list"/>').parent();
668        _.$slideTrack.css('opacity', 0);
669
670        if (_.options.centerMode === true || _.options.swipeToSlide === true) {
671            _.options.slidesToScroll = 1;
672        }
673
674        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
675
676        _.setupInfinite();
677
678        _.buildArrows();
679
680        _.buildDots();
681
682        _.updateDots();
683
684
685        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
686
687        if (_.options.draggable === true) {
688            _.$list.addClass('draggable');
689        }
690
691    };
692
693    Slick.prototype.buildRows = function() {
694
695        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
696
697        newSlides = document.createDocumentFragment();
698        originalSlides = _.$slider.children();
699
700        if(_.options.rows > 1) {
701
702            slidesPerSection = _.options.slidesPerRow * _.options.rows;
703            numOfSlides = Math.ceil(
704                originalSlides.length / slidesPerSection
705            );
706
707            for(a = 0; a < numOfSlides; a++){
708                var slide = document.createElement('div');
709                for(b = 0; b < _.options.rows; b++) {
710                    var row = document.createElement('div');
711                    for(c = 0; c < _.options.slidesPerRow; c++) {
712                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
713                        if (originalSlides.get(target)) {
714                            row.appendChild(originalSlides.get(target));
715                        }
716                    }
717                    slide.appendChild(row);
718                }
719                newSlides.appendChild(slide);
720            }
721
722            _.$slider.empty().append(newSlides);
723            _.$slider.children().children().children()
724                .css({
725                    'width':(100 / _.options.slidesPerRow) + '%',
726                    'display': 'inline-block'
727                });
728
729        }
730
731    };
732
733    Slick.prototype.checkResponsive = function(initial, forceUpdate) {
734
735        var _ = this,
736            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
737        var sliderWidth = _.$slider.width();
738        var windowWidth = window.innerWidth || $(window).width();
739
740        if (_.respondTo === 'window') {
741            respondToWidth = windowWidth;
742        } else if (_.respondTo === 'slider') {
743            respondToWidth = sliderWidth;
744        } else if (_.respondTo === 'min') {
745            respondToWidth = Math.min(windowWidth, sliderWidth);
746        }
747
748        if ( _.options.responsive &&
749            _.options.responsive.length &&
750            _.options.responsive !== null) {
751
752            targetBreakpoint = null;
753
754            for (breakpoint in _.breakpoints) {
755                if (_.breakpoints.hasOwnProperty(breakpoint)) {
756                    if (_.originalSettings.mobileFirst === false) {
757                        if (respondToWidth < _.breakpoints[breakpoint]) {
758                            targetBreakpoint = _.breakpoints[breakpoint];
759                        }
760                    } else {
761                        if (respondToWidth > _.breakpoints[breakpoint]) {
762                            targetBreakpoint = _.breakpoints[breakpoint];
763                        }
764                    }
765                }
766            }
767
768            if (targetBreakpoint !== null) {
769                if (_.activeBreakpoint !== null) {
770                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
771                        _.activeBreakpoint =
772                            targetBreakpoint;
773                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
774                            _.unslick(targetBreakpoint);
775                        } else {
776                            _.options = $.extend({}, _.originalSettings,
777                                _.breakpointSettings[
778                                    targetBreakpoint]);
779                            if (initial === true) {
780                                _.currentSlide = _.options.initialSlide;
781                            }
782                            _.refresh(initial);
783                        }
784                        triggerBreakpoint = targetBreakpoint;
785                    }
786                } else {
787                    _.activeBreakpoint = targetBreakpoint;
788                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
789                        _.unslick(targetBreakpoint);
790                    } else {
791                        _.options = $.extend({}, _.originalSettings,
792                            _.breakpointSettings[
793                                targetBreakpoint]);
794                        if (initial === true) {
795                            _.currentSlide = _.options.initialSlide;
796                        }
797                        _.refresh(initial);
798                    }
799                    triggerBreakpoint = targetBreakpoint;
800                }
801            } else {
802                if (_.activeBreakpoint !== null) {
803                    _.activeBreakpoint = null;
804                    _.options = _.originalSettings;
805                    if (initial === true) {
806                        _.currentSlide = _.options.initialSlide;
807                    }
808                    _.refresh(initial);
809                    triggerBreakpoint = targetBreakpoint;
810                }
811            }
812
813            // only trigger breakpoints during an actual break. not on initialize.
814            if( !initial && triggerBreakpoint !== false ) {
815                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
816            }
817        }
818
819    };
820
821    Slick.prototype.changeSlide = function(event, dontAnimate) {
822
823        var _ = this,
824            $target = $(event.currentTarget),
825            indexOffset, slideOffset, unevenOffset;
826
827        // If target is a link, prevent default action.
828        if($target.is('a')) {
829            event.preventDefault();
830        }
831
832        // If target is not the <li> element (ie: a child), find the <li>.
833        if(!$target.is('li')) {
834            $target = $target.closest('li');
835        }
836
837        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
838        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
839
840        switch (event.data.message) {
841
842            case 'previous':
843                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
844                if (_.slideCount > _.options.slidesToShow) {
845                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
846                }
847                break;
848
849            case 'next':
850                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
851                if (_.slideCount > _.options.slidesToShow) {
852                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
853                }
854                break;
855
856            case 'index':
857                var index = event.data.index === 0 ? 0 :
858                    event.data.index || $target.index() * _.options.slidesToScroll;
859
860                _.slideHandler(_.checkNavigable(index), false, dontAnimate);
861                $target.children().trigger('focus');
862                break;
863
864            default:
865                return;
866        }
867
868    };
869
870    Slick.prototype.checkNavigable = function(index) {
871
872        var _ = this,
873            navigables, prevNavigable;
874
875        navigables = _.getNavigableIndexes();
876        prevNavigable = 0;
877        if (index > navigables[navigables.length - 1]) {
878            index = navigables[navigables.length - 1];
879        } else {
880            for (var n in navigables) {
881                if (index < navigables[n]) {
882                    index = prevNavigable;
883                    break;
884                }
885                prevNavigable = navigables[n];
886            }
887        }
888
889        return index;
890    };
891
892    Slick.prototype.cleanUpEvents = function() {
893
894        var _ = this;
895
896        if (_.options.dots && _.$dots !== null) {
897
898            $('li', _.$dots)
899                .off('click.slick', _.changeSlide)
900                .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
901                .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
902
903        }
904
905        _.$slider.off('focus.slick blur.slick');
906
907        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
908            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
909            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
910        }
911
912        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
913        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
914        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
915        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
916
917        _.$list.off('click.slick', _.clickHandler);
918
919        $(document).off(_.visibilityChange, _.visibility);
920
921        _.cleanUpSlideEvents();
922
923        if (_.options.accessibility === true) {
924            _.$list.off('keydown.slick', _.keyHandler);
925        }
926
927        if (_.options.focusOnSelect === true) {
928            $(_.$slideTrack).children().off('click.slick', _.selectHandler);
929        }
930
931        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
932
933        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
934
935        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
936
937        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
938        $(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition);
939
940    };
941
942    Slick.prototype.cleanUpSlideEvents = function() {
943
944        var _ = this;
945
946        _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
947        _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
948
949    };
950
951    Slick.prototype.cleanUpRows = function() {
952
953        var _ = this, originalSlides;
954
955        if(_.options.rows > 1) {
956            originalSlides = _.$slides.children().children();
957            originalSlides.removeAttr('style');
958            _.$slider.empty().append(originalSlides);
959        }
960
961    };
962
963    Slick.prototype.clickHandler = function(event) {
964
965        var _ = this;
966
967        if (_.shouldClick === false) {
968            event.stopImmediatePropagation();
969            event.stopPropagation();
970            event.preventDefault();
971        }
972
973    };
974
975    Slick.prototype.destroy = function(refresh) {
976
977        var _ = this;
978
979        _.autoPlayClear();
980
981        _.touchObject = {};
982
983        _.cleanUpEvents();
984
985        $('.slick-cloned', _.$slider).detach();
986
987        if (_.$dots) {
988            _.$dots.remove();
989        }
990
991
992        if ( _.$prevArrow && _.$prevArrow.length ) {
993
994            _.$prevArrow
995                .removeClass('slick-disabled slick-arrow slick-hidden')
996                .removeAttr('aria-hidden aria-disabled tabindex')
997                .css('display','');
998
999            if ( _.htmlExpr.test( _.options.prevArrow )) {
1000                _.$prevArrow.remove();
1001            }
1002        }
1003
1004        if ( _.$nextArrow && _.$nextArrow.length ) {
1005
1006            _.$nextArrow
1007                .removeClass('slick-disabled slick-arrow slick-hidden')
1008                .removeAttr('aria-hidden aria-disabled tabindex')
1009                .css('display','');
1010
1011            if ( _.htmlExpr.test( _.options.nextArrow )) {
1012                _.$nextArrow.remove();
1013            }
1014
1015        }
1016
1017
1018        if (_.$slides) {
1019
1020            _.$slides
1021                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
1022                .removeAttr('aria-hidden')
1023                .removeAttr('data-slick-index')
1024                .each(function(){
1025                    $(this).attr('style', $(this).data('originalStyling'));
1026                });
1027
1028            _.$slideTrack.children(this.options.slide).detach();
1029
1030            _.$slideTrack.detach();
1031
1032            _.$list.detach();
1033
1034            _.$slider.append(_.$slides);
1035        }
1036
1037        _.cleanUpRows();
1038
1039        _.$slider.removeClass('slick-slider');
1040        _.$slider.removeClass('slick-initialized');
1041        _.$slider.removeClass('slick-dotted');
1042
1043        _.unslicked = true;
1044
1045        if(!refresh) {
1046            _.$slider.trigger('destroy', [_]);
1047        }
1048
1049    };
1050
1051    Slick.prototype.disableTransition = function(slide) {
1052
1053        var _ = this,
1054            transition = {};
1055
1056        transition[_.transitionType] = '';
1057
1058        if (_.options.fade === false) {
1059            _.$slideTrack.css(transition);
1060        } else {
1061            _.$slides.eq(slide).css(transition);
1062        }
1063
1064    };
1065
1066    Slick.prototype.fadeSlide = function(slideIndex, callback) {
1067
1068        var _ = this;
1069
1070        if (_.cssTransitions === false) {
1071
1072            _.$slides.eq(slideIndex).css({
1073                zIndex: _.options.zIndex
1074            });
1075
1076            _.$slides.eq(slideIndex).animate({
1077                opacity: 1
1078            }, _.options.speed, _.options.easing, callback);
1079
1080        } else {
1081
1082            _.applyTransition(slideIndex);
1083
1084            _.$slides.eq(slideIndex).css({
1085                opacity: 1,
1086                zIndex: _.options.zIndex
1087            });
1088
1089            if (callback) {
1090                setTimeout(function() {
1091
1092                    _.disableTransition(slideIndex);
1093
1094                    callback.call();
1095                }, _.options.speed);
1096            }
1097
1098        }
1099
1100    };
1101
1102    Slick.prototype.fadeSlideOut = function(slideIndex) {
1103
1104        var _ = this;
1105
1106        if (_.cssTransitions === false) {
1107
1108            _.$slides.eq(slideIndex).animate({
1109                opacity: 0,
1110                zIndex: _.options.zIndex - 2
1111            }, _.options.speed, _.options.easing);
1112
1113        } else {
1114
1115            _.applyTransition(slideIndex);
1116
1117            _.$slides.eq(slideIndex).css({
1118                opacity: 0,
1119                zIndex: _.options.zIndex - 2
1120            });
1121
1122        }
1123
1124    };
1125
1126    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
1127
1128        var _ = this;
1129
1130        if (filter !== null) {
1131
1132            _.$slidesCache = _.$slides;
1133
1134            _.unload();
1135
1136            _.$slideTrack.children(this.options.slide).detach();
1137
1138            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
1139
1140            _.reinit();
1141
1142        }
1143
1144    };
1145
1146    Slick.prototype.focusHandler = function() {
1147
1148        var _ = this;
1149
1150        _.$slider
1151            .off('focus.slick blur.slick')
1152            .on('focus.slick blur.slick',
1153                '*:not(.slick-arrow)', function(event) {
1154
1155            event.stopImmediatePropagation();
1156            var $sf = $(this);
1157
1158            setTimeout(function() {
1159
1160                if( _.options.pauseOnFocus ) {
1161                    _.focussed = $sf.is(':focus');
1162                    _.autoPlay();
1163                }
1164
1165            }, 0);
1166
1167        });
1168    };
1169
1170    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
1171
1172        var _ = this;
1173        return _.currentSlide;
1174
1175    };
1176
1177    Slick.prototype.getDotCount = function() {
1178
1179        var _ = this;
1180
1181        var breakPoint = 0;
1182        var counter = 0;
1183        var pagerQty = 0;
1184
1185        if (_.options.infinite === true) {
1186            while (breakPoint < _.slideCount) {
1187                ++pagerQty;
1188                breakPoint = counter + _.options.slidesToScroll;
1189                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1190            }
1191        } else if (_.options.centerMode === true) {
1192            pagerQty = _.slideCount;
1193        } else if(!_.options.asNavFor) {
1194            pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
1195        }else {
1196            while (breakPoint < _.slideCount) {
1197                ++pagerQty;
1198                breakPoint = counter + _.options.slidesToScroll;
1199                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1200            }
1201        }
1202
1203        return pagerQty - 1;
1204
1205    };
1206
1207    Slick.prototype.getLeft = function(slideIndex) {
1208
1209        var _ = this,
1210            targetLeft,
1211            verticalHeight,
1212            verticalOffset = 0,
1213            targetSlide;
1214
1215        _.slideOffset = 0;
1216        verticalHeight = _.$slides.first().outerHeight(true);
1217
1218        if (_.options.infinite === true) {
1219            if (_.slideCount > _.options.slidesToShow) {
1220                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
1221                verticalOffset = (verticalHeight * _.options.slidesToShow) * -1;
1222            }
1223            if (_.slideCount % _.options.slidesToScroll !== 0) {
1224                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
1225                    if (slideIndex > _.slideCount) {
1226                        _.slideOffset = ((_.options.slidesToShow - (sl
vendor: 921 bytes, lines 1226-1246
1226ideIndex - _.slideCount)) * _.slideWidth) * -1;
1227                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
1228                    } else {
1229                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
1230                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
1231                    }
1232                }
1233            }
1234        } else {
1235            if (slideIndex + _.options.slidesToShow > _.slideCount) {
1236                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
1237                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
1238            }
1239        }
1240
1241        if (_.slideCount <= _.options.slidesToShow) {
1242            _.slideOffset = 0;
1243            verticalOffset = 0;
1244        }
1245
1246       
vendor: 5,167 bytes, lines 1246-1419
1246 if (_.options.centerMode === true && _.options.infinite === true) {
1247            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
1248        } else if (_.options.centerMode === true) {
1249            _.slideOffset = 0;
1250            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
1251        }
1252
1253        if (_.options.vertical === false) {
1254            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
1255        } else {
1256            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
1257        }
1258
1259        if (_.options.variableWidth === true) {
1260
1261            if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1262                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1263            } else {
1264                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
1265            }
1266
1267            if (_.options.rtl === true) {
1268                if (targetSlide[0]) {
1269                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1270                } else {
1271                    targetLeft =  0;
1272                }
1273            } else {
1274                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1275            }
1276
1277            if (_.options.centerMode === true) {
1278                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1279                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1280                } else {
1281                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
1282                }
1283
1284                if (_.options.rtl === true) {
1285                    if (targetSlide[0]) {
1286                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1287                    } else {
1288                        targetLeft =  0;
1289                    }
1290                } else {
1291                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1292                }
1293
1294                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
1295            }
1296        }
1297
1298        return targetLeft;
1299
1300    };
1301
1302    Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
1303
1304        var _ = this;
1305
1306        return _.options[option];
1307
1308    };
1309
1310    Slick.prototype.getNavigableIndexes = function() {
1311
1312        var _ = this,
1313            breakPoint = 0,
1314            counter = 0,
1315            indexes = [],
1316            max;
1317
1318        if (_.options.infinite === false) {
1319            max = _.slideCount;
1320        } else {
1321            breakPoint = _.options.slidesToScroll * -1;
1322            counter = _.options.slidesToScroll * -1;
1323            max = _.slideCount * 2;
1324        }
1325
1326        while (breakPoint < max) {
1327            indexes.push(breakPoint);
1328            breakPoint = counter + _.options.slidesToScroll;
1329            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1330        }
1331
1332        return indexes;
1333
1334    };
1335
1336    Slick.prototype.getSlick = function() {
1337
1338        return this;
1339
1340    };
1341
1342    Slick.prototype.getSlideCount = function() {
1343
1344        var _ = this,
1345            slidesTraversed, swipedSlide, centerOffset;
1346
1347        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
1348
1349        if (_.options.swipeToSlide === true) {
1350            _.$slideTrack.find('.slick-slide').each(function(index, slide) {
1351                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
1352                    swipedSlide = slide;
1353                    return false;
1354                }
1355            });
1356
1357            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
1358
1359            return slidesTraversed;
1360
1361        } else {
1362            return _.options.slidesToScroll;
1363        }
1364
1365    };
1366
1367    Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
1368
1369        var _ = this;
1370
1371        _.changeSlide({
1372            data: {
1373                message: 'index',
1374                index: parseInt(slide)
1375            }
1376        }, dontAnimate);
1377
1378    };
1379
1380    Slick.prototype.init = function(creation) {
1381
1382        var _ = this;
1383
1384        if (!$(_.$slider).hasClass('slick-initialized')) {
1385
1386            $(_.$slider).addClass('slick-initialized');
1387
1388            _.buildRows();
1389            _.buildOut();
1390            _.setProps();
1391            _.startLoad();
1392            _.loadSlider();
1393            _.initializeEvents();
1394            _.updateArrows();
1395            _.updateDots();
1396            _.checkResponsive(true);
1397            _.focusHandler();
1398
1399        }
1400
1401        if (creation) {
1402            _.$slider.trigger('init', [_]);
1403        }
1404
1405        if (_.options.accessibility === true) {
1406            _.initADA();
1407        }
1408
1409        if ( _.options.autoplay ) {
1410
1411            _.paused = false;
1412            _.autoPlay();
1413
1414        }
1415
1416    };
1417
1418    Slick.prototype.initADA = function() {
1419        var _ = this
1419;
1420        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
1421            'aria-hidden': 'true',
1422            'tabindex': '-1'
1423        }).find('a, input, button, select').attr({
1424            'tabindex': '-1'
1425        });
1426
1427        _.$slideTrack.attr('role', 'listbox');
1428
1429        _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
1430            $(this).attr({
1431                'role': 'option',
1432                'aria-describedby': 'slick-slide' + _.instanceUid + i + ''
1433            });
1434        });
1435
1436        if (_.$dots !== null) {
1437            _.$dots.attr('role', 'tablist').find('li').each(function(i) {
1438                $(this).attr({
1439                    'role': 'presentation',
1440                    'aria-selected': 'false',
1441                    'aria-controls': 'navigation' + _.instanceUid + i + '',
1442                    'id': 'slick-slide' + _.instanceUid + i + ''
1443                });
1444            })
1445                .first().attr('aria-selected', 'true').end()
1446                .find('button').attr('role', 'button').end()
1447                .closest('div').attr('role', 'toolbar');
1448        }
1449        _.activateADA();
1450
1451    };
1452
1453    Slick.prototype.initArrowEvents = function() {
1454
1455        var _ = this;
1456
1457        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1458            _.$prevArrow
1459               .off('click.slick')
1460               .on('click.slick', {
1461                    message: 'previous'
1462               }, _.changeSlide);
1463            _.$nextArrow
1464               .off('click.slick')
1465               .on('click.slick', {
1466                    message: 'next'
1467               }, _.changeSlide);
1468        }
1469
1470    };
1471
1472    Slick.prototype.initDotEvents = function() {
1473
1474        var _ = this;
1475
1476        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1477            $('li', _.$dots).on('click.slick', {
1478                message: 'index'
1479            }, _.changeSlide);
1480        }
1481
1482        if ( _.options.dots === true && _.options.pauseOnDotsHover === true ) {
1483
1484            $('li', _.$dots)
1485                .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
1486                .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1487
1488        }
1489
1490    };
1491
1492    Slick.prototype.initSlideEvents = function() {
1493
1494        var _ = this;
1495
1496        if ( _.options.pauseOnHover ) {
1497
1498            _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
1499            _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1500
1501        }
1502
1503    };
1504
1505    Slick.prototype.initializeEvents = function() {
1506
1507        var _ = this;
1508
1509        _.initArrowEvents();
1510
1511        _.initDotEvents();
1512        _.initSlideEvents();
1513
1514        _.$list.on('touchstart.slick mousedown.slick', {
1515            action: 'start'
1516        }, _.swipeHandler);
1517        _.$list.on('touchmove.slick mousemove.slick', {
1518            action: 'move'
1519        }, _.swipeHandler);
1520        _.$list.on('touchend.slick mouseup.slick', {
1521            action: 'end'
1522        }, _.swipeHandler);
vendor: 10,240 bytes, lines 1523-1900
1523        _.$list.on('touchcancel.slick mouseleave.slick', {
1524            action: 'end'
1525        }, _.swipeHandler);
1526
1527        _.$list.on('click.slick', _.clickHandler);
1528
1529        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
1530
1531        if (_.options.accessibility === true) {
1532            _.$list.on('keydown.slick', _.keyHandler);
1533        }
1534
1535        if (_.options.focusOnSelect === true) {
1536            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1537        }
1538
1539        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
1540
1541        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
1542
1543        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
1544
1545        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
1546        $(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition);
1547
1548    };
1549
1550    Slick.prototype.initUI = function() {
1551
1552        var _ = this;
1553
1554        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1555
1556            _.$prevArrow.show();
1557            _.$nextArrow.show();
1558
1559        }
1560
1561        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1562
1563            _.$dots.show();
1564
1565        }
1566
1567    };
1568
1569    Slick.prototype.keyHandler = function(event) {
1570
1571        var _ = this;
1572         //Dont slide if the cursor is inside the form fields and arrow keys are pressed
1573        if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
1574            if (event.keyCode === 37 && _.options.accessibility === true) {
1575                _.changeSlide({
1576                    data: {
1577                        message: _.options.rtl === true ? 'next' :  'previous'
1578                    }
1579                });
1580            } else if (event.keyCode === 39 && _.options.accessibility === true) {
1581                _.changeSlide({
1582                    data: {
1583                        message: _.options.rtl === true ? 'previous' : 'next'
1584                    }
1585                });
1586            }
1587        }
1588
1589    };
1590
1591    Slick.prototype.lazyLoad = function() {
1592
1593        var _ = this,
1594            loadRange, cloneRange, rangeStart, rangeEnd;
1595
1596        function loadImages(imagesScope) {
1597
1598            $('img[data-lazy]', imagesScope).each(function() {
1599
1600                var image = $(this),
1601                    imageSource = $(this).attr('data-lazy'),
1602                    imageToLoad = document.createElement('img');
1603
1604                imageToLoad.onload = function() {
1605
1606                    image
1607                        .animate({ opacity: 0 }, 100, function() {
1608                            image
1609                                .attr('src', imageSource)
1610                                .animate({ opacity: 1 }, 200, function() {
1611                                    image
1612                                        .removeAttr('data-lazy')
1613                                        .removeClass('slick-loading');
1614                                });
1615                            _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
1616                        });
1617
1618                };
1619
1620                imageToLoad.onerror = function() {
1621
1622                    image
1623                        .removeAttr( 'data-lazy' )
1624                        .removeClass( 'slick-loading' )
1625                        .addClass( 'slick-lazyload-error' );
1626
1627                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1628
1629                };
1630
1631                imageToLoad.src = imageSource;
1632
1633            });
1634
1635        }
1636
1637        if (_.options.centerMode === true) {
1638            if (_.options.infinite === true) {
1639                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
1640                rangeEnd = rangeStart + _.options.slidesToShow + 2;
1641            } else {
1642                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
1643                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
1644            }
1645        } else {
1646            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
1647            rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
1648            if (_.options.fade === true) {
1649                if (rangeStart > 0) rangeStart--;
1650                if (rangeEnd <= _.slideCount) rangeEnd++;
1651            }
1652        }
1653
1654        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
1655        loadImages(loadRange);
1656
1657        if (_.slideCount <= _.options.slidesToShow) {
1658            cloneRange = _.$slider.find('.slick-slide');
1659            loadImages(cloneRange);
1660        } else
1661        if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
1662            cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
1663            loadImages(cloneRange);
1664        } else if (_.currentSlide === 0) {
1665            cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
1666            loadImages(cloneRange);
1667        }
1668
1669    };
1670
1671    Slick.prototype.loadSlider = function() {
1672
1673        var _ = this;
1674
1675        _.setPosition();
1676
1677        _.$slideTrack.css({
1678            opacity: 1
1679        });
1680
1681        _.$slider.removeClass('slick-loading');
1682
1683        _.initUI();
1684
1685        if (_.options.lazyLoad === 'progressive') {
1686            _.progressiveLazyLoad();
1687        }
1688
1689    };
1690
1691    Slick.prototype.next = Slick.prototype.slickNext = function() {
1692
1693        var _ = this;
1694
1695        _.changeSlide({
1696            data: {
1697                message: 'next'
1698            }
1699        });
1700
1701    };
1702
1703    Slick.prototype.orientationChange = function() {
1704
1705        var _ = this;
1706
1707        _.checkResponsive();
1708        _.setPosition();
1709
1710    };
1711
1712    Slick.prototype.pause = Slick.prototype.slickPause = function() {
1713
1714        var _ = this;
1715
1716        _.autoPlayClear();
1717        _.paused = true;
1718
1719    };
1720
1721    Slick.prototype.play = Slick.prototype.slickPlay = function() {
1722
1723        var _ = this;
1724
1725        _.autoPlay();
1726        _.options.autoplay = true;
1727        _.paused = false;
1728        _.focussed = false;
1729        _.interrupted = false;
1730
1731    };
1732
1733    Slick.prototype.postSlide = function(index) {
1734
1735        var _ = this;
1736
1737        if( !_.unslicked ) {
1738
1739            _.$slider.trigger('afterChange', [_, index]);
1740
1741            _.animating = false;
1742
1743            _.setPosition();
1744
1745            _.swipeLeft = null;
1746
1747            if ( _.options.autoplay ) {
1748                _.autoPlay();
1749            }
1750
1751            if (_.options.accessibility === true) {
1752                _.initADA();
1753            }
1754
1755        }
1756
1757    };
1758
1759    Slick.prototype.prev = Slick.prototype.slickPrev = function() {
1760
1761        var _ = this;
1762
1763        _.changeSlide({
1764            data: {
1765                message: 'previous'
1766            }
1767        });
1768
1769    };
1770
1771    Slick.prototype.preventDefault = function(event) {
1772
1773        event.preventDefault();
1774
1775    };
1776
1777    Slick.prototype.progressiveLazyLoad = function( tryCount ) {
1778
1779        tryCount = tryCount || 1;
1780
1781        var _ = this,
1782            $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
1783            image,
1784            imageSource,
1785            imageToLoad;
1786
1787        if ( $imgsToLoad.length ) {
1788
1789            image = $imgsToLoad.first();
1790            imageSource = image.attr('data-lazy');
1791            imageToLoad = document.createElement('img');
1792
1793            imageToLoad.onload = function() {
1794
1795                image
1796                    .attr( 'src', imageSource )
1797                    .removeAttr('data-lazy')
1798                    .removeClass('slick-loading');
1799
1800                if ( _.options.adaptiveHeight === true ) {
1801                    _.setPosition();
1802                }
1803
1804                _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
1805                _.progressiveLazyLoad();
1806
1807            };
1808
1809            imageToLoad.onerror = function() {
1810
1811                if ( tryCount < 3 ) {
1812
1813                    /**
1814                     * try to load the image 3 times,
1815                     * leave a slight delay so we don't get
1816                     * servers blocking the request.
1817                     */
1818                    setTimeout( function() {
1819                        _.progressiveLazyLoad( tryCount + 1 );
1820                    }, 500 );
1821
1822                } else {
1823
1824                    image
1825                        .removeAttr( 'data-lazy' )
1826                        .removeClass( 'slick-loading' )
1827                        .addClass( 'slick-lazyload-error' );
1828
1829                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1830
1831                    _.progressiveLazyLoad();
1832
1833                }
1834
1835            };
1836
1837            imageToLoad.src = imageSource;
1838
1839        } else {
1840
1841            _.$slider.trigger('allImagesLoaded', [ _ ]);
1842
1843        }
1844
1845    };
1846
1847    Slick.prototype.refresh = function( initializing ) {
1848
1849        var _ = this, currentSlide, lastVisibleIndex;
1850
1851        lastVisibleIndex = _.slideCount - _.options.slidesToShow;
1852
1853        // in non-infinite sliders, we don't want to go past the
1854        // last visible index.
1855        if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
1856            _.currentSlide = lastVisibleIndex;
1857        }
1858
1859        // if less slides than to show, go to start.
1860        if ( _.slideCount <= _.options.slidesToShow ) {
1861            _.currentSlide = 0;
1862
1863        }
1864
1865        currentSlide = _.currentSlide;
1866
1867        _.destroy(true);
1868
1869        $.extend(_, _.initials, { currentSlide: currentSlide });
1870
1871        _.init();
1872
1873        if( !initializing ) {
1874
1875            _.changeSlide({
1876                data: {
1877                    message: 'index',
1878                    index: currentSlide
1879                }
1880            }, false);
1881
1882        }
1883
1884    };
1885
1886    Slick.prototype.registerBreakpoints = function() {
1887
1888        var _ = this, breakpoint, currentBreakpoint, l,
1889            responsiveSettings = _.options.responsive || null;
1890
1891        if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
1892
1893            _.respondTo = _.options.respondTo || 'window';
1894
1895            for ( breakpoint in responsiveSettings ) {
1896
1897                l = _.breakpoints.length-1;
1898                currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
1899
1900                if (responsiveSettings.hasOwnProperty(breakpoint)) {
vendor: 12,466 bytes, lines 1900-2333
1900
1901
1902                    // loop through the breakpoints and cut out any existing
1903                    // ones with the same breakpoint number, we don't want dupes.
1904                    while( l >= 0 ) {
1905                        if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
1906                            _.breakpoints.splice(l,1);
1907                        }
1908                        l--;
1909                    }
1910
1911                    _.breakpoints.push(currentBreakpoint);
1912                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
1913
1914                }
1915
1916            }
1917
1918            _.breakpoints.sort(function(a, b) {
1919                return ( _.options.mobileFirst ) ? a-b : b-a;
1920            });
1921
1922        }
1923
1924    };
1925
1926    Slick.prototype.reinit = function() {
1927
1928        var _ = this;
1929
1930        _.$slides =
1931            _.$slideTrack
1932                .children(_.options.slide)
1933                .addClass('slick-slide');
1934
1935        _.slideCount = _.$slides.length;
1936
1937        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
1938            _.currentSlide = _.currentSlide - _.options.slidesToScroll;
1939        }
1940
1941        if (_.slideCount <= _.options.slidesToShow) {
1942            _.currentSlide = 0;
1943        }
1944
1945        _.registerBreakpoints();
1946
1947        _.setProps();
1948        _.setupInfinite();
1949        _.buildArrows();
1950        _.updateArrows();
1951        _.initArrowEvents();
1952        _.buildDots();
1953        _.updateDots();
1954        _.initDotEvents();
1955        _.cleanUpSlideEvents();
1956        _.initSlideEvents();
1957
1958        _.checkResponsive(false, true);
1959
1960        if (_.options.focusOnSelect === true) {
1961            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1962        }
1963
1964        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
1965
1966        _.setPosition();
1967        _.focusHandler();
1968
1969        _.paused = !_.options.autoplay;
1970        _.autoPlay();
1971
1972        _.$slider.trigger('reInit', [_]);
1973
1974    };
1975
1976    Slick.prototype.resize = function() {
1977
1978        var _ = this;
1979
1980        if ($(window).width() !== _.windowWidth) {
1981            clearTimeout(_.windowDelay);
1982            _.windowDelay = window.setTimeout(function() {
1983                _.windowWidth = $(window).width();
1984                _.checkResponsive();
1985                if( !_.unslicked ) { _.setPosition(); }
1986            }, 50);
1987        }
1988    };
1989
1990    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
1991
1992        var _ = this;
1993
1994        if (typeof(index) === 'boolean') {
1995            removeBefore = index;
1996            index = removeBefore === true ? 0 : _.slideCount - 1;
1997        } else {
1998            index = removeBefore === true ? --index : index;
1999        }
2000
2001        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
2002            return false;
2003        }
2004
2005        _.unload();
2006
2007        if (removeAll === true) {
2008            _.$slideTrack.children().remove();
2009        } else {
2010            _.$slideTrack.children(this.options.slide).eq(index).remove();
2011        }
2012
2013        _.$slides = _.$slideTrack.children(this.options.slide);
2014
2015        _.$slideTrack.children(this.options.slide).detach();
2016
2017        _.$slideTrack.append(_.$slides);
2018
2019        _.$slidesCache = _.$slides;
2020
2021        _.reinit();
2022
2023    };
2024
2025    Slick.prototype.setCSS = function(position) {
2026
2027        var _ = this,
2028            positionProps = {},
2029            x, y;
2030
2031        if (_.options.rtl === true) {
2032            position = -position;
2033        }
2034        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
2035        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
2036
2037        positionProps[_.positionProp] = position;
2038
2039        if (_.transformsEnabled === false) {
2040            _.$slideTrack.css(positionProps);
2041        } else {
2042            positionProps = {};
2043            if (_.cssTransitions === false) {
2044                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
2045                _.$slideTrack.css(positionProps);
2046            } else {
2047                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
2048                _.$slideTrack.css(positionProps);
2049            }
2050        }
2051
2052    };
2053
2054    Slick.prototype.setDimensions = function() {
2055
2056        var _ = this;
2057
2058        if (_.options.vertical === false) {
2059            if (_.options.centerMode === true) {
2060                _.$list.css({
2061                    padding: ('0px ' + _.options.centerPadding)
2062                });
2063            }
2064        } else {
2065            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
2066            if (_.options.centerMode === true) {
2067                _.$list.css({
2068                    padding: (_.options.centerPadding + ' 0px')
2069                });
2070            }
2071        }
2072
2073        _.listWidth = _.$list.width();
2074        _.listHeight = _.$list.height();
2075
2076
2077        if (_.options.vertical === false && _.options.variableWidth === false) {
2078            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
2079            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
2080
2081        } else if (_.options.variableWidth === true) {
2082            _.$slideTrack.width(5000 * _.slideCount);
2083        } else {
2084            _.slideWidth = Math.ceil(_.listWidth);
2085            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
2086        }
2087
2088        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
2089        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
2090
2091    };
2092
2093    Slick.prototype.setFade = function() {
2094
2095        var _ = this,
2096            targetLeft;
2097
2098        _.$slides.each(function(index, element) {
2099            targetLeft = (_.slideWidth * index) * -1;
2100            if (_.options.rtl === true) {
2101                $(element).css({
2102                    position: 'relative',
2103                    right: targetLeft,
2104                    top: 0,
2105                    zIndex: _.options.zIndex - 2,
2106                    opacity: 0
2107                });
2108            } else {
2109                $(element).css({
2110                    position: 'relative',
2111                    left: targetLeft,
2112                    top: 0,
2113                    zIndex: _.options.zIndex - 2,
2114                    opacity: 0
2115                });
2116            }
2117        });
2118
2119        _.$slides.eq(_.currentSlide).css({
2120            zIndex: _.options.zIndex - 1,
2121            opacity: 1
2122        });
2123
2124    };
2125
2126    Slick.prototype.setHeight = function() {
2127
2128        var _ = this;
2129
2130        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
2131            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
2132            _.$list.css('height', targetHeight);
2133        }
2134
2135    };
2136
2137    Slick.prototype.setOption =
2138    Slick.prototype.slickSetOption = function() {
2139
2140        /**
2141         * accepts arguments in format of:
2142         *
2143         *  - for changing a single option's value:
2144         *     .slick("setOption", option, value, refresh )
2145         *
2146         *  - for changing a set of responsive options:
2147         *     .slick("setOption", 'responsive', [{}, ...], refresh )
2148         *
2149         *  - for updating multiple values at once (not responsive)
2150         *     .slick("setOption", { 'option': value, ... }, refresh )
2151         */
2152
2153        var _ = this, l, item, option, value, refresh = false, type;
2154
2155        if( $.type( arguments[0] ) === 'object' ) {
2156
2157            option =  arguments[0];
2158            refresh = arguments[1];
2159            type = 'multiple';
2160
2161        } else if ( $.type( arguments[0] ) === 'string' ) {
2162
2163            option =  arguments[0];
2164            value = arguments[1];
2165            refresh = arguments[2];
2166
2167            if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
2168
2169                type = 'responsive';
2170
2171            } else if ( typeof arguments[1] !== 'undefined' ) {
2172
2173                type = 'single';
2174
2175            }
2176
2177        }
2178
2179        if ( type === 'single' ) {
2180
2181            _.options[option] = value;
2182
2183
2184        } else if ( type === 'multiple' ) {
2185
2186            $.each( option , function( opt, val ) {
2187
2188                _.options[opt] = val;
2189
2190            });
2191
2192
2193        } else if ( type === 'responsive' ) {
2194
2195            for ( item in value ) {
2196
2197                if( $.type( _.options.responsive ) !== 'array' ) {
2198
2199                    _.options.responsive = [ value[item] ];
2200
2201                } else {
2202
2203                    l = _.options.responsive.length-1;
2204
2205                    // loop through the responsive object and splice out duplicates.
2206                    while( l >= 0 ) {
2207
2208                        if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
2209
2210                            _.options.responsive.splice(l,1);
2211
2212                        }
2213
2214                        l--;
2215
2216                    }
2217
2218                    _.options.responsive.push( value[item] );
2219
2220                }
2221
2222            }
2223
2224        }
2225
2226        if ( refresh ) {
2227
2228            _.unload();
2229            _.reinit();
2230
2231        }
2232
2233    };
2234
2235    Slick.prototype.setPosition = function() {
2236
2237        var _ = this;
2238
2239        _.setDimensions();
2240
2241        _.setHeight();
2242
2243        if (_.options.fade === false) {
2244            _.setCSS(_.getLeft(_.currentSlide));
2245        } else {
2246            _.setFade();
2247        }
2248
2249        _.$slider.trigger('setPosition', [_]);
2250
2251    };
2252
2253    Slick.prototype.setProps = function() {
2254
2255        var _ = this,
2256            bodyStyle = document.body.style;
2257
2258        _.positionProp = _.options.vertical === true ? 'top' : 'left';
2259
2260        if (_.positionProp === 'top') {
2261            _.$slider.addClass('slick-vertical');
2262        } else {
2263            _.$slider.removeClass('slick-vertical');
2264        }
2265
2266        if (bodyStyle.WebkitTransition !== undefined ||
2267            bodyStyle.MozTransition !== undefined ||
2268            bodyStyle.msTransition !== undefined) {
2269            if (_.options.useCSS === true) {
2270                _.cssTransitions = true;
2271            }
2272        }
2273
2274        if ( _.options.fade ) {
2275            if ( typeof _.options.zIndex === 'number' ) {
2276                if( _.options.zIndex < 3 ) {
2277                    _.options.zIndex = 3;
2278                }
2279            } else {
2280                _.options.zIndex = _.defaults.zIndex;
2281            }
2282        }
2283
2284        if (bodyStyle.OTransform !== undefined) {
2285            _.animType = 'OTransform';
2286            _.transformType = '-o-transform';
2287            _.transitionType = 'OTransition';
2288            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2289        }
2290        if (bodyStyle.MozTransform !== undefined) {
2291            _.animType = 'MozTransform';
2292            _.transformType = '-moz-transform';
2293            _.transitionType = 'MozTransition';
2294            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
2295        }
2296        if (bodyStyle.webkitTransform !== undefined) {
2297            _.animType = 'webkitTransform';
2298            _.transformType = '-webkit-transform';
2299            _.transitionType = 'webkitTransition';
2300            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2301        }
2302        if (bodyStyle.msTransform !== undefined) {
2303            _.animType = 'msTransform';
2304            _.transformType = '-ms-transform';
2305            _.transitionType = 'msTransition';
2306            if (bodyStyle.msTransform === undefined) _.animType = false;
2307        }
2308        if (bodyStyle.transform !== undefined && _.animType !== false) {
2309            _.animType = 'transform';
2310            _.transformType = 'transform';
2311            _.transitionType = 'transition';
2312        }
2313        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
2314    };
2315
2316
2317    Slick.prototype.setSlideClasses = function(index) {
2318
2319        var _ = this,
2320            centerOffset, allSlides, indexOffset, remainder;
2321
2322        allSlides = _.$slider
2323            .find('.slick-slide')
2324            .removeClass('slick-active slick-center slick-current')
2325            .attr('aria-hidden', 'true');
2326
2327        _.$slides
2328            .eq(index)
2329            .addClass('slick-current');
2330
2331        if (_.options.centerMode === true) {
2332
2333            
2333centerOffset = Math.floor(_.options.slidesToShow / 2);
2334
2335            if (_.options.infinite === true) {
2336
2337                if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
2338
2339                    _.$slides
2340                        .slice(index - centerOffset, index + centerOffset + 1)
2341                        .addClass('slick-active')
2342                        .attr('aria-hidden', 'false');
2343
2344                } else {
2345
2346                    indexOffset = _.options.slidesToShow + index;
2347                    allSlides
2348                        .slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2)
2349                        .addClass('slick-active')
2350                        .attr('aria-hidden', 'false');
2351
2352                }
2353
2354                if (index === 0) {
2355
2356                    allSlides
2357                        .eq(allSlides.length - 1 - _.options.slidesToShow)
2358                        .addClass('slick-center');
2359
2360                } else if (index === _.slideCount - 1) {
2361
2362                    allSlides
2363                        .eq(_.options.slidesToShow)
2364                        .addClass('slick-center');
2365
2366                }
2367
2368            }
2369
2370            _.$slides
2371                .eq(index)
2372                .addClass('slick-center');
2373
2374        } else {
2375
2376            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
2377
2378                _.$slides
2379                    .slice(index, index + _.options.slidesToShow)
2380                    .addClass('slick-active')
2381                    .attr('aria-hidden', 'false');
2382
2383            } else if (allSlides.length <= _.options.slidesToShow) {
2384
2385                allSlides
2386                    .addClass('slick-active')
2387                    .attr('aria-hidden', 'false');
2388
2389            } else {
2390
2391                remainder = _.slideCount % _.options.slidesToShow;
2392                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
2393
2394                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
2395
2396                    allSlides
2397                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
2398                        .addClass('slick-active')
2399                        .attr('aria-hidden', 'false');
2400
2401                } else {
2402
2403                    allSlides
2404                        .slice(indexOffset, indexOffset + _.options.slidesToShow)
2405                        .addClass('slick-active')
2406                        .attr('aria-hidden', 'false');
2407
2408                }
2409
2410            }
2411
2412        }
2413
2414        if (_.options.lazyLoad === 'ondemand') {
2415            _.lazyLoad();
2416        }
2417
2418    };
2419
2420    Slick.prototype.setupInfinite = function() {
2421
2422        var _ = this,
2423            i, slideIndex, infiniteCount;
2424
2425        if (_.options.fade === true) {
vendor: 15,027 bytes, lines 2426-2959
2426            _.options.centerMode = false;
2427        }
2428
2429        if (_.options.infinite === true && _.options.fade === false) {
2430
2431            slideIndex = null;
2432
2433            if (_.slideCount > _.options.slidesToShow) {
2434
2435                if (_.options.centerMode === true) {
2436                    infiniteCount = _.options.slidesToShow + 1;
2437                } else {
2438                    infiniteCount = _.options.slidesToShow;
2439                }
2440
2441                for (i = _.slideCount; i > (_.slideCount -
2442                        infiniteCount); i -= 1) {
2443                    slideIndex = i - 1;
2444                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
2445                        .attr('data-slick-index', slideIndex - _.slideCount)
2446                        .prependTo(_.$slideTrack).addClass('slick-cloned');
2447                }
2448                for (i = 0; i < infiniteCount; i += 1) {
2449                    slideIndex = i;
2450                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
2451                        .attr('data-slick-index', slideIndex + _.slideCount)
2452                        .appendTo(_.$slideTrack).addClass('slick-cloned');
2453                }
2454                _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
2455                    $(this).attr('id', '');
2456                });
2457
2458            }
2459
2460        }
2461
2462    };
2463
2464    Slick.prototype.interrupt = function( toggle ) {
2465
2466        var _ = this;
2467
2468        if( !toggle ) {
2469            _.autoPlay();
2470        }
2471        _.interrupted = toggle;
2472
2473    };
2474
2475    Slick.prototype.selectHandler = function(event) {
2476
2477        var _ = this;
2478
2479        var targetElement =
2480            $(event.target).is('.slick-slide') ?
2481                $(event.target) :
2482                $(event.target).parents('.slick-slide');
2483
2484        var index = parseInt(targetElement.attr('data-slick-index'));
2485
2486        if (!index) index = 0;
2487
2488        if (_.slideCount <= _.options.slidesToShow) {
2489
2490            _.setSlideClasses(index);
2491            _.asNavFor(index);
2492            return;
2493
2494        }
2495
2496        _.slideHandler(index);
2497
2498    };
2499
2500    Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
2501
2502        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
2503            _ = this, navTarget;
2504
2505        sync = sync || false;
2506
2507        if (_.animating === true && _.options.waitForAnimate === true) {
2508            return;
2509        }
2510
2511        if (_.options.fade === true && _.currentSlide === index) {
2512            return;
2513        }
2514
2515        if (_.slideCount <= _.options.slidesToShow) {
2516            return;
2517        }
2518
2519        if (sync === false) {
2520            _.asNavFor(index);
2521        }
2522
2523        targetSlide = index;
2524        targetLeft = _.getLeft(targetSlide);
2525        slideLeft = _.getLeft(_.currentSlide);
2526
2527        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
2528
2529        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
2530            if (_.options.fade === false) {
2531                targetSlide = _.currentSlide;
2532                if (dontAnimate !== true) {
2533                    _.animateSlide(slideLeft, function() {
2534                        _.postSlide(targetSlide);
2535                    });
2536                } else {
2537                    _.postSlide(targetSlide);
2538                }
2539            }
2540            return;
2541        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
2542            if (_.options.fade === false) {
2543                targetSlide = _.currentSlide;
2544                if (dontAnimate !== true) {
2545                    _.animateSlide(slideLeft, function() {
2546                        _.postSlide(targetSlide);
2547                    });
2548                } else {
2549                    _.postSlide(targetSlide);
2550                }
2551            }
2552            return;
2553        }
2554
2555        if ( _.options.autoplay ) {
2556            clearInterval(_.autoPlayTimer);
2557        }
2558
2559        if (targetSlide < 0) {
2560            if (_.slideCount % _.options.slidesToScroll !== 0) {
2561                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
2562            } else {
2563                animSlide = _.slideCount + targetSlide;
2564            }
2565        } else if (targetSlide >= _.slideCount) {
2566            if (_.slideCount % _.options.slidesToScroll !== 0) {
2567                animSlide = 0;
2568            } else {
2569                animSlide = targetSlide - _.slideCount;
2570            }
2571        } else {
2572            animSlide = targetSlide;
2573        }
2574
2575        _.animating = true;
2576
2577        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
2578
2579        oldSlide = _.currentSlide;
2580        _.currentSlide = animSlide;
2581
2582        _.setSlideClasses(_.currentSlide);
2583
2584        if ( _.options.asNavFor ) {
2585
2586            navTarget = _.getNavTarget();
2587            navTarget = navTarget.slick('getSlick');
2588
2589            if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
2590                navTarget.setSlideClasses(_.currentSlide);
2591            }
2592
2593        }
2594
2595        _.updateDots();
2596        _.updateArrows();
2597
2598        if (_.options.fade === true) {
2599            if (dontAnimate !== true) {
2600
2601                _.fadeSlideOut(oldSlide);
2602
2603                _.fadeSlide(animSlide, function() {
2604                    _.postSlide(animSlide);
2605                });
2606
2607            } else {
2608                _.postSlide(animSlide);
2609            }
2610            _.animateHeight();
2611            return;
2612        }
2613
2614        if (dontAnimate !== true) {
2615            _.animateSlide(targetLeft, function() {
2616                _.postSlide(animSlide);
2617            });
2618        } else {
2619            _.postSlide(animSlide);
2620        }
2621
2622    };
2623
2624    Slick.prototype.startLoad = function() {
2625
2626        var _ = this;
2627
2628        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
2629
2630            _.$prevArrow.hide();
2631            _.$nextArrow.hide();
2632
2633        }
2634
2635        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
2636
2637            _.$dots.hide();
2638
2639        }
2640
2641        _.$slider.addClass('slick-loading');
2642
2643    };
2644
2645    Slick.prototype.swipeDirection = function() {
2646
2647        var xDist, yDist, r, swipeAngle, _ = this;
2648
2649        xDist = _.touchObject.startX - _.touchObject.curX;
2650        yDist = _.touchObject.startY - _.touchObject.curY;
2651        r = Math.atan2(yDist, xDist);
2652
2653        swipeAngle = Math.round(r * 180 / Math.PI);
2654        if (swipeAngle < 0) {
2655            swipeAngle = 360 - Math.abs(swipeAngle);
2656        }
2657
2658        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
2659            return (_.options.rtl === false ? 'left' : 'right');
2660        }
2661        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
2662            return (_.options.rtl === false ? 'left' : 'right');
2663        }
2664        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
2665            return (_.options.rtl === false ? 'right' : 'left');
2666        }
2667        if (_.options.verticalSwiping === true) {
2668            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
2669                return 'down';
2670            } else {
2671                return 'up';
2672            }
2673        }
2674
2675        return 'vertical';
2676
2677    };
2678
2679    Slick.prototype.swipeEnd = function(event) {
2680
2681        var _ = this,
2682            slideCount,
2683            direction;
2684
2685        _.dragging = false;
2686        _.interrupted = false;
2687        _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
2688
2689        if ( _.touchObject.curX === undefined ) {
2690            return false;
2691        }
2692
2693        if ( _.touchObject.edgeHit === true ) {
2694            _.$slider.trigger('edge', [_, _.swipeDirection() ]);
2695        }
2696
2697        if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
2698
2699            direction = _.swipeDirection();
2700
2701            switch ( direction ) {
2702
2703                case 'left':
2704                case 'down':
2705
2706                    slideCount =
2707                        _.options.swipeToSlide ?
2708                            _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
2709                            _.currentSlide + _.getSlideCount();
2710
2711                    _.currentDirection = 0;
2712
2713                    break;
2714
2715                case 'right':
2716                case 'up':
2717
2718                    slideCount =
2719                        _.options.swipeToSlide ?
2720                            _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
2721                            _.currentSlide - _.getSlideCount();
2722
2723                    _.currentDirection = 1;
2724
2725                    break;
2726
2727                default:
2728
2729
2730            }
2731
2732            if( direction != 'vertical' ) {
2733
2734                _.slideHandler( slideCount );
2735                _.touchObject = {};
2736                _.$slider.trigger('swipe', [_, direction ]);
2737
2738            }
2739
2740        } else {
2741
2742            if ( _.touchObject.startX !== _.touchObject.curX ) {
2743
2744                _.slideHandler( _.currentSlide );
2745                _.touchObject = {};
2746
2747            }
2748
2749        }
2750
2751    };
2752
2753    Slick.prototype.swipeHandler = function(event) {
2754
2755        var _ = this;
2756
2757        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
2758            return;
2759        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
2760            return;
2761        }
2762
2763        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
2764            event.originalEvent.touches.length : 1;
2765
2766        _.touchObject.minSwipe = _.listWidth / _.options
2767            .touchThreshold;
2768
2769        if (_.options.verticalSwiping === true) {
2770            _.touchObject.minSwipe = _.listHeight / _.options
2771                .touchThreshold;
2772        }
2773
2774        switch (event.data.action) {
2775
2776            case 'start':
2777                _.swipeStart(event);
2778                break;
2779
2780            case 'move':
2781                _.swipeMove(event);
2782                break;
2783
2784            case 'end':
2785                _.swipeEnd(event);
2786                break;
2787
2788        }
2789
2790    };
2791
2792    Slick.prototype.swipeMove = function(event) {
2793
2794        var _ = this,
2795            edgeWasHit = false,
2796            curLeft, swipeDirection, swipeLength, positionOffset, touches;
2797
2798        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
2799
2800        if (!_.dragging || touches && touches.length !== 1) {
2801            return false;
2802        }
2803
2804        curLeft = _.getLeft(_.currentSlide);
2805
2806        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
2807        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
2808
2809        _.touchObject.swipeLength = Math.round(Math.sqrt(
2810            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
2811
2812        if (_.options.verticalSwiping === true) {
2813            _.touchObject.swipeLength = Math.round(Math.sqrt(
2814                Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
2815        }
2816
2817        swipeDirection = _.swipeDirection();
2818
2819        if (swipeDirection === 'vertical') {
2820            return;
2821        }
2822
2823        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
2824            event.preventDefault();
2825        }
2826
2827        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
2828        if (_.options.verticalSwiping === true) {
2829            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
2830        }
2831
2832
2833        swipeLength = _.touchObject.swipeLength;
2834
2835        _.touchObject.edgeHit = false;
2836
2837        if (_.options.infinite === false) {
2838            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
2839                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
2840                _.touchObject.edgeHit = true;
2841            }
2842        }
2843
2844        if (_.options.vertical === false) {
2845            _.swipeLeft = curLeft + swipeLength * positionOffset;
2846        } else {
2847            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
2848        }
2849        if (_.options.verticalSwiping === true) {
2850            _.swipeLeft = curLeft + swipeLength * positionOffset;
2851        }
2852
2853        if (_.options.fade === true || _.options.touchMove === false) {
2854            return false;
2855        }
2856
2857        if (_.animating === true) {
2858            _.swipeLeft = null;
2859            return false;
2860        }
2861
2862        _.setCSS(_.swipeLeft);
2863
2864    };
2865
2866    Slick.prototype.swipeStart = function(event) {
2867
2868        var _ = this,
2869            touches;
2870
2871        _.interrupted = true;
2872
2873        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
2874            _.touchObject = {};
2875            return false;
2876        }
2877
2878        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
2879            touches = event.originalEvent.touches[0];
2880        }
2881
2882        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
2883        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
2884
2885        _.dragging = true;
2886
2887    };
2888
2889    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
2890
2891        var _ = this;
2892
2893        if (_.$slidesCache !== null) {
2894
2895            _.unload();
2896
2897            _.$slideTrack.children(this.options.slide).detach();
2898
2899            _.$slidesCache.appendTo(_.$slideTrack);
2900
2901            _.reinit();
2902
2903        }
2904
2905    };
2906
2907    Slick.prototype.unload = function() {
2908
2909        var _ = this;
2910
2911        $('.slick-cloned', _.$slider).remove();
2912
2913        if (_.$dots) {
2914            _.$dots.remove();
2915        }
2916
2917        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
2918            _.$prevArrow.remove();
2919        }
2920
2921        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
2922            _.$nextArrow.remove();
2923        }
2924
2925        _.$slides
2926            .removeClass('slick-slide slick-active slick-visible slick-current')
2927            .attr('aria-hidden', 'true')
2928            .css('width', '');
2929
2930    };
2931
2932    Slick.prototype.unslick = function(fromBreakpoint) {
2933
2934        var _ = this;
2935        _.$slider.trigger('unslick', [_, fromBreakpoint]);
2936        _.destroy();
2937
2938    };
2939
2940    Slick.prototype.updateArrows = function() {
2941
2942        var _ = this,
2943            centerOffset;
2944
2945        centerOffset = Math.floor(_.options.slidesToShow / 2);
2946
2947        if ( _.options.arrows === true &&
2948            _.slideCount > _.options.slidesToShow &&
2949            !_.options.infinite ) {
2950
2951            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2952            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2953
2954            if (_.currentSlide === 0) {
2955
2956                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2957                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2958
2959            } else if (_.currentSlide >
2959= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
2960
2961                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2962                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2963
2964            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
2965
2966                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2967                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2968
2969            }
2970
2971        }
2972
2973    };
2974
2975    Slick.prototype.updateDots = function() {
2976
2977        var _ = this;
2978
2979        if (_.$dots !== null) {
2980
2981            _.$dots
2982                .find('li')
2983                .removeClass('slick-active')
2984                .attr('aria-hidden', 'true');
2985
2986            _.$dots
2987                .find('li')
2988                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
2989                .addClass('slick-active')
2990                .attr('aria-hidden', 'false');
2991
2992        }
2993
2994    };
2995
2996    Slick.prototype.visibility = function() {
2997
2998        var _ = this;
2999
3000        if ( _.options.autoplay ) {
3001
3002            if ( document[_.hidden] ) {
3003
3004                _.interrupted = true;
3005
3006            } else {
3007
3008                _.interrupted = false;
3009
3010            }
3011
3012        }
3013
3014    };
3015
3016    $.fn.slick = function() {
3017        var _ = this,
3018            opt = arguments[0],
3019            args = Array.prototype.slice.call(arguments, 1),
3020            l = _.length,
3021            i,
3022            ret;
3023        for (i = 0; i < l; i++) {
3024            if (typeof opt == 'object' || typeof opt == 'undefined')
3025                _[i].slick = new Slick(_[i], opt);
3026            else
3027                ret = _[i].slick[opt].apply(_[i].slick, args);
3028            if (typeof ret != 'undefined') return ret;
3029        }
3030        return _;
3031    };
3032
3033}));
3034;
3035/*!
3036* jQuery meanMenu v2.0.8
3037* @Copyright (C) 2012-2014 Chris Wharton @ MeanThemes (https://github.com/meanthemes/meanMenu)
3038*
3039*/
3040/*
3041* This program is free software: you can redistribute it and/or modify
3042* it under the terms of the GNU General Public License as published by
3043* the Free Software Foundation, either version 3 of the License, or
3044* (at your option) any later version.
3045*
3046* THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
3047* HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
3048* INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR
3049* FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE
3050* OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
3051* COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.COPYRIGHT HOLDERS WILL NOT
3052* BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
3053* DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
3054*
3055* You should have received a copy of the GNU General Public License
3056* along with this program. If not, see <http://gnu.org/licenses/>.
3057*
3058* Find more information at http://www.meanthemes.com/plugins/meanmenu/
3059*
3060*/
3061(function ($) {
3062	"use strict";
3063		$.fn.meanmenu = function (options) {
3064				var defaults = {
3065						meanMenuTarget: jQuery(this), // Target the current HTML markup you wish to replace
3066						meanMenuContainer: 'body', // Choose where meanmenu will be placed within the HTML
3067						meanMenuClose: "X", // single character you want to represent the close menu button
3068						meanMenuCloseSize: "18px", // set font size of close button
3069						meanMenuOpen: "<span /><span /><span />", // text/markup you want when menu is closed
3070						meanRevealPosition: "right", // left right or center positions
3071						meanRevealPositionDistance: "0", // Tweak the position of the menu
3072						meanRevealColour: "", // override CSS colours for the reveal background
3073						meanScreenWidth: "767", // set the screen width you want meanmenu to kick in at
3074						meanNavPush: "", // set a height here in px, em or % if you want to budge your layout now the navigation is missing.
3075						meanShowChildren: true, // true to show children in the menu, false to hide them
3076						meanExpandableChildren: true, // true to allow expand/collapse children
3077						meanExpand: "+", // single character you want to represent the expand for ULs
3078						meanContract: "-", // single character you want to represent the contract for ULs
3079						meanRemoveAttrs: false, // true to remove classes and IDs, false to keep them
3080						onePage: false, // set to true for one page sites
3081						meanDisplay: "block", // override display method for table cell based layouts e.g. table-cell
3082						removeElements: "" // set to hide page elements
3083				};
3084				options = $.extend(defaults, options);
3085
3086				// get browser width
3087				var currentWidth = window.innerWidth || document.documentElement.clientWidth;
3088
3089				return this.each(function () {
3090						var meanMenu = options.meanMenuTarget;
3091						var meanContainer = options.meanMenuContainer;
3092						var meanMenuClose = options.meanMenuClose;
3093						var meanMenuCloseSize = options.meanMenuCloseSize;
3094						var meanMenuOpen = options.meanMenuOpen;
3095						var meanRevealPosition = options.meanRevealPosition;
3096						var meanRevealPositionDistance = options.meanRevealPositionDistance;
3097						var meanRevealColour = options.meanRevealColour;
3098						var meanScreenWidth = options.meanScreenWidth;
3099						var meanNavPush = options.meanNavPush;
3100						var meanRevealClass = ".meanmenu-reveal";
3101						var meanShowChildren = options.meanShowChildren;
3102						var meanExpandableChildren = options.meanExpandableChildren;
3103						var meanExpand = options.meanExpand;
3104						var meanContract = options.meanContract;
3105						var meanRemoveAttrs = options.meanRemoveAttrs;
3106						var onePage = options.onePage;
3107						var meanDisplay = options.meanDisplay;
3108						var removeElements = options.removeElements;
3109
3110						//detect known mobile/tablet usage
3111						var isMobile = false;
3112						if ( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/Blackberry/i)) || (navigator.userAgent.match(/Windows Phone/i)) ) {
3113								isMobile = true;
3114						}
3115
3116						if ( (navigator.userAgent.match(/MSIE 8/i)) || (navigator.userAgent.match(/MSIE 7/i)) ) {
3117							// add scrollbar for IE7 & 8 to stop breaking resize function on small content sites
3118								jQuery('html').css("overflow-y" , "scroll");
3119						}
3120
3121						var meanRevealPos = "";
3122						var meanCentered = function() {
3123							if (meanRevealPosition === "center") {
3124								var newWidth = window.innerWidth || document.documentElement.clientWidth;
3125								var meanCenter = ( (newWidth/2)-22 )+"px";
3126								meanRevealPos = "left:" + meanCenter + ";right:auto;";
3127
3128								if (!isMobile) {
3129									jQuery('.meanmenu-reveal').css("left",meanCenter);
3130								} else {
3131									jQuery('.meanmenu-reveal').animate({
3132											left: meanCenter
3133									});
3134								}
3135							}
3136						};
3137
3138						var menuOn = false;
3139						var meanMenuExist = false;
3140
3141
3142						if (meanRevealPosition === "right") {
3143								meanRevealPos = "right:" + meanRevealPositionDistance + ";left:auto;";
3144						}
3145						if (meanRevealPosition === "left") {
3146								meanRevealPos = "left:" + meanRevealPositionDistance + ";right:auto;";
3147						}
3148						// run center function
3149						meanCentered();
3150
3151						// set all styles for mean-reveal
3152						var $navreveal = "";
3153
3154						var meanInner = function() {
3155								// get last class name
3156								if (jQuery($navreveal).is(".meanmenu-reveal.meanclose")) {
3157										$navreveal.html(meanMenuClose);
3158								} else {
3159										$navreveal.html(meanMenuOpen);
3160								}
3161						};
3162
3163						// re-instate original nav (and call this on window.width functions)
3164						var meanOriginal = function() {
3165							jQuery('.mean-bar,.mean-push').remove();
3166							jQuery(meanContainer).removeClass("mean-container");
3167							jQuery(meanMenu).css('display', meanDisplay);
3168							menuOn = false;
3169							meanMenuExist = false;
3170							jQuery(removeElements).removeClass('mean-remove');
3171						};
3172
3173						// navigation reveal
3174						var showMeanMenu = function() {
3175								var meanStyles = "background:"+meanRevealColour+";color:"+meanRevealColour+";"+meanRevealPos;
3176								if (currentWidth <= meanScreenWidth) {
3177								jQuery(removeElements).addClass('mean-remove');
3178									meanMenuExist = true;
3179									// add class to body so we don't need to worry about media queries here, all CSS is wrapped in '.mean-container'
3180									jQuery(meanContainer).addClass("mean-container");
3181									jQuery('.mean-container').prepend('<div class="mean-bar"><a href="#nav" class="meanmenu-reveal" style="'+meanStyles+'">Show Navigation</a><nav class="mean-nav"></nav></div>');
3182
3183									//push meanMenu navigation into .mean-nav
3184									var meanMenuContents = jQuery(meanMenu).html();
3185									jQuery('.mean-nav').html(meanMenuContents);
3186
3187									// remove all classes from EVERYTHING inside meanmenu nav
3188									if(meanRemoveAttrs) {
3189										jQuery('nav.mean-nav ul, nav.mean-nav ul *').each(function() {
3190											// First check if this has mean-remove class
3191											if (jQuery(this).is('.mean-remove')) {
3192												jQuery(this).attr('class', 'mean-remove');
3193											} else {
3194												jQuery(this).removeAttr("class");
3195											}
3196											jQuery(this).removeAttr("id");
3197										});
3198									}
3199
3200									// push in a holder div (this can be used if removal of nav is causing layout issues)
3201									jQuery(meanMenu).before('<div class="mean-push" />');
3202									jQuery('.mean-push').css("margin-top",meanNavPush);
3203
3204									// hide current navigation and reveal mean nav link
3205									jQuery(meanMenu).hide();
3206									jQuery(".meanmenu-reveal").show();
3207
3208									// turn 'X' on or off
3209									jQuery(meanRevealClass).html(meanMenuOpen);
3210									$navreveal = jQuery(meanRevealClass);
3211
3212									//hide mean-nav ul
3213									jQuery('.mean-nav ul').hide();
3214
3215									// hide sub nav
3216									if(meanShowChildren) {
3217											// allow expandable sub nav(s)
3218											if(meanExpandableChildren){
3219												jQuery('.mean-nav ul ul').each(function() {
3220														if(jQuery(this).children().length){
3221																jQuery(this,'li:first').parent().append('<a class="mean-expand" href="#" style="font-size: '+ meanMenuCloseSize +'">'+ meanExpand +'</a>');
3222														}
3223												});
3224												jQuery('.mean-expand').on("click",function(e){
3225														e.preventDefault();
3226															if (jQuery(this).hasClass("mean-clicked")) {
3227																	jQuery(this).text(meanExpand);
3228																jQuery(this).prev('ul').slideUp(300, function(){});
3229														} else {
3230																jQuery(this).text(meanContract);
3231																jQuery(this).prev('ul').slideDown(300, function(){});
3232														}
3233														jQuery(this).toggleClass("mean-clicked");
3234												});
3235											} else {
3236													jQuery('.mean-nav ul ul').show();
3237											}
3238									} else {
3239											jQuery('.mean-nav ul ul').hide();
3240									}
3241
3242									// add last class to tidy up borders
3243									jQuery('.mean-nav ul li').last().addClass('mean-last');
3244									$navreveal.removeClass("meanclose");
3245									jQuery($navreveal).click(function(e){
3246										e.preventDefault();
3247								if( menuOn === false ) {
3248												$navreveal.css("text-align", "center");
3249												$navreveal.css("text-indent", "0");
3250												$navreveal.css("font-size", meanMenuCloseSize);
3251												jQuery('.mean-nav ul:first').slideDown();
3252												menuOn = true;
3253										} else {
3254											jQuery('.mean-nav ul:first').slideUp();
3255											menuOn = false;
3256										}
3257											$navreveal.toggleClass("meanclose");
3258											meanInner();
3259											jQuery(removeElements).addClass('mean-remove');
3260									});
3261
3262									// for one page websites, reset all variables...
3263									if ( onePage ) {
3264										jQuery('.mean-nav ul > li > a:first-child').on( "click" , function () {
3265											jQuery('.mean-nav ul:first').slideUp();
3266											menuOn = false;
3267											jQuery($navreveal).toggleClass("meanclose").html(meanMenuOpen);
3268										});
3269									}
3270							} else {
3271								meanOriginal();
3272							}
3273						};
3274
3275						if (!isMobile) {
3276								// reset menu on resize above meanScreenWidth
3277								jQuery(window).resize(function () {
3278										currentWidth = window.innerWidth || document.documentElement.clientWidth;
3279										if (currentWidth > meanScreenWidth) {
3280												meanOriginal();
3281										} else {
3282											meanOriginal();
3283										}
3284										if (currentWidth <= meanScreenWidth) {
3285												showMeanMenu();
3286												meanCentered();
3287										} else {
3288											meanOriginal();
3289										}
3290								});
3291						}
3292
3293					jQuery(window).resize(function () {
3294								// get browser width
3295								currentWidth = window.innerWidth || document.documentElement.clientWidth;
3296
3297								if (!isMobile) {
3298										meanOriginal();
3299										if (currentWidth <= meanScreenWidth) {
3300												showMeanMenu();
3301												meanCentered();
3302										}
3303								} else {
3304										meanCentered();
3305										if (currentWidth <= meanScreenWidth) {
3306												if (meanMenuExist === false) {
3307														showMeanMenu();
3308												}
3309										} else {
3310												meanOriginal();
3311										}
3312								}
3313						});
3314
3315					// run main menuMenu function on load
3316					showMeanMenu();
3317				});
3318		};
3319})(jQuery);;
3320/*!
3321 * Theia Sticky Sidebar v1.7.0
3322 * https://github.com/WeCodePixels/theia-sticky-sidebar
3323 *
3324 * Glues your website's sidebars, making them permanently visible while scrolling.
3325 *
3326 * Copyright 2013-2016 WeCodePixels and other contributors
3327 * Released under the MIT license
3328 */
3329
3330(function ($) {
3331    $.fn.theiaStickySidebar = function (options) {
3332        var defaults = {
3333            'containerSelector': '',
3334            'additionalMarginTop': 0,
3335            'additionalMarginBottom': 0,
3336            'updateSidebarHeight': true,
3337            'minWidth': 0,
3338            'disableOnResponsiveLayouts': true,
3339            'sidebarBehavior': 'modern',
3340            'defaultPosition': 'relative',
3341            'namespace': 'TSS'
3342        };
3343        options = $.extend(defaults, options);
3344
3345        // Validate options
3346        options.additionalMarginTop = parseInt(options.additionalMarginTop) || 0;
3347        options.additionalMarginBottom = parseInt(options.additionalMarginBottom) || 0;
3348
3349        tryInitOrHookIntoEvents(options, this);
3350
3351        // Try doing init, otherwise hook into window.resize and document.scroll and try again then.
3352        function tryInitOrHookIntoEvents(options, $that) {
3353            var success = tryInit(options, $that);
3354
3355            if (!success) {
3356                console.log('TSS: Body width smaller than options.minWidth. Init is delayed.');
3357
3358                $(document).on('scroll.' + options.namespace, function (options, $that) {
3359                    return function (evt) {
3360                        var success = tryInit(options, $that);
3361
3362                        if (success) {
3363                            $(this).unbind(evt);
3364                        }
3365                    };
3366                }(options, $that));
3367                $(window).on('resize.' + options.namespace, function (options, $that) {
3368                    return function (evt) {
3369                        var success = tryInit(options, $that);
3370
3371                        if (success) {
3372                            $(this).unbind(evt);
3373                        }
3374                    };
3375                }(options, $that))
3376            }
3377        }
3378
3379        // Try doing init if proper conditions are met.
3380        function tryInit(options, $that) {
3381            if (options.initialized === true) {
3382                return true;
3383            }
3384
3385            if ($('body').width() < options.minWidth) {
3386                return false;
3387            }
3388
3389            init(options, $that);
3390
3391            return true;
3392        }
3393
3394        // Init the sticky sidebar(s).
3395        function init(options, $that) {
3396            options.initialized = true;
3397
3398            // Add CSS
3399            var existingStylesheet = $('#theia-sticky-sidebar-stylesheet-' + options.namespace);
3400            if (existingStylesheet.length === 0) {
3401                $('head').append($('<style id="theia-sticky-sidebar-stylesheet-' + options.namespace + '">.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>'));
3402            }
3403
3404            $that.each(function () {
3405                var o = {};
3406
3407                o.sidebar = $(this);
3408
3409                // Save options
3410                o.options = options || {};
3411
3412                // Get container
3413                o.container = $(o.options.containerSelector);
3414                if (o.container.length == 0) {
3415                    o.container = o.sidebar.parent();
3416                }
3417
3418                // Create sticky sidebar
3419                o.sidebar.parents().css('-webkit-transform', 'none'); // Fix for WebKit bug - https://code.google.com/p/chromium/issues/detail?id=20574
3420                o.sidebar.css({
3421                    'position': o.options.defaultPosition,
3422                    'overflow': 'visible',
3423                    // The "box-sizing" must be set to "content-box" because we set a fixed height to this element when the sticky 
3423sidebar has a fixed position.
3424                    '-webkit-box-sizing': 'border-box',
3425                    '-moz-box-sizing': 'border-box',
3426                    'box-sizing': 'border-box'
3427                });
3428
3429                // Get the sticky sidebar element. If none has been found, then create one.
3430                o.stickySidebar = o.sidebar.find('.theiaStickySidebar');
3431                if (o.stickySidebar.length == 0) {
3432                    // Remove <script> tags, otherwise they will be run again when added to the stickySidebar.
3433                    var javaScriptMIMETypes = /(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;
3434                    o.sidebar.find('script').filter(function (index, script) {
3435                        return script.type.length === 0 || script.type.match(javaScriptMIMETypes);
3436                    }).remove();
3437
3438                    o.stickySidebar = $('<div>').addClass('theiaStickySidebar').append(o.sidebar.children());
3439                    o.sidebar.append(o.stickySidebar);
3440                }
3441
3442                // Get existing top and bottom margins and paddings
3443                o.marginBottom = parseInt(o.sidebar.css('margin-bottom'));
3444                o.paddingTop = parseInt(o.sidebar.css('padding-top'));
3445                o.paddingBottom = parseInt(o.sidebar.css('padding-bottom'));
3446
3447                // Add a temporary padding rule to check for collapsable margins.
3448                var collapsedTopHeight = o.stickySidebar.offset().top;
3449                var collapsedBottomHeight = o.stickySidebar.outerHeight();
3450                o.stickySidebar.css('padding-top', 1);
3451                o.stickySidebar.css('padding-bottom', 1);
3452                collapsedTopHeight -= o.stickySidebar.offset().top;
3453                collapsedBottomHeight = o.stickySidebar.outerHeight() - collapsedBottomHeight - collapsedTopHeight;
3454                if (collapsedTopHeight == 0) {
3455                    o.stickySidebar.css('padding-top', 0);
3456                    o.stickySidebarPaddingTop = 0;
3457                }
3458                else {
3459                    o.stickySidebarPaddingTop = 1;
3460                }
3461
3462                if (collapsedBottomHeight == 0) {
3463                    o.stickySidebar.css('padding-bottom', 0);
3464                    o.stickySidebarPaddingBottom = 0;
3465                }
3466                else {
3467                    o.stickySidebarPaddingBottom = 1;
3468                }
3469
3470                // We use this to know whether the user is scrolling up or down.
3471                o.previousScrollTop = null;
3472
3473                // Scroll top (value) when the sidebar has fixed position.
3474                o.fixedScrollTop = 0;
3475
3476                // Set sidebar to default values.
3477                resetSidebar();
3478
3479                o.onScroll = function (o) {
3480                    // Stop if the sidebar isn't visible.
3481                    if (!o.stickySidebar.is(":visible")) {
3482                        return;
3483                    }
3484
3485                    // Stop if the window is too small.
3486                    if ($('body').width() < o.options.minWidth) {
3487                        resetSidebar();
3488                        return;
3489                    }
3490
3491                    // Stop if the sidebar width is larger than the container width (e.g. the theme is responsive and the sidebar is now below the content)
3492                    if (o.options.disableOnResponsiveLayouts) {
3493                        var sidebarWidth = o.sidebar.outerWidth(o.sidebar.css('float') == 'none');
3494
3495                        if (sidebarWidth + 50 > o.container.width()) {
3496                            resetSidebar();
3497                            return;
3498                        }
3499                    }
3500
3501                    var scrollTop = $(document).scrollTop();
3502                    var position = 'static';
3503
3504                    // If the user has scrolled down enough for the sidebar to be clipped at the top, then we can consider changing its position.
3505                    if (scrollTop >= o.sidebar.offset().top + (o.paddingTop - o.options.additionalMarginTop)) {
3506                        // The top and bottom offsets, used in various calculations.
3507                        var offsetTop = o.paddingTop + options.additionalMarginTop;
3508                        var offsetBottom = o.paddingBottom + o.marginBottom + options.additionalMarginBottom;
3509
3510                        // All top and bottom positions are relative to the window, not to the parent elemnts.
3511                        var containerTop = o.sidebar.offset().top;
3512                        var containerBottom = o.sidebar.offset().top + getClearedHeight(o.container);
3513
3514                        // The top and bottom offsets relative to the window screen top (zero) and bottom (window height).
3515                        var windowOffsetTop = 0 + options.additionalMarginTop;
3516                        var windowOffsetBottom;
3517
3518                        var sidebarSmallerThanWindow = (o.stickySidebar.outerHeight() + offsetTop + offsetBottom) < $(window).height();
3519                        if (sidebarSmallerThanWindow) {
3520                            windowOffsetBottom = windowOffsetTop + o.stickySidebar.outerHeight();
3521                        }
3522                        else {
3523                            windowOffsetBottom = $(window).height() - o.marginBottom - o.paddingBottom - options.additionalMarginBottom;
3524                        }
3525
3526                        var staticLimitTop = containerTop - scrollTop + o.paddingTop;
3527                        var staticLimitBottom = containerBottom - scrollTop - o.paddingBottom - o.marginBottom;
3528
3529                        var top = o.stickySidebar.offset().top - scrollTop;
3530                        var scrollTopDiff = o.previousScrollTop - scrollTop;
3531
3532                        // If the sidebar position is fixed, then it won't move up or down by itself. So, we manually adjust the top coordinate.
3533                        if (o.stickySidebar.css('position') == 'fixed') {
3534                            if (o.options.sidebarBehavior == 'modern') {
3535                                top += scrollTopDiff;
3536                            }
3537                        }
3538
3539                        if (o.options.sidebarBehavior == 'stick-to-top') {
3540                            top = options.additionalMarginTop;
3541                        }
3542
3543                        if (o.options.sidebarBehavior == 'stick-to-bottom') {
3544                            top = windowOffsetBottom - o.stickySidebar.outerHeight();
3545                        }
3546
3547                        if (scrollTopDiff > 0) { // If the user is scrolling up.
3548                            top = Math.min(top, windowOffsetTop);
3549                        }
3550                        else { // If the user is scrolling down.
3551                            top = Math.max(top, windowOffsetBottom - o.stickySidebar.outerHeight());
3552                        }
3553
3554                        top = Math.max(top, staticLimitTop);
3555
3556                        top = Math.min(top, staticLimitBottom - o.stickySidebar.outerHeight());
3557
3558                        // If the sidebar is the same height as the container, we won't use fixed positioning.
3559                        var sidebarSameHeightAsContainer = o.container.height() == o.stickySidebar.outerHeight();
3560
3561                        if (!sidebarSameHeightAsContainer && top == windowOffsetTop) {
3562                            position = 'fixed';
3563                        }
3564                        else if (!sidebarSameHeightAsContainer && top == windowOffsetBottom - o.stickySidebar.outerHeight()) {
3565                            position = 'fixed';
3566                        }
3567                        else if (scrollTop + top - o.sidebar.offset().top - o.paddingTop <= options.additionalMarginTop) {
3568                            // Stuck to the top of the page. No special behavior.
3569                            position = 'static';
3570                        }
3571                        else {
3572                            // Stuck to the bottom of the page.
3573                            position = 'absolute';
3574                        }
3575                    }
3576
3577                    /*
3578                     * Performance notice: It's OK to set these CSS values at each resize/scroll, even if they don't change.
3579                     * It's way slower to first check if the values have changed.
3580                     */
3581                    if (position == 'fixed') {
3582                        var scrollLeft = $(document).scrollLeft();
3583
3584                        o.stickySidebar.css({
3585                            'position': 'fixed',
3586                            'width': getWidthForObject(o.stickySidebar) + 'px',
3587                            'transform': 'translateY(' + top + 'px)',
3588                            'left': (o.sidebar.offset().left + parseInt(o.sidebar.css('padding-left')) - scrollLeft) + 'px',
3589                            'top': '0px'
3590                        });
3591                    }
3592                    else if (position == 'absolute') {
3593                        var css = {};
3594
3595                        if (o.stickySidebar.css('position') != 'absolute') {
3596                            css.position = 'absolute';
3597                            css.transform = 'translateY(' + (scrollTop + top - o.sidebar.offset().top - o.stickySidebarPaddingTop - o.stickySidebarPaddingBottom) + 'px)';
3598                            css.top = '0px';
3599                        }
3600
3601                        css.width = getWidthForObject(o.stickySidebar) + 'px';
3602                        css.left = '';
3603
3604                        o.stickySidebar.css(css);
3605                    }
3606                    else if (position == 'static') {
3607                        resetSidebar();
3608                    }
3609
3610                    if (position != 'static') {
3611                        if (o.options.updateSidebarHeight == true) {
3612                            o.sidebar.css({
3613                                'min-height': o.stickySidebar.outerHeight() + o.stickySidebar.offset().top - o.sidebar.offset().top + o.paddingBottom
3614                            });
3615                        }
3616                    }
3617
3618                    o.previousScrollTop = scrollTop;
3619                };
3620
3621                // Initialize the sidebar's position.
3622                o.onScroll(o);
3623
3624                // Recalculate the sidebar's position on every scroll and resize.
3625                $(document).on('scroll.' + o.options.namespace, function (o) {
3626                    return function () {
3627                        o.onScroll(o);
3628                    };
3629                }(o));
3630                $(window).on('resize.' + o.options.namespace, function (o) {
3631                    return function () {
3632                        o.stickySidebar.css({'position': 'static'});
3633                        o.onScroll(o);
3634                    };
3635                }(o));
3636
3637                // Recalculate the sidebar's position every time the sidebar changes its size.
3638                if (typeof ResizeSensor !== 'undefined') {
3639                    new ResizeSensor(o.stickySidebar[0], function (o) {
3640                        return function () {
3641                            o.onScroll(o);
3642                        };
3643                    }(o));
3644                }
3645
3646                // Reset the sidebar to its default state
3647                function resetSidebar() {
3648                    o.fixedScrollTop = 0;
3649                    o.sidebar.css({
3650                        'min-height': '1px'
3651                    });
3652                    o.stickySidebar.css({
3653                        'position': 'static',
3654                        'width': '',
3655                        'transform': 'none'
3656                    });
3657                }
3658
3659                // Get the height of a div as if its floated children were cleared. Note that this function fails if the floats are more than one level deep.
3660                function getClearedHeight(e) {
3661                    var height = e.height();
3662
3663                    e.children().each(function () {
3664                        height = Math.max(height, $(this).height());
3665                    });
3666
3667                    return height;
3668                }
3669            });
3670        }
3671
3672        function getWidthForObject(object) {
3673            var width;
3674
3675            try {
3676                width = object[0].getBoundingClientRect().width;
3677            }
3678            catch (err) {
3679            }
3680
3681            if (typeof width === "undefined") {
3682                width = object.width();
3683            }
3684
3685            return width;
3686        }
3687
3688        return this;
3689    }
3690})(jQuery);
3691
3692//# sourceMappingURL=maps/theia-sticky-sidebar.js.map
3693;
3694jQuery(document).ready(function($){
3695
3696  /* MEan Menu */
3697  jQuery('#main-nav').meanmenu({
3698    meanMenuContainer: '.main-navigation-holder',
3699    meanScreenWidth:"767"
3700  });
3701
3702  /* slick slider */
3703  $('.main-blog-slider').slick();
3704
3705  $('.main-slider-nav').slick();
3706
3707  /* show/hide search form  */
3708  jQuery(".search-box").hide();
3709
3710  jQuery(".search-btn").click(function(e) {
3711
3712    var parent_element = $(this).parent();
3713
3714    parent_element.children('.search-box').slideToggle('slow');
3715
3716    parent_element.toggleClass('open');
3717
3718    e.preventDefault();
3719
3720  });
3721
3722  /* Scroll to top */
3723  var $scroll_obj = $( '#btn-gotop' );
3724
3725  $( window ).scroll(function(){
3726
3727    if ( $( this ).scrollTop() > 100 ) {
3728
3729      $scroll_obj.fadeIn();
3730
3731    } else {
3732
3733      $scroll_obj.fadeOut();
3734
3735    }
3736
3737  });
3738
3739  $scroll_obj.click(function(){
3740
3741    $( 'html, body' ).animate( { scrollTop: 0 }, 600 );
3742
3743    return false;
3744
3745  });  
3746
3747  /* Sticky sidebar */
3748  var main_ref = $("body");
3749  
3750  if( main_ref.hasClass( 'sticky-sidebar-enabled' ) ){
3751
3752    $( '#primary, #sidebar-primary' ).theiaStickySidebar();
3753    
3754  }
3755
3756  //For news carousel
3757  $('.carousel-enabled .grid-news-items').slick({
3758    dots: false,
3759    infinite: true,
3760    speed: 600,
3761    slidesToShow: 3,
3762    arrows:true,
3763    autoplay:true,
3764    slidesToScroll: 1,
3765    responsive: [
3766      {
3767        breakpoint: 1024,
3768        settings: {
3769          slidesToShow: 2,
3770          slidesToScroll: 2,
3771          infinite: true,
3772          dots: false
3773        }
3774      },
3775      {
3776        breakpoint: 481,
3777        settings: {
3778          slidesToShow: 1,
3779          slidesToScroll: 1
3780        }
3781      }
3782    ]
3783  });
3784
3785  //For breaking news carousel
3786  $('#breaking-news').slick({
3787      autoplay: true,
3788      autoplaySpeed: 5000,
3789      dots: false,
3790      slidesToShow: 1,
3791      slidesToScroll: 1,
3792      vertical: true,
3793      arrows:true,
3794      adaptiveHeight: true,
3795  });
3796
3797});;
3798!function(){"use strict";var e,t={noop:function(){}
3798,texturize:function(e){return(e=(e=(e=(e+="").replace(/'/g,"&#8217;").replace(/&#039;/g,"&#8217;")).replace(/"/g,"&#8221;").replace(/&#034;/g,"&#8221;").replace(/&quot;/g,"&#8221;").replace(/[\u201D]/g,"&#8221;")).replace(/([\w]+)=&#[\d]+;(.+?)&#[\d]+;/g,'$1="$2"')).trim()},applyReplacements:function(e,t){if(e)return t?e.replace(/{(\d+)}/g,function(e,r){return void 0!==t[r]?t[r]:e}):e},getBackgroundImage:function(e){var t=document.createElement("canvas"),r=t.getContext&&t.getContext("2d");if(e){r.filter="blur(20px) ",r.drawImage(e,0,0);var o=t.toDataURL("image/png");return t=null,o}}},r=function(){function e(e,t){return Element.prototype.matches?e.matches(t):Element.prototype.msMatchesSelector?e.msMatchesSelector(t):void 0}function r(e,t,r,o){if(!e)return o();e.jpCarouselCancelFade&&e.jpCarouselCancelFade(),e.classList.remove("jp-carousel-fade"),e.style.removeProperty("display"),e.style.opacity=t,e.style.pointerEvents="none",e.offsetWidth,e.classList.add("jp-carousel-fade"),e.style.opacity=r;var a=1e3*parseFloat(getComputedStyle(e).transitionDuration)||0,n=setTimeout(function(){e.jpCarouselCancelFade=null,e.style.removeProperty("pointer-events"),o()},a+50);e.jpCarouselCancelFade=function(){clearTimeout(n),e.jpCarouselCancelFade=null}}return{closest:function(t,r){if(t.closest)return t.closest(r);var o=t;do{if(e(o,r))return o;o=o.parentElement||o.parentNode}while(null!==o&&1===o.nodeType);return null},matches:e,hide:function(e){e&&(e.style.display="none")},show:function(e){e&&(e.style.display="block")},fadeIn:function(e,o){r(e,0,1,o=o||t.noop)},fadeOut:function(e,o){o=o||t.noop,r(e,1,0,function(){e&&(e.style.display="none"),o()})},scrollToElement:function(e,t,r){if(!e||!t)return r?r():void 0;var o=t.querySelector(".jp-carousel-info-extra");o&&(o.style.minHeight=window.innerHeight-64+"px");var a=!0,n=Date.now(),i=t.scrollTop,l=Math.max(0,e.offsetTop-Math.max(0,window.innerHeight-function(e){var t=e.querySelector(".jp-carousel-info-footer"),r=e.querySelector(".jp-carousel-info-extra"),o=e.querySelector(".jp-carousel-info-content-wrapper");if(t&&r&&o){var a=window.getComputedStyle(r),n=parseInt(a.paddingTop,10)+parseInt(a.paddingBottom,10);return n=isNaN(n)?0:n,o.offsetHeight+t.offsetHeight+n}return 0}(t)))-t.scrollTop;function s(){a=!1}l=Math.min(l,t.scrollHeight-window.innerHeight),t.addEventListener("wheel",s),function e(){var c,u=Date.now(),d=(c=(u-n)/300)<.5?2*c*c:1-Math.pow(-2*c+2,2)/2,m=(d=d>1?1:d)*l;if(t.scrollTop=i+m,u<=n+300&&a)return requestAnimationFrame(e);r&&r(),o&&(o.style.minHeight=""),a=!1,t.removeEventListener("wheel",s)}()},getJSONAttribute:function(e,t){if(e&&e.hasAttribute(t))try{return JSON.parse(e.getAttribute(t))}catch{return}},convertToPlainText:function(e){var t=document.createElement("div");return t.textContent=e,t.innerHTML},stripHTML:function(e){var t=document.createElement("div");return t.innerHTML=e.replace(/<[^>]*>?/gm,""),t.textContent},emitEvent:function(e,t,r){var o;try{o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:r||null})}catch{(o=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,r||null)}e.dispatchEvent(o)},isTouch:function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch},prefersReducedMotion:function(){return!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}}}();function o(){var o,a,n,i,l={},s={},c="",u=!1,d="div.gallery, div.tiled-gallery, ul.wp-block-gallery, ul.blocks-gallery-grid, figure.wp-block-gallery.has-nested-images, div.wp-block-jetpack-tiled-gallery, a.single-image-gallery",m=".gallery-item, .tiled-gallery-item, .blocks-gallery-item,  .tiled-gallery__item",p=m+", .wp-block-image",g={},h="undefined"!=typeof wpcom&&wpcom.carousel&&wpcom.carousel.stat?wpcom.carousel.stat:t.noop,f="undefined"!=typeof wpcom&&wpcom.carousel&&wpcom.carousel.pageview?wpcom.carousel.pageview:t.noop;function v(t){if(!u)switch(t.which){case 38:t.preventDefault(),g.overlay.scrollTop-=100;break;case 40:t.preventDefault(),g.overlay.scrollTop+=100;break;case 39:t.preventDefault(),e.slideNext();break;case 37:case 8:t.preventDefault(),e.slidePrev();break;case 27:t.preventDefault(),k()}}function y(){u=!0}function w(){u=!1}function S(e){e.role="button",e.tabIndex=0,e.ariaLabel=jetpackCarouselStrings.image_label}function j(){g.overlay||(g.overlay=document.querySelector(".jp-carousel-overlay"),g.container=g.overlay.querySelector(".jp-carousel-wrap"),g.gallery=g.container.querySelector(".jp-carousel"),g.info=g.overlay.querySelector(".jp-carousel-info"),g.caption=g.
3798info.querySelector(".jp-carousel-caption"),g.commentField=g.overlay.querySelector("#jp-carousel-comment-form-comment-field"),g.emailField=g.overlay.querySelector("#jp-carousel-comment-form-email-field"),g.authorField=g.overlay.querySelector("#jp-carousel-comment-form-author-field"),g.urlField=g.overlay.querySelector("#jp-carousel-comment-form-url-field"),window.innerWidth<=760&&Math.round(window.innerWidth/760*110)<40&&r.isTouch(),[g.commentField,g.emailField,g.authorField,g.urlField].forEach(function(e){e&&(e.addEventListener("focus",y),e.addEventListener("blur",w))}),g.overlay.addEventListener("click",function(e){var t,o,a=e.target,n=!!r.closest(a,".jp-carousel-close-hint"),i=!!window.matchMedia("(max-device-width: 760px)").matches;a===g.overlay?i||k():n?k():a.classList.contains("jp-carousel-image-download")?h("download_original_click"):a.classList.contains("jp-carousel-comment-login")?(t=g.currentSlide,o=t?t.attrs.attachmentId:"0",window.location.href=jetpackCarouselStrings.login_url+"%23jp-carousel-"+o):r.closest(a,"#jp-carousel-comment-form-container")?function(e){var t=e.target,o=r.getJSONAttribute(g.container,"data-carousel-extra")||{},a=g.currentSlide.attrs.attachmentId,n=document.querySelector("#jp-carousel-comment-form-submit-and-info-wrapper"),i=document.querySelector("#jp-carousel-comment-form-spinner"),s=document.querySelector("#jp-carousel-comment-form-button-submit"),c=document.querySelector("#jp-carousel-comment-form");if(g.commentField&&g.commentField.getAttribute("id")===t.getAttribute("id"))y(),r.show(n);else if(r.matches(t,'input[type="submit"]')){e.preventDefault(),e.stopPropagation(),r.show(i),c.classList.add("jp-carousel-is-disabled");var u={action:"post_attachment_comment",nonce:jetpackCarouselStrings.nonce,blog_id:o.blog_id,id:a,comment:g.commentField.value};if(!u.comment.length)return void b(jetpackCarouselStrings.no_comment_text,!1);if(1!==Number(jetpackCarouselStrings.is_logged_in)&&(u.email=g.emailField.value,u.author=g.authorField.value,u.url=g.urlField.value,1===Number(jetpackCarouselStrings.require_name_email))){if(!u.email.length||!u.email.match("@"))return void b(jetpackCarouselStrings.no_comment_email,!1);if(!u.author.length)return void b(jetpackCarouselStrings.no_comment_author,!1)}var d=new XMLHttpRequest;d.open("POST",jetpackCarouselStrings.ajaxurl,!0),d.setRequestHeader("X-Requested-With","XMLHttpRequest"),d.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),d.onreadystatechange=function(){if(this.readyState===XMLHttpRequest.DONE&&this.status>=200&&this.status<300){var e;try{e=JSON.parse(this.response)}catch{return void b(jetpackCarouselStrings.comment_post_error,!1)}if("approved"===e.comment_status){b(jetpackCarouselStrings.comment_approved,!0);var t=function(e){for(var t=0;t<g.slides.length;t++)if(g.slides[t].attrs.attachmentId===e)return g.slides[t];return null}(a);t&&(t.attrs.commentsCount=(parseInt(t.attrs.commentsCount,10)||0)+1)}else"unapproved"===e.comment_status?b(jetpackCarouselStrings.comment_unapproved,!0):b(jetpackCarouselStrings.comment_post_error,!1);W(),delete l[a],_(a,void 0,!0),s.value=jetpackCarouselStrings.post_comment,r.hide(i),c.classList.remove("jp-carousel-is-disabled")}else b(jetpackCarouselStrings.comment_post_error,!1)};var m=[];for(var p in u)if(p){var h=encodeURIComponent(p)+"="+encodeURIComponent(u[p]);m.push(h.replace(/%20/g,"+"))}var f=m.join("&");d.send(f)}}(e):(r.closest(a,".jp-carousel-photo-icons-container")||a.classList.contains("jp-carousel-photo-title"))&&function(e){e.preventDefault();var t=e.target,o=g.info.querySelector(".jp-carousel-info-extra"),a=g.info.querySelector(".jp-carousel-image-meta"),n=g.info.querySelector(".jp-carousel-comments-wrapper"),i=g.info.querySelector(".jp-carousel-icon-info"),s=g.info.querySelector(".jp-carousel-icon-comments");function c(){s&&s.classList.remove("jp-carousel-selected"),i.classList.toggle("jp-carousel-selected"),n&&n.classList.remove("jp-carousel-show"),a&&(a.classList.toggle("jp-carousel-show"),a.classList.contains("jp-carousel-show")?o.classList.add("jp-carousel-show"):o.classList.remove("jp-carousel-show"))}function u(){if(i&&i.classList.remove("jp-carousel-selected"),s.classList.toggle("jp-carousel-selected"),a&&a.classList.remove("jp-carousel-show"),n)if(n.classList.toggle("jp-carousel-show"),n.classList.contains("jp-carousel-show")){o.classList.add("jp-carousel-show");var e=g.currentSlide;if(e){var t=l[e.attrs.attachmentId];t?t.hasMore&&T(e.attrs.attachmentId,t.nextOffset):_(e.attrs.attachmentId)}}else o.classList.remove("jp-carousel-show")}(r.closest(t,".jp-carousel-icon-info")||t.classList.contains("jp-carousel-photo-title"))&&(a&&a.classList.contains("jp-carousel-show")?r.scrollToElement(g.overlay,g.overlay,c):(c(),r.scrollToElement(g.info,g.overlay))),r.closest(t,".jp-carousel-icon-comments")&&(n&&n.classList.contains("jp-carousel-show")?r.scrollToElement(g.overlay,g.overlay,u):(u(),r.scrollToElement(g.info,g.overlay)))}(e)}),window.addEventListener("keydown",v),g.overlay.addEventListener("jp_carousel.afterOpen",function(){w(),g.slides.length<=1||(g.slides.length<=5?r.show(g.info.querySelector(".jp-swiper-pagination")):r.show(g.info.querySelector(".jp-carousel-pagination")))}),g.overlay.addEventListener("jp_carousel.beforeClose",function(){y(),document.documentElement.style.removeProperty("height"),e&&e.enable(),r.hide(g.info.querySelector(".jp-swiper-pagination")),r.hide(g.info.querySelector(".jp-carousel-pagination"))}),g.overlay.addEventListener("jp_carousel.afterClose",function(){window.history.pushState?history.pushState("",document.title,window.location.pathname+window.location.search):window.location.href="",c="",g.isOpen=!1}),g.overlay.addEventListener("touchstart",function(e){e.touches.length>1&&e.preventDefault()}))}function b(e,t){var o=g.overlay.querySelector("#jp-carousel-comment-post-results"),a="jp-carousel-comment-post-"+(t?"success":"error");o.innerHTML='<span class="'+a+'">'+e+"</span>",r.hide(g.overlay.querySelector("#jp-carousel-comment-form-spinner")),g.overlay.querySelector("#jp-carousel-comment-form").classList.remove("jp-carousel-is-disabled"),r.show(o)}function L(){var e=document.querySelectorAll("a img[data-attachment-id]");Array.prototype.forEach.call(e,function(e){var t=e.parentElement,o=t.parentElement;if(!o.classList.contains("gallery-icon")&&!r.closest(o,m)&&t.hasAttribute("href")){var a=!1;t.getAttribute("href").split("?")[0]===e.getAttribute("data-orig-file").split("?")[0]&&1===Number(jetpackCarouselStrings.single_image_gallery_media_file)&&(a=!0),t.getAttribute("href")===e.getAttribute("data-permalink")&&(a=!0),a&&(S(e),t.classList.add("single-image-gallery"),t.setAttribute("data-carousel-extra",JSON.stringify({blog_id:Number(jetpackCarouselStrings.blog_id)})))}})}function x(t,r){g.isOpen?(C(r),e.slideTo(r+1)):z(t,{startIndex:r})}function C(e){(!e||e<0||e>g.slides.length)&&(e=0),g.currentSlide=g.slides[e];var a,n,i=g.currentSlide,s=i.attrs.attachmentId;M(g.slides[e]),function(e){var t=[],r=g.slides.length;if(r>1){var o=e>0?e-1:r-1;t.push(o);var a=e<r-1?e+1:0;t.push(a)}t.forEach(function(e){var t=g.slides[e];t&&(M(t),1!==Number(jetpackCarouselStrings.display_background_image)||t.backgroundImage||F(t))})}(e),1!==Number(jetpackCarouselStrings.display_background_image)||g.slides[e].backgroundImage||F(g.slides[e]),r.hide(g.caption),function(e){var t,o,a,n,i,l,s;if(n=g.overlay.querySelector(".jp-carousel-photo-caption"),i=g.overlay.querySelector(".jp-carousel-caption"),l=g.overlay.querySelector(".jp-carousel-photo-title"),s=g.overlay.querySelector(".jp-carousel-photo-description"),r.hide(n),r.hide(i),r.hide(l),r.hide(s),t=A(e.caption)||"",o=A(e.title)||"",a=A(e.desc)||"",(t||o||a)&&(t&&(n.innerHTML=t,i.innerHTML=t,r.show(n),r.show(i)),r.stripHTML(t)===r.stripHTML(o)&&(o=""),r.stripHTML(t)===r.stripHTML(a)&&(a=""),r.stripHTML(o)===r.stripHTML(a)&&(a=""),a&&(s.innerHTML=a,r.show(s),o||t||(n.textContent=r.stripHTML(a),r.show(n))),o)){var c=r.stripHTML(o);l.textContent=c,t||(n.textContent=c,i.textContent=c,r.show(n)),r.show(l)}}
3798({caption:i.attrs.caption,title:i.attrs.title,desc:i.attrs.desc}),function(e){if(!e||1!==Number(jetpackCarouselStrings.display_exif))return!1;var t=g.info.querySelector(".jp-carousel-image-meta");if(!t)return!1;var r="";for(var o in e){var a=e[o],n=jetpackCarouselStrings.meta_data||[];if(0!==parseFloat(a)&&a.length&&-1!==n.indexOf(o)){switch(o){case"focal_length":a+="mm";break;case"shutter_speed":a=E(a);break;case"aperture":a="f/"+a}r+="<li><h5>"+jetpackCarouselStrings[o]+"</h5>"+a+"</li>"}}var i=t.querySelector("ul.jp-carousel-image-exif");if(""!==r){if(!i){(i=document.createElement("ul")).className="jp-carousel-image-exif";var l=t.querySelector(".jp-carousel-title-and-caption");l&&l.nextSibling?t.insertBefore(i,l.nextSibling):t.insertBefore(i,t.firstChild)}i.innerHTML=r,i.style.removeProperty("display")}else i&&i.parentNode.removeChild(i)}(g.slides[e].attrs.imageMeta),function(e){if(!e)return!1;var r,o=[e.attrs.origWidth,e.attrs.origHeight],a=document.createElement("a");a.href=e.attrs.src.replace(/\?.+$/,""),r=null!==a.hostname.match(/^i[\d]{1}\.wp\.com$/i)?a.href:e.attrs.origFile.replace(/\?.+$/,"");var n=g.info.querySelector(".jp-carousel-download-text"),i=g.info.querySelector(".jp-carousel-image-download");n.innerHTML=t.applyReplacements(jetpackCarouselStrings.download_original,o),i.setAttribute("href",r),i.style.removeProperty("display")}(i),1===Number(jetpackCarouselStrings.display_comments)&&(a=g.slides[e].attrs.commentsOpened,n=g.info.querySelector("#jp-carousel-comment-form-container"),1===parseInt(a,10)?r.fadeIn(n):r.fadeOut(n),function(e){var t=e.attrs.attachmentId,a=g.info.querySelector(".jp-carousel-comments"),n=l[t];if(clearInterval(o),r.hide(g.info.querySelector("#jp-carousel-comments-loading")),n)return a.innerHTML=n.html,H(n.count),r.show(a),void(n.hasMore&&I()&&T(t,n.nextOffset));a.innerHTML="",r.hide(a),H(parseInt(e.attrs.commentsCount,10)||0),I()&&_(t)}(i),r.hide(g.info.querySelector("#jp-carousel-comment-post-results")));var u=g.info.querySelector(".jp-carousel-pagination");if(u&&g.slides.length>5){var d=e+1;u.innerHTML="<span>"+d+" / "+g.slides.length+"</span>"}jetpackCarouselStrings.stats&&g.isOpen&&((new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?"+jetpackCarouselStrings.stats+"&post="+encodeURIComponent(s)+"&rand="+Math.random()),g.isOpen&&f(s),c="#jp-carousel-"+s,window.location.hash=c}function k(){document.body.style.overflow=a,document.documentElement.style.overflow=n,W(),y(),r.emitEvent(g.overlay,"jp_carousel.beforeClose"),window.scrollTo(window.scrollX||window.pageXOffset||0,i||0),g.isOpen=!1,e.destroy(),g.slides=[],l={},s={},g.currentSlide=void 0,g.gallery.innerHTML="",r.fadeOut(g.overlay,function(){r.emitEvent(g.overlay,"jp_carousel.afterClose")})}function q(e){if("object"!=typeof e&&(e={}),void 0===e.origFile)return"";if(void 0===e.origWidth||void 0===e.maxWidth)return e.origFile;if(!e.largeFile)return e.origFile;var t=document.createElement("a");t.href=e.largeFile;var r=/^i[0-2]\.wp\.com$/i.test(t.hostname),o=function(e,t,r){var o,a=r?e.replace(/.*=([\d]+%2C[\d]+).*$/,"$1"):e.replace(/.*-([\d]+x[\d]+)\..+$/,"$1");return"9999"===(o=a!==e?r?a.split("%2C"):a.split("x"):[t,0])[0]&&(o[0]="0"),"9999"===o[1]&&(o[1]="0"),o}(e.largeFile,e.origWidth,r),a=parseInt(o[0],10),n=parseInt(o[1],10);e.origMaxWidth=e.maxWidth,e.origMaxHeight=e.maxHeight,void 0!==window.devicePixelRatio&&window.devicePixelRatio>1&&(e.maxWidth=e.maxWidth*window.devicePixelRatio,e.maxHeight=e.maxHeight*window.devicePixelRatio);var i=e.zoomHeadroom||1;if(i>1&&(e.maxWidth=e.maxWidth*i,e.maxHeight=e.maxHeight*i),a>=e.maxWidth||n>=e.maxHeight)return e.largeFile;if(r){if(-1===e.largeFile.lastIndexOf("?"))return e.largeFile;var l=function(e){var t;try{t=new URL(e)}catch(t){return e}var r=["quality","ssl","filter","brightness","contrast","colorize","smooth"],o=Array.from(t.searchParams.entries());return t.search="",o.forEach(([e,o])=>{r.includes(e)&&t.searchParams.append(e,o)}),t}(e.largeFile);return(e.origWidth>e.maxWidth||e.origHeight>e.maxHeight)&&(e.origMaxWidth=e.maxWidth,e.origMaxHeight=e.maxHeight,l.searchParams.set("fit",e.origMaxWidth+","+e.origMaxHeight)),l.toString()}return e.origFile}function E(e){return e>=1?Math.round(10*e)/10+"s":"1/"+Math.round(1/e)+"s"}
3798function A(e){return!e.match(" ")&&e.match("_")?"":e}function I(){var e=g.info.querySelector(".jp-carousel-comments-wrapper");return!!e&&e.classList.contains("jp-carousel-show")}function H(e){var t=g.info.querySelector(".jp-carousel-icon-comments .jp-carousel-has-comments-indicator");t&&(e>0?(t.innerText=e,t.classList.add("jp-carousel-show")):t.classList.remove("jp-carousel-show"))}function T(e,t){clearInterval(o),o=setInterval(function(){g.container.scrollTop+150>window.innerHeight&&(clearInterval(o),_(e,t))},300)}function _(e,t,a){var n=void 0===t;if(clearInterval(o),e&&g.currentSlide&&g.currentSlide.attrs.attachmentId===e&&(!s[e]||a)){(!t||t<1)&&(t=0);var i=g.info.querySelector(".jp-carousel-comments"),c=g.info.querySelector("#jp-carousel-comments-loading");r.show(c),n&&(r.hide(i),i.innerHTML="");var u=new XMLHttpRequest;s[e]=u;var d=function(){return s[e]===u},m=jetpackCarouselStrings.ajaxurl+"?action=get_attachment_comments&nonce="+jetpackCarouselStrings.nonce+"&id="+e+"&offset="+t;u.open("GET",m),u.setRequestHeader("X-Requested-With","XMLHttpRequest");var p=function(){r.fadeIn(i),r.fadeOut(c)};u.onload=function(){if(d()&&(delete s[e],g.currentSlide&&g.currentSlide.attrs.attachmentId===e)){var o,a=u.status>=200&&u.status<300;try{o=JSON.parse(u.responseText)}catch{}if(a&&o&&Array.isArray(o)){n&&(i.innerHTML="");for(var m=0;m<o.length;m++){var h=o[m];if(!i.querySelector("#jp-carousel-comment-"+h.id)){var f=document.createElement("div");f.classList.add("jp-carousel-comment"),f.setAttribute("id","jp-carousel-comment-"+h.id),f.innerHTML='<div class="comment-gravatar">'+h.gravatar_markup+'</div><div class="comment-content"><div class="comment-author">'+h.author_markup+'</div><div class="comment-date">'+h.date_gmt+"</div>"+h.content+"</div>",i.appendChild(f)}}var v=o.length>=10,y=t+10;v&&T(e,y);var w=i.querySelectorAll(".jp-carousel-comment").length,S=Math.max(parseInt(g.currentSlide.attrs.commentsCount,10)||0,w);o.length>0&&(r.show(i),H(S)),l[e]={html:i.innerHTML,count:S,hasMore:v,nextOffset:y},r.hide(c)}else p()}},u.onerror=function(){d()&&(delete s[e],g.currentSlide&&g.currentSlide.attrs.attachmentId===e&&p())},u.send()}}function M(e){var t=e.attrs,r=e.el.querySelector("img");if(!r.hasAttribute("data-loaded"))if(r.setAttribute("itemprop","image"),r.setAttribute("data-loaded",1),t.previewImage&&t.previewImage!==t.src){r.src=t.previewImage,r.style.filter="blur(8px)";var o=new window.Image;o.addEventListener("load",function(){r.hasAttribute("data-zoom-loaded")||(r.src=t.src),r.style.filter=""},{once:!0}),o.addEventListener("error",function(){r.style.filter=""},{once:!0}),o.src=t.src}else r.src=t.src}function F(e){var t=e.attrs.originalElement;if(t)if(t.complete&&0!==t.naturalHeight)O(e,t);else{var r=function(){t.removeEventListener("error",o),O(e,t)},o=function(){t.removeEventListener("load",r)};t.addEventListener("load",r,{once:!0}),t.addEventListener("error",o,{once:!0})}}function O(e,r){var o=t.getBackgroundImage(r);o&&(e.backgroundImage=o,e.el.style.backgroundImage="url("+o+")",e.el.style.backgroundSize="cover",e.el.style.backgroundPosition="center")}function W(){g.commentField&&(g.commentField.value="")}function N(e,o){g.slides=[];var a={width:window.innerWidth,height:window.innerHeight-64};0!==o&&null!==e[o].getAttribute("data-gallery-src")&&((new Image).src=e[o].getAttribute("data-gallery-src")),Array.prototype.forEach.call(e,function(e,o){var n=r.closest(e,"a"),i=e.getAttribute("data-orig-file")||e.getAttribute("src-orig"),l=e.getAttribute("data-attachment-id")||e.getAttribute("data-id")||"0",s=document.querySelector('img[data-attachment-id="'+l+'"] + figcaption');s=s?s.innerHTML:e.getAttribute("data-image-caption");var c={originalElement:e,attachmentId:l,commentsOpened:e.getAttribute("data-comments-opened")||"0",commentsCount:e.getAttribute("data-comments-count")||"0",imageMeta:r.getJSONAttribute(e,"data-image-meta")||{},title:e.getAttribute("data-image-title")||"",desc:e.getAttribute("data-image-description")||"",largeFile:e.getAttribute("data-large-file")||"",origFile:i||"",thumbSize:{width:e.naturalWidth,height:e.naturalHeight},caption:s||"",permalink:n&&n.getAttribute("href"),src:i||e.getAttribute("src")||""},u=r.closest(e,".tiled-gallery-item"),d=u&&u.querySelector(".tiled-gallery-caption"),m=d&&d.innerHTML;m&&(c.caption=m);var p=function(e){var t=e.getAttribute("data-orig-size")||"";if(t){var r=t.split(",");return{width:parseInt(r[0],10),height:parseInt(r[1],10)}}return{width:e.getAttribute("data-original-width")||e.getAttribute("width")||void 0,height:e.getAttribute("data-original-height")||e.getAttribute("height")||void 0}}(e);if(c.origWidth=p.width||c.thumbSize.width,c.origHeight=p.height||c.thumbSize.height,"undefined"!=typeof wpcom&&wpcom.carousel&&wpcom.carousel.generateImgSrc)c.src=wpcom.carousel.generateImgSrc(e,a);else{var h=function(e){return{origFile:c.src,origWidth:c.origWidth,origHeight:c.origHeight,maxWidth:a.width,maxHeight:a.height,largeFile:c.largeFile,zoomHeadroom:e}};c.zoomSrc=q(h(2)),c.src=q(h(1))}if(e.setAttribute("data-gallery-src",c.src),"0"!==c.attachmentId){c.title=t.texturize(c.title),c.desc=t.texturize(c.desc),c.caption=t.texturize(c.caption);var f=new Image,v=document.createElement("div");v.classList.add("swiper-slide"),v.setAttribute("itemprop","associatedMedia"),v.setAttribute("itemscope",""),v.setAttribute("itemtype","https://schema.org/ImageObject");var y=document.createElement("div");y.classList.add("swiper-zoom-container"),g.gallery.appendChild(v),v.appendChild(y),y.appendChild(f),v.setAttribute("data-attachment-id",c.attachmentId),v.setAttribute("data-permalink",c.permalink),v.setAttribute("data-orig-file",c.origFile),c.previewImage=e.currentSrc||e.getAttribute("src")||"";var w={el:v,attrs:c,index:o};g.slides.push(w)}})}function z(e,t){if(!window.JetpackSwiper){var o=document.querySelector("#jp-carousel-loading-overlay");r.show(o);var a=document.createElement("script");return a.id="jetpack-carousel-swiper-js",a.src=window.jetpackSwiperLibraryPath.url,a.async=!0,a.onload=function(){r.hide(o),R(e,t)},a.onerror=function(){r.hide(o)},void document.head.appendChild(a)}R(e,t)}function R(t,o){var c,u={imgSelector:".gallery-item [data-attachment-id], .tiled-gallery-item [data-attachment-id], img[data-attachment-id], img[data-id]",startIndex:0},d=r.getJSONAttribute(t,"data-carousel-extra");if(!d)return;const m=t.querySelectorAll(u.imgSelector);if(m.length&&(j(),!g.isOpen)){for(var p in g.isOpen=!0,a=getComputedStyle(document.body).overflow,document.body.style.overflow="hidden",n=getComputedStyle(document.documentElement).overflow,document.documentElement.style.overflow="hidden",i=window.scrollY||window.pageYOffset||0,g.container.setAttribute("data-carousel-extra",JSON.stringify(d)),h(["open","view_image"]),o||{})u[p]=o[p];-1===u.startIndex&&(u.startIndex=0),r.emitEvent(g.overlay,"jp_carousel.beforeOpen"),g.gallery.innerHTML="",l={},s={},g.overlay.style.opacity=1,g.overlay.style.display="block",N(m,u.startIndex),(e=new window.JetpackSwiper(".jp-carousel-swiper-container",{centeredSlides:!0,speed:r.prefersReducedMotion()?0:250,zoom:!0,loop:g.slides.length>1,enabled:g.slides.length>1,pagination:{el:".jp-swiper-pagination",clickable:!0},navigation:{nextEl:".jp-swiper-button-next",prevEl:".jp-swiper-button-prev"},initialSlide:u.startIndex,on:{init:function(){C(u.startIndex)}},preventClicks:!1,preventClicksPropagation:!1,preventInteractionOnTransition:!r.isTouch(),threshold:5})).on("slideChange",function(e){g.isOpen&&(C(e.realIndex),g.overlay.classList.remove("jp-carousel-hide-control
3798s"))}),e.on("zoomChange",function(e,t){t>1&&(function(e){if(e&&e.attrs.zoomSrc&&e.attrs.zoomSrc!==e.attrs.src){var t=e.el.querySelector("img");t&&!t.hasAttribute("data-zoom-loaded")&&(t.setAttribute("data-zoom-loaded",1),t.src=e.attrs.zoomSrc)}}(g.currentSlide),g.overlay.classList.add("jp-carousel-hide-controls")),1===t&&g.overlay.classList.remove("jp-carousel-hide-controls")}),e.on("doubleTap",function(e){if(clearTimeout(c),1===e.zoom.scale)var t=setTimeout(function(){g.overlay.classList.remove("jp-carousel-hide-controls"),clearTimeout(t)},150)}),e.on("tap",function(){e.zoom.scale>1&&(c=setTimeout(function(){g.overlay.classList.toggle("jp-carousel-hide-controls")},150))}),r.fadeIn(g.overlay,function(){r.emitEvent(g.overlay,"jp_carousel.afterOpen")})}}function P(e){if("click"!==e.type){if("keydown"===e.type){const t=document.activeElement.parentElement,r=t&&t.classList.contains("tiled-gallery__item");" "!==e.key&&"Enter"!==e.key||!r||$(e)}}else $(e)}function D(e){return(e||"").split("?")[0].replace(/\/$/,"")}function J(e){"A"===e.tagName&&(e=e.querySelector("img")||e);var t=e.parentElement,o=t?t.parentElement:null,a=null;if(o&&o.classList.contains("wp-block-image")?a=t.getAttribute("href"):t&&t.classList.contains("wp-block-image")&&t.querySelector(":scope > a")&&(a=t.querySelector(":scope > a").getAttribute("href")),a){var n=D(a),i=D(e.getAttribute("data-orig-file")),l=D(e.getAttribute("data-permalink"));if(n!==i&&n!==l)return!1}return!(t&&t.classList.contains("gallery-caption")||r.matches(t,"figcaption"))}function $(e){if(window.CSS&&window.CSS.supports&&window.CSS.supports("display","grid")){var t,o=e.target,a=r.closest(o,d);if(a){if(!(t=a)||!t.getAttribute("data-carousel-extra"))return;if(!J(o))return;document.documentElement.style.height="auto",e.preventDefault(),e.stopPropagation();var n=r.closest(o,p),i=Array.prototype.indexOf.call(a.querySelectorAll(p),n);z(a,{startIndex:i})}}}document.body.addEventListener("click",P),document.body.addEventListener("keydown",P),document.querySelectorAll(m+"img").forEach(function(e){J(e)&&S(e)}),1===Number(jetpackCarouselStrings.single_image_gallery)&&(L(),document.body.addEventListener("is.post-load",function(){L()})),window.addEventListener("hashchange",function(){var e=/jp-carousel-(\d+)/;if(window.location.hash&&e.test(window.location.hash)){if(window.location.hash!==c||!g.isOpen)if(window.location.hash&&g.gallery&&!g.isOpen&&history.back)history.back();else{c=window.location.hash;for(var t=window.location.hash.match(e),r=parseInt(t[1],10),o=document.querySelectorAll(d),a=0;a<o.length;a++){for(var n,i=o[a],l=i.querySelectorAll("img"),s=0;s<l.length;s++)if(parseInt(l[s].getAttribute("data-attachment-id"),10)===r||parseInt(l[s].getAttribute("data-id"),10)===r){n=s;break}if(void 0!==n){x(i,n);break}}}}else g.isOpen&&k()}),window.location.hash&&r.emitEvent(window,"hashchange")}"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}();;

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.