(()=>{var t={n:e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},d:(e,a)=>{for(var r in a)t.o(a,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var a=globalThis.document;if(!e&&a&&(a.currentScript&&"SCRIPT"===a.currentScript.tagName.toUpperCase()&&(e=a.currentScript.src),!e)){var r=a.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t.p=e})(),t.p=window.wcpayAssets.url,(()=>{"use strict";const e=window.wp.i18n,a=window.wp.hooks,r=t=>"undefined"!=typeof wcpayConfig&&void 0!==wcpayConfig[t]?wcpayConfig[t]:n(t),n=t=>{let e=null;if("undefined"!=typeof wcpay_upe_config)e=wcpay_upe_config;else{if("object"!=typeof wc||void 0===wc.wcSettings)return null;e=wc.wcSettings.getSetting("woocommerce_payments_data")||{}}return e[t]||null},o=t=>"object"==typeof wcpayExpressCheckoutParams&&wcpayExpressCheckoutParams.hasOwnProperty(t)?wcpayExpressCheckoutParams[t]:null;class s{constructor(t,e){this.options=t,this.stripe=null,this.stripePlatform=null,this.request=e}createStripe(t,e,a="",r=[]){const n={locale:e};return a&&(n.stripeAccount=a),r&&(n.betas=r),new Stripe(t,n)}async getStripeForUPE(t){return this.options.forceNetworkSavedCards=n("paymentMethodsConfig")[t].forceNetworkSavedCards,this.getStripe()}async getStripe(t=!1){let e=0;for(;!window.Stripe;)if(await new Promise(t=>setTimeout(t,100)),e+=100,e>6e5)throw new Error("Stripe object not found");return this.__getStripe(t)}__getStripe(t=!1){const{publishableKey:e,accountId:a,forceNetworkSavedCards:r,locale:n,isStripeLinkEnabled:o}=this.options;if(r&&!t)return this.stripePlatform||(this.stripePlatform=this.createStripe(e,n)),this.stripePlatform;if(!this.stripe){let t=["card_country_event_beta_1"];o&&(t=t.concat(["link_autofill_modal_beta_1"])),this.stripe=this.createStripe(e,n,a,t)}return this.stripe}async loadStripeForExpressCheckout(){try{return this.getStripe(!0)}catch(t){return{error:t}}}confirmIntent(t,e=!1){const a=t.match(/#wcpay-confirm-(pi|si):([^:]+):([^:]+):([^:]+)(?::(.+))?$/);if(!a)return!0;const n="si"===a[1];let s=a[2];const i=a[3],c=a[4],p=a[5]||null,u=t.indexOf("order-pay"),l=u>-1&&t.substring(u).match(/\d+/);return l&&(s=l[0]),(async()=>{const{locale:t,publishableKey:e}=this.options,a=r("accountIdForIntentConfirmation");if(n){const t=await this.getStripe(!0);return p?t.confirmSetup({clientSecret:i,confirmParams:{confirmation_token:p},redirect:"if_required"}):t.handleNextAction({clientSecret:i})}return a?this.createStripe(e,t,a).confirmCardPayment(i):(await this.getStripe(!0)).handleNextAction({clientSecret:i})})().then(t=>{let a=null;t.paymentIntent?.last_payment_error&&(a={message:t.paymentIntent.last_payment_error.message}),"requires_action"===t.paymentIntent?.status&&(a={message:"Payment requires additional action."});const n=t.paymentIntent&&t.paymentIntent.id||t.setupIntent&&t.setupIntent.id||t.error&&t.error.payment_intent&&t.error.payment_intent.id||t.error.setup_intent&&t.error.setup_intent.id,i=o("ajax_url")??r("ajaxUrl"),p=r("isChangingPayment");return[this.request(i,{action:"update_order_status",order_id:s,_ajax_nonce:c,intent_id:n,should_save_payment_method:e?"true":"false",is_changing_payment:p?"true":"false"}),a,t.error]}).then(([t,e,a])=>{if(a)throw a;return t.then(t=>{const a="string"==typeof t?JSON.parse(t):t;if(a.error)throw a.error;if(e)throw e;return a.return_url})})}async setupIntent(t,e=""){const a=await this.request(r("ajaxUrl"),{action:"create_setup_intent","wcpay-payment-method":t,_ajax_nonce:r("createSetupIntentNonce"),"wcpay-fraud-prevention-token":window.wcpayFraudPreventionToken??"","wcpay-fingerprint":e});if(!a.success)throw a.data.error;if("succeeded"===a.data.status)return a.data;const n=await this.getStripe(),o=await n.confirmCardSetup(a.data.client_secret),{setupIntent:s,error:i}=o;if(i)throw i;return s}expressCheckoutAddToCart(t){const e=r("wcAjaxUrl"),a=r("addToCartNonce");return this.request(((t,e,a="wcpay_")=>t.toString().replace("%%endpoint%%",a+e))(e,"add_to_cart"),{security:a,...t})}}jQuery(t=>{t("input[name=wc_deposit_option],input[name=wc_deposit_payment_plan]").on("change",()=>{(0,a.doAction)("wcpay.express-checkout.update-button-data")})}),(0,a.addFilter)("wcpay.express-checkout.cart-add-item","automattic/wcpay/express-checkout",t=>{const e={};return jQuery("input[name=wc_deposit_option]").length&&(e.wc_deposit_option=jQuery("input[name=wc_deposit_option]:checked").val()),jQuery("input[name=wc_deposit_payment_plan]").length&&(e.wc_deposit_payment_plan=jQuery("input[name=wc_deposit_payment_plan]:checked").val()),{...t,...e}});const i="wcpay-express-checkout__order-attribution-inputs",c=()=>{(()=>{if(document.getElementById(i))return;const t=document.createElement("wc-order-attribution-inputs");t.id=i,document.body.appendChild(t)})(),window?.wc_order_attribution?.setOrderTracking(window?.wc_order_attribution?.params?.allowTracking)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c(),(0,a.addFilter)("wcpay.express-checkout.cart-place-order-extension-data","automattic/wcpay/express-checkout",t=>{const e=jQuery("#wcpay-express-checkout__order-attribution-inputs input");if(!e.length)return t;const a={};return e.each(function(){const t=jQuery(this).attr("name").replace("wc_order_attribution_",""),e=jQuery(this).val();t&&e&&(a[t]=e)}),{...t,"woocommerce/order-attribution":a}});let p=null,u=null;const l=()=>jQuery(u),d={init:({elementId:t,$separator:e})=>{u=t,p=e},getButtonSeparator:()=>p,blockButton:()=>{l().data("blockUI.isBlocked")||l().block({message:null})},unblockButton:()=>{d.showContainer(),l().unblock()},renderButton:t=>{l()?.length&&t.mount(u)},hideContainer:()=>{l().removeClass("is-ready").hide()},showContainer:()=>{l().addClass("is-ready").show()}},m=d,y=(t,e,a=!1)=>{let r;return function(){const n=this,o=arguments,s=a&&!r;clearTimeout(r),r=setTimeout(()=>{r=null,a||e.apply(n,o)},t),s&&e.apply(n,o)}},_=t=>void 0!==window.wcpayExpressCheckoutParams?window.wcpayExpressCheckoutParams[t]??null:void 0!==window.wc?.wcSettings?window.wc.wcSettings.getSetting("ece_data")?.[t]??null:null,h=()=>document.querySelector(".single_add_to_cart_button")||document.querySelector('.wp-block-add-to-cart-with-options button[type="submit"]'),w=()=>{const t=document.querySelector(".single_add_to_cart_button");if(t)return t.value;const e=document.querySelector('.wp-block-add-to-cart-with-options input[name="add-to-cart"]');return e?.value},g=()=>{const t=document.querySelector(".quantity .qty");return t&&parseInt(t.value,10)||1},f=()=>!!document.querySelector(".wp-block-add-to-cart-with-options"),b=()=>document.querySelectorAll(".wp-block-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute"),k=()=>{const t=[];return b().forEach(e=>{let a;try{a=JSON.parse(e.dataset.wpContext)?.name}catch(t){a=void 0}if(!a)return;const r=e.querySelector("select"),n=r?r.value:e.querySelector('[aria-checked="true"]')?.value;n&&t.push({attribute:a,value:n})}),t},x=()=>{if(f()){const t=document.querySelector(".wp-block-add-to-cart-with-options");return!!t&&t.classList.contains("is-invalid")}const t=h();return!!t&&t.classList.contains("disabled")};jQuery(t=>{t(document.body).on("woocommerce_variation_has_changed",async()=>{(0,a.doAction)("wcpay.express-checkout.update-button-data")});const e=b();if(e.length){let t=null;const r=new MutationObserver(y(250,()=>{const e=JSON.stringify(k());e!==t&&(t=e,(0,a.doAction)("wcpay.express-checkout.update-button-data"))}));e.forEach(t=>r.observe(t,{subtree:!0,childList:!0,attributes:!0}))}}),jQuery(t=>{if("product"!==_("button_context"))return;const e=t(".quantity");e.on("input",".qty",()=>{m.blockButton()}),e.on("input",".qty",y(250,async()=>{(0,a.doAction)("wcpay.express-checkout.update-button-data")}))}),(0,a.addFilter)("wcpay.express-checkout.cart-add-item","automattic/wcpay/express-checkout",t=>{const e={...t},a=document.querySelector('.single_variation_wrap input[name="product_id"]');a&&(e.id=parseInt(a.value,10));const r=f()?k():(()=>{const t=document.querySelector(".variations_form");if(!t)return[];const e=[];return t.querySelectorAll(".variations select").forEach(t=>{const a=t.dataset.attribute_name||t.dataset.name;if(!a)return;const r=document.querySelector(`label[for="${a.replace("attribute_","")}"]`);r&&e.push({attribute:Array.from(r.childNodes)[0].textContent,value:t.value||""}),e.push({attribute:a,value:t.value||""})}),e})();return r.length&&(e.variation=[...t.variation,...r]),e}),(0,a.addFilter)("wcpay.express-checkout.map-line-items","automattic/wcpay/express-checkout",t=>({...t,items:t.items.filter(t=>!t.extensions?.bundles?.bundled_by)}));const v=window.wp.htmlEntities,C=(t,e)=>{const a=_("checkout")?.stripe_minor_unit??2,r=t*10**(a-e.currency_minor_unit);return a<e.currency_minor_unit?Math.round(r):r},S=t=>{const r=_("checkout").display_prices_with_tax,n=(0,a.applyFilters)("wcpay.express-checkout.map-line-items",t),o=n.items.map(t=>({amount:C(r&&t.totals?parseInt(t.totals.line_subtotal,10)+parseInt(t.totals.line_subtotal_tax,10):parseInt(t.totals?.line_subtotal||t.prices.price,10),t.totals||t.prices),name:[t.name,t.quantity>1&&`(x${t.quantity})`,t.variation&&t.variation.length>0&&"-",t.variation&&t.variation.map(t=>`${t.attribute}: ${t.value}`).join(", "),t.item_data&&t.item_data.length>0&&"-",t.item_data&&t.item_data.map(t=>`${t.name||t.key}: ${t.value}`).join(", ")].filter(Boolean).map(v.decodeEntities).join(" ")})),s=parseInt(n.totals.total_shipping||"0",10);s&&o.push({amount:C(r?s+parseInt(n.totals.total_shipping_tax||"0",10):s,n.totals),name:(0,e.__)("Shipping","woocommerce-payments")});const i=parseInt(n.totals.total_discount||"0",10);i&&o.push({amount:-C(r?i+parseInt(n.totals.total_discount_tax||"0",10):i,n.totals),name:(0,e.__)("Discount","woocommerce-payments")});const c=parseInt(n.totals.total_fees||"0",10);c&&o.push({amount:C(r?c+parseInt(n.totals.total_fees_tax||"0",10):c,n.totals),name:(0,e.__)("Fees","woocommerce-payments")});const p=parseInt(n.totals.total_tax||"0",10);p&&!r&&o.push({amount:C(p,n.totals),name:(0,e.__)("Tax","woocommerce-payments")});const u=parseInt(n.totals.total_refund||"0",10);return u&&o.push({amount:-C(u,n.totals),name:(0,e.__)("Refund","woocommerce-payments")}),C(parseInt(n.totals.total_price,10)-parseInt(n.totals.total_refund||0,10),n.totals)<o.reduce((t,{amount:e})=>t+e,0)?[]:o},P=t=>{const e=_("checkout").display_prices_with_tax,r=t.shipping_rates?.[0]?.shipping_rates||[],n=(0,a.applyFilters)("wcpay.express-checkout.shipping-rates",r,t);return n&&0!==n.length?n.sort((t,e)=>t.selected===e.selected?0:t.selected?-1:1).slice(0,9).map(t=>({id:t.rate_id,displayName:(0,v.decodeEntities)(t.name),amount:C(e?parseInt(t.price,10)+parseInt(t.taxes,10):parseInt(t.price,10),t),deliveryEstimate:[t.meta_data.find(t=>"pickup_address"===t.key)?.value,t.meta_data.find(t=>"pickup_details"===t.key)?.value].filter(Boolean).map(v.decodeEntities).join(" - ")})):[]},I=t=>{const e=t?.extensions?.subscriptions;return!!e&&e.trial_length>0},T=t=>{const e=t?.extensions?.subscriptions;if(!e||!Array.isArray(e))return null;for(const t of e){const e=t.shipping_rates?.[0]?.shipping_rates;if(e?.length>0)return e}return null},q=t=>!(!t?.items||!t?.extensions?.subscriptions)&&(!!t.items.some(I)&&(!(t.shipping_rates?.[0]?.shipping_rates?.length>0)&&null!==T(t))),E=t=>!(!t?.items||!t?.extensions?.subscriptions)&&t.items.some(I),j=t=>!!E(t)&&0===parseInt(t.totals?.total_price||"0",10),A=t=>{const e=t?.extensions?.subscriptions;if(!e||!Array.isArray(e))return null;let a=0,r=0,n=0,o=0,s=0,i=2;const c=[];if(e.forEach(t=>{if(!t.totals?.total_price)return;a+=parseInt(t.totals.total_price,10),r+=parseInt(t.totals.total_items||"0",10),n+=parseInt(t.totals.total_tax||"0",10);const e=t.shipping_rates?.[0]?.shipping_rates?.find(t=>t.selected);e?(o+=parseInt(e.price||"0",10),s+=parseInt(e.taxes||"0",10)):(o+=parseInt(t.totals.total_shipping||"0",10),s+=parseInt(t.totals.total_shipping_tax||"0",10)),i=t.totals.currency_minor_unit??i,t.totals.tax_lines&&c.push(...t.totals.tax_lines)}),0===a)return null;const p=e[0]?.totals||t.totals;return{amount:a,currencyMinorUnit:i,totals:{...p,total_price:String(a),total_items:String(r),total_tax:String(n),total_shipping:String(o),total_shipping_tax:String(s),tax_lines:c}}},F=t=>{const a=t.totals,r=parseInt(a.total_price,10),n=a.currency_minor_unit??2,o=a.currency_prefix??"",s=a.currency_suffix??"",i=a.currency_decimal_separator??".",c=a.currency_thousand_separator??",",p=(r/Math.pow(10,n)).toFixed(n).split("."),u=p[0].replace(/\B(?=(\d{3})+(?!\d))/g,c),l=`${o}${p[1]?`${u}${i}${p[1]}`:u}${s}`,d=(m=t.billing_period,(y=t.billing_interval??1)>1?{day:(0,e.sprintf)((0,e._n)("%d day","%d days",y,"woocommerce-payments"),y),week:(0,e.sprintf)((0,e._n)("%d week","%d weeks",y,"woocommerce-payments"),y),month:(0,e.sprintf)((0,e._n)("%d month","%d months",y,"woocommerce-payments"),y),year:(0,e.sprintf)((0,e._n)("%d year","%d years",y,"woocommerce-payments"),y)}[m]||`${y} ${m}s`:{day:(0,e.__)("day","woocommerce-payments"),week:(0,e.__)("week","woocommerce-payments"),month:(0,e.__)("month","woocommerce-payments"),year:(0,e.__)("year","woocommerce-payments")}[m]||m);var m,y;return(0,e.sprintf)((0,e.__)("%1$s / %2$s","woocommerce-payments"),l,d)};(0,a.addFilter)("wcpay.express-checkout.total-amount","automattic/wcpay/express-checkout/wc-subscriptions",(t,e)=>{if(!j(e))return t;const a=A(e);return a?C(a.amount,a.totals):t}),(0,a.addFilter)("wcpay.express-checkout.is-cart-eligible","automattic/wcpay/express-checkout/wc-subscriptions",(t,e)=>{if(t)return!0;if(j(e)){const t=A(e);return null!==t&&t.amount>0}return t}),(0,a.addFilter)("wcpay.express-checkout.shipping-rates","automattic/wcpay/express-checkout/wc-subscriptions",(t,e)=>t&&t.length>0?t:q(e)&&T(e)||t),(0,a.addFilter)("wcpay.express-checkout.shipping-package-id","automattic/wcpay/express-checkout/wc-subscriptions",(t,e,a)=>{if(!q(e))return t;const r=e?.extensions?.subscriptions;if(!r||!Array.isArray(r))return t;for(const t of r){const e=t.shipping_rates;if(e&&Array.isArray(e))for(const t of e){const e=t?.shipping_rates?.some(t=>t.rate_id===a);if(e&&t.package_id)return t.package_id}}return t}),(0,a.addFilter)("wcpay.express-checkout.map-line-items","automattic/wcpay/express-checkout/wc-subscriptions",t=>{if(!E(t))return t;const a=t?.extensions?.subscriptions;if(!a||!Array.isArray(a))return t;const r=0===parseInt(t.totals?.total_price||"0",10),n=[...t.items],o=(0,e.__)("Recurring total","woocommerce-payments");if(a.forEach(a=>{const s=t.items.filter(t=>t.extensions?.subscriptions?.billing_period===a.billing_period).length;if(0===s)return;const i=Math.round(parseInt(a.totals?.total_items||"0",10)/s);n.forEach((t,s)=>{const c=t.extensions?.subscriptions;c&&c.trial_length>0&&c.billing_period===a.billing_period&&((t.item_data||[]).some(t=>t.name===o)||(n[s]={...t,name:`${t.name} (${(0,e.__)("recurring","woocommerce-payments")})`,...r&&{totals:{...t.totals,line_subtotal:String(i),line_total:String(i)}},item_data:[...t.item_data||[],{name:(0,e.__)("Recurring total","woocommerce-payments"),value:(0,e.sprintf)((0,e.__)("%1$s on %2$s","woocommerce-payments"),F(a),a.next_payment_date)}]}))})}),!r)return{...t,items:n};const s=A(t);return s?{...t,items:n,totals:{...t.totals,total_price:String(s.amount),total_items:s.totals.total_items||"0",total_tax:s.totals.total_tax||"0",total_shipping:s.totals.total_shipping||"0",total_shipping_tax:s.totals.total_shipping_tax||"0",tax_lines:s.totals.tax_lines||[]}}:{...t,items:n}}),(0,a.addFilter)("wcpay.express-checkout.resolved-currency","automattic/wcpay/express-checkout/wcpbc",t=>"undefined"!=typeof wc_price_based_country_ajax_geo_params?(t=>new Promise(e=>{const a=jQuery(document.body),r=[],n=t=>{r.forEach(t=>t()),e(t)},o=(t,e)=>{e?.code&&n(String(e.code).toLowerCase())};a.on("wc_price_based_country_set_currency_params",o),r.push(()=>a.off("wc_price_based_country_set_currency_params",o));const s=setTimeout(()=>a.triggerHandler("wc_price_based_country_ajax_geolocation"),3e3);r.push(()=>clearTimeout(s));const i=setTimeout(async()=>n(await t),6e3);r.push(()=>clearTimeout(i))}))(t):t),(0,a.addFilter)("wcpay.express-checkout.resolved-currency","automattic/wcpay/express-checkout/mccy-async",t=>{if("undefined"==typeof wcpayAsyncPriceConfig)return t;const e=window.wcpayAsyncCurrency?.ready;return e&&"function"==typeof e.then?new Promise(a=>{const r=setTimeout(async()=>a(await t),6e3);e.then(e=>{clearTimeout(r),a(e?String(e).toLowerCase():t)})}):t});const $=t=>{let e="undefined"==typeof wcpaySettings?4:parseInt(window?.wcpaySettings?.defaultExpressCheckoutBorderRadius||4,10);const a=_("button");return e=a?.radius??e,void 0!==t&&(e=Number(t?.borderRadius)??e),{variables:{borderRadius:`${e}px`,spacingUnit:"6px"}}};let R=null;const N=t=>R||t;let B=null;const M=()=>B,O=t=>(t=>{const e=t?.extensions?.subscriptions;if(Array.isArray(e)&&e.length>0)return!0;const a=t?.items;return!!Array.isArray(a)&&a.some(t=>(t=>{if(Array.isArray(t))return t.length>0;if("object"!=typeof t||null===t)return!1;const e=t.billing_period,a=t.billing_interval;return"string"==typeof e&&e.length>0&&"number"==typeof a&&a>0})(t?.extensions?.subscriptions))})(t)?"off_session":null;function U(){return _("flags")?.isEceUsingConfirmationTokens??!0}const L=t=>{if(!t)return"";const e=document.createElement("div");return e.innerHTML=t.trim(),e.firstChild?e.firstChild.textContent:""},Q=(t,e,a)=>{const r=document.querySelector(`${t} [name="${e}"]`);if(r)if("SELECT"===r.tagName&&/country|state/.test(e)){const t=Array.from(r.options).find(t=>t.value===a||t.textContent.trim().toLowerCase()===a.toLowerCase());t&&(r.value=t.value,jQuery(r).trigger("change").trigger("close"))}else r.value=a,jQuery(r).trigger("change")},z=window.lodash;window.wp.domReady;const D=(t,e={})=>{if(!1===(r("isShopperTrackingEnabled")??o("is_shopper_tracking_enabled")))return;const a=r("platformTrackerNonce")??o("nonce")?.platform_tracker,n=r("ajaxUrl")??o("ajax_url"),s=new FormData;s.append("tracksNonce",a),s.append("action","platform_tracks"),s.append("tracksEventName",t),s.append("tracksEventProp",JSON.stringify(e)),fetch(n,{method:"post",body:s}).then(t=>t.json())},H=(0,z.debounce)(({source:t})=>{D("applepay_button_load",{source:t})},1e3),W=(0,z.debounce)(({source:t})=>{D("gpay_button_load",{source:t})},1e3),X=window.wp.apiFetch;var G=t.n(X);const J=window.wp.url;class K{cartRequestHeaders={};async _request(t){const e=await G()({...t,parse:!1,path:(0,J.addQueryArgs)(t.path,{currency:N(_("checkout").currency_code).toUpperCase()}),headers:(0,z.omitBy)({Nonce:_("nonce").store_api_nonce,"X-WooPayments-Tokenized-Cart-Nonce":_("nonce").tokenized_cart_nonce,"X-WooPayments-Tokenized-Cart-Session-Nonce":"product"===_("button_context")?_("nonce").tokenized_cart_session_nonce:void 0,...this.cartRequestHeaders,...t.headers},z.isNil)});return this.cartRequestHeaders=(0,z.omitBy)({Nonce:e.headers.get("Nonce"),"X-WooPayments-Tokenized-Cart-Session":e.headers.get("X-WooPayments-Tokenized-Cart-Session")},z.isNil),e.json()}async placeOrder(t){const e=M();return await this._request({method:"POST",path:"/wc/store/v1/checkout",headers:{"X-WooPayments-Tokenized-Cart":!0,...e&&{"X-WooPayments-Payment-Currency":e},...this.cartRequestHeaders},data:t})}async getCart(){return await this._request({method:"GET",path:"/wc/store/v1/cart"})}useSeparateCart(){this.cartRequestHeaders={"X-WooPayments-Tokenized-Cart-Session":""}}deleteAfterRequest(){this.cartRequestHeaders={"X-WooPayments-Tokenized-Cart-Is-Ephemeral-Cart":"1"}}async updateCustomer(t){return await this._request({method:"POST",path:"/wc/store/v1/cart/update-customer",headers:{"X-WooPayments-Tokenized-Cart":!0,...this.cartRequestHeaders},data:t})}async selectShippingRate(t){return await this._request({method:"POST",path:"/wc/store/v1/cart/select-shipping-rate",data:t})}async addProductToCart(){const t={id:w(),quantity:g(),variation:[]};return await this._request({method:"POST",path:"/wc/store/v1/cart/add-item",data:(0,a.applyFilters)("wcpay.express-checkout.cart-add-item",t)})}async emptyCart(){try{let t=await this._request({method:"GET",path:"/wc/store/v1/cart"});for(;t.items.length>0;)t=await this._request({method:"POST",path:"/wc/store/v1/cart/remove-item",data:{key:t.items[0].key}})}catch(t){}}}const V=(t,e)=>({first_name:t?.split(" ")?.slice(0,1)?.join(" ")??"",last_name:t?.split(" ")?.slice(1)?.join(" ")??"",company:e.organization??"",address_1:e.line1??"",address_2:e.line2??"",city:e.city??"",state:e.state??"",postcode:e.postal_code??"",country:e.country??""}),Y=(t,e,a=!0,r=[])=>{const n=t.billingDetails?.name||"",o=t.billingDetails?.address??{},s=t.billingDetails?.phone?.replace(/[() -]/g,"")??t.payerPhone?.replace(/[() -]/g,"")??"";return{customer_note:t.order_comments,billing_address:{first_name:n.split(" ")?.slice(0,1)?.join(" ")??"",last_name:n.split(" ")?.slice(1)?.join(" ")||"-",company:o.organization??"",address_1:o.line1??"",address_2:o.line2??"",city:o.city??"",state:o.state??"",postcode:o.postal_code??"",country:o.country??"",email:t.billingDetails?.email??"",phone:s},shipping_address:t.shippingAddress?{...V(t.shippingAddress.name||"",t.shippingAddress.address),phone:s}:void 0,payment_method:"woocommerce_payments",payment_data:[{key:"payment_method",value:"card"},{key:"wcpay-fraud-prevention-token",value:window.wcpayFraudPreventionToken??""},{key:a?"wcpay-confirmation-token":"wcpay-payment-method",value:e},{key:"express_payment_type",value:t.expressPaymentType},{key:"wcpay-express-payment-method-types",value:JSON.stringify(r)}]}};let Z=null,tt=null,et=new K;const at=()=>et,rt=t=>{const e=M(),a=t?.totals?.currency_code?.toLowerCase();return Boolean(e&&a&&e!==a)},nt=t=>(0,e.sprintf)((0,e.__)("This express payment started in %1$s and cannot switch to %2$s for the address you selected. Choose a different shipping address, or use the regular checkout to pay in %2$s.","woocommerce-payments"),M().toUpperCase(),t.totals.currency_code.toUpperCase()),ot=t=>({amount:(0,a.applyFilters)("wcpay.express-checkout.total-amount",C(parseInt(t.totals.total_price,10)-parseInt(t.totals.total_refund||0,10),t.totals),t),...U()?{setupFutureUsage:O(t)}:{}}),st=()=>{jQuery.blockUI({message:null,overlayCSS:{background:"#fff",opacity:.6}})},it=()=>{jQuery.unblockUI()};class ct{orderId;key;billingEmail="";cachedCartData={};constructor({orderId:t,key:e,billingEmail:a=""}){this.orderId=t,this.key=e,this.billingEmail=a}async placeOrder(t){return await G()({method:"POST",path:`/wc/store/v1/checkout/${this.orderId}`,headers:{Nonce:_("nonce").store_api_nonce},data:{...t,key:this.key,billing_email:this.billingEmail,billing_address:this.cachedCartData.billing_address,shipping_address:this.cachedCartData.shipping_address}})}async getCart(){return this.cachedCartData=await G()({method:"GET",path:(0,J.addQueryArgs)(`/wc/store/v1/order/${this.orderId}`,{key:this.key,billing_email:this.billingEmail})})}}let pt=null;const ut=async()=>{if("product"!==_("button_context"))return await at().getCart();const t=new K;return t.useSeparateCart(),t.deleteAfterRequest(),await t.addProductToCart()},lt=()=>pt?(0,a.applyFilters)("wcpay.express-checkout.total-amount",C(parseInt(pt.totals.total_price,10)-parseInt(pt.totals.total_refund||0,10),pt.totals),pt):"product"===_("button_context")&&_("product")?_("product")?.total.amount:void 0;let dt;jQuery(t=>{if(_("has_block")&&"pay_for_order"!==_("button_context"))return;const n=_("stripe").publishableKey;if(!n)return;const o=new s({publishableKey:n,accountId:_("stripe").accountId,locale:_("stripe").locale},(t,e)=>new Promise((a,r)=>{jQuery.post(t,e).then(a).fail(r)}));var i;"pay_for_order"===_("button_context")&&(i=new ct({orderId:r("order_id"),key:r("key"),billingEmail:r("billing_email")}),et=i),m.init({elementId:"#wcpay-express-checkout-element",$separator:jQuery("#wcpay-express-checkout-button-separator")});const c={abortPayment:e=>{it(),t(".woocommerce-error").remove();const a=t(".woocommerce-notices-wrapper").first();a.length&&(a.append(t('<div class="woocommerce-error" />').text(e)),t("html, body").animate({scrollTop:a.find(".woocommerce-error").offset().top},600))},completePayment:t=>{st(),window.location=t},startExpressCheckoutElement:async t=>{let r="",n=Promise.resolve();const s=await o.getStripe(),i=_("flags")?.isEceUsingConfirmationTokens??!0,p=_("is_manual_capture")??!1,u=_("has_subscription")??!1,{setupFutureUsage:l=(u?"off_session":null)}=t,d=t.enabledMethods??_("enabled_methods")??[],y=[d.includes("payment_request")&&"card",d.includes("amazon_pay")&&"amazon_pay"].filter(Boolean);var w;dt=s.elements({mode:"payment",amount:t.total,currency:(w=t.currency,B=w||null),...i?{paymentMethodTypes:y}:{paymentMethodCreation:"manual"},...i&&p?{captureMethod:"manual"}:{},...i&&l?{setupFutureUsage:l}:{},appearance:$(),locale:_("stripe")?.locale??"en"});const g=dt.create("expressCheckout",(()=>{const t=_("button"),e=_("enabled_methods")??[],a=(t,e)=>{switch(e){case"dark":default:return"black";case"light":return"white";case"light-outline":return"googlePay"===t?"white":"white-outline"}},r="default"===t?.type?"plain":t?.type??"buy",n="default"===t?.type?"plain":t?.type??"plain",o=e.includes("payment_request");return{paymentMethods:{applePay:o?"always":"never",googlePay:o?"always":"never",amazonPay:e.includes("amazon_pay")?"auto":"never",link:"never",paypal:"never",klarna:"never"},layout:{overflow:"never"},buttonTheme:{googlePay:a("googlePay",t?.theme??"black"),applePay:a("applePay",t?.theme??"black")},buttonType:{googlePay:r,applePay:n},buttonHeight:Math.min(Math.max(parseInt(t?.height??"48",10),40),55)}})());m.renderButton(g),g.on("loaderror",()=>{document.getElementById("wcpay-woopay-button")||m.getButtonSeparator().hide()}),g.on("click",function(t){if(r="",_("login_confirmation"))return void(t=>{const e=_("login_confirmation");if(!e)return;let a=e.message;a=a.replace(/\*\*.*?\*\*/,{apple_pay:"Apple Pay",google_pay:"Google Pay",amazon_pay:"Amazon Pay",paypal:"PayPal",link:"Link"}[t]),a=a.replace(/\*\*/g,""),confirm(a)&&(window.location.href=e.redirect_url)})(t.expressPaymentType);if("product"===_("button_context")){if(x())return void window.alert((()=>{if(f())return!1;const t=h();return!!t&&t.classList.contains("wc-variation-is-unavailable")})()?window?.wc_add_to_cart_variation_params?.i18n_unavailable_text||(0,e.__)("Sorry, this product is unavailable. Please choose a different combination.","woocommerce-payments"):(0,e.__)("Please select your product options before proceeding.","woocommerce-payments"));at().useSeparateCart(),n=at().addProductToCart(),n.catch(()=>{r=(0,e.__)("There was an error processing the product with this payment method. Please add the product to the cart, instead.","woocommerce-payments"),at().emptyCart(),g.unmount(),dt=null,c.abortPayment(r),m.hideContainer(),m.getButtonSeparator().hide()}).finally(()=>{n=Promise.resolve()})}const a=pt?{shippingAddressRequired:"pay_for_order"!==_("button_context")&&pt.needs_shipping,shippingRates:P(pt),phoneNumberRequired:_("checkout")?.needs_payer_phone??!1,lineItems:S(pt)}:"product"===_("button_context")&&_("product")?{shippingAddressRequired:_("product")?.needs_shipping??!1,phoneNumberRequired:_("checkout")?.needs_payer_phone??!1,lineItems:(_("product")?.displayItems??[]).map(({label:t,amount:e})=>({name:t,amount:e}))}:void 0,o=a.shippingRates&&0!==a.shippingRates.length?a.shippingRates:[{id:"pending",displayName:(0,e.__)("Pending","woocommerce-payments"),amount:0}];(async function({expressPaymentType:t}){st(),((t,e)=>{const a={google_pay:"gpay_button_click",apple_pay:"applepay_button_click"}[t];a&&D(a,{source:e})})(t,_("button_context"))})(t),t.resolve({business:{name:_("store_name")},emailRequired:!0,...a,shippingRates:a.shippingAddressRequired?o:void 0,allowedShippingCountries:_("checkout").allowed_shipping_countries})}),g.on("shippingaddresschange",async t=>(await n,r?t.resolve():(async(t,e,a)=>{Z=t.address;try{const r=await et.updateCustomer({shipping_address:V(t.name,t.address)});if(rt(r))return a?.(nt(r)),void t.reject();const n=P(r);if(0===n.length)return void t.reject();await e.update(ot(r)),tt=r,t.resolve({shippingRates:n,lineItems:S(r)})}catch(e){t.reject()}})(t,dt,c.abortPayment))),g.on("shippingratechange",async t=>(async(t,e,r=null,n)=>{const o=tt||r;try{const r=await et.selectShippingRate({package_id:(0,a.applyFilters)("wcpay.express-checkout.shipping-package-id",0,o,t.shippingRate.id),rate_id:t.shippingRate.id});if(rt(r))return n?.(nt(r)),void t.reject();tt=r,await e.update(ot(r)),t.resolve({lineItems:S(r)})}catch(e){t.reject()}})(t,dt,pt,c.abortPayment)),g.on("confirm",async t=>{if(!r)return(async(t,r,n,o,s,i,c=[])=>{const{error:p}=await n.submit();if(p)return s(p.message);const u=U();let l;try{l=await async function(t,e,a){if(a){const{confirmationToken:a,error:r}=await t.createConfirmationToken({elements:e});if(r)throw r;return a.id}const{paymentMethod:r,error:n}=await t.createPaymentMethod({elements:e});if(n)throw n;return r.id}(r,n,u)}catch(t){return s(t.message)}try{const e=await et.placeOrder({...Y(i,l,u,c),extensions:(0,a.applyFilters)("wcpay.express-checkout.cart-place-order-extension-data",{})});if("success"!==e.payment_result.payment_status)return s(L(e.message??e.payment_result?.payment_details.find(t=>"errorMessage"===t.key)?.value??""));let r=e.payment_result.redirect_url;if(!r){const t=e.payment_result.payment_details?.find(t=>"redirect"===t.key);r=t?.value||""}const n=t.confirmIntent(r);o(!0===n?r:await n)}catch(t){return t.json&&(t=await Promise.resolve(t.json())),s(L(t.message||t.payment_result?.payment_details.find(t=>"errorMessage"===t.key)?.value||(0,e.__)("There was a problem processing the order.","woocommerce-payments")))}})(o,s,dt,c.completePayment,c.abortPayment,t,y);c.abortPayment(r)}),g.on("cancel",()=>{"product"===_("button_context")&&n.finally(()=>{at().emptyCart()}),Z&&(t=>{const e=_("button_context"),a=_("has_block");var r;["cart","checkout"].includes(e)&&(a?wc?.blocksCheckout?.extensionCartUpdate({namespace:"woopayments/express-checkout/refresh-ui",data:{}}):(r=t.country,["CA","GB"].includes(r)||(t=>{const e=_("button_context"),a=(r=t,{first_name:r?.recipient?.split(" ")?.slice(0,1)?.join(" ")??"",last_name:r?.recipient?.split(" ")?.slice(1)?.join(" ")??"",company:"",address_1:r?.addressLine?.[0]??"",address_2:r?.addressLine?.[1]??"",city:r?.city??"",state:r?.state??"",country:r?.country??"",postcode:r?.postal_code??""});var r;const n=["country","state","city","postcode"];"cart"===e?(n.forEach(t=>{a[t]&&Q("form.woocommerce-shipping-calculator",`calc_shipping_${t}`,a[t])}),document.querySelector('form.woocommerce-shipping-calculator [name="calc_shipping"]')?.click()):"checkout"===e&&n.forEach(t=>{a[t]&&Q("form.woocommerce-checkout",`billing_${t}`,a[t])})})(t)))})(Z),Z=null,it()}),g.on("ready",t=>{(async function({availablePaymentMethods:t}){t&&(({paymentMethods:t,source:e})=>{const a={googlePay:W,applePay:H};for(const r of t){const t=a[r];t&&t({source:e})}})({paymentMethods:Object.entries(t).filter(([t,e])=>e).map(([t,e])=>t),source:_("button_context")})})(t),t?.availablePaymentMethods&&Object.values(t.availablePaymentMethods).filter(Boolean).length&&(m.showContainer(),m.getButtonSeparator().show())})},init:async()=>{(0,a.removeAction)("wcpay.express-checkout.update-button-data","automattic/wcpay/express-checkout");const e="product"===_("button_context"),r=(_("product")?.currency||_("checkout")?.currency_code||"").toLowerCase();e&&await async function(t,e){const r=(t||"").toLowerCase(),n=(0,a.applyFilters)("wcpay.express-checkout.resolved-currency",Promise.resolve(r),e);let o=r;try{const t=await n;"string"==typeof t&&t&&(o=t.toLowerCase())}catch(t){}return R=o||null,o}(r,{buttonContext:"product"}),e&&"bundle"===_("product")?.product_type&&(wcpayExpressCheckoutParams.product=void 0);const n=e&&N(r)!==r;if(!pt&&(!_("product")||n))try{pt=await ut()}catch(t){}pt&&(wcpayExpressCheckoutParams.product=void 0);const o=lt(),s=(0,a.applyFilters)("wcpay.express-checkout.is-cart-eligible",o>0,pt),i=pt?.extensions?.wcpay?.express_checkout_methods;let p;Array.isArray(i)?p=(t=>{const e=_("methods_enabled_at_location")??[];return t.filter(t=>e.includes(t))})(i):n&&(p=(_("enabled_methods")??[]).includes("payment_request")?["payment_request"]:[]);const u=n&&Array.isArray(p)&&0===p.length;!s||u?(m.hideContainer(),m.getButtonSeparator().hide()):pt?await c.startExpressCheckoutElement({total:o,currency:pt.totals.currency_code.toLowerCase(),enabledMethods:p,setupFutureUsage:O(pt)}):e&&_("product")?await c.startExpressCheckoutElement({total:o,currency:N(r),enabledMethods:p,setupFutureUsage:_("has_subscription")?"off_session":null}):(m.hideContainer(),m.getButtonSeparator().hide()),(0,a.addAction)("wcpay.express-checkout.update-button-data","automattic/wcpay/express-checkout",async()=>{if("product"===_("button_context")&&x())m.unblockButton();else{t(".woocommerce-error").remove();try{m.blockButton();const t=lt();pt=await ut(),wcpayExpressCheckoutParams.product=null,m.unblockButton();const e=lt(),r={..._("flags")?.isEceUsingConfirmationTokens??1?{setupFutureUsage:O(pt)}:{},...e!==t&&e>0?{amount:e}:{}};dt?Object.keys(r).length&&await dt.update(r):c.init(),(0,a.applyFilters)("wcpay.express-checkout.is-cart-eligible",e>0,pt)?(m.showContainer(),m.getButtonSeparator().show()):(m.hideContainer(),m.getButtonSeparator().hide())}catch(t){m.hideContainer()}}})}};"checkout"===_("button_context")&&"pay_for_order"!==_("button_context")||c.init(),t(document.body).on("updated_cart_totals",()=>{pt=null,c.init()}),t(document.body).on("updated_checkout",()=>{pt=null,c.init()})})})()})();