// source --> https://www.syrakous.com/wp-content/plugins/paypal-for-woocommerce/ppcp-gateway/js/wc-angelleye-common-functions.min.js 
let angelleyeOrder={productAddToCart:!0,lastApiResponse:null,ppcp_address:[],ppcpCcSubmitHookReady:!1,ppcpCcSubmitRecoveryTimer:null,isCheckoutPage:()=>"checkout"===angelleye_ppcp_manager.page,isProductPage:()=>"product"===angelleye_ppcp_manager.page,isCartPage:()=>"cart"===angelleye_ppcp_manager.page,isSale:()=>"capture"===angelleye_ppcp_manager.paymentaction,isOrderPayPage:()=>new URL(window.location.href).searchParams.has("pay_for_order"),isOrderCompletePage:()=>new URL(window.location.href).searchParams.has("paypal_order_id"),getSelectedPaymentMethod:()=>jQuery('input[name="payment_method"]').length?jQuery('input[name="payment_method"]:checked').val():jQuery('input[name="radio-control-wc-payment-method-options"]').length?jQuery('input[name="radio-control-wc-payment-method-options"]:checked').val():void 0,isApplePayPaymentMethodSelected:()=>"angelleye_ppcp_apple_pay"===angelleyeOrder.getSelectedPaymentMethod(),isPpcpPaymentMethodSelected:()=>"angelleye_ppcp"===angelleyeOrder.getSelectedPaymentMethod(),isCCPaymentMethodSelected:()=>"angelleye_ppcp_cc"===angelleyeOrder.getSelectedPaymentMethod(),isGooglePayPaymentMethodSelected:()=>"angelleye_ppcp_google_pay"===angelleyeOrder.getSelectedPaymentMethod(),isAngelleyePpcpPaymentMethodSelected:()=>{var e=angelleyeOrder.getSelectedPaymentMethod();return"angelleye_ppcp"===e||"angelleye_ppcp_apple_pay"===e||"angelleye_ppcp_google_pay"===e},isAngelleyePpcpAdditionalPaymentMethodSelected:()=>{var e=angelleyeOrder.getSelectedPaymentMethod();return"angelleye_ppcp_apple_pay"===e||"angelleye_ppcp_google_pay"===e},isAngelleyePaymentMethodSelected:()=>{var e=angelleyeOrder.getSelectedPaymentMethod();return"paypal_express"===e||"angelleye_ppcp"===e||"angelleye_ppcp_apple_pay"===e||"angelleye_ppcp_google_pay"===e},isSavedPaymentMethodSelected:()=>{var e=angelleyeOrder.getSelectedPaymentMethod(),e=jQuery('input[name="wc-'+e+'-payment-token"]:checked');if(e.length){e=e.val();if(void 0!==e&&"new"!==e)return!0}return!1},isApplePayEnabled:()=>""!==angelleye_ppcp_manager.apple_sdk_url,isGooglePayEnabled:()=>""!==angelleye_ppcp_manager.google_sdk_url,getConstantValue:(e,r)=>angelleye_ppcp_manager.constants&&angelleye_ppcp_manager.constants[e]?angelleye_ppcp_manager.constants[e]:r,isPpcpCcSubmitHookReady:()=>!0===angelleyeOrder.ppcpCcSubmitHookReady,setPpcpCcSubmitHookReady:e=>{angelleyeOrder.ppcpCcSubmitHookReady=!0===e},stopPpcpCcSubmitWatchdog:()=>{angelleyeOrder.ppcpCcSubmitRecoveryTimer&&(clearTimeout(angelleyeOrder.ppcpCcSubmitRecoveryTimer),angelleyeOrder.ppcpCcSubmitRecoveryTimer=null)},clearPpcpCcSubmittingState:e=>{angelleyeOrder.stopPpcpCcSubmitWatchdog(),e&&jQuery(e).length&&jQuery(e).removeClass("processing paypal_cc_submiting"),angelleyeOrder.hideProcessingSpinner()},startPpcpCcSubmitWatchdog:e=>{angelleyeOrder.stopPpcpCcSubmitWatchdog(),angelleyeOrder.ppcpCcSubmitRecoveryTimer=setTimeout(()=>{e&&jQuery(e).length&&jQuery(e).hasClass("paypal_cc_submiting")&&!jQuery(e).hasClass("createOrder")&&angelleyeOrder.clearPpcpCcSubmittingState(e)},8e3)},getCheckoutSelectorCss:()=>{let e=".woocommerce";return angelleyeOrder.isCheckoutPage()?e="yes"===angelleye_ppcp_manager.is_pay_page?"form#order_review":"form.checkout":"add_payment_method"===angelleye_ppcp_manager.page&&(e="form#add_payment_method"),e=0===jQuery(e).length?"form.wc-block-checkout__form":e},getWooNoticeAreaSelector:()=>{var e=".woocommerce-notices-wrapper:first",r=angelleyeOrder.getCheckoutSelectorCss();return jQuery(r).find(e).length&&jQuery(r).find(e).is(":visible")?r+" "+e:jQuery(e).length?e:angelleyeOrder.getCheckoutSelectorCss()},scrollToWooCommerceNoticesSection:()=>{let e=jQuery(".woocommerce-NoticeGroup-updateOrderReview, .woocommerce-NoticeGroup-checkout");(e=(e=e.length?e:jQuery("form.checkout")).length?e:jQuery("form#order_review")).length&&jQuery("html, body").animate({scrollTop:e.offset().top-100},1e3)},updateWooCheckoutFormNonce:e=>{angelleye_ppcp_manager.woocommerce_process_checkout=e,jQuery("#woocommerce-process-checkout-nonce").val(e)},createSmartButtonOrder:({angelleye_ppcp_button_selector:e,errorLogId:r})=>angelleyeOrder.createOrder({angelleye_ppcp_button_selector:e,errorLogId:r}).then(e=>e.orderID),ppcp_block_mode:!1,blockCreateOrderError:null,hostedFieldsContainer:null,hostedFieldsRenderedAt:0,runBlocksPpcpCcFlow:()=>new Promise((a,l)=>{let o=!1,n=(angelleyeOrder.ppcp_block_mode=!0,angelleyeOrder.blockCreateOrderError=null,()=>{jQuery(document.body).off("angelleye_ppcp_cc_approved.ppcpBlocks",e),jQuery(document.body).off("angelleye_ppcp_cc_error.ppcpBlocks",r),angelleyeOrder.ppcp_block_mode=!1,angelleyeOrder.blockCreateOrderError=null}),e=(e,r)=>{o||(o=!0,n(),a(r&&r.paypalOrderId))},r=(e,r)=>{var a;o||(o=!0,n(),(a=new Error(r&&r.message||"PayPal card payment failed")).context=r&&r.context||null,l(a))};jQuery(document.body).on("angelleye_ppcp_cc_approved.ppcpBlocks",e),jQuery(document.body).on("angelleye_ppcp_cc_error.ppcpBlocks",r),jQuery(document.body).trigger("submit_paypal_cc_form")}),createOrder:({angelleye_ppcp_button_selector:e,billingDetails:r,shippingDetails:a,apiUrl:l,errorLogId:o,callback:n})=>{var t=-1<["#angelleye_ppcp_fkcart","#angelleye_ppcp_fkcart_apple_pay","#angelleye_ppcp_fkcart_google_pay"].indexOf(e),c=(void 0===l&&(l=angelleye_ppcp_manager.create_order_url,t)&&-1===(l=l.replace(/([?&])from=[^&]*/,"$1from=cart")).indexOf("from=")&&(l+=(-1<l.indexOf("?")?"&":"?")+"from=cart"),angelleyeOrder.lastApiResponse=null,angelleyeOrder.getWooFormSelector());angelleyeOrder.removeError();let p;var d=angelleyeOrder.isCheckoutPage(),s=!t&&angelleyeOrder.isProductPage();let g=null,y=null;r&&(g=jQuery("<input>",{type:"hidden",name:"billing_address_source",value:JSON.stringify(r)})),a&&(y=jQuery("<input>",{type:"hidden",name:"shipping_address_source",value:JSON.stringify(a)}));var i=["#angelleye_ppcp_checkout_top","#angelleye_ppcp_checkout_top_google_pay","#angelleye_ppcp_checkout_top_apple_pay"];let _=null;var u=!0===angelleyeOrder.ppcp_block_mode;return u?_="block_checkout":d&&(_=-1<i.indexOf(e)?"checkout_top":"checkout_regular"),u?(u=jQuery("#angelleye_ppcp_payment_method_title").val()||"paypal",p="angelleye_ppcp_checkout_source=block_checkout",p=(p=(p+="&payment_method=angelleye_ppcp_cc")+"&angelleye_ppcp_payment_method_title="+encodeURIComponent(u))+"&woocommerce-process-checkout-nonce="+angelleye_ppcp_manager.woocommerce_process_checkout,null!=angelleyeOrder.ppcp_address&&""!==angelleyeOrder.ppcp_address&&(p+="&address="+encodeURIComponent(JSON.stringify(angelleyeOrder.ppcp_address)))):d&&-1<i.indexOf(e)?p="angelleye_ppcp_checkout_source="+encodeURIComponent(_):t?(p="angelleye_ppcp_payment_method_title="+jQuery("#angelleye_ppcp_payment_method_title").val(),p+="&woocommerce-process-checkout-nonce="+angelleye_ppcp_manager.woocommerce_process_checkout,r&&(p+="&billing_address_source="+encodeURIComponent(JSON.stringify(r))),a&&(p+="&shipping_address_source="+encodeURIComponent(JSON.stringify(a))),null!=angelleyeOrder.ppcp_address&&""!==angelleyeOrder.ppcp_address&&(p+="&address="+JSON.stringify(angelleyeOrder.ppcp_address))):(s&&(jQuery(c).find("input[name=angelleye_ppcp-add-to-cart]").remove(),jQuery("<input>",{type:"hidden",name:"angelleye_ppcp-add-to-cart",value:jQuery("[name='add-to-cart']").val()}).appendTo(c),angelleyeOrder.productAddToCart=!1),g&&(jQuery(c).find("input[name=billing_address_source]").remove(),g.appendTo(c)),y&&(jQuery(c).find("input[name=shipping_address_source]").remove(),y.appendTo(c)),p=jQuery(c).serialize(),""===(p=s?angelleyeOrder.dedupeFormBody(p):p)&&(p="angelleye_ppcp_payment_method_title="+jQuery("#angelleye_ppcp_payment_method_title").val()),null!=angelleyeOrder.ppcp_address&&""!==angelleyeOrder.ppcp_address&&(p+="&woocommerce-process-checkout-nonce="+angelleye_ppcp_manager.woocommerce_process_checkout+"&address="+JSON.stringify(angelleyeOrder.ppcp_address)),null!==_&&(p+="&angelleye_ppcp_checkout_source="+encodeURIComponent(_))),angelleyeJsErrorLogger.addToLog(o,{context:"api_request",url:l,method:"POST",body:p,time:new Date}),fetch(l,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:p}).then(async function(e){if(angelleyeJsErrorLogger.addToLog(o,{context:"api_response",response:e,redirected:e.redirected,status:e.status,time:new Date}),console.log("createOrder response",{res:e,apiUrl:l,redirected:e.redirected,url:e.url,status:e.status}),!e.redirected)return angelleyeOrder.lastApiResponse=await e.clone().text(),e.json();window.location.href=e.url}).then(function(r){if("function"!=typeof n){if(void 0===r.success)return r;{let e=r.data.messages||r.data;throw"string"!=typeof e?(e=e.map(function(e){return"<li>"+e+"</li>"}).join(""),""!==localizedMessages.error_message_checkout_validation&&(e="<li>"+localizedMessages.error_message_checkout_validation+"</li>"+e)):e="<li>"+e+"</li>",e}}n(r)}).then(e=>(angelleyeOrder.isCheckoutPage()&&void 0!==e.nonce&&angelleyeOrder.updateWooCheckoutFormNonce(e.nonce),e))},approveOrder:({orderID:e,payerID:r,errorLogId:a})=>{angelleyeOrder.isCheckoutPage()?angelleyeOrder.checkoutFormCapture({payPalOrderId:e,errorLogId:a}):"yes"===angelleye_ppcp_manager.is_skip_final_review?window.location.href=angelleye_ppcp_manager.direct_capture+"&paypal_order_id="+e+"&paypal_payer_id="+r+"&from="+angelleye_ppcp_manager.page:window.location.href=angelleye_ppcp_manager.checkout_url+"&paypal_order_id="+e+(r?"&paypal_payer_id="+r:"")+"&from="+angelleye_ppcp_manager.page},shippingAddressUpdate:(e,r,a,l)=>angelleyeOrder.createOrder({angelleye_ppcp_button_selector:l,apiUrl:angelleye_ppcp_manager.shipping_update_url,shippingDetails:e,billingDetails:r,errorLogId:a}),triggerPaymentCancelEvent:()=>{jQuery(document.body).trigger("angelleye_paypal_oncancel")},onCancel:()=>{angelleyeOrder.triggerPaymentCancelEvent(),angelleyeOrder.isCheckoutPage()||(angelleyeOrder.showProcessingSpinner(),angelleyeOrder.isProductPage())||window.location.reload()},prepareWooErrorMessage:e=>'<ul class="woocommerce-error">'+e+"</ul>",removeError:()=>{jQuery(".woocommerce-NoticeGroup-checkout, .woocommerce-error, .woocommerce-message").remove()},showError:e=>{e=angelleyeOrder.prepareWooErrorMessage(e);var r=angelleyeOrder.getWooNoticeAreaSelector();jQuery(r).prepend('<div class="woocommerce-NoticeGroup woocommerce-NoticeGroup-checkout">'+e+"</div>"),jQuery(r).removeClass("processing").unblock(),jQuery(r).is(":visible")||jQuery(r).css("display","block"),jQuery(r).find(".input-text, select, input:checkbox").trigger("validate").trigger("blur"),angelleyeOrder.scrollToWooCommerceNoticesSection()},resolveProcessingContainerSelector:e=>{if(void 0!==e&&e||(e=".woocommerce"),!jQuery(e).length||!jQuery(e).is(":visible")){var r=[".woocommerce-checkout",".woocommerce","#customer_details, .woocommerce-checkout-review-order","form.checkout"];for(let e=0;e<r.length;e++)if(jQuery(r[e]).length)return r[e]}return e},showProcessingSpinner:e=>{jQuery(".wp-block-woocommerce-checkout-fields-block").length?jQuery(".wp-block-woocommerce-checkout-fields-block #contact-fields, .wp-block-woocommerce-checkout-fields-block #billing-fields, .wp-block-woocommerce-checkout-fields-block #payment-method").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}):(e=angelleyeOrder.resolveProcessingContainerSelector(e),jQuery(e).length&&jQuery(e).block({message:null,overlayCSS:{background:"#fff",opacity:.6}}))},hideProcessingSpinner:e=>{jQuery(".wp-block-woocommerce-checkout-fields-block").length?jQuery(".wc-block-components-checkout-place-order-button, .wp-block-woocommerce-checkout-fields-block #contact-fields, .wp-block-woocommerce-checkout-fields-block #billing-fields, .wp-block-woocommerce-checkout-fields-block #payment-method").unblock():[angelleyeOrder.resolveProcessingContainerSelector(e),".woocommerce",".woocommerce-checkout","#customer_details, .woocommerce-checkout-review-order","form.checkout",".woocommerce-checkout-payment",".woocommerce-checkout-review-order-table","#order_review"].forEach(e=>{e&&jQuery(e).length&&jQuery(e).unblock()})},handleCreateOrderError:(e,r)=>{console.log("create_order_error",e,angelleyeOrder.lastApiResponse),angelleyeOrder.hideProcessingSpinner(),jQuery(document.body).trigger("angelleye_paypal_onerror");let a=e.message||e;-1<a.toLowerCase().indexOf("expected an order id to be passed")?a.toLowerCase().indexOf("required fields")<0&&(a=localizedMessages.create_order_error):-1<a.toLowerCase().indexOf("unexpected token")&&(e=jQuery("<textarea/>").text(angelleyeOrder.lastApiResponse).html(),angelleyeJsErrorLogger.logJsError("InvalidJSON, Received Response: "+e,r),a="<li>"+localizedMessages.create_order_error+"</li>"),""!==a&&angelleyeOrder.showError(a),angelleyeOrder.scrollToWooCommerceNoticesSection(),angelleyeOrder.isCheckoutPage()},parsePayPalSdkError:e=>{let r="",a="",l="";if("string"==typeof e?r=e:e&&"object"==typeof e&&(Array.isArray(e.details)&&0<e.details.length&&(l=e.details[0].issue||"",r=e.details[0].description||e.details[0].issue||""),r=r||e.message||e.name||"",a=e.debug_id||e.debugId||e.paypalDebugId||""),!a&&"string"==typeof r&&-1<r.indexOf("{"))try{var o=JSON.parse(r.substring(r.indexOf("{")));a=a||o.debug_id||"",!l&&Array.isArray(o.details)&&0<o.details.length&&(l=o.details[0].issue||""),r&&r!==e.message||(r=o.message||r),Array.isArray(o.details)&&0<o.details.length&&o.details[0].description&&(r=o.details[0].description)}catch(e){}e=(r||"").toLowerCase(),o=(l||"").toLowerCase(),e="unprocessable_entity"===e||"instrument_declined"===e||-1<e.indexOf("returned status 422"),o=-1<["unprocessable_entity","instrument_declined"].indexOf(o);return r=(r=e||o?wp.i18n.__("We could not process this card. Please check card details or try another payment method.","paypal-for-woocommerce"):r)||localizedMessages.general_error_message,a&&(r+=" [PayPal Debug ID: "+a+"]"),"<li>"+r+"</li>"},isCardFieldEligible:()=>!(!angelleyeOrder.isCheckoutPage()||"yes"!==angelleye_ppcp_manager.advanced_card_payments)&&"undefined"!=typeof angelleye_paypal_sdk&&void 0!==angelleye_paypal_sdk.CardFields&&!0===angelleye_paypal_sdk.CardFields().isEligible(),showPpcpPaymentMethods:()=>{jQuery("#angelleye_ppcp_checkout, #angelleye_ppcp_checkout_apple_pay, #angelleye_ppcp_checkout_google_pay").hide(),(angelleyeOrder.isApplePayPaymentMethodSelected()?jQuery("#angelleye_ppcp_checkout_apple_pay"):angelleyeOrder.isGooglePayPaymentMethodSelected()?jQuery("#angelleye_ppcp_checkout_google_pay"):jQuery("#angelleye_ppcp_checkout")).show()},hidePpcpPaymentMethods:()=>{jQuery("#angelleye_ppcp_checkout, #angelleye_ppcp_checkout_apple_pay, #angelleye_ppcp_checkout_google_pay").hide()},hideShowPlaceOrderButton:()=>{var e=angelleyeOrder.getSelectedPaymentMethod(),e=(console.log("hideShowPlaceOrderButton",e),angelleyeOrder.isAngelleyePpcpPaymentMethodSelected());!0===e&&jQuery(".wcf-pre-checkout-offer-action").val(""),!1===angelleyeOrder.isCardFieldEligible()&&jQuery(".payment_method_angelleye_ppcp_cc").hide(),!0===e&&"no"===angelleye_ppcp_manager.is_checkout_disable_smart_button||angelleyeOrder.isAngelleyePpcpAdditionalPaymentMethodSelected()?(showHidePlaceOrderBtn(),angelleyeOrder.showPpcpPaymentMethods()):(angelleyeOrder.hidePpcpPaymentMethods(),showHidePlaceOrderBtn())},createHiddenInputField:({fieldId:e,fieldName:r,fieldValue:a,fieldType:l,appendToSelector:o})=>{0<jQuery("#"+e).length&&jQuery("#"+e).remove(),jQuery("<input>",{type:void 0===l?"hidden":l,id:e,name:r,value:a}).appendTo(o)},getWooFormSelector:()=>{let e="";return angelleyeOrder.isProductPage()?e="form.cart":angelleyeOrder.isCartPage()?e="form.woocommerce-cart-form":angelleyeOrder.isCheckoutPage()&&(e=angelleyeOrder.getCheckoutSelectorCss()),0===jQuery(e).length&&(e="form.wc-block-checkout__form"),console.log(e),e},dedupeFormBody:e=>{if(!e||"string"!=typeof e)return e;var r,a,l,o,n,t,c={},p=[];for(r of e.split("&"))r&&(a=0<=(l=r.indexOf("="))?r.substring(0,l):r,l=0<=l?r.substring(l+1):"",Object.prototype.hasOwnProperty.call(c,a)?""===(0<=(t=(n=p[o=c[a]]).indexOf("="))?n.substring(t+1):"")&&""!==l&&(p[o]=r):(c[a]=p.length,p.push(r)));return p.join("&")},setPaymentMethodSelector:e=>{let r=angelleyeOrder.getWooFormSelector(),a=document.querySelector(r);a||(r=document.body),angelleyeOrder.createHiddenInputField({fieldId:"angelleye_ppcp_payment_method_title",fieldName:"angelleye_ppcp_payment_method_title",fieldValue:e,appendToSelector:r})},renderSmartButton:()=>{console.log("render smart buttons"),jQuery.each(angelleye_ppcp_manager.button_selector,function(e,c){if(console.log(c),jQuery(c).length&&!jQuery(c).children().length&&"undefined"!=typeof angelleye_paypal_sdk){var r="#angelleye_ppcp_fkcart"===c,l=r&&angelleye_ppcp_manager.fkcart_style?angelleye_ppcp_manager.fkcart_style:angelleye_ppcp_manager;let o={layout:l.style_layout,color:l.style_color,shape:l.style_shape,label:l.style_label},a=(""!==l.style_height&&(o.height=parseInt(l.style_height)),"vertical"!==l.style_layout&&(o.tagline="yes"===l.style_tagline),null),n={createOrder:function(e,r){return a=angelleyeJsErrorLogger.generateErrorId(),angelleyeOrder.showProcessingSpinner(),angelleyeJsErrorLogger.addToLog(a,"PayPal Smart Button Payment Started"),angelleyeOrder.createSmartButtonOrder({angelleye_ppcp_button_selector:c,errorLogId:a}).finally(()=>{angelleyeOrder.hideProcessingSpinner()})},onApprove:function(e,r){angelleyeOrder.showProcessingSpinner(),angelleyeOrder.approveOrder({...e,errorLogId:a})},onCancel:function(e,r){angelleyeOrder.hideProcessingSpinner(),angelleyeOrder.onCancel()},onClick:function(e,r){angelleyeOrder.setPaymentMethodSelector(e.fundingSource)},onError:function(e){angelleyeOrder.handleCreateOrderError(e,a)}},t=r&&angelleye_ppcp_manager.fkcart_style&&Array.isArray(angelleye_ppcp_manager.fkcart_style.disable_funding)?angelleye_ppcp_manager.fkcart_style.disable_funding:[];if(r&&0<t.length){let a={paypal:["gold","blue","silver","white","black"],venmo:["blue","silver","black","white"],paylater:["gold","blue","silver","white","black"],card:["black","white","silver"],credit:["darkblue","blue"]},l=!1;["paypal","venmo","paylater","card","credit"].forEach(function(e){var r;-1<t.indexOf(e)||angelleye_paypal_sdk.FUNDING&&angelleye_paypal_sdk.FUNDING[e.toUpperCase()]&&(r=Object.assign({},o),a[e]&&-1===a[e].indexOf(r.color)&&(r.color=a[e][0]),"venmo"!==e&&"card"!==e&&"credit"!==e||delete r.label,(r=angelleye_paypal_sdk.Buttons(Object.assign({style:r,fundingSource:angelleye_paypal_sdk.FUNDING[e.toUpperCase()]},n))).isEligible())&&(r.render(c),l=!0)}),l||angelleye_paypal_sdk.Buttons(Object.assign({style:o},n)).render(c)}else angelleye_paypal_sdk.Buttons(Object.assign({style:o},n)).render(c)}}),angelleyeOrder.isApplePayEnabled()&&jQuery.each(angelleye_ppcp_manager.apple_pay_btn_selector,function(e,r){(new ApplePayCheckoutButton).render(r)}),angelleyeOrder.isGooglePayEnabled()&&jQuery.each(angelleye_ppcp_manager.google_pay_btn_selector,function(e,r){(new GooglePayCheckoutButton).render(r)})},checkoutFormCapture:({checkoutSelector:r,payPalOrderId:e,errorLogId:a})=>{void 0===r&&(r=angelleyeOrder.getCheckoutSelectorCss());e=angelleye_ppcp_manager.cc_capture+"&paypal_order_id="+e+"&woocommerce-process-checkout-nonce="+angelleye_ppcp_manager.woocommerce_process_checkout+"&is_pay_page="+angelleye_ppcp_manager.is_pay_page;let l;angelleyeOrder.isCheckoutPage()&&(l=jQuery(r).serialize()),void 0!==window.can_update_checkout&&(jQuery(r).on("checkout_place_order_"+angelleyeOrder.getSelectedPaymentMethod(),function(){return!1}),jQuery(r).submit()),fetch(e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:l}).then(function(e){return e.json()}).then(function(e){window.location.href=e.data.redirect}).catch(e=>{console.log("capture error",e),jQuery(r).removeClass("processing paypal_cc_submiting CardFields createOrder"),angelleyeOrder.handleCreateOrderError(e,a),angelleyeOrder.hideProcessingSpinner("#customer_details, .woocommerce-checkout-review-order")})},renderHostedButtons:()=>{if("undefined"==typeof angelleye_paypal_sdk)angelleyeOrder.setPpcpCcSubmitHookReady(!1);else{let a=angelleyeOrder.getCheckoutSelectorCss();if(jQuery(a).is(".CardFields"))return!1;var e=document.getElementById("angelleye_ppcp_cc-card-number");if(e&&angelleyeOrder.hostedFieldsContainer===e){var e=null!==e.querySelector("iframe"),t=angelleyeOrder.hostedFieldsRenderedAt||0,t=Date.now()-t<2e3;if(e||t)return!1}if(!1===angelleyeOrder.isCCPaymentMethodSelected())return angelleyeOrder.setPpcpCcSubmitHookReady(!1),!1;if(parseFloat(angelleye_ppcp_manager.cart_total)<=0)return angelleyeOrder.setPpcpCcSubmitHookReady(!1),!1;let l=a,o=(jQuery(a).addClass("CardFields"),null),n=!1,r=angelleye_paypal_sdk.CardFields({createOrder:function(e,r){if(n=!1,jQuery(".woocommerce-NoticeGroup-checkout, .woocommerce-error, .woocommerce-message").remove(),!jQuery(a).hasClass("createOrder"))return o=angelleyeJsErrorLogger.generateErrorId(),angelleyeJsErrorLogger.addToLog(o,"Advanced CC Payment Started"),jQuery(a).addClass("createOrder"),angelleyeOrder.createOrder({errorLogId:o}).then(function(e){return angelleyeOrder.stopPpcpCcSubmitWatchdog(),e.orderID}).catch(e=>(angelleyeOrder.hideProcessingSpinner(l),angelleyeOrder.stopPpcpCcSubmitWatchdog(),n=!0,jQuery(a).removeClass("processing paypal_cc_submiting createOrder"),angelleyeOrder.ppcp_block_mode?angelleyeOrder.blockCreateOrderError="string"==typeof e?e.replace(/<[^>]+>/g,"").trim():e&&e.message||"PayPal card payment failed":angelleyeOrder.showError(e),""))},onApprove:function(e,r){e.orderID&&(angelleyeOrder.ppcp_block_mode?jQuery(document.body).trigger("angelleye_ppcp_cc_approved",[{paypalOrderId:e.orderID}]):angelleyeOrder.checkoutFormCapture({checkoutSelector:a,payPalOrderId:e.orderID,errorLogId:o}))},onError:function(e){var r;jQuery(a).removeClass("processing paypal_cc_submiting createOrder"),angelleyeOrder.stopPpcpCcSubmitWatchdog(),angelleyeOrder.hideProcessingSpinner(l),angelleyeOrder.ppcp_block_mode?(r=angelleyeOrder.blockCreateOrderError||angelleyeOrder.parsePayPalSdkError(e),jQuery(document.body).trigger("angelleye_ppcp_cc_error",[{message:r}])):(n||(r=angelleyeOrder.parsePayPalSdkError(e),angelleyeOrder.showError(r),angelleyeJsErrorLogger.logJsError(r,o)),console.log("Error occurred:",e),"object"==typeof e&&null!==e?(console.log("Error message:",e.message||"No error message available"),e.stack&&console.log("Stack trace:",e.stack)):console.log("Unexpected error format:",e))},style:{input:{"font-size":angelleye_ppcp_manager.card_style_props.font_size,color:angelleye_ppcp_manager.card_style_props.color,"font-weight":angelleye_ppcp_manager.card_style_props.font_weight,"font-style":angelleye_ppcp_manager.card_style_props.font_style,padding:angelleye_ppcp_manager.card_style_props.padding}},inputEvents:{onChange:function(e){e.cards&&0<e.cards.length&&(e=e.cards[0].type.replace("master-card","mastercard").replace("american-express","amex").replace("diners-club","dinersclub").replace("-",""),-1!==jQuery.inArray(e,angelleye_ppcp_manager.disable_cards)?(jQuery("#angelleye_ppcp_cc-card-number").addClass("ppcp-invalid-cart"),angelleyeOrder.showError(localizedMessages.card_not_supported)):jQuery("#angelleye_ppcp_cc-card-number").removeClass().addClass(e))}}});r.isEligible()?(jQuery("#angelleye_ppcp_cc-card-number, #angelleye_ppcp_cc-card-expiry, #angelleye_ppcp_cc-card-cvc").empty(),angelleyeOrder.hostedFieldsContainer=document.getElementById("angelleye_ppcp_cc-card-number"),angelleyeOrder.hostedFieldsRenderedAt=Date.now(),r.NumberField().render("#angelleye_ppcp_cc-card-number"),r.ExpiryField().render("#angelleye_ppcp_cc-card-expiry"),r.CVVField().render("#angelleye_ppcp_cc-card-cvc")):jQuery(".payment_method_angelleye_ppcp_cc").hide(),jQuery(document.body).off("submit_paypal_cc_form.angelleyePpcpCc").on("submit_paypal_cc_form.angelleyePpcpCc",e=>{e.preventDefault(),r.getState().then(e=>{e.isFormValid?(angelleyeOrder.showProcessingSpinner(l),r.submit().then(()=>{}).catch(e=>{angelleyeOrder.stopPpcpCcSubmitWatchdog(),console.log(e)})):e.isFormValid?e.errors&&(console.log(e),e.errors.forEach(e=>{console.log(e)})):(angelleyeOrder.stopPpcpCcSubmitWatchdog(),angelleyeOrder.hideProcessingSpinner(),jQuery(a).removeClass("processing paypal_cc_submiting CardFields createOrder"),angelleyeOrder.ppcp_block_mode?jQuery(document.body).trigger("angelleye_ppcp_cc_error",[{message:localizedMessages.fields_not_valid,context:"card_invalid"}]):(angelleyeOrder.removeError(),angelleyeOrder.showError(localizedMessages.fields_not_valid)))}).catch(e=>{angelleyeOrder.stopPpcpCcSubmitWatchdog(),angelleyeOrder.hideProcessingSpinner(),jQuery(a).removeClass("processing paypal_cc_submiting CardFields createOrder"),console.log("cardFields.getState() failed",e),angelleyeOrder.ppcp_block_mode?jQuery(document.body).trigger("angelleye_ppcp_cc_error",[{message:localizedMessages.fields_not_valid,context:"card_invalid"}]):(angelleyeOrder.removeError(),angelleyeOrder.showError(localizedMessages.fields_not_valid))})}),angelleyeOrder.setPpcpCcSubmitHookReady(!0)}},applePayDataInit:async()=>{var e;angelleyeOrder.isApplePayEnabled()&&(angelleyeOrder.showProcessingSpinner("#angelleye_ppcp_cart_apple_pay"),e=await angelleyeOrder.shippingAddressUpdate({}),angelleyeOrder.hideProcessingSpinner("#angelleye_ppcp_cart_apple_pay"),void 0!==e.totalAmount?angelleye_ppcp_manager.angelleye_cart_totals=e:window.location.reload())},getCartDetails:()=>angelleye_ppcp_manager.angelleye_cart_totals,updateCartTotalsInEnvironment:a=>{let l;var o={renderNeeded:!0};if(a?l=a:jQuery("#angelleye_cart_totals").length&&(l=JSON.parse(jQuery("#angelleye_cart_totals").text())),l){let r=()=>{console.log("angelleye_cart_total_updated",l),angelleye_ppcp_manager.angelleye_cart_totals=l,jQuery(document.body).trigger("angelleye_cart_total_updated")};a=angelleyeOrder.getCartDetails();if(a.currencyCode!==l.currencyCode){console.log(`Currency changed, refreshing PayPal Lib SDK: ${a.currencyCode} => `+l.currencyCode);let e=angelleyeOrder.getCheckoutSelectorCss();angelleyeOrder.showProcessingSpinner(e),angelleye_ppcp_manager.paypal_sdk_url=pfwUrlHelper.setQueryParam("currency",l.currencyCode,angelleye_ppcp_manager.paypal_sdk_url),window.angelleyeLoadAsyncLibs(()=>{r(),angelleyeOrder.renderPaymentButtons(),angelleyeOrder.hideProcessingSpinner(e)},()=>{console.log("Unable to refresh the PayPal Lib"),angelleyeOrder.showError("<li>"+localizedMessages.currency_change_js_load_error+"</li>"),angelleyeOrder.hideProcessingSpinner(e)}),o.renderNeeded=!1}else r()}return o},addPaymentMethodAdvancedCreditCard:()=>{if("undefined"!=typeof angelleye_paypal_sdk){let a=angelleyeOrder.getCheckoutSelectorCss(),r=angelleye_paypal_sdk.CardFields({createVaultSetupToken:async()=>{angelleyeOrder.showProcessingSpinner(a);var e=(await(await fetch(angelleye_ppcp_manager.angelleye_ppcp_cc_setup_tokens,{method:"POST"})).json()).id;return e},onApprove:async e=>{var r=angelleyeOrder.getConstantValue("approval_token_id"),r=angelleye_ppcp_manager.advanced_credit_card_create_payment_token+`&${r}=`+e.vaultSetupToken;fetch(r,{method:"POST"}).then(e=>e.json()).then(e=>{window.location.href=e.redirect}).catch(e=>{angelleyeOrder.showError(e),angelleyeOrder.hideProcessingSpinner(a),console.error("An error occurred:",e)})},onError:e=>{angelleyeOrder.hideProcessingSpinner(a),angelleyeOrder.showError(e),console.error("Something went wrong:",e)}});r.isEligible()?(r.NameField().render("#ppcp-my-account-card-holder-name"),r.NumberField().render("#ppcp-my-account-card-number"),r.ExpiryField().render("#ppcp-my-account-expiration-date"),r.CVVField().render("#ppcp-my-account-cvv")):jQuery(".payment_method_angelleye_ppcp_cc").hide(),jQuery(a).unbind("submit").on("submit",e=>{angelleyeOrder.removeError(),(angelleyeOrder.isCCPaymentMethodSelected()||angelleyeOrder.isPpcpPaymentMethodSelected())&&(angelleyeOrder.showProcessingSpinner(a),!0===angelleyeOrder.isCCPaymentMethodSelected())&&(e.preventDefault(),r.submit().then(e=>{console.log("add_payment_method_submit_success")}).catch(e=>{angelleyeOrder.hideProcessingSpinner(a),angelleyeOrder.showError(e),console.error("add_payment_method_submit_error:",e)}))})}},queuedEvents:{},addEventsForCallback:(e,r,a)=>{angelleyeOrder.queuedEvents[e]={event:r,data:a}},dequeueEvent:e=>{e in angelleyeOrder.queuedEvents&&delete angelleyeOrder.queuedEvents[e]},isPendingEventTriggering:!1,triggerPendingEvents:()=>{for(var e in angelleyeOrder.isPendingEventTriggering=!0,angelleyeOrder.queuedEvents)angelleyeOrder.queuedEvents[e].data?jQuery(document.body).trigger(e,[angelleyeOrder.queuedEvents[e].data]):jQuery(document.body).trigger(e),console.log(e)},renderPaymentButtons:()=>{angelleyeOrder.hideShowPlaceOrderButton(),angelleyeOrder.renderSmartButton(),!0===angelleyeOrder.isCardFieldEligible()&&(0===jQuery("#angelleye_ppcp_cc-card-number iframe").length&&jQuery(angelleyeOrder.getCheckoutSelectorCss()).removeClass("CardFields"),jQuery(".checkout_cc_separator").show(),jQuery("#wc-angelleye_ppcp-cc-form").show(),angelleyeOrder.renderHostedButtons())},hooks:{handleWooEvents:()=>{jQuery(document.body).on("updated_cart_totals payment_method_selected updated_checkout",function(e,r){console.log("hook_received => "+e.type,r,angelleyeOrder.getCartDetails()),angelleyeOrder.dequeueEvent(e.type);let a;void 0!==r&&void 0!==r.fragments&&void 0!==r.fragments.angelleye_payments_data?a=angelleyeOrder.updateCartTotalsInEnvironment(JSON.parse(r.fragments.angelleye_payments_data)):"updated_cart_totals"===e.type&&(a=angelleyeOrder.updateCartTotalsInEnvironment()),a&&!a.renderNeeded||angelleyeOrder.renderPaymentButtons()}),jQuery(document.body).on("trigger_angelleye_ppcp_cc",function(e){angelleyeOrder.renderPaymentButtons()}),jQuery(document.body).on("added_to_cart",function(e,r){r&&void 0!==r.angelleye_payments_data&&(angelleyeOrder.updateCartTotalsInEnvironment(JSON.parse(r.angelleye_payments_data)),angelleyeOrder.renderPaymentButtons())})},handleRaceConditionOnWooHooks:()=>{jQuery(document.body).on("updated_cart_totals payment_method_selected updated_checkout ppcp_block_ready trigger_angelleye_ppcp_cc",function(e,r){angelleyeOrder.isPendingEventTriggering||angelleyeOrder.addEventsForCallback(e.type,e,r)})},onPaymentCancellation:()=>{jQuery(document.body).on("angelleye_paypal_oncancel",function(e){e.preventDefault(),angelleyeOrder.isProductPage()&&!1===angelleyeOrder.productAddToCart&&fetch(angelleye_ppcp_manager.update_cart_oncancel,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:jQuery(angelleyeOrder.getWooFormSelector()).serialize()}).then(function(e){return e.json()}).then(function(e){window.location.reload()})})}}},localizedMessages=(()=>{var e=wp.i18n.__;return{card_not_supported:e("Unfortunately, we do not support this credit card type. Please try another card type.","paypal-for-woocommerce"),fields_not_valid:e("Unfortunately, your credit card details are not valid. Please review the card details and try again.","paypal-for-woocommerce"),error_message_checkout_validation:e("Unable to create the order due to the following errors.","paypal-for-woocommerce"),expiry_date_placeholder:e("MM / YY","paypal-for-woocommerce"),cvc_placeholder:e("CVC","paypal-for-woocommerce","paypal-for-woocommerce"),empty_cart_message:e("Your shopping cart seems to be empty.","paypal-for-woocommerce"),total_amount_placeholder:e("Total Amount","paypal-for-woocommerce"),apple_pay_pay_error:e("An error occurred while initiating the ApplePay payment.","paypal-for-woocommerce"),error_validating_merchant:e("This merchant is not enabled to process requested payment method. please contact website owner.","paypal-for-woocommerce"),general_error_message:e("We are unable to process your request at the moment, please contact website owner.","paypal-for-woocommerce"),shipping_amount_update_error:e("Unable to update the shipping amount.","paypal-for-woocommerce"),shipping_amount_pull_error:e("Unable to pull the shipping amount details based on selected address","paypal-for-woocommerce"),currency_change_js_load_error:e("We encountered an issue loading the updated currency. Please refresh the page or contact support for assistance.","paypal-for-woocommerce"),create_order_error:e("Unable to create the order, please contact the support.","paypal-for-woocommerce"),create_order_error_with_content:e("Unable to create the order, please contact the support with following error message.","paypal-for-woocommerce")}})(),pfwUrlHelper={getUrlObject:e=>(e=e||window.location.href,new URL(e)),setQueryParam:(e,r,a)=>{var l=(a=pfwUrlHelper.getUrlObject(a)).searchParams;return l.set(e,r),a.search=l.toString(),a.toString()},getQueryParams:e=>(e=pfwUrlHelper.getUrlObject(e)).searchParams,removeQueryParam:(e,r)=>{var a=(r=pfwUrlHelper.getUrlObject(r)).searchParams;return a.delete(e),r.search=a.toString(),r.toString()},removeAllParams:e=>((e=pfwUrlHelper.getUrlObject(e)).search="",e.toString())},angelleyeJsErrorLogger={errorStackMeta:{},generateErrorId:()=>Date.now()+Math.floor(101*Math.random()),addToLog:(e,r)=>{void 0===angelleyeJsErrorLogger.errorStackMeta[e]&&(angelleyeJsErrorLogger.errorStackMeta[e]=[]),angelleyeJsErrorLogger.errorStackMeta[e].push(r)},getLogTrace:e=>void 0!==angelleyeJsErrorLogger.errorStackMeta[e]?angelleyeJsErrorLogger.errorStackMeta[e]:[],logJsError:(e,r)=>{fetch(angelleye_ppcp_manager.handle_js_errors,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({error:e,logTrace:angelleyeJsErrorLogger.getLogTrace(r)})}).then(function(e){}).then(function(e){})}};