// source --> https://sidneilukka.ee/wp-content/plugins/gtm-kit/assets/frontend/woocommerce-blocks.js?ver=927075158723c4c4f0d6 
(()=>{"use strict";const t=window.wp.data,e="wc/store/cart",r="wc/store/checkout",o="wc/store/payment",c="view_item_list",n="select_item",i="view_item",s=t=>{const e={};for(const r of t)r&&void 0!==r.key&&null!==r.key&&(e[r.key]=r);return e},a=(t,e)=>{const r=window.gtmkit_settings.datalayer_name;window.gtmkit.events.push({ecommerce:null},r),window.gtmkit.events.push({event:t,...e},r),!0===window.gtmkit_settings.console_log&&console.log(`Pushing event ${t}`)},u=()=>{if(!0===window.gtmkit_data.wc.add_shipping_info.fired)return;const t={ecommerce:{currency:window.gtmkit_data.wc.currency,value:window.gtmkit_data.wc.cart_value,shipping_tier:window.gtmkit_data.wc.chosen_shipping_method,items:window.gtmkit_data.wc.cart_items}};a("add_shipping_info",t),window.gtmkit_data.wc.add_shipping_info.fired=!0},l=()=>{if(!0===window.gtmkit_data.wc.add_payment_info.fired)return;const t={ecommerce:{currency:window.gtmkit_data.wc.currency,value:window.gtmkit_data.wc.cart_value,payment_type:window.gtmkit_data.wc.chosen_payment_method,items:window.gtmkit_data.wc.cart_items}};a("add_payment_info",t),window.gtmkit_data.wc.add_payment_info.fired=!0},m=()=>{var t;return null!==(t=window.gtmkit_data?.wc?.currency)&&void 0!==t?t:""},d=t=>{if(!t)return{};if("string"==typeof t)try{return JSON.parse(t)}catch(t){return{}}return{...t}},w=(t,e="")=>{const r=d(t?.extensions?.gtmkit?.item);return e&&(r.item_list_name=e),r},y=t=>{let e=!1;return()=>{e||(e=!0,Promise.resolve().then((()=>{e=!1,t()})))}},p=(t,e)=>{!0===window.gtmkit_settings?.console_log&&console.error(`GTM Kit: Error in ${t} handler`,e)},_=(t,e)=>{for(const o of t){var r;const t=Number(null!==(r=o.item.price)&&void 0!==r?r:0)*o.quantity;a(e,{ecommerce:{currency:m(),value:t,items:[o.item]}})}},g=({select:t,subscribe:r})=>{let o=null;return r(y((()=>{try{const r=(()=>{const r=t(e);if(!r||"function"!=typeof r.getCartData)return null;if("function"==typeof r.hasFinishedResolution&&!r.hasFinishedResolution("getCartData"))return null;const o=r.getCartData();return o&&Array.isArray(o.items)?(c=o)&&Array.isArray(c.items)?c.items.map((t=>{var e;const r=d(t?.extensions?.gtmkit?.item);r.quantity=t.quantity;const o=Number(null!==(e=t?.prices?.sale_price)&&void 0!==e?e:0);return{key:t.key,quantity:t.quantity,unitPrice:Number.isFinite(o)?o/100:0,item:r}})):[]:null;var c})();if(null===r)return;if(null===o)return void(o=r);const{added:c,removed:n}=((t=[],e=[])=>{const r=s(t),o=s(e),c=[],n=[];for(const t of Object.keys(o)){const e=o[t],i=r[t]?r[t].quantity:0,s=e.quantity-i;s>0?c.push({item:{...e.item,quantity:s},quantity:s}):s<0&&n.push({item:{...e.item,quantity:-s},quantity:-s})}for(const t of Object.keys(r))if(!o[t]){const e=r[t];n.push({item:{...e.item,quantity:e.quantity},quantity:e.quantity})}return{added:c,removed:n}})(o,r);o=r,_(c,"add_to_cart"),_(n,"remove_from_cart")}catch(t){p("cart-subscriber",t)}})))},f=["before_processing","processing","complete"],k=t=>{if(!t||"function"!=typeof t.getCartData)return"";const e=t.getCartData(),r=e&&Array.isArray(e.shippingRates)?e.shippingRates:[];for(const t of r){const e=(Array.isArray(t.shipping_rates)?t.shipping_rates:[]).find((t=>!0===t.selected));var o;if(e)return null!==(o=e.rate_id)&&void 0!==o?o:""}return""},h=t=>{var e;return t&&"function"==typeof t.getActivePaymentMethod&&null!==(e=t.getActivePaymentMethod())&&void 0!==e?e:""},v=({root:t=document}={})=>{let e=null;const r=t=>{const r=t.target;r&&r.closest&&r.closest(".wc-block-mini-cart__button")&&(async()=>{try{const t=await(async()=>{const t=window.gtmkitWooCommerceBlocksBuild;if(!t||!t.root)return null;const e=await fetch(`${t.root}wc/store/v1/cart`,{credentials:"include",headers:{"X-WP-Nonce":t.nonce}});return e.ok?e.json():null})();if(!t)return;const{items:r,value:o,signature:c}=(t=>{var e;const r=Array.isArray(t?.items)?t.items:[],o=r.map((t=>{const e=d(t?.extensions?.gtmkit?.item);return e.quantity=t.quantity,e})),c=(t=>t.map((t=>`${t.key}:${t.quantity}`)).sort().join("|"))(r.map((t=>({key:t.key,quantity:t.quantity})))),n=Number(null!==(e=t?.totals?.total_price)&&void 0!==e?e:0);return{items:o,value:Number.isFinite(n)?n/100:0,signature:c}})(t);if(0===r.length)return;if(c===e)return;e=c,a("view_cart",{ecommerce:{currency:m(),value:o,items:r}})}catch(t){p("mini-cart",t)}})()};return t.addEventListener("click",r,!0),()=>t.removeEventListener("click",r,!0)},b="Cross-sells",q=window.wp.hooks,A="gtmkit/woocommerce-blocks",S="experimental__woocommerce_blocks",C=()=>!!document.querySelector(".wp-block-woocommerce-cart, .wp-block-woocommerce-checkout"),E=".gtmkit_block_product_data",N=".added_to_cart, .wc-forward, .wc_forward",L=".wp-block-woocommerce-cart, .wp-block-woocommerce-checkout",j=(t,e)=>{const r=t.closest(e);if(!r||r.closest(L))return null;const o=t.closest("li, .wc-block-product, .wp-block-post"),c=o?o.querySelector(E):null;if(!c)return null;const n=d(c.getAttribute("data-gtmkit_product_data"));return n&&0!==Object.keys(n).length?{item:n,root:r}:null},$=t=>t.getAttribute("data-gtmkit-list-name")||"Product Collection",D=({root:t=document,selector:e=".wp-block-woocommerce-product-collection",listNameResolver:r=$,observerFactory:o=t=>new window.MutationObserver(t)})=>{const i=[];Array.from(t.querySelectorAll(e)).filter((t=>!t.closest(L))).forEach((t=>{const e=r(t);let n=null;const s=()=>{try{(()=>{const r=((t,e)=>{const r=[];return t.querySelectorAll(E).forEach(((t,o)=>{const c=d(t.getAttribute("data-gtmkit_product_data"));c&&0!==Object.keys(c).length&&(e&&(c.item_list_name=e),c.index=o+1,r.push(c))})),r})(t,e);if(0===r.length)return;const o=(t=>t.map((t=>{var e,r;return`${null!==(e=null!==(r=t.item_id)&&void 0!==r?r:t.id)&&void 0!==e?e:""}`})).join("|"))(r);o!==n&&(n=o,a(c,{ecommerce:{items:r}}))})()}catch(t){p("product-collection",t)}};s();const u=o(s);u.observe(t,{childList:!0,subtree:!0}),i.push(u)}));const s=t=>{try{if(!t.target.closest)return;const o=t.target.closest("a");if(!o||o.closest(N))return;const c=j(o,e);if(!c)return;const i=r(c.root);i&&(c.item.item_list_name=i),a(n,{ecommerce:{items:[c.item]}})}catch(t){p("product-collection-select",t)}},u=t=>{try{var o;if(!t.target.closest)return;const c=t.target.closest(".add_to_cart_button");if(!c||c.matches(N))return;const n=j(c,e);if(!n)return;const i=r(n.root);i&&(n.item.item_list_name=i),n.item.quantity=1,a("add_to_cart",{ecommerce:{currency:m(),value:Number(null!==(o=n.item.price)&&void 0!==o?o:0),items:[n.item]}})}catch(t){p("product-collection-add",t)}},l=t===document?document:t;return l.addEventListener("click",s,!0),l.addEventListener("click",u,!0),()=>{i.forEach((t=>t.disconnect())),l.removeEventListener("click",s,!0),l.removeEventListener("click",u,!0)}},O=()=>{try{const s={select:t.select,subscribe:t.subscribe};g(s),document.querySelector(".wc-block-mini-cart")&&v(),((e=>{try{return Boolean((0,t.select)(e))}catch(t){return!1}})(r)||document.querySelector(".wp-block-woocommerce-checkout"))&&(({select:t,subscribe:c})=>{let n=k(t(e)),i=h(t(o)),s=!1;const a=()=>window.gtmkit_settings.wc.add_shipping_info.config,m=()=>window.gtmkit_settings.wc.add_payment_info.config;c(y((()=>{try{if(!0!==window.gtmkit_data?.wc?.is_checkout)return;const w=k(t(e));w&&w!==n&&(n=w,window.gtmkit_data.wc.chosen_shipping_method=w,2===a()&&u());const y=h(t(o));y&&y!==i&&(i=y,window.gtmkit_data.wc.chosen_payment_method=y,2===m()&&l());const p=(c=t(r))&&"function"==typeof c.getCheckoutStatus&&null!==(d=c.getCheckoutStatus())&&void 0!==d?d:"";!s&&f.includes(p)&&(s=!0,0!==a()&&u(),0!==m()&&l())}catch(t){p("checkout-subscriber",t)}var c,d})))})(s),document.querySelector(".wp-block-woocommerce-cart")&&(({select:t,subscribe:r,root:o=document})=>{let i=null,s=[];const u=()=>{try{if(s=(()=>{const r=t(e);if(!r||"function"!=typeof r.getCartData)return[];const o=r.getCartData();return Array.isArray(o&&o.crossSells)?o.crossSells:[]})(),0===s.length)return;const r=s.map(((t,e)=>({...w(t,b),index:e+1}))),o=r.map((t=>{var e,r;return`${null!==(e=null!==(r=t.item_id)&&void 0!==r?r:t.id)&&void 0!==e?e:""}`})).join("|");if(o===i)return;i=o,a(c,{ecommerce:{items:r}})}catch(t){p("cart-cross-sells",t)}},l=r(y(u));u();const m=t=>{try{const e=t.target.closest?t.target.closest("a[href]"):null;if(!e)return;const r=e.getAttribute("href");if(!r)return;const o=s.find((t=>t.permalink&&t.permalink===r));if(!o)return;a(n,{ecommerce:{items:[w(o,b)]}})}catch(t){p("cart-cross-sells-select",t)}};o.addEventListener("click",m,!0)})(s),(()=>{const t={};(0,q.addAction)(`${S}-product-list-render`,A,(({products:e=[],listName:r="All products"}={})=>{try{if(!e.length||C())return;const o=e.map(((t,e)=>({...w(t,r),index:e+1}))),n=(t=>t.map((t=>{var e,r;return`${null!==(e=null!==(r=t.item_id)&&void 0!==r?r:t.id)&&void 0!==e?e:""}`})).join("|"))(o);if(t[r]===n)return;t[r]=n,a(c,{ecommerce:{items:o}})}catch(t){p("all-products-list",t)}})),(0,q.addAction)(`${S}-product-view-link`,A,(({product:t,listName:e=""}={})=>{try{if(!t||C())return;a(n,{ecommerce:{items:[w(t,e)]}})}catch(t){p("all-products-select",t)}}))})(),document.querySelector(".wp-block-woocommerce-product-collection")&&D({}),document.querySelector(".wp-block-woocommerce-related-products")&&(({root:t=document,observerFactory:e}={})=>{D({root:t,selector:".wp-block-woocommerce-related-products",listNameResolver:()=>"Related products",...e?{observerFactory:e}:{}})})(),document.querySelector(".wp-block-woocommerce-single-product")&&(({root:t=document}={})=>{try{var e;const r=t.querySelector(".wp-block-woocommerce-single-product");if(!r)return;if((()=>{const t=window.gtmkit_settings?.datalayer_name||"dataLayer",e=window[t];return!!Array.isArray(e)&&e.some((t=>t&&"object"==typeof t&&t.event===i))})())return;const o=r.querySelector(".gtmkit_block_product_data");if(!o)return;const c=d(o.getAttribute("data-gtmkit_product_data"));if(!c||0===Object.keys(c).length)return;a(i,{ecommerce:{currency:m(),value:Number(null!==(e=c.price)&&void 0!==e?e:0),items:[c]}})}catch(t){p("single-product-block",t)}})(),document.querySelector(".wc-block-product-search")&&(({root:t=document}={})=>{t.addEventListener("submit",(t=>{try{const e=t.target.closest?t.target.closest(".wc-block-product-search"):null;if(!e)return;const r=e.querySelector('.wc-block-product-search__field, input[type="search"], input[name="s"]'),o=r&&r.value?r.value.trim():"";if(!o)return;a("search",{search_term:o})}catch(t){p("product-search",t)}}),!0)})()}catch(t){p("boot",t)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",O):O()})();