try{!function(e,t){"use strict";if(!e.document)throw new Error("kLib requires a window with a document");!function(e){if(void 0!==e.klevu)return e.klevu;var t=function e(t){return e.pt.options(t)};function n(){"undefined"!=typeof klevu_apiKey&&(t.settings.search={apiKey:klevu_apiKey},t.settings.analytics={apiKey:klevu_apiKey});try{if(!D(sessionStorage)&&"true"===sessionStorage.getItem("klv_debugMode")){var e=ce();e.length>0&&t.each(e,(function(e,n){t.strStartsWith(n.name,"klib_")&&(n.name=n.name.replace("klib_","").replace(new RegExp(/_/,"g"),"."),B(C,n.name,n.value))}))}}catch(e){t.logger.log("core.general","warn","Override settings via url - there was a issue loading the override settings "),t.logger.log("core.general","debug",e)}t.interactive(),t.ready(),C.chains.initChain=t.chain()}t.pt=t.prototype={version:s,constructor:t},t.options=t.pt.options=function(e){return t.extend(!0,C,e),t.reInitialize(),this},t.reInitialize=function(){return C.chains.initChain.list().length>0&&(C.chains.initChain.setData(C),C.chains.initChain.fire()),this};var s="2.13.1",o=e.document,a="Boolean Number String Function Array Date RegExp Object Error Symbol",i=[],c=(i.slice,i.concat,i.push),r=i.indexOf,l=Object.getPrototypeOf,u={},d=u.toString,p=u.hasOwnProperty,g=p.toString,m=g.call(Object),h=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,f=/[^\x20\t\r\n\f]+/g,v=/\[\]$/,b=/%20/g,S=/#.*$/,y=/([?&])_=[^&]*/,k=/^(.*?):[ \t]*([^\r\n]*)$/gm,O=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,j=/^\/\//,x=/^(?:GET|HEAD)$/,P=/\?/,C={url:{protocol:o.location.protocol}};String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});e.document.querySelectorAll||(e.document.querySelectorAll=function(t){var n,s=e.document.createElement("style"),o=[];if(e.document.documentElement.firstChild.appendChild(s),e.document._qsa=[],!s.styleSheet||void 0===s.styleSheet.cssText)return o;for(s.styleSheet.cssText=t+"{x-qsa:expression(window.document._qsa && window.document._qsa.push(this))}",e.scrollBy(0,0),s.parentNode.removeChild(s);e.document._qsa.length;)(n=e.document._qsa.shift()).style.removeAttribute("x-qsa"),o.push(n);return e.document._qsa=null,o});e.document.querySelector||(e.document.querySelector=function(t){var n=e.document.querySelectorAll(t);return n.length?n[0]:null});Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length;--n>=0&&t.item(n)!==this;);return n>-1});Array.prototype.filter||(Array.prototype.filter=function(e,t){if("Function"!=typeof e&&"function"!=typeof e||!this)throw new TypeError;var n=this.length>>>0,s=new Array(n),o=this,a=0,i=-1;if(void 0===t)for(;++i!==n;)i in this&&e(o[i],i,o)&&(s[a++]=o[i]);else for(;++i!==n;)i in this&&e.call(t,o[i],i,o)&&(s[a++]=o[i]);return s.length=a,s});Array.prototype.forEach||(Array.prototype.forEach=function(e){var t,n;if(null===this)throw new TypeError("this is null or not defined");var s=Object(this),o=s.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=arguments[1]),n=0;n=0){if(!H(e,t))return!1}else{if(n!==Object.prototype.toString.call(t))return!1;if("[object Function]"===n){if(e.toString()!==t.toString())return!1}else if(e!==t)return!1}};if("[object Array]"===n){for(var a=0;a0&&t-1 in e)}function $(e,t,n){return null===t?-1:r.call(t,e,n)}function J(e,t){for(var n=+t.length,s=0,o=e.length;s=0&&!1!==t.call(e[n],n,e[n]);n--);else{for(n in e)e.hasOwnProperty(n)&&s.push(n);te(s,(function(n,s){if(!1===t.call(e[s],s,e[s]))return!1}))}return e}function ne(e){var t={};return ee(e.match(f)||[],(function(e,n){t[n]=!0})),t}"function"==typeof Symbol&&(t.pt[Symbol.iterator]=i[Symbol.iterator]);function se(t){return e.btoa(e.encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))})))}function oe(t){return e.decodeURIComponent(Array.prototype.map.call(e.atob(t),(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}function ae(e){return e!==Object(e)}function ie(n){var s,o,a=e.location.search.substring(1).split("&");for(o=0;o0)for(;s=1&&ye(e)}function Oe(e){C.console.level>=2&&ye(e)}function je(e){C.console.level>=3&&ye(e)}function xe(e){C.console.level>=4&&ye(e)}ee(ne(a),(function(e){u["[object "+e+"]"]=e.toLowerCase()})),t.param=function(e){var n,s=[],o=function(e,t){var n=I(t)?t():t;s[s.length]=encodeURIComponent(e)+"="+encodeURIComponent(null===n?"":n)};if(Array.isArray(e)||e.version&&!t.isPlainObject(e))t.each(e,(function(){o(this.name,this.value)}));else for(n in e)he(n,e[n],o);return s.join("&")},t.extend=t.pt.extend=function(){var e,n,s,o,a,i,c=arguments[0]||{},r=1,l=arguments.length,u=!1;for("boolean"==typeof c&&(u=c,c=arguments[r]||{},r++),"object"==typeof c||I(c)||(c={}),r===l&&(c=this,r--);r1?(e.objectType=t[0],e.name=t[1]):e.objectType=e.name}t.isUndefined(e.dependency)&&(e.dependency=[]),t.isUndefined(e.loaded)&&(e.loaded=!0),t.isUndefined(e.active)&&(e.active=!1),t.setObjectPath(t.support.list,e.name,{loaded:e.loaded,active:e.active,objectType:e.objectType,dependency:e.dependency}),e.objectType!==e.name&&t.setObjectPath(t.support,e.objectType+"."+e.name,!0),t.setObjectPath(t.support,e.name,!0),t.support.isActive(e.name)&&t.eachReverse(t.support.hooks,(function(n,s){n.replace(new RegExp("([_])",["g"]),".").includes(e.name)&&t.support.test(n.split(","))&&(t.each(s,(function(e,t){t()})),delete t.support.hooks[n])}))},isLoaded:function(e){return t.getObjectPath(t.support.list,e+".loaded",!1)},isActive:function(e,n){if(t.isUndefined(n)){let t=e.split(".");t.length>1?(n=t[0],e=t[1]):n=e}let s=t.getObjectPath(t.support.list,e+".active",!1),o=t.getObjectPath(t.support.list,"core."+e+".active",!1),a=t.getObjectPath(t.support.list,e.replace(/^(core\.)/,"")+".active",!1),i=t.getObjectPath(t.support.list,n+"."+e+".active",!1);return!!(s||o||a||i)},test:function(e){e=e.sort();let n=!0;return t.each(e,(function(e,s){if(s=s.replace(new RegExp("([_])",["g"]),"."),!t.support.isActive(s)){let e=s.split(".");e.length>1&&t.support.isActive(e[1],e[0])||(n=!1)}})),n},hook:function(e,n,s){if(t.isUndefined(s)&&(s=t.randomId()),t.support.test(e))n();else{let o={};o[s]=n,o=t.extend(t.getObjectPath(t.support.hooks,e.join(",").replace(new RegExp("([.])",["g"]),"_"),{}),o),t.setObjectPath(t.support.hooks,e.join(",").replace(new RegExp("([.])",["g"]),"_"),o)}}},t.constructors={list:{},add:function(e){if(t.isUndefined(e.name))return!1;t.isUndefined(e.dependency)&&(e.dependency=[]),t.isUndefined(e.create)&&(e.create=function(){}),t.isUndefined(e.chains)&&(e.chains={}),t.isUndefined(e.loaded)&&(e.loaded=!0);let n=e.name;t.setObjectPath(t.constructors.list,n+".create",e.create),t.setObjectPath(t.constructors.list,n+".chains",e.chains),t.setObjectPath(t.constructors.list,n+".dependency",e.dependency),t.setObjectPath(t.constructors.list,n+".loaded",e.loaded)},get:function(e){return!t.isUndefined(e)&&t.getObjectPath(t.constructors.list,e,!1)},construct:function(e){if(t.isUndefined(e))return!1;return t.getObjectPath(t.constructors.list,e+".create",!1)()},isLoaded:function(e){return!t.isUndefined(e)&&t.getObjectPath(t.constructors.list,e+".loaded",!1)}},t.support.register({name:"constructors",objectType:"core",active:!0}),t.extend(!0,C,{console:{active:!0,errorReporting:"stats.ksearchnet.com",level:1}}),t.extend(!0,C,{console:{type:{general:!1,ajax:!1,chain:!1,translator:!1,template:!1,event:!1,storage:!1,assets:!1}}}),t.extend({logError:ke,logWarning:Oe,logInfo:je,logDebug:xe,sendImageReportToKlevu:be}),t.support.register({name:"log",objectType:"core",loaded:!0,active:!0,dependency:[]}),t.extend(!0,C,{console:{defaultComponentStatus:!0,components:{}}}),t.extend({logger:{console:"undefined"==typeof console?!t.isUndefined(e.console)&&e.console:console,log:function(e,n,s){if(t.logger.getComponentStatus(e))switch(n){case"error":case"warn":case"info":case"debug":t.getGlobalSetting("console.active",!1)&&t.getGlobalSetting("console.level",0)>=t.logger.levelToNumber(n)&&t.logger.console&&t.isFunction(t.logger.console[n])&&(t.isString(s)&&(s="KLEVU - "+e+" - "+s),t.logger.console[n](s));break;case"imageReport":be(s,"External image report");break;case"imageReportError":Se(s,"External Error");break;default:t.getGlobalSetting("console.active",!1)&&t.logger.console&&t.isFunction(t.logger.console.log)&&t.logger.console.log(s)}},sendReport:Se,levelToNumber:function(e){switch(e){case"error":return 1;case"warn":return 2;case"info":return 3;case"debug":return 4;default:return 0}},setStatus:function(e){t.setObjectPath(C,"console.active",e)},setLevel:function(e){switch(e){case"error":default:t.setObjectPath(C,"console.level",1);break;case"warn":t.setObjectPath(C,"console.level",2);break;case"info":t.setObjectPath(C,"console.level",3);break;case"debug":t.setObjectPath(C,"console.level",4)}},setComponentStatus:function(e,n){return t.setObjectPath(C,"console.component."+e,n)},getComponentStatus:function(e){return t.getGlobalSetting("console.component."+e,t.getGlobalSetting("console.defaultComponentStatus",!1))},setDefaultComponentStatus:function(e){t.setObjectPath(C,"console.defaultComponentStatus",e)}}}),t.logger.log("core.logger","info","activated and set to level "+t.getGlobalSetting("console.level")),t.support.register({name:"logger",objectType:"core",loaded:!0,active:!0,dependency:[]}),t.css=t.pt.css={rawData:function(e){try{this.data=oe(e)}catch(e){return this.data="",t.logger.log("core.css","error","decoding error"),void t.logger.log("core.css","debug",e)}this.insertReplace()},link:function(e,n){D(n)&&(n="kLib-css"),t.dom.helpers.removeElementFromDocument("kLib-css"),t.dom.helpers.addElementToHead({content:e,type:"css-link",name:n})},data:null,origData:null,insertReplace:function(){if(this.data!==this.origData)return t.dom.helpers.removeElementFromDocument("kLib-css"),t.dom.helpers.addElementToHead({content:this.data,type:"css",name:"kLib-css"}),t.logger.log("core.css","debug","inserted/replaced in main document"),t.logger.log("core.css","debug",this.data),this.origData=this.data,!0}},t.support.register({name:"css",objectType:"core",loaded:!0,active:!0,dependency:["core.dom"]}),t.extend(!0,C,{chains:{}}),t.extend({chain:function(e){var n,s={stopOnFalse:!1,singleRun:!1,list:[],fireList:[],queue:[],firingIndex:-1,firing:!1,fired:!1,parameters:{},scope:{},spacer:10,webhook:{run:!1,name:!1,object:!1,scope:"all"}},o="string"==typeof e?s:t.extend(!0,s,e),a=function(){if(o.fired=o.firing=!0,o.webhook.run&&o.webhook.name&&o.webhook.object){let e=t.extend(!0,{},o.webhook);e.action="before",t.event.webhook.runForScopeList({data:o.parameters,scope:o.scope,settings:e})}for(;o.queue.length;o.firingIndex=-1)for(n=o.queue.shift();++o.firingIndex=0&&o.list.splice(n,1,{})}}else R(o.list[t.position])||o.list.splice(t.position,1,{})})),this},move:function(){return t.each(arguments,(function(e,n){if(!D(n.name)){X(n.position)||(n.hasOwnProperty("before")?n.position=c.indexOf(n.before):n.hasOwnProperty("after")&&(n.position=c.indexOf(n.after)+1));var s=c.indexOf(n.name);if(s>=0){var a=t.extend(!0,{},o.list[s]);c.remove({position:s}),o.list.splice(n.position,0,a)}}})),this},fireWith:function(e,n){if(D((n=[e,(n=n||[]).slice?n.slice():n])[1][0])){if(!c.hasData())return t.logger.log("core.chains","warn","Fire - could not complete because no data was set or provided"),this;t.logger.log("core.chains","info","Fire - no data override was set or provided - using set data"),n[1][0]=c.getData(),n[1].length=1,c.hasScope()&&(n[1][1]=c.getScope(),n[1].length++)}else o.parameters=n[1][0],D(n[1][1])||(o.scope=n[1][1]);return t.logger.log("core.chains","debug","Fire - Chain"),t.logger.log("core.chains","debug",c.list()),t.logger.log("core.chains","debug","Fire - with data"),t.logger.log("core.chains","debug",o.parameters),t.logger.log("core.chains","debug","Fire - with scope"),t.logger.log("core.chains","debug",o.scope),o.firing||(o.queue.push(n),i(),o.firingIndex=-1,a()),this},fire:function(){return c.fireWith(this,arguments),this},empty:function(){return o.list&&(o.list=[]),this},fired:function(){return o.fired},stopOnFalse:function(e){return o.stopOnFalse=e,this},hasData:function(){return!R(o.parameters)},setData:function(e){return t.logger.log("core.chains","debug","setData - with data"),t.logger.log("core.chains","debug",e),o.parameters=e,o.fired=!1,this},getData:function(){return o.parameters},hasScope:function(){return!R(o.scope)},setScope:function(e){t.logger.log("core.chains","debug","setScope - with data"),t.logger.log("core.chains","debug",e),o.scope=e,o.fired=!1;let n=t.getObjectPath(o,"scope.webhookSettings",!1);return n&&(o.webhook=t.extend(!0,o.webhook,n)),this},setWebhookSettings:function(e){return e&&(o.webhook=t.extend(!0,o.webhook,e)),this},getWebhookSettings:function(){return o.webhook},getScope:function(){return o.scope},regenerateFireList:i,getOptions:function(){return o},setSingleRun:function(e){o.singleRun=e},options:o,isKlevuChain:!0};return c},chainClone:function(e){var n={list:t.extend(!0,[],e.getOptions().list),parameters:t.extend(!0,{},e.getOptions().parameters),scope:t.extend(!0,{},{}),stopOnFalse:t.extend(!0,{},e.getOptions().stopOnFalse),webhook:t.extend(!0,{},e.getOptions().webhook)},s=t.chain(n);return s.regenerateFireList(),s}}),t.support.register({name:"chains",objectType:"core",loaded:!0,active:!0,dependency:["core.webhook"]});var Pe=Date.now(),Ce={},Ee={},we="*/".concat("*"),Te=o.createElement("a");function De(e,t,n){for(var s,o,a,i,c=e.contents,r=e.dataTypes;"*"===r[0];)r.shift(),void 0===s&&(s=e.mimeType||t.getResponseHeader("Content-Type"));if(s)for(o in c)if(c[o]&&c[o].test(s)){r.unshift(o);break}if(r[0]in n)a=r[0];else{for(o in n){if(!r[0]||e.converters[o+" "+r[0]]){a=o;break}i||(i=o)}a=a||i}if(a)return a!==r[0]&&r.unshift(a),n[a]}function Ue(e,n,s,o){var a,i,c,r,l,u={},d=e.dataTypes.slice();if(d[1])for(c in e.converters)u[c.toLowerCase()]=e.converters[c];for(i=d.shift();i;)if(e.responseFields[i]&&(s[e.responseFields[i]]=n),!l&&o&&e.dataFilter&&(n=e.dataFilter(n,e.dataType)),l=i,i=d.shift())if("*"===i)i=l;else if("*"!==l&&l!==i){if(!(c=u[l+" "+i]||u["* "+i]))for(a in u)if((r=a.split(" "))[1]===i&&(c=u[l+" "+r[0]]||u["* "+r[0]])){!0===c?c=u[a]:!0!==u[a]&&(i=r[0],d.unshift(r[1]));break}if(!0!==c)if(c&&e.throws)n=c(n);else try{n=c(n)}catch(e){return t.logger.log("core.ajax","error","ajaxConvert - can not convert data from "+l+" to "+i),t.logger.log("core.ajax","debug",e.message),{state:"parsererror",error:c?e:"No conversion from "+l+" to "+i}}}return{state:"success",data:n}}function qe(e,n){var s,o,a=t.ajaxSettings.flatOptions||{};for(s in n)void 0!==n[s]&&((a[s]?e:o||(o={}))[s]=n[s]);return o&&t.extend(!0,e,o),e}function Fe(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var s,o=0,a=t.toLowerCase().match(f)||[];if(I(n))for(;s=a[o++];)"+"===s[0]?(s=s.slice(1)||"*",(e[s]=e[s]||[]).unshift(n)):(e[s]=e[s]||[]).push(n)}}function _e(e,n,s,o){var a={},i=e===Ee;function c(r){var l;return a[r]=!0,t.each(e[r]||[],(function(e,t){var r=t(n,s,o);return"string"!=typeof r||i||a[r]?i?!(l=r):void 0:(n.dataTypes.unshift(r),c(r),!1)})),l}return c(n.dataTypes[0])||!a["*"]&&c("*")}Te.href=location.href,t.extend({lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:O.test(location.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":we,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":fe},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,n){return t.logger.log("core.ajax","info","ajaxSetup executed"),t.logger.log("core.ajax","debug","ajaxSetup - target passed"),t.logger.log("core.ajax","debug",e),t.logger.log("core.ajax","debug","ajaxSetup - settings passed"),t.logger.log("core.ajax","debug",n),n?qe(qe(e,t.ajaxSettings),n):qe(t.ajaxSettings,e)},ajaxPrefilter:Fe(Ce),ajaxTransport:Fe(Ee),ajax:function(n,s){"object"==typeof n&&(s=n,n=void 0),s=s||{};var a,i,c,r,l,u,d,p,g,m=t.ajaxSetup({},s),h=m.context||m,v=m.statusCode||{},O={},C={},E="canceled",w={readyState:0,callbacks:{},getResponseHeader:function(e){var t;if(d){if(!r)for(r={};t=k.exec(c);)r[t[1].toLowerCase()]=t[2];t=r[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return d?c:null},setRequestHeader:function(e,t){return null==d&&(e=C[e.toLowerCase()]=C[e.toLowerCase()]||e,O[e]=t),this},overrideMimeType:function(e){return null==d&&(m.mimeType=e),this},statusCode:function(e){var s;if(e)if(d)I(e[w.status])&&(t.logger.log("core.ajax","debug","statusCode - Executed - url "+n),t.logger.log("core.ajax","debug","statusCode - Executed - Status code"+w.status),e[w.status](w.responseObj));else for(s in e)t.logger.log("core.ajax","debug","statusCode - added processor - url "+n),t.logger.log("core.ajax","debug","statusCode - added processor - code "+s),v[s]=[v[s],e[s]];return this},abort:function(e){t.logger.log("core.ajax","warn","Request Abort - url "+n),t.logger.log("core.ajax","warn","Request Abort - status text "+e),t.logger.log("core.ajax","debug","Request Abort - klXHR"),t.logger.log("core.ajax","debug",w);var s=e||E;return a&&a.abort(s),T(0,s),this},requestDetails:m.requestDetails||{}};if(m.url=((n||m.url||location.href)+"").replace(j,location.protocol+"//"),m.type=s.method||s.type||m.method||m.type,m.dataTypes=(m.dataType||"*").toLowerCase().match(f)||[""],null===m.crossDomain){u=o.createElement("a");try{u.href=m.url,u.href=u.href,m.crossDomain=Te.protocol+"//"+Te.host!=u.protocol+"//"+u.host}catch(e){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=t.param(m.data)),_e(Ce,m,s,w),d)return w;for(p in m.type=m.type.toUpperCase(),m.hasContent=!x.test(m.type),i=m.url.replace(S,""),m.hasContent?m.data&&m.processData&&0===(m.contentType||"").indexOf("application/x-www-form-urlencoded")&&(m.data=m.data.replace(b,"+")):(g=m.url.slice(i.length),m.data&&(m.processData||"string"==typeof m.data)&&(i+=(P.test(i)?"&":"?")+m.data,delete m.data),!1===m.cache&&(i=i.replace(y,"$1"),g=(P.test(i)?"&":"?")+"_="+Pe+++g,t.logger.log("core.ajax","debug","Request - ajax call forced to punch cache for url: "+g)),m.url=i+g),m.ifModified&&(t.lastModified[i]&&w.setRequestHeader("If-Modified-Since",t.lastModified[i]),t.etag[i]&&w.setRequestHeader("If-None-Match",t.etag[i])),(m.data&&m.hasContent&&!1!==m.contentType||s.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+we+"; q=0.01":""):m.accepts["*"]),m.headers)w.setRequestHeader(p,m.headers[p]);if(m.beforeSend&&(!1===m.beforeSend.call(h,w,m)||d))return w.abort();if(E="abort",w.callbacks.done=m.done,w.callbacks.success=m.success,w.callbacks.fail=m.error,a=_e(Ee,m,s,w)){if(w.readyState=1,d)return w;m.async&&m.timeout>0&&(l=e.setTimeout((function(){w.abort("timeout")}),m.timeout));try{d=!1,a.send(O,T)}catch(e){if(d)throw e;T(-1,e)}}else T(-1,"No Transport");function T(n,s,o,r){var u,p,g,h=s;d||(d=!0,l&&e.clearTimeout(l),a=void 0,c=r||"",w.readyState=n>0?4:0,u=n>=200&&n<300||304===n,o&&(p=De(m,w,o)),p=Ue(m,p,w,u),u?(m.ifModified&&((g=w.getResponseHeader("Last-Modified"))&&(t.lastModified[i]=g),(g=w.getResponseHeader("etag"))&&(t.etag[i]=g)),204===n||"HEAD"===m.type?h="nocontent":304===n?h="notmodified":(h=p.state,p.data,u=!p.error)):(h,!n&&h||(h="error",n<0&&(n=0))),w.status=n,w.statusText=(s||h)+"",w.responseObj=p,w.isSuccess=u,t.logger.log("core.ajax","info","Request Done - isSuccess - "+w.isSuccess),t.logger.log("core.ajax","debug","Request Done - status - "+w.status),t.logger.log("core.ajax","debug","Request Done - status Text - "+w.statusText),t.logger.log("core.ajax","debug","Request Done - xhr"),t.logger.log("core.ajax","debug",w),u?I(w.callbacks.success)&&w.callbacks.success(w):I(w.callbacks.fail)&&w.callbacks.fail(w),w.statusCode(v),v=void 0,I(w.callbacks.done)&&w.callbacks.done(w))}return w},getJSON:function(e,n,s){return t.get(e,n,s,"json")},getScript:function(e,n){return t.get(e,void 0,n,"script")}}),t.each(["get","post"],(function(e,n){t[n]=function(e,s,o,a){return I(s)&&(a=a||o,o=s,s=void 0),t.ajax(t.extend({url:e,type:n,dataType:a,data:s,success:o},t.isPlainObject(e)&&e))}})),t.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),t.ajaxTransport((function(n){var s,o;if(t.support.isActive("cors")||Le&&!n.crossDomain)return{send:function(a,i){var c,r=n.xhr();if(r.open(n.type,n.url,n.async,n.username,n.password),t.logger.log("core.ajax","debug","ajaxTransport - xhr - send with options: "),t.logger.log("core.ajax","debug",n),n.xhrFields)for(c in n.xhrFields)r[c]=n.xhrFields[c];if(n.mimeType&&r.overrideMimeType&&r.overrideMimeType(n.mimeType),n.crossDomain||a["X-Requested-With"]||(a["X-Requested-With"]="XMLHttpRequest"),!t.getGlobalSetting("flags.skipAPITracking",!1)){const e=t.getGlobalSetting("search.apiKey",t.getGlobalSetting("recs.apiKey",t.getGlobalSetting("analytics.apiKey",t.getGlobalSetting("global.apiKey",!1)))),n=t.version||!1;e&&(a["X-KLEVU-API-KEY"]=e),a["X-KLEVU-INTEGRATION-TYPE"]="jsv2",n&&(a["X-KLEVU-INTEGRATION-VERSION"]=n)}for(c in a)r.setRequestHeader(c,a[c]);s=function(e){return function(){s&&(s=o=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?i(0,"error"):i(r.status,r.statusText):i(Ie[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=s(),o=r.onerror=r.ontimeout=s("error"),void 0!==r.onabort?r.onabort=o:r.onreadystatechange=function(){4===r.readyState&&e.setTimeout((function(){s&&o()}))},s=s("abort");try{r.send(n.hasContent&&n.data||null)}catch(e){if(s)throw e}},abort:function(){s&&s()}}})),t.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return t.logger.log("core.ajax","debug","Core converters - text script - executed for script: "),t.logger.log("core.ajax","debug",e),_(e),e}}}),t.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),t.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Ie={0:200,1223:204},Le=t.ajaxSettings.xhr();t.support.register({name:"cors",objectType:"core",loaded:!0,active:!!Le&&"withCredentials"in Le,dependency:["core.ajax"]}),t.support.register({name:"ajax",objectType:"core",loaded:!0,active:Le=!!Le,dependency:[]}),t.extend(!0,C,{fetchSettings:{url:location.href,method:"GET",processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},success:function(){},done:function(){},error:function(){}}}),t.fetch=t.pt.fetch=function(n,s){n=klevu.extend(!0,klevu.extend(!0,{},klevu.fetchSettings),n);let o={};if(klevu.isUndefined(n.mimeType)||(o={"Content-Type":n.mimeType}),!t.getGlobalSetting("flags.skipAPITracking",!1)){const e=t.getGlobalSetting("search.apiKey",t.getGlobalSetting("recs.apiKey",t.getGlobalSetting("analytics.apiKey",t.getGlobalSetting("global.apiKey",!1)))),n=t.version||!1;e&&(o["X-KLEVU-API-KEY"]=e),o["X-KLEVU-INTEGRATION-TYPE"]="jsv2",n&&(o["X-KLEVU-INTEGRATION-VERSION"]=n)}t.isUndefined(n.extraHeaders)||t.each(n.extraHeaders,(function(e,t){o[e]=t})),o=new Headers(o);let a={method:n.method,headers:o};if("get"===n.method.toLowerCase()){var i=new URL(n.url);if(""!==n.data){var c={q:n.data};Object.keys(c).forEach((function(e,t){i.searchParams.append(t,c[t])}))}n.url=i.toString()}else a.body=n.data;n.crossDomain&&(a.mode="cors");let r=function(t){if(t.ok){var o=null;switch(klevu.isUndefined(n.dataType)?null!=t.headers.get("content-type")&&(-1!==t.headers.get("content-type").indexOf("json")?o="json":-1!==t.headers.get("content-type").indexOf("xml")&&(o="xml")):o=n.dataType.toLowerCase(),o){case"json":t.json().then((function(e){n.success(e,s,t.status,t.ok)}));break;case"xml":t.text().then((function(o){n.success((new e.DOMParser).parseFromString(o,"text/xml"),s,t.status,t.ok)}));break;default:t.text().then((function(e){n.success(e,s,t.status,t.ok)}))}}else n.error(s,t.status,t.ok)};if(t.getGlobalSetting("fetchSettings.fallback",!1))fetch(n.url,a).then((function(e){r(e)}),(function(e){n.error(s,"0",!1)}));else{let e=new Request(n.url,a);fetch(e).then((function(e){r(e)}),(function(e){n.error(s,"0",!1)}))}},t.support.register({name:"fetch",objectType:"core",loaded:!0,active:!0,dependency:[]}),t.extend(!0,C,{request:{type:"FETCH",method:"GET",crossDomain:!1,data:"",success:function(){},done:function(){},error:function(){}}}),t.request=t.pt.request=function(e,n){if(!D(e)){if(D((e=klevu.extend(!0,klevu.extend(!0,{},klevu.settings.request),e)).url))return!1;"fetch"===e.type.toLowerCase()?(delete e.type,klevu.fetch(e,n)):(delete e.type,t.setObjectPath(n,"context.requestDetails",{}),t.setObjectPath(n,"context.requestObject",{}),e.requestDetails=n,klevu.ajax(e))}},t.get=t.pt.get=function(e){e.method="GET",t.request(e)},t.post=t.pt.post=function(e){e.method="POST",t.request(e)},t.support.register({name:"request",objectType:"core",loaded:!0,active:!0,dependency:["core.ajax","core.fetch"]}),t.extend(!0,C,{assets:{support:["template","js","css"]}});var Ae={js:function(e,n){t.dom.helpers.addElementToHead({content:e,type:"js",name:"kfl-"+de()})},css:function(e,n){t.dom.helpers.addElementToHead({content:e,type:"css",name:"kfl-"+de()})},template:function(e,t){klevu.search[t.pbid].getScope().template.setTemplate(e,t.name,!0)}};t.assets=t.pt.assets={getFile:function(n){if(!n.hasOwnProperty("url"))return!1;if(!n.hasOwnProperty("type"))return!1;switch(n.hasOwnProperty("options")||(n.options={}),n.options.url=n.url,n.options.type=n.type,n.options.type){case"css":n.options.mimeType="text/css";break;case"js":n.options.mimeType="text/javascript";break;default:n.options.mimeType="text/plain"}var s={success:function(e,n,s,o){t.logger.log("core.assets","info","getFile - success to load file "+n.url),t.assets.process(e,n),n.hasOwnProperty("successCallback")&&n.successCallback(n)},error:function(e,n,s,o){t.logger.log("core.assets","error","getFile - Fail to load file "+n.url),n.hasOwnProperty("errorCallback")&&n.errorCallback(n)},options:n.options},o={url:n.url,type:"FETCH",method:"GET",mimeType:n.options.mimeType,crossDomain:!0};e.fetch?(o.success=function(e,t,n,s){t.success(e,t.options,n,s)},o.error=function(e,t,n){e.error({},e.options,t,n)}):(o.type="AJAX",o.success=function(e){s.success(e.responseObj.data,e.requestDetails.options,e.status,e.isSuccess)},o.error=function(e){s.error({},e.requestDetails.options,e.status,e.isSuccess)}),t.request(o,s)},process:function(e,n){if(!Ae.hasOwnProperty(n.type))return t.logger.log("core.assets","error","process - Processor does not exist for type "+n.type),!1;Ae[n.type](e,n)},addProcessor:function(e){return!!e.hasOwnProperty("type")&&(!!e.hasOwnProperty("fire")&&void(Ae[e.type]=e.fire))},getProcessors:function(){return Ae}},t.support.register({name:"assets",objectType:"core",loaded:!0,active:!0,dependency:["core.request","core.dom"]}),t.modules={},t.support.hook(["core.constructors"],(function(){t.constructors.isLoaded("core.loader")||(t.constructors.add({name:"core.loader",create:function(){let e={settings:{list:{}},loadModules:function(){let e=this.getUnloadedModules();t.each(e,(function(e,n){t.assets.getFile({url:n.src,type:"jsModule"})}))},getUnloadedModules:function(){let e=[];return t.each(this.settings.list,(function(t,n){n.loaded||(e.push(n),n.loaded=!0)})),e},addModule:function(e){t.getObjectPath(this.settings.list,e.name,!1)||(t.setObjectPath(this.settings.list,e.name,{name:e.name,src:e.src,loaded:!1}),this.loadModules())}},n=t.assets.getProcessors();return t.isUndefined(n.jsModule)&&t.assets.addProcessor({type:"jsModule",fire:function(e,n){return t.assets.getProcessors().js(e,n)}}),e}}),t.support.hook(["core.assets"],(function(){t.support.isActive("analytics.collector")||(t.extend(!0,t.modules,{loader:t.constructors.construct("core.loader")}),t.support.register({name:"core.loader",loaded:!0,active:!0,dependency:["core.assets"]}))})))}));var Re={request:[],response:[],keys:0};t.cache=t.pt.cache=function(){var e={getCache:function(t){var n=e.getCacheKey(t);return n>=0&&Re.response[n]},getCacheKey:function(e){var n=-1;return t.each(Re.request,(function(s,o){if(t.isEqualObj(e,o))return n=s,!1})),n},hasCache:function(t){return-1!==e.getCacheKey(t)},setCache:function(t,n){var s=e.getCacheKey(t);return s>=0?Re.response[s]=n:(Re.request[Re.keys]=t,Re.response[Re.keys]=n,Re.keys++),!0},getAllCache:function(){return Re}};return e},t.support.register({name:"cache",objectType:"core",loaded:!0,active:!0,dependency:[]});var Me={};t.extend({globalDictionaryRepo:Me}),t.dictionary=t.pt.dictionary=function(n){var s={dictionaryMap:{},type:n||"translation",storageType:null,storage:null,cookies:[]};function a(n){t.logger.log("core.dictionary","info","storageTest - testing for storage - "+n);var s="test";try{return e[n].setItem(s,s),e[n].removeItem(s),!0}catch(e){return t.logger.log("core.dictionary","error","storageTest - testing for storage failed - "+n),t.logger.log("core.dictionary","debug",e),!1}}function i(e){return"klv_"+s.type+"_"+e}function c(e){return e.replace(i(""),"")}function r(e){return T(e,i(""))}function l(){for(var e,t=0,n={};(e=s.storage.key(t))&&"undefined"!==e;t++){var o=s.storage.getItem(e);null!==o&&r(e)&&(n[c(e)]=o)}return n}function u(){return null!==s.storage&&s.storage}function d(){return null!==s.storageType&&s.storageType}function p(){return null!==s.storageType}function g(){if(p()){var e=l();if(!t.dataProtection.dataCanBeTracked()&&(t.isUndefined(Me[s.type].klvDataProtected)&&!t.isUndefined(e.klvDataProtected)&&t.toBoolean(e.klvDataProtected)||!t.isUndefined(Me[s.type].klvDataProtected)&&t.toBoolean(Me[s.type].klvDataProtected)))return t.logger.log("core.dictionary","warn","mergeToStorage - storage could not be read because of data protection - "+s.type),!1;ee(e,(function(e,n){try{s.storage.removeItem(i(e))}catch(n){t.logger.log("core.dictionary","error","mergeToStorage - storage could not be removed for key - "+e),t.logger.log("core.dictionary","debug",n),t.logger.sendReport(n,"STORAGE-removeKey-"+i(e))}})),ee(Me[s.type],(function(e,n){try{s.storage.setItem(i(e),n)}catch(n){t.logger.log("core.dictionary","error","mergeToStorage - storage could not re set for key - "+e),t.logger.log("core.dictionary","debug",n),t.logger.sendReport(n,"STORAGE-addKey-"+i(e))}}))}}function m(){if(p()){var e=l();if(!t.dataProtection.dataCanBeTracked()&&(t.isUndefined(Me[s.type].klvDataProtected)&&!t.isUndefined(e.klvDataProtected)&&t.toBoolean(e.klvDataProtected)||!t.isUndefined(Me[s.type].klvDataProtected)&&t.toBoolean(Me[s.type].klvDataProtected)))return t.logger.log("core.dictionary","warn","mergeFromStorage - storage could not be read because of data protection - "+s.type),!1;Me[s.type]=t.extend(!0,Me[s.type],e)}}D(Me[s.type])&&(Me[s.type]={});var h={getGlobal:function(){return m(),Me[s.type]},mergeToGlobal:function(){return Me[s.type]=t.extend(!0,Me[s.type],s.dictionaryMap),g(),this},overrideGlobal:function(){return Me[s.type]=s.dictionaryMap,g(),this},mergeFromGlobal:function(){return m(),s.dictionaryMap=t.extend(!0,s.dictionaryMap,Me[s.type]),this},setElements:function(e){return W(e)?e.length>0&&ee(e,(function(e,t){h.addElement(e,t)})):A(e)&&ee(e,(function(e,t){h.addElement(e,t)})),this},getElements:function(){return s.dictionaryMap},resetElements:function(){return s.dictionaryMap={},this},getElement:function(e){return D(e)?"":(D(s.dictionaryMap[e])||null===s.dictionaryMap[e]||(e=s.dictionaryMap[e]),e)},addElement:function(e,t){return s.dictionaryMap[e]=t,this},removeElement:function(e){return delete s.dictionaryMap[e],this},getAllStorage:l,setStorage:function(n,c){D(c)&&(c=!1);try{var r=!1;if("local"===n&&a("localStorage")?(s.storageType=n,s.storage=e.localStorage,r=!0):c?(t.logger.log("core.dictionary","info","setStorage - storage could not be set to - localStorage - fallback to cookies"),n="cookies"):t.logger.log("core.dictionary","warn","setStorage - storage could not be set to - localStorage - no fallback"),r||("session"===n&&a("sessionStorage")?(s.storageType=n,s.storage=e.sessionStorage):c&&(t.logger.log("core.dictionary","info","setStorage - storage could not be set to - sessionStorage - fallback to cookies"),n="cookiesSession"),t.logger.log("core.dictionary","warn","setStorage - storage could not be set to - sessionStorage - no fallback")),"cookies"===n||"cookiesSession"===n){s.storageType=n,s.storage={getItem:function(e){return e&&this.hasOwnProperty(e)?decodeURI(o.cookie.replace(new RegExp("(?:^|.*;\\s*)"+encodeURI(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"),"$1")):null},key:function(e){var n=o.cookie.replace(/\s*\=(?:.(?!;))*$/,"").split(/\s*\=(?:[^;](?!;))*[^;]?;\s*/);return ee(t.extend(!0,{},n),(function(e,t){-1===t.indexOf(i(""))&&n.splice(n.indexOf(t),1)})),decodeURI(n[e])},setItem:function(e,t){if(e){var n="";if("cookies"===s.storageType){var a=new Date;a.setTime(a.getTime()+6048e5),n=" expires="+a.toUTCString()+";"}o.cookie=encodeURI(e)+"="+encodeURI(t)+";"+n+" path=/";var c=new RegExp(i(""),["g"]);this.length=o.cookie.match(c).length}},length:0,removeItem:function(e){e&&this.hasOwnProperty(e)&&(o.cookie=encodeURI(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",this.length--)},hasOwnProperty:function(e){return new RegExp("(?:^|;\\s*)"+encodeURI(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(o.cookie)}};var l=new RegExp(i(""),["g"]);s.storage.length=o.cookie.match(l).length}p()&&m(),t.logger.log("core.dictionary","info","setStorage - storage set to - "+s.storageType)}catch(e){t.logger.log("core.dictionary","error","setStorage - storage could not be set to - "+n),t.logger.log("core.dictionary","debug",e),t.logger.sendReport(e,"STORAGE-storageSet-"+n)}},getStorage:u,getStorageType:d,hasStorage:p,mergeFromStorage:m,mergeToStorage:g,setDataProtection:function(e){return h.addElement("klvDataProtected",e),this}};return h},t.support.register({name:"dictionary",objectType:"core",loaded:!0,active:!0,dependency:["core.dataProtection"]}),t.extend(!0,C,{currency:{precision:2,grouping:3,decimal:".",thousand:","}}),t.currency=t.pt.currency=function(){var e=t.dictionary("currency"),n={getGlobal:e.getGlobal,mergeToGlobal:e.mergeToGlobal,overrideGlobal:e.overrideGlobal,mergeFromGlobal:e.mergeFromGlobal,setCurrencys:function(e){return A(e)&&ee(e,(function(e,t){n.addCurrency(e,t)})),this},getCurrencys:e.getElements,resetCurrencys:e.resetElements,getCurrency:function(t){var n={};if(D(t))return n;t=Z(t);var s=e.getElement(t);return n=s!==t?s:{code:t,string:t,atEnd:!0,format:"%s%s"}},addCurrency:function(t,n){return n.hasOwnProperty("format")||(n.format="%s%s"),n.hasOwnProperty("atEnd")||(n.atEnd=!1),n.hasOwnProperty("code")||(n.code=t),n.hasOwnProperty("precision")?n.precision=parseInt(n.precision):n.precision=parseInt(C.currency.precision),n.hasOwnProperty("thousand")||(n.thousand=C.currency.thousand),n.hasOwnProperty("decimal")||(n.decimal=C.currency.decimal),n.hasOwnProperty("grouping")?n.grouping=parseInt(n.grouping):n.grouping=parseInt(C.currency.grouping),n.hasOwnProperty("code")&&n.hasOwnProperty("string")&&e.addElement(t,n),this},removeCurrency:e.removeElement,parse:function(e){var t=[].slice.call(arguments,1),n=0;return e.replace(/(%s)/g,(function(){var e="";return D(t[n])||(e=t[n]),n++,e}))},unformatPrice:function(e,t){if("number"!=typeof(e=e||0)){t=t||C.currency.decimal;var n=new RegExp("[^0-9-"+t+"]",["g"]);e=parseFloat((""+e).replace(/\((?=\d+)(.*)\)/,"-$1").replace(n,"").replace(t,".")),e=isNaN(e)?0:e}return e},formatPrice:function(e){var s=arguments,o={precision:C.currency.precision,thousand:C.currency.thousand,decimal:C.currency.decimal,grouping:C.currency.grouping};void 0!==s[1]&&(o=A(s[1])?t.extend(!0,o,s[1]):o);var a=(e=n.unformatPrice(e,o.decimal))<0?"-":"",i=parseInt(Number(Math.round(Number(n.unformatPrice(Math.abs(e||0))+"e"+o.precision))+"e-"+o.precision).toFixed(o.precision),10)+"",c=i.length>o.grouping?i.length%o.grouping:0;return a+(c?i.substr(0,c)+o.thousand:"")+i.substr(c).replace(/(\d{3})(?=\d)/g,"$1"+o.thousand)+(o.precision?o.decimal+Number(Math.round(Number(n.unformatPrice(Math.abs(e))+"e"+o.precision))+"e-"+o.precision).toFixed(o.precision).split(".")[1]:"")},processCurrency:function(e,s){var o=arguments,a=n.getCurrency(e);return void 0!==o[2]&&(a=A(o[2])?t.extend(!0,a,o[2]):a),s=n.formatPrice(s,a),s=a.atEnd?n.parse.apply(null,[a.format,s,a.string]):n.parse.apply(null,[a.format,a.string,s])}};return n},t.support.register({name:"currency",objectType:"core",loaded:!0,active:!0,dependency:["core.dictionary"]}),t.translator=t.pt.translator=function(){var e=!1,n=t.dictionary("translation"),s={getGlobal:n.getGlobal,mergeToGlobal:n.mergeToGlobal,overrideGlobal:n.overrideGlobal,mergeFromGlobal:n.mergeFromGlobal,setTranslations:n.setElements,getTranslations:n.getElements,resetTranslations:n.resetElements,getTranslation:n.getElement,addTranslation:n.addElement,removeTranslation:n.removeElement,parse:function(e){var t=[].slice.call(arguments,1),n=0;return e.replace(/(%s)/g,(function(){var e="";return D(t[n])||(e=t[n]),n++,e}))},translate:function(e){if(0===(e=s.getTranslation(e)).length)return e;if(W(arguments)&&arguments.length>1){var t=arguments;t[0]=e,e=s.parse.apply(null,t)}return e},getCurrencyObject:function(){return e||(e=t.currency())}};return s},t.support.register({name:"translator",objectType:"core",loaded:!0,active:!0,dependency:["core.dictionary","core.currency"]}),t.extend({template:function(e){var n={templateList:{},templateName:{},helpers:{},data:{},translator:null,currency:null,webhook:{run:!1,name:"template",object:!1,scope:"all"},regularExpressions:{}};function s(e,s,o){var a={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},c=/(.)^/,r=/\\|'|\r|\n|\u2028|\u2029/g,l={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"};a=t.extend({},a,o);var u=function(e){return"\\"+l[e]};s=t.extend({},s,a),t.logger.log("core.template","debug","generation - settings used: "),t.logger.log("core.template","debug",s);var d,g=new RegExp([(s.escape||c).source,(s.interpolate||c).source,(s.evaluate||c).source].join("|")+"|$","g"),m=0,h="__out+='";e.replace(g,(function(t,n,s,o,a){return h+=e.slice(m,a).replace(r,u),m=a+t.length,n?h+="'+\n((__temp=("+n+"))==null?'':encodeURIComponent(__temp))+\n'":s?h+="'+\n((__temp=("+s+"))==null?'':__temp)+\n'":o&&(h+="';\n"+o+"\n__out+='"),t})),h+="';\n",s.variable||(h="with(data||{}){\n"+h+"}\n"),h="var __temp,__out='',__joiner=Array.prototype.join,print=function(){__out+=__joiner.call(arguments,'');};\n"+h+"return __out;\n";try{d=new Function(s.variable||"data","dataLocal","helper","scope",h)}catch(e){return e.source=h,t.logger.log("core.template","error","TEMPLATE-renderError - Template failed to compile , Please check template overrides. Template List: "+s.list+" ; Template name: "+s.name),t.logger.log("core.template","debug",h),t.logger.log("core.template","error",e),function(){return""}}var f=function(e,o,a,c){D(c)&&(c=p),D(e)&&c.hasData()&&(e=n.data),D(o)&&(o=e),D(a)&&(a=i());try{return d.call(this,e,o,a,c)}catch(e){return e.source=h,t.logger.log("core.template","error","TEMPLATE-renderError - Template contains logical errors , Please check template overrides. Template List: "+s.list+" ; Template name: "+s.name),t.logger.log("core.template","debug",h),t.logger.log("core.template","error",e),""}},v=s.variable||"data",b="dataLocal",S="helper",y="scope";return f.source="function("+v+","+b+", "+S+", "+y+"){\n"+h+"}",f.list=s.list,f.naming=s.name,f}function a(e,n,s,o,a){D(n)&&(n=p),void 0===s&&n.hasData()&&(s=n.getTemplateSettings().data),D(o)&&(o=s),D(a)&&(a=n.getHelpers());let i="";return t.isUndefined(n.getTemplateSettings().templateList[e])||t.each(n.getTemplateSettings().templateList[e],(function(c,r){let l=r.naming;try{t.isFunction(r)&&(klevu.isUndefined(klevu.getGlobalSetting("global.templateHints"))||"true"!==klevu.getGlobalSetting("global.templateHints")?i+=r(s,o,a,n):i+="
L: "+e+" T:"+l+""+r(s,o,a,n)+"
")}catch(n){throw t.logger.log("core.template","error","TEMPLATE-executionError , Please check template overrides. Template List: "+e+" ; Template name: "+l),t.logger.log("core.template","debug",n),n}})),i}function i(){return n.helpers}function c(e,t){return I(t)&&(n.helpers[e]=t),n.helpers}function r(){return n.translator=t.translator(),c("translator",n.translator),n.translator.mergeFromGlobal(),c("translate",n.translator.translate),c("addTranslation",n.translator.addTranslation),c("getTranslation",n.translator.getTranslation),c("removeTranslation",n.translator.removeTranslation),c("setTranslations",n.translator.setTranslations),n.currency=n.translator.getCurrencyObject(),n.currency.mergeFromGlobal(),c("processCurrency",n.currency.processCurrency),n.translator}function l(){return n.translator}function u(){return l().translate.apply(null,arguments)}function d(e,n,s){var o=e.indexOf("#"),a=-1!==(e=-1===o?e:e.substr(0,o)).indexOf("?")?"&":"?",i=new RegExp("([?&])"+n+"=.*?(&|$)","i"),c={};return c[n]=s,c=t.param(c),e.match(i)?e.replace(i,"$1"+c+"$2"):e+a+c}n=t.extend({},n,e),r(),c("render",a),c("each",t.each),c("buildUrl",d),c("stripHtml",t.dom.helpers.stripHtml),c("escapeHTML",t.dom.helpers.escapeHtml);var p={getTemplateSettings:function(){return n},setTemplateSettings:function(e){return n=e},setTemplate:function(e,o,a,i,c){let r,l;if(t.isPlainObject(e)){if(!klevu.getObjectPath(e,"template",!1)||!klevu.getObjectPath(e,"name",!1))return t.logger.log("core.template","error","setTemplate - When setting a template using a object name and template needs to be defined "),!1;o=klevu.getObjectPath(e,"name",void 0),a=klevu.getObjectPath(e,"decoded",!1),i=klevu.getObjectPath(e,"skipWebhook",!1),c=klevu.getObjectPath(e,"list",!1),r=klevu.getObjectPath(e,"before",!1),l=klevu.getObjectPath(e,"after",!1),e=klevu.getObjectPath(e,"template",void 0)}if(void 0===e||void 0===o)return t.logger.log("core.template","error","setTemplate - When setting a template name and content needs to be defined "),!1;if(!(a=a||!1))try{e=oe(e)}catch(e){return this.data="",t.logger.log("core.template","error","setTemplate - Template decoding error for template name "+o),t.logger.log("core.template","debug",e),!1}c||(c=o),n.templateName[o]=s(e,{list:c,name:o},n.regularExpressions),t.isUndefined(n.templateList[c])&&(n.templateList[c]=[]);let u=!1,d=!1;if(n.templateList[c].length>0&&((r||l)&&(d=!0),t.eachReverse(n.templateList[c],(function(e,t){t.naming===o&&(d?n.templateList[c].splice(e,1):(u=!0,n.templateList[c][e]=n.templateName[o]))})),(r||l)&&t.eachReverse(n.templateList[c],(function(e,t){r&&!u&&t.naming===r&&(u=!0,n.templateList[c].splice(e,0,n.templateName[o])),l&&!u&&t.naming===l&&(u=!0,n.templateList[c].splice(e+1,0,n.templateName[o]))}))),u||n.templateList[c].push(n.templateName[o]),!(i=i||!1)&&n.webhook.run&&n.webhook.name&&n.webhook.object){let s=t.extend(!0,{},n.webhook);s.action="setTemplate",t.event.webhook.runForScopeList({data:{name:o,list:c,source:e},scope:p,settings:s})}return!0},render:a,list:function(){var e=[];return t.each(n.templateName,(function(t,n){R(n)||e.push({name:n.naming,list:n.list,function:n.source})})),e},convertTemplate:function(e){var t=o.createElement("div");return t.innerHTML=Z(e),t.className="klevuWrap",t},insertTemplate:function(e,t){return e.appendChild(t),e},stripHtml:t.dom.helpers.stripHtml,setHelper:c,getHelpers:i,translate:u,getTranslator:l,initTranslator:r,hasData:function(){return!R(n.data)},setData:function(e){return t.logger.log("core.template","debug","setData - with data"),t.logger.log("core.template","debug",e),n.data=e,this},getData:function(){return n.data},setWebhookSettings:function(e){return e&&(n.webhook=t.extend(!0,n.webhook,e)),this},getWebhookSettings:function(){return n.webhook}};return p},templateClone:function(e){var n=t.template(),s=t.extend(!0,{},e.getTemplateSettings());return n.setTemplateSettings(s),n.initTranslator(),n}}),t.support.register({name:"template",objectType:"core",loaded:!0,active:!0,dependency:["core.translator","core.currency","core.logger","core.webhook"]}),t.extend(!0,C,{events:{maxExecutions:100,defaultDelay:0,skipFirstRun:!1}});var Ne={};t.extend({isReady:!1,isInteractive:!1}),t.extend({event:{attach:function(e,t,n,s){"undefined"!=typeof addEventListener?(D(s)&&(s=!1),e.addEventListener(t,n,s)):e.attachEvent("on"+t,n)},detach:function(e,t,n,s){"undefined"!=typeof removeEventListener?(D(s)&&(s=!1),e.removeEventListener(t,n,s)):e.detachEvent("on"+t,n)},fireChain:function(e,n,s,o,a){var i=t.getObjectPath(e,n);if(!t.isUndefined(i)&&0!==i.list().length)return i.setScope(s),i.setData(o),i.fire(),i.getData().preventDefault&&a.preventDefault(),a}}}),t.support.register({name:"event",objectType:"core",loaded:!0,active:!0,dependency:["core.chains"]});var Ge={fireChainAndClear:function(e){e.list().length>0&&e.hasData()&&(e.fire(),e.empty(),e.setData({counter:0,list:[]}))},addToChain:function(e,n){if(I(n)?n={name:t.randomId(),fire:n}:R(n)||n.name||(n.name=t.randomId()),n){if(I(n.fire)){var s=n.fire;n.fire=function(e,t){s.call(this,e.list[e.counter],t),e.counter++}}e.add(n);var o=e.getData();n.data||(n.data={}),o.list.push(n.data),e.setData(o)}},initChain:function(){var e=t.chain();return e.setData({counter:0,list:[]}),e},events:{completedEvent:function(e){t.logger.log("core.event","debug","startInterface - completedEvent - "+o.readyState),"load"===e.type||"complete"===o.readyState?(Ge.events.detachEvent(),Ge.interactiveFire(),Ge.readyFire()):"interactive"===o.readyState&&Ge.interactiveFire()},detachEvent:function(){t.logger.log("core.event","debug","startInterface - detachEvent - "+o.readyState),o.addEventListener?(o.removeEventListener("DOMContentLoaded",Ge.events.completedEvent,!1),e.removeEventListener("load",Ge.events.completedEvent,!1)):(o.detachEvent("onreadystatechange",Ge.events.completedEvent),e.detachEvent("onload",Ge.events.completedEvent))}},readyFire:function(){if(!o.body)return setTimeout(Ge.readyFire);t.logger.log("core.event","debug","readyFire - "+o.readyState+" - isReady - "+t.isReady),t.isInteractive=!0,t.isReady=!0,Ge.fireChainAndClear(C.chains.readyChain)},interactiveFire:function(){if(t.logger.log("core.event","debug","interactiveFire - "+o.readyState+" - isReady - "+t.isReady),!o.body)return setTimeout(Ge.interactiveFire);t.isInteractive=!0,Ge.fireChainAndClear(C.chains.interactiveChain)},interactivePromise:function(e){t.logger.log("core.event","debug","interactivePromise - "+o.readyState+" - isReady - "+t.isReady),"interactive"===o.readyState&&(t.isInteractive=!0),C.chains.interactiveChain||(C.chains.interactiveChain=Ge.initChain()),Ge.addToChain(C.chains.interactiveChain,e),t.isInteractive&&Ge.fireChainAndClear(C.chains.interactiveChain)},readyPromise:function(n){if(t.logger.log("core.event","debug","readyPromise - "+o.readyState+" - isReady - "+t.isReady),!C.chains.readyChain)if(C.chains.readyChain=Ge.initChain(),"complete"===o.readyState)setTimeout(Ge.readyFire);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",Ge.events.completedEvent,!1),e.addEventListener("load",Ge.events.completedEvent,!1);else{o.attachEvent("onreadystatechange",Ge.events.completedEvent),e.attachEvent("onload",Ge.events.completedEvent);var s=!1;try{s=null===e.frameElement&&o.documentElement}catch(e){}s&&s.doScroll&&function e(){if(!t.isReady){t.logger.log("core.event","debug","doScrollCheck - "+o.readyState+" - isReady - "+t.isReady);try{s.doScroll("left")}catch(t){return setTimeout(e,50)}Ge.events.detachEvent(),Ge.readyFire()}}()}Ge.addToChain(C.chains.readyChain,n),t.isReady&&Ge.fireChainAndClear(C.chains.readyChain)}};t.extend({ready:function(e){Ge.readyPromise(e)},interactive:function(e){Ge.interactivePromise(e)}}),t.support.register({name:"ready",objectType:"core",loaded:!0,active:!0,dependency:["core.chains"]}),t.support.register({name:"interactive",objectType:"core",loaded:!0,active:!0,dependency:["core.chains"]}),t.extend({coreEvent:{build:function(e){if(e.maxCount=e.maxCount||C.events.maxExecutions,e.delay=e.delay||C.events.defaultDelay,e.skipFirstRun=e.skipFirstRun||C.events.skipFirstRun,D(e.name)||D(e.fire)||!I(e.fire))return!1;Ne[e.name]={fire:e.fire,counter:0,delay:e.delay,maxCount:e.maxCount,skipFirstRun:e.skipFirstRun},t.coreEvent.promise(name)},attach:function(e,n){if(D(e)||D(Ne[e]))return!1;t.coreEvent.promise(e,n)},promise:function(e,n){if(D(e)||D(Ne[e]))return!1;t.logger.log("core.event","debug","Custom Event - promise - "+e),C.chains[e+"Chain"]||(C.chains[e+"Chain"]=Ge.initChain(),setTimeout(t.coreEvent.fire.bind(t,e),Ne[e].delay)),Ge.addToChain(C.chains[e+"Chain"],n),Ne[e].skipFirstRun||!0===Ne[e].fire.call(t)&&t.coreEvent.fire(e)},fire:function(e){return!D(e)&&!D(Ne[e])&&(Ne[e].counter>=Ne[e].maxCount?(t.logger.log("core.event","info","Custom Event - fire max executions reached - "+e),!1):(Ne[e].counter++,void(!0===Ne[e].fire.call(t)?(t.logger.log("core.event","debug","Custom Event - fire success - "+e+" - execute chain "),Ge.fireChainAndClear(C.chains[e+"Chain"]),Ne[e].counter=0):(t.logger.log("core.event","debug","Custom Event - fire fail - "+e+" - schedule in "+Ne[e].delay),setTimeout(t.coreEvent.fire.bind(t,e),Ne[e].delay)))))}}}),t.support.register({name:"coreEvent",objectType:"core",loaded:!0,active:!0,dependency:["core.chains"]}),t.extend(!0,{event:{eventList:{build:function(n){function s(){let e=Object.create(Array.prototype);for(key in Object.defineProperty(e,"length",{value:0,enumerable:!1,writable:!0}),e.chain=t.chain({stopOnFalse:!0}),arguments)e[key]=arguments[key],e.length+=1;e.run=function(){let e={action:"run",element:this},n=this.chain;t.isUndefined(n)||0===n.list().length||(n.getOptions().firing?setTimeout(this.run.bind(this),0):(n.setScope(this),n.setData(e),n.fire()))},e.remove=function(e){const t=this.indexOf(e);return t>-1&&(this.splice(t,1),!0)};try{e.push=function(e){return this[this.length]=e,this.length++,this.run(),1},e.pop=function(){this.length--;const e=this[this.length];return delete this[this.length],e},e.filter=function(e){let t=[];for(let n in this)if(this.hasOwnProperty(n)){const s=this[n];e(s,n)&&t.push(s)}return t}}catch(e){t.logger.log("core.eventList","error","Array Object Creation Failed"),t.logger.log("core.eventList","debug",e),t.logger.sendReport(e,"Array Object Creation")}return e}n.hasOwnProperty("name")||(n.name="klv"+t.randomFunctionName()),n.hasOwnProperty("global")||(n.global=!1);let o=s();if(t.event.eventList.list[n.name]=o,n.global)if(t.isUndefined(e))t.logger.log("core.eventList","error","Array Object Creation can not link to window as no window is found");else{let s=t.isUndefined(e[n.name])?[]:e[n.name];s.length>0&&t.each(s,(function(e,t){o.push(t)})),e[n.name]=o}return o},getByName:function(e){return t.getObjectPath(t.event.eventList.list,e,!1)?t.getObjectPath(t.event.eventList.list,e):t.event.eventList.build({name:e})},hasByName:function(e){return t.getObjectPath(t.event.eventList.list,e,!1)},list:{}}}}),t.support.register({name:"eventList",objectType:"core",loaded:!0,active:!0,dependency:["core.chains"]}),t.extend(!0,{event:{webhook:{build:function(e){function n(){let n={settings:{singleRun:!1}};return n.chain=t.chain({stopOnFalse:!1}),n.setSingleRun=function(e){this.settings.singleRun=e,this.chain.setSingleRun(!0)},n.addListener=function(e){let n=t.randomFunctionName();return this.chain.add({name:n,fire:e}),n},n.removeListener=function(e){return this.chain.remove({name:e}),!0},n.run=function(n,s){(t.isUndefined(n)||t.isEmptyObject(n))&&(n={action:"run",element:this}),(t.isUndefined(s)||t.isEmptyObject(s))&&(s=this),t.logger.log("core.webhook","debug","run - settings used: "),t.logger.log("core.webhook","debug",e),t.logger.log("core.webhook","debug","run - data/scope used: "),t.logger.log("core.webhook","debug",n),t.logger.log("core.webhook","debug",s);let o=this.chain;t.isUndefined(o)||0===o.list().length||(o.setScope(s),o.setData(n),o.fire())},n}e.hasOwnProperty("name")||(e.name=t.randomFunctionName()),e.hasOwnProperty("object")||(e.object="klevu"),e.hasOwnProperty("scope")||(e.scope="all"),e.hasOwnProperty("action")||(e.action="all"),t.logger.log("core.webhook","debug","build - settings used: "),t.logger.log("core.webhook","debug",e);let s=n();return t.setObjectPath(t.event.webhook.list,e.object+"."+e.name+"."+e.action+"."+e.scope,s),s},setAsSingleRun:function(e){t.setSetting(t.settings,"flags.webhook.singleRun."+e.object+"."+e.name+"."+e.action+"."+e.scope,!0),t.event.webhook.getWebhook(e).setSingleRun(!0)},isSingleRun:function(e){return t.getGlobalSetting("flags.webhook.singleRun."+e.object+"."+e.name+"."+e.action+"."+e.scope,!1)},hasWebhook:function(e){return!!e.hasOwnProperty("name")&&(!!e.hasOwnProperty("object")&&(!!e.hasOwnProperty("scope")&&(!!e.hasOwnProperty("action")&&!!t.getObjectPath(t.event.webhook.list,e.object+"."+e.name+"."+e.action+"."+e.scope,!1))))},getWebhook:function(e){return t.event.webhook.hasWebhook(e)?t.getObjectPath(t.event.webhook.list,e.object+"."+e.name+"."+e.action+"."+e.scope,!1):t.event.webhook.build(e)},attach:function(e){e.hasOwnProperty("scope")||(e.scope="all"),e.hasOwnProperty("fire")||(e.fire=function(e,t){}),t.logger.log("core.webhook","debug","attach - settings used: "),t.logger.log("core.webhook","debug",e);let n=e.scope.split(",");t.each(n,(function(n,s){var o={name:e.name,object:e.object,scope:s.trim(),action:e.action};let a=t.event.webhook.getWebhook(o);a.addListener(e.fire),t.event.webhook.isSingleRun(o)&&a.run()}))},runForScopeList:function(e){let n=e.scope,s=e.data,o=e.settings;t.logger.log("core.webhook","debug","runForScopeList - webhook run for settings"),t.logger.log("core.webhook","debug",o),t.getObjectPath(e.settings,"singleRun",!1)&&t.event.webhook.setAsSingleRun(e.settings);var a=o.scope.split(",");t.eachReverse(a,(function(e,a){if(o.scope=a,t.event.webhook.hasWebhook(o)){t.event.webhook.getWebhook(o).run(s,n)}}))},buildEventList:function(){t.event.eventList.build({name:"_klvWebhook",global:!0}),t.event.eventList.getByName("_klvWebhook").chain.add({name:"moveToWebhook",fire:function(e,n){if(e.element.length>0){let n=[];t.each(e.element,(function(e,s){let o={},a=!0;if(t.getObjectPath(s,"name",!1)?o.name=t.getObjectPath(s,"name"):(a=!1,t.logger.log("core.webhook","warn","_klvWebhook - missing name: "+s)),t.getObjectPath(s,"object",!1)?o.object=t.getObjectPath(s,"object"):(a=!1,t.logger.log("core.webhook","warn","_klvWebhook - missing object: "+s)),t.getObjectPath(s,"scope",!1)&&(o.scope=t.getObjectPath(s,"scope")),t.getObjectPath(s,"action",!1)?o.action=t.getObjectPath(s,"action"):(a=!1,t.logger.log("core.webhook","warn","_klvWebhook - missing action: "+s)),t.getObjectPath(s,"fire",!1)?o.fire=t.getObjectPath(s,"fire"):(a=!1,t.logger.log("core.webhook","warn","_klvWebhook - missing function to execute: "+s)),t.event.webhook){if(a&&(t.event.webhook.attach(o),t.event.webhook.isSingleRun(o))){let e=t.event.webhook.getWebhook({name:o.name,object:o.object,scope:o.scope,action:o.action});e.setSingleRun(!0),e.run()}n.push(s)}})),n.length>0&&t.each(n,(function(t,n){e.element.remove(n)}))}}}),t.event.eventList.getByName("_klvWebhook").run(),t.event.eventList.build({name:"_klvReady",global:!0}),t.event.eventList.getByName("_klvReady").chain.add({name:"moveToWebhook",fire:function(e,n){if(e.element.length>0){let n=[],s=t.event.eventList.getByName("_klvWebhook");t.each(e.element,(function(e,o){t.isFunction(o)?(s.push({object:"core",scope:"all",name:"framework",action:"init",fire:o}),n.push(o)):(t.logger.log("core.webhook","warn","_klvReady - missing function to execute "),t.logger.log("core.webhook","debug",o))})),n.length>0&&t.each(n,(function(t,n){e.element.remove(n)}))}}}),t.event.eventList.getByName("_klvReady").run()},list:{},helpers:{setWebhookSettingsForScope:function(e,n){return e&&(n.webhookSettings=t.extend(!0,n.webhookSettings,e)),n},getWebhookSettingsForScope:function(e){return e.webhookSettings},fireEventForScope:function(e){let n=t.extend(!0,{},e.webhookSettings);n.name=e.name,n.action=e.action,t.event.webhook.runForScopeList({data:e.data,scope:e.scope,settings:n})}}}}}),t.extend(!0,{modifyRequest:function(e,n,s,o){let a="chains.request.build",i="after";if(t.isUndefined(o)&&(o="search"),t.isUndefined(s)&&(s=""),t.isUndefined(e)&&(e="all"),"object"==typeof e)try{if(a=t.getObjectPath(e,"chain",a),i=t.getObjectPath(e,"action",i),o=t.getObjectPath(e,"object",o),!t.isUndefined(e.callback)&&t.isFunction(e.callback))n=t.getObjectPath(e,"callback",n);else{if(t.isUndefined(e.entity)||!t.isString(e.entity))return t.logger.log("core.webhook","error","modifyQuery - Could not attach webhook via klevu.modifyQuery because either a callback or setting+value were not supplied via the object. "),void t.logger.log("core.webhook","debug",e);n=t.getObjectPath(e,"entity",n),s=t.getObjectPath(e,"value",s)}e=t.getObjectPath(e,"scope","all")}catch(e){t.logger.log("core.webhook","error","modifyQuery - Problem trying to set the webhook settings via object. "),t.logger.log("core.webhook","debug",e)}if(t.isUndefined(n))n=function(e,t){};else if(t.isString(n)){var c={path:n,value:s};n=function(e,n){var s=t.getObjectPath(e,"localOverrides.query."+c.path,void 0);if(t.isUndefined(s)||"object"!=typeof c.value)t.setObjectPath(e,"localOverrides.query."+c.path,c.value);else{var o={};c.value.length&&(o=[]);var a=t.extend(1,o,s,c.value);t.setObjectPath(e,"localOverrides.query."+c.path,a)}}}t.event.webhook.attach({object:o,scope:e,name:a,action:i,fire:n})},modifyResponse:function(e,n,s,o,a){t.isUndefined(s)&&(s="search"),t.isUndefined(n)&&(n=function(e,t){}),t.isUndefined(e)&&(e="all"),t.isUndefined(a)&&(a="chains.template.process.success"),t.isUndefined(o)&&(o="before"),t.event.webhook.attach({object:s,scope:e,name:a,action:o,fire:n})},afterTemplateRender:function(e,n,s,o,a){t.isUndefined(o)&&(o="search"),t.isUndefined(n)&&(n=function(e,t){}),t.isUndefined(e)&&(e="all"),t.isUndefined(s)&&(s="chains.template.events"),t.isUndefined(a)&&(a="after"),t.event.webhook.attach({object:o,scope:e,name:s,action:a,fire:n})},beforeActivation:function(e,n,s,o,a){t.isUndefined(o)&&(o="search"),t.isUndefined(n)&&(n=function(e,t){}),t.isUndefined(e)&&(e="all"),t.isUndefined(a)&&(a="mainObject"),t.isUndefined(s)&&(s="beforeInit"),t.event.webhook.attach({object:o,scope:e,name:a,action:s,fire:n})}}),t.event.webhook.buildEventList(),t.support.register({name:"webhook",objectType:"core",loaded:!0,active:!0,dependency:["core.chains"]}),t.extend({dom:{find:function(n,s){return D(s)&&(s=e.document),t.isString(s)&&""!==s&&(s=e.document.getElementById(s)),t.dom.helpers.isHTMLNode(s)||(s=e.document),s.querySelectorAll?s.querySelectorAll(n):o.querySelectorAll(s.id+" "+n)},getFirst:function(n,s){D(s)&&(s=e.document);var o=t.dom.find(n,s);return o.length>0?o[0]:o},helpers:{isHTMLNode:function(e){return"object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},querySelectorAll:o.querySelectorAll,getClosest:function(e,t){for(;e&&e!==o;e=e.parentNode)if(e.matches(t))return e;return null},addElementToHead:function(e){var t;D(e)||("css"===e.type?((t=o.createElement("style")).type="text/css",t.id=e.name,t.styleSheet?t.styleSheet.cssText=e.content:t.appendChild(o.createTextNode(e.content))):"js"===e.type?((t=o.createElement("script")).type="text/javascript",t.id=e.name,t.appendChild(o.createTextNode(e.content))):"css-link"===e.type&&((t=o.createElement("link")).setAttribute("rel","stylesheet"),t.setAttribute("type","text/css"),t.id=e.name,t.setAttribute("href",e.content)),D(t)||o.getElementsByTagName("head")[0].appendChild(t))},removeElementFromDocument:function(e){var t=o.getElementById(e);!D(t)&&t&&t.parentNode.removeChild(t)},addElementToParent:function(t,n,s){(D(t)||null===t)&&(t=e.document.body);var a=o.createElement(n);for(var i in s)s.hasOwnProperty(i)&&a.setAttribute(i,s[i]);return t.appendChild(a),a},getHTML:function(e,n,s){var o=t.dom.find(e,n);if(D(s)&&(s=0),!X(s)&&Y(s)&&""!==s)switch(s){case"first":default:s=0;break;case"last":s=o.length-1}return X(s)&&t.dom.helpers.isHTMLNode(o[s])?o[s].innerHTML:""},convertHtmlToText:function(e){var t=o.createElement("div");return t.innerHTML=e,e=t.textContent},stripHtml:function(e){return e=e.replace(/(<([^>]+)>)/gi,"")},escapeHtml:function(e){if(e&&e.length){var t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(e).replace(/[&<>"'`=\/]/g,(function(e){return t[e]}))}return e}}}}),t.support.register({name:"dom",objectType:"core",loaded:!0,active:!0,dependency:[]}),t.time={timestamp:function(){return Math.floor(Date.now()/1e3)},microTime:function(){return Math.floor(Date.now())}},t.support.register({name:"time",objectType:"core",loaded:!0,active:!0,dependency:[]}),t.rebuild={},t.extend({md:{parser:function(e){let t=function(e){return e.replace(//g,">")};return klevu.isString(e)?(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/\n(.+?)\n.*?\-\-\s?\|\s?\-\-.*?\n([\s\S]*?)\n\s*?\n/g,(function(e,t,n){var s=t.replace(/^\|(.+)/gm,"$1").replace(/(.+)\|$/gm,"$1").replace(/\|/g,""),o=n.replace(/^\|(.+)/gm,"$1").replace(/(.+)\|$/gm,"$1");return"\n\n\n\n"+(o=o.replace(/(.+)/gm,"").replace(/\|/g,"
"+s+"\n
$1
"))+"\n
\n\n"}))).replace(/^-{3,}|^\_{3,}|^\*{3,}$/gm,"
").replace(/\n\n/g,"\n

")).replace(/^##### (.*?)\s*#*$/gm,"
$1
").replace(/^#### (.*?)\s*#*$/gm,"

$1

").replace(/^### (.*?)\s*#*$/gm,"

$1

").replace(/^## (.*?)\s*#*$/gm,"

$1

").replace(/^# (.*?)\s*#*$/gm,"

$1

").replace(/^(.*?)\s*{(.*)}\s*<\/h\d\>$/gm,'$2')).replace(/``(.*?)``/gm,(function(e,n){return""+t(n).replace(/`/g,"`")+""}))).replace(/`(.*?)`/gm,"$1")).replace(/^\>\> (.*$)/gm,"
$1
")).replace(/^\> (.*$)/gm,"
$1
")).replace(/<\/blockquote\>\n/g,"\n
")).replace(/<\/blockquote\>\n/g,"\n
")).replace(/!\[(.*?)\]\((.*?) "(.*?)"\)/gm,'$1')).replace(/!\[(.*?)\]\((.*?)\)/gm,'$1')).replace(/\[(.*?)\]\((.*?) "new"\)/gm,'$1')).replace(/\[(.*?)\]\((.*?) "(.*?)"\)/gm,'$1')).replace(/([<\s])(https?\:\/\/.*?)([\s\>])/gm,'$1$2$3')).replace(/\[(.*?)\]\(\)/gm,'$1')).replace(/\[(.*?)\]\((.*?)\)/gm,'$1')).replace(/^[\*+-][ .](.*)/gm,"
  • $1
")).replace(/^\d\d?[ .](.*)/gm,"
  1. $1
")).replace(/^\s{2,6}[\*+-][ .](.*)/gm,"
    • $1
")).replace(/^\s{2,6}\d[ .](.*)/gm,"
    1. $1
")).replace(/<\/[ou]l\>\n\n?<[ou]l\>/g,"\n")).replace(/<\/[ou]l\>\n<[ou]l\>/g,"\n")).replace(/\*\*\*(\w.*?[^\\])\*\*\*/gm,"$1")).replace(/\*\*(\w.*?[^\\])\*\*/gm,"$1")).replace(/\*(\w.*?[^\\])\*/gm,"$1")).replace(/___(\w.*?[^\\])___/gm,"$1")).replace(/__(\w.*?[^\\])__/gm,"$1")).replace(/\^\^\^(.+?)\^\^\^/gm,"$1")).replace(/\^\^(\w.*?)\^\^/gm,"$1")).replace(/~~(\w.*?)~~/gm,"$1")).replace(/ \n/g,"\n
").replace(/\n\s*\n/g,"\n

\n")).replace(/^ {4,10}(.*)/gm,(function(e,n){return"

"+t(n)+"
"}))).replace(/^\t(.*)/gm,(function(e,n){return"
"+t(n)+"
"}))).replace(/<\/code\><\/pre\>\n/g,"\n")).replace(/\\([`_~\*\+\-\.\^\\\<\>\(\)\[\]])/gm,"$1"):""}}}),t.support.register({name:"markdown",objectType:"core",loaded:!0,active:!0,dependency:[]}),t.dataProtection=t.pt.dataProtection={consentSettings:t.dictionary("consent"),hasUseConsent:function(){return!t.isUndefined(t.getGlobalSetting("dataProtection.useConsent"))},getUseConsent:function(){return t.toBoolean(t.getGlobalSetting("dataProtection.useConsent",!1))},getUseConsentStorage:function(){var e=t.dataProtection.consentSettings.getElement("useConsent");return"useConsent"===e&&(e=!1),t.toBoolean(e)},setUseConsent:function(e,n){t.isUndefined(n)&&(n=t.settings),t.setObjectPath(n,"dataProtection.useConsent",t.toBoolean(e)),t.dataProtection.consentSettings.addElement("useConsent",t.toBoolean(e)),t.dataProtection.saveConsentSettings()},hasConsentState:function(){return!t.isUndefined(t.getGlobalSetting("dataProtection.consentState"))},getConsentState:function(){return t.toBoolean(t.getGlobalSetting("dataProtection.consentState",!1))},getConsentStateStorage:function(){var e=t.dataProtection.consentSettings.getElement("consentState");return"consentState"===e&&(e=!1),t.toBoolean(e)},setConsentState:function(e,n){t.isUndefined(n)&&(n=t.settings),!1!==t.toBoolean(e)&&t.setObjectPath(n,"dataProtection.useConsent",t.toBoolean(e)),t.dataProtection.consentSettings.addElement("consentState",t.toBoolean(e)),t.dataProtection.saveConsentSettings()},dataCanBeTracked:function(){return!t.dataProtection.hasUseConsent()||(!t.dataProtection.getUseConsent()||!!t.dataProtection.hasConsentState()&&t.toBoolean(t.dataProtection.getConsentState()))},saveConsentSettings:function(){var e=t.dataProtection.consentSettings;e.addElement("useConsent",t.dataProtection.getUseConsent()),e.addElement("consentState",t.dataProtection.getConsentState()),e.mergeToGlobal()},loadConsentSettings:function(e){var n=t.dataProtection.consentSettings;n.setStorage("local"),n.mergeFromGlobal();var s=n.getElement("useConsent");"useConsent"===s&&(s=t.dataProtection.getUseConsent());var o=n.getElement("consentState");"consentState"===o&&(o=t.dataProtection.getConsentState()),t.setObjectPath(e,"dataProtection.useConsent",t.toBoolean(s)),t.setObjectPath(e,"dataProtection.consentState",t.toBoolean(o))}},t.support.register({name:"dataProtection",objectType:"core",loaded:!0,active:!0,dependency:["core.dictionary","core.chains"]}),n(),D(e.klevu)?(t.logger.log("core.general","debug","library was loaded on the page. Fire reinitialising chain. Fire global klevuInit "),e.klevu=t,t.reInitialize(),"function"==typeof e.klevuInit&&klevuInit()):(t.logger.log("core.general","error","library already loaded on the page, stopping the redefinition of it . Fire reinitialising chain."),t.reInitialize());t.support.register({name:"lib",objectType:"core",loaded:!0,active:!0,dependency:[]})}(e)}("undefined"!=typeof window?window:this)}catch(e){(new Image).src="//stats.ksearchnet.com/error-log?type=jsv2&c=initError&m="+encodeURIComponent('{"error":"LOAD","extra": {"name":"'+e.name+'","line":"'+(e.lineNumber||e.line)+'","script":"'+(e.fileName||e.sourceURL||e.script)+'","stack":"'+(e.stackTrace||e.stack)+'","namespace":"kLib","message":"'+e.message+'"}}'),console.log(e)}klevu.settings.chains.initChain.add({name:"dataProtectionLoad",fire:function(e,t){klevu.getObjectPath(e,"flags.dataProtection.loaded",!1)||(klevu.dataProtection.loadConsentSettings(e),klevu.setObjectPath(e,"flags.dataProtection.loaded",!0))}}),klevu.settings.chains.initChain.add({name:"dataProtectionCheck",fire:function(e,t){var n=klevu.getObjectPath(e,"dataProtection.useConsent");klevu.isUndefined(n)||klevu.toBoolean(n)===klevu.toBoolean(klevu.dataProtection.getUseConsentStorage())||klevu.dataProtection.setUseConsent(n,e);var s=klevu.getObjectPath(e,"dataProtection.consentState");klevu.isUndefined(s)||klevu.toBoolean(s)===klevu.toBoolean(klevu.dataProtection.getConsentStateStorage())||klevu.dataProtection.setConsentState(s,e)}}),klevu({flags:{global:{libLoaded:!0}}}),klevu.event.webhook.runForScopeList({data:{},scope:{},settings:{name:"framework",object:"core",scope:"all",action:"init",singleRun:!0}}),klevu.interactive((function(){klevu({flags:{global:{libInteractive:!0}}})})),function(e){var t={markAllResourcesLoaded:function(){e.search.modules.kmcInputs.hasAllResourcesLoadedJson=!0,e.support.hook(["core.logger"],(function(){e.logger.log("kmc.core","debug","Data ready to be used")})),"function"==typeof klevu_processKMCInputData&&klevu_processKMCInputData();e({kmc:{loaded:!0}})},loadCallBack:function(t,n){var s=e.getObjectPath(e.search,"modules.kmcInputs.kmcDictionary"),o=s.getElement(n.apiKey);if(e.isUndefined(t.klevu_banner)||(t.klevu_banner=e.search.modules.kmcInputs.base.removeIneligibleBanners(t.klevu_banner)),e.isUndefined(t.klevu_autoCorrectMap)||(t.klevu_autoCorrectMap=e.search.modules.kmcInputs.base.sortAutocorrectMap(t.klevu_autoCorrectMap)),(o=o===n.apiKey?t:e.extend(!0,JSON.parse(o),t)).timeOfLoad=e.time.timestamp(),s.addElement(n.apiKey,JSON.stringify(o)),s.overrideGlobal(),e.search.modules.kmcInputs.loadCounter===n.totalToLoad){var a=e.getObjectPath(e.search,"modules.kmcInputs.kmcData");e.isUndefined(a)&&(e.search.modules.kmcInputs.kmcData=JSON.parse(s.getElement(n.apiKey))),e.search.modules.kmcInputs.base.markAllResourcesLoaded()}},loadKmcData:function(t){e.search.modules.kmcInputs.resourceLoadInitiatedJson=!0,e.search.modules.kmcInputs.loadCounter=0;var n=e.getObjectPath(e.search,"modules.kmcInputs.kmcDictionary");n.removeElement(t),n.overrideGlobal();var s=e.getSetting(e.settings,"settings.url.kmcData");s&&s.length||(s="https://js.klevu.com/klevu-js-v1/klevu-js-api/");var o=[{id:t,src:s+t+".json"},{id:t+"-banner",src:s+t+"-banner.json"},{id:t+"-maps",src:s+t+"-maps.json"}];o.forEach((function(n){var s={url:n.src,type:"json",mimeType:"application/json",apiKey:t,totalToLoad:o.length},a={success:function(t,n,s,o){e.search.modules.kmcInputs.loadCounter++,e.search.modules.kmcInputs.base.loadCallBack(t,n)},error:function(t,n,s,o){e.search.modules.kmcInputs.loadCounter++,e.search.modules.kmcInputs.base.loadCallBack(t,n)},options:s},i={url:s.url,type:"FETCH",method:"GET",mimeType:s.mimeType,crossDomain:!0,success:function(e,t,n,s){t.success(e,t.options,n,s)},error:function(e,t,n){e.error({},e.options,t,n)}};e.request(i,a)}))},removeIneligibleBanners:function(e){if(e.length>0){var t,n,s=new Date,o=!1;s.setHours(0,0,0,0);for(var a=0;as||ns,o&&(e.splice(a,1),a--)}return e},sortAutocorrectMap:function(e){var t,n,s=0,o=0,a=0,i=0,c=0;for(o=0,t=e.length;oklevu.time.timestamp()&&(l=!1),klevu.setObjectPath(klevu.search,"modules.kmcInputs.kmcData",r),klevu.support.hook(["core.logger"],(function(){klevu.logger.log("kmc.core","info","KMC data loaded from cache")}));if(l){var u=klevu.getObjectPath(klevu.search,"modules.kmcInputs.resourceLoadInitiatedJson");(klevu.isUndefined(u)||!1===u)&&(klevu.search.modules.kmcInputs.base.loadKmcData(n),klevu.support.hook(["core.logger"],(function(){klevu.logger.log("kmc.core","info","File loading started")})))}else klevu.support.hook(["core.logger"],(function(){klevu.logger.log("kmc.core","info","File loading skipped")})),klevu.search.modules.kmcInputs.base.markAllResourcesLoaded()}}}),function(e){e.extend({searchEvents:{functions:{}}}),e.extend(!0,e.searchEvents,{general:{documentClick:function(t){if(t=t||window.event,e.isUndefined(t.target)||!e.isUndefined(t.target.kObject))return t;e.support.hook(["core.logger"],(function(){e.logger.log("search.event","info","documentClick - executed"),e.logger.log("search.event","debug",t)}));var n={event:t,preventDefault:!1};return e.event.fireChain(e.settings.chains,"documentClick",this,n,t),t},documentScroll:function(t){if(t=t||window.event,e.isUndefined(t.target)||!e.isUndefined(t.target.kObject))return t;e.support.hook(["core.logger"],(function(){e.logger.log("search.event","info","documentScroll - executed"),e.logger.log("search.event","debug",t)}));var n={event:t,preventDefault:!1};return e.event.fireChain(e.settings.chains,"documentScroll",this,n,t),t}},functions:{bindAllExtraEvents:{name:"interactive-search-extra-events",fire:function(){e.event.detach(document,"click",e.searchEvents.general.documentClick),e.event.attach(document,"click",e.searchEvents.general.documentClick);var t=e.getSetting(e.settings,"settings.search.fullPageLayoutEnabled",!1);!e.isUndefined(t)&&t&&(e.settings.chains.documentScroll=e.chain({stopOnFalse:!0}),e.event.detach(window,"scroll",e.searchEvents.general.documentScroll),e.event.attach(window,"scroll",e.searchEvents.general.documentScroll))}}}}),e.extend(!0,e.searchEvents,{box:{focus:function(t){return t=t||window.event,e.support.hook(["core.logger"],(function(){e.logger.log("search.event","info","FocusEvent - executed"),e.logger.log("search.event","debug",t)})),this.kScope.data=this.kObject.resetData(this),this.kScope.data.context.keyCode=0,this.kScope.data.context.eventObject=t,this.kScope.data.context.event="focus",this.kScope.data.context.preventDefault=!1,e.search.active=this.kObject,e.event.fireChain(this.kScope,"chains.events.focus",this,this.kScope.data,t),t},keyUp:function(t){return t=t||window.event,e.support.hook(["core.logger"],(function(){e.logger.log("search.event","info","KeyUp - executed"),e.logger.log("search.event","debug",t)})),this.kScope.data=this.kObject.resetData(this),this.kScope.data.context.keyCode=t.keyCode?t.keyCode:t.which,this.kScope.data.context.eventObject=t,this.kScope.data.context.event="keyUp",this.kScope.data.context.preventDefault=!1,e.event.fireChain(this.kScope,"chains.events.keyUp",this,this.kScope.data,t),t},submit:function(t){return t=t||window.event,e.support.hook(["core.logger"],(function(){e.logger.log("search.event","info","SubmitEvent - executed"),e.logger.log("search.event","debug",t)})),this.kScope.data=this.kObject.resetData(this),this.kScope.data.context.keyCode=0,this.kScope.data.context.eventObject=null,this.kScope.data.context.event="focus",this.kScope.data.context.preventDefault=!1,e.search.active=this.kObject,e.event.fireChain(this.kScope,"chains.events.focus",this,this.kScope.data,null),this.kScope.data=this.kObject.resetData(this),this.kScope.data.context.keyCode=13,this.kScope.data.context.eventObject=t,this.kScope.data.context.event="submit",this.kScope.data.context.preventDefault=!1,e.event.fireChain(this.kScope,"chains.events.submit",this,this.kScope.data,t),t}},functions:{bindAllSearchBoxes:{name:"interactive-search-boxes-activate",fire:function(){e.search.active=null;var t=e.getSetting(e.settings,"settings.search.searchBoxSelector",e.randomId()),n=e.dom.find(t);e.each(n,(function(t,n){if("text"===n.type||"search"===n.type||"input"===n.type){if(!e.isUndefined(n.kObject))return!0;var s=e.searchObjectClone(e.search.base);s.setWebhookSettings({scope:"all,input,quick"}),s.setElement(n),e.getSetting(e.settings,"settings.search.searchBoxTarget",!1)||(e.dom.helpers.addElementToParent(null,"div",{id:n.kScope.id,class:"klevu-fluid"}),e.setSetting(n.kScope.settings,"settings.search.searchBoxTarget",document.getElementById(n.kScope.id))),s.setTarget(e.getSetting(n.kScope.settings,"settings.search.searchBoxTarget",!1)),e.event.attach(s.getScope().element,"focus",e.searchEvents.box.focus,!0),e.event.attach(s.getScope().element,"keyup",e.searchEvents.box.keyUp,!0),e.event.attach(s.getScope().element,"paste",(function(t){setTimeout((function(){e.searchEvents.box.keyUp.call(t.target,t)}),10)}),!0),n.form&&(s.setLinkObjectsToElement(n.form),e.event.attach(s.getScope().element.form,"submit",e.searchEvents.box.submit,!0)),s.getScope().element.setAttribute("autocomplete","off");var o=e.getSetting(n.kScope.settings,"settings.search.maxChars",128);return s.getScope().element.setAttribute("maxlength",o),e.isUndefined(e.search.quick)&&e.extend(!0,e.search,{quick:s}),e.search.extraSearchBox.push(s),!0}}))}}}}),e.settings.chains.documentClick=e.chain({stopOnFalse:!0}),e.coreEvent.build({name:"buildSearch",fire:function(){return!(!e.isInteractive||e.isUndefined(e.search)||e.isUndefined(e.search.build)||!e.getSetting(e.settings,"settings.localSettings",!1))}}),e.coreEvent.attach("buildSearch",e.extend(!0,{},e.searchEvents.functions.bindAllSearchBoxes)),e.coreEvent.attach("buildSearch",e.extend(!0,{},e.searchEvents.functions.bindAllExtraEvents)),e.extend({searchObjectChains:{build:e.chain({stopOnFalse:!0})},searchObjectBuild:function(){var t={cache:e.cache(),settings:{},webhookSettings:{run:!0,object:"search",scope:"all"}};function n(){e.setObjectPath(t,"translator",t.template.getTranslator()),e.setObjectPath(t,"currency",t.translator.getCurrencyObject())}function s(){var e={context:{landingUrl:null,term:null,termOriginal:null,keyCode:0,eventObject:null,event:null,eventAction:"",preventDefault:!1,status:null,isSuccess:!1,doRequest:!0},request:{settings:{url:null,object:{}},last:{},current:{context:{},suggestions:[],recordQueries:[]}},response:{ajax:{object:{},data:{}},current:{meta:{},suggestionResults:[],queryResults:[]}},localOverrides:{suggestion:{},query:{}},template:{settings:null,suggestions:{},query:{}}};return e.template.settings=e.context,e}e.setObjectPath(t,"id",e.randomId()),e.setObjectPath(t,"template",e.template()),t.template.setWebhookSettings({run:t.webhookSettings.run,object:t.webhookSettings.object,scope:t.webhookSettings.scope}),n(),e.setObjectPath(t,"chains.actions.doSearch",e.chain({stopOnFalse:!0,webhook:{name:"chains.actions.doSearch"}})),e.setObjectPath(t,"chains.events.focus",e.chain({stopOnFalse:!0,webhook:{name:"chains.events.focus"}})),e.setObjectPath(t,"chains.events.keyUp",e.chain({stopOnFalse:!0,webhook:{name:"chains.events.keyUp"}})),e.setObjectPath(t,"chains.events.submit",e.chain({stopOnFalse:!0,webhook:{name:"chains.events.submit"}})),e.setObjectPath(t,"chains.processors.inputString",e.chain({stopOnFalse:!0,webhook:{name:"chains.processors.inputString"}})),e.setObjectPath(t,"chains.request.control",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.control"}})),e.setObjectPath(t,"chains.request.build",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.build"}})),e.setObjectPath(t,"chains.request.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.send"}})),e.setObjectPath(t,"chains.request.ajax.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.ajax.send"}})),e.setObjectPath(t,"chains.request.fetch.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.fetch.send"}})),e.setObjectPath(t,"chains.response.success",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.success"}})),e.setObjectPath(t,"chains.response.done",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.done"}})),e.setObjectPath(t,"chains.response.fail",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.fail"}})),e.setObjectPath(t,"chains.response.ajax.success",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.fail"}})),e.setObjectPath(t,"chains.response.ajax.done",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.fail"}})),e.setObjectPath(t,"chains.response.ajax.fail",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.fail"}})),e.setObjectPath(t,"chains.template.process.success",e.chain({stopOnFalse:!0,webhook:{name:"chains.template.process.success"}})),e.setObjectPath(t,"chains.template.handleError",e.chain({stopOnFalse:!0,webhook:{name:"chains.template.handleError"}})),e.setObjectPath(t,"chains.template.render",e.chain({stopOnFalse:!0,webhook:{name:"chains.template.render"}})),e.setObjectPath(t,"chains.template.events",e.chain({stopOnFalse:!0,webhook:{name:"chains.template.events"}})),t.data=s();var o=e.getObjectPath(e.searchObjectChains,"build");return e.isUndefined(o)||0===o.list().length||(o.setScope(t),o.setData(t.data),o.fire()),{init:function(){},resetData:function(e){var t=s();return e.kScope.data.context.termOriginal!==e.kElem.value&&(e.kScope.data.localOverrides=t.localOverrides),e.kScope.data.context=t.context,e.kScope.data.context.term=e.kElem.value,e.kScope.data.context.termOriginal=e.kElem.value,e.kScope.data.request.current=t.request.current,e.kScope.data.response.current=t.response.current,e.kScope.data.template.suggestions=t.template.suggestions,e.kScope.data.template.query=t.template.query,e.kScope.data.template.settings=e.kScope.data.context,e.kScope.data.request.settings.object={},e.kScope.data.response.ajax.object={},e.kScope.data.response.ajax.data={},e.kScope.data.response.data={},e.kScope.data.response.object={},e.kScope.data.scope=null,e.kScope.data},buildData:s,setTarget:function(t){e.setSetting(this.getScope().settings,"settings.search.searchBoxTarget",t),t.kObject=this,t.kScope=this.getScope(),t.kElem=this.getScope().element.kElem,t.classList.add("klevuTarget"),t.webhookSettings=this.getScope().webhookSettings},setElement:function(e){this.getScope().element=e,e.kObject=this,e.kScope=this.getScope(),e.kElem=this.getScope().element,e.webhookSettings=this.getScope().webhookSettings},setLinkObjectsToElement:function(e){e.kObject=this,e.kScope=this.getScope(),e.kElem=this.getScope().element,e.webhookSettings=this.getScope().webhookSettings},setScope:function(e){return t=e},getScope:function(){return t},getCache:function(){return t.cache},setWebhookSettings:function(n){return n&&(t.webhookSettings=e.extend(!0,t.webhookSettings,n),t.template.setWebhookSettings({run:t.webhookSettings.run,object:t.webhookSettings.object,scope:t.webhookSettings.scope})),this},getWebhookSettings:function(){return t.webhookSettings},resetTranslator:n}},searchObjectClone:function(t){var n=e.searchObjectBuild();return n.setScope(e.extend(!0,{},t.getScope())),n.getScope().element=document.createElement("INPUT"),n.getScope().data=n.buildData(),n.getScope().id=e.randomId(),n.getScope().template=e.templateClone(n.getScope().template),n.resetTranslator(),n.getScope().element.kObject=n,n.getScope().element.kScope=n.getScope(),n.getScope().element.kElem=n.getScope().element,n.getScope().element.webhookSettings=n.getScope().webhookSettings,n}});e({search:{searchBoxSelector:"input#klevu-search",searchBoxTarget:!1,minChars:3,placeholder:"Search",showQuickOnEnter:!1,fullPageLayoutEnabled:!1,personalisation:!1,redirects:[],map:{recordQuery:{id:"",typeOfRequest:"",isFallbackQuery:!1,isBoostQuery:!1,settings:{query:{term:"",context:{recentTerms:[],recentObjects:[],includeIds:[],excludeIds:[]}},typeOfRecords:["KLEVU_PRODUCT"],groupBy:"",fields:[],offset:0,limit:0,typeOfSearch:"",searchPrefs:[],sort:"",priceFieldSuffix:"",fallbackWhenCountLessThan:0,fallbackQueryId:"",personalisation:{enablePersonalisation:!1}},filters:{filtersToReturn:{enabled:!1,options:{order:"",limit:0,minCount:0},include:[],exclude:[],rangeFilterSettings:[{key:"",minMax:!1,rangeInterval:0}]},applyFilters:{filters:[{key:"",values:[],settings:{singleSelect:!1}}]}},boost:{filters:[{key:"",values:[],weight:0}],keywords:[{phrase:"",weight:0}],records:[{id:"",weight:0}],boostQueryId:""}},suggestions:{id:"",query:"",typeOfRequest:"",limit:0,includeFilters:!1,filterLimit:0,applyFilters:[]}}}}),e.support.register({name:"search",loaded:!0,active:!0,dependency:["core.lib"]}),e.getObjectPath(e.support,"webhook",!1)&&(e.event.webhook.attach({object:"search",scope:"all",name:"mainObject",action:"build",fire:function(t,n){let s=e.getObjectPath(n.kObject.getWebhookSettings(),"scope",!1);if(s){s=s.split(",");let t=e.getGlobalSetting("theme.setTemplates",!1);t&&e.each(t,(function(t,o){let a=e.getObjectPath(o,"scope",!1);a&&(a=a.split(","),e.each(a,(function(t,a){if(-1!==e.inArray(a.trim(),s))try{let t=e.getObjectPath(o,"listBefore",!1),s=e.getObjectPath(o,"listAfter",!1),a=e.getObjectPath(o,"list",o.name);t?(t=t.split(":"),e.isUndefined(t[1])||e.isEmptyObject(t[1])?(a=t[0],t=t[0]):(a=t[0],t=t[1])):s&&(s=s.split(":"),e.isUndefined(s[1])||e.isEmptyObject(s[1])?(a=s[0],s=s[0]):(a=s[0],s=s[1])),n.kScope.template.setTemplate({template:o.template?o.template:e.dom.helpers.getHTML(o.selector),name:o.name,decoded:!0,list:a,before:t,after:s})}catch(t){e.support.hook(["core.logger"],(function(){e.logger.log("search.webhook","error","While trying to add template '"+o.name+"' we encountered an error"),e.logger.log("search.webhook","debug",t)}))}})))}))}}}),e.event.webhook.attach({object:"search",scope:"all",name:"mainObject",action:"build",fire:function(t,n){let s=e.getObjectPath(n.kObject.getWebhookSettings(),"scope",!1);if(s){s=s.split(",");let t=e.getGlobalSetting("theme.setHelpers",!1);t&&e.each(t,(function(t,o){let a=t;a&&(a=a.split(","),e.each(a,(function(t,a){-1!==e.inArray(a.trim(),s)&&e.each(o,(function(e,t){n.kScope.template.setHelper(e,t)}))})))}))}}}))}(klevu),function(e){var t=e.searchObjectBuild();t.getScope().chains.events.focus.add({name:"check-placeholder",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.search.placeholder");if(t.context.term.toLowerCase()===s.toLowerCase())return n.value="",!1}}),t.getScope().chains.events.keyUp.add({name:"isCharacterNotAllowed",fire:function(t,n){if((t.context.keyCode>=9&&t.context.keyCode<=45||t.context.keyCode>=91&&t.context.keyCode<=93||t.context.keyCode>=112&&t.context.keyCode<=123)&&13!==t.context.keyCode&&32!==t.context.keyCode)return!1;if(null!==t.context.eventObject){if(!e.isUndefined(t.context.eventObject.ctrlKey)&&!0===t.context.eventObject.ctrlKey)return!1;if(!e.isUndefined(t.context.eventObject.altKey)&&!0===t.context.eventObject.altKey)return!1}}}),t.getScope().chains.events.keyUp.add({name:"scrollToTop",fire:function(t,n){e.getSetting(n.kScope.settings,"settings.search.fullPageLayoutEnabled",!1)&&(document.body.scrollTop=document.documentElement.scrollTop=0)}}),t.getScope().chains.events.keyUp.add({name:"doSearch",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doSearch");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.submit.add({name:"checkRedirect",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.search.redirects",{});if(s&&!e.isUndefined(t.context.term)&&s.hasOwnProperty(t.context.term.trim().toLowerCase())&&(t.context.preventDefault=!0,t.context.eventObject.preventDefault(),document.location=s[t.context.term.trim().toLowerCase()]),!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.submit.add({name:"doSearch",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doSearch");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.actions.doSearch.add({name:"showQuickOnEnter",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.search.showQuickOnEnter",!1);13===t.context.keyCode&&s&&"submit"===t.context.event&&t.context.eventObject.preventDefault()}}),t.getScope().chains.actions.doSearch.add({name:"checkInput",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.processors.inputString");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.actions.doSearch.add({name:"doRequest",fire:function(t,n){t.context.doSearch=!1;var s=e.getObjectPath(n.kScope,"chains.request.control");if(e.isUndefined(s)||0===s.list().length)return t.context.preventDefault=!0,n.kScope.data=t,!1;s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t}}),t.getScope().chains.processors.inputString.add({name:"checkDefined",fire:function(t,n){if(e.isUndefined(t.context.term)){t.context.preventDefault=!0;var s=e.getObjectPath(n.kScope,"chains.template.handleError");return e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData({section:"inputString",sector:"checkDefined"}),s.fire()),!1}}}),t.getScope().chains.processors.inputString.add({name:"trim",fire:function(e,t){e.context.term=e.context.term.replace(/\s{2,}/g," ").trim()}}),t.getScope().chains.processors.inputString.add({name:"cleanDuplicatedSpaces",fire:function(e,t){e.context.term=e.context.term.replace(/\s\s+/g," ")}}),t.getScope().chains.processors.inputString.add({name:"checkLengthMin",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.search.minChars",0);if(t.context.term.lengths){var o=e.getObjectPath(n.kScope,"chains.template.handleError");return e.isUndefined(o)||0===o.list().length||(o.setScope(n.kElem),o.setData({section:"inputString",sector:"checkLength"}),o.fire()),t.context.preventDefault=!0,!1}}}),t.getScope().chains.processors.inputString.add({name:"lowercase",fire:function(e,t){e.context.term=e.context.term.toLowerCase()}}),t.getScope().chains.processors.inputString.add({name:"checkPlaceholder",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.search.placeholder","");if(t.context.term.toLowerCase()===s.toLowerCase()){t.context.preventDefault=!0;var o=e.getObjectPath(n.kScope,"chains.template.handleError");return e.isUndefined(o)||0===o.list().length||(o.setScope(n.kElem),o.setData({section:"inputString",sector:"checkPlaceholder"}),o.fire()),!1}}}),t.getScope().chains.request.ajax.send.add({name:"sendRequest",fire:function(t,n){"searchAjax"===t.context.eventAction&&(t.scope=n,t.context.doSearch?(t.context.requestObject={url:t.request.settings.url,type:"AJAX",method:"POST",mimeType:"application/json; charset=UTF-8",contentType:"application/json; charset=utf-8",dataType:"json",crossDomain:!0,success:function(t){var n=e.getObjectPath(t.requestDetails.scope.kScope,"chains.response.success");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.kElem),e.setObjectPath(t.requestDetails,"response.data",t.responseObj.data),e.setObjectPath(t.requestDetails,"context.status",t.status),e.setObjectPath(t.requestDetails,"context.isSuccess",t.isSuccess),n.setData(t.requestDetails),n.fire())},done:function(t){var n=e.getObjectPath(t.requestDetails.scope.kScope,"chains.response.done");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.kElem),e.setObjectPath(t.requestDetails,"response.data",t.responseObj.data),e.setObjectPath(t.requestDetails,"context.status",t.status),e.setObjectPath(t.requestDetails,"context.isSuccess",t.isSuccess),n.setData(t.requestDetails),n.fire())},error:function(t){var n=e.getObjectPath(t.requestDetails.scope.kScope,"chains.response.fail");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.kElem),e.setObjectPath(t.requestDetails,"response.data",{}),e.setObjectPath(t.requestDetails,"context.status",t.status),e.setObjectPath(t.requestDetails,"context.isSuccess",t.isSuccess),n.setData(t.requestDetails),n.fire())},data:JSON.stringify(t.request.settings.object)},t.context.requestDetails=e.extend(!0,{},t)):e.support.hook(["core.logger"],(function(){e.logger.log("search.core","warn","Ajax makeRequest - Request object is not present or request was forced stopped."),e.logger.log("search.core","debug",t)})))}}),t.getScope().chains.request.fetch.send.add({name:"sendRequest",fire:function(t,n){"searchAjax"!==t.context.eventAction&&(t.scope=n,t.context.doSearch?(t.context.requestObject={url:t.request.settings.url,type:"FETCH",method:"POST",mimeType:"application/json; charset=UTF-8",contentType:"application/json; charset=utf-8",dataType:"json",crossDomain:!0,success:function(t,n,s,o){var a=e.getObjectPath(n.scope.kScope,"chains.response.success");e.isUndefined(a)||0===a.list().length||(a.setScope(n.scope.kElem),e.setObjectPath(n,"response.data",t),e.setObjectPath(n,"context.status",s),e.setObjectPath(n,"context.isSuccess",o),a.setData(n),a.fire())},error:function(t,n,s){var o=e.getObjectPath(t.scope.kScope,"chains.response.fail");e.isUndefined(o)||0===o.list().length||(o.setScope(t.scope.kElem),e.setObjectPath(t,"response.data",{}),e.setObjectPath(t,"context.status",n),e.setObjectPath(t,"context.isSuccess",s),o.setData(t),o.fire())},data:JSON.stringify(t.request.settings.object)},t.context.requestDetails=e.extend(!0,{},t)):e.support.hook(["core.logger"],(function(){e.logger.log("search.core","warn","Fetch makeRequest - Request object is not present or request was forced stopped."),e.logger.log("search.core","debug",t)})))}}),t.getScope().chains.request.control.add({name:"initRequest",fire:function(t,n){t.context.doSearch=!1,t.request.original={};var s=e.getObjectPath(n.kScope,"chains.request.build");return e.isUndefined(s)||0===s.list().length?(t.context.preventDefault=!0,n.kScope.data=t,!1):(s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t,!1!==t.context.doSearch&&void 0)}}),t.getScope().chains.request.control.add({name:"setLocalOverrides",fire:function(t,n){var s=e.getObjectPath(t.localOverrides,"query");e.isUndefined(s)||e.each(s,(function(n,s){var o=t.request.current.recordQueries.filter((function(e){return e.id==n}));o.length>0&&(o=e.extend(!0,o[0],s))}))}}),t.getScope().chains.request.control.add({name:"storeOriginSuggestions",fire:function(t,n){var s=e.getObjectPath(t,"request.current.suggestions");e.setObjectPath(t,"request.original.suggestions",e.extend([],s))}}),t.getScope().chains.request.control.add({name:"storeOriginRecordQueries",fire:function(t,n){var s=e.getObjectPath(t,"request.current.recordQueries");e.setObjectPath(t,"request.original.recordQueries",e.extend([],s))}}),t.getScope().chains.request.control.add({name:"sanitiseRequestSuggestions",fire:function(t,n){var s=e.clean(t.request.current);t.response.current.suggestionResults=[],t.request.last.suggestionRequest={};var o=e.getObjectPath(s,"suggestions");t.request.original.suggestionResults=e.extend(!0,{},o),e.isUndefined(o)||e.each(o,(function(e,s){var a=n.kScope.cache.getCache(s);a?(t.response.current.suggestionResults.push(a),o[e]={}):t.request.last.suggestionRequest[s.id]=s})),t.request.settings.object=s}}),t.getScope().chains.request.control.add({name:"sanitiseRequestQuery",fire:function(t,n){var s=e.clean(t.request.current);t.response.current.queryResults=[],t.request.last.queryRequest={};var o=e.getObjectPath(s,"recordQueries");if(t.request.original.queryRequest=e.extend(!0,{},o),!e.isUndefined(o)){var a=0;e.each(o,(function(e,s){var i=n.kScope.cache.getCache(s);i?(t.response.current.queryResults.push(i),o[e]={}):("true"!=s.isFallbackQuery&&!0!==s.isFallbackQuery||(a+=1),t.request.last.queryRequest[s.id]=s)})),s=e.clean(s),o=e.getObjectPath(s,"recordQueries"),e.isUndefined(o)||o.length!==a||e.setObjectPath(s,"recordQueries",[])}t.request.settings.object=s}}),t.getScope().chains.request.control.add({name:"sanitiseRequestCheckIfAllCache",fire:function(t,n){var s=e.clean(t.request.current);if(t.request.settings.object=s,e.isUndefined(s.recordQueries)&&e.isUndefined(s.suggestions)){t.context.isSuccess=!0,t.context.doSearch=!1,t.context.status=304;var o=e.getObjectPath(n.kScope,"chains.response.success");if(!e.isUndefined(o)&&0!==o.list().length&&(o.setScope(n.kElem),o.setData(t),o.fire(),n.kScope.data=t,!1===t.context.doSearch))return!1}}}),t.getScope().chains.request.control.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.url.search",!1);s&&(t.request.settings.url=s)}}),t.getScope().chains.request.control.add({name:"makeRequest",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.request.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t,!1}}),t.getScope().chains.request.build.add({name:"buildMap",fire:function(t,n){t.context.status=null,t.context.isSuccess=!1,t.context.landingUrl=e.getSetting(n.kScope.settings,"settings.url.landing",!1),t.request.current.context.apiKeys=[e.getSetting(n.kScope.settings,"settings.search.apiKey",e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")))],t.request.requestObject={}}}),t.getScope().chains.request.send.add({name:"checkFetch",fire:function(e,t){window.fetch?e.context.eventAction="searchFetch":e.context.eventAction="searchAjax"}}),t.getScope().chains.request.send.add({name:"requestTypeAjax",fire:function(t,n){if("searchAjax"===t.context.eventAction){var s=e.getObjectPath(n.kScope,"chains.request.ajax.send");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t)}}}),t.getScope().chains.request.send.add({name:"requestTypeFetch",fire:function(t,n){if("searchAjax"!==t.context.eventAction){var s=e.getObjectPath(n.kScope,"chains.request.fetch.send");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t)}}}),t.getScope().chains.request.send.add({name:"requestSend",fire:function(t,n){e.request(t.context.requestObject,t.context.requestDetails)}}),t.getScope().chains.response.success.add({name:"checkForSuccess",fire:function(e,t){if(t.kElem.data=e,!1===e.context.isSuccess)return!1}}),t.getScope().chains.response.success.add({name:"executeAjaxResponseProcessor",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.response.ajax.success");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t}}),t.getScope().chains.response.success.add({name:"addResponseDataSuggestion",fire:function(t,n){var s=e.getObjectPath(t.response.data,"suggestionResults");e.isUndefined(s)&&(s=[]),s.length>0&&e.each(s,(function(s,o){e.isUndefined(t.request.last.suggestionRequest[o.id])||n.kScope.cache.setCache(t.request.last.suggestionRequest[o.id],o)})),t.response.current.suggestionResults=e.extend(!0,t.response.current.suggestionResults,t.response.current.suggestionResults.concat(s))}}),t.getScope().chains.response.success.add({name:"addResponseDataQuery",fire:function(t,n){var s=e.getObjectPath(t.response.data,"queryResults");e.isUndefined(s)&&(s=[]),s.length>0&&e.each(s,(function(s,o){e.isUndefined(t.request.last.queryRequest[o.id])||n.kScope.cache.setCache(t.request.last.queryRequest[o.id],o)})),t.response.current.queryResults=e.extend(!0,t.response.current.queryResults,t.response.current.queryResults.concat(s))}}),t.getScope().chains.response.success.add({name:"processSuggestions",fire:function(t,n){var s=e.getObjectPath(t.response.current,"suggestionResults");if(e.isUndefined(s))s={};else{var o={};e.each(s,(function(e,t){o[t.id]=t.suggestions})),s=o}t.template.suggestions=s,n.kScope.data=t}}),t.getScope().chains.response.success.add({name:"processQuery",fire:function(t,n){var s=e.getObjectPath(t.response.current,"queryResults");if(e.isUndefined(s))s={};else{var o={};e.each(s,(function(n,s){o[s.id]={meta:s.meta,filters:s.filters,result:s.records},e.setObjectPath(t,"localOverrides.query."+s.id+".settings.typeOfSearch",s.meta.typeOfSearch)})),s=o}t.template.query=s,n.kScope.data=t}}),t.getScope().chains.response.success.add({name:"executeTemplateResponseProcessor",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.template.process.success");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t}}),t.getScope().chains.response.success.add({name:"renderTemplate",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.template.render");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t}}),t.getScope().chains.response.success.add({name:"addEvents",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.template.events");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t}}),t.getScope().chains.template.handleError.add({name:"renderError",fire:function(e,t){return!1}});var n=document.createElement("INPUT");n.value="*",n.kObject=t,n.kScope=n.kObject.getScope(),t.getScope().element=n,n.kElem=n.kObject.getScope().element,e.extend(!0,e,{search:{extraSearchBox:[],base:t,modules:{}}});var s=e.searchObjectClone(t);s.setWebhookSettings({scope:"all,full_page,landing"}),e.extend(!0,e.search,{landing:s}),e.search.build=!0}(klevu),function(e){e.isUndefined(e.pageMeta)&&(e.extend({pageMeta:{}}),e.extend(!0,e.pageMeta,{settings:{},oldSettings:{},build:function(){return e.isUndefined(window.klevu_page_meta)||e.pageMeta.update(klevu_page_meta,1),e.isUndefined(window.klevu_meta)||e.pageMeta.update(klevu_meta,2),e.pageMeta.getAllSettings()},updateFromV1:function(t){if(e.pageMeta.setData("page.pageType",e.getObjectPath(t,"pageType","")),e.pageMeta.setData("page.dataType",[e.getObjectPath(t,"pageType","")]),e.getObjectPath(t,"apiKey",!1)&&e({global:{apiKey:e.getObjectPath(t,"apiKey")}}),e.pageMeta.hasPageType())switch(e.pageMeta.getPageType()){case"category":e.pageMeta.setData("page.category.categoryUrl",e.getObjectPath(t,"categoryUrl","")),e.pageMeta.setData("page.category.categoryName",e.getObjectPath(t,"categoryName","")),e.pageMeta.setData("page.category.categoryPath",e.getObjectPath(t,"categoryPath",e.getObjectPath(t,"categoryName",""))),e.pageMeta.setData("page.category.products",e.getObjectPath(t,"categoryProducts",[]));break;case"srlp":e.pageMeta.setData("page.srlp.searchTerm",e.getObjectPath(t,"searchTerm","")),e.pageMeta.setData("page.srlp.searchUrl",e.getObjectPath(t,"searchUrl","")),e.pageMeta.setData("page.srlp.products",e.getObjectPath(t,"products",[]));break;case"pdp":let n={itemName:e.getObjectPath(t,"itemName",""),itemUrl:e.getObjectPath(t,"itemUrl",""),itemId:e.getObjectPath(t,"itemId",""),itemGroupId:e.getObjectPath(t,"itemGroupId",""),itemSalePrice:e.getObjectPath(t,"itemSalePrice",0),itemCurrency:e.getObjectPath(t,"itemCurrency","")};e.pageMeta.setData("page.pdp.products",[n]);break;case"cart":e.pageMeta.setData("page.cart.products",e.getObjectPath(t,"cartRecords",[]));break;case"checkout":e.pageMeta.setData("page.checkout.products",e.getObjectPath(t,"orderItems",[]))}},updateFromV2:function(t){e.pageMeta.setData("page",e.extend(!0,e.pageMeta.getData("page",{}),e.getObjectPath(t,"page",{}))),e.pageMeta.setData("system",e.extend(!0,e.pageMeta.getData("system",{}),e.getObjectPath(t,"system",{})))},getAllSettings:function(){return e.pageMeta.settings},getOldSettings:function(){return e.pageMeta.oldSettings},hasData:function(t){return!!e.getObjectPath(e.pageMeta.settings,t,!1)},getData:function(t,n){return e.isUndefined(n)&&(n=!1),e.getObjectPath(e.pageMeta.settings,t,n)},setData:function(t,n){return e.setObjectPath(e.pageMeta.oldSettings,t,e.getObjectPath(e.pageMeta.settings,t)),e.setObjectPath(e.pageMeta.settings,t,n),e.pageMeta.settings},hasPageType:function(){return e.pageMeta.hasData("page.pageType",!1)},getPageType:function(){return e.pageMeta.getData("page.pageType",!1)},getApiKey:function(){return e.getGlobalSetting("global.apiKey",e.getGlobalSetting("search.apiKey",e.getGlobalSetting("analytics.apiKey")))},getUserProfile:function(){return e.pageMeta.getData("user",!1)},getItems:function(t){return e.isUndefined(t)&&(t=e.pageMeta.getPageType()),e.pageMeta.hasData("page."+t+".products")?e.pageMeta.getData("page."+t+".products",[]):[]},hasItems:function(t){e.isUndefined(t)&&(t=e.pageMeta.getPageType());let n=e.pageMeta.getItems(t);return!!(!e.isUndefined(n)&&e.isArrayLike(n)&&n.length>0)},update:function(t,n){if(e.isUndefined(n)&&(n=2),2===n)e.pageMeta.updateFromV2(t);else e.pageMeta.updateFromV1(t);var s={settings:e.pageMeta.getAllSettings(),oldSettings:e.pageMeta.getOldSettings()},o=e.pageMeta.chains.events;return e.isUndefined(o)||0===o.list().length||(o.setScope(this),o.setData(s),o.fire()),e.pageMeta.getAllSettings()},send:function(){var t={settings:e.pageMeta.getAllSettings(),oldSettings:e.pageMeta.getOldSettings()},n=e.pageMeta.chains.send;e.isUndefined(n)||0===n.list().length||(n.setScope(this),n.setData(t),n.fire())},chains:{send:e.chain({stopOnFalse:!0}),events:e.chain({stopOnFalse:!0})}})),e.support.register({name:"pageMeta",loaded:!0,active:!0,dependency:["core.lib"]}),e.pageMeta.chains.events.add({name:"checkCheckout",fire:function(t,n){if("checkout"===e.pageMeta.getPageType()&&e.pageMeta.hasItems()){var s={payload:{event_version:"1.0.0",event:"order_purchase",event_apikey:e.pageMeta.getApiKey(),user_profile:e.pageMeta.getUserProfile(),event_data:{items:e.pageMeta.getItems()}},type:"collect",url:e.getGlobalSetting("url.analyticsCollect",!1),key:"checkout_order_"+e.randomId(),override:!0};window._klvAnalyticsCollect=window._klvAnalyticsCollect||[],window._klvAnalyticsCollect.push(s)}}}),e.settings.chains.initChain.add({name:"pageMetaBuild",fire:function(t,n){var s=e.getGlobalSetting("powerUp.pageMeta");!e.isUndefined(s)&&!1===s||!e.isInteractive&&e.isUndefined(window.klevu_page_meta)||e.getObjectPath(t,"flags.pageMeta.build",!1)||(e.setObjectPath(t,"flags.pageMeta.build",!0),e.pageMeta.build())}})}(klevu),function(e){e.extend({analyticsEvents:{}}),e.extend(!0,e.analyticsEvents,{term:function(t,n){e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","Event - Term request started")})),e.isEmptyObject(n)&&(n=e.analytics.base);var s=n.getScope();return s.data=n.resetData(),s.data.context.eventAction="term",e.isUndefined(t.callbacks)?(s.data.request.analytics=t,s.data.context.callbacks=!1):(s.data.request.analytics=t.toSend.payload,s.data.context.callbacks=t.callbacks),s.data.context.preventDefault=!1,e.event.fireChain(s,"chains.events.term",s.element,s.data,null),n},click:function(t,n){e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","Event - click request started")})),e.isEmptyObject(n)&&(n=e.analytics.base);var s=n.getScope();return s.data=n.resetData(),s.data.context.eventAction="click",e.isUndefined(t.callbacks)?(s.data.request.analytics=t,s.data.context.callbacks=!1):(s.data.request.analytics=t.toSend.payload,s.data.context.callbacks=t.callbacks),s.data.request.analytics.klevu_type="clicked",s.data.context.preventDefault=!1,e.event.fireChain(s,"chains.events.click",s.element,s.data,null),n},buy:function(t,n){e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","Event - Buy request started")})),e.isEmptyObject(n)&&(n=e.analytics.base);var s=n.getScope();return s.data=n.resetData(),s.data.context.eventAction="buy",e.isUndefined(t.callbacks)?(s.data.request.analytics=t,s.data.context.callbacks=!1):(s.data.request.analytics=t.toSend.payload,s.data.context.callbacks=t.callbacks),s.data.request.analytics.klevu_type="checkout",s.data.context.preventDefault=!1,e.event.fireChain(s,"chains.events.buy",s.element,s.data,null),n},catclick:function(t,n){e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","Event - Category click request started")})),e.isEmptyObject(n)&&(n=e.analytics.base);var s=n.getScope();return s.data=n.resetData(),s.data.context.eventAction="catclick",e.isUndefined(t.callbacks)?(s.data.request.analytics=t,s.data.context.callbacks=!1):(s.data.request.analytics=t.toSend.payload,s.data.context.callbacks=t.callbacks),s.data.context.preventDefault=!1,e.event.fireChain(s,"chains.events.catclick",s.element,s.data,null),n},catview:function(t,n){e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","Event - Category view request started")})),e.isEmptyObject(n)&&(n=e.analytics.base);var s=n.getScope();return s.data=n.resetData(),s.data.context.eventAction="catview",e.isUndefined(t.callbacks)?(s.data.request.analytics=t,s.data.context.callbacks=!1):(s.data.request.analytics=t.toSend.payload,s.data.context.callbacks=t.callbacks),s.data.context.preventDefault=!1,e.event.fireChain(s,"chains.events.catview",s.element,s.data,null),n},collect:function(t){e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","Event - Collect request started")}));var n=e.analytics.base,s=n.getScope();return s.data=n.resetData(),s.data.context.eventAction="collect",s.data.request.collect=t.toSend.payload,s.data.context.collectStorage=t.toSend,s.data.context.preventDefault=!1,e.isUndefined(t.callbacks)?s.data.context.callbacks=!1:s.data.context.callbacks=t.callbacks,e.event.fireChain(s,"chains.events.collect",s.element,s.data,null),n}}),e.extend({analyticsObjectBuild:function(){var t={settings:{},encodeExcludeAttrList:["klevu_totalResults","klevu_limit","klevu_pageNumber","klevu_apiKey","tags"]};function n(e){t.element=document.createElement("input"),t.element.kObject=e,t.element.kScope=t,t.element.kElem=t.element}function s(){return{context:{event:null,eventAction:"",preventDefault:!1,status:null,isSuccess:!1,doRequest:!0},request:{analytics:{}},response:{ajax:{object:{},data:{}},current:{}},scope:{}}}e.setObjectPath(t,"id",e.randomId()),e.setObjectPath(t,"chains.actions.doAnalytics",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.actions.finalise",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.events.term",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.events.click",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.events.buy",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.events.catview",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.events.catclick",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.events.collect",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.control",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.build",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.send",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.ajax.send",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.fetch.send",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.ajax.success",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.ajax.done",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.ajax.fail",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.success",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.done",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.fail",e.chain({stopOnFalse:!0})),t.data={context:{event:null,eventAction:"",preventDefault:!1,status:null,isSuccess:!1,doRequest:!0},request:{analytics:{}},response:{ajax:{object:{},data:{}},current:{}},scope:{}};var o={init:n,resetData:function(){var e=s();return t.data.context=e.context,t.data.request=e.request,t.data.response=e.response,t.data.scope=null,t.data},buildData:s,encodeListAttrs:function(n){var s=e.getObjectPath(n,"request.analytics");s&&e.each(s,(function(e,s){t.encodeExcludeAttrList.indexOf(e)>-1||(n.request.analytics[e]=encodeURIComponent(s))}))},setScope:function(e){return t=e},getScope:function(){return t}};return n(o),o}});var t={analytics:{url:{term:"n-search/search",click:"productTracking",buy:"productTracking",catclick:"categoryProductClickTracking",catview:"categoryProductViewTracking",collect:"collect"}},url:{analytics:e.settings.url.protocol+"//stats.klevu.com/analytics/",analyticsCat:e.settings.url.protocol+"//stats.ksearchnet.com/analytics/",analyticsCollect:e.settings.url.protocol+"//stats.ksearchnet.com/analytics/"}};e(t),e.support.register({name:"analytics.base",loaded:!0,active:!0,dependency:["core.lib"]}),function(e){e.extend(!0,e,{analyticsUtil:{base:{storage:{dictionary:"analytics-util",term:"termList",click:"clickList",categoryClick:"categoryClickList",collect:"analyticsEvents"},sendAnalyticsEventsFromStorage:function(t,n){var s=e.dictionary(t);s.setStorage("local"),s.mergeFromGlobal();var o=s.getElement(n);o&&o!=n&&(o=JSON.parse(o),e.each(o,(function(t,s){delete s.filters,n==e.analyticsUtil.base.storage.click?e.analyticsEvents.click(s):n==e.analyticsUtil.base.storage.categoryClick||e.analyticsEvents.term(s)})),s.addElement(n,""),s.mergeToGlobal())}}}})}(e)}(klevu),function(e){e.support.hook(["core.constructors"],(function(){e.constructors.isLoaded("analytics.collect")||(e.constructors.add({name:"analytics.collect",create:function(){let t={general:{apiKey:!1,scope:document.createElement("div"),flags:{build:!1,init:!1},dictionary:{collect:"analyticsEvents"},supportedTypes:[]}},n={getDictionary:function(e){return this.getSetting("general.dictionary."+e,"analyticsEvents")},getDictionaryData:function(t,n){e.isUndefined(n)&&(n=e.getGlobalSetting("core.dictionary.defaultStorageType","local"));let s=e.dictionary(t);return s.setStorage(n),s.mergeFromGlobal(),s},chains:e.constructors.get("analytics.collect").chains,addSupportedType:function(t){let n=this.getSetting("general.supportedTypes",[]);n.push(t.name),this.setSetting("general.supportedTypes",n);let s=e.getObjectPath(this,"chains.sendType");e.isUndefined(s)||s.add({name:"send"+t.name,fire:t.fire})},sendAnalyticsEventsFromStorage:function(t){var n=this;e.isUndefined(t)&&(t=this.getDictionary("collect"));var s=this.getDictionaryData(t),o=s.getElements();e.each(o,(function(o,a){if(s.mergeFromGlobal(),a=s.getElement(o),a=JSON.parse(a),void 0!==e.getObjectPath(a,"type")){if("timestamp"in a)if(e.time.timestamp()-parseInt(a.timestamp)>e.getGlobalSetting("analytics.maxRetryTime",21600))return void n.removeAnalyticsEventsFromStorage(t,o);if(n.getSetting("general.supportedTypes",[]).includes(e.getObjectPath(a,"type"))){if("pending"===e.getObjectPath(a,"status","new")){if(e.time.timestamp()-e.getObjectPath(a,"statusTime",e.time.timestamp())0){var s=[];e.each(t.element,(function(t,n){var o={type:e.getObjectPath(n,"type","custom"),url:e.getObjectPath(n,"url",!1),apiKey:e.getObjectPath(n,"apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey",!1))),key:e.getObjectPath(n,"key","customEvent-"+e.randomId()),override:e.getObjectPath(n,"override",!0),payload:e.getObjectPath(n,"payload",{})};o.payload.apiKey=e.getObjectPath(n,"payload.apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey",!1))),e.analytics.utility.addAnalyticsEventsToStorage(o),s.push(n)})),s.length>0&&(e.each(s,(function(e,n){t.element.remove(n)})),e.analytics.utility.sendAnalyticsEventsFromStorage())}}}),_klvAnalyticsCollect.run())}}),e.constructors.get("analytics.collect").chains.init.add({name:"sendStoredEvents",fire:function(e,t){t.sendAnalyticsEventsFromStorage("analyticsEvents")}}),e.constructors.get("analytics.collect").chains.init.add({name:"setInitFlag",fire:function(e,t){t.setSetting("general.flags.init",!0)}}))})),e.support.hook(["analytics.utility"],(function(){e.settings.chains.initChain.add({name:"analyticsCollect",fire:function(t,n){var s=e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")));if(!e.isUndefined(s)){var o=e.getGlobalSetting("powerUp.analyticsCollect");if(!e.isUndefined(o)&&!1===o)return;if(e.getObjectPath(t,"flags.analyticsCollect.build",!1))return;if(e.isUndefined(e.analytics)||e.isUndefined(e.analytics.build)||e.isUndefined(e.analytics.utility))return;e.setObjectPath(t,"flags.analyticsCollect.build",!0),e.analytics.utility.setApiKey(s)}}})})),e.support.isActive("analytics.utility")||(e.extend(!0,e,{analytics:{utility:e.constructors.construct("analytics.collect")}}),e.support.register({name:"analytics.utility",loaded:!0,active:!0,dependency:["core.constructors","core.lib"]}))}(klevu),function(e){var t=e.analyticsObjectBuild();t.getScope().chains.events.term.add({name:"termRequestCheck",fire:function(t,n){e.clean(t.request.analytics);var s=t.request.analytics;try{var o=!1,a="";if(e.isUndefined(s.klevu_term)?(o=!0,a="klevu_term"):e.isUndefined(s.klevu_totalResults)?(o=!0,a="klevu_totalResults"):e.isUndefined(s.klevu_typeOfQuery)&&(o=!0,a="klevu_typeOfQuery"),o)throw new Error(a+" parameter is missing from the term analytics request!")}catch(t){return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","termRequestCheck - Incorrect paramaters , data is missing"),e.logger.log("analytics.core","debug",t)})),!1}}}),t.getScope().chains.events.term.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.url.analytics",!1);if(!s)return!1;t.context.url=s+e.getSetting(n.kScope.settings,"settings.analytics.url.term",!1)}}),t.getScope().chains.events.term.add({name:"addApiKey",fire:function(t,n){t.request.analytics.klevu_apiKey=e.getSetting(n.kScope.settings,"settings.analytics.apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey")))}}),t.getScope().chains.events.term.add({name:"doAnalytics",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doAnalytics");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.click.add({name:"clickRequestCheck",fire:function(t,n){e.clean(t.request.analytics);var s=t.request.analytics;try{var o=!1,a="";if(e.isUndefined(s.klevu_keywords)?(o=!0,a="klevu_keywords"):e.isUndefined(s.klevu_productId)?(o=!0,a="klevu_productId"):e.isUndefined(s.klevu_productName)?(o=!0,a="klevu_productName"):e.isUndefined(s.klevu_productUrl)&&(o=!0,a="klevu_productUrl"),o)throw new Error(a+" parameter is missing from the click analytics request!")}catch(t){return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","clickRequestCheck - Incorrect paramaters , data is missing"),e.logger.log("analytics.core","debug",t)})),!1}}}),t.getScope().chains.events.click.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.url.analytics",!1);if(!s)return!1;t.context.url=s+e.getSetting(n.kScope.settings,"settings.analytics.url.click",!1)}}),t.getScope().chains.events.click.add({name:"addApiKey",fire:function(t,n){t.request.analytics.klevu_apiKey=e.getSetting(n.kScope.settings,"settings.analytics.apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey")))}}),t.getScope().chains.events.click.add({name:"doAnalytics",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doAnalytics");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.buy.add({name:"buyRequestCheck",fire:function(t,n){e.clean(t.request.analytics);var s=t.request.analytics;try{var o=!1,a="";if(e.isUndefined(s.klevu_productId)?(o=!0,a="klevu_productId"):e.isUndefined(s.klevu_unit)?(o=!0,a="klevu_unit"):e.isUndefined(s.klevu_salePrice)?(o=!0,a="klevu_salePrice"):e.isUndefined(s.klevu_currency)&&(o=!0,a="klevu_currency"),o)throw new Error(a+" parameter is missing from the buy analytics request!")}catch(t){return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","buyRequestCheck - Incorrect paramaters , data is missing"),e.logger.log("analytics.core","debug",t)})),!1}}}),t.getScope().chains.events.buy.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.url.analytics",!1);if(!s)return!1;t.context.url=s+e.getSetting(n.kScope.settings,"settings.analytics.url.buy",!1)}}),t.getScope().chains.events.buy.add({name:"addApiKey",fire:function(t,n){t.request.analytics.klevu_apiKey=e.getSetting(n.kScope.settings,"settings.analytics.apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey")))}}),t.getScope().chains.events.buy.add({name:"doAnalytics",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doAnalytics");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.catclick.add({name:"clickRequestCheck",fire:function(t,n){e.clean(t.request.analytics);var s=t.request.analytics;try{var o=!1,a="";if(e.isUndefined(s.klevu_categoryName)?(o=!0,a="klevu_categoryName"):e.isUndefined(s.klevu_categoryPath)?(o=!0,a="klevu_categoryPath"):e.isUndefined(s.klevu_productId)?(o=!0,a="klevu_productId"):e.isUndefined(s.klevu_productName)?(o=!0,a="klevu_productName"):e.isUndefined(s.klevu_productUrl)&&(o=!0,a="klevu_productUrl"),o)throw new Error(a+" parameter is missing from the click analytics request!")}catch(t){return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","clickRequestCheck - Incorrect paramaters , data is missing"),e.logger.log("analytics.core","debug",t)})),!1}}}),t.getScope().chains.events.catclick.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.url.analyticsCat",!1);if(!s)return!1;t.context.url=s+e.getSetting(n.kScope.settings,"settings.analytics.url.catclick",!1)}}),t.getScope().chains.events.catclick.add({name:"addApiKey",fire:function(t,n){t.request.analytics.klevu_apiKey=e.getSetting(n.kScope.settings,"settings.analytics.apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey")))}}),t.getScope().chains.events.catclick.add({name:"doAnalytics",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doAnalytics");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.catview.add({name:"viewRequestCheck",fire:function(t,n){e.clean(t.request.analytics);var s=t.request.analytics;try{var o=!1,a="";if(e.isUndefined(s.klevu_categoryName)?(o=!0,a="klevu_categoryName"):e.isUndefined(s.klevu_categoryPath)?(o=!0,a="klevu_categoryPath"):e.isUndefined(s.klevu_productIds)&&(o=!0,a="klevu_productIds"),o)throw new Error(a+" parameter is missing from the term analytics request!")}catch(t){return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","viewRequestCheck - Incorrect paramaters , data is missing"),e.logger.log("analytics.core","debug",t)})),!1}}}),t.getScope().chains.events.catview.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.kScope.settings,"settings.url.analyticsCat",!1);if(!s)return!1;t.context.url=s+e.getSetting(n.kScope.settings,"settings.analytics.url.catview",!1)}}),t.getScope().chains.events.catview.add({name:"addApiKey",fire:function(t,n){t.request.analytics.klevu_apiKey=e.getSetting(n.kScope.settings,"settings.analytics.apiKey",e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("global.apiKey")))}}),t.getScope().chains.events.catview.add({name:"doAnalytics",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doAnalytics");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.events.collect.add({name:"collectRequestClean",fire:function(t,n){e.clean(t.request.collect)}}),t.getScope().chains.events.collect.add({name:"generateURL",fire:function(t,n){if(e.getObjectPath(n.kScope,"data.context.collectStorage.url",!1))t.context.url=e.getObjectPath(n.kScope,"data.context.collectStorage.url")+e.getSetting(n.kScope.settings,"settings.analytics.url.collect",!1);else{var s=e.getSetting(n.kScope.settings,"settings.url.analyticsCollect",!1);if(!s)return!1;t.context.url=s+e.getSetting(n.kScope.settings,"settings.analytics.url.collect",!1)}}}),t.getScope().chains.events.collect.add({name:"doAnalytics",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.actions.doAnalytics");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire()),n.kScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.actions.doAnalytics.add({name:"doRequest",fire:function(t,n){t.context.doRequest=!1;var s=e.getObjectPath(n.kScope,"chains.request.control");if(e.isUndefined(s)||0===s.list().length)return t.context.preventDefault=!0,n.kScope.data=t,!1;s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t}}),t.getScope().chains.request.ajax.send.add({name:"sendRequest",fire:function(t,n){"analyticsAjaxV1"===t.context.eventAction&&(t.scope=n,t.context.doRequest?e.ajax(t.context.url,{method:"GET",data:e.queryString(t.request.analytics),dataType:"xml",crossDomain:!0,success:function(t){var n=e.getObjectPath(t.requestDetails.scope.kScope,"chains.response.ajax.success");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.kElem),t.requestDetails.response.ajax.object=t,t.requestDetails.response.ajax.data=t.responseObj.data,t.requestDetails.context.status=t.status,t.requestDetails.context.isSuccess=t.isSuccess,n.setData(t.requestDetails),n.fire())},done:function(t){var n=e.getObjectPath(t.requestDetails.scope.kScope,"chains.response.ajax.done");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.kElem),t.requestDetails.response.ajax.object=t,t.requestDetails.response.ajax.data=t.responseObj.data,t.requestDetails.context.status=t.status,t.requestDetails.context.isSuccess=t.isSuccess,n.setData(t.requestDetails),n.fire())},error:function(t){var n=e.getObjectPath(t.requestDetails.scope.kScope,"chains.response.ajax.fail");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.kElem),t.requestDetails.response.ajax.object=t,t.requestDetails.response.ajax.data={},t.requestDetails.context.status=t.status,t.requestDetails.context.isSuccess=t.isSuccess,n.setData(t.requestDetails),n.fire())},requestDetails:t}):e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","sendRequest - Ajax - Request object is not present or request was forced stopped."),e.logger.log("analytics.core","debug",t)})))}}),t.getScope().chains.request.fetch.send.add({name:"sendRequest",fire:function(t,n){"analyticsFetchV1"===t.context.eventAction&&(t.scope=n,t.context.requestObject={url:t.context.url,type:"FETCH",method:"POST",mimeType:"application/json; charset=UTF-8",contentType:"application/json; charset=utf-8",crossDomain:!0,success:function(t,n,s,o){var a=e.getObjectPath(n.scope.kScope,"chains.response.success");e.isUndefined(a)||0===a.list().length||(a.setScope(n.scope.kElem),e.setObjectPath(n,"response.data",t),e.setObjectPath(n,"context.status",s),e.setObjectPath(n,"context.isSuccess",o),a.setData(n),a.fire())},error:function(t,n,s){var o=e.getObjectPath(t.scope.kScope,"chains.response.fail");e.isUndefined(o)||0===o.list().length||(o.setScope(t.scope.kElem),e.setObjectPath(t,"response.data",{}),e.setObjectPath(t,"context.status",n),e.setObjectPath(t,"context.isSuccess",s),o.setData(t),o.fire())},data:"["+JSON.stringify(t.request.collect)+"]"},t.context.requestDetails=e.extend(!0,{},t))}}),t.getScope().chains.request.control.add({name:"initRequest",fire:function(t,n){t.context.doRequest=!1;var s=e.getObjectPath(n.kScope,"chains.request.build");return e.isUndefined(s)||0===s.list().length?(t.context.preventDefault=!0,n.kScope.data=t,!1):(s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t,!1!==t.context.doRequest&&void 0)}}),t.getScope().chains.request.control.add({name:"makeRequest",fire:function(t,n){var s=e.getObjectPath(n.kScope,"chains.request.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t,!1}}),t.getScope().chains.request.build.add({name:"buildMap",fire:function(e,t){e.context.status=null,e.context.isSuccess=!1,e.context.doRequest=!0}}),t.getScope().chains.request.send.add({name:"requestTypeAjaxV1",fire:function(e,t){"term"!==e.context.eventAction&&"click"!==e.context.eventAction&&"buy"!==e.context.eventAction&&"catclick"!==e.context.eventAction&&"catview"!==e.context.eventAction||(e.context.eventAction="analyticsAjaxV1")}}),t.getScope().chains.request.send.add({name:"requestTypeFetchV1",fire:function(e,t){"collect"===e.context.eventAction&&(e.context.eventAction="analyticsFetchV1")}}),t.getScope().chains.request.send.addAfter("requestTypeAjaxV1",{name:"requestEncodeAjaxV1",fire:function(e,t){"analyticsAjaxV1"===e.context.eventAction&&t.kObject.encodeListAttrs(e)}}),t.getScope().chains.request.send.add({name:"requestTypeAjaxSendV1",fire:function(t,n){if("analyticsAjaxV1"===t.context.eventAction){var s=e.getObjectPath(n.kScope,"chains.request.ajax.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t,!1}}}),t.getScope().chains.request.send.add({name:"requestTypeFetchSendV1",fire:function(t,n){if("analyticsFetchV1"===t.context.eventAction){var s=e.getObjectPath(n.kScope,"chains.request.fetch.send");e.isUndefined(s)||0===s.list().length||(s.setScope(n.kElem),s.setData(t),s.fire(),n.kScope.data=t)}}}),t.getScope().chains.request.send.add({name:"requestSend",fire:function(t,n){"analyticsFetchV1"===t.context.eventAction&&e.request(t.context.requestObject,t.context.requestDetails)}}),t.getScope().chains.response.ajax.success.add({name:"checkForSuccess",fire:function(t,n){if(n.kScope.data=t,!1===t.context.isSuccess)return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","error","checkForSuccess - Ajax - Request was not successful."),e.logger.log("analytics.core","debug",t)})),!1;t.response.current=t.response.ajax.data,e.support.hook(["core.logger"],(function(){e.logger.log("analytics.core","info","checkForSuccess - Ajax - Request was successful."),e.logger.log("analytics.core","debug",t)}))}}),t.getScope().chains.response.ajax.success.add({name:"removeFromDictionary",fire:function(t,n){e.isUndefined(t.context.callbacks)||!1===t.context.callbacks||e.each(t.context.callbacks,(function(e,t){t.fire.apply(this,t.params)}))}}),t.getScope().chains.response.success.add({name:"checkForSuccess",fire:function(e,t){if(t.kScope.data=e,!1===e.context.isSuccess)return!1;e.response.current=e.response.ajax.data}}),t.getScope().chains.response.success.add({name:"removeFromDictionary",fire:function(t,n){!1!==t.context.callbacks&&e.each(t.context.callbacks,(function(e,t){t.fire.apply(this,t.params)}))}}),t.getScope().chains.response.fail.add({name:"removeFromDictionary",fire:function(t,n){!1!==t.context.callbacks&&e.each(t.context.callbacks,(function(e,t){t.fire.apply(this,t.params)}))}}),e.extend(!0,e,{analytics:{base:t,build:!0}})}(klevu),function(e){e.support.hook(["core.constructors"],(function(){e.constructors.isLoaded("analytics.collector")||(e.constructors.add({name:"analytics.collector",create:function(){let t={events:{list:[],observers:{},types:[],counters:{}},general:{apiKey:!1,scope:document.createElement("div"),eventTypeLimit:10,flags:{build:!1,init:!1}}},n={webhookSettings:{run:!0,object:"analytics",scope:"collector"},getAllSettings:function(){return t},getScope:function(){return this},addEvent:function(t){let n=this.chains.addEvent;e.isUndefined(n)||0===n.list().length||(n.setScope(this),n.setData(t),n.fire())},hasEventType(t){return e.inArray(t,this.getSetting("events.types",[]))>=0},addEventType:function(t){e.inArray(t,this.getSetting("events.types",[]))<0&&(this.getAllSettings().events.types.push(t),this.getSetting("events.observers."+t,!1)||this.setSetting("events.observers."+t,{}),this.setSetting("events.counters."+t,0))},clearEventTypes:function(t,n){let s={eventTypes:t,limit:n},o=this.chains.clearEvent;e.isUndefined(o)||0===o.list().length||(o.setScope(this),o.setData(s),o.fire())},clearAllEvents:function(){let e=this.getSetting("events.types",[]);e.length>0&&this.clearEventTypes(e,0)},registerObserver:function(t){let n=this.chains.registerObserver;e.isUndefined(n)||0===n.list().length||(n.setScope(this),n.setData(t),n.fire())},runObserverForOldEvents:function(t,s){e.each(this.getSetting("events.list",[]),(function(o,a){e.inArray(a.type,s)>=0&&n.runObserversForEvent(a,t)}))},runObserversForEvent:function(t,n){let s={eventData:t,observerName:n},o=this.chains.runObservers;e.isUndefined(o)||0===o.list().length||(o.setScope(this),o.setData(s),o.fire())},setApiKey:function(t){if(this.setSetting("general.apiKey",t),!this.getSetting("general.flags.init",!1)){let t=this.chains.init;e.isUndefined(t)||0===t.list().length||(t.setScope(this),t.setData(this.getAllSettings()),t.fire())}return this},getApiKey:function(){return this.getSetting("general.apiKey")},setEventTypeLimit:function(e){return this.setSetting("general.eventTypeLimit",e),this},setWebhookSettings:function(t){return e.event.webhook.helpers.setWebhookSettingsForScope(t,this),this},getWebhookSettings:function(){return e.event.webhook.helpers.getWebhookSettingsForScope(this)},hasSetting:function(n){return!!e.getObjectPath(t,n,!1)},getSetting:function(n,s){return e.isUndefined(s)&&(s=!1),e.getObjectPath(t,n,s)},setSetting:function(n,s){return e.setObjectPath(t,n,s),this},chains:e.constructors.get("analytics.collector").chains},s=n.chains.build;return e.isUndefined(s)||0===s.list().length||(s.setScope(n),s.setData(n.getAllSettings()),s.fire()),n},chains:{build:e.chain({stopOnFalse:!0,webhook:{name:"chains.build"}}),init:e.chain({stopOnFalse:!0,webhook:{name:"chains.init"}}),addEvent:e.chain({stopOnFalse:!0,webhook:{name:"chains.addEvent"}}),clearEvent:e.chain({stopOnFalse:!0,webhook:{name:"chains.clearEvent"}}),registerObserver:e.chain({stopOnFalse:!0,webhook:{name:"chains.registerObserver"}}),runObservers:e.chain({stopOnFalse:!0,webhook:{name:"chains.runObservers"}})}}),e.constructors.get("analytics.collector").chains.build.add({name:"beforeBuild",fire:function(t,n){e.event.webhook.helpers.fireEventForScope({webhookSettings:n.webhookSettings,name:"mainObject",action:"beforeBuild",data:n.getAllSettings(),scope:n})}}),e.constructors.get("analytics.collector").chains.build.add({name:"setBuildFlag",fire:function(e,t){t.setSetting("general.flags.build",!0)}}),e.constructors.get("analytics.collector").chains.build.add({name:"afterBuild",fire:function(t,n){e.event.webhook.helpers.fireEventForScope({webhookSettings:n.webhookSettings,name:"mainObject",action:"afterBuild",data:t,scope:n})}}),e.constructors.get("analytics.collector").chains.init.add({name:"initGlobalCollector",fire:function(t,n){e.event.eventList.build({name:"_klvAnalyticsEvent",global:!0}),_klvAnalyticsEvent.chain.add({name:"moveToCollector",fire:function(t,n){if(t.element.length>0){let n=[];e.each(t.element,(function(t,s){if(!e.getObjectPath(s,"type",!1))return void e.support.hook(["core.logger"],(function(){e.logger.log("analytics.collector","warn","_klvAnalyticsEvent - event_type not defined")}));let o=e.extend(!0,{},s);e.analytics.collector.addEvent(o),n.push(s)})),n.length>0&&e.eachReverse(n,(function(e,n){t.element.remove(n)}))}}}),_klvAnalyticsEvent.run()}}),e.constructors.get("analytics.collector").chains.init.add({name:"setInitFlag",fire:function(e,t){t.setSetting("general.flags.init",!0)}}),e.constructors.get("analytics.collector").chains.addEvent.add({name:"checkForEventType",fire:function(e,t){t.hasEventType(e.type)||t.addEventType(e.type)}}),e.constructors.get("analytics.collector").chains.addEvent.add({name:"beforeSaveEvent",fire:function(t,n){e.event.webhook.helpers.fireEventForScope({webhookSettings:n.webhookSettings,name:"addEvent",action:"before",data:t,scope:n})}}),e.constructors.get("analytics.collector").chains.addEvent.add({name:"addEventToList",fire:function(e,t){t.getSetting("events.list").push(e);let n=t.getSetting("general.eventTypeLimit"),s=t.getSetting("events.counters."+e.type,0)+1;t.setSetting("events.counters."+e.type,s),s>n&&t.clearEventTypes(e.type,n)}}),e.constructors.get("analytics.collector").chains.addEvent.add({name:"runObserversForEvent",fire:function(e,t){t.runObserversForEvent(e)}}),e.constructors.get("analytics.collector").chains.addEvent.add({name:"afterSaveEvent",fire:function(t,n){e.event.webhook.helpers.fireEventForScope({webhookSettings:n.webhookSettings,name:"addEvent",action:"after",data:t,scope:n})}}),e.constructors.get("analytics.collector").chains.clearEvent.add({name:"clearEvent",fire:function(t,n){e.isString(t.eventTypes)&&("all"===t.eventTypes?t.eventTypes=n.getSetting("events.types",[]):t.eventTypes=[t.eventTypes]);let s=[];if(0===t.eventTypes.length)return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.collector","debug","clearEventTypes - no event types to clean up")})),!0;if(e.each(t.eventTypes,(function(e,o){let a=n.getSetting("events.counters."+o,!1);a&&a>t.limit&&s.push(o)})),s.length>0){let o={},a=n.getSetting("events.list",[]);return e.eachReverse(a,(function(n,i){e.inArray(i.type,s)>=0&&(e.getObjectPath(o,i.type,0)>=t.limit?a.splice(n,1):e.setObjectPath(o,i.type,e.getObjectPath(o,i.type,0)+1))})),e.each(o,(function(e,t){n.setSetting("events.counters."+e,t)})),n.setSetting("events.list",a),e.support.hook(["core.logger"],(function(){e.logger.log("analytics.collector","debug","clearEventTypes - EventTypes "+a.join(",")+" clean up")})),!0}return e.support.hook(["core.logger"],(function(){e.logger.log("analytics.collector","debug","clearEventTypes - No EventTypes clean up as none are over limit")})),!0}}),e.constructors.get("analytics.collector").chains.registerObserver.add({name:"addObserver",fire:function(t,n){return e.isUndefined(t.name)&&(t.name=e.randomFunctionName()),e.isUndefined(t.processor)?(e.support.hook(["core.logger"],(function(){e.logger.log("analytics.collector","warn","registerObserver - processor not defined")})),!1):e.isUndefined(t.eventTypes)||!e.isArray(t.eventTypes)?(e.support.hook(["core.logger"],(function(){e.logger.log("analytics.collector","warn","registerObserver - eventTypes not defined")})),!1):(e.isUndefined(t.processOld)&&(t.processOld=!1),e.each(t.eventTypes,(function(e,s){n.getSetting("events.observers."+s,!1)||n.setSetting("events.observers."+s,{}),n.getSetting("events.observers."+s+"."+t.name,!1)||n.setSetting("events.observers."+s+"."+t.name,t.processor)})),t.processOld&&n.runObserverForOldEvents(t.name,t.eventTypes),!0)}}),e.constructors.get("analytics.collector").chains.runObservers.add({name:"runObservers",fire:function(t,n){let s=function(e,t){let s=n.getSetting("events.observers."+e.type+"."+t,!1);return!!s&&(s(e),!0)};if(!e.isUndefined(t.observerName))return s(t.eventData,t.observerName);e.each(n.getSetting("events.observers."+t.eventData.type,{}),(function(e,n){s(t.eventData,e)}))}}))})),e.support.hook(["analytics.collector"],(function(){e.settings.chains.initChain.add({name:"analyticsCollector",fire:function(t,n){var s=e.getGlobalSetting("analytics.apiKey",e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")));if(!e.isUndefined(s)){var o=e.getGlobalSetting("powerUp.analyticsCollector");if(!e.isUndefined(o)&&!1===o)return;if(e.getObjectPath(t,"flags.analyticsCollector.build",!1))return;e.setObjectPath(t,"flags.analyticsCollector.build",!0),e.analytics.collector.setApiKey(s)}}})})),e.support.isActive("analytics.collector")||(e.extend(!0,e,{analytics:{collector:e.constructors.construct("analytics.collector")}}),e.support.register({name:"analytics.collector",loaded:!0,active:!0,dependency:["core.constructors","core.lib","core.webhook"]}))}(klevu),function(e){e.support.hook(["analytics.collector"],(function(){e.support.isActive("analytics.dataExtract")||(e.extend(!0,e.analytics,{dataExtract:{processors:{product:{variantId:function(t){return e.isUndefined(t.variantId)?t.id:t.variantId},itemGroupId:function(t){return e.isUndefined(t.itemGroupId)||""===t.itemGroupId?t.id:t.itemGroupId},type:function(e){return e.typeOfRecord},position:function(e){return e.key}}},addProcessor:function(t,n,s){let o={};e.setObjectPath(o,t+"."+n,s),e.extend(!0,e.analytics.dataExtract.processors,o)},getProcessor:function(t,n){let s=new Function("item","return item['"+n+"'];");return e.getObjectPath(e.analytics.dataExtract.processors,t+"."+n,s)},search:{product:function(t){let n={},s=["id","variantId","itemGroupId","name","salePrice","price","startPrice","toPrice","basePrice","currency","brand","category","klevu_category","position","url","sku","rating","typeOfRecord"];return s=e.toUniqueArray(e.makeArray(e.getGlobalSetting("analytics.product.fields",[]),s)),e.each(s,(function(s,o){n[o]=e.analytics.dataExtract.getProcessor("product",o)(t)})),n},item:function(t){let n=!1;if("KLEVU_PRODUCT"===t.typeOfRecord)n=e.analytics.dataExtract.search.product(t);return n},queryFromScope:function(t,n){let s={foundRequest:!1,foundResponse:!1,request:{},response:{}};if(e.isUndefined(n)&&(n=e.getObjectPath(t.data,"context.section",!1)),!n)return s;"unknown"===n&&(n="productList");var o=e.getObjectPath(t.data,"request.current.recordQueries",!1);if(o||(o=e.getObjectPath(t.data,"request.original.recordQueries")),o){let e=o.filter((function(e){return e.id===n}))[0];e&&(s.foundRequest=!0,s.request=e)}var a=e.getObjectPath(t.data,"response.current.queryResults",!1);if(a){let e=a.filter((function(e){return e.id===n}))[0];e&&(s.foundResponse=!0,s.response=e)}return s},itemsFromScope:function(t){let n=e.analytics.dataExtract.search.queryFromScope(t),s=[];if(n.foundResponse){let t=e.getObjectPath(n,"response.meta.offset",0);e.each(e.getObjectPath(n,"response.records",[]),(function(n,o){o.key=n+1,o.offset=t;let a=e.analytics.dataExtract.search.item(o);a&&s.push(a)}))}return s},itemByIdFromScope:function(t,n){let s=e.analytics.dataExtract.search.queryFromScope(n),o=[];if(s.foundResponse){let n=e.getObjectPath(s,"response.meta.offset",0);e.each(e.getObjectPath(s,"response.records",[]),(function(s,a){if(a.key=s+1,a.offset=n,a.id===t){let t=e.analytics.dataExtract.search.item(a);t&&o.push(t)}}))}return o},metaFromScope:function(t){let n={searchedTerm:e.getObjectPath(t.data,"context.termOriginal",""),categoryName:"",categoryPath:"",pageNumber:"",pageStartsFrom:"",src:"",limit:"",sort:"",totalResults:"0",typeOfQuery:"WILDCARD_AND",isPersonalised:!1},s=e.analytics.dataExtract.search.queryFromScope(t);if(s.foundRequest){if(n.categoryName=e.getObjectPath(s.request,"settings.query.categoryPath",""),n.limit=e.getObjectPath(s.request,"settings.limit",""),n.sort=e.getObjectPath(s.request,"settings.sort",""),n.src="[[typeOfRecord:"+e.getObjectPath(s.request,"settings.typeOfRecords.0","KLEVU_PRODUCT")+"]]",n.typeOfRecords=e.getObjectPath(s.request,"settings.typeOfRecords",["KLEVU_PRODUCT"]).join(","),""!==n.categoryName){let t=e.getObjectPath(e.extensions,"abTest.catnav."+n.categoryName.toLowerCase(),!1);t&&(n.abTestId=t.abTestId,n.abTestVariantId=t.abTestVariantId,n.abTestSource=t.sourceId.toLowerCase()),n.categoryPath=n.categoryName,n.categoryName=n.categoryName?n.categoryName.split(";").pop():""}n.tags=e.getObjectPath(s.response,"meta.tags",[]),n.isPersonalised=e.getObjectPath(s.request,"settings.personalisation.enablePersonalisation",!1)}return s.foundResponse&&(n.totalResults=e.getObjectPath(s.response,"meta.totalResultsFound","0")||"0",n.typeOfQuery=e.getObjectPath(s.response,"meta.typeOfSearch","WILDCARD_AND"),n.pageNumber=Math.ceil(e.getObjectPath(s.response,"meta.offset",0)/e.getObjectPath(s.response,"meta.noOfResults",1))+1,""!==n.categoryName&&(n.pageStartsFrom=e.getObjectPath(s.response,"meta.offset",0))),n},filtersFromScope:function(t){let n=e.analytics.dataExtract.search.queryFromScope(t),s={activeFilters:!1,activeFiltersString:"",allFilters:[]};if(n.foundResponse){s.allFilters=e.getObjectPath(n.response,"filters",[]);let t="",o=!1;e.each(s.allFilters,(function(n,s){"SLIDER"==s.type?null!==s.start&&void 0!==s.start&&null!==s.end&&void 0!==s.end&&(s.start==s.min&&s.end==s.max||(o&&(t+=";;"),o=!0,t+=s.key+":"+s.start+" - "+s.end)):e.each(s.options,(function(e,n){n.selected&&(o&&(t+=";;"),o=!0,t+=s.key+":"+n.name)}))})),t+="",o&&(s.activeFilters=!0,s.activeFiltersString=t)}return s}},general:{bannerClick:function(e){}}}}),e.support.register({name:"analytics.dataExtract",loaded:!0,active:!0,dependency:["analytics.collector"]}))}))}(klevu),function(e){e.support.hook(["analytics.collector","analytics.utility","core.loader"],(function(){e.modules.loader.addModule({name:"analyticsProcessor",src:e.getGlobalSetting("modules.analyticsProcessor.url","https://statsjs.klevu.com/v2/")+"analytics.js"})}))}(klevu),function(e){var t={listOfModules:e.chain({stopOnFalse:!0}),addProcessors:function(){var t=e.assets.getProcessors();e.isUndefined(t.jsKmcModule)&&e.assets.addProcessor({type:"jsKmcModule",fire:function(t,n){e.extensions.kmcModulesLoader.loadCounter++;var s=e.assets.getProcessors().js(t,n);return e.extensions.kmcModulesLoader.loadCounter===n.totalToLoad&&(e.extensions.kmcModulesLoader.resourcesLoaded=!0),s}})},loadKmcModules:function(t){e.extensions.kmcModulesLoader.addProcessors(),e.extensions.kmcModulesLoader.resourceLoadInitiated=!0,e.extensions.kmcModulesLoader.loadCounter=0;var n={scriptList:[],apiKey:t},s=e.extensions.kmcModulesLoader.listOfModules;e.isUndefined(s)||0===s.list().length||(s.setScope({makeRequests:!0}),s.setData(n),s.fire()),n.scriptList.forEach((function(t){e.assets.getFile({url:t.src,type:"jsKmcModule",totalToLoad:n.scriptList.length})}))},build:!0,resourcesLoaded:!1,resourceLoadInitiated:!1};e.extend(!0,e,{extensions:{kmcModulesLoader:t}}),e.extensions.kmcModulesLoader.listOfModules.add({name:"klaviyoScript",fire:function(t,n){if(e.search.modules.kmcInputs.base.getDataPath("klevu_connectors.klaviyo.enabled",!1)){var s=e.getGlobalSetting("modules.klaviyoComponent.url",!1),o={src:(s||"https://klaviyo.klevu.com/v2/")+"klaviyo.js"};t.scriptList.push(o)}}}),e.extensions.kmcModulesLoader.listOfModules.add({name:"klaviyoUserScript",fire:function(t,n){if(e.search.modules.kmcInputs.base.getDataPath("klevu_connectors.klaviyo.segmentEnabled",!1)){var s=e.getGlobalSetting("modules.klaviyoComponent.url",!1),o={src:(s||"https://klaviyo.klevu.com/v2/")+"segments.js"};t.scriptList.push(o)}}}),e.extensions.kmcModulesLoader.listOfModules.add({name:"shopifyScript",fire:function(t,n){var s=e.search.modules.kmcInputs.base.getDataPath("klevu_connectors.shopify.enabled",!1);if(e.isUndefined(window.Shopify)||(s=!0),s){var o=e.getGlobalSetting("url.componentUrl",!1),a={src:(o||"https://js.klevu.com/components/")+"shopify/v2/shopify.js"};t.scriptList.push(a)}}}),e.extensions.kmcModulesLoader.listOfModules.add({name:"gtmScript",fire:function(t,n){if(e.search.modules.kmcInputs.base.getDataPath("klevu_connectors.gtm.enabled",!1)){var s=e.getGlobalSetting("url.componentUrl",!1),o={src:(s||"https://js.klevu.com/components/")+"gtm/v2/gtm.js"};t.scriptList.push(o)}}})}(klevu),klevu.settings.chains.initChain.add({name:"kmcModulesLoaderKmcCheck",fire:function(e,t){var n=klevu.getGlobalSetting("powerUp.kmcModulesLoader");if(klevu.isUndefined(n)||!1!==n){var s=klevu.getGlobalSetting("kmc.loaded");klevu.isUndefined(s)||!0!==s||klevu.setObjectPath(e,"powerUp.kmcModulesLoader",!0)}}}),klevu.settings.chains.initChain.add({name:"kmcModulesLoaderPowerUp",fire:function(e,t){var n=klevu.getGlobalSetting("search.apiKey",klevu.getGlobalSetting("global.apiKey"));if(!klevu.isUndefined(n)){var s=klevu.getGlobalSetting("powerUp.kmcModulesLoader");if(!klevu.isUndefined(s)&&!1===s)return;if(!0!==s)return;klevu.setObjectPath(e,"powerUp.kmcModulesLoader",!1);var o=klevu.getObjectPath(klevu.extensions,"kmcModulesLoader.resourcesLoaded");if(!klevu.isUndefined(o)&&!0===o)return;klevu.extensions.kmcModulesLoader.loadKmcModules(n)}}}),klevu.support.register({name:"kmcModulesLoader",loaded:!0,active:!0,dependency:["kmc"]}),function(e){e.extend({moiEvents:{}}),e.extend(!0,e.moiEvents,{filters:{moiFiltersClick:function(t,n){e.event.attach(t,"click",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.filters.clickChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))}},product:{moiProductIntent:function(t,n){e.event.attach(t,"click",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.product.intentChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))},moiProductClick:function(t,n){e.event.attach(t,"click",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.product.clickChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))}},menu:{moiMenuClick:function(t,n){e.event.attach(t,"click",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.menu.clickChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))},toggleMoiMenu:function(t){(t=t||window.event).preventDefault(),this.classList.contains(e.getSetting(this.moiScope.settings,"settings.moi.activeClass"))?e.moiEvents.menu.closeMoiMenu(this):e.moiEvents.menu.openMoiMenu(this)},openMoiMenu:function(t){var n={elem:this},s=e.moiEvents.chains.menu.openChain;e.isUndefined(s)||0===s.list().length||(s.setScope(t),s.setData(n),s.fire())},closeMoiMenu:function(t){var n={elem:this},s=e.moiEvents.chains.menu.closeChain;e.isUndefined(s)||0===s.list().length||(s.setScope(t),s.setData(n),s.fire())}},buttons:{moiButtonsClick:function(t,n){e.event.attach(t,"click",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.menu.clickChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))}},forms:{moiFormSubmit:function(t,n){e.event.attach(t,"submit",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.forms.submitChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))}},display:{fixView:function(t){var n=e.moiEvents.chains.display.fixViewChain;e.isUndefined(n)||0===n.list().length||(n.setScope(t),n.setData({resize:!0}),n.fire())},executeChain:function(t,n,s){let o=e.getObjectPath(e.moiEvents,t);e.isUndefined(o)||0===o.list().length||(o.setScope(s),o.setData(n),o.fire())},scrollToBottom:function(t){let n=e.dom.getFirst(e.getSetting(e.getGlobalSetting("moi.box",e.moi.base).getScope().settings,"settings.moi.chatList")+"[data-chat='"+e.getGlobalSetting("moi.box",e.moi.base).getScope().mode.mode+"']",e.getGlobalSetting("moi.box",e.moi.base).getScope().target),s=e.dom.helpers.getClosest(n,".ksMoiScrollableContent");s.scrollTop=s.scrollHeight},openMoi:function(t){let n={event:t=t||window.event,flags:{initHistoryOnOpen:!0}},s=this.moiScope.element;e.moiEvents.display.executeChain("chains.navigation.openChain",n,s)},forceOpenMoi:function(){let t=e.getGlobalSetting("moi.container").moiScope.element;e.moiEvents.display.executeChain("chains.navigation.openChain",{flags:{initHistoryOnOpen:!0,dispatchEventFocus:!0,setState:!0,setOverrideFocus:!0,maximiseChat:!0}},t)},closeMoi:function(t){let n={event:t=t||window.event},s=this.moiScope.target;e.moiEvents.display.executeChain("chains.navigation.closeChain",n,s)},forceCloseMoi:function(){let t=e.getGlobalSetting("moi.container").moiScope.element;e.moiEvents.display.executeChain("chains.navigation.closeChain",{flags:{setState:!0,setOverrideFocus:!0}},t)},safeCloseMoi:function(){let t=e.getGlobalSetting("moi.container").moiScope.element;e.moiEvents.display.executeChain("chains.navigation.closeChain",{flags:{setState:!0}},t)},minimiseToggleChat:function(t){let n=e.getGlobalSetting("moi.container").moiScope.element;e.moiEvents.display.executeChain("chains.navigation.toggleChain",{flags:{toggle:!0}},n)},minimiseChat:function(t){let n=e.getGlobalSetting("moi.container").moiScope.element;e.moiEvents.display.executeChain("chains.navigation.toggleChain",{flags:{minimize:!0}},n)},maximiseChat:function(t){let n=e.getGlobalSetting("moi.container").moiScope.element;e.moiEvents.display.executeChain("chains.navigation.toggleChain",{flags:{maximize:!0}},n)},activateChat:function(t,n){var s=e.moiEvents.chains.display.activateChatChain;e.isUndefined(s)||0===s.list().length||(s.setScope(n),s.setData(t),s.fire())},activateGeneralChat:function(){let t=e.getGlobalSetting("moi.box",e.moi.base).getScope().target;e.moiEvents.display.activateChat({mode:"general"},t)}},overlay:{init:function(t,n,s){n=e.extend(!0,n,{settings:{imageLocation:e.getGlobalSetting("moi.imageLocation","https://js.klevu.com/components/moi/v2/images")}}),"product"==t&&(e.moiEvents.overlay.renderProduct(n,s),e.isUndefined(e.moiEvents.overlay.productShortDesc)||e.moiEvents.overlay.productShortDesc(s)),"customerSupport"==t&&e.moiEvents.overlay.renderCustomerSupport(n,s),"feedback"==t&&e.moiEvents.overlay.renderFeedback(n,s),e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.cancelLink(s),e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.show(s)},renderProduct:function(t,n){var s=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productBlockContent"),t);n.moiScope.template.setData({product:t.dataset.id});var o=n.moiScope.template.convertTemplate(n.moiScope.template.render("productOverlay"));e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayProductBlock"),o).innerHTML=s.innerHTML,e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayContent"),n.moiScope.target).innerHTML=o.innerHTML,e.each(e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.productDirectLink"),e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayContent"),n.moiScope.target)),(function(t,s){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.product)||e.moiEvents.product.moiProductClick(s,n)}))},renderCustomerSupport:function(t,n){n.moiScope.template.setData(t);var s=n.moiScope.template.convertTemplate(n.moiScope.template.render("customerSupportOverlay"));e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayContent"),n.moiScope.target).innerHTML=s.innerHTML,e.each(e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.overlayForm"),e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayContent"),n.moiScope.target)),(function(t,s){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.forms)||e.moiEvents.forms.moiFormSubmit(s,n)}))},renderFeedback:function(t,n){n.moiScope.template.setData(t);var s=n.moiScope.template.convertTemplate(n.moiScope.template.render("feedbackOverlay"));e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayContent"),n.moiScope.target).innerHTML=s.innerHTML,e.each(e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.overlayForm"),e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.overlayContent"),n.moiScope.target)),(function(t,s){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.forms)||e.moiEvents.forms.moiFormSubmit(s,n)}))},cancelLink:function(t){e.each(e.dom.find(e.getSetting(t.moiScope.settings,"settings.moi.overlayClose"),e.dom.getFirst(e.getSetting(t.moiScope.settings,"settings.moi.overlay"),t.moiScope.target)),(function(n,s){e.event.attach(s,"click",(function(n){n.preventDefault(),e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.hide(t)}))}))},hide:function(t){e.dom.getFirst(e.getSetting(t.moiScope.settings,"settings.moi.overlay"),t.moiScope.target).style.display="none"},show:function(t){e.dom.getFirst(e.getSetting(t.moiScope.settings,"settings.moi.overlay"),t.moiScope.target).style.display="block"}},message:{openCloseExplain:function(t,n){e.event.attach(t,"click",(function(t){var s={elem:this,event:t=t||window.event},o=e.moiEvents.chains.message.toggleExplainChain;e.isUndefined(o)||0===o.list().length||(o.setScope(n),o.setData(s),o.fire())}))},submitMessage:function(t){t=t||window.event;var n={elem:e.dom.getFirst(".ksMoiInputField[data-chat='"+this.moiScope.mode.mode+"']",this),event:t},s=e.moiEvents.chains.message.submitMessageChain;e.isUndefined(s)||0===s.list().length||(s.setScope(this.moiScope.element),s.setData(n),s.fire())},keyUp:function(t){var n={elem:this,event:t=t||window.event},s=e.moiEvents.chains.message.keyUpChain;e.isUndefined(s)||0===s.list().length||(s.setScope(this.moiScope.element),s.setData(n),s.fire())}},init:{setState:function(t){e({component:{moi:{state:t}}}),e.moiEvents.init.saveStateToStorage(t)},setOverrideFocus:function(t){e({component:{moi:{overrideFocus:t}}}),e.moiEvents.init.saveOverrideFocusToStorage(t)},getState:function(){return e.getGlobalSetting("component.moi.state",!1)},getOverrideFocus:function(){return e.getGlobalSetting("component.moi.overrideFocus",!1)},loadDataFromStorage:function(){var t=e.dictionary("moiData");return t.setStorage("session"),t.mergeFromGlobal(),t},saveStateToStorage:function(t){var n=e.moiEvents.init.loadDataFromStorage();n.addElement("state",t),n.overrideGlobal()},saveOverrideFocusToStorage:function(t){var n=e.moiEvents.init.loadDataFromStorage();n.addElement("overrideFocus",t),n.overrideGlobal()},bindTyping:function(t){var n=t.getScope().element;e.event.attach(n,"focus",e.moiEvents.display.scrollToBottom,!0),e.event.attach(n,"blur",e.moiEvents.display.scrollToBottom,!0),n.form&&(n.form.moiObject=t,n.form.moiScope=n.form.moiObject.getScope(),n.form.moiElem=n.form.moiObject.getScope().element,e.event.attach(t.getScope().element.form,"submit",e.moiEvents.message.submitMessage,!0),e.moiEvents.init.initChatHistory(t,!0))},reInitCache:function(t){var n=e.getGlobalSetting("moi.apiKey",e.getGlobalSetting("global.apiKey"));t.getScope().history=e.dictionary("moiCache_"+n),t.getScope().history.setStorage("session"),t.getScope().history.mergeFromGlobal(),"sessionId"!==t.getScope().history.getElement("sessionId")&&e.setSetting(t.getScope().settings,"settings.moi.sessionId",t.getScope().history.getElement("sessionId"))},initChatHistory:function(t,n){if(n){if(!e.getSetting(t.getScope().settings,"settings.moi.initOnPageLoad",!1)||e.getGlobalSetting("flags.moi.initChat",!1))return!1}else if(e.getGlobalSetting("flags.moi.initChat",!1))return!1;e.moiEvents.init.reInitCache(t);var s=t.getScope().history.getElement("chat");if(0===(s="chat"===s?new Array:JSON.parse(s)).length)e.event.fireChain(t.getScope().element.moiScope,"chains.events.send",t.getScope().element,t.getScope().element.moiScope.data,null);else{var o=e.getObjectPath(t.getScope().element.moiScope,"chains.process.processLine"),a=e.getObjectPath(t.getScope().element.moiScope,"chains.process.display"),i=e.getObjectPath(t.getScope().element.moiScope,"chains.process.events");e.isUndefined(o)||0===o.list().length||(o.setScope(t.getScope().element),a.setScope(t.getScope().element),i.setScope(t.getScope().element),e.each(s,(function(t,n){if("message"===n.type){var s=n.data;if(s.fromHistory=!0,e.isUndefined(a)||0===a.list().length||(a.setData(s),a.fire()),!e.isUndefined(i)&&0!==i.list().length){var c={eventType:"message",message:s.message,note:s.note,explain:s.explain,tpl:s.tpl};i.setData(c),i.fire()}}else if("filter"===n.type||"products"===n.type){n.data.fromHistory=!0;var r=n.data;o.setData(r),o.fire()}})));var c=t.getScope().history.getElement("menuOptions");if("menuOptions"!==c){(c=JSON.parse(c)).line.fromHistory=!0;var r=c;o.setData(r),o.fire()}var l=t.getScope().history.getElement("genericOptions");if("genericOptions"!==l){(l=JSON.parse(l)).line.fromHistory=!0;r=l;o.setData(r),o.fire()}}e({flags:{moi:{initChat:!0}}})}}}),e.extend(!0,e.moiEvents,{chains:{filters:{clickChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.filters.click"}})},product:{intentChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.product.intent"}}),clickChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.product.click"}})},menu:{clickChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.menu.click"}}),openChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.menu.open"}}),closeChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.menu.close"}})},buttons:{clickChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.buttons.click"}})},forms:{submitChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.forms.submit"}})},display:{fixViewChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.display.fixView"}}),activateChatChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.display.activateChat"}})},message:{toggleExplainChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.message.toggleExplain"}}),submitMessageChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.message.submitMessage"}}),keyUpChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.message.keyUp"}})},navigation:{openChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.navigation.open"}}),closeChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.navigation.close"}}),toggleChain:e.chain({stopOnFalse:!0,webhook:{name:"chains.navigation.toggle"}})}}}),e.moiEvents.chains.message.toggleExplainChain.add({name:"preventDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.message.toggleExplainChain.add({name:"preventDefaultSubmission",fire:function(t,n){e.dom.helpers.getClosest(t.elem,".kumoimsgContent").classList.toggle("kumoiExplainOpen")}}),e.moiEvents.chains.filters.clickChain.add({name:"preventDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.filters.clickChain.add({name:"activateFilter",fire:function(t,n){t.elem.classList.toggle(e.getSetting(n.moiScope.settings,"settings.moi.activeClass"))}}),e.moiEvents.chains.filters.clickChain.add({name:"collectData",fire:function(t,n){n.moiScope.data=n.moiObject.resetData();var s=[],o=[];e.each(e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.filterAction")+".active",e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.filters"))),(function(e,t){s.push(t.dataset.value),o.push(t.innerHTML)})),n.moiScope.data.request.filter.value=s.join(";"),n.moiScope.data.request.filter.value?n.moiScope.data.request.message=e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.filters")).dataset.chat.replace(e.getSetting(n.moiScope.settings,"settings.moi.filterSearchReplace"),o.join(e.getSetting(n.moiScope.settings,"settings.moi.filterDelimiterWord"))):n.moiScope.data.request.message=e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.filters")).dataset.chatEmpty,n.moiScope.data.context.preventDefault=!1}}),e.moiEvents.chains.filters.clickChain.add({name:"printMessage",fire:function(t,n){var s={displayType:"message",type:e.getSetting(n.moiScope.settings,"settings.moi.rightClass"),message:n.moiScope.data.request.message,tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.filters.clickChain.add({name:"addLoading",fire:function(t,n){var s={displayType:"loading",type:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),message:"loading",tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.filters.clickChain.add({name:"send",fire:function(t,n){e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,t.event)}}),e.moiEvents.chains.product.intentChain.add({name:"preverntDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.product.intentChain.add({name:"quickviewIntent",fire:function(t,n){if("quick-view"===t.elem.dataset.intent)return e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.init("product",e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock")),n),!1}}),e.moiEvents.chains.product.intentChain.add({name:"subChatIntent",fire:function(t,n){if("product-specific-question"===t.elem.dataset.intent){let s={mode:"product-specific-question",className:"Product",url:e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productDirectLink"),e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"))).getAttribute("href"),id:e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock")).dataset.id,image:e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productImage",".ksMoiProductImage"),e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"))).getAttribute("src"),name:e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productName",".ksMoiProductName"),e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"))).innerHTML,price:e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productPrice",".ksMoiProductPrice"),e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"))).innerHTML,title:t.elem.dataset.chat};return e.moiEvents.display.activateChat(s,n),!1}}}),e.moiEvents.chains.product.intentChain.add({name:"collectData",fire:function(t,n){n.moiScope.data=n.moiObject.resetData(),n.moiScope.data.request.message=t.elem.dataset.chat;var s=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productDirectLink"),e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"))),o=e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"));n.moiScope.data.request.product={id:o.dataset.id,intent:t.elem.dataset.intent,context:{url:s.getAttribute("href")}},n.moiScope.data.context.preventDefault=!1}}),e.moiEvents.chains.product.intentChain.add({name:"printMessage",fire:function(t,n){var s={displayType:"message",type:e.getSetting(n.moiScope.settings,"settings.moi.rightClass"),message:n.moiScope.data.request.message,tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.product.intentChain.add({name:"addLoading",fire:function(t,n){var s={displayType:"loading",type:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),message:"loading",tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.product.intentChain.add({name:"send",fire:function(t,n){e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,t.event)}}),e.moiEvents.chains.product.clickChain.add({name:"preverntDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.product.clickChain.add({name:"collectData",fire:function(t,n){n.moiScope.data=n.moiObject.resetData();var s=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.productDirectLink"),e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"))),o=e.dom.helpers.getClosest(t.elem,e.getSetting(n.moiScope.settings,"settings.moi.productBlock"));n.moiScope.data.request.product={id:o.dataset.id,intent:"redirect",context:{url:s.getAttribute("href")}},n.moiScope.data.context.preventDefault=!1}}),e.moiEvents.chains.product.clickChain.add({name:"overlayClose",fire:function(t,n){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.hide(n)}}),e.moiEvents.chains.product.clickChain.add({name:"send",fire:function(t,n){e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,t.event)}}),e.moiEvents.chains.buttons.clickChain.add({name:"preverntDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.buttons.clickChain.add({name:"collectData",fire:function(e,t){t.moiScope.data=t.moiObject.resetData(),t.moiScope.data.request.message=e.elem.dataset.chat,t.moiScope.data.context.preventDefault=!1}}),e.moiEvents.chains.buttons.clickChain.add({name:"printMessage",fire:function(t,n){var s={displayType:"message",type:e.getSetting(n.moiScope.settings,"settings.moi.rightClass"),message:n.moiScope.data.request.message,tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.buttons.clickChain.add({name:"message",fire:function(t,n){"message"===t.elem.dataset.action&&e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,t.event)}}),e.moiEvents.chains.buttons.clickChain.add({name:"clearChat",fire:function(t,n){if("clearChat"===t.elem.dataset.action){var s=e.getObjectPath(n.moiScope,"chains.process.actions");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);s.setData({type:"clearChat",context:{value:!0}}),s.fire()}}}}),e.moiEvents.chains.forms.submitChain.add({name:"preverntDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.forms.submitChain.add({name:"validation",fire:function(t,n){var s=!0;if(e.each(e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.overlayFormItem"),t.elem),(function(t,o){if(o.classList.remove(e.getSetting(n.moiScope.settings,"settings.moi.overlayFormInvalid")),""!==o.dataset.validations){var a=o.dataset.validations.split("");e.each(a,(function(t,a){switch(a){case"R":""===o.value&&(o.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.overlayFormInvalid")),s=!1);break;case"N":e.isNumeric(o.value)||(o.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.overlayFormInvalid")),s=!1);break;case"E":/\S+@\S+\.\S+/.test(o.value)||(o.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.overlayFormInvalid")),s=!1)}}))}})),!s)return!1}}),e.moiEvents.chains.forms.submitChain.add({name:"collectData",fire:function(t,n){n.moiScope.data=n.moiObject.resetData();var s={type:t.elem.dataset.type,params:[]};e.each(e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.overlayFormItem"),t.elem),(function(e,t){var n=!0;"radio"==t.type&&!1===t.checked&&(n=!1),n&&s.params.push({key:t.name,value:t.value})})),n.moiScope.data.request.form=s,n.moiScope.data.context.preventDefault=!1}}),e.moiEvents.chains.forms.submitChain.add({name:"closeOverlay",fire:function(t,n){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.hide(n)}}),e.moiEvents.chains.forms.submitChain.add({name:"closeMoiMenu",fire:function(t,n){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.menu)||e.moiEvents.menu.closeMoiMenu(n)}}),e.moiEvents.chains.forms.submitChain.add({name:"send",fire:function(t,n){e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,event)}}),e.moiEvents.chains.menu.clickChain.add({name:"preverntDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.menu.clickChain.add({name:"message",fire:function(t,n){if("message"===t.elem.dataset.action){n.moiScope.data=n.moiObject.resetData(),n.moiScope.data.request.message=t.elem.dataset.chat,n.moiScope.data.context.preventDefault=!1;var s={displayType:"message",type:e.getSetting(n.moiScope.settings,"settings.moi.rightClass"),message:n.moiScope.data.request.message,tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event);var o={displayType:"loading",type:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),message:n.moiScope.data.request.message,tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,o,t.event),e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,t.event)}}}),e.moiEvents.chains.menu.clickChain.add({name:"clearChat",fire:function(t,n){if("clearChat"===t.elem.dataset.action){n.moiScope.data=n.moiObject.resetData(),n.moiScope.data.request.message=t.elem.dataset.chat;var s=e.getObjectPath(n.moiScope,"chains.process.actions");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);s.setData({type:"clearChat",context:{value:!0}}),s.fire()}}}}),e.moiEvents.chains.menu.clickChain.add({name:"customerSupport",fire:function(t,n){if("customerSupport"===t.elem.dataset.action){var s=JSON.parse(decodeURIComponent(t.elem.dataset.options)),o={chat:t.elem.dataset.chat,type:t.elem.dataset.action};e.isArray(s)&&s.length>0&&(e.each(s,(function(e,t){t.key&&(o[t.key]={value:t.value,validations:t.validations,key:t.key})})),e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.init("customerSupport",o,n))}}}),e.moiEvents.chains.menu.clickChain.add({name:"feedback",fire:function(t,n){if("feedback"===t.elem.dataset.action){var s=JSON.parse(decodeURIComponent(t.elem.dataset.options)),o={chat:t.elem.dataset.chat,type:t.elem.dataset.action};e.isArray(s)&&s.length>0&&(e.each(s,(function(e,t){t.key&&(o[t.key]={value:t.value,validations:t.validations,key:t.key})})),e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.init("feedback",o,n))}}}),e.moiEvents.chains.menu.clickChain.add({name:"closeMenu",fire:function(t,n){"feedback"!==t.elem.dataset.action&&"customerSupport"!==t.elem.dataset.action&&(e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.menu)||e.moiEvents.menu.closeMoiMenu(n))}}),e.moiEvents.chains.menu.openChain.add({name:"openMoiMenu",fire:function(t,n){var s=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.menuBox"),n.moiScope.target),o=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.menuBoxButton"),n.moiScope.target);s.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.activeClass")),o.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.activeClass"))}}),e.moiEvents.chains.menu.closeChain.add({name:"closeMoiMenu",fire:function(t,n){var s=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.menuBox"),n.moiScope.target),o=e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.menuBoxButton"),n.moiScope.target);s.classList.remove(e.getSetting(n.moiScope.settings,"settings.moi.activeClass")),o.classList.remove(e.getSetting(n.moiScope.settings,"settings.moi.activeClass"))}}),e.moiEvents.chains.display.fixViewChain.add({name:"resizeChat",fire:function(t,n){e.moiEvents.display.scrollToBottom()}}),e.moiEvents.chains.display.activateChatChain.add({name:"toggleChat",fire:function(t,n){e.each(e.dom.find(".ksMoiChatWraper",n.target),(function(e,t){t.classList.remove("active")})),e.dom.getFirst(".ksMoiChatWraper[data-chat='"+t.mode+"']",n.target).classList.add("active")}}),e.moiEvents.chains.display.activateChatChain.add({name:"checkIfChatIsProduct",fire:function(t,n){if("product-specific-question"===t.mode){n.moiScope.mode.url=t.url,n.moiScope.mode.id=t.id,n.moiScope.mode.mode=t.mode,n.moiScope.template.setData(t);let o=n.moiScope.template.convertTemplate(n.moiScope.template.render("secondChatHeader"));e.dom.getFirst(".ksMoiChatWraper[data-chat='"+t.mode+"'] .kumoi"+t.className+"ChatHeader"+t.className,n.target).innerHTML=o.innerHTML;let a=e.dom.getFirst(".ksMoiChatWraper[data-chat='"+t.mode+"'] .ksMoiInputField[data-chat='"+t.mode+"']",n.target);a.placeholder=a.dataset.placeholder,e.dom.getFirst(".ksMoiChatWraper[data-chat='"+t.mode+"'] .kumoi"+t.className+"ChatHeaderTitle",n.target).innerHTML=t.title;var s=e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.chatList")+"[data-chat='"+n.moiScope.mode.mode+"']> div",n.moiScope.target);e.each(s,(function(e,t){t.parentNode.removeChild(t)}))}}}),e.moiEvents.chains.display.activateChatChain.add({name:"checkIfChatIsGeneral",fire:function(e,t){"general"===e.mode&&(delete t.moiScope.mode.url,delete t.moiScope.mode.id,t.moiScope.mode.mode="general")}}),e.moiEvents.chains.message.submitMessageChain.add({name:"preverntDefaultSubmission",fire:function(e,t){e.event.preventDefault()}}),e.moiEvents.chains.message.submitMessageChain.add({name:"closeOverlay",fire:function(t,n){e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.overlay)||e.moiEvents.overlay.hide(n)}}),e.moiEvents.chains.message.submitMessageChain.add({name:"checkForEmpty",fire:function(e,t){if(""===e.elem.value)return!1}}),e.moiEvents.chains.message.submitMessageChain.add({name:"collectData",fire:function(e,t){t.moiScope.data=t.moiObject.resetData(),t.moiScope.data.request.message=e.elem.value,t.moiScope.data.context.preventDefault=!1,e.elem.value=""}}),e.moiEvents.chains.message.submitMessageChain.add({name:"checkForMode",fire:function(e,t){t.moiScope.data.context.mode=e.elem.dataset.chat,"product-specific-question"===t.moiScope.data.context.mode&&(t.moiScope.data.context.id=t.moiScope.mode.id,t.moiScope.data.context.productUrl=t.moiScope.mode.url)}}),e.moiEvents.chains.message.submitMessageChain.add({name:"printMessage",fire:function(t,n){var s={displayType:"message",type:e.getSetting(n.moiScope.settings,"settings.moi.rightClass"),message:n.moiScope.data.request.message,tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.message.submitMessageChain.add({name:"addLoading",fire:function(t,n){var s={displayType:"loading",type:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),message:"loading",tpl:null};e.event.fireChain(n.moiScope,"chains.process.display",n.moiScope.element,s,t.event)}}),e.moiEvents.chains.message.submitMessageChain.add({name:"send",fire:function(t,n){e.event.fireChain(n.moiScope,"chains.events.send",n.moiScope.element,n.moiScope.data,t.event)}}),e.moiEvents.chains.navigation.openChain.add({name:"eventPrevent",fire:function(t,n){e.getObjectPath(t,"event",!1)&&t.event.preventDefault()}}),e.moiEvents.chains.navigation.openChain.add({name:"initChatHistory",fire:function(t,n){e.getObjectPath(t,"flags.initHistoryOnOpen",!0)&&e.moiEvents.init.initChatHistory(n.moiObject,!1)}}),e.moiEvents.chains.navigation.openChain.add({name:"addActiveClass",fire:function(t,n){n.moiScope.target.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.activeClass"))}}),e.moiEvents.chains.navigation.openChain.add({name:"fixView",fire:function(t,n){e.getObjectPath(e.moiEvents,"display.fixView",!1)&&e.moiEvents.display.fixView(n.moiScope.element)}}),e.moiEvents.chains.navigation.openChain.add({name:"dispatchEventFocus",fire:function(t,n){if(e.getObjectPath(t,"flags.dispatchEventFocus",!0)){let t,s=n.moiScope.target,o="onfocusin"in s?"focusin":"focus",a="onfocusin"in s;"createEvent"in document?(t=document.createEvent("Event"),t.initEvent(o,a,!0)):"Event"in window&&(t=new Event(o,{bubbles:a,cancelable:!0})),e.getSetting(n.moiScope.settings,"settings.moi.focusOnActive",!1)&&(e.dom.getFirst("#message",s).focus(),e.dom.getFirst("#message",s).dispatchEvent(t))}}}),e.moiEvents.chains.navigation.openChain.add({name:"setState",fire:function(t,n){e.getObjectPath(t,"flags.setState",!0)&&e.moiEvents.init.setState(!0)}}),e.moiEvents.chains.navigation.openChain.add({name:"setOverrideFocus",fire:function(t,n){e.getObjectPath(t,"flags.setOverrideFocus",!0)&&e.moiEvents.init.setOverrideFocus(!0)}}),e.moiEvents.chains.navigation.openChain.add({name:"positionContainer",fire:function(t,n){if(!e.isUndefined(n.moiScope.activeQuick)&&e.getGlobalSetting("moi.displayInQuick",!1)){var s,o,a,i,c,r,l,u;if(g=document,m=g.body,h=g.documentElement,f=window,v=0,void 0!==f.innerWidth&&(v=f.innerWidth),c=(p="number"==typeof m.clientWidth?m.clientWidth:void 0!==h&&void 0!==h.clientWidth&&0!=h.clientWidth?h.clientWidth:g.getElementsByTagName("body")[0].clientWidth)>=v-17?p:v,r=function(){var e=document,t=e.body,n=e.documentElement,s=window;return void 0!==s.innerHeight?s.innerHeight:"number"==typeof t.clientHeight?t.clientHeight:void 0!==n&&void 0!==n.clientHeight&&0!=n.clientHeight?n.clientHeight:e.getElementsByTagName("body")[0].clientHeight}(),c<640)return;s=function(e){for(var t,n=0,s=0,o=e,a=document,i=a.body,c=!1,r=window;o&&"body"!==o.tagName.toLowerCase();)if(r.getComputedStyle||(r.getComputedStyle=function(e,t){return this.searchBox=e,this.getPropertyValue=function(t){var n=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),n.test(t)&&(t=t.replace(n,(function(){return arguments[2].toUpperCase()}))),e.currentStyle[t]?e.currentStyle[t]:null},this}),t=r.getComputedStyle(o,null)){if("fixed"===t.getPropertyValue("position")){c=!0;break}o=o.parentNode}else o=o.parentNode;for(var l=1,u=void 0!==r.pageYOffset?r.pageYOffset:(a.documentElement||i.parentNode||i).scrollTop;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)n+=e.offsetLeft-e.scrollLeft,c&&1===l?(s+=e.offsetTop+u,l=0):s+=e.offsetTop,e=e.offsetParent;return{top:s,left:n}}(n.moiScope.activeQuick.kScope.element),a=s.top,o=s.left,l=c/2,i=n.moiScope.activeQuick.kScope.element.offsetWidth;let t,b,S=n.moiScope.activeQuick.kScope.element.offsetHeight+a+"px";o+e.getGlobalSetting("moi.sizeOfChat",n.moiScope.target.clientWidth)>=l?(t=c-(o+i)+"px",b="auto"):(t="auto",b=o+"px"),u=Math.floor(.8*r)+"px";var d=e.getSetting(n.moiScope.settings,"settings.moi.containerTarget");e.dom.getFirst(".moiContainer",d).style="position:absolute;top:"+S+";left: "+b+";right: "+t+";height:"+u}var p,g,m,h,f,v}}),e.moiEvents.chains.navigation.openChain.add({name:"setToMaximise",fire:function(t,n){e.getObjectPath(t,"flags.maximiseChat",!0)&&e.getGlobalSetting("moi.displayInQuick",!1)&&e.moiEvents.display.maximiseChat()}}),e.moiEvents.chains.navigation.closeChain.add({name:"eventPrevent",fire:function(t,n){e.isUndefined(t.event)||t.event.preventDefault()}}),e.moiEvents.chains.navigation.closeChain.add({name:"removeActiveClass",fire:function(t,n){n.moiScope.target.classList.remove(e.getSetting(n.moiScope.settings,"settings.moi.activeClass"))}}),e.moiEvents.chains.navigation.closeChain.add({name:"setState",fire:function(t,n){e.getObjectPath(t,"flags.setState",!0)&&e.moiEvents.init.setState(!1)}}),e.moiEvents.chains.navigation.closeChain.add({name:"setOverrideFocus",fire:function(t,n){e.getObjectPath(t,"flags.setOverrideFocus",!0)&&e.moiEvents.init.setOverrideFocus(!1)}}),e.moiEvents.chains.navigation.closeChain.add({name:"tryToRefocus",fire:function(t,n){if(!e.isUndefined(n.moiScope.activeQuick)&&e.getGlobalSetting("moi.displayInQuick",!1))try{n.moiScope.activeQuick.focus()}catch(e){}}}),e.moiEvents.chains.navigation.toggleChain.add({name:"checksForWindowSearch",fire:function(t,n){e.getGlobalSetting("moi.displayInQuick",!1)||n.moiScope.target.classList.contains("active")&&e.getObjectPath(t,"flags.toggle",!1)&&(e.getObjectPath(t,"flags.toggle",!1)?n.moiScope.target.classList.toggle("moiMinimized"):e.getObjectPath(t,"flags.maximize",!1)?n.moiScope.target.classList.remove("moiMinimized"):e.getObjectPath(t,"flags.minimize",!1)&&n.moiScope.target.classList.add("moiMinimized"))}}),e.moiEvents.chains.navigation.toggleChain.add({name:"checksForInSearch",fire:function(t,n){n.moiScope.target.classList.contains("active")&&e.getGlobalSetting("moi.displayInQuick",!1)&&(e.getObjectPath(t,"flags.minimize",!1)&&n.moiScope.target.classList.remove("active"),e.getObjectPath(t,"flags.maximize",!1)&&n.moiScope.target.classList.add("active"))}}),e.extend({moiObjectBuild:function(){var t={settings:{},webhookSettings:{run:!0,object:"moi",scope:"all,base"}};function n(e){t.element=document.createElement("input"),t.element.moiObject=e,t.element.moiScope=t,t.element.moiElem=t.element,t.element.webhookSettings=e.getWebhookSettings()}function s(){return{context:{klevuApiKey:null},request:{context:{sessionId:null,klevuApiKey:null},message:null,filter:{},product:{},form:{}},response:{current:{}},scope:{}}}e.setObjectPath(t,"id",e.randomId()),e.setObjectPath(t,"history",e.dictionary("moiCache")),t.history.setStorage("session"),t.history.mergeFromGlobal(),e.setSetting(t.settings,"settings.moi.lastMessage",e.time.timestamp()-3600),"sessionId"!==t.history.getElement("sessionId")&&e.setSetting(t.settings,"settings.moi.sessionId",t.history.getElement("sessionId")),e.setObjectPath(t,"template",e.template()),t.template.setWebhookSettings({run:t.webhookSettings.run,object:t.webhookSettings.object,scope:t.webhookSettings.scope}),e.setObjectPath(t,"chains.actions.doMoi",e.chain({stopOnFalse:!0,webhook:{name:"chains.actions.doMoi"}})),e.setObjectPath(t,"chains.actions.finalise",e.chain({stopOnFalse:!0,webhook:{name:"chains.actions.finalise"}})),e.setObjectPath(t,"chains.events.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.events.send"}})),e.setObjectPath(t,"chains.request.control",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.control"}})),e.setObjectPath(t,"chains.request.build",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.build"}})),e.setObjectPath(t,"chains.request.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.send"}})),e.setObjectPath(t,"chains.request.ajax.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.ajax.send"}})),e.setObjectPath(t,"chains.request.fetch.send",e.chain({stopOnFalse:!0,webhook:{name:"chains.request.fetch.send"}})),e.setObjectPath(t,"chains.response.success",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.success"}})),e.setObjectPath(t,"chains.response.done",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.done"}})),e.setObjectPath(t,"chains.response.fail",e.chain({stopOnFalse:!0,webhook:{name:"chains.response.fail"}})),e.setObjectPath(t,"chains.process.display",e.chain({stopOnFalse:!0,webhook:{name:"chains.process.display"}})),e.setObjectPath(t,"chains.process.events",e.chain({stopOnFalse:!0,webhook:{name:"chains.process.events"}})),e.setObjectPath(t,"chains.process.processLine",e.chain({stopOnFalse:!0,webhook:{name:"chains.process.processLine"}})),e.setObjectPath(t,"chains.process.render",e.chain({stopOnFalse:!0,webhook:{name:"chains.process.render"}})),e.setObjectPath(t,"chains.process.actions",e.chain({stopOnFalse:!0,webhook:{name:"chains.process.actions"}})),t.data={context:{klevuApiKey:null},request:{context:{sessionId:null,klevuApiKey:null},message:null,filter:{},product:{},form:{}},response:{current:{}},scope:{}},t.mode={mode:"general"};var o={init:n,resetData:function(){var e=s();return t.data.context=e.context,t.data.request=e.request,t.data.response=e.response,t.data.scope=null,t.data},buildData:s,setScope:function(e){return t=e},getScope:function(){return t},setWebhookSettings:function(n){return n&&(t.webhookSettings=e.extend(!0,t.webhookSettings,n),t.template.setWebhookSettings({run:t.webhookSettings.run,object:t.webhookSettings.object,scope:t.webhookSettings.scope})),this},getWebhookSettings:function(){return t.webhookSettings}};return n(o),o}});e({moi:{dateDelay:900,redirectDelay:2e3,focusOnActive:!1,moiTarget:".moiContainer",chatList:".ksMoiChatContent",inputBox:"#message",buttonsBox:".moiButtons",activateButton:".toggleMoi",menuBox:".moiMenu",menuBoxButton:".toggleMoiMenu",products:"div.moiProductSlider",productAction:"a.ksMoiProductAction",productBlock:".moiProductBlock",productBlockContent:".moiProductContent",productDirectLink:"a.ksMoiProductLink",productLink:".moiProductlinks",productSlider:".moiProductSlidesContainer",productSlide:".moiSlides",productSliderArrow:".moiSliderArrowNav",productSliderDots:".moiSliderdot",filters:"div.kumoifilterList",filterAction:"a.kumoifiltername",buttonAction:"a.kumoifiltername",menuAction:"a.moi-menuOption",leftClass:"fromkumoi",rightClass:"fromUser",filterDelimiterWord:" and ",filterSearchReplace:"$VALUE$",overlay:".kumoiOverlay",overlayContent:".kumoiOverlayContent",overlayProductBlock:".moiQuickViewProductBlock",overlayClose:".kumoiOverlayClose",closeChat:".Kumoi-Closeicon",cancelChat:".ksMoiCancelIcon",minimiseChat:".ksMoiMinimise",maximiseChat:".kumoiLogoMinimized",overlayForm:".moiQuickViewFormContent",overlayFormItem:".moiQuickViewFormField",overlayFormError:".moiQuickViewFormErrors",overlayFormInvalid:"invalid",overlayProductShortDesc:".moiProductShortDesc",overlayProductShortDescActive:"ksMoiOpenText",activeClass:"active",inactiveClass:"inactive",disabledClass:"disabled"}}),e.support.register({name:"moi",loaded:!0,active:!0,dependency:["core.lib"]}),e.extensions.kmcModulesLoader.listOfModules.add({name:"moiScript",fire:function(t,n){var s=e.search.modules.kmcInputs.base.getDataPath("klevu_moi.enabled",!1),o=e.search.modules.kmcInputs.base.getDataPath("features.moi.displayInQuick",!1);if(o&&e({moi:{displayInQuick:o}}),s||(s=e.search.modules.kmcInputs.base.getDataPath("features.moi.status",!1)),s){var a=e.getGlobalSetting("moi.theme",!1);if(a){c={src:a};t.scriptList.push(c)}else{var i=e.getGlobalSetting("url.componentUrl",!1),c={src:(i||"https://js.klevu.com/components/")+"moi/v2/moi.js"};t.scriptList.push(c)}}}})}(klevu),function(e){var t=e.moiObjectBuild();t.getScope().chains.actions.doMoi.add({name:"doRequest",fire:function(t,n){t.context.doRequest=!1;var s=e.getObjectPath(n.moiScope,"chains.request.control");if(e.isUndefined(s)||0===s.list().length)return t.context.preventDefault=!0,n.moiScope.data=t,!1;s.setScope(n.moiElem),s.setData(t),s.fire(),n.moiScope.data=t}}),t.getScope().chains.events.send.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.moiScope.settings,"settings.url.moi","//moi-ai.ksearchnet.com/chat/send");if(!s)return!1;t.context.url=s}}),t.getScope().chains.events.send.add({name:"addApiKey",fire:function(t,n){var s=e.getSetting(n.moiScope.settings,"settings.moi.apiKey",e.getGlobalSetting("moi.apiKey",e.getGlobalSetting("global.apiKey")));if(e.isUndefined(s))return!1;t.context.apiKey=s,t.request.context.klevuApiKey=s;var o=e.getSetting(n.moiScope.settings,"settings.moi.sessionId",!1);o&&(t.request.context.sessionId=o)}}),t.getScope().chains.events.send.add({name:"addUserData",fire:function(t,n){if(e.support.isActive("user")){let n=e.user.getIpData();e.isUndefined(n.ipv4)||(t.request.context.ipAddressV4=n.ipv4),e.isUndefined(n.ipv6)||(t.request.context.ipAddressV6=n.ipv6),e.isUndefined(n.uuid)||(t.request.context.klevu_uuid=n.uuid)}e.support.isActive("core.dataProtection")&&(t.request.context.dataProtection=e.dataProtection.dataCanBeTracked())}}),t.getScope().chains.events.send.add({name:"addExtraContextForProduct",fire:function(e,t){"product-specific-question"===e.context.mode&&(e.request.context.url=e.context.productUrl,e.request.context.productId=e.context.id,e.request.context.mode=e.context.mode)}}),t.getScope().chains.events.send.add({name:"doMoi",fire:function(t,n){var s=e.getObjectPath(n.moiScope,"chains.actions.doMoi");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.moiElem),s.setData(t),s.fire()),n.moiScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.request.ajax.send.add({name:"sendRequest",fire:function(t,n){"moiAjaxV1"===t.context.eventAction&&(t.scope=n,t.context.doRequest?e.ajax({url:t.context.url,dataType:"json",contentType:"application/json; charset=utf-8",type:"POST",data:JSON.stringify(t.request),crossDomain:!0,success:function(t){var n=e.getObjectPath(t.requestDetails.scope.moiScope,"chains.response.success");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.moiElem),t.requestDetails.response=t.responseObj.data.data,t.requestDetails.context.status=t.status,t.requestDetails.context.isSuccess=t.isSuccess,n.setData(t.requestDetails),n.fire())},done:function(t){var n=e.getObjectPath(t.requestDetails.scope.moiScope,"chains.response.done");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.moiElem),t.requestDetails.response=t.responseObj.data.data,t.requestDetails.context.status=t.status,t.requestDetails.context.isSuccess=t.isSuccess,n.setData(t.requestDetails),n.fire())},error:function(t){var n=e.getObjectPath(t.requestDetails.scope.moiScope,"chains.response.fail");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.moiElem),t.requestDetails.response={},t.requestDetails.context.status=t.status,t.requestDetails.context.isSuccess=t.isSuccess,n.setData(t.requestDetails),n.fire())},requestDetails:t}):e.support.hook(["core.logger"],(function(){e.logger.log("moi.core","error","Ajax sendRequest - Request object is not present or request was forced stopped."),e.logger.log("moi.core","debug",t)})))}}),t.getScope().chains.request.fetch.send.add({name:"sendRequest",fire:function(t,n){"moiFetchV1"===t.context.eventAction&&(t.scope=n,t.context.doRequest?e.request({url:t.context.url,type:"FETCH",method:"POST",dataType:"json",contentType:"application/json; charset=utf-8",mimeType:"application/json; charset=UTF-8",data:JSON.stringify(t.request),crossDomain:!0,success:function(t,n,s,o){var a=e.getObjectPath(n.scope.kScope,"chains.response.success");e.isUndefined(a)||0===a.list().length||(a.setScope(n.scope.kElem),e.setObjectPath(n,"response.data",t),e.setObjectPath(n,"context.status",s),e.setObjectPath(n,"context.isSuccess",o),a.setData(n),a.fire())},done:function(t,n,s,o){var a=e.getObjectPath(n.scope.kScope,"chains.response.done");e.isUndefined(a)||0===a.list().length||(a.setScope(n.scope.kElem),e.setObjectPath(n,"response.data",t),e.setObjectPath(n,"context.status",s),e.setObjectPath(n,"context.isSuccess",o),a.setData(n),a.fire())},error:function(t,n,s){var o=e.getObjectPath(t.scope.kScope,"chains.response.fail");e.isUndefined(o)||0===o.list().length||(o.setScope(t.scope.kElem),e.setObjectPath(t,"response.data",{}),e.setObjectPath(t,"context.status",n),e.setObjectPath(t,"context.isSuccess",s),o.setData(t),o.fire())},requestDetails:t},t):e.support.hook(["core.logger"],(function(){e.logger.log("moi.core","error","Fetch sendRequest - Request object is not present or request was forced stopped."),e.logger.log("moi.core","debug",t)})))}}),t.getScope().chains.request.control.add({name:"initRequest",fire:function(t,n){t.context.doRequest=!1;var s=e.getObjectPath(n.moiScope,"chains.request.build");return e.isUndefined(s)||0===s.list().length?(t.context.preventDefault=!0,n.moiScope.data=t,!1):(s.setScope(n.moiElem),s.setData(t),s.fire(),n.moiScope.data=t,!1!==t.context.doRequest&&void 0)}}),t.getScope().chains.request.control.add({name:"sanitiseRequest",fire:function(t,n){var s=e.clean(t.request);t.request=s}}),t.getScope().chains.request.control.add({name:"makeRequest",fire:function(t,n){var s=e.getObjectPath(n.moiScope,"chains.request.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.moiElem),s.setData(t),s.fire(),n.moiScope.data=t,!1}}),t.getScope().chains.request.build.add({name:"buildMap",fire:function(e,t){e.context.status=null,e.context.isSuccess=!1,e.context.doRequest=!0}}),t.getScope().chains.request.send.add({name:"requestTypeAjaxV1",fire:function(e,t){window.fetch?e.context.eventAction="moiFetchV1":e.context.eventAction="moiAjaxV1",e.context.eventAction="moiAjaxV1"}}),t.getScope().chains.request.send.add({name:"requestTypeAjaxSendV1",fire:function(t,n){if("moiAjaxV1"===t.context.eventAction){var s=e.getObjectPath(n.moiScope,"chains.request.ajax.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.moiElem),s.setData(t),s.fire(),n.moiScope.data=t,!1}}}),t.getScope().chains.request.send.add({name:"requestTypeFetchSendV1",fire:function(t,n){if("moiFetchV1"===t.context.eventAction){var s=e.getObjectPath(n.moiScope,"chains.request.fetch.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.moiElem),s.setData(t),s.fire(),n.moiScope.data=t,!1}}}),t.getScope().chains.response.success.add({name:"checkForSuccess",fire:function(t,n){if(n.moiScope.data=t,!1===t.context.isSuccess)return e.support.hook(["core.logger"],(function(){e.logger.log("moi.core","error","checkForSuccess - Request was not successful."),e.logger.log("moi.core","debug",t)})),!1;t.response=t.response,e.support.hook(["core.logger"],(function(){e.logger.log("moi.core","info","checkForSuccess - Request was successful."),e.logger.log("moi.core","debug",t)}))}}),t.getScope().chains.response.success.add({name:"removeLoading",fire:function(t,n){void 0!==e.dom.getFirst(".loadingRow",n.moiScope.target).innerHTML&&e.dom.helpers.getClosest(e.dom.getFirst(".loadingRow",n.moiScope.target),".klevuWrap").remove()}}),t.getScope().chains.response.success.add({name:"processByType",fire:function(t,n){var s=e.dom.getFirst(".ksMoiChatWraper[data-chat='"+n.moiScope.mode.mode+"'] "+e.getSetting(n.moiScope.settings,"settings.moi.buttonsBox"),n.moiScope.target);1==s.nodeType&&(s.innerHTML="");var o=e.dom.getFirst(".ksMoiChatWraper[data-chat='"+n.moiScope.mode.mode+"'] "+e.getSetting(n.moiScope.settings,"settings.moi.menuBox"),n.moiScope.target);1==o.nodeType&&(o.innerHTML=""),e.each(t.response,(function(t,s){if("object"==typeof s){var o=e.getObjectPath(n.moiScope,"chains.process.processLine");if(!e.isUndefined(o)&&0!==o.list().length){o.setScope(n.moiElem);var a={line:s};o.setData(a),o.fire()}}}))}}),t.getScope().chains.process.actions.add({name:"clearChat",fire:function(t,n){if("clearChat"===t.type&&1==t.context.value){var s=e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.chatList")+"[data-chat='"+n.moiScope.mode.mode+"']> div",n.moiScope.target);e.each(s,(function(e,t){t.parentNode.removeChild(t)}))}}}),t.getScope().chains.process.actions.add({name:"redirectToUrl",fire:function(t,n){"redirectToUrl"===t.type&&null!==t.context.link&&setTimeout((function(){window.location.href=t.context.link}),e.getSetting(n.moiScope.settings,"settings.moi.redirectDelay",2e3))}}),t.getScope().chains.process.actions.add({name:"openMenu",fire:function(t,n){"openMenu"===t.type&&1==t.context.value&&e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.menuBoxButton"),n.moiScope.target).click()}}),t.getScope().chains.process.actions.add({name:"closeChat",fire:function(t,n){"closeChat"===t.type&&1==t.context.value&&e.dom.getFirst(e.getSetting(n.moiScope.settings,"settings.moi.closeChat"),n.moiScope.target).click()}}),t.getScope().chains.process.actions.add({name:"purgeHistory",fire:function(t,n){if("purgeHistory"===t.type&&"purgeHistory"===t.context.value){var s=n.moiScope.history.getElement("chat");s=(s="chat"===s?new Array:JSON.parse(s)).slice(-2),n.moiScope.history.addElement("chat",JSON.stringify(s)),n.moiScope.history.mergeToGlobal();var o=e.dom.find(e.getSetting(n.moiScope.settings,"settings.moi.chatList")+"[data-chat='"+n.moiScope.mode.mode+"']> div",n.moiScope.target),a=o.length;e.each(o,(function(e,t){a-2>e&&t.parentNode.removeChild(t)}))}}}),t.getScope().chains.process.display.add({name:"displayDate",fire:function(t,n){if("message"===t.displayType||"filter"===t.displayType||"product"===t.displayType){var s=e.getSetting(n.moiScope.settings,"settings.moi.lastMessage",0);if("date"in t||(t.date=e.time.timestamp()),e.setSetting(n.moiScope.settings,"settings.moi.lastMessage",t.date),s+e.getSetting(n.moiScope.settings,"settings.moi.dateDelay")0?s.classList.add(e.getSetting(n.moiScope.settings,"settings.moi.activeClass")):s.classList.remove(e.getSetting(n.moiScope.settings,"settings.moi.activeClass")),s.appendChild(t.tpl),e.isUndefined(e.moiEvents)||e.isUndefined(e.moiEvents.display)||e.isUndefined(e.moiEvents.display.fixView)||e.moiEvents.display.fixView(n),t.tpl=s)}}}),t.getScope().chains.process.processLine.add({name:"initDate",fire:function(t,n){"date"in t.line||(t.line.date=e.time.timestamp())}}),t.getScope().chains.process.processLine.add({name:"context",fire:function(t,n){"context"in t.line&&(e.isUndefined(t.line.context.sessionId)||e.setSetting(n.moiScope.settings,"settings.moi.sessionId",t.line.context.sessionId))}}),t.getScope().chains.process.processLine.add({name:"message",fire:function(t,n){if("message"in t.line&&"text"===t.line.message.type){var s=e.getObjectPath(n.moiScope,"chains.process.display");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var o={displayType:"message",type:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),message:t.line.message.value,note:t.line.message.note,explain:t.line.message.explain,date:t.line.date,tpl:null};if(s.setData(o),s.fire(),s=e.getObjectPath(n.moiScope,"chains.process.events"),!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var a={eventType:"message",message:t.line.message.value,note:t.line.message.note,explain:t.line.message.explain,tpl:o.tpl};s.setData(a),s.fire()}}}}}),t.getScope().chains.process.processLine.add({name:"filter",fire:function(t,n){if("filter"in t.line){var s=e.getObjectPath(n.moiScope,"chains.process.display");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var o={displayType:"filter",filter:t.line.filter,note:t.line.filter.note,date:t.line.date,tpl:null};if(s.setData(o),s.fire(),s=e.getObjectPath(n.moiScope,"chains.process.events"),!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var a={eventType:"filter",filter:t.line.filter,tpl:o.tpl};s.setData(a),s.fire()}}}}}),t.getScope().chains.process.processLine.add({name:"products",fire:function(t,n){if("productData"in t.line){var s=e.getObjectPath(n.moiScope,"chains.process.display");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var o={displayType:"product",products:t.line.productData.products,note:t.line.productData.note,date:t.line.date,tpl:null};if(s.setData(o),s.fire(),s=e.getObjectPath(n.moiScope,"chains.process.events"),!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var a={eventType:"product",products:t.line.productData.products,tpl:o.tpl};s.setData(a),s.fire()}}}}}),t.getScope().chains.process.processLine.add({name:"menu",fire:function(t,n){if("menuOptions"in t.line){var s=e.getObjectPath(n.moiScope,"chains.process.display");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var o={displayType:"menu",options:t.line.menuOptions.options,tpl:null};if(s.setData(o),s.fire(),s=e.getObjectPath(n.moiScope,"chains.process.events"),!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var a={eventType:"menu",options:t.line.menuOptions.options,tpl:o.tpl};s.setData(a),s.fire()}}}}}),t.getScope().chains.process.processLine.add({name:"buttons",fire:function(t,n){if("genericOptions"in t.line){var s=e.getObjectPath(n.moiScope,"chains.process.display");if(!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var o={displayType:"buttons",options:t.line.genericOptions.options,tpl:null};if(s.setData(o),s.fire(),s=e.getObjectPath(n.moiScope,"chains.process.events"),!e.isUndefined(s)&&0!==s.list().length){s.setScope(n.moiElem);var a={eventType:"buttons",options:t.line.genericOptions.options,tpl:o.tpl};s.setData(a),s.fire()}}}}}),t.getScope().chains.process.processLine.add({name:"actions",fire:function(t,n){"actions"in t.line&&t.line.actions.actions.length&&e.each(t.line.actions.actions,(function(t,s){var o=e.getObjectPath(n.moiScope,"chains.process.actions");if(!e.isUndefined(o)&&0!==o.list().length){o.setScope(n.moiElem);var a={type:s.type,context:s.context};o.setData(a),o.fire()}}))}}),t.getScope().chains.process.processLine.add({name:"saveHistory",fire:function(t,n){if(!0!==t.fromHistory&&"general"===n.moiScope.mode.mode){var s=n.moiScope.history.getElement("chat");s="chat"===s?new Array:JSON.parse(s),"context"in t.line&&(e.isUndefined(t.line.context.sessionId)||n.moiScope.history.addElement("sessionId",t.line.context.sessionId)),"menuOptions"in t.line&&n.moiScope.history.addElement("menuOptions",JSON.stringify(t)),"genericOptions"in t.line&&n.moiScope.history.addElement("genericOptions",JSON.stringify(t)),"filter"in t.line&&s.push({type:"filter",from:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),data:t}),"productData"in t.line&&s.push({type:"products",from:e.getSetting(n.moiScope.settings,"settings.moi.leftClass"),data:t}),s.length>e.getSetting(n.moiScope.settings,"settings.moi.historySize",100)&&s.splice(0,10),n.moiScope.history.addElement("chat",JSON.stringify(s)),n.moiScope.history.mergeToGlobal()}}}),t.getScope().chains.process.processLine.add({name:"fadeInEffect",fire:function(t,n){const s="settings.moi.intervalFadeIn";if(!0!==t.fromHistory){e.getSetting(n.moiScope.settings,s,!1)||e.setSetting(n.moiScope.settings,s,setInterval((function(){const t=e.dom.getFirst(".fromkumoi:not(.moiFadeIn):not(.moiFromHistory)");t.classList?t.classList.add("moiFadeIn"):(clearInterval(e.getSetting(e.getGlobalSetting("moi.box",e.moi.base).getScope().settings,s)),e.setSetting(n.moiScope.settings,s,!1))}),e.getGlobalSetting("moi.fadeInMessageDelay",300)))}else{const t=e.dom.find(".kumoichatRow");t.length>0&&e.each(t,(function(e,t){t.classList.add("moiFromHistory")}))}}}),e.moi={base:t},e.moi.build=!0}(klevu),function(e){e.extend(!0,e,{component:{nlp:{varsion:"1.0.0",utility:{sendAnnotationsRequest:function(t){t.type="annotations",e.component.nlp.utility.getByType(t)},getByType:function(t){var n=e.getObjectPath(e.component.nlp,"utility.chains.getByType");e.isUndefined(n)||0===n.list().length||(n.setScope({}),n.setData(t),n.fire())},chains:{getByType:e.chain({stopOnFalse:!0})}}}}}),e.support.register({name:"nlp",loaded:!0,active:!0,dependency:["core.lib"]}),e.component.nlp.utility.chains.getByType.add({name:"getAnnotationsData",fire:function(t,n){if("annotations"===t.type){var s=e.getObjectPath(t,"settings.apiKey",e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey",!1)));if(!s)return;var o=e.getObjectPath(t,"settings.url","https://nlp-services.ksearchnet.com/"+s+"/annotations");if(e.isUndefined(t.data)||e.isUndefined(t.data.query))return void e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","warn","No query supplied")}));if(e.isUndefined(t.data)||e.isUndefined(t.data.title))return void e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","warn","No title supplied")}));if(e.isUndefined(t.data)||e.isUndefined(t.data.category))return void e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","warn","No category supplied")}));if(e.isUndefined(t.data)||e.isUndefined(t.data.languageCode))return void e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","warn","No languageCode supplied")}));var a={url:o,data:{query:encodeURIComponent(t.data.query),title:encodeURIComponent(t.data.title),category:encodeURIComponent(t.data.category),languageCode:t.data.languageCode}};e.isUndefined(t.callbacks)||(a.callbacks=t.callbacks);var i={options:a,settings:t.settings,callbacks:{success:function(t,n,s,o){e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","info","Request has returned as success")}));var a=[{status:s,isSuccess:o,requestDetails:n,data:t}];e.getObjectPath(n.options,"callbacks.success",[]).length>0&&e.each(n.options.callbacks.success,(function(e,t){t.fire.apply(this,a)}))},error:function(t,n,s){e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","error","Request has returned as error")}));var o=[{status:n,isSuccess:s,requestDetails:t}];e.getObjectPath(t.options,"callbacks.error",[]).length>0&&e.each(t.options.callbacks.error,(function(e,t){t.fire.apply(this,o)}))}}},c={url:a.url+"?"+e.queryString(a.data),type:e.getGlobalSetting("component.nlp.annotations.sendMethod","FETCH"),method:"GET",crossDomain:!0,mimeType:"application/json; charset=UTF-8",contentType:"application/json; charset=utf-8"};c.success=i.callbacks.success,c.error=i.callbacks.error,e.support.hook(["core.logger"],(function(){e.logger.log("nlp.annotations","info","Request has been send")})),e.request(c,i)}}})}(klevu),function(e){var t={markAllResourcesLoaded:function(t){e.isUndefined(t)&&(t=!0),e.extensions.abTest.resourcesLoaded=!0,e.support.hook(["core.logger"],(function(){e.logger.log("abTest.core","info","Data ready to be used")})),"function"==typeof klevu_processABTestInputData&&klevu_processABTestInputData(),t&&e.extensions.abTest.base.processData()},processData:function(){var t=e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")),n=e.getObjectPath(e.extensions,"abTest.abtestDictionary"),s=JSON.parse(n.getElement(t)),o={};e.isEmptyObject(s.CAT_NAV)||e.each(s.CAT_NAV,(function(e,t){o[t.sourceId.toLowerCase()]=t})),e.extensions.abTest.catnav=o},loadCallBack:function(t,n){var s=e.getObjectPath(e.extensions,"abTest.abtestDictionary"),o=s.getElement(n.apiKey);if(!e.isUndefined(t.assigned)&&t.assigned.length>0){t=t.assigned;var a={CAT_NAV:{},RECS:{},SEARCH:{}};e.each(t,(function(e,t){switch(t.clicked=!1,t.send=!1,t.type){case"CAT_NAV":a.CAT_NAV[t.abTestId+t.sourceId.toLowerCase()]=t;break;case"RECS":a.RECS[t.abTestId+t.sourceId]=t;break;case"SEARCH":a.SEARCH[t.abTestId+t.sourceId]=t}})),o===n.apiKey||(o=JSON.parse(o),e.isEmptyObject(o.CAT_NAV)||e.each(o.CAT_NAV,(function(t,n){e.isUndefined(n.clicked)||!0!==n.clicked||e.isUndefined(a.CAT_NAV[n.abTestId+n.sourceId.toLowerCase()])||(a.CAT_NAV[n.abTestId+n.sourceId.toLowerCase()].clicked=n.clicked,a.CAT_NAV[n.abTestId+n.sourceId.toLowerCase()].abTestVariantId=n.abTestVariantId),e.isUndefined(n.send)||!0!==n.send||e.isUndefined(a.CAT_NAV[n.abTestId+n.sourceId.toLowerCase()])||(a.CAT_NAV[n.abTestId+n.sourceId.toLowerCase()].send=n.send)})),e.isEmptyObject(o.RECS)||e.each(o.RECS,(function(t,n){e.isUndefined(n.clicked)||!0!==n.clicked||e.isUndefined(a.RECS[n.abTestId+n.sourceId])||(a.RECS[n.abTestId+n.sourceId].clicked=n.clicked,a.RECS[n.abTestId+n.sourceId].abTestVariantId=n.abTestVariantId),e.isUndefined(n.send)||!0!==n.send||e.isUndefined(a.RECS[n.abTestId+n.sourceId])||(a.RECS[n.abTestId+n.sourceId].send=n.send)})),e.isEmptyObject(o.SEARCH)||e.each(o.SEARCH,(function(t,n){e.isUndefined(n.clicked)||!0!==n.clicked||e.isUndefined(a.SEARCH[n.abTestId+n.sourceId])||(a.SEARCH[n.abTestId+n.sourceId].clicked=n.clicked,a.SEARCH[n.abTestId+n.sourceId].abTestVariantId=n.abTestVariantId),e.isUndefined(n.send)||!0!==n.send||e.isUndefined(a.SEARCH[n.abTestId+n.sourceId])||(a.SEARCH[n.abTestId+n.sourceId].send=n.send)}))),o=a}if(o.timeOfLoad=e.time.timestamp(),s.addElement(n.apiKey,JSON.stringify(o)),s.overrideGlobal(),e.extensions.abTest.loadCounter===n.totalToLoad){var i=e.getObjectPath(e.extensions,"abTest.abTestData");e.isUndefined(i)&&(e.extensions.abTest.abTestData=JSON.parse(s.getElement(n.apiKey))),e.extensions.abTest.base.markAllResourcesLoaded(!1)}},loadAbTestData:function(t){e.extensions.abTest.resourceLoadInitiated=!0,e.extensions.abTest.loadCounter=0;var n=e.search.modules.kmcInputs.base.getDataPath("klevu_apiDomain");if(!e.isUndefined(n)){var s=[{id:t,src:"https://"+n+"/abtest/public/allocation/"+t}];s.forEach((function(n){var o={url:n.src,type:"json",mimeType:"application/json",apiKey:t,totalToLoad:s.length},a={success:function(t,n,s,o){e.extensions.abTest.loadCounter++,e.extensions.abTest.base.loadCallBack(t,n)},error:function(t,n,s,o){e.extensions.abTest.loadCounter++,e.extensions.abTest.base.loadCallBack(t,n)},options:o},i={url:o.url,type:"FETCH",method:"POST",mimeType:o.mimeType,crossDomain:!0,success:function(e,t,n,s){t.success(e,t.options,n,s)},error:function(e,t,n){e.error({},e.options,t,n)}};e.request(i,a)}))}},getDataPath:function(t){var n,s=e.getObjectPath(e.extensions,"abTest.abTestData."+t);return window&&(n=e.getInterfaceObjectPath(window,t)),e.isUndefined(n)?s:n},setClickedEvent:function(t,n){var s=e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")),o=e.getObjectPath(e.extensions,"abTest.abtestDictionary"),a=JSON.parse(o.getElement(s));e.isUndefined(a[n])||e.isEmptyObject(a[n])||e.isUndefined(a[n][t])||(a[n][t].clicked=!0,o.addElement(s,JSON.stringify(a)),o.overrideGlobal())},usageTrack:function(t,n){var s=e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")),o=e.getObjectPath(e.extensions,"abTest.abtestDictionary"),a=JSON.parse(o.getElement(s)),i={};if(!(e.isUndefined(a[n])||e.isEmptyObject(a[n])||e.isUndefined(a[n][t])||!1!==a[n][t].send||!0!==a[n][t].clicked)){i={sourceId:a[n][t].sourceId,abTestId:a[n][t].abTestId,abTestVariantId:a[n][t].abTestVariantId,type:a[n][t].type};var c=e.search.modules.kmcInputs.base.getDataPath("klevu_apiDomain");if(!e.isUndefined(c)){var r={url:"https://"+c+"/abtest/public/usage/"+s,type:"json",mimeType:"application/json",data:JSON.stringify(i)},l={success:function(t,n,s,o){var a=e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")),i=e.getObjectPath(e.extensions,"abTest.abtestDictionary"),c=JSON.parse(i.getElement(a)),r=JSON.parse(n.data);e.isUndefined(c[r.type])||e.isEmptyObject(c[r.type])||e.isUndefined(c[r.type][r.abTestId+r.sourceId.toLowerCase()])||(204===parseInt(s)?(delete c[r.type][r.abTestId+r.sourceId.toLowerCase()],!1!==e.getObjectPath(e.extensions,"abTest.catnav."+r.sourceId.toLowerCase(),!1)&&delete e.extensions.abTest.catnav[r.sourceId.toLowerCase()]):c[r.type][r.abTestId+r.sourceId.toLowerCase()].send=!0,i.addElement(a,JSON.stringify(c)),i.overrideGlobal()),e.support.hook(["core.logger"],(function(){e.logger.log("abTest.core","info","Usage submitted")}))},error:function(t,n,s,o){e.support.hook(["core.logger"],(function(){e.logger.log("abTest.core","error","usage submitting error")}))},options:r},u={url:r.url,type:"FETCH",method:"POST",data:r.data,mimeType:r.mimeType,crossDomain:!0,success:function(e,t,n,s){t.success(e,t.options,n,s)},error:function(e,t,n){e.error({},e.options,t,n)}};e.request(u,l)}}}};e.extend(!0,e,{extensions:{abTest:{base:t,build:!0,resourcesLoaded:!1,resourceLoadInitiated:!1}}})}(klevu),klevu.settings.chains.initChain.add({name:"abTestKmcCheck",fire:function(e,t){var n=klevu.getGlobalSetting("powerUp.abTest");if(klevu.isUndefined(n)||!1!==n){var s=klevu.getGlobalSetting("kmc.loaded");if(!klevu.isUndefined(s)&&!0===s){var o=klevu.search.modules.kmcInputs.base.getDataPath("klevu_abTestActive");if(void 0!==o&&!0===JSON.parse(o))klevu.setObjectPath(e,"powerUp.abTest",!0);else{var a=klevu.dictionary("abTest");a.setStorage("local"),a.overrideGlobal()}}}}}),klevu.settings.chains.initChain.add({name:"abTestPowerUp",fire:function(e,t){var n=klevu.getGlobalSetting("search.apiKey",klevu.getGlobalSetting("global.apiKey"));if(!klevu.isUndefined(n)){var s=klevu.getGlobalSetting("powerUp.abTest");if(!klevu.isUndefined(s)&&!1===s)return;if(!0!==s)return;var o=klevu.getObjectPath(klevu.extensions,"abTest.resourcesLoaded");if(!klevu.isUndefined(o)&&!0===o)return;klevu.support.hook(["core.logger"],(function(){klevu.logger.log("abTest.core","info","Api key found , Starting abTest powerUp")}));var a=klevu.getObjectPath(klevu.extensions,"abTest.abtestDictionary");klevu.isUndefined(a)&&((a=klevu.dictionary("abTest")).setStorage("local"),a.mergeFromGlobal(),klevu.setObjectPath(klevu.extensions,"abTest.abtestDictionary",a),klevu.support.hook(["core.logger"],(function(){klevu.logger.log("abTest.core","info","Dictionary set")})));var i=a.getElement(n),c=!0;if(n!==i)(i=JSON.parse(i)).timeOfLoad+parseInt(klevu.getGlobalSetting("abTest.invalidateInterval",1200))>klevu.time.timestamp()?c=!1:klevu.extensions.abTest.base.processData(),klevu.setObjectPath(klevu.extensions,"abTest.abTestData",i),klevu.support.hook(["core.logger"],(function(){klevu.logger.log("abTest.core","info","abTest data set from localStorage")}));if(c){var r=klevu.getObjectPath(klevu.extensions,"abTest.resourceLoadInitiated");(klevu.isUndefined(r)||!1===r)&&(klevu.extensions.abTest.base.loadAbTestData(n),klevu.support.hook(["core.logger"],(function(){klevu.logger.log("abTest.core","info","File loading started")})))}else klevu.support.hook(["core.logger"],(function(){klevu.logger.log("abTest.core","info","File loading skipped")})),klevu.extensions.abTest.base.markAllResourcesLoaded()}}}),klevu.analytics.base.getScope().chains.events.catview.addBefore("viewRequestCheck",{name:"addABTest",fire:function(e,t){var n=klevu.getObjectPath(e.request.analytics,"klevu_abTestId",!1),s=klevu.getObjectPath(e.request.analytics,"klevu_abTestSource",!1);delete e.request.analytics.klevu_abTestSource,n&&s&&klevu.extensions.abTest.base.usageTrack(n+s,"CAT_NAV")}}),function(e){e({}),e.support.register({name:"abTest",loaded:!0,active:!0,dependency:["core.lib"]})}(klevu),function(e){var t={submit:function(t){var n=e.getObjectPath(e.modules,"imageUpload.base.chains.submitFormChain");e.isUndefined(n)||0===n.list().length||(n.setScope({}),n.setData(t),n.fire())},chains:{submitChain:e.chain({stopOnFalse:!0}),submitFormChain:e.chain({stopOnFalse:!0})}};e.extend(!0,e,{modules:{imageUpload:{base:t}}}),e.modules.imageUpload.base.chains.submitChain.add({name:"submitController",fire:function(t,n){if("form"===e.getObjectPath(t,"type","")){var s=e.modules.imageUpload.base.submitFormChain;e.isUndefined(s)||0===s.list().length||(s.setScope(n),s.setData(t),s.fire())}}}),e.modules.imageUpload.base.chains.submitFormChain.add({name:"submitForm",fire:function(t,n){var s={url:e.getGlobalSetting("url.imageUpload","https://api.ksearchnet.com/image/store/")+e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey")),data:t},o={options:s,callbacks:{success:function(t,n,s,o){var a=e.getObjectPath(n.options,"data.callbacks.success",!1),i=e.getObjectPath(n.options,"data.scope",!1);if(t.status=s,t.isSuccess=o,a&&i&&!e.isUndefined(t.url)){var c=e.getObjectPath(i.kScope,a);e.isUndefined(c)||0===c.list().length||(c.setScope(i.kElem),c.setData(t),c.fire())}else{var r=e.getObjectPath(n.options,"data.callbacks.error",!1);if(r&&i){var l=e.getObjectPath(i.kScope,r);e.isUndefined(l)||0===l.list().length||(l.setScope(i.kElem),l.setData(t),l.fire())}}},error:function(n,s,o){var a=e.getObjectPath(n.options,"data.callbacks.error",!1),i=e.getObjectPath(n.options,"data.scope",!1);if(t.status=s,t.isSuccess=o,a&&i){var c=e.getObjectPath(i.kScope,a);e.isUndefined(c)||0===c.list().length||(c.setScope(i.kElem),c.setData(t),c.fire())}}}},a=new FormData;a.append("image",t.source.files[0]);var i={url:s.url,type:"FETCH",method:"POST",crossDomain:!0,processData:!1,contentType:!1,data:a};i.success=o.callbacks.success,i.error=o.callbacks.error,e.request(i,o)}}),e.extend(!0,e,{modules:{imageUpload:{build:!0}}});e({modules:{imageUpload:{build:!0}}}),e.support.register({name:"imageUpload",loaded:!0,active:!0,dependency:["core.lib"]})}(klevu),klevu.settings.chains.initChain.add({name:"imageUploadKmcCheck",fire:function(e,t){var n=klevu.getGlobalSetting("powerUp.imageUpload");if(klevu.isUndefined(n)){var s=klevu.getGlobalSetting("kmc.loaded");if(!klevu.isUndefined(s)&&!0===s){var o=klevu.search.modules.kmcInputs.base.getDataPath("klevu_imageSearchActive");if(void 0!==o&&!0===JSON.parse(o)){if("function"==typeof FormData&&window.fetch)return klevu.setObjectPath(e,"powerUp.imageUpload",!0),void klevu.setObjectPath(e,"theme.modules.imageSearch.enable",!0);klevu.setObjectPath(e,"powerUp.imageUpload",!1),klevu.setObjectPath(e,"theme.modules.imageSearch.enable",!1)}}}}}),function(e){e.extend(!0,e,{recs:{events:{}}}),e.extend(!0,e.recs.events,{init:{build:{name:"init-recs",fire:function(){var t={elem:e.recs.base},n=e.recs.events.init.buildChain;e.isUndefined(n)||0===n.list().length||(n.setScope(e.recs.base.getScope().element),n.setData(t),n.fire())}},buildChain:e.chain({stopOnFalse:!0})},request:{done:function(t){t.scope.recsObject.removeActiveFile(),0===e.getSetting(t.scope.recsScope.settings,"settings.recs.activeFiles",0)&&e.event.fireChain(t.scope.recsScope,t.scope.recsScope.data.powerUp.executeAfter,t.scope.recsScope.element,t.scope.recsScope.data,null)}}}),e.recs.events.init.buildChain.add({name:"checkUrlOverides",fire:function(t,n){var s=e.getAllUrlParameters();s.length>0&&e.each(s,(function(t,s){e.strStartsWith(s.name,"klib_")&&(s.name=s.name.replace("klib_","").replace(new RegExp(/_/,"g"),"."),e.setSetting(n.recsScope.settings,"settings."+s.name,s.value))}))}}),e.recs.events.init.buildChain.add({name:"powerUp",fire:function(t,n){e.event.fireChain(n.recsScope,"chains.core.coreLoad",n.recsScope.element,n.recsScope.data,null)}}),e.coreEvent.build({name:"buildRecs",fire:function(){return!!e.getSetting(e.settings,"settings.recs.activate",!1)}}),e.coreEvent.attach("buildRecs",e.extend(!0,{},e.recs.events.init.build)),e.extend(!0,e,{recs:{list:[],build:function(){var t={settings:{}};return e.setObjectPath(t,"id",e.randomId()),e.setObjectPath(t,"chains.core.coreLoad",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.core.extraLoad",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.core.interactive",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.actions.load",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.processors.settings",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.control",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.build",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.send",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.ajax.send",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.request.fetch.send",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.success",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.done",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.fail",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.ajax.success",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.ajax.done",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.ajax.fail",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.fetch.success",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.fetch.done",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.response.fetch.fail",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.search.control",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.type.staticContent",e.chain({stopOnFalse:!0})),e.setObjectPath(t,"chains.type.hideBanner",e.chain({stopOnFalse:!0})),t.data={powerUp:{apiKey:!1,url:!1,executeAfter:!1},context:{eventAction:"",preventDefault:!1,status:null,isSuccess:!1,apiKey:null,recId:null},request:{settings:{url:null}},response:{}},{init:function(e,n){t.element=n,t.element.recsObject=e,t.element.recsScope=t,t.element.recsElem=t.element},setScope:function(e){return t=e},getScope:function(){return t},addActiveFile:function(){t.settings.settings.recs.activeFiles++},removeActiveFile:function(){t.settings.settings.recs.activeFiles--},powerUp:function(){var n=e.getObjectPath(t,"chains.actions.load");e.isUndefined(n)||0===n.list().length||(n.setScope(t.element),n.setData(t.data),n.fire())}}},clone:function(t){var n=e.recs.base,s=e.recs.build();return s.setScope(e.extend(!0,{},n.getScope())),s.init(s,t.element),e.setSetting(s.getScope().element.recsScope.settings,"settings.recs.apiKey",t.apiKey),e.setSetting(s.getScope().element.recsScope.settings,"settings.recs.recId",t.recId),s.getScope().id=e.randomId(),s.getScope().searchObject=null,s.getScope().kmcData=null,e.recs.list.push(s),s}}});e({url:{recsSource:"//js.klevu.com/recs/",recsEndpoint:"//config-cdn.ksearchnet.com/recommendations/"},recs:{active:!1,nocache:!1,activeFiles:0},console:{type:{recs:!1}}})}(klevu),function(e){var t=e.recs.build();t.getScope().chains.core.coreLoad.add({name:"resetActiveFiles",fire:function(t,n){e.getSetting(n.recsScope.settings,"settings.recs.activeFiles",0)>0&&e.support.hook(["core.logger"],(function(){e.logger.log("recs.core","info","A new load can not start as last one did not finish")})),e.setSetting(n.recsScope.settings,"settings.recs.activeFiles",0)}}),t.getScope().chains.core.coreLoad.add({name:"getApikey",fire:function(t,n){if(t.apiKey=e.getSetting(n.recsScope.settings,"settings.recs.apiKey",e.getSetting(n.recsScope.settings,"settings.search.apiKey",e.getGlobalSetting("global.apiKey"))),!t.apiKey)return e.support.hook(["core.logger"],(function(){e.logger.log("recs.core","error","API key can not be detected")})),!1}}),t.getScope().chains.core.coreLoad.add({name:"getHostUrl",fire:function(t,n){t.url="https:"+e.getSetting(n.recsScope.settings,"settings.url.recsSource")+t.apiKey+"/"}}),t.getScope().chains.core.coreLoad.add({name:"getCache",fire:function(t,n){if(t.nocache=e.getSetting(n.recsScope.settings,"settings.recs.nocache",!1),"true"==t.nocache){e.support.hook(["core.logger"],(function(){e.logger.log("recs.core","info","Nocache active")}));var s=Math.floor(900000001*Math.random())+1e8;t.nocache="?"+s}else t.nocache=""}}),t.getScope().chains.core.coreLoad.add({name:"setChainAfter",fire:function(e,t){e.powerUp.executeAfter="chains.core.extraLoad"}}),t.getScope().chains.core.coreLoad.add({name:"loadJs",fire:function(t,n){n.recsObject.addActiveFile(),e.assets.getFile({url:t.url+".js"+t.nocache,type:"js",options:{scope:n,successCallback:e.recs.events.request.done,errorCallback:e.recs.events.request.done}})}}),t.getScope().chains.core.extraLoad.add({name:"setChainAfter",fire:function(e,t){e.powerUp.executeAfter="chains.core.interactive"}}),t.getScope().chains.actions.load.add({name:"checkSettings",fire:function(t,n){var s=e.getObjectPath(n.recsScope,"chains.processors.settings");if(e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire()),n.recsScope.data=t,!0===t.context.preventDefault)return!1}}),t.getScope().chains.actions.load.add({name:"doRequest",fire:function(t,n){t.context.doCall=!1;var s=e.getObjectPath(n.recsScope,"chains.request.control");if(e.isUndefined(s)||0===s.list().length)return t.context.preventDefault=!0,n.recsScope.data=t,!1;s.setScope(n.recsElem),s.setData(t),s.fire(),n.recsScope.data=t}}),t.getScope().chains.processors.settings.add({name:"checkDefinedApi",fire:function(t,n){if(e.isUndefined(t.context.recId))return t.context.preventDefault=!0,!1}}),t.getScope().chains.request.ajax.send.add({name:"sendRequest",fire:function(t,n){"recsAjax"===t.context.eventAction&&(t.scope=n,t.context.doCall?(t.context.requestObject={url:t.request.settings.url,type:"AJAX",method:"GET",mimeType:"application/json; charset=UTF-8",contentType:"application/json; charset=utf-8",dataType:"json",crossDomain:!0,success:function(t){var n=e.getObjectPath(t.requestDetails.scope.recsScope,"chains.response.success");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.recsElem),e.setObjectPath(t.requestDetails,"response.data",t.responseObj.data),e.setObjectPath(t.requestDetails,"context.status",t.status),e.setObjectPath(t.requestDetails,"context.isSuccess",t.isSuccess),n.setData(t.requestDetails),n.fire())},done:function(t){var n=e.getObjectPath(t.requestDetails.scope.recsScope,"chains.response.done");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.recsElem),e.setObjectPath(t.requestDetails,"response.data",t.responseObj.data),e.setObjectPath(t.requestDetails,"context.status",t.status),e.setObjectPath(t.requestDetails,"context.isSuccess",t.isSuccess),n.setData(t.requestDetails),n.fire())},error:function(t){var n=e.getObjectPath(t.requestDetails.scope.recsScope,"chains.response.fail");e.isUndefined(n)||0===n.list().length||(n.setScope(t.requestDetails.scope.recsElem),e.setObjectPath(t.requestDetails,"response.data",{}),e.setObjectPath(t.requestDetails,"context.status",t.status),e.setObjectPath(t.requestDetails,"context.isSuccess",t.isSuccess),n.setData(t.requestDetails),n.fire())},data:""},t.context.requestDetails=t):e.support.hook(["core.logger"],(function(){e.logger.log("recs.core","warn","Ajax makeRequest - Request object is not present or request was forced stopped."),e.logger.log("recs.core","debug",t)})))}}),t.getScope().chains.request.fetch.send.add({name:"sendRequest",fire:function(t,n){"recsFetch"===t.context.eventAction&&(t.scope=n,t.context.doCall?(t.context.requestObject={url:t.request.settings.url,type:"FETCH",method:"GET",mimeType:"application/json; charset=UTF-8",contentType:"application/json; charset=utf-8",dataType:"json",crossDomain:!0,success:function(t,n,s,o){var a=e.getObjectPath(n.scope.recsScope,"chains.response.success");e.isUndefined(a)||0===a.list().length||(a.setScope(n.scope.recsElem),e.setObjectPath(n,"response.data",t),e.setObjectPath(n,"context.status",s),e.setObjectPath(n,"context.isSuccess",o),a.setData(n),a.fire())},error:function(t,n,s){var o=e.getObjectPath(t.scope.recsScope,"chains.response.fail");e.isUndefined(o)||0===o.list().length||(o.setScope(t.scope.recsElem),e.setObjectPath(t,"response.data",{}),e.setObjectPath(t,"context.status",n),e.setObjectPath(t,"context.isSuccess",s),o.setData(t),o.fire())},data:""},t.context.requestDetails=e.extend(!0,{},t)):e.support.hook(["core.logger"],(function(){e.logger.log("recs.core","warn","Fetch makeRequest - Request object is not present or request was forced stopped."),e.logger.log("recs.core","debug",t)})))}}),t.getScope().chains.request.control.add({name:"initRequest",fire:function(t,n){t.context.doCall=!0;var s=e.getObjectPath(n.recsScope,"chains.request.build");return e.isUndefined(s)||0===s.list().length?(t.context.preventDefault=!0,n.recsScope.data=t,!1):(s.setScope(n.recsElem),s.setData(t),s.fire(),n.recsScope.data=t,!1!==t.context.doCall&&void 0)}}),t.getScope().chains.request.control.add({name:"generateURL",fire:function(t,n){var s=e.getSetting(n.recsScope.settings,"settings.url.recsEndpoint",!1);s&&(t.request.settings.url=e.settings.url.protocol+s+t.context.apiKey+"/settings/"+t.context.recId)}}),t.getScope().chains.request.control.add({name:"addQueryParamsToUrl",fire:function(t,n){var s=e.getObjectPath(t.request,"settings.url",!1);if(s){var o=[];o.push("cp="+encodeURIComponent(e.dom.helpers.convertHtmlToText(e.pageMeta.getData("page.category.categoryPath","")))),o.push("gpid="+encodeURIComponent(e.pageMeta.getData("page.pdp.products.0.itemGroupId",""))),o.push("pid="+encodeURIComponent(e.pageMeta.getData("page.pdp.products.0.itemId",""))),e.support.isActive("user")&&e.user.getSegments()&&o.push("sids="+encodeURIComponent(e.user.getSegments().join(","))),o.length>0&&(s=s+"?"+o.join("&"),t.request.settings.url=s)}}}),t.getScope().chains.request.control.add({name:"makeRequest",fire:function(t,n){var s=e.getObjectPath(n.recsScope,"chains.request.send");if(!e.isUndefined(s)&&0!==s.list().length)return s.setScope(n.recsElem),s.setData(t),s.fire(),n.recsScope.data=t,!1}}),t.getScope().chains.request.build.add({name:"buildMap",fire:function(t,n){t.context.status=null,t.context.isSuccess=!1,t.context.apiKey=e.getSetting(n.recsScope.settings,"settings.recs.apiKey",e.getGlobalSetting("search.apiKey",e.getGlobalSetting("global.apiKey"))),t.context.recId=e.getSetting(n.recsScope.settings,"settings.recs.recId",null),t.request.requestObject={}}}),t.getScope().chains.request.send.add({name:"checkFetch",fire:function(e,t){window.fetch?e.context.eventAction="recsFetch":e.context.eventAction="recsAjax"}}),t.getScope().chains.request.send.add({name:"requestTypeAjax",fire:function(t,n){if("searchAjax"===t.context.eventAction){var s=e.getObjectPath(n.recsScope,"chains.request.ajax.send");e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire(),n.recsScope.data=t)}}}),t.getScope().chains.request.send.add({name:"requestTypeFetch",fire:function(t,n){if("searchAjax"!==t.context.eventAction){var s=e.getObjectPath(n.recsScope,"chains.request.fetch.send");e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire(),n.recsScope.data=t)}}}),t.getScope().chains.request.send.add({name:"requestSend",fire:function(t,n){e.request(t.context.requestObject,t.context.requestDetails)}}),t.getScope().chains.response.success.add({name:"checkForSuccess",fire:function(e,t){if(t.recsElem.data=e,!1===e.context.isSuccess)return!1}}),t.getScope().chains.response.success.add({name:"executeAjaxResponseProcessor",fire:function(t,n){if("recsAjax"===t.context.eventAction){var s=e.getObjectPath(n.recsScope,"chains.response.ajax.success");e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire()),n.recsScope.data=t}}}),t.getScope().chains.response.success.add({name:"executeFetchResponseProcessor",fire:function(t,n){if("recsFetch"===t.context.eventAction){var s=e.getObjectPath(n.recsScope,"chains.response.fetch.success");e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire()),n.recsScope.data=t}}}),t.getScope().chains.response.success.add({name:"saveSettings",fire:function(t,n){n.recsScope.kmcData=e.getObjectPath(t.response,"data")}}),t.getScope().chains.response.success.add({name:"checkForHideBanner",fire:function(t,n){if("HIDE_RECOMMENDATION"===e.getObjectPath(n.recsScope,"kmcData.metadata.action",!1)){var s=e.getObjectPath(n.recsScope,"chains.type.hideBanner");return e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire()),!1}}}),t.getScope().chains.response.success.add({name:"checkForStaticContent",fire:function(t,n){if("STATIC_CONTENT"===e.getObjectPath(n.recsScope,"kmcData.metadata.action",!1)){var s=e.getObjectPath(n.recsScope,"chains.type.staticContent");return e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire()),!1}}}),t.getScope().chains.response.success.add({name:"buildTheSearchObject",fire:function(t,n){n.recsScope.searchObject=e.searchObjectClone(e.search.base),n.recsScope.searchObject.setWebhookSettings({scope:"all,block,recs"})}}),t.getScope().chains.response.success.add({name:"executeSearchObjectPowerUp",fire:function(t,n){var s=e.getObjectPath(n.recsScope,"chains.search.control");e.isUndefined(s)||0===s.list().length||(s.setScope(n.recsElem),s.setData(t),s.fire()),n.recsScope.data=t}}),e.extend(!0,e,{recs:{base:t,baseBuild:!0}}),e.support.register({name:"recs",loaded:!0,active:!0,dependency:["core.lib","search"]})}(klevu);