(()=>{var wo=Object.defineProperty;var go=Object.getOwnPropertySymbols;var Vo=Object.prototype.hasOwnProperty,vo=Object.prototype.propertyIsEnumerable;var yo=(t,o,n)=>o in t?wo(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,ro=(t,o)=>{for(var n in o||(o={}))Vo.call(o,n)&&yo(t,n,o[n]);if(go)for(var n of go(o))vo.call(o,n)&&yo(t,n,o[n]);return t};var F=(t,o,n)=>new Promise((i,s)=>{var a=r=>{try{l(n.next(r))}catch(c){s(c)}},e=r=>{try{l(n.throw(r))}catch(c){s(c)}},l=r=>r.done?i(r.value):Promise.resolve(r.value).then(a,e);l((n=n.apply(t,o)).next())});var mo="WebPixel::Render";var io=t=>shopify.extend(mo,t);var Jo=(t,o,n,i)=>{if(n&&console.log(`RAD Shopify app - ${i} event. [START] parseCookies(). cookiesName: ${t} cookiesStr: ${o}`),!o)return n&&console.log(`RAD Shopify app - ${i} event. [END] parseCookies(). cookiesName: ${t} cookiesStr: {}`),{};let s=o.split("|").reduce((a,e)=>{let[l,r]=decodeURIComponent(e).split(":");return a[l]=r,a},{});return n&&console.log(`RAD Shopify app - ${i} event. [END] parseWpRmCookies(). cookiesName: ${t} cookiesObj: ${JSON.stringify(s)}`),s},E=Jo;var so=(t,o,n,i)=>{if(n&&console.log(`RAD Shopify app - ${i} event. [START] getCookieValueByKey(). key: ${t} wpRmCookieObj: ${JSON.stringify(o)}`),t){let s=o[t]||"";return n&&console.log(`RAD Shopify app - ${i} event. [END] getCookieValueByKey(). key: ${t} value: '${s||"not found"}'`),s}return n&&console.log(`RAD Shopify app - ${i} event. [END] getCookieValueByKey(). key: ${t} value: 'not found'`),""};var Oo=(t,o,n,i,s)=>{i&&console.log(`RAD Shopify app - ${s} event. [START] buildAffiliateConfig(). ranMid: ${t} taxRate: ${n} rmCookiesObj: ${JSON.stringify(o)}`);let a={};return a.affiliateConfig={ranMID:t},a.searchConfig={},a.displayConfig={},a.discountType="item",a.removeTaxFromDiscount="true",a.tr=so("atrv",o,i,s),a.land=so("ald",o,i,s),a.taxRate=n,i&&console.log(`RAD Shopify app - ${s} event. [END] buildAffiliateConfig(). affiliateConfig: ${JSON.stringify(a)}`),a},$o=Oo;var Ro={AT:20,BG:20,EE:20,FR:20,GB:20,UK:20,SK:20,HU:27,DK:25,HR:25,SE:25,IE:23,PL:23,PT:23,IT:22,SI:22,FI:24,EL:24,BE:21,CZ:21,LV:21,LT:21,NL:21,ES:21,DE:19,CY:19,RO:19,MT:18,LU:17,NZ:15,SA:15,AU:10,JP:10,SG:7,US:0},ho={SG:[["2023-01-01T00:00:00+0800",8],["2024-01-01T00:00:00+0800",9]]};var Fo=(t,o,n,i,s)=>{o&&console.log(`RAD Shopify app - ${n} event. [START] getCountryTaxPercent(). shippingCountry: ${t} optionalTaxMap: ${i||"empty"} optionalOverrides: ${s||"empty"}`);let a=i||Ro,e=s||ho,l=a[t];return l=e!=null&&e[t]?Uo(l,e[t],o,n):l,o&&console.log(`RAD Shopify app - ${n} event. [END] getCountryTaxPercent(). tax: ${l!=null?l:0}`),l!=null?l:0},Uo=(t,o,n,i)=>{n&&console.log(`RAD Shopify app - ${i} event. [START] getTaxOverride(). baseTaxPercent: ${t} taxOverrides: ${o}`);let s=new Date().getTime(),a=o.find(([l])=>s>=new Date(l).getTime()),e=a?a[1]:t;return n&&console.log(`RAD Shopify app - ${i} event. [END] getTaxOverride(). taxOverrideValue: ${e}`),e},Co=Fo;var Mo=(t,o,n,i,s,a)=>{s&&console.log(`RAD Shopify app - ${a} event. [START] buildDLSB(). checkout: ${JSON.stringify(t)} init: ${JSON.stringify(o)} affiliateConfig: ${JSON.stringify(n)} taxRate: ${i}`);let e={},l=o&&o.data&&o.data.customer||{},r=t&&t.discountApplications||[],c=r&&r[0]?r.filter(p=>p.type==="DISCOUNT_CODE").map(p=>p.title).join(","):"",f=t&&t.totalTax&&t.totalTax.amount||0,R=!1;e.orderid=t&&t.order&&t.order.id||"",e.config=n,e.currency=t&&t.currencyCode||"",e.customerID=l&&l.id?l.id:t&&t.order&&t.order.customer&&t.order.customer.id?t.order.customer.id:"",e.customerStatus=l&&l.ordersCount!=null&&l.ordersCount>0?l.ordersCount>1?"Existing":"New":"Unavailable",e.discountCode=c,e.taxAmount=f,e.conversionType="Sale",e.optionalData={sitename:o&&o.context&&o.context.document&&o.context.document.location&&o.context.document.location.hostname||"",shipcountry:t&&t.shippingAddress&&t.shippingAddress.countryCode||"",altord:t&&t.token||""};let P=t&&t.lineItems||[],S=0;return e.lineitems=[],P.forEach(p=>{let d=Number(p&&p.variant&&p.variant.price&&p.variant.price.amount)||0,m=p&&p.quantity||1,b=d*m,x=p&&p.discountAllocations||[],$=0;for(let T of x){let{amount:{amount:D=0,currencyCode:w=""}={},discountApplication:{targetSelection:h=""}={}}=T||{};if(w!==e.currency){R=!0;break}typeof D=="number"&&(h==="ENTITLED"||h==="EXPLICIT"?$+=D:h==="ALL"&&(S+=D))}let C=d&&!R?(b-$)/m:d,A=i>0?C/((i+100)/100):C,M={quantity:m,unitPrice:C,unitPriceLessTax:A,SKU:p&&p.variant&&p.variant.sku||"",productName:p&&p.variant&&p.variant.product&&p.variant.product.untranslatedTitle||"",optionalData:{cat:p.variant&&p.variant.product&&p.variant.product.type||"",brand:p&&p.variant&&p.variant.product&&p.variant.product.vendor||""}};e.lineitems.push(M)}),e.discountAmount=S,s&&console.log(`RAD Shopify app - ${a} event. [END] buildDLSB(). dlsb: ${JSON.stringify(e)}`),e},So=Mo;var Ko=(t,o,n)=>{o&&console.log(`RAD Shopify app - ${n} event. [START] generateOrderId(). merchantID: ${t}`);let i=new Date,s=i.getUTCFullYear()+("0"+(i.getUTCMonth()+1)).slice(-2)+("0"+i.getUTCDate()).slice(-2)+("0"+i.getUTCHours()).slice(-2)+("0"+i.getUTCMinutes()).slice(-2),a="NoOID_"+(t?t+"_":"")+Math.round(Math.random()*1e5)+"_"+s;return o&&console.log(`RAD Shopify app - ${n} event. [END] generateOrderId(). orderId: ${a}`),a},xo=Ko;var Ho=(t,o,n,i,s)=>{i&&console.log(`RAD Shopify app - ${s} event. [START] currencyValueToString(). val: ${t} isNonCentCurrency: ${o} multiplyBy100: ${n}`),o&&(t=Math.round(t)),n?(t=t*100,t=Math.round(t)):t=Math.round(t*100)/100;let a=t+"";return i&&console.log(`RAD Shopify app - ${s} event. [END] currencyValueToString(). result: ${a}`),a},G=Ho;var Wo=(t,o,n,i,s,a,e)=>{a&&console.log(`RAD Shopify app - ${e} event. [START] getStringCookieValueByKeys(). wpRmCookieObj: ${JSON.stringify(t)} key: ${o} keyFromConfig: ${n} defaultVal: ${i} config: ${JSON.stringify(s)}`),i=i||"",s=s||{};let l=t[o||""],r=s[n||""];l=s.ignoreCookie||!1?"":l,a&&console.log(`RAD Shopify app - ${e} event. [INFO] getStringCookieValueByKeys(). wpRmStoreVal: '${l}'. configVal: '${r}'. defaultVal: '${i}'`);let f=l||(r?r.toString():i);return a&&console.log(`RAD Shopify app - ${e} event. [END] getStringCookieValueByKeys(). returnVal: ${JSON.stringify(f)}`),f},U=Wo;var qo=(t,o,n,i,s,a,e)=>{a&&console.log(`RAD Shopify app - ${e} event. [START] getBooleanCookieValueByKeys(). wpRmCookieObj: ${JSON.stringify(t)} key: ${o} keyFromConfig: ${n} defaultVal: ${i} config: ${JSON.stringify(s)}`),i=i||!1,s=s||{},a&&console.log(`RAD Shopify app - ${e} event. [INFO] getBooleanCookieValueByKeys(). wpRmCookieObj[key]: ${JSON.stringify(t[o||""])}`);let l=t[o||""]==="true";a&&console.log(`RAD Shopify app - ${e} event. [INFO] getBooleanCookieValueByKeys(). config[keyFromConfig as keyof IAffiliateConfig || '']: ${JSON.stringify(s[n||""])}`);let r=s[n||""]==="true";l=s.ignoreCookie||!1?!1:l;let f=l||r||i;return a&&console.log(`RAD Shopify app - ${e} event. [END] getBooleanCookieValueByKeys(). returnVal: ${f}`),f},N=qo;var Xo=(t,o,n,i,s,a,e)=>{a&&console.log(`RAD Shopify app - ${e} event. [START] getNumberCookieValueByKeys(). wpRmCookieObj: ${JSON.stringify(t)} key: ${o} keyFromConfig: ${n} defaultVal: ${i} config: ${JSON.stringify(s)}`),i=i||0,s=s||{};let l=Number(t[o||0]),r=Number(s[n||0]);l=s.ignoreCookie||!1?0:l;let f=l||r||i;return a&&console.log(`RAD Shopify app - ${e} event. [END] getNumberCookieValueByKeys(). returnVal: ${f}`),f},To=Xo;var zo=(t,o,n,i)=>{n&&console.log(`RAD Shopify app - ${i} event. [START] readWpRmCookie(). key: ${t} cookies: ${JSON.stringify(o)}`);let s=t+"=",a=o.toString().split(";");for(let e=0;eF(null,null,function*(){var uo;e&&console.log(`RAD Shopify app - ${r} event. [START] sRAN(). dlsb: ${JSON.stringify(o)} wpRmCookiesObj: ${JSON.stringify(n)} SPIVersion: ${i}`);let c=o.config||{},f=U(n,"amid","ranMID","",c.affiliateConfig,e,r)||o.config.affiliateConfig.ranMID;if(e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). merchantID: ${f}`),!f||f==="0")return!1;let R=typeof c.allowCommission=="undefined"?!0:c.allowCommission;if(e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). allowCommission: ${R}`),!R)return!1;if(!o.orderid&&!(o.lineitems&&o.lineitems.length))return e&&console.log("RAD Shopify app - ${eventName} event. [INFO] sRAN(). There is no order id and line items"),!1;let P=U(n,"adn","domain","track.linksynergy.com",c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). domain: ${P}`);let S=U(n,"atm","tagType","pixel",c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). trackingMethod: ${S}`);let p=U(n,"adr","discountType","order",c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). discountReporting: ${p}`);let d=N(n,"acs","includeStatus",!1,c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). includeCustomerStatus: ${d}`);let m=N(n,"arto","removeOrderTax",!1,c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). removeOrderLevelTax: ${m}`);let b=N(n,"artp","removeTaxFromProducts",!1,c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). removeTaxFromProducts: ${b}`);let x=N(n,"artd","removeTaxFromDiscount",!1,c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). removeTaxFromDiscount: ${x}`);let $=To(n,"atr","taxRate",c.taxRate||0,c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). taxRate: ${$}`);let C=U(n,"ald","land","",c,e,r)||(c.land&&c.land?ao("ranLandDateTime",a.cookie,e,r):c.land)||"";e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). land: ${C}`);let A=U(n,"atrv","tr","",c,e,r)||(c.tr&&c.tr?ao("ranSiteID",a.cookie,e,r):c.tr)||"";e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). tr: ${A}`);let M=N(n,"acv","centValues",!0,c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). useCentValues: ${M}`);let T=U(n,"ancc","nonCentCurrencies","JPY",c,e,r);e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). nonCentCurrencies: ${T}`),$=Math.abs(Number($)),e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). taxRate: ${$}`);let D=(100+$)/100;e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). taxPercent: ${D}`);let w=o.orderid||xo(f,e,r);w=encodeURIComponent(w),e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). order_id: ${w}`);let h=o.currency||"";h=encodeURIComponent(h.toUpperCase()),e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). currency: ${h}`);let K=M;e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). multiplyBy100: ${K}`);let v=!1;if(h&&T){T=(T+"").split(",");for(let u=0;ufo){let u=fo;for(;u>0;)if(g.charAt(u)==="&"){g=g.slice(0,u);break}else u--;g+="&trunc=true"}e&&console.log(`RAD Shopify app - ${r} event. [INFO] sRAN(). Host: ${JSON.stringify(g).split("?")[0]}, Query: ${JSON.stringify(g).split("?")[1]}`),l?e&&console.info(`RAD Shopify app - ${r} event. [INFO] sRAN(). Server pixel enabled. Will not send send request to Host: ${JSON.stringify(g).split("?")[0]} and Query: ${JSON.stringify(g).split("?")[1]}`):yield fetch(g,{mode:"no-cors"}).then(u=>{e&&console.info(`RAD Shopify app - ${r} event. [INFO] sRAN(). Response: ${JSON.stringify(u)}`)}).catch(u=>{e&&console.error(`[ERROR] sRAN(). Error: ${JSON.stringify(u)}`)})}),Ao=Qo;var jo=(t,o,n,i,s,a,e,l)=>{var R,P,S,p,d,m,b,x,$,C,A,M,T,D,w,h,K,v;l&&console.log(`RAD Shopify app - ${t} event. [START] buildProxyPayload(). event: ${JSON.stringify(o)} init: ${JSON.stringify(n)} settings: ${JSON.stringify(i)} cookiesObj: ${JSON.stringify(s)} rmCookieStr: ${a} wpRmCookieStr: ${e}`);let r={};r.eventData=o;let c={},f={};return c.countryCode=((S=(P=(R=o==null?void 0:o.data)==null?void 0:R.checkout)==null?void 0:P.shippingAddress)==null?void 0:S.countryCode)||"",f.countryCode=((m=(d=(p=o==null?void 0:o.data)==null?void 0:p.checkout)==null?void 0:d.billingAddress)==null?void 0:m.countryCode)||"",r.eventData.data.checkout.shippingAddress=c,r.eventData.data.checkout.billingAddress=f,r.hostName=(($=(x=(b=n==null?void 0:n.context)==null?void 0:b.document)==null?void 0:x.location)==null?void 0:$.hostname)||((M=(A=(C=o==null?void 0:o.context)==null?void 0:C.window)==null?void 0:A.location)==null?void 0:M.hostname)||"",r.initCustomerDataId=((D=(T=n==null?void 0:n.data)==null?void 0:T.customer)==null?void 0:D.id)||null,r.initCustomerOrdersCount=((h=(w=n==null?void 0:n.data)==null?void 0:w.customer)==null?void 0:h.ordersCount)||null,r.myshopifyDomain=((v=(K=n==null?void 0:n.data)==null?void 0:K.shop)==null?void 0:v.myshopifyDomain)||"",r.settings=i,r.cookies=s,r.rawRmCookie=a,r.rawWpRmCookie=e,l&&console.log(`RAD Shopify app - ${t} event. [END] buildProxyPayload(). checkoutPayload: ${JSON.stringify(r)}`),r},lo=jo;var Yo=(t,o,n)=>{n&&console.log(`RAD Shopify app - ${t} event. [START] postToProxy(). checkoutPayload: ${JSON.stringify(o)}`),fetch("https://rad-pixel-proxy.linksynergy.com/api/v1/checkout_completed",{method:"POST",headers:{"Content-Type":"application/json",Origin:`https://${o.hostName}`},body:JSON.stringify(o)}).then(i=>{if(!i.ok)throw new Error("Response was not ok");return i.json()}).then(i=>{n&&console.log(`RAD Shopify app - ${t} event. [INFO] postToProxy(). Request was sent successfully. Data: ${JSON.stringify(i)}`)}).catch(i=>{var s;n&&(console.error(`RAD Shopify app - ${t} event. [ERROR] postToProxy(). Error: ${i}`),po(t,{hostName:o.hostName,myshopifyDomain:o.myshopifyDomain,orderId:((s=o.eventData.data.checkout.order)==null?void 0:s.id)||"",settings:o.settings,error:i.message||"Something went wrong",rawPayload:(()=>{try{return JSON.stringify(o)}catch(a){return a instanceof Error?`Could not serialize payload: ${a.message}`:"Could not serialize payload: Unknown error occurred"}})()},n))})},po=(t,o,n)=>{n&&console.log(`RAD Shopify app - ${t} event. [START] postErrorToProxy(). errorCheckoutCompletedPayload: ${JSON.stringify(o)}`),fetch("https://rad-pixel-proxy.linksynergy.com/api/v1/error_checkout_completed",{method:"POST",headers:{"Content-Type":"application/json",Origin:`https://${o.hostName}`},body:JSON.stringify(o)}).then(i=>{if(!i.ok)throw new Error("Response was not ok");return i.json()}).then(i=>{n&&console.log(`RAD Shopify app - ${t} event. [INFO] postErrorToProxy(). Request was sent successfully. Data: ${JSON.stringify(i)}`)}).catch(i=>{n&&console.error(`RAD Shopify app - ${t} event. [ERROR] postErrorToProxy(). Error: ${i}`)})},Do=Yo;var Zo=(t,o,n,i)=>F(null,null,function*(){var S;let s=t&&t.data&&t.data.checkout||{},a=t&&t.name,e=n&&n.loggingEnabled==="true",l=n&&n.serverPixelEnabled==="true";console.log(`RAD Shopify app - ${a} event. Logging enabled: ${e}`),e&&console.log(`RAD Shopify app - ${a} event. Setting: ${JSON.stringify(n)}`),e&&console.log(`RAD Shopify app - ${a} event. [START] checkoutCompleteHandler(). event: ${JSON.stringify(t)} checkout: ${JSON.stringify(s)}`);let r="3.4.1",c="shopify_wp1.0",f=yield i.cookie.get("wpRmStore"),R=yield i.cookie.get("rmStore"),P=yield i.cookie.set("dummy","dummy");e&&console.log(`RAD Shopify app - ${a} event. [INFO] checkoutCompleteHandler(). allCookies: ${JSON.stringify(P)}`);try{let p=E("wpRmStore",f,e,a),d=E("rmStore",R,e,a),m=s&&s.shippingAddress&&s.shippingAddress.countryCode||"",b=s&&s.totalTax&&s.totalTax.amount||0,x=s&&s.totalTax&&s.totalTax.amount===0?0:Co(m,e,a)||0;e&&console.log(`RAD Shopify app - ${a} event. [INFO] checkoutCompleteHandler(). checkout.totalTax: ${JSON.stringify(s.totalTax)} taxAmount: ${b} taxRate: ${x}`);let $=$o(n.ranMid,d,x,e,a),C=So(s,o,$,x,e,a);yield Ao(t.context.document,C,p,r,c,i,e,l,a);let A=ro(ro({},p),d);Do(a,lo(a,t,o,n,A,R,f,e),e)}catch(p){console.log(`RAD Shopify app - ${a} event. [ERROR] checkoutCompleteHandler(). Error: ${p}`);let d=lo(a,t,o,n,{},R,f,e);po(a,{hostName:d.hostName,myshopifyDomain:d.myshopifyDomain,orderId:((S=d.eventData.data.checkout.order)==null?void 0:S.id)||"",settings:d.settings||{},error:p instanceof Error?p.message:"Something went wrong",rawPayload:(()=>{try{return JSON.stringify(d)}catch(m){return m instanceof Error?`Could not serialize payload: ${m.message}`:"Could not serialize payload: Unknown error occurred"}})()},e)}e&&console.log(`RAD Shopify app - ${a} event. [END] checkoutCompleteHandler()`)}),ko=Zo;var Io=(t,o,n,i,s)=>F(null,null,function*(){i&&console.log(`RAD Shopify app - ${s} event. [START] syncCookies(). searchString: ${t} wpRmCookieObj: ${JSON.stringify(o)}`),(t.startsWith("?")?t.substring(1):t).split("&").forEach(c=>{let[f,R]=c.split("=");f==="ranMID"&&(f="amid"),f==="ranSiteID"&&(f="atrv"),o[f]=R});let l=Object.entries(o).map(([c,f])=>`${c}:${f}`).join("|"),r=yield n.cookie.set("wpRmStore",l);i&&console.log(`RAD Shopify app - ${s} event. [END] syncCookies(). Cookie obj: ${JSON.stringify(o)} Cookie string: ${r}`)}),Po=Io;var Bo=(t,o,n)=>F(null,null,function*(){let i=o&&o.loggingEnabled==="true",s=t&&t.name;if(console.log(`RAD Shopify app - ${s} event. Logging enabled: ${i}`),i&&console.log(`RAD Shopify app - ${s} event. Setting: ${JSON.stringify(o)}`),i&&console.log(`RAD Shopify app - ${s} event. [START] pageViewedHandler(). event: ${JSON.stringify(t)}`),t.context.document.location.search){let a=yield n.cookie.get("wpRmStore"),e=E("wpRmStore",a,i,s);yield Po(t.context.document.location.search,e,n,i,s)}i&&console.log(`RAD Shopify app - ${s} event. [END] pageViewedHandler().`)}),bo=Bo;io(({analytics:t,browser:o,settings:n,init:i})=>{t.subscribe("page_viewed",s=>bo(s,n,o)),t.subscribe("checkout_completed",s=>ko(s,i,n,o))});})();