!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/public/js/",n(n.s="3MPN")}({"3MPN":function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t);var o=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ajaxUrl=t,this.action=n}var t,n,o;return t=e,(n=[{key:"submit",value:function(e){var t=this;if(_.isEmpty(e))return Promise.reject("No formData to send to the server.");var n={};return(e=e.concat([{name:"action",value:encodeURIComponent(this.action)}])).forEach((function(e){n[e.name]=e.value})),new Promise((function(e,r){jQuery.ajax({traditional:!0,url:t.ajaxUrl,method:"POST",data:n,error:r,success:e})}))}}])&&r(t.prototype,n),o&&r(t,o),e}();function a(e){return"context"in e.dataset?e.dataset.context:""}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(r=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(e){try{var t=i(function(e){var t=e.parentNode.querySelector(".".concat("woo-paypalplus-checkout-nonce"));if(!t)throw new Error("Cannot build the form data, missing security nonce.");var n="noncename"in t.dataset?t.dataset.noncename:"",r="noncevalue"in t.dataset?t.dataset.noncevalue:"";if(!n||!r)throw new Error("Cannot build the form data, missing security nonce.");return[n,r]}(e),2),n=t[0],r=t[1],o=a(e);return[{name:"context",value:encodeURIComponent(o)},{name:n,value:encodeURIComponent(r)}]}catch(e){return[]}}var l=n("o0O0");function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t){var n=[],r=a(e);if(-1===t.indexOf(r))throw new Error("Invalid context when try to retrieve the form data during express checkout request.");try{switch(r){case"cart":n=u(e);break;case"product":n=function(e){var t=jQuery(e).closest("form");if(!t.length)throw new Error("Unable to retrieve form. Form element does not exists or is not a parent of the given element.");var n=t.serializeArray(),r=a(e);return n=(n=n.concat([{name:"context",value:r}])).filter((function(e){return"add-to-cart"!==e.name}))}(e)}}catch(e){}return n}var p=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.buttonConfiguration=t,this.cancelUrl=this.buttonConfiguration.redirect_urls.cancel_url,this.validContexts=n,this.request=r}var t,n,r;return t=e,(n=[{key:"singleProductButtonRender",value:function(){var e=document.querySelector("#".concat("paypalplus_ecs_single_product_button"));e&&this.render(e)}},{key:"cartButtonRender",value:function(){var e=document.querySelector("#".concat("paypalplus_ecs_cart_button"));e&&this.render(e)}},{key:"render",value:function(e){var t=this;if(!_.isUndefined(paypal)){var n=e.querySelector(".paypal-button");n&&n.parentNode.removeChild(n),paypal.Button.render(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},this.buttonConfiguration,{payment:function(){var n=y(e,t.validContexts);return n=n.concat([{name:"task",value:"createOrder"}]),t.request.submit(n).then((function(e){if(!1 in e){console.warn("Unable to process the payment, server did not response with valid data");try{window.location=t.cancelUrl}catch(e){return}}if(!e.success)try{window.location=l.redirectUrlByRequest(e,t.cancelUrl)}catch(e){return}var n="orderId"in e.data?e.data.orderId:"";if(!n)try{window.location=l.redirectUrlByRequest(e,t.cancelUrl)}catch(e){return}return n})).catch((function(e){var t="textStatus"in e?e.textStatus:"Unknown Error during payment";console.warn(t)}))},onAuthorize:function(n,r){var o=y(e,t.validContexts);return o=o.concat(o,[{name:"task",value:"storePaymentData"},{name:"orderId",value:encodeURIComponent(n.OrderID)},{name:"PayerID",value:encodeURIComponent(n.payerID)},{name:"paymentId",value:encodeURIComponent(n.paymentID)},{name:"token",value:encodeURIComponent(n.paymentToken)}]),t.request.submit(o).then((function(e){if(!e.success)try{window.location=l.redirectUrlByRequest(e,t.cancelUrl)}catch(e){return}var n="";"redirect_urls"in t.buttonConfiguration&&"return_url"in t.buttonConfiguration.redirect_urls&&(n=t.buttonConfiguration.redirect_urls.return_url),n&&r.redirect(null,n)}))},onCancel:function(e,t){t.close();var n="cancelUrl"in e?e.cancelUrl:"";n&&t.redirect(null,n)},onError:function(e,t){console.log("ON ERROR",e,t)}}),e)}}}])&&d(t.prototype,n),r&&d(t,r),e}();!function(e,t,n){function r(){if(!t.isUndefined(n)&&!t.isEmpty(n)){var r=n.request;if(t.isObject(r)){var a=n.validContexts;if(t.isArray(a)){var i=function(e,t){if(!e||!t)throw new Error("Invalid parameters when construct Request instance");var n=new o(e,t);return Object.freeze(n),n}(r.ajaxUrl,r.action),c=function(e,t,n){var r=new p(e,t,n);return Object.freeze(r),r}(n,a,i),u=n.paymentButtonRenderEvents||[];c.singleProductButtonRender(),c.cartButtonRender(),e(document.body).on(u.join(" "),(function(){c.cartButtonRender()}))}}}}window.addEventListener("load",(function(){r()}))}(jQuery,window._,window.wooPayPalPlusExpressCheckout)},o0O0:function(e,t){}});