var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e){var t={exports:{}};return e(t,t.exports),t.exports}var i=n((function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t=t.f?r():e.fonts.load(b(s=t.a)+" "+s.f+"00 300px "+I(s.c),t.h).then((function(e){1<=e.length?i():setTimeout(a,25)}),(function(){r()}))}()})),r=null;Promise.race([new Promise((function(e,n){r=setTimeout(n,t.f)})),i]).then((function(){r&&(clearTimeout(r),r=null),t.g(t.a)}),(function(){t.j(t.a)}))};var x={D:"serif",C:"sans-serif"},D=null;function N(){if(null===D){var e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);D=!!e&&(536>parseInt(e[1],10)||536===parseInt(e[1],10)&&11>=parseInt(e[2],10))}return D}function U(e,t,n){for(var i in x)if(x.hasOwnProperty(i)&&t===e.f[x[i]]&&n===e.f[x[i]])return!0;return!1}function q(e,t){setTimeout(i((function(){l(this.g.a),l(this.h.a),l(this.j.a),l(this.m.a),t(this.a)}),e),0)}function L(e,t,n){this.c=e,this.a=t,this.f=0,this.m=this.j=!1,this.s=n}T.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=o(),function e(t){var n,r=t.g.a.offsetWidth,a=t.h.a.offsetWidth;(n=r===t.f.serif&&a===t.f["sans-serif"])||(n=N()&&U(t,r,a)),n?o()-t.A>=t.w?N()&&U(t,r,a)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?q(t,t.v):q(t,t.B):setTimeout(i((function(){e(this)}),t),50):q(t,t.v)}(this)};var V=null;function F(e){0==--e.f&&e.j&&(e.m?((e=e.a).g&&d(e.f,[e.a.c("wf","active")],[e.a.c("wf","loading"),e.a.c("wf","inactive")]),M(e,"active")):O(e.a))}function j(e){this.j=e,this.a=new E,this.h=0,this.f=this.g=!0}function J(t,n,o,r,a){var s=0==--t.h;(t.f||t.g)&&setTimeout((function(){var t=a||null,c=r||{};if(0===o.length&&s)O(n.a);else{n.f+=o.length,s&&(n.j=s);var l,u=[];for(l=0;lCe(e),d=()=>OptiMonkRegistry.account,u=()=>OptiMonkRegistry.clientId,p=()=>OptiMonkRegistry.uuid,g=e=>OptiMonkRegistry.uuid+"-"+e,m=()=>OptiMonkRegistry.features,h=()=>OptiMonkEmbedded.CookieManager,f=()=>OptiMonkRegistry.isPreview,v=function(e,t){return void 0===t&&(t=10),parseInt(e,t)},w=e=>""+e,y=()=>v($.session.getItem("optiMonkSession")),I=()=>Math.trunc((new Date).getTime()/1e3),C=()=>OptiMonkEmbedded.RequestService,b=()=>OptiMonkEmbedded.Visitor,S=function(e,t){let n;for(n in e)e.hasOwnProperty(n)&&"length"!==n&&t(n,e[n])},k=[],O=function(e,t,n){e.addEventListener?(e.addEventListener(t,n,!1),k.push({obj:e,type:t,fn:n})):e.attachEvent?(e.attachEvent("on"+t,(function(){n.apply(e,new Array(window.event))})),k.push({obj:e,type:t,fn:n})):(e["on"+t]=n,k.push({obj:e,type:t,fn:n}))},M=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]&&delete e["on"+t]},E=function(){for(let e=0;enew Promise((i=>{let o=0;const r=()=>{if(o>=20)return OptiMonkRegistry.isDebug&&console.log("wait for element retries limit reached",e),void i(!1);let a=document.querySelector(e);if(!a&&n)for(let e=0;e{let{oldItems:t,newItems:n,idFieldName:i}=e;return{oldProductsIds:t.map((e=>""+e[i])),newProductsIds:n.map((e=>""+e[i]))}},U=e=>{let{type:t,oldItems:n,newItems:i}=e;const o="shoprenter"===t||"unas"===t||"woocommerce"===t?"id":"product_id",{oldProductsIds:r,newProductsIds:a}=N({oldItems:n,newItems:i,idFieldName:o}),s=new Set(r),c=new Set(a);return s.size!==c.size||new Set([...s,...c]).size!==s.size},q=e=>{let{type:t,oldItems:n,newItems:i}=e;const o="shoprenter"===t||"unas"===t||"woocommerce"===t?"id":"product_id",{oldProductsIds:r,newProductsIds:a}=N({oldItems:n,newItems:i,idFieldName:o});return n.length===i.length?(e=>{let{oldItems:t,newItems:n,oldProductsIds:i,newProductsIds:o,idFieldName:r}=e;if(!(e=>{let{oldProductsIds:t,newProductsIds:n}=e;return t.every((e=>n.some((t=>""+t==""+e))))})({oldProductsIds:i,newProductsIds:o}))return null;const a=(e=>{let{oldItems:t,newItems:n,idFieldName:i}=e;return n.find((e=>{var n;const o=null==(n=t.find((t=>t[i]===e[i])))?void 0:n.quantity;return e.quantity!==o&&e.quantity>o}))})({oldItems:t,newItems:n,idFieldName:r});return a?(e=>{let{oldItems:t,idFieldName:n,increasedQuantityProduct:i}=e;const{price:o,quantity:r,[n]:a}=i;return{price:o,productId:a,quantity:r-t.find((e=>""+e[n]==""+i[n])).quantity}})({oldItems:t,newItems:n,idFieldName:r,increasedQuantityProduct:a}):null})({oldItems:n,newItems:i,oldProductsIds:r,newProductsIds:a,idFieldName:o}):n.length>i.length?null:(e=>{let{newItems:t,idFieldName:n,oldProductsIds:i}=e;const o=t.find((e=>!i.includes(""+e[n])));if(!o)return null;const{price:r,quantity:a,[n]:s,sku:c}=o;return{sku:c,price:r,quantity:a,productId:s}})({newItems:i,idFieldName:o,oldProductsIds:r})},L=()=>{let e=[];try{const{fonts:t}=document,n=t.entries(),i=[];let o=!1;for(;!o;){const e=n.next();e.done?o=e.done:i.push(e.value[0].family.replace(/^["']|["']$/g,""))}e=[...new Set(i)]}catch(e){console.error("Error while getting used fonts")}return e},V=()=>!!m().FREQUENCY_RULE_V2,F=e=>e.reduce(((e,t)=>i({},e,{[t.id]:t})),{}),j=function(e){return"object"==typeof e&&(e=_(e)),navigator.userAgent.match(/^Opera.* Version\/12.*/)?encodeURIComponent(e):e},J={getItems(e){const t=new RegExp("("+e+"=([^;]+))","g"),n=document.cookie.matchAll(t),i={};for(const e of n){const[,t]=e,[n,o]=t.split("=");n&&o&&Object.assign(i,{[n]:decodeURIComponent(o)})}return i},getItem(e){const t=document.cookie.match(new RegExp(e+"=([^;]+)"));return t?decodeURIComponent(t[1]):null},getItemSlices(e,t){const n=new RegExp(e+"_"+OptiMonkRegistry.account+"_[0-9]+=([^;]+)\\;?","gm");let i,o=[];for(;i=n.exec(document.cookie);){const e="function"==typeof t?t(i[1]):i[1];o=o.concat(JSON.parse(decodeURIComponent(e)))}return o},getItemSlicesRaw(e){const t=new RegExp("("+e+"_"+OptiMonkRegistry.account+"_[0-9]+)=([^;]+)\\;?","gm"),n=[];let i;for(;i=t.exec(document.cookie);)n.push({key:i[1],value:i[2]});return n},removeItem:e=>!!J.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;",!0),hasItem:e=>!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie),setItem(e,t,n){const i=new Date;let o=j(t);void 0!==n?i.setTime(i.getTime()+1e3*n):i.setUTCFullYear(i.getUTCFullYear()+1),o+="; expires="+i.toUTCString(),document.cookie=e+"="+o+";path=/;"}},B={setItem(e,t){const n=j(t);document.cookie=e+"="+n+";path=/;"},getItem:e=>J.getItem(e),getItemSlices:e=>J.getItemSlices(e),hasItem:e=>J.hasItem(e),removeItem:e=>J.removeItem(e)},H={},$={local:J,session:B,CampaignCookieCollection:{add(e){H[e.getCampaignId()]=e},getByCampaignId:e=>H[e],getAllAsArray:()=>Object.keys(H).map((e=>H[e]))}};var W=String.fromCharCode,G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",K={};const z={compressToBase64:function(e){if(null==e)return"";var t=z._compress(e,6,(function(e){return G.charAt(e)}));switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:z._decompress(e.length,32,(function(t){return function(e,t){if(!K[e]){K[e]={};for(var n=0;n>=1}else{for(o=1,i=0;i>=1}0==--u&&(u=Math.pow(2,g),g++),delete s[d]}else for(o=a[d],i=0;i>=1;0==--u&&(u=Math.pow(2,g),g++),a[l]=p++,d=String(c)}if(""!==d){if(Object.prototype.hasOwnProperty.call(s,d)){if(d.charCodeAt(0)<256){for(i=0;i>=1}else{for(o=1,i=0;i>=1}0==--u&&(u=Math.pow(2,g),g++),delete s[d]}else for(o=a[d],i=0;i>=1;0==--u&&(u=Math.pow(2,g),g++)}for(o=2,i=0;i>=1;for(;;){if(h<<=1,f==t-1){m.push(n(h));break}f++}return m.join("")},_decompress:function(e,t,n){var i,o,r,a,s,c,l,d=[],u=4,p=4,g=3,m="",h=[],f={val:n(0),position:t,index:1};for(i=0;i<3;i+=1)d[i]=i;for(r=0,s=Math.pow(2,2),c=1;c!=s;)a=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),r|=(a>0?1:0)*c,c<<=1;switch(r){case 0:for(r=0,s=Math.pow(2,8),c=1;c!=s;)a=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),r|=(a>0?1:0)*c,c<<=1;l=W(r);break;case 1:for(r=0,s=Math.pow(2,16),c=1;c!=s;)a=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),r|=(a>0?1:0)*c,c<<=1;l=W(r);break;case 2:return""}for(d[3]=l,o=l,h.push(l);;){if(f.index>e)return"";for(r=0,s=Math.pow(2,g),c=1;c!=s;)a=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),r|=(a>0?1:0)*c,c<<=1;switch(l=r){case 0:for(r=0,s=Math.pow(2,8),c=1;c!=s;)a=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),r|=(a>0?1:0)*c,c<<=1;d[p++]=W(r),l=p-1,u--;break;case 1:for(r=0,s=Math.pow(2,16),c=1;c!=s;)a=f.val&f.position,f.position>>=1,0==f.position&&(f.position=t,f.val=n(f.index++)),r|=(a>0?1:0)*c,c<<=1;d[p++]=W(r),l=p-1,u--;break;case 2:return h.join("")}if(0==u&&(u=Math.pow(2,g),g++),d[l])m=d[l];else{if(l!==p)return null;m=o+o.charAt(0)}h.push(m),d[p++]=o+m.charAt(0),o=m,0==--u&&(u=Math.pow(2,g),g++)}}},X=window.OptiMonk||{},Y=function(e,t){return JSON.parse(e,t)},Q=function(e,t){if("string"!=typeof e)return decodeURIComponent(e);var n,i,o,r="",a=0;for(void 0===t&&(t=0),i=(n=e.split(/(%(?:d0|d1)%.{2})/)).length;a1?ae(e,t.slice(1),n):void 0===e?n:e}var se,ce=Object.freeze({__proto__:null,stringify:function(e,t,n){return JSON.stringify(e,t,n)},parse:Y,decodeURIComponentSafe:Q,parseHelper:function(e,t){return"object"!=typeof t?Q(t):t},trim:function(e){return null===e?"":(e+"").replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},setInterval:ee,setTimeout:ne,checkVariable:function(e,t,n){let i=0;return new Promise(((o,r)=>{let a=ee((function(){void 0!==window[e]&&(o(window[e]),clearInterval(a)),i++,i===t&&(clearInterval(a),r(!1))}),n=n||10)}))},assign:ie,debounce:function(e,t,n){var i;return function(){for(var o=arguments.length,r=new Array(o),a=0;a576)){t=!1;break}}return t},merge:re,getProp:ae});const le={XMLHttpRequest:window.XMLHttpRequest,fetch:null==(se=window.fetch)||null==se.bind?void 0:se.bind(window),Promise:window.Promise,Date:window.Date};function de(){return!!document.body}let ue,pe=!1,ge=!1,me=!1;function he(){ge=!0;try{if(!de())return me?(console.warn("DOM is ready but document.body is not available"),null):("loading"!==document.readyState&&setTimeout(he,50),null);const e=document.querySelector('iframe[id="__OM_native_iframe"]');if(e)return ue=e,pe=!0,ue;const t=document.createElement("iframe");return ue=t,ue.style.display="none",ue.id="__OM_native_iframe",ue.setAttribute("aria-hidden","true"),ue.src="about:blank",ue.onload=()=>{pe=!0},de()?(document.body.appendChild(ue),setTimeout((()=>{pe=!0}),2e3),ue):(console.warn("Document body disappeared during iframe creation"),null)}catch(e){return console.error("Error creating iframe:",e),null}}function fe(){return!(!me||!de())&&(!(!ue||!ue.parentNode||"BODY"!==ue.parentNode.nodeName)||(ue=he(),!!ue))}function ve(){try{return fe()&&pe?ue.contentWindow:null}catch(e){return console.error("Error accessing iframe content window:",e),null}}if("complete"===document.readyState||"interactive"===document.readyState?me=!0:(document.addEventListener("DOMContentLoaded",(()=>{me=!0,ge||he()})),window.addEventListener("load",(()=>{me=!0,ge||he()}))),me)try{he()}catch(e){console.error("Error during initial iframe creation:",e)}le.XMLHttpRequest=function(){if(!fe())return new window.XMLHttpRequest(...arguments);let e;try{const t=ve();e=null==t?void 0:t.XMLHttpRequest}catch(t){e=null}return"function"!=typeof e&&(e=window.XMLHttpRequest),new e(...arguments)},le.fetch=function(){for(var e=arguments.length,t=new Array(e),n=0;nz.compressToBase64(JSON.stringify(e)),Ie=(e,t)=>{var n;if(null!=(n=window.OptiMonkRegistry)&&n.isShopifyDesignMode){try{localStorage.setItem("optiMonkClient_designMode",JSON.stringify(t))}catch(e){}return}const i=t[e];if(Object.keys(i.ca).length<=14)$.local.setItem("optiMonkClient",ye(t)),(e=>{const t=$.local.getItemSlicesRaw("optiMonkClient");for(let n=e>0?e-1:0,i=t.length;n{n.forEach((function(e,n){0!==n&&$.local.setItem("optiMonkClient_"+t+"_"+n,ye(e))}));const i=JSON.parse(JSON.stringify(e));i[OptiMonkRegistry.account].ca=n[0],$.local.setItem("optiMonkClient",ye(i))})(t,e,((e,t)=>{const n=[];let i=[],o=1;for(const r in e)if(e.hasOwnProperty(r)){const a=e[r];a.caId=r,i.push(a),o%t==0&&(n.push(i),i=[]),o++}return n.push(i),n})(i.ca,14))}(()=>{const e=$.local.getItemSlicesRaw("optiMonkClient");for(let t=0,n=e.length;t30}catch(e){console.error("[OM] Multi account cookie deletion error",e)}t&&(delete n[e],console.log("delete account cookie",e))})),n[e]={},n;if(Array.isArray(n[e].ca)){const t=$.local.getItemSlicesRaw("optiMonkClient"),o=n[e].ca;for(let e=0,n=t.length;e{const i=Ce();i[e].ca||(i[e].ca={}),i[e].ca[t]=n,Ie(e,i),OptiMonkRegistry.Cookie.ca[t]=n},Se=function(){const e=navigator.cookieEnabled;let t=!!e;return void 0!==e||t||(document.cookie="isCookie",t=-1!=document.cookie.indexOf("isCookie")),t},ke=function(){return!!document.webkitVisibilityState&&"prerender"===document.webkitVisibilityState},Oe=function(){return Se()&&!1===ke()},Me=function(e,t,n){let i;document.createEvent?(i=document.createEvent("HTMLEvents"),i.initEvent(t,!0,!0)):document.createEventObject&&(i=document.createEventObject(),i.eventType=t),i.eventName=t,i.parameters=n||{},e.dispatchEvent?e.dispatchEvent(i):e.fireEvent?e.fireEvent("on"+i.eventType,i):e[t]?e[t]():e["on"+t]&&e["on"+t]()},Ee=(e,t)=>{const n=document.querySelector("html");Me(n,"optimonk#campaign-conversion",{campaignId:e,elementDetails:t})},Pe=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},_e=function(e,t){t.frontend=!0,t.device=OptiMonkRegistry.isMobile?"mobile":"desktop",le.fetch(OptiMonkRegistry.baseUrl+"/metrics",{method:"POST",mode:"cors",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:d(),event:"frontend-"+e,properties:t})})},Ae=()=>{const e=document.querySelector('form[action^="/cart/add"][data-delm-is-primary-form="true"]')?document.querySelectorAll('form[action*="/cart/add"][data-delm-is-primary-form="true"]'):document.querySelectorAll('form[action*="/cart/add"]'),t=[...e].find((e=>e.getAttribute("data-product-id")||e.getAttribute("data-productid")));return null!=t?t:null==e?void 0:e[0]},Re=function(){if(window.ShopifyAnalytics){const e=Ae();if(e){const t=e.querySelector('[name="id"], [name="variantId"][checked]');if(t)return t.value}if("undefined"!=typeof URLSearchParams){const e=new URLSearchParams(window.location.search).get("variant");if(e)return e}return we(window.ShopifyAnalytics,"meta.selectedVariantId")||null}if(window.ShopRenter)return we(window.ShopRenter,"product.id")||null;if(window.mpro&&window.dataLayer){var e,t,n;const i=null==(e=window.dataLayer.find((e=>"view_item"===e.event)))||null==(t=e.ecommerce)||null==(n=t.items)?void 0:n[0];return(null==i?void 0:i.item_variant)||(null==i?void 0:i.item_id)||null}},Te=()=>{var e;const t=Ae(),n=(null==t||null==t.querySelectorAll?void 0:t.querySelectorAll('[name="id"] option, [name="variantId"]'))||[];return null==(e=Array.from(n))||null==e.map?void 0:e.map((e=>({id:e.value})))},xe=function(){var e,t;let n=null,i=Re();if(window.ShopifyAnalytics){n=we(window.ShopifyAnalytics,"meta.product.id");const e=Te(),t=e.length?e:we(window.ShopifyAnalytics,"meta.product.variants");if(t){t.find((function(e){return""+e.id==""+i}))||(i=null)}}else if(window.ShopRenter)i=we(window.ShopRenter,"product.id"),n=we(window.ShopRenter,"product.parent.id")||i;else if(window.UNAS)n=we(window.UNAS,"shop.product_id"),i=n;else if(window.WooDataForOM)n=we(window.WooDataForOM,"product.id"),i=n;else if(null!=(e=window.$)&&e.Gomag&&null!=(t=window.$.Gomag)&&t.environment.Product)n=we(window.$.Gomag.environment,"Product"),i=n;else if(window.mpro&&window.dataLayer){var o,r,a;const e=null==(o=window.dataLayer.find((e=>"view_item"===e.event)))||null==(r=o.ecommerce)||null==(a=r.items)?void 0:a[0];e&&(n=e.item_id,i=e.item_variant||n)}return n&&i?{productId:""+n,variantId:""+i}:null};X.loadScript=function(e,t){"/"!==e.charAt(0)&&(e="/"+e),OptiMonkEmbedded.AssetManager.loadAsset(OptiMonkRegistry.getAssetUrlFor(e),"js",t)};var De=Object.freeze({__proto__:null,each:function(e,t){let n;for(n in e)e.hasOwnProperty(n)&&"length"!==n&&t(n,e[n])},getCookie:Ce,updateCampaignCookie:be,updateCampaignCookies:(e,t)=>{var n;const i=Ce();null!=(n=i[e])&&n.ca||(i[e].ca={}),Object.keys(t).forEach((n=>{window.OptiMonkEmbedded.campaigns[n]||(i[e].ca[n]=t[n])})),Ie(e,i)},isCookieEnabled:Se,isPreRender:ke,shouldContinueLoading:Oe,addResponseToHead:function(e){if(window.OMReloading)return;const t=document.createElement("script"),n=document.createTextNode(e);t.appendChild(n),t.type="text/javascript";const i=document.querySelector('script[src*="front.optimonk.com"][src$="preload.js"]');i&&i.nonce&&t.setAttribute("nonce",i.nonce);try{document.querySelector("head").appendChild(t)}catch(e){console.warn(e)}},triggerEvent:Me,triggerConversion:Ee,uuid:Pe,requestIdleCallback:function(e,t){if(window.requestIdleCallback)return window.requestIdleCallback(e,t);const n=Date.now(),i=t&&"number"==typeof t.timeout?t.timeout:50;return setTimeout((function(){e({didTimeout:!1,timeRemaining:()=>Math.max(0,i-(Date.now()-n))})}),1)},cancelIdleCallback:function(e){if(window.cancelIdleCallback)return window.cancelIdleCallback(e);clearTimeout(e)},sendMetrics:_e,getAddToCartForm:Ae,getSelectedVariantId:Re,getShopifyVariantsFromDOM:Te,getViewedProductIds:xe,getExperimentalSetting:function(e){var t;return null==(t=X.experimentalSettings)?void 0:t[e]}});class Ne{isEnabled(){return!1}sendNonInteractionEvent(e,t,n){}sendInteractionEvent(e,t,n){}}const Ue=function(e,t){var n;void 0===t&&(t={}),null==(n=OptiMonkRegistry.JFEvents)||n.push([e,t])},qe=()=>{let e;for(;e=OptiMonkRegistry.JFEvents.shift();){if(!Array.isArray(e)||"string"!=typeof e[0])return void console.warn("invalid pre-registered event: must be a tuple: [eventType, props]");const[t,n={}]=e;window.JFClientSDK.v2.registerCustomEvent(t,n)}(()=>{if(OptiMonkRegistry.JFEvents.push!==Array.prototype.push)return;let e;OptiMonkRegistry.JFEvents.push=function(){for(var t=arguments.length,n=new Array(t),i=0;i{if(!Array.isArray(e)||"string"!=typeof e[0])return void console.warn("invalid invocation: must be called with a tuple: [eventType, props]");const[t,n={}]=e;window.JFClientSDK.v2.registerCustomEvent(t,n||{})})),clearTimeout(e),e=setTimeout((()=>{window.JFClientSDK.v2.go()}),200)}})()},Le=e=>{switch(e){case"shown":return"impression";case"filled":return"conversion";case"no":return"rejected";case"close(x)":return"closex";default:return e}},Ve=(e,t)=>{var n,i,o,r,a;const s=(null==(n=window.OptiMonkEmbedded)||null==(i=n.campaigns)?void 0:i[e])||(null==(o=window.OptiMonk)||null==(r=o.campaigns)?void 0:r[e]);return(null==s||null==(a=s.experiences)?void 0:a.find((e=>e.variants.includes(t))))||{name:""}};class Fe{getJF(){return window.JFClientSDK&&window.JFClientSDK.v2}isEnabled(){return void 0!==this.getJF()}reportEvent(e,t){const n=Le(e),i=Fe.reportEventMap[n];i&&Ue(i,{campaignId:""+t.getId(),variantId:t.getCreativeId(),deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"})}sendNonInteractionEvent(e,t,n,i){this.isEnabled()&&this.reportEvent(t,i)}sendInteractionEvent(e,t,n,i){this.isEnabled()&&this.reportEvent(t,i)}}Fe.reportEventMap={closex:"eoc"};var je=Object.freeze({__proto__:null,TYPE_GTAG:"gtag",TYPE_GA:"ga",TYPE_CLASSIC:"classic",TYPE_UNIVERSAL:"universal",TYPE_TAG_MANAGER:"tag-manager",TYPE_GA4:"ga4",TYPE_TAG_MANAGER_GA4:"tag-manager-ga4",TYPE_JF:"jf"});class Je{constructor(e){var t;this.fnName=e;const n=(null==X||null==(t=X.config)?void 0:t.analytics)||{};n.trackerName?this.trackerName=n.trackerName+".":this.trackerName=""}checkFnAvailability(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i{this.checkFnAvailability(e,...n)}),1e3)}ga(){for(var e=arguments.length,t=new Array(e),n=0;n{if(e())return t(e());setTimeout((()=>{Ke(e,t)}),500)};class ze{isEnabled(){return!0}sendNonInteractionEvent(e,t,n,i){this.report(t,i)}sendInteractionEvent(e,t,n,i){this.report(t,i)}report(e,t){Ke((()=>window.gtag),(n=>{const i=Le(e),o=Ve(t.getId(),t.getVariantId());n("event","optimonk_campaign_event",{om_campaign_name:t.getName(),om_campaign_action:i,om_campaign_id:t.getId(),om_campaign_variant_name:t.getCreativeName(),om_campaign_experience_name:o.name})}))}}class Xe{constructor(){this.items={}}get(e){if(this.has(e))return this.items[e]}has(e){return this.items.hasOwnProperty(e)}set(e,t){this.items[e]=t}remove(e){this.has(e)&&delete this.items[e]}forAll(e){S(this.items,e)}}class Ye{isEnabled(){return!0}sendNonInteractionEvent(e,t,n,i){this.sendTagManager(e,t,n,i)}sendInteractionEvent(e,t,n,i){this.sendTagManager(e,t,n,i)}sendTagManager(e,t,n,i){Ke((()=>{var e;const t=(null==X||null==(e=X.config)?void 0:e.tagManager)||{};return window[t.varName||"dataLayer"]}),(e=>{const n=Le(t),o=Ve(i.getId(),i.getVariantId());e.push({campaign_id:i.getId(),campaign_name:i.getName(),variant_name:i.getCreativeName(),experience_name:o.name,action:n,event:"optimonk_campaign_event"})}))}}const Qe=new Xe,Ze={init(){Qe.set("universal",new We),Qe.set("tag-manager",new Ge),Qe.set("tag-manager-ga4",new Ye),Qe.set("ga4",new ze),Qe.set("jf",new Fe),Qe.set("default",new Ne)},create:e=>Qe.get(e)||Qe.get("default"),getAll(){Ze.init();const e=[];return Qe.forAll(((t,n)=>{"default"!==t&&e.push(n)})),e}},et={OPERATION_FILLED:"filled",OPERATION_SHOWED:"showed",OPERATION_NO:"no",OPERATION_CLOSE_X:"closeX",report(e,t){if(!et.isEnabled(t))return;et.getEnabledAdapters().forEach((n=>{et.send(e,n,{campaign:t})}))},reportCustomEvent(e,t){const n=et.getEnabledAdapters(),i={getId:()=>"",getName:()=>"",getCreativeName:()=>"",getVariantId:()=>""};n.forEach((n=>{et.send(e,n,{label:t,campaign:i})}))},isEnabled:e=>1===e.getAnalytics().status,getEnabledAdapters:()=>Ze.getAll().filter((e=>e.isEnabled())),send(e,t,n){let{campaign:i,label:o=null}=n;o=o||(e=>e.getName()+" - "+e.getCreativeName())(i);const r=OptiMonkRegistry.brand;let a;switch(e){case et.OPERATION_FILLED:a="filled",t.sendInteractionEvent(r,a,o,i);break;case et.OPERATION_SHOWED:a="shown",t.sendNonInteractionEvent(r,a,o,i);break;case et.OPERATION_NO:a="no",t.sendNonInteractionEvent(r,a,o,i);break;case et.OPERATION_CLOSE_X:a="close(x)",t.sendNonInteractionEvent(r,a,o,i);break;default:t.sendNonInteractionEvent(r,e,o,i)}}},tt={init(){if(!OptiMonkRegistry.experimentsInitialized){let e=tt.readCookie();e&&(e=this.cleanupOldExperimentsFromCookie(e)),OptiMonkRegistry.experiments&&OptiMonkRegistry.experiments.length&&(this.setVisitorGroups(e),this.runJsSnippets()),this.reportToGA(),OptiMonkRegistry.experimentsInitialized=!0}},initSafe(){try{this.init()}catch(e){console.error("[frontend] Experiments error",e)}},sendToGA(e){let{experimentName:t,groupName:n}=e;window.dataLayer=window.dataLayer||[],window.dataLayer.push(function(){return arguments}("event","visitor_in_ab_test",{om_ab_test_name:t,om_ab_test_group:n})),window.dataLayer.push({om_ab_test_name:t,om_ab_test_group:n,event:"visitor_in_ab_test"})},reportToGA(){const e=tt.readCookie();e&&e.length&&e.forEach((e=>{const t=e.split("_"),n=t[1],i=OptiMonkRegistry.experiments.find((e=>e._id===n));if(i){var o;const e=t[3],n=null==(o=i.groups.find((t=>t._id.toString()===e.toString())))?void 0:o.name;n&&this.sendToGA({experimentName:i.name,groupName:n})}}))},readCookie(){const e=$.local.getItem("optiMonkExperiments");return e?JSON.parse(e):null},cleanupOldExperimentsFromCookie(e){const t=JSON.parse(JSON.stringify(e));return e.forEach(((e,n)=>{const i=e.split("_")[1];OptiMonkRegistry.experiments.some((e=>e._id===i))||t.splice(n,1)})),$.local.setItem("optiMonkExperiments",t),t},inVisitorGroupPerExperiment:(e,t)=>null==e?void 0:e.some((e=>e.startsWith("experiment_"+t._id))),sortToGroupByTrafficShare(e){const t=Math.floor(1e3*Math.random()*e.groups.length)+1;let n=0;for(const i of e.groups)if(n+=1e3*i.trafficShare,t<=n)return"experiment_"+e._id+"_group_"+i._id.toString()},runJsSnippet(e,t){try{new Function(t)(),console.log("[frontend] JS snippet run for experiment:",e)}catch(t){console.error("[frontend] Experiment JS snippet error.",e,t)}},runJsSnippets(){const e=tt.readCookie();null==e||e.forEach((e=>{var t,n;const i=e.split("_"),o=i[1],r=i[3],a=null==(t=OptiMonkRegistry.experiments)?void 0:t.find((e=>e._id===o)),s=null==a||null==(n=a.groups)?void 0:n.find((e=>e._id===r));null!=s&&s.jsSnippet&&this.runJsSnippet(e,s.jsSnippet)}))},setVisitorGroups(e){const t=[];OptiMonkRegistry.experiments.forEach((n=>{this.inVisitorGroupPerExperiment(e,n)||t.push(this.sortToGroupByTrafficShare(n))})),t.length&&$.local.setItem("optiMonkExperiments",[...e||[],...t])}},nt=e=>{if(e){var t;return null==(t=tt.readCookie().find((t=>t.includes(e))))?void 0:t.split("_")[3]}return null},it=()=>{const e=tt.readCookie(),t=[];return e&&e.length&&e.forEach((e=>{const n=e.split("_");t.push({experimentId:n[1],groupId:n[3]})})),JSON.stringify(t)};class ot{constructor(){this.type="custom",this._cookieNames=[]}getShopId(){return null}hasCookie(){let e=!1;for(let t=0;t{var e,t;if(window.WooDataForOM)return(null==(e=window.WooDataForOM)||null==(t=e.shop)?void 0:t.pluginVersion)||null;return Array.from(document.head.querySelectorAll("script")).some((e=>e.innerHTML.includes("window.OptiMonkEmbedded.Visitor.createAdapter()")&&e.innerHTML.includes("pvData")&&e.innerHTML.includes("post_type")))?"2.0.9":null},dt=e=>{if(!e)return e;let t=e.toLowerCase();return t=t.replace(/^https?:\/\//,""),t.startsWith("m.")?t=t.substring(2):t.startsWith("www.")&&(t=t.substring(4)),t};class ut extends ot{constructor(){super(...arguments),this.type="woocommerce"}check(){var e,t;let n=!1;const i=document.querySelector("body");return i&&(n=i.classList.contains("woocommerce")),"woocommerce"===(null==(e=window.WooDataForOM)||null==(t=e.shop)?void 0:t.platform)||!!window.woocommerce_params||n}getShopId(){const e=dt(window.location.hostname);return"localhost"===e?null:e}getPluginVersion(){return lt()}}class pt extends ot{constructor(){super(...arguments),this.type="shoprenter"}check(){return!!window.ShopRenter}getShopId(){return window.ShopRenter&&window.ShopRenter.shop&&window.ShopRenter.shop.name||null}}class gt extends ot{constructor(){super(...arguments),this.type="salesforce-commerce"}check(){const e=Array.from(document.querySelectorAll("link"));for(let t=0;t-1)return!0}}return!1}}class mt extends ot{constructor(){super(...arguments),this.type="unas"}check(){return!!window.UNAS}getShopId(){return window.UNAS&&window.UNAS.shop.id.toString()||null}}class ht extends ot{constructor(){super(...arguments),this.type="gomag"}check(){var e;return!(null==(e=window.$)||!e.Gomag)}getShopId(){var e;return null!=(e=window.$)&&e.Gomag.mainDomain?dt(window.$.Gomag.mainDomain):null}}class ft extends ot{constructor(){super(...arguments),this.type="wordpress"}check(){const e=Array.from(document.querySelectorAll("link"));for(let t=0;t-1,t=n.href.indexOf("/wp-includes/")>-1;if(e||t)return!0}}return!1}getPluginVersion(){return lt()}}class vt extends ot{constructor(){super(...arguments),this.type="drupal"}check(){return!!window.Drupal}}class wt extends ot{constructor(){super(...arguments),this.type="merchantpro"}check(){return!!window.mpro}getShopId(){if(Object.values(window.mpro.config.page.language_urls)[0]){const e=Object.values(window.mpro.config.page.language_urls)[0];try{const t=new URL(e);return dt(t.hostname)}catch(t){return dt(e)}}return null}}let yt=!1;const It=[];function Ct(){if(!yt)try{It.push(new rt),It.push(new at),It.push(new st),It.push(new ct),It.push(new ut),It.push(new pt),It.push(new gt),It.push(new mt),It.push(new ft),It.push(new vt),It.push(new ht),It.push(new wt),yt=!0}catch(e){console.error("[Engine] Error occurred when instantiating detectors",e)}}function bt(){yt||Ct();for(let e=0;e{var e,t;const n=$.local.getItem("__kla_id"),i=$.local.getItem("optiMonkClientId");return{account:"undefined"!=typeof OptiMonkRegistry?OptiMonkRegistry.account:null,isKlaviyoDetected:!!n||!(null==(e=window)||null==(t=e.klaviyo)||!t.identify),clientId:i,hostname:location.hostname}},Mt={load:function(e){var t,n,o;if("undefined"!=typeof XMLHttpRequest)"withCredential"in(t=new XMLHttpRequest)&&(t.withCredentials=!0);else{var r=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"];for(n=0,o=r.length;o>n;n++)try{t=new ActiveXObject(r[n]);break}catch(e){}}return t.onreadystatechange=function(){if(4===t.readyState&&e){var n;const o=null==(n=t.getAllResponseHeaders())?void 0:n.trim().split(/[\r\n]+/).reduce(((e,t)=>{const n=t.split(": "),o=n.shift(),r=n.join(": ");return i({},e,{[o]:r})}),{});e(t.responseText,o)}},t},get:function(e,t){var n=Mt.load(t);n.open("GET",e,!0),n.send("")},post:function(e,t,n){var i=Mt.load(n);i.open("POST",t,!0),i.setRequestHeader("Content-type","application/x-www-form-urlencoded"),i.send(e)},postJSON:function(e,t,n){var i=Mt.load(n);i.open("POST",t,!0),i.setRequestHeader("Content-type","application/json"),i.send(e)}};function Et(e){if(OptiMonkRegistry&&OptiMonkRegistry.providerServiceIdOverrides){const e=window.location.hostname,t=dt(e),n=OptiMonkRegistry.providerServiceIdOverrides[t]||OptiMonkRegistry.providerServiceIdOverrides[e];if(n)return n}return e}let Pt=!1;const _t={initialize(){Pt||(kt.initialize(),Pt=!0)},collect(e){void 0===e&&(e=!1);const t=kt.getInfo();let n=t.shopId;return e&&(n=Et(n)),{account:OptiMonkRegistry.account,platform:t.type,shopId:n,hostname:location.hostname,pluginVersion:kt.getPluginVersion()}},getSiteStatus:async()=>await C().getSiteStatus(),getKlaviyoInfo:Ot,sendIsKlaviyoDetected(){const e=Ot();Mt.post("data="+JSON.stringify(e),OptiMonkRegistry.baseUrl+"/analytics/klaviyo")},send(){if(!Pt)throw new Error("[SiteInfo] Not initialized");const e=_t.collect();Mt.post("data="+JSON.stringify(e),OptiMonkRegistry.baseUrl+"/analytics/siteinfo")},async checkSiteStatus(){const e=await _t.getSiteStatus();e&&!e.error?(e.site&&setTimeout((function(){_t.initialize(),_t.send()}),5e3),e.klaviyo&&_t.checkKlaviyo()):console.error("[OM] Site status check failed")},checkKlaviyo(){let e,t=10;setTimeout((function(){const n=setInterval((function(){e=_t.getKlaviyoInfo().isKlaviyoDetected,t--,(e||t<1)&&(_t.sendIsKlaviyoDetected(),clearInterval(n))}),1e3)}),5e3)}},At={type:"shopify",isShop:()=>void 0!==window.ShopifyAnalytics&&void 0!==window.Shopify,isProductPage:()=>"product"===window.ShopifyAnalytics.meta.page.pageType,getProductId:()=>window.ShopifyAnalytics.meta.product.id,getVariantId:()=>window.ShopifyAnalytics.meta.selectedVariantId,getProductName(){var e,t,n,i,o;const r=null==(e=window.ShopifyAnalytics)||null==(t=e.meta)||null==(n=t.product)||null==(i=n.variants)||null==(o=i[0])?void 0:o.name,a=r.indexOf("-");return-1===a?r:r.substring(0,a).trim()},getProductPageData(){return{product_id:this.getProductId()}},getCustomerId:()=>At.isShop()?we(window.ShopifyAnalytics,"meta.page.customerId"):null,isCollectionPage:()=>"collection"===window.ShopifyAnalytics.meta.page.pageType,isCheckoutPage(){var e,t;return"show"===(null==(e=window.Shopify)||null==(t=e.Checkout)?void 0:t.page)},getResourceId:()=>window.ShopifyAnalytics.meta.page.resourceId,getResourceType:()=>window.ShopifyAnalytics.meta.page.resourceType,getShopName:()=>window.Shopify.shop||window.Shopify.Checkout.apiHost,getShopCurrency:()=>window.ShopifyAnalytics.meta.currency,getRootURL:()=>window.Shopify.routes.root,applyCheckoutDiscountCode:e=>new Promise((t=>{const n=document.querySelector('[data-discount-field], [name="reductions"]');n&&(n.value=e,n.dispatchEvent(new Event("input",{bubbles:!0})),n.form)?setTimeout((()=>{n.form.dispatchEvent(new Event("submit",{bubbles:!0})),t(!0)}),0):t(!1)}))};function Rt(){const e=kt.getInfo();let t=e.type,n=dt(e.shopId||window.location.host);const i=d();return 58417===i?(n="blendjet.myshopify.com",t="shopify"):88202===i&&(n="rugby-is-life.myshopify.com",t="shopify"),n=Et(n),{provider:t,providerServiceId:n}}function Tt(){let e;return At.isShop()?e=At.getCustomerId():window.ShopRenter&&(e=we(window.ShopRenter,"customer.userId")),e?""+e:void 0}function xt(){const e="mobile";return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.navigator.userAgentData&&window.navigator.userAgentData.mobile||window.matchMedia("(max-width: 767px)").matches?e:"desktop"}function Dt(){var e,t;const n=null==(e=window.document)||null==e.querySelector||null==(t=e.querySelector('link[rel="canonical"]'))?void 0:t.getAttribute("href");if(!n)return null;return n.split("?")[0]}const Nt=()=>{const e=it(),t=xt();_t.initialize();const n=_t.collect(!0),i={accountId:OptiMonkRegistry.account,deviceId:OptiMonkRegistry.clientId,siteType:n.platform,siteId:n.shopId||n.hostname,shopifyY:$.local.getItem("_shopify_y"),userAgent:navigator.userAgent,url:location.href,canonicalUrl:Dt(),visitorInExperiment:e,deviceType:t};return window.btoa(unescape(encodeURIComponent(JSON.stringify(i))))},Ut="showed",qt="showed",Lt="filled",Vt="rejected";let Ft=$.local.setItem,jt=$.local.getItem,Jt=$.local.getItemSlices,Bt=$.local.removeItem,Ht=$.local.hasItem,$t=$.session.setItem,Wt=$.session.getItem,Gt=$.session.getItemSlices,Kt=$.session.removeItem,zt=$.session.hasItem;"object"==typeof localStorage&&(Ft=function(e,t){localStorage.setItem(e,_(t))},jt=function(e){return A(localStorage.getItem(e),R)},Jt=function(e){return A(localStorage.getItemSlices(e),R)},Bt=function(e){return localStorage.removeItem(e),!0},Ht=function(e){return null!==jt(e)},$t=function(e,t){sessionStorage.setItem(e,_(t))},Wt=function(e){return A(sessionStorage.getItem(e),R)},Gt=function(e){return A(sessionStorage.getItemSlices(e),R)},Kt=function(e){return sessionStorage.removeItem(e),!0},zt=function(e){return null!==Wt(e)});const Xt={getItem:e=>jt(e),setItem(e,t){Ft(e,t)},getItemSlices:e=>Jt(e),removeItem:e=>Bt(e),hasItem:e=>Ht(e)},Yt={local:Xt,session:{getItem:e=>Wt(e),setItem(e,t){$t(e,t)},getItemSlices:e=>Gt(e),removeItem:e=>Kt(e),hasItem:e=>zt(e)},getPreviouslyViewedPages:()=>Xt.getItem("OptiMonkPreviouslyViewedPages")||{},setPreviouslyViewedPages:e=>{Xt.setItem("OptiMonkPreviouslyViewedPages",e)},deletePreviouslyViewedPages:()=>{Xt.removeItem("OptiMonkPreviouslyViewedPages")}},Qt="embedded_placement",Zt="dynamic_content_preview";var en=new class{setup(){this._setupDCPreview(),this._setupPopupPreview(),this._setupEmbeddedPreview(),this._setupPreviewSession(),this._setupShopifyDesignModePreview()}_setupPreviewSession(){const e=new URLSearchParams(window.location.search),t=e.get("om-preview-session");t&&(Yt.session.setItem("om-preview-session",t),e.delete("om-preview-session"),window.history.replaceState(null,null,"?"+e.toString()))}_setupDCPreview(){const e=new URLSearchParams(window.location.search).get("om-preview-v3-id");e&&Yt.session.setItem("om-preview-v3-id",e);Yt.session.getItem("om-preview-v3-id")&&(this._setIsPreview(Zt),D("body",(()=>{this.hideBody()})))}_setupEmbeddedPreview(){const e=new URLSearchParams(window.location.search);if(e.get("om-preview-id"))return;const t=e.get("om-embedded-preview-id"),n=JSON.parse(Yt.session.getItem("om-web-selector-settings")||"{}"),i=Yt.session.getItem("om-embedded-preview-id"),o=!!Yt.session.getItem("om-web-selector-settings");n.variantId&&Yt.session.setItem("om-embedded-preview-id",n.variantId),t&&Yt.session.setItem("om-embedded-preview-id",t),!i||t||o||(e.set("om-embedded-preview-id",i),window.history.replaceState(null,null,"?"+e.toString())),(t||n.variantId)&&(this._setIsPreview(Qt),t?console.log("Not hiding body for shareable preview"):D("body",(()=>{this.hideBody()})))}_setupPopupPreview(){const e=new URLSearchParams(window.location.search).get("om-preview-id");e&&Yt.session.setItem("om-preview-id",e),this.getPopupPreviewVariantId()&&this._setIsPopupPreview()}hideBody(){document.body.style.display="none"}showBody(){document.body.style.display=""}_setIsPreview(e){void 0===e&&(e=Zt),window.OptiMonkRegistry.isPreview=!0,window.OptiMonkRegistry.previewType=e}_setIsPopupPreview(){window.OptiMonkRegistry.isPopupPreview=!0}getPreviewVariantId(){return Yt.session.getItem("om-embedded-preview-id")||Yt.session.getItem("om-preview-v3-id")}getPopupPreviewVariantId(){return Yt.session.getItem("om-preview-id")}isPreview(){return!!window.OptiMonkRegistry.isPreview}isPopupPreview(){return!!window.OptiMonkRegistry.isPopupPreview}isShareablePreview(){const e=new URLSearchParams(window.location.search).has("om-embedded-preview-id"),t=!!Yt.session.getItem("om-web-selector-settings");return e&&!t}_setupShopifyDesignModePreview(){window.Shopify&&window.Shopify.designMode&&(window.OptiMonkRegistry.isShopifyDesignMode=!0,window.OM_SHOPIFY_LIVE_DOMAIN&&(window.OptiMonkRegistry.shopifyLiveDomain=window.OM_SHOPIFY_LIVE_DOMAIN))}isShopifyDesignMode(){return!!window.OptiMonkRegistry.isShopifyDesignMode}getShopifyLiveDomain(){return window.OptiMonkRegistry.shopifyLiveDomain||null}handleError(e){alert(e)}exitPreview(){Yt.session.removeItem("om-preview-v3-id"),history.replaceState(null,null,window.location.pathname),window.location.reload()}};const tn=e=>{const t=e.split("-");return t.forEach((function(e,n){n&&(t[n]=(e=>e.charAt(0).toUpperCase()+e.slice(1))(t[n]))})),t.join("")},nn=e=>{var t;return e?null!=(t=e.dataset)?t:(e=>{const t={};if(e.hasAttributes())for(let n=0,i=e.attributes.length;n{this.element.removeAttribute("data-balloon"),this.element.removeAttribute("data-balloon-visible")},this.onMouseOver=()=>{this.element.setAttribute("data-balloon",this.message)},this.onFocus=()=>{this.onMouseOut()},this.init()}init(){this.message=this.input.getAttribute("data-error-text")||this.input.getAttribute("data-tooltip-text"),this.showImmediately&&this.element.setAttribute("data-balloon-visible","1"),this.showAlways?this.element.setAttribute("data-balloon",this.message):(this.element.setAttribute("data-balloon",this.message),this.element.setAttribute("data-balloon-pos",this.position),O(this.element,"mouseover",this.onMouseOver),O(this.element,"mouseout",this.onMouseOut),O(this.input,"focus",this.onFocus))}show(){this.element.setAttribute("data-balloon-visible","1")}hide(){this.element.removeAttribute("data-balloon-visible")}destroy(){this.element.removeAttribute("data-balloon"),this.element.removeAttribute("data-balloon-pos"),this.element.removeAttribute("data-balloon-visible"),M(this.element,"mouseover",this.onMouseOver),M(this.element,"mouseout",this.onMouseOut),M(this.input,"focus",this.onFocus)}}const un=function(){const e=document.createElement("div");return function(t){return t&&"string"==typeof t&&(t=(t=t.replace(/]*>([\S\s]*?)<\/script>/gim,"")).replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim,""),e.innerHTML=t,t=e.textContent,e.textContent=""),t}}(),pn=()=>!!(()=>{if(!window.OptiMonkRegistry||!window.OptiMonkRegistry.unifiedDataDomains)return null;const e=window.location.hostname,t=e.replace("www.","");return window.OptiMonkRegistry.unifiedDataDomains[e]||window.OptiMonkRegistry.unifiedDataDomains[t]||null})(),gn=(e,t)=>{"string"==typeof e&&(e=e.replace(".",""));const n=/\{\{\s*(\w+)\s*\}\}/,i=un(t)||"{{amount}}";function o(e,t){return void 0===e?t:e}function r(e,t,n,i){if(t=o(t,2),n=o(n,","),i=o(i,"."),window.ShopRenter&&(t="HUF"===window.ShopRenter.shop.currency.code?0:t,n=".",i=","),isNaN(e)||null==e)return 0;const r=(e=(e/100).toFixed(t)).split(".");return r[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+n)+(r[1]?i+r[1]:"")}let a="";switch(i.match(n)[1]){case"amount":a=r(e,2);break;case"amount_no_decimals":a=r(e,0);break;case"amount_with_comma_separator":a=r(e,2,".",",");break;case"amount_no_decimals_with_comma_separator":a=r(e,0,".",",");break;case"amount_no_decimals_with_space_separator":a=r(e,0," ",",")}return i.replace(n,a)},mn=e=>{let t=e;for(;t.hasChildNodes();)t=t.firstChild;return t},hn=e=>new URL(e).pathname.toLowerCase().trim().replace(/(^\w+:|^)\/\//,"").replace(/[^a-z0-9 -]/g,"-").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/(?<=.)-$/,""),fn=()=>{var e;const t=(null==(e=document.querySelector('link[rel="canonical"]'))?void 0:e.href)||window.location.href;return hn(t)},vn=()=>{var e,t,n,i,o,r,a,s,c,l,d,u,p,g,m,h,f,v,w;return(null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.product)?void 0:n.id)||(null==(i=window)||null==(o=i.ShopifyAnalytics)||null==(r=o.meta)||null==(a=r.product)?void 0:a.id)||(pn()?null==(s=window.UNAS)||null==(c=s.shop)?void 0:c.product_id:null)||(pn()?null==(l=window.WooDataForOM)||null==(d=l.product)||null==(u=d.id)?void 0:u.toString():null)||(pn()?null==(p=window.$)||null==(g=p.Gomag)||null==(m=g.environment)?void 0:m.Product:null)||(window.mpro&&window.dataLayer?null==(h=window.dataLayer.find((e=>"view_item"===e.event)))||null==(f=h.ecommerce)||null==(v=f.items)||null==(w=v[0])?void 0:w.item_id:null)};var wn={StopNavigationDecorator:class{static async decorate(e){let{handler:t,campaign:n,buttonSettings:i,targetElement:o,logger:r,cookieManager:a}=e;r.debug("StopNavigationDecorator decorate"),((e,t)=>{const n=e,i=mn(n);if(void 0!==i.classList)return;const o=i?i.parentNode:n,r=o.innerHTML;o.innerHTML=" "+r})(o,"om-animate-spin fa-spinner");const s=await t.handle({handler:t,campaign:n,buttonSettings:i,logger:r,cookieManager:a});return new Promise((e=>{if(!1===s){(e=>{const t=e,n=t.children[0].innerText,i=mn(t);(i?i.parentNode:t).innerHTML=n})(o);const t=n.getCurrentStepInputs();Array.from(t).filter((e=>e.name===n.getInputTypes().EMAIL)).forEach((e=>{e.setAttribute("data-error-text","You are already subscribed with your email address."),new dn(e,!0,"up")})),e(!1)}e(!0)}))}}};class yn{static addRecartProperties(){var e;if(null!=(e=window._recart)&&e.isReady())return{sessionId:window._recart.getSessionId(),shopperId:window._recart.getShopperId(),siteId:window._recart.getSiteId()}}static getMetaData(e,t){const n=!0===m().STOP_ON_INTEGRATION_ERROR,i=Yt.local.getItem("OptiMonkVisitorAttributes"),o={page:e.getCurrentStepIndex(),converted:e.isConverted()||!1,language:navigator.language,country:i._country_en};t.action&&(o.action=t.action),t.reportAs&&(o.report=t.reportAs),t.isConversion&&(o.filled=t.isConversion),t.syncToIntegration&&(o.syncToIntegration=t.syncToIntegration),n&&(o.needsSyncResponse=!0);const r=this.getNextPageNumber(e,t);return o.allInputFilled=!e.hasInputOn(r)&&!e.hasButtonOnStepForMetadata(r),o.recartProperties=this.addRecartProperties(),JSON.stringify(o)}static getNextPageNumber(e,t){return t.action===cn.NEXT_POPUP?e.getCurrentStepIndex()+1:t.action===cn.JUMP_TO_PAGE?t.jumpTo-1:null}static canHandle(){throw new Error("Not implemented: "+this.name)}}const In={};class Cn{static setCampaignDataState(e,t,n,o){let{variantId:r,pageUserId:a}=t;this.setBaseConversionData(e,r,a,o),In[e]=i({},In[e],n)}static getCampaignDataStateByUid(e){return In[e]||null}static setBaseConversionData(e,t,n,i){const o=nt(i.campaignData.currentExperimentId),r=it();_t.initialize(),In[e]={final:!1,needSetConverted:!1,converted:i.isConverted()||!1,"visitor[url]":encodeURIComponent(window.location.href),"visitor[canonicalUrl]":encodeURIComponent(Dt()),deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop",creative:t,clientId:OptiMonkRegistry.clientId,siteInfo:JSON.stringify(_t.collect()),pageUserId:n,experimentGroupId:o,visitorInExperiment:r}}static getCampaignBase(e){return{variantId:e.getVariantId(),pageUserId:e.getPageUserId()}}static collectDataForProduct(e,t){const n=e.getUid(),i=this.getCampaignBase(e),o=t.getPayload(e);return this.setCampaignDataState(n,i,o,e),this.getCampaignDataStateByUid(n)}static getMetaDataForProduct(){return JSON.stringify({allInputFilled:!0})}static collectDataForButton(e){const t=e.getUid(),n=this.getCampaignBase(e);return this.setCampaignDataState(t,n,null,e),this.getCampaignDataStateByUid(t)}}class bn{constructor(){this.observers=[]}attach(e){this.observers.push(e)}detach(e){this.observers=this.observers.filter((function(t){if(t!==e)return t}))}notify(e,t){e=e||window,S(this.observers,(function(n,i){i.call(e,t)}))}}const Sn={call(e,t){switch(t.event){case"construct":Sn.load(t);break;case"removeItem":case"set":Sn.save(t)}},load(e){S(Yt.local.getItem("OptiMonkVisitorAttributes")||{},(function(t,n){e.params[t]=n}))},save(e){const t=this.escapeObjectValues(e.params);Yt.local.setItem("OptiMonkVisitorAttributes",t)},escapeObjectValues(e){const t={};for(const n in e)e.hasOwnProperty(n)&&(t[n]=encodeURIComponent(e[n]));return t}};class kn{constructor(e,t){void 0===t&&(t=[]),this.data=e,this.tags=t}}const On={elements:new Xe,get:e=>On.elements.has(e)?On.elements.get(e).data:void 0,set(e,t,n){void 0===n&&(n=[]),On.elements.set(e,new kn(t,n))},clear(e){On.elements.remove(e)},clearByTag(e){On.elements.forAll((function(t,n){n.tags.indexOf(e)>-1&&On.clear(t)}))},apply(e,t,n,i){void 0===i&&(i=[]);const o=On.get(n);if(void 0!==o)return o;const r=e.apply(e,t);return On.set(n,r,i),r}},Mn={call(e,t){switch(t.event){case"construct":case"addItem":case"removeItem":case"clear":Mn.clear()}},clear(){On.clearByTag("Tag.OptiMonk.Visitor.Cart")}},En={call(e,t){switch(t.event){case"construct":En.load(t);break;case"addItem":case"removeItem":case"clear":En.save(t)}},load(e){S(Yt.session.getItem("OptiMonkVisitorCart")||{},(function(t,n){e.items[t]=n}))},save(e){Yt.session.setItem("OptiMonkVisitorCart",e.items)}},Pn=["remove","set","clear"],_n=["construct"],An={call(e,t){Pn.includes(t.event)?An.save(t):_n.includes(t.event)&&An.load(t)},load(e){S(Yt.local.getItem("OptiMonkShopAttributes")||{},(function(t,n){e.params[t]=n}))},save(e){const t=this.escapeObjectValues(e.params);Yt.local.setItem("OptiMonkShopAttributes",t)},escapeObjectValues(e){const t={};for(const n in e)e.hasOwnProperty(n)&&(t[n]=encodeURIComponent(e[n]));return t}},Rn={AttributesStorageHandler:Sn,CartCacheClearer:Mn,CartStorageHandler:En,ShopAttributesStorageHandler:An},Tn=()=>Yt.local.getItem("OptiMonkVisitorAttributes")||{},xn=new bn;xn.attach(Rn.AttributesStorageHandler);const Dn={get:e=>Tn()[e],has:e=>Tn().hasOwnProperty(e),set(e,t){const n=Tn();n[e]=t,xn.notify(Dn,{name:e,value:encodeURIComponent(t),event:"set",params:n})},all:()=>Tn(),attach(e){xn.attach(e)},remove(e){const t=Tn();delete t[e],xn.notify(Dn,{name:e,event:"removeItem",params:t})}};xn.notify(Dn,{event:"construct",params:Tn()});class Nn{static collectValues(e,t){const n=e.getInputs(),i={};return n.forEach((e=>{const{type:n,name:o,value:r,checked:a}=e;if("checkbox"===n&&a)i[o]=Array.isArray(i[o])?i[o]:[],i[o].push(r);else if(t.hasClass(e,"om-phone-input")&&!i[o]){const t=window.OptiMonkEmbedded.intlTelInput.getInstance(e);i[o]=t?t.getNumber():r}else"radio"===n&&a?i[o]=r:["checkbox","radio"].includes(n)||!r||i[o]||(i[o]=r)})),Nn.storeFormData(i),i}static storeFormData(e){Object.entries(e).forEach((e=>{let[t,n]=e;if(t.includes("custom_fields")||"visitor[email]"===t||"visitor[firstname]"===t||"visitor[lastname]"===t){const e=t.match(/\[([^\]\[]*)\]/)[1];Dn.set(e,n)}}))}}const Un=".om-countdown",qn="om-embedded-campaign-v2";class Ln{static getSelectionRange(){return document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0)}static setSelectionRange(e,t,n){e.setSelectionRange(t,n)}static getSelection(){return document.getSelection()}static select(e){e.select()}static selectNodeContents(e,t){e.selectNodeContents(t)}static createRange(){return document.createRange()}static removeAllRanges(){this.getSelection().removeAllRanges()}static addRange(e){this.getSelection().addRange(e)}}class Vn{static getAllElement(e){return document.querySelectorAll(e)}static hideElement(e){e&&(e.style.display="none")}static getElement(e){return document.querySelector(e)}static getChildElement(e,t){return e.querySelector(this.getContainerSelector()+" "+t)}static createElement(e){return document.createElement(e)}static getParentElement(e){return e.parentElement}static getElementClassList(e){return e.classList}static appendChild(e,t){e.appendChild(t)}static insertBefore(e,t,n){e.insertBefore(t,n)}static setInnerHTML(e,t){e.innerHTML=t}static getInnerHTML(e){return e.innerHTML}static getAttribute(e,t){return e.getAttribute(t)}static setAttribute(e,t,n){e.setAttribute(t,n)}static removeAttribute(e,t){e.removeAttribute(t)}static getInnerText(e){return e.innerText}static setStyle(e,t,n){e.style[t]=n}static setValue(e,t){e.value=t}static getNavigatorLanguage(){return navigator.language||navigator.userLanguage}static getDocumentBody(){return document.body}static getDocument(){return document}static userAgentMatch(e){return navigator.userAgent.match(e)}static execCommand(e){document.execCommand(e)}static addEventListener(e,t,n){e.addEventListener(t,n)}}const Fn=e=>[...e].find((e=>""!==e.value));class jn{constructor(e,t,n){this.campaignId=e,this.variantId=t,this.elementId=n}_getCouponSelector(){return'.om-embedded-campaign-v2[data-campaign-id="'+this.campaignId+'"] #'+this.elementId}_getCouponWrapperSelector(){return'.om-embedded-campaign-v2[data-campaign-id="'+this.campaignId+'"] #'+this.elementId+"_wrapper"}_getCampaignEmailInputSelector(){return'.om-embedded-campaign-v2[data-campaign-id="'+this.campaignId+'"] input[name="visitor[email]"]'}_getCouponTextSelector(){return this._getCouponSelector()+" .om-coupon-text"}getCouponHTML(){var e;return null==(e=Vn.getElement(this._getCouponTextSelector()))?void 0:e.innerHTML}replace(e){Vn.getAllElement(this._getCouponTextSelector()).forEach((t=>{Vn.setInnerHTML(t,e)}))}getPage(){const e=Vn.getElement(this._getCouponSelector()),t=null==e?void 0:e.closest("[data-om-step]");if(!t)throw new Error("No page for coupon");return Number(t.getAttribute("data-om-step"))}getCampaignFilledEmailInput(){const e=Vn.getAllElement(this._getCampaignEmailInputSelector());return Fn(e)||null}getCouponCopiedMessage(){return{hu:"Kimásolva",en:"Copied"}}getCopiedMessage(e){const t=Vn.getAttribute(e,"data-custom-copy-text");if(t.length>0)return t;const n=Vn.getNavigatorLanguage(),i=this.getCouponCopiedMessage();return n.includes("hu")?i.hu:i.en}copyToClipboard(e,t){void 0===t&&(t=!0);const n=Vn.createElement("textarea");Vn.setStyle(n,"cssText","position: absolute; left: -99999em"),Vn.setAttribute(n,"readonly",!0),Vn.setValue(n,e),Vn.appendChild(Vn.getDocumentBody(),n);const i=Ln.getSelectionRange();if(Vn.userAgentMatch(new RegExp(/ipad|ipod|iphone/,"i"))){Vn.setAttribute(n,"contentEditable",!0);const e=Ln.createRange();Ln.selectNodeContents(e,n),Ln.removeAllRanges(),Ln.addRange(e),Ln.setSelectionRange(n,0,999999)}else Ln.select(n);const o=Vn.getElement(this._getCouponSelector());try{const e=Vn.execCommand("copy");if(i&&(Ln.removeAllRanges(),Ln.addRange(i)),t){const e=this.getCopiedMessage(Vn.getElement(this._getCouponWrapperSelector()));Vn.setAttribute(o,"data-tooltip-text",e),new dn(o,!0,"up")}return et.reportCustomEvent("discount-code-copy"),e}catch(e){return console.error(e),!1}}removeSettingsData(){Vn.getAllElement(this._getCouponWrapperSelector()).forEach((e=>{Vn.removeAttribute(e,"data-settings")}))}addLoading(){const e=Vn.getElement(this._getCouponTextSelector()),t='';Vn.setInnerHTML(e,t)}}class Jn{constructor(e,t){this.coupon=t,this.visitorAdapter=e}_getCouponData(e){void 0===e&&(e=null);let t={type:this.coupon.getType(),shownAt:(new Date).getTime()};return e&&(t=i({},t,e)),t}async store(e){void 0===e&&(e=null);const t="coupon_code_"+this.coupon.getCampaignId()+"_"+this.coupon.getCouponId(),n=t+"_data",i=this.visitorAdapter.createAdapter();i.attr(t,await this.coupon.getCode()),i.attr(n,JSON.stringify(this._getCouponData(e)))}}class Bn{constructor(){this.requestService=C(),this.visitorAdapter=b()}init(e,t,n,i){void 0===i&&(i={}),this.campaignId=e,this.variantId=t,this.elementId=n,this.settings=i,this.storage=new Jn(this.visitorAdapter,this),this.loggedImpression=!1,this.code=null,this.couponDOM=new jn(e,t,n)}getCampaignId(){return this.campaignId}getVariantId(){return this.variantId}getElementId(){return this.elementId}getCouponId(){return this.getElementId().replace("ele_","")}getType(){throw new Error("Not implemented")}async hasCode(){return!0}getCode(){return this.code}getPage(){return this.couponDOM.getPage()}lock(){return!0}async unlock(){return!0}getFallback(){return null}removeSettingsData(){this.couponDOM.removeSettingsData()}async showCoupon(e,t){if(e!==this.campaignId)return!1;if(this.couponDOM.getPage()!==t)return!1;throw new Error("Show coupon not implemented")}async copyCouponToClipboard(){return this.couponDOM.copyToClipboard(await this.getCode())}handleAutoRedeem(){!1!=!!this.settings.autoRedeem&&!1!==At.isShop()&&this.redeem()}async redeem(){const e=await this.getCode();At.isCheckoutPage()?At.applyCheckoutDiscountCode(e).then((e=>{e||console.warn("Failed to apply discount code on checkout page")})):await this.requestService.autoRedeem(e)}}const Hn="fixed",$n="unique",Wn="shopify_automatic",Gn="followup",Kn="shopify_followup",zn="gamification";class Xn extends Bn{getType(){return Hn}getCode(){return null===this.code&&(this.code=this.couponDOM.getCouponHTML()),this.code}async showCoupon(e,t){return e===this.campaignId&&(this.couponDOM.getPage()===t&&(this.storage.store(),this))}}class Yn extends Bn{getType(){return $n}async lock(){const e=u(),t=await this.requestService.lockCoupon({clientId:e,campaign:this.campaignId,creative:this.variantId});return null==t?void 0:t.success}async hasCode(){return!!this.hasFallback()||this.lock()}async unlock(){const e=u(),t=await this.requestService.unlockCoupon({clientId:e,campaign:this.campaignId,creative:this.variantId});return null==t?void 0:t.success}async showCoupon(e,t){if(e!==this.campaignId)return!1;if(this.couponDOM.getPage()!==t)return!1;const n=await this.getCode();return await this.storage.store(),this.couponDOM.replace(n),this}getFallback(){return this.settings.fallback}hasFallback(){return!!this.settings.fallback}async getCode(){if(f()&&(this.code="YOUR COUPON"),this.code)return this.code;try{const e=u(),t=await this.requestService.getUniqueCouponCode({clientId:e,campaign:this.campaignId,creative:this.variantId});return t.success?(this.code=t.code,this.code):(this.code=this.getFallback(),this.code)}catch(e){if(console.error("Cannot get coupon code",e.message),this.hasFallback())return this.code=this.getFallback(),this.code;throw new Error("Failed to get coupon code")}}}class Qn extends Bn{constructor(){super(),this.couponConfig=null,this.pendingReq=null}getType(){return Wn}async hasCode(){return!0}async showCoupon(e,t){return e===this.campaignId&&(this.couponDOM.getPage()===t&&(this.couponDOM.addLoading(),this.getCode().then((()=>{this.storage.store(this._getDataToStore()),this.couponDOM.replace(this.code)})),this))}_getDataToStore(){return{type:"automatic",generatedAt:new Date(this.couponConfig.generatedAt).getTime(),validUntil:this.couponConfig.validUntil?new Date(this.couponConfig.validUntil).getTime():null}}async getCode(){if(f())return this.code="YOUR COUPON",this.code;if(this.code)return this.code;try{const e=xt(),t={shopName:At.getShopName(),databaseId:d(),variantId:this.variantId,elementId:this.getCouponId(),deviceType:e},n=this.couponDOM.getCampaignFilledEmailInput();return n&&(t.email=encodeURIComponent(n.value)),this.code=new Promise((e=>{this.requestService.generateShopifyCoupon(t).then((t=>{this.couponConfig=t,this.code=t.code,e(t.code)}))})),this.code}catch(e){throw console.error("Cannot generate Shopify coupon code",e.message),new Error("Failed to generate Shopify coupon code")}}}const Zn=new class{constructor(){this.couponsByCampMap={},this.couponInstancesByCamp={},this.couponLocksByCamp={},this.loggedImpressions={},this.addCouponCopyListener()}add(e){e.forEach((e=>{this.couponsByCampMap[e.campaignId]||(this.couponsByCampMap[e.campaignId]=[]),this.couponInstancesByCamp[e.campaignId]||(this.couponInstancesByCamp[e.campaignId]=[]);const t=class{static create(e){switch(e){case Hn:case Gn:case Kn:case zn:return new Xn;case $n:return new Yn;case Wn:return new Qn}}}.create(e.type);t.init(e.campaignId,e.variantId,e.uid,e.settings),this.couponInstancesByCamp[e.campaignId].push(t),this.couponsByCampMap[e.campaignId].push(e)}))}async validateFor(e){return!1===this.couponInstancesByCamp[e]||this.lockCouponsForCampaign(e)}async lockCouponsForCampaign(e){if(!this.couponInstancesByCamp[e])return console.warn("No coupons for campaign "+e),!1;const t=await(async(e,t)=>{const n=await Promise.all(e.map(t));return e.filter(((e,t)=>n[t]))})(this.couponInstancesByCamp[e],(async e=>e.hasCode()));return t.length&&this.startLockCouponsForCampaign(e),t.length}startLockCouponsForCampaign(e){this.clearLockForCampaign(e),this.couponLocksByCamp[e]&&(this.couponLocksByCamp[e]={}),this.couponInstancesByCamp[e].forEach((t=>{this.couponLocksByCamp[e]=setInterval((()=>{t.lock()}),1e4)}))}clearLockForCampaign(e){this.couponLocksByCamp[e]&&clearInterval(this.couponLocksByCamp[e])}async showCoupon(e,t){var n;if(!this.couponInstancesByCamp[e])return null;const i=null==(n=this.couponInstancesByCamp[e])?void 0:n.filter((e=>e.getPage()===t));return await Promise.all(i.map((async n=>{await n.showCoupon(e,t),n.handleAutoRedeem(),clearInterval(this.couponLocksByCamp[e])}))),this.logImpression(i),i}getCouponsOnPage(e,t){var n;return this.couponInstancesByCamp[e]?null==(n=this.couponInstancesByCamp[e])?void 0:n.filter((e=>e.getPage()===t)):null}hasCouponOnPage(e,t){if(!this.couponInstancesByCamp[e])return!1;return!!this.couponInstancesByCamp[e].filter((e=>e.getPage()===t)).length}logImpression(e){e.forEach((e=>{if(e.getType()===Hn)return;const t=e.getCampaignId()+"-"+e.getElementId();if(!this.loggedImpressions[t]&&e.code!==e.getFallback())try{Ue("couponImpression",{code:e.code,couponType:e.getType(),campaignId:e.getCampaignId(),variantId:e.getVariantId(),domain:window.location.hostname,deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),window.JFClientSDK.v2.go(),this.loggedImpressions[t]=!0}catch(e){console.warn("[OM-Coupon] Unable to log coupon impression:",e.message)}}))}addCouponCopyListener(){const e=this;Vn.addEventListener(Vn.getDocument(),"click",(function(t){const n=t.target,i=n.closest(".om-workspace-content");if(!i)return;const o=i.id.replace("om-campaign-","");if(!e.couponsByCampMap[o])return;const r=n.closest(".om-coupon");if(!r)return;const a=e.couponInstancesByCamp[o].find((e=>r.id===e.getElementId()+"_wrapper"));a&&a.copyCouponToClipboard()}))}clearSettingsData(e){this.couponInstancesByCamp[e]&&this.couponInstancesByCamp[e].forEach((e=>{e.removeSettingsData()}))}};var ei=Object.freeze({__proto__:null,default:Zn});class ti{constructor(e,t,n){this.productComponent=e,this.productComponentHolderId=t,this.targetProductIndex=n}getPayload(e){let t={};if(this.productComponent.isStatic()){const e=this.productComponent.getProductByIndex(this.targetProductIndex);t.url=e.getUrl()}else t=this.productComponent.productIdentifiers[this.targetProductIndex];const n=i({},Nn.collectValues(e,e.dom),{final:!0,["custom_fields[product_"+this.productComponentHolderId+"]"]:JSON.stringify(t)}),o=Zn.couponInstancesByCamp[e.getId()];return null!=o&&o.length&&(n["custom_fields[coupon_code]"]=o[0].getCode()),n}}class ni{constructor(){if(this instanceof ni)throw Error("A static class cannot be instantiated.")}static convertProductClick(e,t,n,i){const o=Cn.collectDataForProduct(e,new ti(t,n,i));o.__META__=Cn.getMetaDataForProduct(),e.sendConversion(o),e.sendFeedback()}static async convertClick(e,t,n){const o=void 0===t.needSetConverted||t.needSetConverted,r=Cn.collectDataForButton(e);n.debug("conversionData",i({},r,t,{setConverted:o})),e.sendConversion(i({},r,t),o),e.sendFeedback()}}const ii=(e,t,n)=>{const i=document.createElement("script");i.text=t,i.id="om-campaign-script-"+e+"-"+n,document.querySelector("head").appendChild(i)};class oi{static runPageLoad(e){var t;null!=(t=e.customJS)&&t.pageLoad&&ii(e.id,e.customJS.pageLoad,"pageLoad")}static runShow(e){var t;null!=(t=e.customJS)&&t.show&&ii(e.id,e.customJS.show,"show")}static runFill(e){var t;null!=(t=e.getCustomJSes())&&t.fill&&ii(e.getId(),e.getCustomJSes().fill,"fill")}}class ri extends yn{static async convertAfterCoupon(e){let{campaign:t,buttonSettings:n,coupons:o,logger:r,cookieManager:a}=e;const s=Nn.collectValues(t,t.dom),c=await ni.convertClick(t,i({},n.isConversion?{final:!0}:{final:!1,needSetConverted:!1},s,{"custom_fields[coupon_code]":await o[0].getCode(),__META__:this.getMetaData(t,n)}),r),l=!(c&&!1===c.success);return n.isConversion&&l&&(a.setFilled(t.getId()),oi.runFill(t)),Promise.resolve(l)}}const ai=(e,t)=>{setTimeout((()=>{if("string"==typeof e.code)return t();ai(e,t)}),100)};var si={NoInputNoConversionHandler:class extends yn{static async handle(){return Promise.resolve(!0)}static canHandle(e){let{campaign:t,logger:n,buttonSettings:i}=e;if(t.isConverted()){const e=t.getPageInputs().length>0,o=this.getNextPageNumber(t,i),r=t.hasCoupon(o);if(!e&&!r)return n.debug("canHandle: true"),!0}return!1}},CouponNextPageHandler:class extends ri{static async handle(e){let{campaign:t,buttonSettings:n,logger:i,cookieManager:o}=e;const r=this.getNextPageNumber(t,n),a=await Zn.showCoupon(t.getId(),r),s=a.find((e=>e.getType()===Wn));return s?new Promise((e=>{ai(s,(()=>{this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:a,logger:i,cookieManager:o})})),e(!0)})):this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:a,logger:i,cookieManager:o})}static canHandle(e){let{campaign:t,buttonSettings:n,logger:i}=e;const o=this.getNextPageNumber(t,n);return!!t.hasCoupon(o)&&(i.debug("canHandle: true"),!0)}},CouponFirstPageHandler:class extends ri{static async handle(e){let{campaign:t,buttonSettings:n,logger:i,cookieManager:o}=e;const r=Zn.getCouponsOnPage(t.getId(),t.getCurrentStepIndex());i.debug("campaign has coupon in first page",{campaign:t,buttonSettings:n});const a=r.find((e=>e.getType()===Wn));return a?new Promise((e=>{ai(a,(()=>{this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:r,logger:i,cookieManager:o})})),e(!0)})):this.convertAfterCoupon({campaign:t,buttonSettings:n,coupons:r,logger:i,cookieManager:o})}static canHandle(e){let{campaign:t,logger:n}=e;const i=t.getCurrentStepIndex(),o=Zn.hasCouponOnPage(t.getId(),t.getCurrentStepIndex());return!(0!==i||!o)&&(n.debug("canHandle: true"),!0)}},ConversionHandler:class extends yn{static async handle(e){let t,{campaign:n,buttonSettings:o,logger:r,cookieManager:a}=e;const s=Nn.collectValues(n,n.dom);return t=o.isConversion?{final:!0,__META__:this.getMetaData(n,o)}:{needSetConverted:!1,final:!1,__META__:this.getMetaData(n,o)},await ni.convertClick(n,i({},s,t),r),o.isConversion&&(a.setFilled(n.getId()),r.debug("setFilled"),oi.runFill(n)),Promise.resolve(!0)}static canHandle(e){let{logger:t}=e;return t.debug("canHandle: true"),!0}}};class ci{constructor(e){let{service:t,handlerName:n}=e;this.service=t,this.handlerName=n,this.onlyDebug=OptiMonkRegistry.isDebug}debug(e,t){this.onlyDebug&&console.info("["+this.service+"]-["+this.handlerName+"]: "+e,t||null)}}const li=[si.NoInputNoConversionHandler,si.CouponNextPageHandler,si.CouponFirstPageHandler,si.ConversionHandler];class di{static async handle(e,t,n){const i=ln.collectSettings(t),o=h();this.setCTAAttribute(i,t);const r=ln.getCampaignData(n);if(!this.needValidation(i))return o.isFilled(r.getId())||di.reportByButtonSettings(i,e,r),void r.doAction(i.action,i,e);if(!await r.validate())return!1;const a=m();await class{static async handle(e,t,n,i,o){let r;const a=li.find((e=>{const i=this.createLogger(e.name);return e.canHandle({campaign:t,buttonSettings:n,logger:i})})),s=this.createLogger(a.name);return r=null!=e&&e.STOP_ON_INTEGRATION_ERROR?await wn.StopNavigationDecorator.decorate({handler:a,campaign:t,buttonSettings:n,targetElement:i,logger:s,cookieManager:o}):await a.handle({campaign:t,buttonSettings:n,features:e,logger:s,cookieManager:o}),s.debug("result: ",r),r}static createLogger(e){return new ci({service:"ButtonHandler",handlerName:e})}}.handle(a,r,i,e,o)&&(r.doAction(i.action,i,e),di.reportByButtonSettings(i,e,r))}static needValidation(e){const t=e.action===cn.CLOSE,n=e.action===cn.REDIRECT;return!(e.action===cn.COPY_COUPON)&&!(!e.isConversion&&(t||n))}static setCTAAttribute(e,t){(-1!=="redirect|jumpToPage|nextPopup|dial|copyCoupon".indexOf(e.action)||e.action===cn.CLOSE&&e.isConversion)&&t.setAttribute("data-cta","1")}static reportByButtonSettings(e,t,n){if(V())e.isConversion&&rn.getInstance().reportConversion(t,n);else switch(e.reportAs){case sn.CONVERSION:return rn.getInstance().reportConversion(t,n);case sn.REJECTED:return rn.getInstance().reportRejected(n)}}}class ui{static handle(e,t,n){const o=e.closest(".om-image-redirect");if(!o)return;n.preventDefault();const r=ln.collectSettings(o,"data-om-settings"),a={reportAs:ui.getReportType(r),keepQueryParams:!(null==r||!r.keepQueryParams),isConversion:V()?!(null==r||!r.isConversion):!(null==r||!r.goalReached),newTab:"_blank"===o.getAttribute("target"),url:o.href},s=ln.getCampaignData(t),c=Nn.collectValues(s,s.dom);ui.sendReporting(a.reportAs,s),_t.initialize(),s.sendConversion(i({},Cn.collectDataForButton(s),c,{final:a.isConversion})),a.isConversion&&(h().setFilled(s.getId()),oi.runFill(s)),s.doAction(cn.REDIRECT,a)}static sendReporting(e,t){if(e===sn.NONE)return;let n=et.OPERATION_FILLED;e===sn.REJECTED&&(n=et.OPERATION_NO),OptiMonkRegistry.analyticsEvents.push({eventName:n,campaign:t})}static getReportType(e){return V()?e.isConversion?sn.CONVERSION:sn.NONE:(null==e?void 0:e.reportAs)||"conversion"}}const pi={equals(e,t){return this.isSet(e)&&e==t},notEquals(e,t){return this.isSet(e)&&e!=t},contains(e,t){return this.isSet(e)&&w(e).indexOf(t)>-1},notContains(e,t){return this.isSet(e)&&!this.contains(e,t)},startsWith(e,t){return this.isSet(e)&&0===w(e).indexOf(t)},notStartsWith(e,t){return this.isSet(e)&&!this.startsWith(e,t)},endsWith(e,t){const n=e.length,i=t.length;return this.isSet(e)&&t===w(e).substr(n-i,n)},notEndsWith(e,t){return this.isSet(e)&&!this.endsWith(e,t)},greaterThan(e,t){return this.isSet(e)&&v(e)>v(t)},lessThan(e,t){return this.isSet(e)&&v(e)=v(t)},lessThanEquals(e,t){return this.isSet(e)&&v(e)<=v(t)},isSet:e=>null!=e,notSet(e){return!this.isSet(e)},interval(e,t){return t=t.split("-"),this.isSet(e)&&v(e)>=t[0]&&v(e)<=t[1]},between(e,t){return this.isSet(e)&&parseFloat(e)>=parseFloat(t[0])&&parseFloat(e)<=parseFloat(t[1])},matchRegex(e,t){const n=new RegExp(t);return this.isSet(e)&&n.test(e)},notMatchRegex(e,t){const n=new RegExp(t);return this.isSet(e)&&!n.test(e)},is(e,t){return this.equals(e,t)},isNot(e,t){return this.notEquals(e,t)},dateIsInLast:(e,t)=>new Date(e).getTime()>=Date.now()-t[0],dateIsAtLeast:(e,t)=>new Date(e).getTime()<=Date.now()-t[0],dateIsBetween(e,t){const n=new Date(e).getTime();return n<=Date.now()-t[0]&&n>=Date.now()-t[1]},dateIsBefore:(e,t)=>new Date(e).getTime()new Date(e).getTime()>t[0],dateIsBetweenDates(e,t){const n=new Date(e).getTime();return n>=t[0]&&n<=t[1]}},gi="pageViewerType",mi="maximumPopupDisplay",hi="minimumPageVisit",fi="notViewedPageRecent",vi="previouslyViewedPage",wi="viewedPage",yi="timeBasedSession",Ii="source",Ci="subscribers",bi="loggedIn",Si="klaviyoSegment",ki="campaignProgressState",Oi="cookie",Mi="country",Ei="ipBlock",Pi="visitorAttribute";class _i{static getPageViewerType(e){return e.rules[gi]}static getMaximumPopupDisplay(e){return e.rules[mi]}static getMinimumPageVisit(e){return e.rules[hi]}static getNotViewedPageRecent(e){return e.rules[fi]}static getPreviouslyViewedPage(e){return e.rules[vi]}static getSubscribers(e){return e.rules[Ci]}static getViewedPage(e){return e.rules[wi]}static getTimeBasedSession(e){return e.rules[yi]}static getSource(e){return e.rules[Ii]}static getKlaviyoSegment(e){return e.rules[Si]}static getLoggedIn(e){return e.rules[bi]}static getCampaignProgressState(e){return e.rules[ki]}static getCookie(e){return e.rules[Oi]}static getCountry(e){return e.rules[Mi]}static getIPs(e){return e.rules[Ei]||[]}static getVisitorAttribute(e){return e.rules[Pi]}}class Ai{static get type(){throw Error("No type defined")}static validator(e){throw Error("Implement validator")}}const Ri={HashGenerator:{generate:e=>(e=>{let t,n,i,o=0;if(0===e.length)return o;for(t=0,i=e.length;t(null===xi&&(xi=Yt.getPreviouslyViewedPages()),xi),setStoredRule(e){this.getStoredRules(),xi[e]=1,Yt.setPreviouslyViewedPages(xi)},storeRule(e){const t=Ri.HashGenerator.generate(e);this.setStoredRule(t)},reset(){Yt.deletePreviouslyViewedPages(),xi=null},isEmpty(){const e=this.getStoredRules();return 0===Object.keys(e).length},hasRule(e){const t=Ri.HashGenerator.generate(e);return this.getStoredRules().hasOwnProperty(t)},handle(e,t){let n;try{n=decodeURIComponent(e)}catch(t){n=e}Di.currentPath=n,S(t,(function(e,t){Di.handleGroups(t.rules.previouslyViewedPage)}))},handleGroups(e){S(e,(function(e,t){Di.handleRules(t)}))},handleRules(e){S(e,(function(e,t){try{t.value=decodeURIComponent(t.value)}catch(e){}Di.validateOne(t)&&Di.storeRule(t)}))},validateOne:e=>pi[e.operator](Di.currentPath,e.value)},Ni=(e,t)=>e.includes(t),Ui=(e,t)=>e.startsWith(t),qi=(e,t)=>e.endsWith(t),Li=(e,t)=>{const n=new RegExp(t);return e.match(n)};var Vi=Object.freeze({__proto__:null,containsOperator:Ni,notContainsOperator:(e,t)=>!Ni(e,t),equalsOperator:(e,t)=>e===t,notEqualsOperator:(e,t)=>e!==t,startsWithOperator:Ui,notStartsWithOperator:(e,t)=>!Ui(e,t),endsWithOperator:qi,notEndsWithOperator:(e,t)=>!qi(e,t),matchRegexOperator:Li,notMatchRegexOperator:(e,t)=>!Li(e,t)});const Fi={currentPath:void 0,handle(e,t,n){let i;try{i=decodeURIComponent(e)}catch(t){i=e}Fi.currentPath=i,S(t,(function(e,t){const i=n.getCampaignCookie(t.id);Fi.handleGroups(_i.getNotViewedPageRecent(t),i)}))},handleGroups(e,t){S(e,(function(e,n){Fi.handleRules(n,t)}))},handleRules(e,t){S(e,(function(e,n){try{n.value=decodeURIComponent(n.value)}catch(e){}Fi.handleOne(n,t)}))},storeRule(e,t){e.timeUntilAvailable=t,window.OptiMonkEmbedded&&window.OptiMonkEmbedded.CookieManager.saveCampaignCookie(e)},handleOne(e,t){let n;try{n=decodeURIComponent(e.value)}catch(t){n=e.value}const i=I()+e.secondsToBlock;if(!1===Vi[e.operator+"Operator"](Fi.currentPath,n))return!1;0===e.secondsToBlock?Fi.storeRule(t,99999999999):(99999999999===t.timeUntilAvailable||(t.timeUntilAvailable||0)Hi.hasOwnProperty(e),getItem(e){if($i.hasItem(e))return Hi[e]},getItems:()=>Hi,removeItem(e){$i.hasItem(e)&&(delete Hi[e],Bi.notify($i,{id:e,event:"removeItem",items:Hi}))},clear(){Hi={},Bi.notify($i,{event:"clear",items:Hi})},total:()=>(new mt).check()?$i.unasTotal():$i.defaultTotal(),defaultTotal(){let e=0;return S(Hi,(function(t,n){e+=parseFloat(n.quantity)*parseFloat(n.price)})),e},unasTotal(){let e=0;return S(Hi,(function(t,n){e+=parseInt(n.price,10)*parseInt(n.quantity,10)})),e},totalLinePrice(){let e=0;return S(Hi,(function(t,n){e+=parseFloat(n.line_price)})),e},totalItems(){let e=0;return S(Hi,(function(t,n){e+=parseFloat(n.quantity)})),e},attach(e){Bi.attach(e)}};Bi.notify($i,{event:"construct",items:Hi});const Wi=new bn;let Gi={};Wi.attach(Rn.ShopAttributesStorageHandler);const Ki={get:e=>Gi[e],has:e=>Gi.hasOwnProperty(e),set(e,t){Gi[e]=t,Wi.notify(Ki,{name:e,value:encodeURIComponent(t),event:"set",params:Gi})},all:()=>Gi,attach(e){Wi.attach(e)},remove(e){delete Gi[e],Wi.notify(Ki,{name:e,event:"remove",params:Gi})},clear(){Gi={},Wi.notify(Ki,{event:"clear",params:Gi})}};function zi(){return{attr:(e,t)=>void 0!==t?Dn.set(e,t):void 0!==e?Dn.get(e):Dn.all(),removeAttr(e){Dn.remove(e)},shop:(e,t)=>void 0!==t?Ki.set(e,t):void 0!==e?Ki.get(e):Ki.all(),removeShop(e){Ki.remove(e)},clearShop(){Ki.clear()},Cart:{add(e,t){e.constructor===Array?$i.addItems(e):$i.addItem(e,t)},get:e=>void 0===e?$i.getItems():$i.getItem(e),remove:$i.removeItem,clear:$i.clear}}}Wi.notify(Ki,{event:"construct",params:Gi});const Xi={OM_BUTTON:".om-button",OM_PRODUCT:".om-product",OM_FEEDBACK:".om-feedback-button",OM_IMAGE_LINK:".om-image-redirect",OM_SOCIAL:".om-social"},Yi=()=>Math.trunc((new Date).getTime()/1e3),Qi=()=>({ca:{},fv:Yi(),lv:Yi(),nopv:0}),Zi=e=>({act:0,app:0,cr:e,nod:0});class eo{constructor(e,t){this.campaignId=t,this.campaignCookie=(e=>(e&&0!==Object.keys(e).length||(e=Zi(null)),e))(e)}getId(){return this.campaignId}getVariantId(){return this.campaignCookie.cr}get numberOfDisplays(){return this.campaignCookie.nod}get timeUntilAvailable(){return this.campaignCookie.tua}set timeUntilAvailable(e){this.campaignCookie.tua=e}addImpression(){this.campaignCookie.nod++,this.campaignCookie.app=Math.trunc((new Date).getTime()/1e3),this.campaignCookie.s="showed"}setFilled(){this.campaignCookie.s="filled"}setClosed(){this.campaignCookie.s="closed"}isFilled(){return"filled"===this.campaignCookie.s}isClosed(){return"closed"===this.campaignCookie.s}isInitialized(){return!this.campaignCookie.s||"init"===this.campaignCookie.s}getAsString(){return this.campaignCookie}getCampaignId(){return this.getId()}getCreativeId(){return this.getVariantId()}getAppearance(){return this.campaignCookie.app}getState(){return this.campaignCookie.s}}class to{constructor(e){this.accountCookie=null!=e?e:{ca:{}}}get firstPageVisit(){return this.accountCookie.fv}get lastPageVisit(){return this.accountCookie.lv}get numberOfPageViews(){return this.accountCookie.nopv}get campaigns(){return this.accountCookie.ca}getCampaignCookie(e){const t=this.accountCookie.ca,n=(null==t?void 0:t[e])||{};return new eo(n,e)}getAccountCookieObject(){return this.accountCookie}}const no=e=>e.map((e=>({id:e.id,variantId:e.variantId})));class io{constructor(e){let{accountId:t,miniScriptLoaded:n=!1,campaignsData:i=[]}=e;this.accountId=t,this.campaignIdList=no(i)||[],this.originalCookies=null,this.miniScriptLoaded=n,this.init(i)}getOriginalCookies(){return this.originalCookies}addCampaigns(e){this.campaignIdList.push(...no(e))}getCookies(){return l()}init(){this.originalCookies=l();const e=this.createAccountCookie(this.accountId,JSON.parse(JSON.stringify(this.originalCookies)));this.updateAccountData(e),this.saveCookie(e)}createAccountCookie(e,t){return t[e].ca||(t[e]=Qi()),t}hasCampaignCookie(e,t,n){var i;void 0===t&&(t=this.accountId),void 0===n&&(n=this.getCookies());const o=Number(e).toString(10);return Object.keys((null==(i=n[t])?void 0:i.ca)||{}).includes(o)}updateAccountData(e){e[this.accountId].lv=(new Date).getTime()/1e3,this.miniScriptLoaded||(e[this.accountId].nopv+=1)}saveCookie(e){Ie(this.accountId,e),window.OptiMonkRegistry.Cookie=e[this.accountId]}getCampaignCookie(e){var t,n;if(!1===this.hasCampaignCookie(e)){const t=this.campaignIdList.find((t=>t.id===e));if(t)return new eo(Zi(t.variantId),e)}const i=this.getCookies();return new eo(null==(t=i[this.accountId])||null==(n=t.ca)?void 0:n[e],e)}addImpression(e){const t=this.getCampaignCookie(e);t.addImpression(),this.saveCampaignCookie(t)}setFilled(e){const t=this.getCampaignCookie(e);t.setFilled(),this.saveCampaignCookie(t)}setClosed(e){const t=this.getCampaignCookie(e);t.setClosed(),this.saveCampaignCookie(t)}isFilled(e){return this.getCampaignCookie(e).isFilled()}saveCampaignCookie(e){const t=this.getCookies();t[this.accountId].ca[e.getId()]=e.getAsString(),this.saveCookie(t)}getCampaignCookies(){var e;const t=this.getCookies();return Object.keys((null==(e=t[this.accountId])?void 0:e.ca)||{}).map((e=>this.getCampaignCookie(e)))}getAccountCookie(){const e=this.getCookies()[this.accountId]||Qi();return new to(e)}isClosed(e){return this.getCampaignCookie(e).isClosed()}resetPreviewCampaign(e){if(!this.hasCampaignCookie(e))return;const t=this.getCampaignCookie(e);t.campaignCookie.s="showed",this.saveCampaignCookie(t)}}class oo extends io{saveCookie(e){console.log("experience cannot save cookie in validation stage",e)}getCookies(){return this.originalCookies}init(e){this.originalCookies=l();const t=this.createNewCampaignCookies(e,JSON.parse(JSON.stringify(this.originalCookies)));this.updateAccountData(t)}createNewCampaignCookies(e,t){var n;return null!=(n=t[this.accountId])&&n.ca||(t[this.accountId]=Qi()),e.forEach((e=>{this.hasCampaignCookie(e,this.accountId,t)||(t[this.accountId].ca[e]=Zi(this.creativeId))})),t}setCreative(e,t){this.variantId=t,!1===this.hasCampaignCookie(e,this.accountId,this.originalCookies)?this.originalCookies[this.accountId].ca[e]=Zi(t):this.originalCookies[this.accountId].ca[e].cr=t}getCampaignCookie(e){if(!this.hasCampaignCookie(e))return null;const t=this.getCookies();return new eo(t[this.accountId].ca[e],e)}}class ro extends io{getCookies(){try{const e=localStorage.getItem("optiMonkClient_designMode"),t=e?JSON.parse(e):{};return t[this.accountId]||(t[this.accountId]=Qi()),t[this.accountId].ca||(t[this.accountId].ca={}),t}catch(e){return{[this.accountId]:Qi()}}}saveCookie(e){try{localStorage.setItem("optiMonkClient_designMode",JSON.stringify(e))}catch(e){}window.OptiMonkRegistry.Cookie=e[this.accountId]}init(){this.originalCookies=this.getCookies();const e=this.createAccountCookie(this.accountId,JSON.parse(JSON.stringify(this.originalCookies)));this.updateAccountData(e),this.saveCookie(e)}}const ao=()=>{OptiMonkRegistry.isMobile=(()=>{let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e})();const e=zi();e.attr("is_mobile",OptiMonkRegistry.isMobile),e.attr("is_mobile_text",OptiMonkRegistry.isMobile?"true":"false")},so=()=>OptiMonkRegistry.isMobile?"mobile":"desktop",co=()=>OptiMonkRegistry.isMobile;class lo{constructor(e,t,n){this.clientId=e,this.requestService=t,this.OptiMonkEmbedded=n,this.increaseUsageCounters=!0,this.accountCookie=null,this.noCampaignCaseType=null,this.isPreview=en.isPopupPreview(),this._isNewVisitor=null}getPublicIF(){return{isNewVisitor:()=>(null===this._isNewVisitor&&console.log("isNewVisitor value has been read before got it from backend"),this._isNewVisitor),hasUsageUpdateHandled:()=>this.increaseUsageCounters}}unsetIncreaseUsageCounters(){this.increaseUsageCounters=!1}setAccountCookie(e){this.accountCookie=e}setNoCampaignCaseType(e){this.noCampaignCaseType=e}async request(){var e;Object.keys(null==(e=this.OptiMonkEmbedded)?void 0:e.campaigns).length||window.OptiMonk.campaigns.length||this.unsetIncreaseUsageCounters();const t=this.accountCookie[OptiMonkRegistry.account],n={accountCookie:this.accountCookie,fv:t.fv,lv:t.lv,increaseUsageCounters:this.increaseUsageCounters,clientId:this.clientId,noCampaignCaseType:this.noCampaignCaseType,referrer:window.location.href,isPreview:this.isPreview},i=z.compressToBase64(JSON.stringify(n)),o=this.requestService.getBackendRequestUrl(),r=await this.requestService.sendPostRequest(o,{data:i}),a=JSON.parse(z.decompressFromBase64(r));this.handleResponse(a)}handleResponse(e){this._isNewVisitor=e.isNewVisitor}}class uo{constructor(e,t){let{type:n}=void 0===t?{}:t;this.campaigns=e,this.variantList={},this.variantListInCookies={},this.raffledVariantList={},this.campaignIdKey="inline"===n?"campaignId":"id",this.variantIdKey="inline"===n?"creativeId":"variantId",this.init()}isActiveVariant(e,t){return this.raffledVariantList[this.getVariantCookieKey(e,t)]===t}init(){const{variantList:e,experienceList:t}=this.getLists();this.variantList=e,this.experienceList=t,this.variantListInCookies=this.getVariantsFromCookies(),this.raffledVariantList=this.createFinalVariantList()}createFinalVariantList(){const e={};return Object.entries(this.variantList).forEach((t=>{var n;let[i,o]=t;const r=this.getVariantCookieKey(i,o[0]);if(1===o.length)return e[r]=o[0],void(this.hasVariantInCookies(i,o[0])&&this.removeCookie(i));if(this.hasActiveVariantInCookies(i,o[0]))return void(e[r]=this.getVariantFromCookie(i,o[0]));const a=this.raffleVariantId(o);this.hasVariantInCookies(i,a)&&this.removeCookie(i),this.saveCookie(i,a),e[r]=a,Ue("abTestVariantAssigned",{campaignId:i,variantId:a,experienceId:null!=(n=this.experienceList[a])?n:null})})),e}getLists(){const e={},t={};return this.campaigns.forEach((n=>{var i;const o=n[this.variantIdKey],r=n[this.campaignIdKey];e[r]||(e[r]=[]),e[r].push(o);const a=null==n||null==(i=n.experiences)||null==i.find?void 0:i.find((e=>e.variants.includes(o)));t[o]=null==a?void 0:a._id})),{variantList:e,experienceList:t}}getVariantsFromCookies(){const e={};return Object.keys(this.variantList).forEach((t=>{this.variantList[t].forEach((n=>{const i=this.getCookieKey(t,n);if(!1===$.local.hasItem(i))return;const o=this.getVariantCookieKey(t,n);e[o]=$.local.getItem(i)}))})),e}getExperienceCookieKeyPart(e){const t=this.experienceList[e];return t?"_"+t:""}getVariantCookieKey(e,t){return""+e+this.getExperienceCookieKeyPart(t)}raffleVariantId(e){return e[Math.trunc(Math.random()*e.length)]}getVariantFromCookie(e,t){return this.variantListInCookies[this.getVariantCookieKey(e,t)]}hasVariantInCookies(e,t){return!!this.variantListInCookies[this.getVariantCookieKey(e,t)]}hasActiveVariantInCookies(e,t){return!!this.hasVariantInCookies(e,t)&&this.hasVariant(e,this.getVariantFromCookie(e,t))}hasVariant(e,t){return this.variantList[e].includes(t)}removeCookie(e,t){$.local.removeItem(this.getCookieKey(e,t))}saveCookie(e,t){$.local.setItem(this.getCookieKey(e,t),t)}getCookieKey(e,t){return"omAbTest"+this.getVariantCookieKey(e,t)}}const po=e=>"smartAbTest_"+e,go="shop",mo={BasicInput:{replace:e=>{const t=e.querySelector("input"),n=e.querySelector("textarea");if(!t&&!n)return;const i=t||n,o=i.getAttribute("data-error-text");if(o){const e=Co.replaceText(o);o!==e&&i.setAttribute("data-error-text",e)}const r=i.getAttribute("placeholder");if(r){const e=Co.replaceText(r);r!==e&&i.setAttribute("placeholder",e)}}},Dropdown:{replace:e=>{const t=e.querySelector("select");if(!t)return;const n=t.getAttribute("data-error-text");if(n){const e=Co.replaceText(n);n!==e&&t.setAttribute("data-error-text",e)}const i=t.querySelectorAll("option");for(let e=0;e{const t=e.querySelector(".om-picker-group");if(!t)return;const n=t.getAttribute("data-error-text");if(n){const e=Co.replaceText(n);n!==e&&t.setAttribute("data-error-text",e)}const i=t.querySelectorAll(".om-input-picker");for(let e=0;e{["name","sku","old-price","price","cta"].forEach((t=>{((e,t)=>{const n=e.querySelector(t);if(n){const e=n.innerHTML,t=Co.replaceText(n.innerHTML);e!==t&&(n.innerHTML=t)}})(e,".om-product-"+t)}))}},Social:{replace:e=>{const t=e.querySelectorAll(".om-social-icon");for(let e=0;e{const t=e.querySelectorAll(".om-dtr-content");if(t.length)for(let e=0;eCo.replaceSmartTag(e)));const i=n.innerHTML,o=Co.replaceText(i);i!==o&&(n.innerHTML=o)}}}};var ho=Object.freeze({__proto__:null,DTR:mo});const fo={Attributes:Dn,Cart:$i,Observable:bn,Observer:Rn,createAdapter:zi,ShopAttributes:Ki},vo=[60747,201540,206839],wo={AI_EXPERIMENT:"aiExperiment",PPO:"sppo"};function yo(e){return new Promise((t=>setTimeout(t,e)))}async function Io(){try{if(!0!==(null==(e=OptiMonkRegistry)||null==(t=e.features)?void 0:t.SMART_PRODUCT_TAG))return Promise.resolve();console.log("OM - PPO enabled");const n=zi(),i=n.attr(),o=wo.AI_EXPERIMENT,r=wo.PPO;Object.keys(i).filter((e=>e.startsWith(o)||e.startsWith(r))).forEach((e=>{n.removeAttr(e)})),n.removeAttr("aiGeneratedImages");const a=await async function(){const e=d();let t=vn();if(!vo.includes(e))return null==t?(t=fn(),console.log("OM - PPO using canonical URL slug: "+t)):console.log("OM - PPO product id "+t),Promise.resolve(t);let n=0;for(;null==t&&n<10;)await yo(100),t=vn(),n++;return null==t?(t=fn(),console.log("OM - PPO using canonical URL slug: "+t+" after "+n+" tries")):console.log("OM - PPO product id "+t+" after "+n+" tries"),Promise.resolve(t)}();if(null==a)return Promise.resolve();console.log("OM - PPO loading product",a);const s=await OptiMonkEmbedded.RequestService.loadProductSmartTags(a),c={};Object.keys(s).forEach((e=>{const t=s[e];if(function(e){if("string"!=typeof e)return!1;const t=e.toLowerCase(),n=[".png",".jpg",".jpeg",".gif",".webp"].some((e=>t.endsWith(e))),i=/\d+\/\d+\/[a-f0-9]+\/\d+\.(png|jpg|jpeg)$/i.test(e);return n||i}(t)){c[e]=t;const n=function(e){const t=e.match(/\d+\/[^/]+\/([a-f0-9]+)\/\d+\.(png|jpg|jpeg)$/i);return t?t[1]:null}(t);n&&(c[n]=t)}else{let i=""+wo.PPO+e;0===e.indexOf(wo.AI_EXPERIMENT)&&(i=e),n.attr(i,t)}})),Object.keys(c).length>0&&n.attr("aiGeneratedImages",JSON.stringify(c))}catch(e){console.error(e.message)}var e,t}const Co={visitorAdapter:fo.createAdapter(),patterns:{attribute:/\[\[(attribute)\:([\w\-.+=]+)(\|([^\]]+))?\]\]/gim,static:/\[\[(static)\:(current_url|[\w-.]+)(\|([^\]]+))?\]\]/gim,cart:/\[\[(cart)\:(total|number_of_items|number_of_item_kinds)\]\]/gim,shop:/\[\[(shop)\:([\w-.]+)(\|([^\]]+))?\]\]/gim,smart_product_tag:/\[\[(smart_product_tag):([\w-]+:\d+|[\w-]+)\]\]/gim},hasContentToReplace(e,t){const n=Co.patterns[t];if(!n)return!1;const i=n.exec(e);return n.lastIndex=0,!!i},init(e){e.length>0?e.forEach((e=>{this.replace(e)})):void 0===e.length&&this.replace(e)},replace(e){const t=e.getAttribute("type");if(t){const n=Co.determineSubModule(t.substr(2));n&&n.replace(e)}},replaceSmartTag(e){parseInt(e.getAttribute("replaced"),10)||(e.innerHTML=e.getAttribute("data-smart-tag"))},replaceText(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),!e)return e;let i;try{i=t?decodeURIComponent(e):e}catch(t){i=e}return Object.values(Co.patterns).forEach((e=>{let t;for(;null!==(t=e.exec(i));){let n;e.lastIndex=0;const o="[["+t[1]+":"+t[2]+(t[4]?"|"+t[4]:"")+"]]",r=t[1].toLowerCase();n="attribute"===r?Co.getAttributeValue(t[2])||t[4]||"":"cart"===r?Co.getCartValue(t[2]):"shop"===r?Co.getShopAttributeValue(t[2],t[4]||""):"smart_product_tag"===r?Co.getSPPOValue(t[2]):Co.getStaticValue(t[2],t[4]||""),i=i.replace(o,n.replace(/\$/g,"$"))}})),n?encodeURIComponent(i):i},getAttributeValue(e){const t=Yt.local.getItem("OptiMonkVisitorAttributes");return(null==t?void 0:t[e])||(null==t?void 0:t[""+wo.PPO+e])||null},getCartValue:e=>"total"===e?""+fo.Cart.total():"number_of_items"===e?""+fo.Cart.totalItems():"number_of_item_kinds"===e?""+Object.keys(fo.Cart.getItems()).length:"",cleanseVariableName(e){const t=e.indexOf(":");return-1===t?e:e.substring(0,t)},getShopAttributeValue:(e,t)=>Co.visitorAdapter.shop(e)||t,getSPPOValue(e){const t=Co.cleanseVariableName(e);return Co.visitorAdapter.attr(""+wo.PPO+t)||Co.visitorAdapter.attr(t)},getStaticValue:(e,t)=>"current_url"===e?window.location.href:t,determineSubModule(e){switch(e){case"Input":case"Inputs":case"Textarea":return mo.BasicInput;case"Social":return mo.Social;case"Dropdown":return mo.Dropdown;case"Input-picker":return mo.Picker;case"Product":return mo.Product;default:return mo.Text}}};function bo(e){const t=document.createElement("script");OptiMonkRegistry.nonce&&t.setAttribute("nonce",OptiMonkRegistry.nonce),t.text=e.innerHTML;let n=-1;const i=e.attributes;let o;for(;++n"sp_"+e,ko="inline",Oo="shadow",Mo="embedded",Eo="dynamic_content",Po="control-variant",_o="popup",Ao="sidebar",Ro="nanobar",To="embedded",xo=["popup","sidebar","nanobar"],Do="optimonk#campaign-show",No="optimonk#embedded-campaign-show",Uo="optimonk#campaign-popup-show",qo="optimonk#embedded-campaign-page-show",Lo="om",Vo={APPEARANCE:"appearance",HTML:"html",TEXT:"text",INSERT_TEXT:"insert-text",INSERT_HTML:"insert-html",SMART_PRODUCT_TAG:"smart-product-tag",SMART_AB_TEST:"smart-ab-test",SMART_PERSONALIZATION:"smart-personalization",EDIT_STYLE:"edit-style"};class Fo{constructor(e){this.campaign=e,this.type="dynamic_content"}getId(){return this.campaign.id}getVariantId(){return this.campaign.variantId}getName(){return this.campaign.name}getCreativeName(){return this.campaign.variantName}getChanges(){return this.campaign.changes||[]}getAnalytics(){return{status:this.campaign.analytics?1:0}}async applyChanges(){const e=this.getChanges().map((async e=>{if(!e.selector)return console.log("[OM-DEBUG] No selector for change",e),!1;try{return!0===await D(e.selector,(t=>this.applyDOMChanges(e,t)),e.alternativeSelectors)}catch(e){return console.error("[OM-DEBUG] Error applying change:",e),!1}}));return await Promise.all(e)}_hasAlreadyChanged(e){const t=e.getAttribute("om-dc");return!!(t&&Number(t)>=this.campaign.createdAt)}_replaceAppearance(e){return!this._hasAlreadyChanged(e)&&(e.style.display="none",e.setAttribute("om-dc",this.campaign.createdAt),!0)}_replaceHtml(e,t){if(this._hasAlreadyChanged(e))return!1;const n=document.createElement("div");n.innerHTML=Co.replaceText(t);const i=n.getElementsByTagName("script");if(i.length>0)for(let e=0;e([\s\S]*?)<\/script>/g,""),e.setAttribute("om-dc",this.campaign.createdAt),!0}_createStyleTag(e,t){const n=document.createElement("style");n.setAttribute("data-om-dc-id",e),n.type="text/css",n.textContent=t,document.head.appendChild(n)}_insertHTML(e,t,n,i,o){if(this._hasAlreadyChanged(e))return!1;if(document.querySelector('[data-insert-id="'+o+'"]'))return!1;const r=document.createElement("div");r.innerHTML=Co.replaceText(n),r.querySelectorAll("*").forEach(((e,t)=>{0===t&&(e.id=o),e.dataset.insertId=o}));const a=r.innerHTML;return e.insertAdjacentHTML(t,a),document.querySelectorAll('script[data-insert-id="'+o+'"]').forEach((e=>{e.parentNode.replaceChild(bo(e),e)})),i&&this._createStyleTag(o,i),!0}_replaceText(e,t){return OptiMonkRegistry.isDebug&&console.log("hasAlreadyChanged",this._hasAlreadyChanged(e)),!this._hasAlreadyChanged(e)&&(e.innerHTML=Co.replaceText(t),e.setAttribute("om-dc",this.campaign.createdAt),!0)}_replaceTextSetId(e,t,n){const i=this._replaceText(e,t);return i&&e.setAttribute("data-om-dc-id",n),i}_replaceSmartAbTest(e,t){if(en.isPreview())return!1;const n=(e=>"[[attribute:"+po(e)+"]]")(t);return this._replaceTextSetId(e,n,t)}_replaceSmartPersonalization(e,t){if(en.isPreview())return!1;if(!zi().attr(So(t)))return!1;const n=(e=>"[[attribute:"+So(e)+"]]")(t);return this._replaceTextSetId(e,n,t)}_handleEditStyle(e,t,n){return!this._hasAlreadyChanged(e)&&(!document.querySelector('[data-insert-id="'+t+'"]')&&(e.setAttribute("data-om-dc-id",t),n&&this._createStyleTag(t,n),!0))}applyDOMChanges(e,t){const{type:n,replaceTo:i,content:o,position:r,css:a,id:s}=e;switch(n){case Vo.HTML:return this._replaceHtml(t,i);case Vo.APPEARANCE:return this._replaceAppearance(t);case Vo.INSERT_TEXT:case Vo.INSERT_HTML:case Vo.SMART_PRODUCT_TAG:return this._insertHTML(t,r,o,a,s);case Vo.SMART_AB_TEST:return this._replaceSmartAbTest(t,s);case Vo.SMART_PERSONALIZATION:return this._replaceSmartPersonalization(t,s);case Vo.EDIT_STYLE:return this._handleEditStyle(t,s,a);case Vo.TEXT:default:return this._replaceText(t,i)}}}class jo{constructor(e){this.campaign=e}getId(){return this.campaign.id}getVariantId(){return this.campaign.variantId}getName(){return this.campaign.name}getCreativeName(){return this.campaign.variantName}getAnalytics(){return{status:this.campaign.analytics?1:0}}}const Jo=e=>({query:{type:"qgql",gql:"segment"===e.type?'query { shopify { result: inKlaviyoSegment (klaviyoSegmentId: "'+e.id+'") } }':'query { shopify { result: inKlaviyoList (klaviyoListId: "'+e.id+'") } }'},path:"$.shopify.result"}),Bo=!!window.Shopify,Ho=!!window.ShopRenter,$o={equals:"=",notEquals:"=",lessThan:"<",lessThanEquals:"<",greaterThan:">",greaterThanEquals:">",contains:"re",notContains:"re",startsWith:"re",notStartsWith:"re",endsWith:"re",notEndsWith:"re"},Wo=(e,t)=>{switch(t){case"contains":case"notContains":return{value:e,parameter:["g"]};case"startsWith":case"notStartsWith":return{value:"^"+e,parameter:["i"]};case"endsWith":case"notEndsWith":return{value:e+"$",parameter:["i"]};default:return{value:e,parameter:[]}}},Go=Bo?{query:{type:"qcs"},path:"$.shopify.pageType"}:{query:{type:"qcs"},path:"$.shopRenter.pageType"},Ko=Bo?{query:{type:"qcs"},path:"$.shopify.i18n.locale"}:{query:{type:"qcs"},path:"$.shopRenter.locale"},zo=["or",["=","category",Go],["=","collection",Go]],Xo=["=","product",Go],Yo=e=>{if("lessThanEquals"===e.operator&&(e.value=Number(e.value)+1),"greaterThanEquals"===e.operator&&(e.value=Number(e.value)-1),"category"===e.pageType){if(null===e.operand)return zo;switch(e.operand){case"specificCategory":return(e=>{let t;if(Bo)t=["in",{query:{type:"qcs"},path:"$.shopify.collection.collectionId"},e.map((e=>{if(e.value&&e.value.startsWith("gid://")){const t=e.value.match(/\/(\d+)$/);if(t&&t[1])return parseInt(t[1],10)}return parseInt(e.value,10)}))];else{if(!Ho)return console.error("no shopify or shoprenter is active"),[];t=["in",{query:{type:"qgql",gql:"query($categoryHandle: String!) {\n shoprenter {\n categoryHandle(categoryHandle: $categoryHandle) {\n categoryId\n }\n }\n }",values:{categoryHandle:{query:{type:"qcs"},path:"$.shopRenter.category.categoryHandle"}}},path:"$.shoprenter.categoryHandle.categoryId"},e.map((e=>parseInt(e.value,10)))]}return["and",zo,t]})(e.value);case"categoryHandle":return((e,t)=>{const{value:n,parameter:i}="re"===$o[t]?Wo(e,t):{value:e,parameter:[]};let o=[$o[t],n,{query:{type:"qcs"},path:Bo?"$.shopify.collection.collectionHandle":"$.shopRenter.category.categoryHandle"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",zo,o]})(e.value,e.operator);case"categoryName":return((e,t)=>{const{value:n,parameter:i}="re"===$o[t]?Wo(e,t):{value:e,parameter:[]};let o=[$o[t],n,Ho?{query:{type:"qgql",gql:"query($categoryId: Int!, $locale: String!) {\n shoprenter {\n category(categoryId: $categoryId) {\n title(locale: $locale)\n }\n }\n }",values:{categoryId:{query:{type:"qgql",gql:"query($categoryHandle: String!) {\n shoprenter {\n categoryHandle(categoryHandle: $categoryHandle) {\n categoryId\n }\n }\n }",values:{categoryHandle:{query:{type:"qcs"},path:"$.shopRenter.category.categoryHandle"}}},path:"$.shoprenter.categoryHandle.categoryId"},locale:Ko}},path:"$.shoprenter.category.title"}:{query:{type:"qgql",gql:"query($collectionId: Float!) {\n shopify {\n collection(collectionId: $collectionId) {\n title\n }\n }\n }",values:{collectionId:{query:{type:"qcs"},path:"$.shopify.collection.collectionId"}}},path:"$.shopify.collection.title"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",zo,o]})(e.value,e.operator);case"numberOfProductsInCategory":return t=e.value,n=e.operator,["and",zo,[$o[n],Bo?{query:{type:"qgql",gql:"query($collectionId: Float!) {\n shopify {\n collection(collectionId: $collectionId) {\n availableProductCount\n }\n }\n }",values:{collectionId:{query:{type:"qcs"},path:"$.shopify.collection.collectionId"}}},path:"$.shopify.collection.availableProductCount"}:{query:{type:"qgql",gql:"query($categoryHandle: String!) {\n shoprenter {\n categoryHandle(categoryHandle: $categoryHandle) {\n availableProductCount\n }\n }\n }",values:{categoryHandle:{query:{type:"qcs"},path:"$.shopRenter.category.categoryHandle"}}},path:"$.shoprenter.categoryHandle.availableProductCount"},Number(t)]]}}var t,n;if("product"===e.pageType){if(null===e.operand)return Xo;switch(e.operand){case"productName":return((e,t)=>{const{value:n,parameter:i}="re"===$o[t]?Wo(e,t):{value:e,parameter:[]};let o=[$o[t],n,Ho?{query:{type:"qgql",gql:"query($productId: Int!, $locale: String!) {\n shoprenter {\n product(productId: $productId) {\n title(locale: $locale)\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"},locale:Ko}},path:"$.shoprenter.product.title"}:{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n title\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.title"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",Xo,o]})(e.value,e.operator);case"productAvailability":return(e=>["and",Xo,["=",Bo?{query:{type:"qgql",gql:"query($productId: Float!, $variantId: Float!) {\n shopify {\n product(productId: $productId) {\n variant(variantId: $variantId) {\n available\n }\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"},variantId:{query:{type:"qcs"},path:"$.shopify.product.variant.id"}}},path:"$.shopify.product.variant.available"}:{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n available\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.available"},"is"===e]])(e.operator);case"productPrice":return((e,t)=>["and",Xo,Bo?[$o[t],{query:{type:"qgql",gql:"query($productId: Float!, $variantId: Float!) {\n shopify {\n product(productId: $productId) {\n variant(variantId: $variantId) {\n price\n }\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"},variantId:{query:{type:"qcs"},path:"$.shopify.product.variant.variantId"}}},path:"$.shopify.product.variant.price"},Number(e)]:[$o[t],{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n price\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.price"},Number(e)]])(e.value,e.operator);case"productVendor":return((e,t)=>{const{value:n,parameter:i}="re"===$o[t]?Wo(e,t):{value:e,parameter:[]};let o;if(Bo)o=[$o[t],n,{query:{type:"qcs"},path:"$.shopify.product.vendor"},...i];else{if(!Ho)return console.error("no shopify or shoprenter is active"),[];o=[$o[t],n,{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n vendor\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.vendor"},...i]}return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",Xo,o]})(e.value,e.operator);case"productTag":return((e,t)=>{const{value:n,parameter:i}="re"===$o[t]?Wo(e,t):{value:e,parameter:[]};let o=[$o[t],n,Bo?{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n tags\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.tags"}:{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n tags\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.tags"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",Xo,o]})(e.value,e.operator);case"productType":return((e,t)=>{const{value:n,parameter:i}="re"===$o[t]?Wo(e,t):{value:e,parameter:[]};let o=[$o[t],n,{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n productType\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.productType"},...i];return["notContains","notStartsWith","notEndsWith","notEquals"].includes(t)&&(o=["not",o]),["and",Xo,o]})(e.value,e.operator);case"productCategory":return(e=>{return["and",Xo,(t=e.map((e=>{if(e.value&&e.value.startsWith("gid://")){const t=e.value.match(/\/(\d+)$/);if(t&&t[1])return parseInt(t[1],10)}return parseInt(e.value,10)})),n=Bo?{query:{type:"qgql",gql:"query($productId: Float!) {\n shopify {\n product(productId: $productId) {\n collectionIds\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopify.product.productId"}}},path:"$.shopify.product.collectionIds"}:{query:{type:"qgql",gql:"query($productId: Int!) {\n shoprenter {\n product(productId: $productId) {\n categoryIds\n }\n }\n }",values:{productId:{query:{type:"qcs"},path:"$.shopRenter.product.id"}}},path:"$.shoprenter.product.categoryIds"},[">",["path","$.length",["intersect",t,n]],0])];var t,n})(e.value)}}},Qo=function(e,t){this.type="indexedData",this.andOperators=e,this.orOperators=t,this.validate=function(e,t){if(0===e.length)return!0;const n=this.validateDataSetByCallback(e,t,this.orOperators,!0),i=this.validateDataSetByCallback(e,t,this.andOperators,!1);return n&&i},this.validateDataSetByCallback=function(e,t,n,i){let o,r,a,s=n.length,c=!1;for(;s--;)if(a=n[s],e.hasOwnProperty(a))for(c=!0,o=e[a],r=o.length;r--;)if(i===t(a,o[r]))return i;return!c||!i}},Zo="contains",er="notContains",tr="equals",nr="notEquals",ir="startsWith",or="notStartsWith",rr="endsWith",ar="notEndsWith",sr="matchRegex",cr="notMatchRegex",lr=(e,t)=>{const n=new Qo([er,nr,or,ar,cr],[Zo,tr,ir,rr,sr]),i=window.location.pathname+window.location.search+window.location.hash;let o;try{o=decodeURIComponent(i)}catch(e){o=i}return t&&(o=o.replace("#om","")),n.validate(e,(function(e,t){let n;try{n=decodeURIComponent(t.value.trim())}catch(e){n=t.value.trim()}return pi[e](o,n)}))},dr=e=>!e.expressions&&!e.includeExpressions&&!e.excludeExpressions,ur=e=>{if(dr(e))return!0;if(e.expressions)return!1;const t=["page","homepage"],n=!!e.includeExpressions&&e.includeExpressions.every((e=>t.includes(e.pageType))),i=!!e.excludeExpressions&&e.excludeExpressions.every((e=>t.includes(e.pageType)));return n&&i},pr=e=>{if(dr(e))return e;const t={};e.includeExpressions.forEach((e=>{if("homepage"===e.pageType)return t.equals=t.equals||[],t.equals.push({value:"/"}),t.startsWith=t.startsWith||[],void t.startsWith.push({value:"/?"});t[e.operator]=t[e.operator]||[],t[e.operator].push({value:e.value})}));const n={is:"isNot",equals:"notEquals",contains:"notContains",startsWith:"notStartsWith",endsWith:"notEndsWith",matchRegex:"notMatchRegex"};return e.excludeExpressions.forEach((e=>{if("homepage"===e.pageType)return t.notEquals=t.notEquals||[],t.notEquals.push({value:"/"}),t.notStartsWith=t.notStartsWith||[],void t.notStartsWith.push({value:"/?"});const i=n[e.operator];t[i]=t[i]||[],t[i].push({value:e.value})})),t},gr={is:"isNot",equals:"notEquals",contains:"notContains",startsWith:"notStartsWith",endsWith:"notEndsWith",greaterThanEquals:"lessThan",greaterThan:"lessThanEquals",lessThanEquals:"greaterThan",lessThan:"greaterThanEquals"},mr=["category","product"],hr={equals:[{value:"/"}],startsWith:[{value:"/?"}]},fr=e=>null!=e,vr=function(e,t){if(void 0===t&&(t=!1),"homepage"===e.pageType){const e=lr(hr,co());return t?!e:e}const n={[t?gr[e.operator]:e.operator]:[{value:e.value}]};return lr(n,co())},wr={},yr={},Ir={},Cr={};let br=window.JFClientSDK?window.JFClientSDK.v2:null;const Sr=async()=>{if(br=window.JFClientSDK?window.JFClientSDK.v2:null,!br)return new window.Promise((e=>{const t=setTimeout((()=>{br=window.JFClientSDK?window.JFClientSDK.v2:null,e()}),5e3);O(document,"jetfabricLoaded",(()=>{clearTimeout(t),br=window.JFClientSDK?window.JFClientSDK.v2:null,e()}))}))},kr=e=>{const t={};var n,i;e&&(null!=e&&e.viewedPage&&!ur(null==e?void 0:e.viewedPage)&&(t.viewedPage=e.viewedPage),Array.isArray(null==e||null==(n=e.subscribers)?void 0:n.lists)&&(t.subscribers=e.subscribers),["groupMember","existingProfile"].includes(null==e||null==(i=e.klaviyoSegment)?void 0:i.condition)&&(t.klaviyoSegment=e.klaviyoSegment));return t};async function Or(e){const t=[],n=(e,t)=>t.then((t=>[e,!!t]));if(!br){const t={};return Object.keys(e).forEach((e=>{t[e]=!0})),t}return Object.keys(e).forEach((o=>{const r=e[o];if("viewedPage"===o){let e;var a,s;if(r.includeExpressions||r.excludeExpressions)e=((e,t)=>{const n=[];e.forEach((e=>{if(mr.includes(e.pageType)){const t=Yo(e);fr(t)&&n.push(t)}else{const t=vr(e);n.push(t)}}));const i=[];t.forEach((e=>{if(mr.includes(e.pageType)){const t=Yo(e);fr(t)&&i.push((e=>["not",e])(t))}else{const t=vr(e,!0);i.push(t)}}));const o=0===n.length?null:1===n.length?n.pop():["or",...n],r=0===i.length?null:1===i.length?i.pop():["and",...i],a=[];return null!==o&&a.push(o),null!==r&&a.push(r),1===a.length?a.pop():["and",...a]})(null!=(a=r.includeExpressions)?a:[],null!=(s=r.excludeExpressions)?s:[]);else e=(e=>{const t=["or"];return e.forEach(((n,o)=>{let r=["and"];e[o].forEach(((t,n)=>{const a=i({},e[o][n]);if(!mr.includes(a.pageType)||null!==a.operand||1===e[o].length)if(mr.includes(a.pageType)){const e=Yo(a);fr(e)&&r.push(e)}else r.push(vr(a))})),1!==r.length&&(2===r.length&&(r=r.pop()),t.push(r))})),1===t.length?null:2===t.length?t.pop():t})(r.expressions);if(null!==e){const i=br.evaluateConditionalExpression({expression:e});t.push(n(o,i))}}else if("subscribers"===o){const{lists:e,type:i}=r,a=Er(e,i),s=br.evaluateConditionalExpression({expression:a});t.push(n(o,s))}else if("klaviyoSegment"===o)if("existingProfile"===r.condition){var c;const e=new URLSearchParams(window.location.search),i=$.local.getItem("__kla_id"),r=i?JSON.parse(window.atob(i)):null;t.push(n(o,Promise.resolve(!(null!=(c=e.get("_kx"))?c:null==r?void 0:r.$exchange_id))))}else{const e=(e=>{if("groupMember"===e.condition)return["and",["or",!1,...e.expression.in.length>0?e.expression.in.map((e=>Jo(e))):[!0]],["and",!0,!0,...e.expression.notIn.map((e=>["not",Jo(e)]))]]})(r),i=br.evaluateConditionalExpression({expression:e});t.push(n(o,i))}})),Promise.all(t).then((e=>Object.fromEntries(e)))}const Mr=e=>{let{provider:t=null,providerServiceId:n=null,listId:i=null}=e;return{query:{type:"qgql",gql:"query {\n customer {\n optimonk {\n isSubscribed(\n provider: "+(t?'"'+t+'"':"null")+",\n providerServiceId: "+(n?'"'+n+'"':"null")+",\n listId: "+(i?'"'+i+'"':"null")+"\n )\n }\n }\n }"},path:"$.customer.optimonk.isSubscribed"}},Er=(e,t)=>{if("all"===e[0].id)return"include"===t?Mr({}):["not",Mr({})];const n=[];return e.forEach((e=>{0===e.id.indexOf("default")&&(e.id="default")})),"include"===t?(n.push("or"),e.forEach((e=>{n.push(Mr({provider:e.type,providerServiceId:e.providerId,listId:e.id}))}))):(n.push("and"),e.forEach((e=>{n.push(["not",Mr({provider:e.type,providerServiceId:e.providerId,listId:e.id})])}))),2===n.length?n.pop():n},Pr={addCampaignRules:e=>{const{campaignId:t,rules:n}=e;Ir[t]=Ir[t]||{},Cr[t]=Cr[t]||{};const i=kr(n);Object.keys(i).forEach((e=>{Ir[t][e]=i[e],Cr[t][e]=!1}))},addCampaignExperiencesRules:(e,t)=>{t.forEach((t=>{const{frontendRules:n,_id:i}=t;wr[e]=wr[e]||{},wr[e][i]={},yr[e]=yr[e]||{},yr[e][i]={};const o=kr(n);Object.keys(o).forEach((t=>{wr[e][i][t]=o[t],yr[e][i][t]=!1}))}))},getResult:(e,t)=>!Cr[t]||"boolean"!=typeof Cr[t][e]||Cr[t][e],getJFRules:kr,hasRules:()=>!!Object.values(Ir).some((e=>Object.keys(e).length)),hasExperienceRules:()=>!!Object.values(wr).some((e=>Object.keys(e).length)),evaluate:Or,evaluateAndGo:async function(e){await Sr();const t=kr(e);if(!Object.keys(t).length)return{};if(!br){const e={};return Object.keys(t).forEach((t=>{e[t]=!0})),e}const n=Or(t);return br.go(),n},run:async()=>{const e=!!Object.keys(Ir).length;await Sr();const t=Object.keys(Ir).map((async e=>{const t=await Or(Ir[e]);Object.assign(Cr[e],t)}));return e?(br?await Promise.all([br.go(),Promise.all(t)]):await Promise.all(t),Cr):null},runExperiences:async()=>{const e=!!Object.keys(wr).length;await Sr();const t=Object.keys(wr).map((async e=>Object.keys(wr[e]).map((async t=>{const n=await Or(wr[e][t]);Object.assign(yr[e][t],n)}))));return e?(br?await Promise.all([br.go(),Promise.all(t)]):await Promise.all(t),yr):null}};function _r(e,t){let{maxAge:n,cache:i=new Map,cacheId:o,cacheRejectedPromise:r=!1,cacheFromContext:a}=void 0===t?{}:t;const s="function"==typeof i?i():i,c=function(){var t;const i=null!==(t=null==a?void 0:a.call(this))&&void 0!==t?t:s;for(var c=arguments.length,l=new Array(c),d=0;dn)))return null==e?void 0:e.value}const p=e.apply(this,l);return i.set(u,{value:p,timestamp:Date.now()}),p instanceof Promise?p.catch((e=>{throw r||i.delete(u),e})):p};return Object.defineProperty(c,"name",{value:e.name}),c}const Ar={maxAge:30,cache:{set(e,t){null!=t&&t.value&&(t.value.then?t.value.then((n=>{t.value=n,Yt.local.setItem(e,t)})):Yt.local.setItem(e,t))},get:e=>Yt.local.getItem(e),has:e=>Yt.local.hasItem(e),delete:e=>Yt.local.removeItem(e)}};class Rr{static async get(e,t){let{cacheId:n,maxAge:o}=t;const r={maxAge:1e3*o};n&&(r.cacheId=n);return _r(e,i({},Ar,r))()}static async set(e,t){let{cacheId:n}=t,o={};n&&(o={cacheId:n});const r=i({},Ar.cache);r.has=()=>!1;return _r(e,i({},Ar,{cache:r},o))()}}const Tr=async function(e,t){return void 0===t&&(t=200),Promise.race([e(),(n=t,new Promise(((e,t)=>{setTimeout((()=>{t(Error("timeout"))}),n)})))]);var n};const xr=new class{constructor(){this.cache=Rr}async get(e,t){let{keyPrefix:n="om",key:i,ttl:o=30,timeout:r}=t;const a=()=>n+"-"+i;return Tr((async()=>this.cache.get(e,{cacheId:a,maxAge:o})),r)}async set(e,t){let{keyPrefix:n="om",key:i}=t;return await this.cache.set(e,{cacheId:()=>n+"-"+i}),!0}},Dr={},Nr=OptiMonkRegistry.baseUrl+"/error/log";function Ur(e){Mt.post("message="+encodeURIComponent(JSON.stringify(e)),Nr)}function qr(e){return!!Dr[e.message]}function Lr(e){Dr[e.message]=1}const Vr={sendException(e){if(qr(e))return;Lr(e);Ur(function(e){var t,n,i;return{message:e.message,stack:e.stack,userAgent:navigator.userAgent,url:window.location.href,name:e.name,line:e.lineNumber||e.number,timezone:null==(t=window.Intl)||null==t.DateTimeFormat||null==(n=(i=t.DateTimeFormat()).resolvedOptions)?void 0:n.call(i).timeZone}}(e))},sendEventError(e){if(qr(e))return;Lr(e);var t;Ur({message:(t=e).message,stack:t.error?t.error.stack:"",userAgent:navigator.userAgent,url:window.location.href,errorEvent:t,file:t.filename})}},Fr=()=>{let e=new URLSearchParams(window.location.search).get("_kx");const t=$.local.getItem("__kla_id");try{var n;if(t){var i;const n=JSON.parse(window.atob(t));e=null!=(i=e)?i:n.$exchange_id}if(!e)return;const o=(null==(n=window._learnq)||null==n.account?void 0:n.account())||e.split(".").pop();o||console.error("OptiMonk: unable to acquire Klaviyo account id"),window.JFClientSDK.v2.registerCustomerAddress({provider:"klaviyo",providerServiceId:o,addressType:"customerId",customerAddress:e}),window.JFClientSDK.v2.addClientStateProperty("klaviyoExchangeId",e)}catch(e){Vr.sendException(e)}},jr=()=>{var e,t,n,i,o,r;if(document.removeEventListener("jetfabricLoaded",jr),!d()||!window.JFClientSDK)return;const{provider:a,providerServiceId:s}=Rt(),c=Tt(),l=it(),p=xt(),g=(null==(e=OptiMonkRegistry)||null==(t=e.crossDomainParams)?void 0:t.optiMonkClientId)||u()||null,m=(null==(n=OptiMonkRegistry)||null==(i=n.crossDomainParams)?void 0:i.provider)||a||null,h=(null==(o=OptiMonkRegistry)||null==(r=o.crossDomainParams)?void 0:r.providerServiceId)||s;if(window.JFClientSDK.v2.setAppId("optimonk").registerCustomerAddress({provider:"optimonk",providerServiceId:""+d(),customerAddress:g,addressType:"deviceId"}).registerCustomerAddress({provider:m,providerServiceId:h,customerAddress:c||null,addressType:"customerId"}).setUserSessionSate({visitorInExperiment:l,deviceType:p}),"shopify"===a){const e=$.local.getItem("_shopify_y");e&&window.JFClientSDK.v2.registerCustomerAddress({provider:"shopify",providerServiceId:s,customerAddress:e,addressType:"deviceId"})}Fr()};function Jr(){OptiMonkRegistry.isDebug&&console.log("%c[OM:DEBUG]","color: #ed5a29",...arguments)}function Br(e){if(!e||0===e.length)return;window.omdebug||(window.omdebug={});const t=e[0].campaign||e[0].campaignId;window.omdebug[t]=e}function Hr(){if(OptiMonkRegistry.isDebug){const e=arguments[0];Array.isArray(e)&&Br(e)}}function $r(){console.log("%c[OM:ERROR]","color: red",...arguments)}const Wr=e=>{if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===e.toLowerCase())return!0;if("false"===e.toLowerCase())return!1}if("object"==typeof e&&null!==e){if(Array.isArray(e))return e.map((e=>Wr(e)));const t={};for(const[n,i]of Object.entries(e))t[n]=Wr(i);return t}return e};class Gr{static addCampaign(e){const t=e.id;Pr.addCampaignRules(i({campaignId:t},e)),e.experiences.length&&Pr.addCampaignExperiencesRules(t,e.experiences)}static hasJFRule(){return Pr.hasRules()||Pr.hasExperienceRules()}static addScript(){return new Promise((e=>{if(window.JFClientSDK)return e();x("jetfabric",OptiMonkRegistry.jfJsScriptUrl),document.addEventListener("jetfabricLoaded",(function(){jr(),e()}))}))}static async collectData(){Jr("JF rule collect data started"),await Gr.addScript(),Jr("JF SDK loaded");const e=[];return Pr.hasRules()&&(Jr("Has campaign rules"),e.push(xr.set((async()=>{const e=await Pr.run();return Jr("Embedded/DC results",e),e}),{key:"jfrule-result"}))),Pr.hasExperienceRules()&&(Jr("Has experience rules"),e.push(xr.set((async()=>{const e=await Pr.runExperiences();return Jr("Embedded/DC experience results",e),e}),{key:"jfrule-experiences-result"}))),Promise.all(e)}static async getCachedData(){let e=await Rr.get((()=>{}),{cacheId:()=>"om-jfrule-result",maxAge:0});return e=Wr(e),e}static async getCachedExperienceData(){let e=await Rr.get((()=>{}),{cacheId:()=>"om-jfrule-experiences-result",maxAge:0});return e=Wr(e),e}static evaluateRule(e){return Pr.evaluateAndGo(e)}}const Kr={type:"shoprenter",isShop:()=>void 0!==window.ShopRenter,getResourceType(){var e,t,n,i,o;return void 0!==(null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.page)?void 0:n.categoryName)?"category":void 0!==(null==(i=window)||null==(o=i.ShopRenter)?void 0:o.product)?"product":null},getProductName(){var e,t,n;return null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.product)?void 0:n.name},getCategoryName(){var e,t,n;return null==(e=window)||null==(t=e.ShopRenter)||null==(n=t.page)?void 0:n.categoryName}},zr={shopify:{product:At.getProductName},shoprenter:{product:Kr.getProductName,category:Kr.getCategoryName}},Xr=[At,Kr],Yr=e=>{const t=Xr.find((e=>e.isShop()));if(!t)return;const n=t.getResourceType();Object.keys(zr[t.type]).includes(n)&&((e,t)=>{let{type:n,resourceType:i}=t;const o=zr[n][i]();e.shop(i+"_name",o)})(e,{type:t.type,resourceType:n})};function Qr(e){if(en.isPreview())return;const t={};try{e.forEach((e=>{const{id:n,changes:o}=e,{cookieName:r,cookieParts:a}=(e=>{const t="optiMonkSmartAbTest_"+e,n=$.local.getItem(t);let o={};var r;return n&&(o=null==(r=n.split("_"))?void 0:r.reduce(((e,t)=>i({},e,{[t]:!0})),{})),{cookieName:t,cookieParts:o}})(n),s=[],c=[];let l=!1;o.forEach((e=>{if("smart-ab-test"!==e.type)return;l=!0,c.push(e);const t=((e,t)=>e.running.find((e=>t[e]))||e.running[Math.floor(Math.random()*e.running.length)])(e,a);s.push(t),((e,t)=>{const n=((e,t)=>e.tests.find((e=>e.id===t)))(e,t);OptiMonkEmbedded.Visitor.createAdapter().attr(po(e.id),n.value)})(e,t)})),l&&(t[n]=((e,t,n,i,o)=>{const r=i.join("_");return e.cookie=r,$.local.setItem(n,r),((e,t,n)=>({campaign:e,cookie:t,changes:n.map((e=>[{tests:e.tests,phased_out:e.phased_out,current_pair_start:e.current_pair_start,running:e.running}]))}))(t,r,o)})(e,n,r,s,c))}))}catch(e){console.log("smartAbTest could not load",e)}OptiMonkRegistry.smartAbTests=t}async function Zr(){try{if(!0!==(null==(e=OptiMonkRegistry)||null==(t=e.features)?void 0:t.SMART_PAGE_TAG))return Promise.resolve();console.log("OM - Page Optimizer enabled");const n=zi(),i=n.attr();Object.keys(i).filter((e=>e.startsWith("sppo"))).forEach((e=>{n.removeAttr(e)}));const o=fn();console.log("OM - Page Optimizer using page slug",o);const r=await OptiMonkEmbedded.RequestService.loadPageSmartTags(o);Object.keys(r).forEach((e=>{const t="sppo"+e;n.attr(t,r[e])}))}catch(e){console.error(e.message)}var e,t}class ea extends Ai{static get type(){return"domain"}static validate(e){var t,n;if(!e.domain)return console.warn("[OM] No domain for campaign: "+e.campaignId),!1;const i=dt(e.domain),o=null!=(t=window.OptiMonkRegistry)&&t.isShopifyDesignMode&&null!=(n=window.OptiMonkRegistry)&&n.shopifyLiveDomain?dt(window.OptiMonkRegistry.shopifyLiveDomain):dt(window.location.host);return"*"===i||i===o||((e,t)=>{if("*"!==e[0])return!1;const n=e.substring(e.indexOf(".")+1);return t===n||-1!==t.indexOf(".")&&n===t.substring(t.indexOf(".")+1)})(i,o)}}class ta{constructor(){this.requestService=C(),this.adapter=zi()}static getInstance(){return this.instance||(this.instance=new ta),this.instance}setSmartPersonalizationParameter(e){const{trackParams:t}=e;this.trySetFromParams(t),this.paramValue||this.tryLoadFromStorage()}trySetFromParams(e){const t=Object.keys(e).find((e=>ea.validate({domain:e})));if(!t)return;OptiMonkRegistry.trackParams=e[t];const{params:n,domainId:i}=e[t];if(this.domainId=i,null==n||!n.length)return;const o=new URLSearchParams(window.location.search);for(const e of n){const t=o.get(e);if(t)return this.adapter.attr("om_track_param",e+"="+t),this.paramValue=t,void(this.paramName=e)}}tryLoadFromStorage(){const e=this.adapter.attr("om_track_param");if(!e)return;const[t,...n]=e.split("=");this.paramName=t,this.paramValue=n.join("=")}download(){this.content=this.requestService.loadSmartPersonalizerJson(this.paramName,this.domainId)}setup(e){if(!this.paramValue)return;e.some((e=>e.changes.some((e=>"smart-personalization"===e.type))))&&(this.clearExistingParams(),this.download())}clearExistingParams(){const e=this.adapter.attr();Object.keys(e).filter((e=>e.startsWith("sp_"))).forEach((e=>{this.adapter.removeAttr(e)}))}async setDTRs(e){if(!e.changes.some((e=>"smart-personalization"===e.type)))return;const t=await this.content;null!=t&&t[this.paramValue]&&Object.keys(t[this.paramValue]).forEach((e=>{let n="sp_"+e;0===e.indexOf("sp_")&&(n=e),this.adapter.attr(n,t[this.paramValue][e])}))}}class na{static init(){setTimeout((()=>{if(na.getAvailableAdapters().length)return na.processEvents(),void na.listenEvents();na.init()}),100)}static send(e){let{eventName:t,label:n,campaign:i}=e;const o=na.getAvailableAdapters();OptiMonkRegistry.isDebug&&(console.log("[Analytics Event Manager] sending"),console.table({eventName:t,label:n,campaign:i})),o.forEach((e=>{et.send(t,e,{campaign:i})}))}static processEvents(){(OptiMonkRegistry.analyticsEvents||[]).forEach((e=>{na.send(e)}))}static listenEvents(){const e=OptiMonkRegistry.analyticsEvents.push;OptiMonkRegistry.analyticsEvents.push=function(){for(var t=arguments.length,n=new Array(t),i=0;ie.isEnabled()))}}class ia{constructor(e){let{requestService:t}=e;this.requestService=t}async getScraperInfoForSPPO(e){const t=this.requestService.getScraperInfoForSPPORequestUrl(e);return this._getRequestWithParsedResponse(t)}async _getRequestWithParsedResponse(e){const t=await this.requestService.sendGetRequest(e);try{return JSON.parse(t)}catch(e){return console.error(e),[]}}}class oa{getTextContentBySelector(e){var t,n;return null!=(t=null==(n=Vn.getElement(e))?void 0:n.textContent)?t:""}getCannonicalUrl(){var e,t;return null!=(e=null==(t=Vn.getElement("link[rel='canonical']"))?void 0:t.getAttribute("href"))?e:""}}class ra{constructor(e){let{requestService:t,isMobile:n}=e;this.scraperDOM=new oa,this.requestService=t,this.isMobile=n}async setCurrentUrl(e){this.currentUrl=e}async runScraper(){}_getScraperSelectors(e){return new ia({requestService:this.requestService}).getScraperInfoForSPPO(e)}_getScrapedContent(e,t){return null!=e&&e.length?e.map((e=>{const n=this.scraperDOM.getTextContentBySelector(e.selector);return{url:this.currentUrl,cannonicalUrl:t,pageIdentifier:this._getPageIdentifier(null!=t?t:this.currentUrl),isMobile:this.isMobile?1:0,selectorId:e.selectorId,contentType:e.contentType,content:n}})).filter((e=>{var t;return null==(t=e.content)?void 0:t.length})):[]}_sendScrapedContents(e){null!=e&&e.length&&e.forEach((e=>{Ue("scrapedContentForSPPO",e)}))}_getPageIdentifier(e){return hn(e)}}const aa=()=>{let e;return[new Promise((t=>{let n=!1;e=e=>{if(n)throw new Error("Async value can only be set once");t(e),n=!0}})),e]},sa=["browser_language","browser_name","browser_version","first_landing_page","first_visit_date","os_name","os_version","popup_last_seen","tz","tz_offset","utm_campaign","utm_content","utm_medium","utm_source","current_month_text_en"],ca={_country_code:"country_code"},la=function(e){if(void 0===e&&(e="en-US"),!window.Intl){return(new Date).toLocaleString(e,{month:"long"})}return new Intl.DateTimeFormat(e,{month:"long"}).format()},da=e=>{Yt.local.setItem("OptiMonkVisitorAttributes",e)},ua=()=>{const e=Yt.local.getItem("OptiMonkVisitorAttributes"),t=new Date,n=t.getTimezoneOffset()/60,o=i({browser_language:window.navigator.language},(()=>{const e=[{name:"Windows",regex:/Windows NT (\d+\.\d+)/},{name:"macOS",regex:/Mac OS X (\d+([_\.\d]+)?)/},{name:"iOS",regex:/iPhone; CPU iPhone OS (\d+[_\d]+)/},{name:"Android",regex:/Android (\d+(\.\d+)?)/},{name:"Linux",regex:/Linux/}],t=[{name:"Chrome",regex:/Chrome\/(\d+\.\d+)/},{name:"Firefox",regex:/Firefox\/(\d+\.\d+)/},{name:"Safari",regex:/Version\/(\d+\.\d+).*Safari/},{name:"Edge",regex:/Edg\/(\d+\.\d+)/},{name:"IE",regex:/Trident\/.*rv:(\d+\.\d+)/}],n=navigator.userAgent;return i({},(()=>{for(const t of e){const e=n.match(t.regex);if(e){const n=e[1]?e[1].replace(/_/g,"."):"No version";return{os_name:t.name,os_version:n}}}return{os_name:"Unknown",os_version:"Unknown"}})(),(()=>{for(const e of t){const t=n.match(e.regex);if(t)return{browser_name:e.name,browser_version:t[1]}}return{browser_name:"Unknown",browser_version:"Unknown"}})())})(),(e=>{const t=["utm_medium","utm_source","utm_campaign","utm_content"],n=window.location.search.substring(1),i=new URLSearchParams(n),o=Object.fromEntries(t.map((t=>{var n;return[t,null!=(n=null==e?void 0:e[t])?n:""]})));for(const n of i.keys()){const r=void 0===(null==e?void 0:e[n])||""===(null==e?void 0:e[n]);t.includes(n)&&r&&(o[n]=i.get(n))}return o})(e),{current_month_text_en:la(),current_month_text_hu:la("hu-HU"),tz:Intl.DateTimeFormat().resolvedOptions().timeZone,tz_offset:n<0?"UTC"+n:"UTC+"+n},(!e||void 0===e.first_landing_page)&&{first_landing_page:window.location.href},(!e||void 0===e.first_visit_date)&&{first_visit_date:t.toISOString()});da(i({},e,o))},pa=()=>{const e=Yt.local.getItem("OptiMonkVisitorAttributes")||{};da(i({},e,{popup_last_seen:(new Date).toISOString()}))},ga=["thank_you","checkout_one_thank_you"],ma=()=>window.Shopify&&window.Shopify.Checkout&&ga.includes(window.Shopify.Checkout.page);class ha{track(){const e=xe();if(!e)return;const t=this.getFromCookie(),n=[e,...t.filter((t=>t.productId!==e.productId||t.variantId!==e.variantId))].slice(0,10);$.local.setItem("optiMonkViewedProducts",JSON.stringify(n))}getFromCookie(){const e=$.local.getItem("optiMonkViewedProducts");try{return e?JSON.parse(e):[]}catch(e){return[]}}getViewedProducts(e){let{filterCurrent:t=!0,limit:n=10}=e,i=this.getFromCookie();if(t){const e=xe();e&&(i=i.filter((t=>t.productId!==e.productId||t.variantId!==e.variantId)))}return i.slice(0,n)}}let fa;const va=()=>(fa||(fa=new ha),fa);let[wa,ya]=aa();const Ia=()=>{var e;return null==(e=window)?void 0:e.JFClientSDK},Ca=()=>{const e=Ia();try{e&&ya(!0)}catch(t){wa=Promise.resolve(!!e)}},ba=async()=>(Ia()||await wa,Ia()),Sa=e=>Promise.race([ba(),new Promise((t=>setTimeout((()=>t()),e)))]);function ka(e){const t=xe();return t&&(window.JFClientSDK.v2.registerProductView(t),e)?window.JFClientSDK.v2.go().catch((function(e){console.log("An error occurred during JFClientSDK.v2.go():",e.message),console.log(e)})):null}function Oa(){if(!window.woocommerce_params)return!1;const e=Yt.local.getItem("OptiMonkVisitorAttributes"),t=null==e?void 0:e["wp_order.order_id"];if(!t)return!1;const n=null==e?void 0:e.woo_last_order_id;return!(n&&n===t)}function Ma(){const e=Yt.local.getItem("OptiMonkVisitorAttributes"),t=e["wp_order.order_id"];Ue("eoo",{orderId:t,total:parseFloat(e["wp_order.total"])||0,itemCount:parseInt(e["wp_order.item_count"]||0,10),currency:e["wp_order.currency"],platform:"woocommerce",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),e.woo_last_order_id=t,Yt.local.setItem("OptiMonkVisitorAttributes",e)}Ia()&&Ca();const Ea=()=>{if(OptiMonkRegistry.ga4EventListenerRegistered)return;const e=xt();(e=>{window.dataLayer=window.dataLayer||[];const t=window.dataLayer.push;window.dataLayer.push=function(){for(var n=arguments.length,i=new Array(n),o=0;o{e(t)}))}catch(e){$r(e)}return t.apply(window.dataLayer,i)},window.dataLayer.forEach((t=>e(t)))})((t=>{if(!("purchase"===(null==t?void 0:t.event)||"event"===(null==t?void 0:t[0])&&"purchase"===(null==t?void 0:t[1])))return;const n=t.ecommerce||t[2],{transaction_id:i,items:o,value:r,currency:a,coupon:s}=n;if(!i||isNaN(parseFloat(r))||!a)return void Ue("ga4:nonstandard-purchase",{data:JSON.stringify(n)});const{totalDiscount:c,itemCount:l}=(o||[]).reduce(((e,t)=>{var n;let{totalDiscount:i,itemCount:o}=e;return{totalDiscount:i+(t.discount?parseFloat(t.discount):0),itemCount:o+(null!=(n=t.quantity)?n:1)}}),{totalDiscount:0,itemCount:0});Ue("ga4:purchase",{orderId:i,total:parseFloat(r),itemCount:l,currency:a,platform:OptiMonkEmbedded.Engine.getInfo().type,deviceType:e,total_discount:c,discount_code:s||void 0})})),OptiMonkRegistry.ga4EventListenerRegistered=!0},Pa=()=>{var e,t,n,o,r;Ea(),ka(),va().track(),function(){var e;let t=(null==(e=document.querySelector("link[rel='canonical']"))?void 0:e.getAttribute("href"))||null;t&&(t=t.split("?")[0]);try{Ue("pageView",{title:document.title,referrer:document.referrer,userAgent:navigator.userAgent,url:window.location.href,host:window.location.host,path:window.location.pathname,query:window.location.search,hash:window.location.hash,viewportWidth:document.documentElement.clientWidth,viewportHeight:document.documentElement.clientHeight,canonicalUrl:t})}catch(e){console.log("unable to log page view:",e.message)}}(),function(){const e=Yt.local.getItem("OptiMonkVisitorAttributes"),t={};sa.forEach((n=>{e&&void 0!==e[n]&&(t[n]=e[n])})),Object.entries(ca).forEach((n=>{let[i,o]=n;e&&void 0!==e[i]&&(t[o]=e[i])})),Ue("visitorData",t)}(),ma()&&function(){if(window.Shopify.checkout){var e;const t=window.Shopify.checkout.line_items.reduce(((e,t)=>e+t.quantity),0),n=xt();Ue("eoo",i({orderId:window.Shopify.checkout.order_id.toString(),total:parseFloat(window.Shopify.checkout.total_price_set.shop_money.amount),itemCount:t,currency:window.Shopify.checkout.total_price_set.shop_money.currency_code,shopifyCurrency:window.Shopify.currency.active,platform:"shopify",deviceType:n},window.Shopify.checkout.discount&&{total_discount:parseFloat(window.Shopify.checkout.discount.amount)},(null==(e=window.Shopify.checkout.discount)?void 0:e.code)&&{discount_code:window.Shopify.checkout.discount.code}))}}(),window.ShopRenter&&window.ShopRenter.page&&"checkout/success"===window.ShopRenter.page.route&&function(){if(window.ShopRenter.lastOrder){const e=window.ShopRenter.lastOrder.products.reduce(((e,t)=>e+parseInt(t.quantity,10)),0);Ue("eoo",{orderId:window.ShopRenter.lastOrder.id,total:window.ShopRenter.lastOrder.total,itemCount:e,currency:window.ShopRenter.lastOrder.currency,platform:"shoprenter",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"})}}(),window.UNAS&&"order_send"===(null==(e=window.UNAS)||null==(t=e.design)?void 0:t.page)&&function(){var e,t,n,i,o,r;if(null==(e=window.UNAS)||!e.getOrder)return;const a=null!=(t=null==(n=window.UNAS)||null==(i=n.shop)?void 0:i.last_order_key)?t:null;if(!a)return;let s=Yt.local.getItem("OptiMonkVisitorAttributes");const c=null!=(o=null==(r=s)?void 0:r.unas_last_order_key)?o:null;c&&c===a||window.UNAS.getOrder((e=>{var t;if(null==e||!e.id||null==(t=e.items)||!t.item)return;const n=(Array.isArray(e.items.item)?e.items.item:[e.items.item]).reduce(((e,t)=>e+parseInt((null==t?void 0:t.quantity)||0,10)),0);Ue("eoo",{orderId:e.id,secondaryOrderId:e.key,total:parseFloat(e.sum_price_gross)||0,itemCount:n,currency:e.currency,platform:"unas",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),s=Yt.local.getItem("OptiMonkVisitorAttributes"),s.unas_last_order_key=a,Yt.local.setItem("OptiMonkVisitorAttributes",s)}))}(),Oa()&&Ma(),(null==(n=window.$)||null==(o=n.Gomag)||null==(r=o.environment)?void 0:r.hasOwnProperty("Page/OrderComplete"))&&window.$.Gomag.environment["Page/OrderComplete"]&&function(){const e=document.querySelector('[href*="order"]')||document.querySelector('[href*="comenzi?c="]');let t;var n;t=e?e.href.includes("comenzi?c=")?e.href.split("c=")[1]:e.href.split("=").pop():"1",$i.totalItems()>0&&(Ue("eoo",{orderId:t,platform:"gomag",total:$i.total(),itemCount:$i.totalItems(),currency:(null==(n=window.cart)?void 0:n.currency)||"Lei",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),$i.clear())}(),window.mpro&&window.location.href.includes("checkout=done")&&function(){var e,t,n,i;const o=(()=>{try{return new URL(window.location.href).searchParams.get("id")}catch(e){return window.location.href.includes("id=")?window.location.href.split("id=")[1].split("&")[0]:null}})(),r=(null==(e=window.mpro)||null==(t=e.config)||null==(n=t.env)||null==(i=n.currency)?void 0:i.iso_code)||"RON";$i.totalItems()>0&&(Ue("eoo",{orderId:o,total:$i.total(),itemCount:$i.totalItems(),currency:r,platform:"merchantpro",deviceType:OptiMonkRegistry.isMobile?"mobile":"desktop"}),$i.clear())}(),qe(),window.JFClientSDK.v2.go().catch((function(e){console.error("An error occurred during initial JFClientSDK request:",e.message),console.error(e)})),function(e){if(OptiMonkRegistry.productChangeInterval&&clearInterval(OptiMonkRegistry.productChangeInterval),!(e=e||xe()))return;const t={productId:e.productId,variantId:e.variantId};window.ShopifyAnalytics&&(OptiMonkRegistry.productChangeInterval=setInterval((function(){const e=xe();e&&e.variantId&&t.variantId!==e.variantId&&(t.productId=e.productId,t.variantId=e.variantId,console.log("Detected Shopify variant change."),ka(!0))}),1e3))}(),document.querySelector("html").addEventListener("optimonk#wc-attributes-updated",(()=>{var e;const t=Yt.local.getItem("OptiMonkVisitorAttributes"),n=null!=(e=null==t?void 0:t["wp_current_product.id"])?e:null;n&&window.JFClientSDK.v2.registerProductView({productId:n,variantId:n}),Oa()&&Ma(),window.JFClientSDK.v2.go().catch((function(e){console.error("An error occurred during initial JFClientSDK request:",e.message),console.error(e)}))}))};class _a{static init(){(_a.isWebSelectorEnabled()||en.isPreview())&&(en.isShareablePreview()||en.isPopupPreview()||document.getElementById("om-pnc-script")||(x("webSelector",OptiMonkRegistry.pncJsScriptUrl+"?t="+(new Date).getTime(),null,"om-pnc-script"),document.addEventListener("webSelectorLoaded",_a.handleWebSelectorLoaded)))}static isWebSelectorEnabled(){const e=sessionStorage,t=performance.getEntriesByType("resource").filter((e=>"script"===e.initiatorType)).some((e=>e.startTime>performance.timeOrigin)),n="x-om-web-selector-restore-token",i="x-om-web-selector-token",o=e.getItem(n);o&&e.setItem(i,o),t&&e.removeItem(n);const r=new URLSearchParams(location.search).get(i),a=e.getItem(i)||e.getItem(n);return r||a}static removeListener(){document.removeEventListener("webSelectorLoaded",_a.handleWebSelectorLoaded)}static async handleWebSelectorLoaded(){try{_a.removeListener();const e=await C().loadPNCConfig();window.PNC.initPNC(e)}catch(e){console.error("Failed to initialize WebSelector:",e.message),console.error(e)}}}function Aa(){console.log("%c[OM:DIAG]","color:rgb(192, 159, 11)",...arguments)}function Ra(){console.warn("%c[OM:DIAG]","color:rgb(192, 159, 11)",...arguments)}const Ta=e=>new Promise((t=>{setTimeout((()=>{t()}),e)})),xa=(e,t)=>{var n;const o=null!=(n=null==t?void 0:t.sort(((e,t)=>t.priority-e.priority)))?n:[];if(null==o||!o.length)return[];const r=o[0];return r.variants?r.variants.map((t=>{const n=e.find((e=>e.creativeId===t));return n?(n.rules=i({},n.rules,r.frontendRules),n):null})).filter((e=>!!e)):[]},Da=e=>new URLSearchParams(window.location.search).get(e)||null,Na=()=>{const e=Yt.session.getItem("om-diag");return e?JSON.parse(e):null};class Ua{constructor(){this.ValidationService=null,this.UiService=null,this.type=null,this.campaignsMeta=[],this.diagCampaignsMeta=[],this.diagExperiences=null,this.diagCampaignMetaData=null,this.diagCampaign=null,this.diagFailed=!1,this.campaignDisplayed=!1,this.initIssues=[],this.failedValidations=[],this.triggeredEvents=[],this.dateInitStarted=null,this.dateInited=null,this.dateUpdated=null,this.init()}init(){var e,t;this.type=Da(a.POPUP)||(null==(e=Na())?void 0:e.type)===c.POPUP?c.POPUP:Da(a.EMBEDDED)||(null==(t=Na())?void 0:t.type)===c.EMBEDDED?c.EMBEDDED:null,import(OptiMonkRegistry.esmAssetPath+"/DiagnosticToolValidations-9b09b758.js").then((e=>{let{DiagnosticToolValidations:t}=e;this.setValidationService(new t)})),import(OptiMonkRegistry.esmAssetPath+"/DiagnosticToolUI-9e4923b1.js").then((e=>{let{DiagnosticToolUI:t}=e;this.setUiService(new t)})),import(OptiMonkRegistry.esmAssetPath+"/DiagnosticToolLogRocketService-445da2b0.js").then((e=>{let{DiagnosticToolLogRocketService:t}=e;new t({campaignId:this.getDiagCampaignId()})}))}isPopupDiag(){return this.type===c.POPUP}isEmbeddedDiag(){return this.type===c.EMBEDDED}setValidationService(e){this.ValidationService=e}setUiService(e){this.UiService=e}saveSession(){(e=>{const t=Da(a.POPUP)||Da(a.EMBEDDED);t&&Yt.session.setItem("om-diag",JSON.stringify({type:e,campaignId:t}))})(this.type)}removeSession(){Yt.session.removeItem("om-diag")}setCampaignsMeta(e){var t,n;const i=this.getDiagCampaignId(),o=e.filter((e=>e.campaignId===i));o.forEach((e=>{e.diagnostic=!0})),this.campaignsMeta=e,this.diagCampaignsMeta=o,this.diagCampaignMetaData=o[0],this.diagExperiences=null!=(t=null==(n=o[0])?void 0:n.experiences)?t:[],Aa("[Main-Service] campaigns: "+this.campaignsMeta.map((e=>e.campaignId)).join(", "))}reCreateCampaignsMetaAfterBeforeInit(e){e.filter((e=>e.diagnostic)).length!==this.diagCampaignsMeta.length?(this.handleInitIssue({type:s.BEFORE_INIT}),this.setCampaignsMeta([...e.filter((e=>!e.diagnostic)),...this.diagCampaignsMeta])):this.setCampaignsMeta(e)}reCreateCampaignsMetaAfterPreValidation(e){e.filter((e=>e.diagnostic)).length!==this.diagCampaignsMeta.length?(this.handleInitIssue({type:s.PRE_VALIDATION}),this.setCampaignsMeta([...e.filter((e=>!e.diagnostic)),...this.diagCampaignsMeta])):this.setCampaignsMeta(e)}reCreateCampaignsMetaAfterExperienceFilter(e){!e.filter((e=>e.diagnostic)).length&&this.diagExperiences.length?(this.handleInitIssue({type:s.NO_VALID_EXPERIENCE}),Aa("[Main-Service] Select first experience for diagnostic"),this.setCampaignsMeta([...e.filter((e=>!e.diagnostic)),...xa(this.diagCampaignsMeta,this.diagExperiences)])):this.setCampaignsMeta(e)}setCampaign(e){this.diagCampaign=e}getCampaignsMeta(){return this.campaignsMeta}getDiagCampaignId(){return(e=>{var t,n;const i=null==(t=Object.entries(c).find((t=>{let[n,i]=t;return i===e})))?void 0:t[0];if(!i)return 0;const o=Da(a[i])||(null==(n=Na())?void 0:n.campaignId);return parseInt(o||0,10)})(this.type)}handleInitIssue(e){if(this.initIssues.push(e),Aa("[Main-Service][initIssues] Init failed: "+(null==e?void 0:e.type)),(null==e?void 0:e.type)===s.MISSING_META)return this.diagFailed=!0,this.dateUpdated=new Date,void this.initUI();this.dateUpdated=new Date}handleTriggeredEvent(e){this.campaignDisplayed||this.triggeredEvents.includes(e)||(Aa("[Main-Service][triggering] Triggered event: "+e),this.triggeredEvents.push(e),this.dateUpdated=new Date,this.rerunDiag({forcedUiUpdate:!0}))}handleDisplayCampaign(e,t){var n;if(e===(null==(n=this.diagCampaign)?void 0:n.campaignId))return Aa("[Main-Service][triggering] Campaign displayed by event: "+t),this.campaignDisplayed=!0,this.dateUpdated=new Date,this.updateUI(),void clearInterval(this.autoRerun);this.rerunDiag()}hasInitIssue(){return this.initIssues.length}getCampaignInfo(){var e,t,n,i;return{campaignId:(null==(e=this.diagCampaign)?void 0:e.campaignId)||null,campaignName:(null==(t=this.diagCampaign)?void 0:t.campaignName)||"",variantName:(null==(n=this.diagCampaign)?void 0:n.creativeName)||"",isControlVariant:(null==(i=this.diagCampaign)?void 0:i.isControlVariant)||!1}}getDiagResult(){const e=(e=>{const t=window.OptiMonkRegistry.isMobile?"mobile":"desktop";return Object.keys((null==e?void 0:e.getEvents())||[]).filter((n=>{var i,o,r;return!(null==(i=null==(o=((null==e?void 0:e.getEvents())||{})[n])||null==(r=o.options)?void 0:r.find((e=>{var n;return null==(n=e.device)?void 0:n.includes(t)})))||!i)}))})(this.diagCampaign),t=e.filter((e=>!this.triggeredEvents.includes(e)));return{campaignDisplayed:this.campaignDisplayed,diagFailed:this.diagFailed,dateInitStarted:this.dateInitStarted,dateInited:this.dateInited,dateUpdated:this.dateUpdated,initIssues:this.initIssues,validations:{failedValidations:this.failedValidations},triggering:{hasTriggered:!!this.triggeredEvents.length,untriggeredEvents:t,triggeringEvents:e}}}async startDiag(e){if(void 0===e&&(e=1),Aa("[Main-Service] Init and run validations (tries: "+e+")"),!this.ValidationService)return e>9?Ra("[Main-Service] Validaton init failed"):(await Ta(1e3),this.startDiag(e+1));this.diagCampaignMetaData?(this.ValidationService.setType(c.POPUP),this.ValidationService.setCampaign(this.diagCampaign),this.ValidationService.setCampaignMetaData(this.diagCampaignMetaData),await this.ValidationService.fullRun(),this.failedValidations=this.ValidationService.getResult(),this.dateUpdated=new Date,Aa("[Main-Service][result]",JSON.parse(JSON.stringify(this.getDiagResult()))),this.ValidationService.hasSuccessRun()&&(await this.initUI(),this.autoRerun=setInterval((()=>{this.rerunDiag()}),1e3))):this.handleInitIssue({type:s.MISSING_META})}async rerunDiag(e){if(void 0===e&&(e={}),!this.ValidationService)return;if(!this.ValidationService.hasSuccessRun())return;const t=JSON.parse(JSON.stringify(this.failedValidations));await this.ValidationService.particularRun();const n=this.ValidationService.getResult();var i;if(i=t,!(n.map((e=>e.validatorType)).join()===i.map((e=>e.validatorType)).join()))return this.failedValidations=n,this.dateUpdated=new Date,Aa("[Main-Service][result]",JSON.parse(JSON.stringify(this.getDiagResult()))),void this.updateUI();e.forcedUiUpdate&&this.updateUI()}async initUI(e){return void 0===e&&(e=1),Aa("[Main-Service] Init UI (tries: "+e+")"),this.dateInitStarted=new Date,this.UiService?(await this.UiService.initUI({campaignInfo:this.getCampaignInfo(),diagResult:this.getDiagResult()}),this.dateInited=new Date,!0):e>9?Ra("[Main-Service] UI Init failed"):(await Ta(1e3),this.initUI(e+1))}updateUI(){Ta(100).then((()=>{var e;null==(e=this.UiService)||e.updateDiagResult(this.getDiagResult())}))}setUIContent(e){this.UiService.setCurrentContent(e)}}const qa=async e=>{var t,n,i,o;let{limitData:r,campaignsData:a,cookieManager:c}=e;window.OptiMonk=window.OptiMonk||{},window.OptiMonk.campaigns=[];const l=document.querySelector("html");if(P(l,"optimonk#popup-init"),P(l,"optimonk#preload-initialized"),window.OMReloading=!1,(_a.isWebSelectorEnabled()||en.isPreview())&&_a.init(),document.addEventListener("jetfabricLoaded",(function e(){try{var t,n,i,o,r,a;if(document.removeEventListener("jetfabricLoaded",e),!OptiMonkRegistry.account||!window.JFClientSDK)return;const{provider:s,providerServiceId:c}=Rt(),l=Tt(),d=it(),u=(null==(t=OptiMonkRegistry)||null==(n=t.crossDomainParams)?void 0:n.optiMonkClientId)||OptiMonkRegistry.clientId||null,p=(null==(i=OptiMonkRegistry)||null==(o=i.crossDomainParams)?void 0:o.provider)||s||null,g=(null==(r=OptiMonkRegistry)||null==(a=r.crossDomainParams)?void 0:a.providerServiceId)||c;if(window.JFClientSDK.v2.setAppId("optimonk").registerCustomerAddress({provider:"optimonk",providerServiceId:""+OptiMonkRegistry.account,customerAddress:u,addressType:"deviceId"}).registerCustomerAddress({provider:p,providerServiceId:g,customerAddress:l||null,addressType:"customerId"}).setUserSessionSate({visitorInExperiment:d}),"shopify"===s){const e=$.local.getItem("_shopify_y");e&&window.JFClientSDK.v2.registerCustomerAddress({provider:"shopify",providerServiceId:c,customerAddress:e,addressType:"deviceId"})}Fr(),Ca(),Pa()}catch(e){console.error("Failed to initialize JF:",e.message),console.error(e)}})),window.JFClientSDK?Pa():x("jetfabric",OptiMonkRegistry.jfJsScriptUrl),null!=(t=window.OptiMonk.diagnosticTool)&&t.isEmbeddedDiag())return window.OptiMonk.campaigns=[],void P(l,"optimonk#campaigns-before-load",{type:"popup"});if(null!=(n=window.OptiMonk.diagnosticTool)&&n.isPopupDiag()&&(window.OptiMonk.diagnosticTool.setCampaignsMeta(a.campaigns),window.OptiMonk.diagnosticTool.saveSession(),a.campaigns=window.OptiMonk.diagnosticTool.getCampaignsMeta()),en.isPopupPreview())return window.OptiMonk.campaigns=await C().getVariantDataForPreview(en.getPopupPreviewVariantId()),P(l,"optimonk#campaigns-before-load",{type:"popup"}),c.resetPreviewCampaign(window.OptiMonk.campaigns[0].campaignId),void window.OptiMonkEmbedded.loadPopups();if(en.isPreview())return void P(l,"optimonk#campaigns-before-load",{type:"popup"});if(!r.remaining){if(!window.OptiMonk.diagnosticTool)return void P(l,"optimonk#campaigns-before-load",{type:"popup"});window.OptiMonk.diagnosticTool.handleInitIssue({type:s.LIMIT_REACHED})}if(null==a||!a.campaigns.length){if(!window.OptiMonk.diagnosticTool)return void P(l,"optimonk#campaigns-before-load",{type:"popup"});window.OptiMonk.diagnosticTool.handleInitIssue({type:s.MISSING_META})}window.OptiMonkRegistry.variantsTypeByCampaign=a.typeByCampaign;const{Validators:d}=await import(OptiMonkRegistry.esmAssetPath+"/index-a9f9070c.js").then((function(e){return e.i}));let u=await d.beforeInit.validate(a.campaigns,{cookieManager:c});u.length||window.OptiMonk.diagnosticTool?(window.OptiMonk.diagnosticTool&&(window.OptiMonk.diagnosticTool.reCreateCampaignsMetaAfterBeforeInit(u),u=window.OptiMonk.diagnosticTool.getCampaignsMeta()),window.OptiMonk.campaigns=u,c.addCampaigns(u.map((e=>e.campaignId))),null==(i=window.OptiMonkEmbedded)||null==(o=i.experimentalDebug)||null==o.log||o.log({action:"initPopupCampaigns",data:{popupCampaignIds:u.map((e=>e.campaignId)).join(", ")}}),P(l,"optimonk#campaigns-before-load",{type:"popup"}),window.OptiMonkEmbedded.loadPopups()):P(l,"optimonk#campaigns-before-load",{type:"popup"})},La=()=>"om-country";class Va{static save(e){xr.set((()=>e),{key:"country"})}static async get(){return Rr.get((()=>{}),{cacheId:La,maxAge:0})}}const Fa=()=>"om-ip_block";class ja{static save(e){xr.set((()=>e),{key:"ip_block"})}static async get(){return Rr.get((()=>{}),{cacheId:Fa,maxAge:0})}}const Ja="campaign-show",Ba="campaign-conversion",Ha="campaign-rejected",$a=(e,t,n)=>{switch(OptiMonkRegistry.isDebug&&(console.log("[Report Manager] sending"),console.table(i({eventType:t},n))),t){case Ba:e.getInstance().reportConversion(n.element,n.campaign);break;case Ja:e.getInstance().reportCampaignShow(n.campaign);break;case Ha:e.getInstance().reportRejected(n.campaign);break;default:console.error("[OM:DEBUG] Event not handled: "+t)}},Wa=async()=>{const{ReportManager:e}=await Promise.resolve().then((function(){return an}));let t;for(;t=OptiMonkRegistry.ReportEvents.shift();){if(!Array.isArray(t)||"string"!=typeof t[0])return void console.warn("invalid pre-registered event: must be a tuple: [eventType, props]");const[n,i={}]=t;$a(e,n,i)}await(async()=>{if(OptiMonkRegistry.ReportEvents.push!==Array.prototype.push)return;const{ReportManager:e}=await Promise.resolve().then((function(){return an}));OptiMonkRegistry.ReportEvents.push=function(){for(var t=arguments.length,n=new Array(t),i=0;i{if(!Array.isArray(t)||"string"!=typeof t[0])return void console.warn("invalid invocation: must be called with a tuple: [eventType, props]");const[n,i={}]=t;$a(e,n,i)}))}})()},Ga=e=>e?e.replace(/^https?:\/\//,"").replace(/^www\./,"").replace(/\/.*$/,"").toLowerCase():"",Ka=e=>{const t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp("^"+t+"$")},za=e=>{let t;try{t=decodeURIComponent(e)}catch(n){t=e}return t},Xa=e=>{const t=e.filter((e=>e.domain===window.location.hostname));if(!t.length)return null;const n=(e=>{const t=window.location.pathname+window.location.search+window.location.hash,n=za(t),i=new URLSearchParams(window.location.search);for(const t of e)if(Ka(za(t.controlVariant.url)).test(n)&&!i.has("splitTestRedirect")&&!t.excludeURLs.some((e=>Ka(za(e)).test(n))))return t;return null})(t.sort(((e,t)=>t.createdAt-e.createdAt)).map((e=>i({},e,{controlVariant:e.urlVariants.find((e=>!0===e.isControl))}))));return n||null},Ya=(e,t)=>{var n;let i=(()=>{const e=$.local.getItem("optiMonkSplitUrlTests");return e?JSON.parse(e):null})();i&&(i=((e,t)=>{const n=JSON.parse(JSON.stringify(e));return e.forEach(((e,i)=>{const o=e.split("_")[3];t.some((e=>e._id===o))||n.splice(i,1)})),$.local.setItem("optiMonkSplitUrlTests",n),n})(i,e));const o=null==(n=i)?void 0:n.find((e=>e.includes(t._id)));if(o){const e=o.split("_")[5];return t.urlVariants.find((t=>""+t._id===e))}const r=(e=>{const t=Math.floor(1e3*Math.random()*e.length)+1;let n=0;for(const i of e)if(n+=1e3*i.trafficShare,t<=n)return i;return null})(t.urlVariants);return((e,t,n)=>{const i=[];if(i.push("split_url_test_"+n+"_variant_"+t),i.length){const t=[...e||[],...i];$.local.setItem("optiMonkSplitUrlTests",t)}})(i,r._id,t._id),r},Qa=(e,t)=>{try{new Function(t)(),console.log("[frontend] JS snippet run for split URL A/B test:",e)}catch(t){console.error("[frontend] Split URL A/B test JS snippet error.",e,t)}},Za=(e,t)=>{const n=za(e),i=za(t),o=((e,t)=>{var n;const i=t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"(.*)"),o=e.match(new RegExp("^"+i+"$"));return null!=(n=null==o?void 0:o.slice(1))?n:[]})(za(window.location.pathname+window.location.search),n);let r=i;return r=r.replace(/\*/g,(()=>o.shift()||"")),r=r.replace(/\?\?/g,"?").replace(/\&\&/g,"&").replace(/\?/g,((e,t)=>t===r.indexOf("?")?"?":"&")),window.location.hash&&(r+=window.location.hash),new URL(r,window.location.origin)},es=()=>{window.OptiMonkEmbedded.getCrossDomainTrackingParams=function(){const e=OptiMonkRegistry.clientId,t=$.local.getItem("optiMonkExperiments")||"[]",n=Rt(),i=Dt()||""+window.location.origin+window.location.pathname,o={optiMonkClientId:e,providerServiceId:n.providerServiceId,provider:n.provider,url:i,visitorInExperiment:t},r=Object.entries(o).map((e=>{let[t,n]=e;return encodeURIComponent(t)+"="+encodeURIComponent(n)})).join("&");return function(e,t){const n=window.location.hostname.split(".").slice(-2).join("."),i=new Date("9999-12-31T23:59:59.999Z");document.cookie=e+"="+t+"; Domain=."+n+"; path=/; expires="+i.toUTCString()}("optiMonkCrossPlatformParamsCookie",JSON.stringify(o)),r}},ts={SHOPIFY:"shopify",SHOPRENTER:"shoprenter",UNAS:"unas",WOOCOMMERCE:"woocommerce",GOMAG:"gomag",WORDPRESS:"wordpress",MERCHANTPRO:"merchantpro"};class ns{constructor(){this.isDebug=!1,this.databaseId=null,this.uid=null,this.uuid=null,this.initTimestamp=null}init(e){let{databaseId:t,features:n}=e;this._shouldLog(n)&&(window.omEvents=window.omEvents||[],this.isDebug=!0,this.databaseId=t,this.uid=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),this.uuid=$.local.getItem("optiMonkClientId"),this.initTimestamp=Date.now(),this.log({action:"init"}))}log(e){let{action:t,data:n={}}=e;if(!this.isDebug)return;const o=this._findTargetingAttribute(),r=this.initTimestamp?Date.now()-this.initTimestamp:0,a=["runAbTestJsSnippet","reportEOI"].includes(t);window.omEvents.push(["experimentalDebug",i({action:t,databaseId:this.databaseId,uuid:this.uuid,uid:this.uid,targetAttribute:o,sppoAttributes:this._findSppoAttributes().join(", "),url:window.location.href,initTimeDiff:r},n),a]),console.log("[EXPERIMENTAL_DEBUG] "+t+" (+"+r+"ms)",i({targetAttribute:o},n))}_shouldLog(e){return!!Object.keys(e||{}).includes("EXPERIMENTAL_DEBUG")}_findTargetingAttribute(){const e=window.OptiMonkEmbedded.Visitor.createAdapter().attr();return Object.keys(e).find((e=>e.startsWith("ai-image-")))||null}_findSppoAttributes(){const e=window.OptiMonkEmbedded.Visitor.createAdapter().attr();return Object.keys(e).filter((e=>e.startsWith("sppo")))}}const is=e=>{const t=e.target;Object.entries(Xi).forEach((n=>{let[o,r]=n;const a=t.closest(r),s=t.closest(".om-embedded-campaign-v2");if(a&&s)return class{static async handle(e){let{targetElement:t,actionComponent:n,campaignWrapper:o,component:r,event:a}=e;switch(r){case"OM_PRODUCT":await class{static async handle(e,t){const n=ln.getCampaignData(t),i=ln.getProductComponentId(e),o=n.getProductComponentById(i);let r;if(o.isStatic()){const t=ln.getIndexOf(e);r=o.getProductByIndex(t)}else{const t=ln.getProductId(e,o);r=o.getProductByProductId(t)}r.handleClick(),r.isConverted()||this.handleProductConvert(n,o,i,r),_e("productClick",{type:o.getType(),mode:o.getMode(),filterType:o.getProductFilterType(),hasButton:!!r.getCTABtn(),action:r.getClickAction(),campaign:n.getId()})}static handleProductConvert(e,t,n,i){i.setConverted();const o=i.getProductNo();ni.convertProductClick(e,t,n,o),V()&&(h().setFilled(e.getId()),oi.runFill(e))}}.handle(t,o);break;case"OM_IMAGE_LINK":ui.handle(t,o,a);break;case"OM_SOCIAL":(class{static handle(e){const t=ln.getCampaignData(e);_t.initialize(),t.sendConversion(i({},Cn.collectDataForButton(t),{final:!0}))}}).handle(o);break;default:await di.handle(t,n,o)}}}.handle({targetElement:t,actionComponent:a,campaignWrapper:s,component:o,event:e})}))},os=async(e,t,n,i,o)=>{let r=0;return new Promise((a=>{import(OptiMonkRegistry.esmAssetPath+"/EmbeddedCampaignDOMHtml-870820c3.js").then((s=>{let{EmbeddedCampaignDOMHtml:c}=s;const l=setInterval((function(){if(r<5){let s=o.length||0;const d=document.querySelectorAll(n);if(null!=d&&d.length){console.log("embedded:debug","inserting embedded",n);const r="above"===i?"beforebegin":"afterend";d.forEach((i=>{if(((e,t)=>{const n=document.querySelectorAll(t+' ~ .om-embedded-campaign[data-campaign-id="'+e+'"]');let i=document.querySelector(t).previousSibling,o=!1;for(;i;){var r;if(1===i.nodeType&&(null==(r=i.dataset)?void 0:r.campaignId)===e.toString()){o=!0;break}i=i.previousSibling}return n.length>0||o})(e,n))return;const a=new c(e,t,s);a.insertWithWrapper(i,r),o.push(a),s++})),clearInterval(l),a()}else r++}5===r&&(console.log("embedded:debug","wait timeout reached no element found",n),clearInterval(l),a())}),10)}))}))},rs=async(e,t)=>{let{id:n,positions:i}=e;const o=[];return await(async(e,t,n)=>new Promise((i=>{import(OptiMonkRegistry.esmAssetPath+"/EmbeddedCampaignDOMHtml-870820c3.js").then((o=>{let{EmbeddedCampaignDOMHtml:r}=o,a=0;document.querySelectorAll('.om-embedded-campaign[data-campaign-id="'+e+'"]').forEach((i=>{const o=new r(e,t,a);o.insertDirectly(i),n.push(o),a++})),i()}))})))(n,t,o),null!=i&&i.length&&await((e,t,n,i)=>{const{selector:o,position:r}=e[0];return os(t,n,o,r,i)})(i,n,t,o),o},as=async()=>{try{var e,t,n;const{response:i,headers:o}=await OptiMonkEmbedded.RequestService.loadAccountInfo();(e=>{const t=null==e?void 0:e[OptiMonkRegistry.countryHeaderName];if(Va.save(t),"function"!=typeof Intl.DisplayNames||!t)return;const n=new Intl.DisplayNames(["en"],{type:"region"}),i=new Intl.DisplayNames(["hu"],{type:"region"}),o=new Intl.DisplayNames(["de"],{type:"region"}),r=zi();r.attr("_country_code",t),r.attr("_country_en",n.of(t)),r.attr("_country_hu",i.of(t)),r.attr("_country_de",o.of(t))})(o),(e=>{const t=null==e?void 0:e[OptiMonkRegistry.ipBlockHeaderName];ja.save(t)})(o);const r=dt(window.location.hostname),a=i.settings.experiments.filter((e=>dt(e.domain)===r)),s=i.settings.spaDomains||[];return{features:i.settings.features,embeddedCampaigns:i.embeddedCampaigns,dynamicContentCampaigns:i.dynamicContentCampaigns||[],experiments:a,campaignMetaData:i.embeddedCampaigns,brand:i.settings.brand,trackParams:i.settings.trackParams||{},experimentalSettings:i.settings.experimentalSettings,spaDomain:s.find((e=>e===r)),poweredBy:i.settings.poweredBy||{},crossDomainTrackingRoles:(null==i||null==(e=i.settings)?void 0:e.crossDomainTrackingRoles)||{},providerServiceIdOverrides:(null==i||null==(t=i.settings)?void 0:t.providerServiceIdOverrides)||{},unifiedDataDomains:(null==i||null==(n=i.settings)?void 0:n.unifiedDataDomains)||{},splitUrlABTests:i.splitUrlABTests||[]}}catch(e){return console.error(e.message),{features:[],embeddedCampaigns:[],dynamicContentCampaigns:[],experiments:{},campaignMetaData:[],brand:"OptiMonk",trackParams:{},experimentalSettings:{},spaDomain:null,poweredBy:{},crossDomainTrackingRoles:{},providerServiceIdOverrides:{},unifiedDataDomains:{},splitUrlABTests:[]}}},ss=async()=>{try{const{response:e}=await C().loadCampaignsJson();return e.campaigns=e.campaigns.map((e=>i({},e,{id:e.campaignId}))),e}catch(e){return console.error(e.message),{campaigns:[]}}},cs=async()=>{var e,t,n,i;(()=>{let e=$.local.getItem("optiMonkClientId");e||(e=Pe(),$.local.setItem("optiMonkClientId",e)),OptiMonkRegistry.clientId=e})(),ao(),ua(),(()=>{const e=zi(),{referrer:t}=document;if(""===t)e.attr("_source_referrer","direct"),e.attr("_source_url",document.URL);else{const n=t.replace(/https?:\/\/|\/.*/g,"");location.host!==n&&(e.attr("_source_referrer",t),e.attr("_source_url",document.URL))}})(),(async()=>{var e;const t=OptiMonkEmbedded.RequestService,n=window.location.href,i=!(null==(e=OptiMonkRegistry)||!e.isMobile),o=new ra({requestService:t,isMobile:i});o.setCurrentUrl(n),o.runScraper()})(),rn.getInstance().resetCampaignStates(),await Wa();const o=OptiMonkEmbedded.RequestService;OptiMonkEmbedded.campaigns=[];const r=zi();r.clearShop(),Yr(r);const a=en.isShopifyDesignMode()?ro:io,s=window.OptiMonkEmbedded.CookieManager||new a({accountId:d(),miniScriptLoaded:OptiMonkEmbedded.mini});OptiMonkEmbedded.CookieManager=s,((e,t)=>{window.OptiMonkRegistry.beforeLoadCampaigns={script:!1,popup:!1};const n=new lo(u(),e,OptiMonkEmbedded);OptiMonkEmbedded.BackendRequestAfterPreInit=n.getPublicIF(),O(document.querySelector("html"),"optimonk#campaigns-before-load",(e=>{window.OptiMonkRegistry.beforeLoadCampaigns[e.parameters.type]=!0;const{script:i,popup:o}=window.OptiMonkRegistry.beforeLoadCampaigns;!0===i&&!0===o&&(n.setAccountCookie(t.getOriginalCookies()),n.request())}))})(o,s);const[c,l,p]=await Promise.all([as(),o.getLimitData(),ss()]),{type:g}=OptiMonkEmbedded.Engine.getInfo(),m=Object.values(ts),{CartIntegration:h}=m.includes(g)?await import(OptiMonkRegistry.esmAssetPath+"/CartIntegration-477c52ee.js"):{CartIntegration:null};if((e=>{var t,n;const i=window.location.search;if(i.includes("om-preview"))return;if(i.includes("x-om-web-selector"))return;if(en.isPreview())return;if(_a.isWebSelectorEnabled())return;if(null!=(t=navigator.userAgent)&&null!=(n=t.toLowerCase())&&n.includes("googlebot"))return;const o=new URLSearchParams(i).get("splitTestRedirect");if(o){const t=((e,t)=>{var n;return null==t||null==(n=t.flatMap((e=>e.urlVariants)))?void 0:n.find((t=>t._id===e))})(o,e);if(!t)return;if(Ue("splitURLTest",{isControl:t.isControl?"1":"0",variantId:o}),t.jsSnippet){const{_id:e,jsSnippet:n}=t;Qa(e,n)}}else if(null!=e&&e.length){const t=Xa(e);if(!t)return null;const n=Ya(e,t);if(n){const{isControl:e,_id:i,jsSnippet:o}=n;if(!e){var r;const e=null==(r=t.urlVariants)?void 0:r.find((e=>e.isControl));if(n.isControl||!e)return;const i=Za(e.url,n.url);return i.searchParams.set("splitTestRedirect",n._id),window.location.replace(i),!0}{const e=new URL(window.location.href);e.searchParams.set("splitTestRedirect",i),window.history.replaceState({},"",e),Ue("splitURLTest",{isControl:"1",variantId:i}),o&&Qa(i,o)}}}})(c.splitUrlABTests))return;if(OptiMonkRegistry.features=c.features,OptiMonkRegistry.experiments=c.experiments,OptiMonkRegistry.brand=c.brand,OptiMonkRegistry.poweredBy=c.poweredBy,OptiMonkRegistry.experimentalSettings=c.experimentalSettings,OptiMonkRegistry.crossDomainTrackingRoles=c.crossDomainTrackingRoles,OptiMonkRegistry.providerServiceIdOverrides=c.providerServiceIdOverrides,OptiMonkRegistry.unifiedDataDomains=c.unifiedDataDomains,window.OptiMonkEmbedded.experimentalDebug=new ns,null==(e=window.OptiMonkEmbedded)||null==(t=e.experimentalDebug)||null==t.init||t.init({databaseId:d(),features:OptiMonkRegistry.features}),null!=(f=OptiMonkRegistry.features)&&f.BLOCK_LINUX_VISITORS&&(null==(v=Yt.local.getItem("OptiMonkVisitorAttributes").os_name)?void 0:v.includes("Linux")))return;var f,v,w,y,I;if(h)if((pn()||null!=(w=window)&&null!=(y=w.WooDataForOM)&&null!=(I=y.shop)&&I.pluginVersion||"woocommerce"!==g)&&(window.OptiMonkEmbedded.CartIntegration=new h(g)),"shopify"===g)import(OptiMonkRegistry.esmAssetPath+"/shopify-70e01a1b.js").then((e=>{let{initShopify:t}=e;t(document,window.jQuery)}));else if("shoprenter"===g)import(OptiMonkRegistry.esmAssetPath+"/shoprenter-5e9f17a2.js").then((e=>{let{initShoprenter:t}=e;t()}));else if("unas"===g)import(OptiMonkRegistry.esmAssetPath+"/unas-c4a0cde4.js").then((e=>{let{initUnas:t}=e;t()}));else if("woocommerce"===g){var C,b,S;(pn()||null!=(C=window)&&null!=(b=C.WooDataForOM)&&null!=(S=b.shop)&&S.pluginVersion)&&import(OptiMonkRegistry.esmAssetPath+"/woocommerce-2790c6a7.js").then((e=>{let{initWooCommerce:t}=e;t()}))}else"gomag"===g?import(OptiMonkRegistry.esmAssetPath+"/gomag-89d35dd9.js").then((e=>{let{initGomag:t}=e;t()})):"merchantpro"===g&&import(OptiMonkRegistry.esmAssetPath+"/merchantPro-945ebf5e.js").then((e=>{let{initMerchantPro:t}=e;t()}));"bigcommerce"===g&&import(OptiMonkRegistry.esmAssetPath+"/bigcommerce-1c82082a.js").then((e=>{let{initBigCommerce:t}=e;t(document,window.jQuery)})),tt.initSafe(),Gr.addScript(),(()=>{if(es(),OptiMonkRegistry.crossDomainTrackingRoles){const e=window.location.hostname,t=dt(e),n=OptiMonkRegistry.crossDomainTrackingRoles[t]||OptiMonkRegistry.crossDomainTrackingRoles[e];if("publisher"===n&&window.OptiMonkEmbedded.getCrossDomainTrackingParams(),"receiver"===n){const e=$.local.getItem("optiMonkCrossPlatformParamsCookie");if(e)try{const t=JSON.parse(e);t.optiMonkClientId&&t.providerServiceId&&t.provider&&(OptiMonkRegistry.crossDomainParams={optiMonkClientId:t.optiMonkClientId,providerServiceId:t.providerServiceId,provider:t.provider})}catch(e){console.error("Error parsing cross-domain cookie:",e)}}}})(),await Promise.all([Io(),Zr()]),null!=c&&c.experimentalSettings&&(e=>{try{const t=null==e?void 0:e.GlobalScripts;if(!t||!t.scripts)return void console.log("[OM GlobalScripts Early] No scripts configured");const n=t.scripts;if(!Array.isArray(n)||0===n.length)return void console.log("[OM GlobalScripts Early] Scripts array is empty");const i=Ga(window.location.hostname);console.log("[OM GlobalScripts Early] Looking for scripts for domain:",i),console.log("[OM GlobalScripts Early] Available scripts:",n.length);const o=n.find((e=>{if(!e.enabled)return console.log("[OM GlobalScripts Early] Skipping disabled script for:",e.domainName),!1;if(!e.jsCode)return console.log("[OM GlobalScripts Early] Skipping script with no code for:",e.domainName),!1;const t=Ga(e.domainName||"")===i;return t&&console.log("[OM GlobalScripts Early] Found matching script for domain:",i),t}));if(!o)return void console.log("[OM GlobalScripts Early] No matching script found for domain:",i);console.log("[OM GlobalScripts Early] Executing script for domain:",i);try{new Function("domainName",o.jsCode)(i),console.log("[OM GlobalScripts Early] ✅ Script executed successfully")}catch(e){console.error("[OM GlobalScripts Early] ❌ Script execution error:",e),console.error("[OM GlobalScripts Early] Script code:",o.jsCode)}}catch(e){console.error("[OM GlobalScripts Early] ❌ Initialization error:",e)}})(c.experimentalSettings);try{qa({limitData:l,campaignsData:p,cookieManager:s})}catch(e){console.error({message:"Error loading popups",e:e})}const k=$.local.getItem("optiMonkExperiments");if((!k||"[]"==k)&&222976==(null==(n=OptiMonkRegistry)?void 0:n.account)){var M,E;const e=$.local.getItem("optiMonkClient")||"{}";Ue("om_experiment",{clientId:null==(M=OptiMonkRegistry)?void 0:M.clientId,experiments:JSON.stringify(null==(E=OptiMonkRegistry)?void 0:E.experiments),experimentCookie:k,omCookie:z.decompressFromBase64(e)})}if(c.spaDomain&&(import(OptiMonkRegistry.esmAssetPath+"/preload-spa-04a6dece.js").then((e=>{let{initSPA:t}=e;t()})),window.OptiMonk.isSPA=!0,!window.OMHistoryOverriddenForEmbedded)){const e=()=>{window.OMCreateAntiFlicker&&window.OMCreateAntiFlicker(),window.OptiMonkEmbedded.loadEmbedded()};window.history.onpushstateEmbedded=e,window.addEventListener("popstate",e),window.OMHistoryOverriddenForEmbedded=!0,OptiMonkEmbedded.mini=!1}ta.getInstance().setSmartPersonalizationParameter(c);let _=[...c.embeddedCampaigns,...c.dynamicContentCampaigns];if(en.isShareablePreview()){_=[];try{const{response:{success:e,campaign:t}}=await o.getEmbeddedPreview(en.getPreviewVariantId());if(e)return _.push(t),OptiMonkEmbedded.campaigns=F(_),s.resetPreviewCampaign(_.id),_}catch(e){console.error(e)}return[]}if(en.isPreview()){_=[];const{response:{success:e,campaign:t}}=await o.getPreview(en.getPreviewVariantId());return e?(_.push(t),OptiMonkEmbedded.campaigns=F(_),s.resetPreviewCampaign(_.id),_):[]}const A=document.querySelector("html");if(en.isPopupPreview())return P(A,"optimonk#campaigns-before-load",{type:"script"}),[];if(!l.remaining)return P(A,"optimonk#campaigns-before-load",{type:"script"}),[];if(null==(i=_)||!i.length)return P(A,"optimonk#campaigns-before-load",{type:"script"}),[];const{Validators:R}=await import(OptiMonkRegistry.esmAssetPath+"/index-a9f9070c.js").then((function(e){return e.i}));if(_=await R.beforeInit.validate(_,{cookieManager:s}),!_.length)return void P(A,"optimonk#campaigns-before-load",{type:"script"});if(OptiMonkEmbedded.campaigns=F(_),s.addCampaigns(_),_.forEach((e=>{Gr.addCampaign(e)})),Jr("Has JF rule",Gr.hasJFRule()),Gr.hasJFRule())try{await Tr(Gr.collectData,300)}catch(e){Jr("Cannot load JF data",e.message)}if(Jr("Campaigns before experience validation",_),_=await(async e=>{const t=e.map((e=>e.id)),n=[...new Set(t)],i=F(e),o=[];for(const t of n){var r;const s=i[t];if(null!=s&&null!=(r=s.experiences)&&r.length){var a;const{ExperienceManager:t}=await import(OptiMonkRegistry.esmAssetPath+"/ExperienceManager-d3a5c88e.js"),i=await t.findValidExperience(s,n);null==i||null==(a=i.variants)||a.forEach((t=>{const n=e.find((e=>e.variantId===t));n&&o.push(n)}))}else{const n=e.filter((e=>e.id===t));o.push(...n)}}return o})(_),Jr("Campaigns after experience validation",_),!_.length)return OptiMonkEmbedded.campaigns=[],P(A,"optimonk#campaigns-before-load",{type:"script"}),[];var T;return _=((e,t)=>e.filter((e=>t.isActiveVariant(e.id,e.variantId))))(_,new uo(_,{type:"embedded"})),T=_,Di.handle(window.location.pathname+window.location.search+window.location.hash,T),((e,t)=>{Fi.handle(window.location.pathname+window.location.search+window.location.hash,e,t.getAccountCookie())})(_,s),OptiMonkEmbedded.campaigns=F(_),P(A,"optimonk#embedded-campaigns-init",_),P(A,"optimonk#campaigns-before-load",{type:"script"}),_},ls=e=>{var t,n;null==(t=window.OptiMonkEmbedded)||null==(n=t.experimentalDebug)||null==n.log||n.log({action:"startInitEmbeddedCampaigns"});let i=!1;if(e.length)return(async()=>{const{EmbeddedCampaign:t}=await import(OptiMonkRegistry.esmAssetPath+"/EmbeddedCampaign-ca3a2b67.js"),{default:n}=await Promise.resolve().then((function(){return ei})),o=e.map((async e=>{const o=e.id;if(oi.runPageLoad(e),e.coupons&&n.add(e.coupons),!en.isPreview()){const{Validators:e}=await import(OptiMonkRegistry.esmAssetPath+"/index-a9f9070c.js").then((function(e){return e.i}));if(!await e.embedded.validate(o))return Promise.resolve(!1)}return i||(OptiMonkEmbedded.AssetManager.loadAsset(OptiMonkRegistry.getAssetUrlFor("/assets/css/om.base.css"),"css",(()=>{})),document.querySelector("html").addEventListener("click",is,!1),i=!0),OptiMonkEmbedded.RequestService.loadVariant(e.variantId,e.ts,en.isPreview()).then((async i=>{const r=navigator.language||navigator.userLanguage;if(!en.isPreview()){const{Validators:e}=await import(OptiMonkRegistry.esmAssetPath+"/index-a9f9070c.js").then((function(e){return e.i}));if(!await e.embedded.postValidate(o,i))return Promise.resolve(!1)}const a=await rs(e,i);n.clearSettingsData(o),oi.runShow(e);const s=a.map((async i=>{var o,a;const s=new t({campaignData:e,requestService:OptiMonkEmbedded.RequestService,assetManager:OptiMonkEmbedded.AssetManager,cookieManager:OptiMonkEmbedded.CookieManager,couponManager:n,locale:r,instanceNum:i.getInstanceNumber(),embeddedCampaignDom:i});return OptiMonkEmbedded.CampaignRegistry.add(s),s.init(),null==(o=window.OptiMonkEmbedded)||null==(a=o.experimentalDebug)||null==a.log||a.log({action:"initEmbeddedCampaign",data:{campaignId:s.getId(),variantId:s.getVariantId()}}),OptiMonkEmbedded.CookieManager.addImpression(s.getId()),rn.getInstance().reportCampaignShow(s),Promise.resolve(s)}));return Promise.all(s)}))}));return Promise.all(o).catch(console.error)})()},ds=async e=>{var t,n;const i=[],o=[],r=[];e.forEach((e=>{e.isControlVariant?r.push(e):"dynamic_content"===e.type?i.push(e):"embedded"===e.type&&o.push(e)})),OptiMonkRegistry.isDebug&&Jr("Campaigns to load",{dynamicContentCampaigns:i,embeddedCampaigns:o,controlVariantCampaigns:r}),null==(t=window.OptiMonkEmbedded)||null==(n=t.experimentalDebug)||null==n.log||n.log({action:"initCampaigns",data:{emeddedVariantIds:o.map((e=>e.variantId)).join(", "),controlVariantIds:r.map((e=>e.variantId)).join(", "),embeddedCount:o.length,controlVariantCount:r.length}}),(async e=>{Qr(e),ta.getInstance().setup(e);const t=e.map((async e=>{const{Validators:t}=await import(OptiMonkRegistry.esmAssetPath+"/index-a9f9070c.js").then((function(e){return e.i}));if(!await t.embedded.validate(e.id))return;await ta.getInstance().setDTRs(e);const n=new Fo(e),i=await n.applyChanges();(await Promise.all(i.map((async e=>e)))).find(Boolean)&&(OptiMonkEmbedded.CookieManager.addImpression(n.getId()),rn.getInstance().reportCampaignShow(n))}));await Promise.all(t),window.OMCustomAntiFlicker&&window.OMCustomAntiFlicker.show()})(i),ls(o),(async e=>{var t,n;null==(t=window.OptiMonkEmbedded)||null==(n=t.experimentalDebug)||null==n.log||n.log({action:"startInitControlVariantCampaigns"});const i=e.map((async e=>{var t,n;const{Validators:i}=await import(OptiMonkRegistry.esmAssetPath+"/index-a9f9070c.js").then((function(e){return e.i}));var o,r;if(!await i.embedded.validate(e.id))return void(null==(o=window.OptiMonkEmbedded)||null==(r=o.experimentalDebug)||null==r.log||r.log({action:"skipInitControlVariantCampaign",data:{campaignId:e.id,variantId:e.variantId}}));null==(t=window.OptiMonkEmbedded)||null==(n=t.experimentalDebug)||null==n.log||n.log({action:"initControlVariantCampaign",data:{campaignId:e.id,variantId:e.variantId}});const a=new jo(e);OptiMonkEmbedded.CookieManager.addImpression(a.getId()),rn.getInstance().reportCampaignShow(a)}));await Promise.all(i)})(r)};class us{constructor(){this.campaigns={}}add(e){this.campaigns[e.getId()+"-"+e.getInstanceNum()]=e}get(e,t){return this.campaigns[e+"-"+t]||null}getList(){return this.campaigns}}class ps{constructor(e){let{accountId:t,baseUrl:n,embeddedContentUrl:i,cdnUrl:o,aiCdnUrl:r,aiPPOCdnUrl:a,aiPPOCdnUrlV2025:s,accountDataUrl:c,limitUrl:l}=e;this.accountId=t,this.baseUrl=n,this.embeddedContentUrl=i,this.cdnUrl=o,this.aiCdnUrl=r,this.aiPPOCdnUrl=a,this.aiPPOCdnUrlV2025=s,this.accountDataUrl=c,this.limitUrl=l}_getCacheVersion(e){var t,n;return null==(t=window.OptiMonkRegistry)||null==(n=t.cacheVersions)?void 0:n[e]}_getAiCacheVersion(e,t,n){var i,o,r;const a=null==(i=window.OptiMonkRegistry)||null==(o=i.cacheVersions)||null==(r=o.ai)?void 0:r[e];if(a){if("recommendations"===t&&n&&a.recommendationsById){const e=a.recommendationsById[n];if(e)return e}return a[t]}}_appendVersionParam(e,t){if(!t)return e;const n=e.includes("?")?"&":"?";return""+e+n+"v="+t}baseUrlPath(){return this.baseUrl+"/public/"+this.accountId}baseVariantPath(e){return this.baseUrlPath()+"/creative/"+e}getNotExistsEmailValidatorUrl(){return this.baseUrlPath()+"/validate/email/notexist"}getSpamEmailValidatorUrl(){return this.baseUrlPath()+"/validate/email/spam"}getBackendRequestUrl(){return this.baseUrlPath()+"/embedded/after-pre-init"}getScraperInfoForSPPORequestUrl(e){return this.baseUrlPath()+"/embedded/scraper-info-for-sppo?url="+encodeURIComponent(e)}_getConversionUrl(e){return this.baseVariantPath(e)+"/conversionExtended"}_getFeedbackUrl(e){return this.baseVariantPath(e)+"/feedback"}_getSendSavedSubscriberUrl(e){return this.baseVariantPath(e)+"/send-saved-subscriber"}_getAccountInfoUrl(){const e=this.cdnUrl+"/"+this.accountId+"/accountInfo.json";return this._appendVersionParam(e,this._getCacheVersion("accountInfo"))}_getCampaignsJSONUrl(){const e=this.accountDataUrl+"/"+this.accountId+"/campaigns.json";return this._appendVersionParam(e,this._getCacheVersion("campaigns"))}_getLimitUrl(){return this.limitUrl+"/"+this.accountId+"/limit.json"}_getPNCConfigUrl(){return this.baseUrl+"/config/pnc"}_getPreviewUrl(e){const t=this._getPreviewSessionHash(),n=t?"?previewSession="+t:"";return this.baseUrl+"/preview-v3/"+this.accountId+"/"+e+n}_getPreviewSessionHash(){return"undefined"!=typeof window&&window.sessionStorage?window.sessionStorage.getItem("om-preview-session"):null}_getPageSmartTagsUrl(e){const{providerServiceId:t}=Rt(),n=this.aiPPOCdnUrl+"/"+this.accountId+"/"+t+"/"+e+".json";return this._appendVersionParam(n,this._getAiCacheVersion(t,"llm"))}_getProductSmartTagsUrl(e){var t,n;if(null!=(t=OptiMonkRegistry.features)&&t.SPPO_RESEARCH_CDN)return this.aiCdnUrl+"/"+this.accountId+"/"+e+".json";const{providerServiceId:i,provider:o}=Rt();let r;r=null!=(n=OptiMonkRegistry.features)&&n.AI_STAGE3?this.aiPPOCdnUrlV2025+"/llm-result/"+this.accountId+"/"+i+"/"+e+".json":this.aiPPOCdnUrl+"/"+this.accountId+"/"+i+"/"+e+".json",o&&(r+="?platform="+encodeURIComponent(o));const a=this._getAiCacheVersion(i,"llm");return a&&(r+=(r.includes("?")?"&":"?")+"v="+a),r}_getSmartPersonalizerJsonUrl(e,t){return this.cdnUrl+"/"+this.accountId+"/"+t+"/sp/"+e+".json"}_getVariantsTypeByCampaign(){return this.baseUrlPath()+"/variants-by-type"}_getLoadVariantUrl(e,t,n){const i=t?"&v="+t:"",o=n?"&preview=1":"";return this.embeddedContentUrl+"/"+this.accountId+"/"+e+".html?domain="+window.location.hostname+i+o}_getVariantDataForPreviewUrl(e){const t=this._getPreviewSessionHash(),n=t?"&previewSession="+t:"";return this.baseUrl+"/preview-data/"+this.accountId+"/"+e+"?domain="+window.location.hostname+"&v="+(new Date).getTime()+n}_getEmbeddedPreviewDataUrl(e){return this.baseUrl+"/preview-embedded-data/"+this.accountId+"/"+e+"?domain="+window.location.hostname+"&v="+(new Date).getTime()}_getProductDetailsUrl(){return this.baseUrl+"/product/details"}_getReportActivityUrl(e){return this.baseVariantPath(e)+"/report"}_shopifyAppStatusReportUrl(){return this.baseUrl+"/shopify/appStatus"}_getUniqueCouponUrl(e){return void 0===e&&(e=""),this.baseUrl+"/public/"+this.accountId+"/coupon/"+e}getUniqueCouponCode(e){const t=this._getUniqueCouponUrl(),n="coupon="+encodeURIComponent(JSON.stringify(e));return new Promise((e=>{Mt.post(n,t,(t=>{e(JSON.parse(t))}))}))}lockCoupon(e){const t=this._getUniqueCouponUrl("lock"),n="coupon="+encodeURIComponent(JSON.stringify(e));return new Promise((e=>{Mt.post(n,t,(t=>{e(JSON.parse(t))}))}))}unlockCoupon(e){const t=this._getUniqueCouponUrl("unlock"),n="coupon="+encodeURIComponent(JSON.stringify(e));return new Promise((e=>{Mt.post(n,t,(t=>{e(JSON.parse(t))}))}))}sendSavedSubscriber(e,t){navigator.sendBeacon(this._getSendSavedSubscriberUrl(e),new URLSearchParams(oe(t)))}sendAppEmbedStatus(e){return new Promise((t=>{const n="shop="+encodeURIComponent(e)+"&databaseId="+this.accountId;Mt.post(n,this._shopifyAppStatusReportUrl(),(e=>{t(e)}))}))}sendPostRequest(e,t){return t=oe(t),new Promise((n=>{Mt.post(t,e,(e=>{n(e)}))}))}postJSON(e,t){return new Promise((n=>{Mt.postJSON(JSON.stringify(t),e,(e=>{n(e)}))}))}loadAccountInfo(){return new Promise(((e,t)=>{Mt.get(this._getAccountInfoUrl(),((n,i)=>{try{const t=JSON.parse(n);e({response:t,headers:i})}catch(e){t(e)}}))}))}loadCampaignsJson(){return new Promise(((e,t)=>{Mt.get(this._getCampaignsJSONUrl(),((n,i)=>{try{const t=JSON.parse(n);e({response:t,headers:i})}catch(e){t(e)}}))}))}loadPNCConfig(){return new Promise(((e,t)=>{Mt.get(this._getPNCConfigUrl(),(n=>{try{e(JSON.parse(n))}catch(e){t(e)}}))}))}getPreview(e){return new Promise(((t,n)=>{Mt.get(this._getPreviewUrl(e),(e=>{try{const n=JSON.parse(e);t({response:n})}catch(e){n(e)}}))}))}getEmbeddedPreview(e){return new Promise(((t,n)=>{Mt.get(this._getEmbeddedPreviewDataUrl(e),(e=>{try{const n=JSON.parse(e);n&&n.length>0?t({response:{success:!0,campaign:n[0]}}):t({response:{success:!1}})}catch(e){n(e)}}))}))}getLimitData(){return new Promise(((e,t)=>{Mt.get(this._getLimitUrl(),(n=>{try{e(JSON.parse(n))}catch(e){t(e)}}))}))}loadPageSmartTags(e){return new Promise((t=>{Mt.get(this._getPageSmartTagsUrl(e),(e=>{try{t(JSON.parse(e))}catch(e){t([])}}))}))}loadProductSmartTags(e){return new Promise((t=>{Mt.get(this._getProductSmartTagsUrl(e),(e=>{try{t(JSON.parse(e))}catch(e){t([])}}))}))}loadOptimonkRecommenderProducts(e){return new Promise((t=>{var n;const i=null==e||null==(n=e.campaign)?void 0:n.campaignId,o=window["om_reco_prefix_"+i],r=o?o+"/":"",a=vn()||fn(),{providerServiceId:s}=Rt();let c=this.aiPPOCdnUrl+"/"+this.accountId+"/"+s+"/recommender/"+r+a+".json";const l=this._getAiCacheVersion(s,"recommendations",o);c=this._appendVersionParam(c,l),Mt.get(c,(e=>{try{t(JSON.parse(e))}catch(e){t([])}}))}))}loadAiRecommenderProducts(e,t){return new Promise((e=>{const n=vn()||fn(),{providerServiceId:i,provider:o}=Rt();let r=this.aiPPOCdnUrlV2025+"/ai-recommendations/"+this.accountId+"/"+i+"/"+n+".json?id="+t;o&&(r+="&platform="+encodeURIComponent(o));const a=this._getAiCacheVersion(i,"recommendations",t);r=this._appendVersionParam(r,a),Mt.get(r,(t=>{try{e(JSON.parse(t))}catch(t){e({recommendations:[]})}}))}))}loadSmartPersonalizerJson(e,t){return new Promise((n=>{Mt.get(this._getSmartPersonalizerJsonUrl(e,t),(e=>{try{n(JSON.parse(e))}catch(e){n({})}}))}))}loadVariant(e,t,n){return new Promise((i=>{Mt.get(this._getLoadVariantUrl(e,t,n),(e=>{i(e)}))}))}getVariantDataForPreview(e){return new Promise((t=>{Mt.get(this._getVariantDataForPreviewUrl(e),(e=>{t(JSON.parse(e))}))}))}getVariantsTypeByCampaign(){return new Promise((e=>{Mt.get(this._getVariantsTypeByCampaign(),(t=>{e(t)}))}))}sendConversion(e,t){return this.sendPostRequest(this._getConversionUrl(e),t)}getProductData(e){return this.postJSON(this._getProductDetailsUrl(),e)}getSiteStatus(){return new Promise((e=>{Mt.get(this.baseUrl+"/analytics/siteinfo/"+this.accountId,(t=>{e(JSON.parse(t))}))}))}reportActivity(e,t,n,i,o,r){return new Promise((a=>{var s,c,l;const d=this._getReportActivityUrl(t),u=new URL(d),m=(new Date).getTime()/1e3;u.searchParams.set("action",n),u.searchParams.set("campaign_id",e),u.searchParams.set("time",m.toString()),u.searchParams.set("uuid",p()),u.searchParams.set("puid",g(t)),o&&u.searchParams.set("experimentGroupId",o),r&&u.searchParams.set("isControlVariant",Number(!!r)),i&&u.searchParams.set("ctx",i);const h=null==(s=OptiMonkRegistry)||null==(c=s.smartAbTests)||null==(l=c[e])?void 0:l.cookie;h&&u.searchParams.set("smartAbTest",h),Mt.get(u.toString(),(e=>{a(e)}))}))}async sendFeedback(e,t){if(e.length)return new Promise((n=>{Mt.post("feedback="+encodeURIComponent(JSON.stringify(e)),this._getFeedbackUrl(t),(e=>{n(e)}))}))}getLogRocketProject(){return this.sendGetRequest(this.baseUrl+"/lrkt/project")}sendGetRequest(e){return new Promise((t=>{Mt.get(e,(e=>{t(e)}))}))}_getShopifyCouponRedeemUrl(e){return"//"+window.location.hostname+"/discount/"+e}_getShopifyGenerateCouponUrl(){return this.baseUrl+"/generateShopifyCoupon"}autoRedeem(e){const t=this._getShopifyCouponRedeemUrl(e);return this.sendGetRequest(t)}async generateShopifyCoupon(e){const t=this._getShopifyGenerateCouponUrl(),n=await this.postJSON(t,e);return JSON.parse(n)}}class gs{constructor(){this._assets={}}loadAsset(e,t,n){const i=t=>{let n;for(;n=this._assets[e].cbs.shift();)n&&n(t)};if(this._assets[e])return this._assets[e].loaded?void n():void this._assets[e].cbs.push(n);this._assets[e]={loaded:!1,cbs:[]},this._assets[e].cbs.push(n);try{let n=null,o=null;if("js"===t?(n=document.createElement("script"),n.src=e,o=document.body):"css"===t&&(n=document.createElement("link"),n.href=e,n.rel="stylesheet",n.type="text/css",o=document.getElementsByTagName("head")[0]),n&&o){let r;"js"===t&&"function"==typeof window.define&&window.define.amd&&(r=window.define,window.define=void 0),n.onload=()=>{r&&(window.define=r),this._assets[e].loaded=!0,i()},n.onerror=e=>{r&&(window.define=r),i(e)},o.appendChild(n)}}catch(e){i(e)}}loadScript(e,t){"/"!==e.charAt(0)&&(e="/"+e),this.loadAsset(OptiMonkRegistry.getAssetUrlFor(e),"js",t)}loadCss(e,t){"/"!==e.charAt(0)&&(e="/"+e),this.loadAsset(OptiMonkRegistry.getAssetUrlFor(e),"css",t)}}const ms=()=>window.JFClientSDK||null,hs=(e,t)=>{e?console.warn("[CUSTOM-EVENT-ERROR] "+t+" (event: "+e+")"):console.warn("[CUSTOM-EVENT-ERROR] "+t)},fs=()=>window.omEvents||null,vs=e=>e.match(/^[a-zA-Z0-9_]*$/)?!(e.length>64)||(hs(e,"Invalid length of event!"),!1):(hs(e,"Invalid event name format!"),!1),ws=(e,t)=>{if("object"!=typeof t)return hs(e,"Invalid property object!"),!1;if(!t||0===Object.keys(t).length)return!0;return Object.entries(t).map((t=>{let[n,i]=t,o=0;return n.match(/^[a-zA-Z0-9_]*$/)||(hs(e,"Invalid property format! [property: "+n+"]"),o++),n.length>128&&(hs(e,"Invalid length of property! [property: "+n+"]"),o++),(null==i?void 0:i.length)>256&&(hs(e,"Invalid value length of property! [property: "+n+"]"),o++),0===o})).every((e=>!!e))},ys=function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);const i=ms();return!!((e,t)=>e&&"string"==typeof e?[vs(e),ws(e,t)].every((e=>!!e)):(hs(null,"Invalid input format!"),!1))(e,t)&&(i.v2.registerCustomEvent("custom:"+e,t||{}),n&&i.v2.go(),!0)},Is=function e(t){void 0===t&&(t=1);const n=()=>fs()&&Array.isArray(fs())&&(()=>{const e=ms();return e&&e.v2&&"function"==typeof e.v2.go&&"function"==typeof e.v2.registerCustomEvent})();if(!n())return void(t<=30&&setTimeout((()=>{e(t+1)}),100*t));let i;const o=setInterval((()=>{try{if(!n())return clearInterval(o),void e(1);for(fs().length&&(i=(e=>{const t=ms();return e&&clearTimeout(e),setTimeout((()=>{t.v2.go()}),200)})(i));fs().length;){const[e,t,n]=fs().shift();ys(e,t,n),n&&!fs().length&&clearTimeout(i)}}catch(e){hs(null,"Something went wrong! - "+e.message),clearInterval(o)}}),100)},Cs=window.OptiMonkRegistry.aiPPOCdnUrl;function bs(e,t){const n=Cs.endsWith("/")||e.startsWith("/")?"":"/",i=Cs+n+e;return t?i+"?v="+t:i}async function Ss(e){try{const t=function(){try{var e,t,n,i;const o=null==(e=window.OptiMonkEmbedded)||null==(t=e.Visitor)||null==(n=t.createAdapter())||null==(i=n.attr())?void 0:i.aiGeneratedImages;return o?JSON.parse(o):null}catch(e){return console.warn("[AI Images] Error parsing aiGeneratedImages:",e),null}}();if(!t)return;const n=e.querySelectorAll("img[data-ai-tag]"),i=e.querySelectorAll("[data-ai-tag]:not(img)");if(0===n.length&&0===i.length)return;const o=function(){try{var e,t,n,i;const{providerServiceId:o}=Rt();return null==(e=window.OptiMonkRegistry)||null==(t=e.cacheVersions)||null==(n=t.ai)||null==(i=n[o])?void 0:i.llm}catch(e){return}}();await Promise.all([...Array.from(n).map((async e=>{const n=e.getAttribute("data-ai-tag");if(n)try{const i=t[n];if(!i)return;const r=bs(i,o);if(r){e.src=r;const t=e.closest("picture");if(t){t.querySelectorAll("source").forEach((e=>{e.srcset=r}))}}}catch(e){console.warn("[AI Images] Failed to replace image for tag "+n+":",e)}})),...Array.from(i).map((async e=>{const n=e.getAttribute("data-ai-tag");if(n)try{const i=t[n];if(!i)return;const r=bs(i,o),a=e.style.backgroundImage,s=a&&"none"!==a;e.style.backgroundImage="url('"+r+"')",s||(e.style.backgroundSize="cover",e.style.backgroundPosition="center")}catch(e){console.warn("[AI Images] Failed to replace background image for tag "+n+":",e)}}))])}catch(e){console.warn("[AI Images] Error replacing AI generated images:",e)}}if("object"!=typeof window.OptiMonkEmbedded.CampaignRegistry){o.EmbeddedCampaign||re(o,{prepare:cs,start:function(e){_a.isWebSelectorEnabled()||($.session.getItem("optiMonkSession")||$.session.setItem("optiMonkSession",I()),D("body",(()=>{na.init(),ds(e)})))},CampaignRegistry:us,RequestService:ps,AssetManager:gs,ViewedPageStorageHandler:Di,NotViewedPageRecentStorageHandler:Fi,Engine:kt,native:le,Visitor:fo,Replacer:Co,initWebfontLoader:r}),void 0===window.OptiMonkEmbedded&&(window.OptiMonkEmbedded=o),window.OptiMonkEmbedded=i({},window.OptiMonkEmbedded,{CampaignRegistry:new o.CampaignRegistry,RequestService:new o.RequestService({accountId:OptiMonkRegistry.account,baseUrl:OptiMonkRegistry.baseUrl,embeddedContentUrl:OptiMonkRegistry.embeddedContentUrl,cdnUrl:OptiMonkRegistry.cdnUrl,aiCdnUrl:OptiMonkRegistry.aiCdnUrl,aiPPOCdnUrl:OptiMonkRegistry.aiPPOCdnUrl,aiPPOCdnUrlV2025:OptiMonkRegistry.aiPPOCdnUrlV2025,accountDataUrl:OptiMonkRegistry.accountDataUrl,limitUrl:OptiMonkRegistry.limitUrl}),PreviewService:en,AssetManager:new o.AssetManager,replaceAIGeneratedImages:Ss,setProductSmartTags:Io,setPageSmartTags:Zr,loadEmbedded:()=>o.prepare().then((e=>(e&&o.start(e),Promise.resolve()))).catch((e=>(console.error(e),Promise.resolve()))),async loadPopups(){const{init:e}=await import(OptiMonkRegistry.esmAssetPath+"/popup-0d05fece.js").then((function(e){return e.p}));e()}});const e=async()=>{if(window.Shopify&&null!==document.querySelector('script[src*="/script.js?account='+OptiMonkRegistry.account+'&origin=shopify-app-embed-block"]'))return C().sendAppEmbedStatus(window.Shopify.shop)},t=()=>new Promise((e=>{const{trackJsApiKey:t,account:n}=window.OptiMonkRegistry;if(!OptiMonkRegistry.features.TRACK_JS||!t)return e(1);const i=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.src="https://cdn.trackjs.com/agent/v3/latest/t.js",i.appendChild(o);let r=0;const a=()=>r>=10?e(1):window.TrackJS?(window.TrackJS.install({token:t}),window.TrackJS.addMetadata("account",n),e(1)):(r++,void setTimeout(a,50));a()}));window.OptiMonkRegistry.Cookie=l()[d()],_a.isWebSelectorEnabled()&&_a.init(),en.setup();try{e()}catch(e){console.error("[OM] App embed status report error",e.message)}try{_t.checkSiteStatus()}catch(e){console.error("[OM] Site status check error",e.message)}("object"==typeof localStorage&&sessionStorage.getItem("om-diag")||window.location.search.match(/om-.*[a-z]-diag-id\=.*[1-9]/))&&(window.OptiMonk=window.OptiMonk||{},window.OptiMonk.diagnosticTool=new Ua),window.OptiMonkEmbedded.loadEmbedded().then((()=>{Is(),t()}))}export{Ao as $,Ze as A,Ss as B,$ as C,Lo as D,Vr as E,Ne as F,L as G,ae as H,ko as I,Fe as J,Fn as K,Ji as L,pa as M,Co as N,X as O,en as P,go as Q,et as R,Yt as S,Ge as T,We as U,fo as V,nt as W,it as X,xt as Y,Dt as Z,i as _,kt as a,gn as a$,Ro as a0,_o as a1,Mo as a2,Po as a3,Oo as a4,Ce as a5,Di as a6,Fi as a7,h as a8,uo as a9,so as aA,Ai as aB,Jr as aC,$r as aD,Hr as aE,ea as aF,aa as aG,dr as aH,ur as aI,pr as aJ,Qo as aK,e as aL,n as aM,t as aN,_i as aO,ja as aP,qn as aQ,o as aR,Un as aS,M as aT,dn as aU,ts as aV,b as aW,Ki as aX,E as aY,T as aZ,ps as a_,To as aa,xo as ab,Vn as ac,Dn as ad,$i as ae,p as af,g as ag,Nt as ah,ho as ai,_a as aj,Oe as ak,Yr as al,pi as am,On as an,Xe as ao,Pr as ap,r as aq,tt as ar,we as as,ma as at,Me as au,O as av,Do as aw,qo as ax,be as ay,l as az,_t as b,_e as b0,c as b1,Ra as b2,Aa as b3,s as b4,oo as b5,Va as b6,I as b7,y as b8,Ti as b9,Ri as ba,Rt as bb,Sa as bc,Kr as bd,va as be,wo as bf,S as bg,Zn as bh,Gr as bi,Eo as bj,Vo as bk,zi as bl,lr as bm,co as bn,Mt as c,z as d,At as e,No as f,q as g,De as h,U as i,He as j,Je as k,Be as l,re as m,le as n,je as o,Uo as p,bo as q,Ue as r,Zi as s,V as t,ce as u,cn as v,sn as w,ie as x,P as y,d as z};