@dintero/checkout-web-sdk 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ require('native-promise-only');
6
6
 
7
7
  var pkg = {
8
8
  name: "@dintero/checkout-web-sdk",
9
- version: "0.9.0",
9
+ version: "0.10.0",
10
10
  description: "Dintero Checkout SDK for web frontends",
11
11
  main: "dist/dintero-checkout-web-sdk.cjs.js",
12
12
  module: "dist/dintero-checkout-web-sdk.esm.js",
@@ -29,7 +29,7 @@ var pkg = {
29
29
  "private": false,
30
30
  repository: {
31
31
  type: "git",
32
- url: "https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
32
+ url: "git+https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
33
33
  },
34
34
  homepage: "https://github.com/Dintero/Dintero.Checkout.Web.SDK#readme",
35
35
  author: "Sven Nicolai Viig <sven@dintero.com> (http://dintero.com)",
@@ -45,7 +45,7 @@ var pkg = {
45
45
  "@semantic-release/git": "10.0.1",
46
46
  "@vitest/browser": "3.2.4",
47
47
  prettier: "3.6.2",
48
- "semantic-release": "24.2.9",
48
+ "semantic-release": "25.0.1",
49
49
  typescript: "5.9.3",
50
50
  vitest: "3.2.4",
51
51
  webdriverio: "9.20.0"
@@ -6,7 +6,7 @@ require('native-promise-only');
6
6
 
7
7
  var pkg = {
8
8
  name: "@dintero/checkout-web-sdk",
9
- version: "0.9.0",
9
+ version: "0.10.0",
10
10
  description: "Dintero Checkout SDK for web frontends",
11
11
  main: "dist/dintero-checkout-web-sdk.cjs.js",
12
12
  module: "dist/dintero-checkout-web-sdk.esm.js",
@@ -29,7 +29,7 @@ var pkg = {
29
29
  "private": false,
30
30
  repository: {
31
31
  type: "git",
32
- url: "https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
32
+ url: "git+https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
33
33
  },
34
34
  homepage: "https://github.com/Dintero/Dintero.Checkout.Web.SDK#readme",
35
35
  author: "Sven Nicolai Viig <sven@dintero.com> (http://dintero.com)",
@@ -45,7 +45,7 @@ var pkg = {
45
45
  "@semantic-release/git": "10.0.1",
46
46
  "@vitest/browser": "3.2.4",
47
47
  prettier: "3.6.2",
48
- "semantic-release": "24.2.9",
48
+ "semantic-release": "25.0.1",
49
49
  typescript: "5.9.3",
50
50
  vitest: "3.2.4",
51
51
  webdriverio: "9.20.0"
@@ -2,7 +2,7 @@ import 'native-promise-only';
2
2
 
3
3
  var pkg = {
4
4
  name: "@dintero/checkout-web-sdk",
5
- version: "0.9.0",
5
+ version: "0.10.0",
6
6
  description: "Dintero Checkout SDK for web frontends",
7
7
  main: "dist/dintero-checkout-web-sdk.cjs.js",
8
8
  module: "dist/dintero-checkout-web-sdk.esm.js",
@@ -25,7 +25,7 @@ var pkg = {
25
25
  "private": false,
26
26
  repository: {
27
27
  type: "git",
28
- url: "https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
28
+ url: "git+https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
29
29
  },
30
30
  homepage: "https://github.com/Dintero/Dintero.Checkout.Web.SDK#readme",
31
31
  author: "Sven Nicolai Viig <sven@dintero.com> (http://dintero.com)",
@@ -41,7 +41,7 @@ var pkg = {
41
41
  "@semantic-release/git": "10.0.1",
42
42
  "@vitest/browser": "3.2.4",
43
43
  prettier: "3.6.2",
44
- "semantic-release": "24.2.9",
44
+ "semantic-release": "25.0.1",
45
45
  typescript: "5.9.3",
46
46
  vitest: "3.2.4",
47
47
  webdriverio: "9.20.0"
@@ -3,5 +3,5 @@
3
3
  v0.8.1 (c) Kyle Simpson
4
4
  MIT License: http://getify.mit-license.org
5
5
  */
6
- var n,o,i;i=function(){var e,t,n,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,o){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==o})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function r(e,o){n.add(e,o),t||(t=i(n.drain))}function s(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function a(){for(var e=0;e<this.chain.length;e++)d(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function d(e,t,n){var o,i;try{!1===t?n.reject(e.msg):(o=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,n.resolve,n.reject):n.resolve(o)}catch(e){n.reject(e)}}function c(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=s(e))?r((function(){var o=new u(n);try{t.call(e,(function(){c.apply(o,arguments)}),(function(){l.apply(o,arguments)}))}catch(e){l.call(o,e)}})):(n.msg=e,n.state=1,n.chain.length>0&&r(a,n))}catch(e){l.call(new u(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&r(a,t))}function p(e,t,n,o){for(var i=0;i<t.length;i++)!function(i){e.resolve(t[i]).then((function(e){n(i,e)}),o)}(i)}function u(e){this.def=e,this.triggered=!1}function f(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function h(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var t=new f(this);this.then=function(e,n){var o={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return o.promise=new this.constructor((function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t})),t.chain.push(o),0!==t.state&&r(a,t),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){c.call(t,e)}),(function(e){l.call(t,e)}))}catch(e){l.call(t,e)}}n=function(){var e,n,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,r){o=new i(t,r),n?n.next=o:e=o,n=o,o=void 0},drain:function(){var o=e;for(e=n=t=void 0;o;)o.fn.call(o.self),o=o.next}}}();var m=e({},"constructor",h,!1);return h.prototype=m,e(m,"__NPO__",0,!1),e(h,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)}))})),e(h,"reject",(function(e){return new this((function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)}))})),e(h,"all",(function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t((function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(t,e,(function(e,t){r[e]=t,++s===i&&n(r)}),o)}))})),e(h,"race",(function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):new t((function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");p(t,e,(function(e,t){n(t)}),o)}))})),h},(o=t)[n="Promise"]=o[n]||i(),e.exports&&(e.exports=o[n])}));var n="0.9.0";let o=function(e){return e.SessionNotFound="SessionNotFound",e.SessionLoaded="SessionLoaded",e.SessionUpdated="SessionUpdated",e.SessionCancel="SessionCancel",e.SessionPaymentOnHold="SessionPaymentOnHold",e.SessionPaymentAuthorized="SessionPaymentAuthorized",e.SessionPaymentError="SessionPaymentError",e.SessionLocked="SessionLocked",e.SessionLockFailed="SessionLockFailed",e.ActivePaymentProductType="ActivePaymentProductType",e.ValidateSession="ValidateSession",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=()=>{try{const{hostname:e}=window.location;return e}catch(e){return}},a=()=>{try{if(window.self===window.top)return!0;const e=s(),t=window.top.location.hostname;return t&&e&&e===t}catch(e){return!1}},d=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const a=new URLSearchParams;a.append("ui","fullscreen"),a.append("role","pop_out_payment"),a.append("sid",e),a.append("sdk",n),o&&a.append("language",o),i&&a.append("loader","true");const d=s();return d&&a.append("sdk_hostname",d),`${r(t)}?${a.toString()}`},c=e=>{const{sid:t,endpoint:o,language:i,ui:d,shouldCallValidateSession:c,popOut:l}=e;if(!o)throw new Error("Invalid endpoint");const p=new URLSearchParams;p.append("sdk",n),d&&p.append("ui",d),i&&p.append("language",i),c&&p.append("client_side_validation","true"),l&&p.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&p.append("hide_test_message","true");const u=s();return u&&p.append("sdk_hostname",u),U||a()||p.append("sdk_not_top_level","false"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${p.toString()}`:(p.append("sid",t),`${r(o)}?${p.toString()}`)},l=e=>{window.location.assign(e)},p=(e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},"*")},u=e=>{const{sid:t,endpoint:n,handler:o,eventTypes:i,checkout:r}=e,s=new URL(n),a=e=>{const n=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===t,c=-1!==i.indexOf(e.data&&e.data.type);n&&a&&d&&c&&(((e,t)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},t.origin||"*")})(r.iframe.contentWindow,e),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},f="dintero-checkout-sdk-style",h="dintero-checkout-sdk-backdrop",m="dintero-checkout-sdk-backdrop-description",g="dintero-checkout-sdk-backdrop-focus",y="dintero-checkout-sdk-backdrop-close",w=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),v=()=>{const e=document.createElement("div");return e.setAttribute("id",h),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),t=Array.from(e).reduce(((e,t)=>{try{const n=document.defaultView.getComputedStyle(t,null).getPropertyValue("z-index"),o=parseInt(n||"0");if(!isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e}),0);return t<9999?"9999":(t+1).toString()})(),e},b=e=>{const t=document.getElementById(g),n=document.getElementById(y);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n.focus(),e.preventDefault()):(t.focus(),e.preventDefault()))},L=e=>{(()=>{if(document.getElementById(f))return;const e=document.createElement("style");e.setAttribute("id",f),e.innerHTML=`\n @keyframes ${h}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${h} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${h}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${h} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${g} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${g}:hover,\n #${g}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${g}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${y} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${y}:hover,\n #${y}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${y}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${h}:before,\n #${h}:after,\n #${h} > *:before,\n #${h} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=v(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",y),t.setAttribute("type","button"),t.setAttribute("aria-label",e),t.innerHTML='\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n alt="close icon"\n >\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>',t})(e.event.closeLabel),o=(()=>{const e=document.createElement("div");return e.innerHTML='\n <svg width="120px" height="22px" viewBox="0 0 630 111" version="1.1" >\n <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">\n <g id="Dintero" fill="#ffffff" fillRule="nonzero">\n <path d="M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z" id="Shape"></path>\n </g>\n </g>\n </svg>',e})(),i=(e=>{const t=document.createElement("p");return t.setAttribute("id",m),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",g),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=w(e.focus),r.onclick=w(e.focus),n.onclick=w(e.close),document.addEventListener("keydown",b),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},S=()=>{try{const e=document.getElementById(h);e&&document.body.removeChild(e),document.removeEventListener("keydown",b)}catch(e){console.error(e)}},C="dintero-checkout-sdk-launch-pop-out",T=(e,t)=>{if(!e&&!t)return;const n=`${C}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);let i=[];e&&i.push(k(`#${C}:hover:not(:disabled)`,e)),t&&i.push(k(`#${C}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},k=(e,t)=>[`${e} {`,x(t),"}"].join("\n"),x=e=>Object.entries(e).map((([e,t])=>` ${P(e)}: ${t} !important;`)).join("\n"),P=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),E=e=>{const{container:t}=e,n=document.getElementById(C),o=n||document.createElement("button");((e,{label:t,disabled:n,top:o,left:i,right:r,styles:s,onClick:a,stylesHover:d,stylesFocusVisible:c})=>{e.setAttribute("id",C),e.setAttribute("type","button"),"true"===n?e.setAttribute("disabled",n):e.removeAttribute("disabled"),e.onclick=t=>{t.preventDefault(),t.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout((()=>{e.style.boxShadow="none"}),200)},e.innerText=t,e.style.position="absolute",e.style.top=o+"px",e.style.left=i+"px",e.style.right=r+"px";const{...l}=s;for(const[t,n]of Object.entries(l))e.style[t]=n;try{T(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},O=()=>{try{const e=document.getElementById(C);e&&e.remove()}catch(e){console.error(e)}},A=async e=>{let t,n,o=-1;if(n&&!n.closed)return;const i=d(e);n=await((e,t,n,o)=>new Promise((i=>{try{const r=window.screenX+(window.outerWidth-n)/2,s=window.screenY+(window.outerHeight-o)/2,a=`width=${n},height=${o},left=${r},top=${s},location=no,menubar=no,toolbar=no,status=no`;let d,c=-1;const l=n=>{const o=n.source===d,r=n.origin===new URL(t).origin,s=n.data&&"AppLoaded"===n.data.type,a="popOut"===n.data.context,p=n.data.sid===e;o&&r&&s&&a&&p&&(clearTimeout(c),i(d),window.removeEventListener("message",l))};if(window.addEventListener("message",l),d=window.open(t,"dintero-checkout",a),!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout((()=>{console.log("createPopOutWindow timeout"),i(void 0)}),1e4)}catch(e){i(void 0)}})))(e.sid,i,Math.min(480,window.screen.width),Math.min(840,window.screen.height));const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",s),n=void 0,e.onClose(),t&&t()},s=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",s),o=window.setInterval((()=>{n&&n.closed&&r()}),200),t=e.onOpen(n),{close:s,focus:()=>{n&&n.focus()},popOutWindow:n}},$=(e,t)=>{try{e&&e.postMessage({type:"LockSession",sid:t},"*")}catch(e){console.error(e)}},W=(e,t)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},"*")}catch(e){console.error(e)}},M=(e,t,n)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")}catch(e){console.error(e)}},_=(e,t)=>{z(t),e.href&&l(e.href)},j=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},V=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},B=(e,t)=>{e.language&&(t.language=e.language)},I=(e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i;n=t.iframe,o=t.options.sid,i=e.language,n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},"*")}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(t,n)=>{if(t.href){O();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{o.source===e&&"popOut"===o.data.context&&o.data.sid===t.options.sid&&[n,r,...t.handlers].forEach((e=>{e.eventTypes.includes(o.data.type)&&e.handler&&(e=>{try{e()}catch(e){console.error(e)}})((()=>{e.handler(o.data,t)}))}))};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},H=async(e,t)=>{const{close:n,focus:o,popOutWindow:i}=await A({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:Boolean(t.options.onValidateSession),language:e.language,onOpen:e=>I(e,t),onClose:()=>{var e,n;S(),e=t.iframe,n=t.options.sid,e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},"*"),(e=>{try{const t=document.getElementById(C);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}});return i?(r=t.iframe,s=t.options.sid,r.contentWindow&&r.contentWindow.postMessage({type:"OpenedPopOut",sid:s},"*"),t.popOutWindow=i,(e=>{try{if(document.getElementById(h))return;return L(e)}catch(e){console.error(e)}})({focus:o,close:n,event:e}),!0):(((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},"*")})(t.iframe,t.options.sid),!1);var r,s},N=async(e,t)=>{if(await H(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},"*");const r=((e,t)=>n=>{p(t.iframe,t.options.sid,n),n.success&&t.popOutWindow?t.popOutWindow.location.href=d({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:!1,language:e.language}):(t.popOutWindow&&t.popOutWindow.close(),console.error(n.clientValidationError))})(e,t);try{t.options.onValidateSession({type:o.ValidateSession,session:t.session,callback:r},t,r)}catch(e){console.error(e),p(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"})}}var n,i},F=(e,t)=>{(e=>e&&e.type===i.ShowPopOutButton)(e)&&(E({container:t.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,stylesHover:e.stylesHover,stylesFocusVisible:e.stylesFocusVisible,disabled:e.disabled,onClick:()=>N(e,t)}),(e=>{const t=document.getElementById(g);t&&(t.innerText=e.focusLabel);const n=document.getElementById(m);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(y);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},R=(e,t)=>{e.type===i.HidePopOutButton&&O()},z=e=>{if(O(),S(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}},U=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;l(c({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1,redirect:!0}))};e.embed=async e=>{const t=document.createElement("div");t.style.position="relative",t.style["box-sizing"]="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:a,language:d,endpoint:l,onSession:f,onSessionCancel:h,onPayment:m,onPaymentAuthorized:g,onPaymentError:y,onSessionNotFound:w,onSessionLocked:v,onSessionLockFailed:b,onActivePaymentType:L,onValidateSession:C,popOut:T}=r;let k;const x=[];let P=!1;s.appendChild(t);const{iframe:E,initiate:O}=((e,t,n)=>{if(!e||!e.appendChild)throw new Error("Invalid container");const o=document.createElement("iframe");return o.setAttribute("frameborder","0"),o.setAttribute("allowTransparency","true"),o.setAttribute("style","width:100%; height:0;"),o.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),o.setAttribute("allow","payment; clipboard-write *"),o.setAttribute("importance","high"),o.setAttribute("src",n),{iframe:o,initiate:async()=>new Promise(((t,n)=>{o.onload=()=>t(),o.onerror=()=>n(),e.appendChild(o)}))}})(t,0,c({sid:a,endpoint:l,language:d,ui:e.ui||"inline",shouldCallValidateSession:void 0!==C,popOut:T,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),A=(e,t,n)=>{if(!k)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((o,i)=>{const r=[];r.push(u({sid:a,endpoint:l,handler:e=>{r.forEach((e=>e.unsubscribe())),o(e)},eventTypes:[t],checkout:k,source:k.iframe.contentWindow})),r.push(u({sid:a,endpoint:l,handler:()=>{r.forEach((e=>e.unsubscribe())),i(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:k,source:k.iframe.contentWindow})),e()}))},I=()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},"*")})(E,a),W(k?.popOutWindow,a)}),o.SessionUpdated,o.SessionNotFound),H=e=>{p(E,a,e)},N=(e,t,i)=>(e,r)=>{if(!P){P=!0,z(r);const s=["sid","merchant_reference","transaction_id","error"].map((t=>[t,e[t]]));e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",n]);const a=s.filter((([e,t])=>t)).map((([e,t])=>`${e}=${t}`)).join("&");r.iframe.setAttribute("src",((e,t,n)=>{const o=e.endsWith("/")?"":"/";return`${e}${o}${t}?${n}`})(t,"embedResult/",a)),i(e,r)}},U=[{handler:B,eventTypes:[i.LanguageChanged]},{handler:j,eventTypes:[i.HeightChanged]},{handler:V,eventTypes:[i.ScrollToTop]},{handler:(e,t)=>{t.session=e.session,f&&f(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:N(0,l,m||_)},{eventTypes:[o.SessionPaymentAuthorized],handler:N(0,l,g||m||_)},{handler:N(0,l,h||_),eventTypes:[o.SessionCancel]},{handler:N(0,l,y||_),eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{v&&v(e,t,I)},eventTypes:[o.SessionLocked]},{handler:b,eventTypes:[o.SessionLockFailed]},{handler:L,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(C)try{C({...e,callback:H},t,H)}catch(e){console.error(e),H({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:F,eventTypes:[i.ShowPopOutButton]},{handler:R,eventTypes:[i.HidePopOutButton]}];return k={destroy:()=>{z(k),E&&(r.popOut&&S(),x.forEach((e=>e.unsubscribe())),E.parentElement&&t.removeChild(E)),t.parentElement&&s.removeChild(t)},iframe:E,language:d,lockSession:()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},"*")})(E,a),$(k?.popOutWindow,a)}),o.SessionLocked,o.SessionLockFailed),refreshSession:I,setActivePaymentProductType:t=>{e.popOut?M(k?.popOutWindow,a,t):((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")})(E,a,t)},submitValidationResult:H,options:r,handlers:U,session:void 0,popOutWindow:void 0},U.forEach((({handler:e,eventTypes:t})=>{e&&x.push(u({sid:a,endpoint:l,handler:e,eventTypes:t,checkout:k,source:k.iframe.contentWindow}))})),await O(),k},e.redirect=U,Object.defineProperty(e,"__esModule",{value:!0})}));
6
+ var n,o,i;i=function(){var e,t,n,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,o){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==o})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function r(e,o){n.add(e,o),t||(t=i(n.drain))}function s(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function a(){for(var e=0;e<this.chain.length;e++)d(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function d(e,t,n){var o,i;try{!1===t?n.reject(e.msg):(o=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,n.resolve,n.reject):n.resolve(o)}catch(e){n.reject(e)}}function c(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=s(e))?r((function(){var o=new u(n);try{t.call(e,(function(){c.apply(o,arguments)}),(function(){l.apply(o,arguments)}))}catch(e){l.call(o,e)}})):(n.msg=e,n.state=1,n.chain.length>0&&r(a,n))}catch(e){l.call(new u(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&r(a,t))}function p(e,t,n,o){for(var i=0;i<t.length;i++)!function(i){e.resolve(t[i]).then((function(e){n(i,e)}),o)}(i)}function u(e){this.def=e,this.triggered=!1}function f(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function h(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var t=new f(this);this.then=function(e,n){var o={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return o.promise=new this.constructor((function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t})),t.chain.push(o),0!==t.state&&r(a,t),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){c.call(t,e)}),(function(e){l.call(t,e)}))}catch(e){l.call(t,e)}}n=function(){var e,n,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,r){o=new i(t,r),n?n.next=o:e=o,n=o,o=void 0},drain:function(){var o=e;for(e=n=t=void 0;o;)o.fn.call(o.self),o=o.next}}}();var m=e({},"constructor",h,!1);return h.prototype=m,e(m,"__NPO__",0,!1),e(h,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)}))})),e(h,"reject",(function(e){return new this((function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)}))})),e(h,"all",(function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t((function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(t,e,(function(e,t){r[e]=t,++s===i&&n(r)}),o)}))})),e(h,"race",(function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):new t((function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");p(t,e,(function(e,t){n(t)}),o)}))})),h},(o=t)[n="Promise"]=o[n]||i(),e.exports&&(e.exports=o[n])}));var n="0.10.0";let o=function(e){return e.SessionNotFound="SessionNotFound",e.SessionLoaded="SessionLoaded",e.SessionUpdated="SessionUpdated",e.SessionCancel="SessionCancel",e.SessionPaymentOnHold="SessionPaymentOnHold",e.SessionPaymentAuthorized="SessionPaymentAuthorized",e.SessionPaymentError="SessionPaymentError",e.SessionLocked="SessionLocked",e.SessionLockFailed="SessionLockFailed",e.ActivePaymentProductType="ActivePaymentProductType",e.ValidateSession="ValidateSession",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=()=>{try{const{hostname:e}=window.location;return e}catch(e){return}},a=()=>{try{if(window.self===window.top)return!0;const e=s(),t=window.top.location.hostname;return t&&e&&e===t}catch(e){return!1}},d=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const a=new URLSearchParams;a.append("ui","fullscreen"),a.append("role","pop_out_payment"),a.append("sid",e),a.append("sdk",n),o&&a.append("language",o),i&&a.append("loader","true");const d=s();return d&&a.append("sdk_hostname",d),`${r(t)}?${a.toString()}`},c=e=>{const{sid:t,endpoint:o,language:i,ui:d,shouldCallValidateSession:c,popOut:l}=e;if(!o)throw new Error("Invalid endpoint");const p=new URLSearchParams;p.append("sdk",n),d&&p.append("ui",d),i&&p.append("language",i),c&&p.append("client_side_validation","true"),l&&p.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&p.append("hide_test_message","true");const u=s();return u&&p.append("sdk_hostname",u),U||a()||p.append("sdk_not_top_level","false"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${p.toString()}`:(p.append("sid",t),`${r(o)}?${p.toString()}`)},l=e=>{window.location.assign(e)},p=(e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},"*")},u=e=>{const{sid:t,endpoint:n,handler:o,eventTypes:i,checkout:r}=e,s=new URL(n),a=e=>{const n=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===t,c=-1!==i.indexOf(e.data&&e.data.type);n&&a&&d&&c&&(((e,t)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},t.origin||"*")})(r.iframe.contentWindow,e),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},f="dintero-checkout-sdk-style",h="dintero-checkout-sdk-backdrop",m="dintero-checkout-sdk-backdrop-description",g="dintero-checkout-sdk-backdrop-focus",y="dintero-checkout-sdk-backdrop-close",w=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),v=()=>{const e=document.createElement("div");return e.setAttribute("id",h),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),t=Array.from(e).reduce(((e,t)=>{try{const n=document.defaultView.getComputedStyle(t,null).getPropertyValue("z-index"),o=parseInt(n||"0");if(!isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e}),0);return t<9999?"9999":(t+1).toString()})(),e},b=e=>{const t=document.getElementById(g),n=document.getElementById(y);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n.focus(),e.preventDefault()):(t.focus(),e.preventDefault()))},L=e=>{(()=>{if(document.getElementById(f))return;const e=document.createElement("style");e.setAttribute("id",f),e.innerHTML=`\n @keyframes ${h}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${h} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${h}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${h} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${g} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${g}:hover,\n #${g}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${g}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${y} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${y}:hover,\n #${y}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${y}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${h}:before,\n #${h}:after,\n #${h} > *:before,\n #${h} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=v(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",y),t.setAttribute("type","button"),t.setAttribute("aria-label",e),t.innerHTML='\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n alt="close icon"\n >\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>',t})(e.event.closeLabel),o=(()=>{const e=document.createElement("div");return e.innerHTML='\n <svg width="120px" height="22px" viewBox="0 0 630 111" version="1.1" >\n <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">\n <g id="Dintero" fill="#ffffff" fillRule="nonzero">\n <path d="M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z" id="Shape"></path>\n </g>\n </g>\n </svg>',e})(),i=(e=>{const t=document.createElement("p");return t.setAttribute("id",m),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",g),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=w(e.focus),r.onclick=w(e.focus),n.onclick=w(e.close),document.addEventListener("keydown",b),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},S=()=>{try{const e=document.getElementById(h);e&&document.body.removeChild(e),document.removeEventListener("keydown",b)}catch(e){console.error(e)}},C="dintero-checkout-sdk-launch-pop-out",T=(e,t)=>{if(!e&&!t)return;const n=`${C}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);let i=[];e&&i.push(k(`#${C}:hover:not(:disabled)`,e)),t&&i.push(k(`#${C}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},k=(e,t)=>[`${e} {`,x(t),"}"].join("\n"),x=e=>Object.entries(e).map((([e,t])=>` ${P(e)}: ${t} !important;`)).join("\n"),P=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),E=e=>{const{container:t}=e,n=document.getElementById(C),o=n||document.createElement("button");((e,{label:t,disabled:n,top:o,left:i,right:r,styles:s,onClick:a,stylesHover:d,stylesFocusVisible:c})=>{e.setAttribute("id",C),e.setAttribute("type","button"),"true"===n?e.setAttribute("disabled",n):e.removeAttribute("disabled"),e.onclick=t=>{t.preventDefault(),t.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout((()=>{e.style.boxShadow="none"}),200)},e.innerText=t,e.style.position="absolute",e.style.top=o+"px",e.style.left=i+"px",e.style.right=r+"px";const{...l}=s;for(const[t,n]of Object.entries(l))e.style[t]=n;try{T(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},O=()=>{try{const e=document.getElementById(C);e&&e.remove()}catch(e){console.error(e)}},A=async e=>{let t,n,o=-1;if(n&&!n.closed)return;const i=d(e);n=await((e,t,n,o)=>new Promise((i=>{try{const r=window.screenX+(window.outerWidth-n)/2,s=window.screenY+(window.outerHeight-o)/2,a=`width=${n},height=${o},left=${r},top=${s},location=no,menubar=no,toolbar=no,status=no`;let d,c=-1;const l=n=>{const o=n.source===d,r=n.origin===new URL(t).origin,s=n.data&&"AppLoaded"===n.data.type,a="popOut"===n.data.context,p=n.data.sid===e;o&&r&&s&&a&&p&&(clearTimeout(c),i(d),window.removeEventListener("message",l))};if(window.addEventListener("message",l),d=window.open(t,"dintero-checkout",a),!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout((()=>{console.log("createPopOutWindow timeout"),i(void 0)}),1e4)}catch(e){i(void 0)}})))(e.sid,i,Math.min(480,window.screen.width),Math.min(840,window.screen.height));const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",s),n=void 0,e.onClose(),t&&t()},s=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",s),o=window.setInterval((()=>{n&&n.closed&&r()}),200),t=e.onOpen(n),{close:s,focus:()=>{n&&n.focus()},popOutWindow:n}},$=(e,t)=>{try{e&&e.postMessage({type:"LockSession",sid:t},"*")}catch(e){console.error(e)}},W=(e,t)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},"*")}catch(e){console.error(e)}},M=(e,t,n)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")}catch(e){console.error(e)}},_=(e,t)=>{z(t),e.href&&l(e.href)},j=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},V=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},B=(e,t)=>{e.language&&(t.language=e.language)},I=(e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i;n=t.iframe,o=t.options.sid,i=e.language,n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},"*")}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(t,n)=>{if(t.href){O();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{o.source===e&&"popOut"===o.data.context&&o.data.sid===t.options.sid&&[n,r,...t.handlers].forEach((e=>{e.eventTypes.includes(o.data.type)&&e.handler&&(e=>{try{e()}catch(e){console.error(e)}})((()=>{e.handler(o.data,t)}))}))};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},H=async(e,t)=>{const{close:n,focus:o,popOutWindow:i}=await A({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:Boolean(t.options.onValidateSession),language:e.language,onOpen:e=>I(e,t),onClose:()=>{var e,n;S(),e=t.iframe,n=t.options.sid,e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},"*"),(e=>{try{const t=document.getElementById(C);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}});return i?(r=t.iframe,s=t.options.sid,r.contentWindow&&r.contentWindow.postMessage({type:"OpenedPopOut",sid:s},"*"),t.popOutWindow=i,(e=>{try{if(document.getElementById(h))return;return L(e)}catch(e){console.error(e)}})({focus:o,close:n,event:e}),!0):(((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},"*")})(t.iframe,t.options.sid),!1);var r,s},N=async(e,t)=>{if(await H(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},"*");const r=((e,t)=>n=>{p(t.iframe,t.options.sid,n),n.success&&t.popOutWindow?t.popOutWindow.location.href=d({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:!1,language:e.language}):(t.popOutWindow&&t.popOutWindow.close(),console.error(n.clientValidationError))})(e,t);try{t.options.onValidateSession({type:o.ValidateSession,session:t.session,callback:r},t,r)}catch(e){console.error(e),p(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"})}}var n,i},F=(e,t)=>{(e=>e&&e.type===i.ShowPopOutButton)(e)&&(E({container:t.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,stylesHover:e.stylesHover,stylesFocusVisible:e.stylesFocusVisible,disabled:e.disabled,onClick:()=>N(e,t)}),(e=>{const t=document.getElementById(g);t&&(t.innerText=e.focusLabel);const n=document.getElementById(m);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(y);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},R=(e,t)=>{e.type===i.HidePopOutButton&&O()},z=e=>{if(O(),S(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}},U=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;l(c({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1,redirect:!0}))};e.embed=async e=>{const t=document.createElement("div");t.style.position="relative",t.style["box-sizing"]="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:a,language:d,endpoint:l,onSession:f,onSessionCancel:h,onPayment:m,onPaymentAuthorized:g,onPaymentError:y,onSessionNotFound:w,onSessionLocked:v,onSessionLockFailed:b,onActivePaymentType:L,onValidateSession:C,popOut:T}=r;let k;const x=[];let P=!1;s.appendChild(t);const{iframe:E,initiate:O}=((e,t,n)=>{if(!e||!e.appendChild)throw new Error("Invalid container");const o=document.createElement("iframe");return o.setAttribute("frameborder","0"),o.setAttribute("allowTransparency","true"),o.setAttribute("style","width:100%; height:0;"),o.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),o.setAttribute("allow","payment; clipboard-write *"),o.setAttribute("importance","high"),o.setAttribute("src",n),{iframe:o,initiate:async()=>new Promise(((t,n)=>{o.onload=()=>t(),o.onerror=()=>n(),e.appendChild(o)}))}})(t,0,c({sid:a,endpoint:l,language:d,ui:e.ui||"inline",shouldCallValidateSession:void 0!==C,popOut:T,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),A=(e,t,n)=>{if(!k)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((o,i)=>{const r=[];r.push(u({sid:a,endpoint:l,handler:e=>{r.forEach((e=>e.unsubscribe())),o(e)},eventTypes:[t],checkout:k,source:k.iframe.contentWindow})),r.push(u({sid:a,endpoint:l,handler:()=>{r.forEach((e=>e.unsubscribe())),i(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:k,source:k.iframe.contentWindow})),e()}))},I=()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},"*")})(E,a),W(k?.popOutWindow,a)}),o.SessionUpdated,o.SessionNotFound),H=e=>{p(E,a,e)},N=(e,t,i)=>(e,r)=>{if(!P){P=!0,z(r);const s=["sid","merchant_reference","transaction_id","error"].map((t=>[t,e[t]]));e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",n]);const a=s.filter((([e,t])=>t)).map((([e,t])=>`${e}=${t}`)).join("&");r.iframe.setAttribute("src",((e,t,n)=>{const o=e.endsWith("/")?"":"/";return`${e}${o}${t}?${n}`})(t,"embedResult/",a)),i(e,r)}},U=[{handler:B,eventTypes:[i.LanguageChanged]},{handler:j,eventTypes:[i.HeightChanged]},{handler:V,eventTypes:[i.ScrollToTop]},{handler:(e,t)=>{t.session=e.session,f&&f(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:N(0,l,m||_)},{eventTypes:[o.SessionPaymentAuthorized],handler:N(0,l,g||m||_)},{handler:N(0,l,h||_),eventTypes:[o.SessionCancel]},{handler:N(0,l,y||_),eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{v&&v(e,t,I)},eventTypes:[o.SessionLocked]},{handler:b,eventTypes:[o.SessionLockFailed]},{handler:L,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(C)try{C({...e,callback:H},t,H)}catch(e){console.error(e),H({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:F,eventTypes:[i.ShowPopOutButton]},{handler:R,eventTypes:[i.HidePopOutButton]}];return k={destroy:()=>{z(k),E&&(r.popOut&&S(),x.forEach((e=>e.unsubscribe())),E.parentElement&&t.removeChild(E)),t.parentElement&&s.removeChild(t)},iframe:E,language:d,lockSession:()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},"*")})(E,a),$(k?.popOutWindow,a)}),o.SessionLocked,o.SessionLockFailed),refreshSession:I,setActivePaymentProductType:t=>{e.popOut?M(k?.popOutWindow,a,t):((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")})(E,a,t)},submitValidationResult:H,options:r,handlers:U,session:void 0,popOutWindow:void 0},U.forEach((({handler:e,eventTypes:t})=>{e&&x.push(u({sid:a,endpoint:l,handler:e,eventTypes:t,checkout:k,source:k.iframe.contentWindow}))})),await O(),k},e.redirect=U,Object.defineProperty(e,"__esModule",{value:!0})}));
7
7
  //# sourceMappingURL=dintero-checkout-web-sdk.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dintero-checkout-web-sdk.umd.min.js","sources":["../node_modules/native-promise-only/lib/npo.src.js","../src/checkout.ts","../src/url.ts","../src/subscribe.ts","../src/popOutBackdrop.ts","../src/popOutButton.ts","../src/popOut.ts","../src/index.ts","../src/createIframeAsync.ts"],"sourcesContent":["/*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n*/\n\n(function UMD(name,context,definition){\n\t// special form of UMD for polyfilling across evironments\n\tcontext[name] = context[name] || definition();\n\tif (typeof module != \"undefined\" && module.exports) { module.exports = context[name]; }\n\telse if (typeof define == \"function\" && define.amd) { define(function $AMD$(){ return context[name]; }); }\n})(\"Promise\",typeof global != \"undefined\" ? global : this,function DEF(){\n\t/*jshint validthis:true */\n\t\"use strict\";\n\n\tvar builtInProp, cycle, scheduling_queue,\n\t\tToString = Object.prototype.toString,\n\t\ttimer = (typeof setImmediate != \"undefined\") ?\n\t\t\tfunction timer(fn) { return setImmediate(fn); } :\n\t\t\tsetTimeout\n\t;\n\n\t// dammit, IE8.\n\ttry {\n\t\tObject.defineProperty({},\"x\",{});\n\t\tbuiltInProp = function builtInProp(obj,name,val,config) {\n\t\t\treturn Object.defineProperty(obj,name,{\n\t\t\t\tvalue: val,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: config !== false\n\t\t\t});\n\t\t};\n\t}\n\tcatch (err) {\n\t\tbuiltInProp = function builtInProp(obj,name,val) {\n\t\t\tobj[name] = val;\n\t\t\treturn obj;\n\t\t};\n\t}\n\n\t// Note: using a queue instead of array for efficiency\n\tscheduling_queue = (function Queue() {\n\t\tvar first, last, item;\n\n\t\tfunction Item(fn,self) {\n\t\t\tthis.fn = fn;\n\t\t\tthis.self = self;\n\t\t\tthis.next = void 0;\n\t\t}\n\n\t\treturn {\n\t\t\tadd: function add(fn,self) {\n\t\t\t\titem = new Item(fn,self);\n\t\t\t\tif (last) {\n\t\t\t\t\tlast.next = item;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tfirst = item;\n\t\t\t\t}\n\t\t\t\tlast = item;\n\t\t\t\titem = void 0;\n\t\t\t},\n\t\t\tdrain: function drain() {\n\t\t\t\tvar f = first;\n\t\t\t\tfirst = last = cycle = void 0;\n\n\t\t\t\twhile (f) {\n\t\t\t\t\tf.fn.call(f.self);\n\t\t\t\t\tf = f.next;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tfunction schedule(fn,self) {\n\t\tscheduling_queue.add(fn,self);\n\t\tif (!cycle) {\n\t\t\tcycle = timer(scheduling_queue.drain);\n\t\t}\n\t}\n\n\t// promise duck typing\n\tfunction isThenable(o) {\n\t\tvar _then, o_type = typeof o;\n\n\t\tif (o != null &&\n\t\t\t(\n\t\t\t\to_type == \"object\" || o_type == \"function\"\n\t\t\t)\n\t\t) {\n\t\t\t_then = o.then;\n\t\t}\n\t\treturn typeof _then == \"function\" ? _then : false;\n\t}\n\n\tfunction notify() {\n\t\tfor (var i=0; i<this.chain.length; i++) {\n\t\t\tnotifyIsolated(\n\t\t\t\tthis,\n\t\t\t\t(this.state === 1) ? this.chain[i].success : this.chain[i].failure,\n\t\t\t\tthis.chain[i]\n\t\t\t);\n\t\t}\n\t\tthis.chain.length = 0;\n\t}\n\n\t// NOTE: This is a separate function to isolate\n\t// the `try..catch` so that other code can be\n\t// optimized better\n\tfunction notifyIsolated(self,cb,chain) {\n\t\tvar ret, _then;\n\t\ttry {\n\t\t\tif (cb === false) {\n\t\t\t\tchain.reject(self.msg);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (cb === true) {\n\t\t\t\t\tret = self.msg;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret = cb.call(void 0,self.msg);\n\t\t\t\t}\n\n\t\t\t\tif (ret === chain.promise) {\n\t\t\t\t\tchain.reject(TypeError(\"Promise-chain cycle\"));\n\t\t\t\t}\n\t\t\t\telse if (_then = isThenable(ret)) {\n\t\t\t\t\t_then.call(ret,chain.resolve,chain.reject);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tchain.resolve(ret);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (err) {\n\t\t\tchain.reject(err);\n\t\t}\n\t}\n\n\tfunction resolve(msg) {\n\t\tvar _then, self = this;\n\n\t\t// already triggered?\n\t\tif (self.triggered) { return; }\n\n\t\tself.triggered = true;\n\n\t\t// unwrap\n\t\tif (self.def) {\n\t\t\tself = self.def;\n\t\t}\n\n\t\ttry {\n\t\t\tif (_then = isThenable(msg)) {\n\t\t\t\tschedule(function(){\n\t\t\t\t\tvar def_wrapper = new MakeDefWrapper(self);\n\t\t\t\t\ttry {\n\t\t\t\t\t\t_then.call(msg,\n\t\t\t\t\t\t\tfunction $resolve$(){ resolve.apply(def_wrapper,arguments); },\n\t\t\t\t\t\t\tfunction $reject$(){ reject.apply(def_wrapper,arguments); }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\treject.call(def_wrapper,err);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tself.msg = msg;\n\t\t\t\tself.state = 1;\n\t\t\t\tif (self.chain.length > 0) {\n\t\t\t\t\tschedule(notify,self);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (err) {\n\t\t\treject.call(new MakeDefWrapper(self),err);\n\t\t}\n\t}\n\n\tfunction reject(msg) {\n\t\tvar self = this;\n\n\t\t// already triggered?\n\t\tif (self.triggered) { return; }\n\n\t\tself.triggered = true;\n\n\t\t// unwrap\n\t\tif (self.def) {\n\t\t\tself = self.def;\n\t\t}\n\n\t\tself.msg = msg;\n\t\tself.state = 2;\n\t\tif (self.chain.length > 0) {\n\t\t\tschedule(notify,self);\n\t\t}\n\t}\n\n\tfunction iteratePromises(Constructor,arr,resolver,rejecter) {\n\t\tfor (var idx=0; idx<arr.length; idx++) {\n\t\t\t(function IIFE(idx){\n\t\t\t\tConstructor.resolve(arr[idx])\n\t\t\t\t.then(\n\t\t\t\t\tfunction $resolver$(msg){\n\t\t\t\t\t\tresolver(idx,msg);\n\t\t\t\t\t},\n\t\t\t\t\trejecter\n\t\t\t\t);\n\t\t\t})(idx);\n\t\t}\n\t}\n\n\tfunction MakeDefWrapper(self) {\n\t\tthis.def = self;\n\t\tthis.triggered = false;\n\t}\n\n\tfunction MakeDef(self) {\n\t\tthis.promise = self;\n\t\tthis.state = 0;\n\t\tthis.triggered = false;\n\t\tthis.chain = [];\n\t\tthis.msg = void 0;\n\t}\n\n\tfunction Promise(executor) {\n\t\tif (typeof executor != \"function\") {\n\t\t\tthrow TypeError(\"Not a function\");\n\t\t}\n\n\t\tif (this.__NPO__ !== 0) {\n\t\t\tthrow TypeError(\"Not a promise\");\n\t\t}\n\n\t\t// instance shadowing the inherited \"brand\"\n\t\t// to signal an already \"initialized\" promise\n\t\tthis.__NPO__ = 1;\n\n\t\tvar def = new MakeDef(this);\n\n\t\tthis[\"then\"] = function then(success,failure) {\n\t\t\tvar o = {\n\t\t\t\tsuccess: typeof success == \"function\" ? success : true,\n\t\t\t\tfailure: typeof failure == \"function\" ? failure : false\n\t\t\t};\n\t\t\t// Note: `then(..)` itself can be borrowed to be used against\n\t\t\t// a different promise constructor for making the chained promise,\n\t\t\t// by substituting a different `this` binding.\n\t\t\to.promise = new this.constructor(function extractChain(resolve,reject) {\n\t\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t\t}\n\n\t\t\t\to.resolve = resolve;\n\t\t\t\to.reject = reject;\n\t\t\t});\n\t\t\tdef.chain.push(o);\n\n\t\t\tif (def.state !== 0) {\n\t\t\t\tschedule(notify,def);\n\t\t\t}\n\n\t\t\treturn o.promise;\n\t\t};\n\t\tthis[\"catch\"] = function $catch$(failure) {\n\t\t\treturn this.then(void 0,failure);\n\t\t};\n\n\t\ttry {\n\t\t\texecutor.call(\n\t\t\t\tvoid 0,\n\t\t\t\tfunction publicResolve(msg){\n\t\t\t\t\tresolve.call(def,msg);\n\t\t\t\t},\n\t\t\t\tfunction publicReject(msg) {\n\t\t\t\t\treject.call(def,msg);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tcatch (err) {\n\t\t\treject.call(def,err);\n\t\t}\n\t}\n\n\tvar PromisePrototype = builtInProp({},\"constructor\",Promise,\n\t\t/*configurable=*/false\n\t);\n\n\t// Note: Android 4 cannot use `Object.defineProperty(..)` here\n\tPromise.prototype = PromisePrototype;\n\n\t// built-in \"brand\" to signal an \"uninitialized\" promise\n\tbuiltInProp(PromisePrototype,\"__NPO__\",0,\n\t\t/*configurable=*/false\n\t);\n\n\tbuiltInProp(Promise,\"resolve\",function Promise$resolve(msg) {\n\t\tvar Constructor = this;\n\n\t\t// spec mandated checks\n\t\t// note: best \"isPromise\" check that's practical for now\n\t\tif (msg && typeof msg == \"object\" && msg.__NPO__ === 1) {\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn new Constructor(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\tresolve(msg);\n\t\t});\n\t});\n\n\tbuiltInProp(Promise,\"reject\",function Promise$reject(msg) {\n\t\treturn new this(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\treject(msg);\n\t\t});\n\t});\n\n\tbuiltInProp(Promise,\"all\",function Promise$all(arr) {\n\t\tvar Constructor = this;\n\n\t\t// spec mandated checks\n\t\tif (ToString.call(arr) != \"[object Array]\") {\n\t\t\treturn Constructor.reject(TypeError(\"Not an array\"));\n\t\t}\n\t\tif (arr.length === 0) {\n\t\t\treturn Constructor.resolve([]);\n\t\t}\n\n\t\treturn new Constructor(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\tvar len = arr.length, msgs = Array(len), count = 0;\n\n\t\t\titeratePromises(Constructor,arr,function resolver(idx,msg) {\n\t\t\t\tmsgs[idx] = msg;\n\t\t\t\tif (++count === len) {\n\t\t\t\t\tresolve(msgs);\n\t\t\t\t}\n\t\t\t},reject);\n\t\t});\n\t});\n\n\tbuiltInProp(Promise,\"race\",function Promise$race(arr) {\n\t\tvar Constructor = this;\n\n\t\t// spec mandated checks\n\t\tif (ToString.call(arr) != \"[object Array]\") {\n\t\t\treturn Constructor.reject(TypeError(\"Not an array\"));\n\t\t}\n\n\t\treturn new Constructor(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\titeratePromises(Constructor,arr,function resolver(idx,msg){\n\t\t\t\tresolve(msg);\n\t\t\t},reject);\n\t\t});\n\t});\n\n\treturn Promise;\n});\n","import type { Session } from \"./session\";\n\nexport enum CheckoutEvents {\n SessionNotFound = \"SessionNotFound\",\n SessionLoaded = \"SessionLoaded\",\n SessionUpdated = \"SessionUpdated\",\n SessionCancel = \"SessionCancel\",\n SessionPaymentOnHold = \"SessionPaymentOnHold\",\n SessionPaymentAuthorized = \"SessionPaymentAuthorized\",\n SessionPaymentError = \"SessionPaymentError\",\n SessionLocked = \"SessionLocked\",\n SessionLockFailed = \"SessionLockFailed\",\n ActivePaymentProductType = \"ActivePaymentProductType\",\n ValidateSession = \"ValidateSession\",\n}\nexport enum InternalCheckoutEvents {\n HeightChanged = \"HeightChanged\",\n LanguageChanged = \"LanguageChanged\",\n ScrollToTop = \"ScrollToTop\",\n ShowPopOutButton = \"ShowPopOutButton\",\n HidePopOutButton = \"HidePopOutButton\",\n}\n\nexport type SessionNotFound = {\n type: CheckoutEvents.SessionNotFound;\n};\n\nexport type SessionLoaded = {\n type: CheckoutEvents.SessionLoaded;\n session: Session;\n};\n\nexport type SessionUpdated = {\n type: CheckoutEvents.SessionUpdated;\n session: Session;\n};\n\nexport type SessionCancel = {\n type: CheckoutEvents.SessionCancel;\n href: string;\n};\n\nexport type SessionPaymentOnHold = {\n type: CheckoutEvents.SessionPaymentOnHold;\n transaction_id: string;\n merchant_reference: string;\n href: string;\n};\n\nexport type SessionPaymentAuthorized = {\n type: CheckoutEvents.SessionPaymentAuthorized;\n transaction_id: string;\n merchant_reference: string;\n href: string;\n};\n\nexport type SessionLocked = {\n type: CheckoutEvents.SessionLocked;\n pay_lock_id: string;\n callback: () => void;\n};\n\nexport type ShowPopOutButton = {\n type: \"ShowPopOutButton\";\n styles: {\n font: string;\n height: string;\n color: string;\n background: string;\n textAlign: string;\n padding: string;\n margin: string;\n border: string;\n borderRadius: string;\n cursor: string;\n fontWeight: string;\n lineHeight: string;\n transition: string;\n outline: string;\n };\n stylesHover?: { [key: string]: string };\n stylesFocusVisible?: { [key: string]: string };\n openLabel: string;\n focusLabel: string;\n closeLabel: string;\n descriptionLabel: string;\n top: string;\n left: string;\n right: string;\n language: string;\n disabled: \"true\" | \"false\";\n};\n\nexport type SessionLockFailed = {\n type: CheckoutEvents.SessionLockFailed;\n};\nexport type ActivePaymentProductType = {\n type: CheckoutEvents.ActivePaymentProductType;\n payment_product_type: string | undefined;\n};\n\nexport type ValidateSession = {\n type: CheckoutEvents.ValidateSession;\n session: Session;\n callback: (result: SessionValidationCallback) => void;\n};\n\nexport interface SessionValidationCallback {\n success: boolean;\n clientValidationError?: string;\n}\n\nexport type WrappedValidateSession = Pick<ValidateSession, \"type\" | \"session\">;\nexport type WrappedSessionLocked = Pick<SessionLocked, \"type\" | \"pay_lock_id\">;\n\nexport type SessionPayment = SessionPaymentAuthorized | SessionPaymentOnHold;\n\nexport type SessionPaymentError = {\n type: CheckoutEvents.SessionPaymentError;\n error: string;\n href: string;\n};\n\nexport type SessionEvent =\n | SessionNotFound\n | SessionLoaded\n | SessionUpdated\n | SessionCancel\n | SessionPaymentOnHold\n | SessionPaymentAuthorized\n | SessionPaymentError\n | WrappedSessionLocked\n | SessionLockFailed\n | ActivePaymentProductType\n | WrappedValidateSession;\n","import { redirect } from \".\";\nimport pkg from \"../package.json\";\n\n/**\n * Wraps window.location.assign()\n */\nconst windowLocationAssign = (url: string) => {\n window.location.assign(url);\n};\n\n/**\n * Get the url for the session\n */\nexport interface SessionUrlOptions {\n sid: string;\n endpoint: string;\n language: string | undefined;\n ui?: \"fullscreen\" | \"inline\";\n shouldCallValidateSession: boolean;\n popOut?: boolean;\n redirect?: boolean;\n}\n\nconst getSessionUrl = (options: SessionUrlOptions): string => {\n const { sid, endpoint, language, ui, shouldCallValidateSession, popOut } =\n options;\n if (!endpoint) {\n throw new Error(\"Invalid endpoint\");\n }\n const params = new URLSearchParams();\n params.append(\"sdk\", pkg.version);\n if (ui) {\n params.append(\"ui\", ui);\n }\n if (language) {\n params.append(\"language\", language);\n }\n if (shouldCallValidateSession) {\n params.append(\"client_side_validation\", \"true\");\n }\n if (popOut) {\n params.append(\"role\", \"pop_out_launcher\");\n }\n if (\n options.hasOwnProperty(\"hideTestMessage\") &&\n options[\"hideTestMessage\"] !== undefined &&\n options[\"hideTestMessage\"] === true\n ) {\n params.append(\"hide_test_message\", \"true\");\n }\n const hostname = getHostname();\n if (hostname) {\n params.append(\"sdk_hostname\", hostname);\n }\n if (!redirect && !hostnameIsTop()) {\n params.append(\"sdk_not_top_level\", \"false\");\n }\n if (endpoint === \"https://checkout.dintero.com\") {\n // Default endpoint will redirect via the view endpoint\n return `${endpoint}/v1/view/${sid}?${params.toString()}`;\n }\n // When a custom endpoint is set skip the view redirect endpoint since\n // custom endpoints like localhost and PR builds does not support the\n // serverside view flow.\n params.append(\"sid\", sid);\n return `${padTrailingSlash(endpoint)}?${params.toString()}`;\n};\n\nconst padTrailingSlash = (endpoint: string) =>\n endpoint.endsWith(\"/\") ? endpoint : `${endpoint}/`;\n\nconst getPopOutUrl = ({\n sid,\n endpoint,\n language,\n shouldCallValidateSession,\n}: SessionUrlOptions) => {\n const params = new URLSearchParams();\n params.append(\"ui\", \"fullscreen\");\n params.append(\"role\", \"pop_out_payment\");\n params.append(\"sid\", sid);\n params.append(\"sdk\", pkg.version);\n if (language) {\n params.append(\"language\", language);\n }\n if (shouldCallValidateSession) {\n params.append(\"loader\", \"true\");\n }\n const hostname = getHostname();\n if (hostname) {\n params.append(\"sdk_hostname\", hostname);\n }\n return `${padTrailingSlash(endpoint)}?${params.toString()}`;\n};\n\nconst getHostname = (): string => {\n try {\n const { hostname } = window.location;\n return hostname;\n } catch (error) {\n return undefined;\n }\n};\n\nconst hostnameIsTop = (): boolean => {\n try {\n if (window.self === window.top) {\n return true;\n }\n const hostname = getHostname();\n const topHostname = window.top.location.hostname;\n return topHostname && hostname && hostname === topHostname;\n } catch (error) {\n return false;\n }\n};\n\nexport const url = {\n getPopOutUrl,\n getSessionUrl,\n windowLocationAssign,\n};\n","import {\n CheckoutEvents,\n InternalCheckoutEvents,\n SessionEvent,\n SessionValidationCallback,\n} from \"./checkout\";\nimport { DinteroCheckoutInstance } from \".\";\n\n/**\n * Unsubscribe handler from event(s).\n */\nexport type SubscriptionHandler = (\n sessionEvent: SessionEvent,\n checkout: DinteroCheckoutInstance,\n) => void;\n\ninterface SubscriptionOptions {\n sid: string;\n endpoint: string;\n handler: SubscriptionHandler;\n eventTypes: (CheckoutEvents | InternalCheckoutEvents)[];\n checkout: DinteroCheckoutInstance;\n source: Window;\n}\n\nexport type Subscription = {\n /**\n * Unsubscribe handler from event(s).\n */\n unsubscribe: () => void;\n};\n\n/**\n * Post a message acknowledgement to the checkout iframe.\n */\nconst postAck = (source: Window, event: MessageEvent) => {\n if (event.data.mid && source) {\n source.postMessage({ ack: event.data.mid }, event.origin || \"*\");\n }\n};\n\n/**\n * Post a SessionLock-event to the checkout iframe.\n */\nexport const postSessionLock = (iframe: HTMLIFrameElement, sid: string) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"LockSession\", sid }, \"*\");\n }\n};\n\n/**\n * Post the validation result to the checkout iframe\n */\nexport const postValidationResult = (\n iframe: HTMLIFrameElement,\n sid: string,\n result: SessionValidationCallback,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"ValidationResult\", sid, ...result },\n \"*\",\n );\n }\n};\n\n/**\n * Post RefreshSession-event to the checkout iframe.\n */\nexport const postSessionRefresh = (iframe: HTMLIFrameElement, sid: string) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"RefreshSession\", sid }, \"*\");\n }\n};\n\n/**\n * Post SetActivePaymentProductType-event to the checkout iframe.\n */\nexport const postActivePaymentProductType = (\n iframe: HTMLIFrameElement,\n sid: string,\n paymentProductType?: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n {\n type: \"SetActivePaymentProductType\",\n sid,\n payment_product_type: paymentProductType,\n },\n \"*\",\n );\n }\n};\n\n/**\n * Post ClosePopOut-event to the checkout iframe.\n */\nexport const postValidatePopOutEvent = (\n iframe: HTMLIFrameElement,\n sid: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"ValidatingPopOut\", sid },\n \"*\",\n );\n }\n};\n\n/**\n * Post OpenPopOutFailed-event to the checkout iframe.\n */\nexport const postOpenPopOutFailedEvent = (\n iframe: HTMLIFrameElement,\n sid: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"OpenPopOutFailed\", sid },\n \"*\",\n );\n }\n};\n\n/**\n * Post OpenedPopOut-event to the checkout iframe.\n */\nexport const postOpenPopOutEvent = (iframe: HTMLIFrameElement, sid: string) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"OpenedPopOut\", sid }, \"*\");\n }\n};\n\n/**\n * Post ClosePopOut-event to the checkout iframe.\n */\nexport const postClosePopOutEvent = (\n iframe: HTMLIFrameElement,\n sid: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"ClosedPopOut\", sid }, \"*\");\n }\n};\n\n/**\n * Post SetLanguage-event to the checkout iframe.\n */\nexport const postSetLanguage = (\n iframe: HTMLIFrameElement,\n sid: string,\n language: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"SetLanguage\", sid, language },\n \"*\",\n );\n }\n};\n\n/**\n * Subscribe to events from an iframe given a handler and a set\n * of event types.\n */\nexport const subscribe = (options: SubscriptionOptions): Subscription => {\n const { sid, endpoint, handler, eventTypes, checkout } = options;\n\n // Wrap event handler in a function that checks for correct origin and\n // filters on event type(s) in the event data.\n const endpointUrl = new URL(endpoint);\n\n const wrappedHandler = (event: MessageEvent) => {\n const correctOrigin = event.origin === endpointUrl.origin;\n const correctWindow = event.source === checkout.iframe.contentWindow;\n const correctSid = event.data && event.data.sid === sid;\n const correctMessageType =\n eventTypes.indexOf(event.data && event.data.type) !== -1;\n\n if (\n correctOrigin &&\n correctWindow &&\n correctSid &&\n correctMessageType\n ) {\n postAck(checkout.iframe.contentWindow, event);\n handler(event.data, checkout);\n }\n };\n\n // Add event listener to the iframe.\n window.addEventListener(\"message\", wrappedHandler as any, false);\n\n // Function to remove the event listener from the iframe.\n const unsubscribe = () => {\n window.removeEventListener(\"message\", wrappedHandler as any, false);\n };\n\n // Return object with unsubscribe function.\n return {\n unsubscribe,\n };\n};\n","import { ShowPopOutButton } from \"./checkout\";\n\ntype BackdropOptions = {\n close: () => void;\n focus: () => void;\n event: ShowPopOutButton;\n};\n\nconst getBackdropZIndex = () => {\n // Iterate all DOM items to get current highest element.\n const elements = document.getElementsByTagName(\"*\");\n const highest = Array.from(elements).reduce((acc, element) => {\n try {\n const zIndexStr = document.defaultView\n .getComputedStyle(element, null)\n .getPropertyValue(\"z-index\");\n const zIndex = parseInt(zIndexStr || \"0\");\n if (!isNaN(zIndex) && zIndex > acc) {\n return zIndex;\n }\n } catch (e) {\n // Ignore errors when getting z-index\n console.error(e);\n }\n return acc;\n }, 0);\n if (highest < 9999) {\n return \"9999\";\n }\n return (highest + 1).toString();\n};\n\nconst STYLE_ID = \"dintero-checkout-sdk-style\";\nconst BACKDROP_ID = \"dintero-checkout-sdk-backdrop\";\nconst BACKDROP_DESCRIPTION = \"dintero-checkout-sdk-backdrop-description\";\nconst FOCUS_CHECKOUT_BUTTON_ID = \"dintero-checkout-sdk-backdrop-focus\";\nconst CLOSE_BACKDROP_BUTTON_ID = \"dintero-checkout-sdk-backdrop-close\";\n\nconst wrapPreventDefault = (fn: () => void) => {\n // Creates a wrapped function that will invoke preventDefault() to stop\n // the event from bubbling up the DOM tree.\n return (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n fn();\n return false;\n };\n};\n\nconst appendBackdropStyles = () => {\n // Check if exists before appending to DOM\n if (document.getElementById(STYLE_ID)) {\n return;\n }\n // Add style to DOM\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", STYLE_ID);\n style.innerHTML = `\n @keyframes ${BACKDROP_ID}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${BACKDROP_ID} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${BACKDROP_ID}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${BACKDROP_ID} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${FOCUS_CHECKOUT_BUTTON_ID} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${FOCUS_CHECKOUT_BUTTON_ID}:hover,\n #${FOCUS_CHECKOUT_BUTTON_ID}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${FOCUS_CHECKOUT_BUTTON_ID}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${CLOSE_BACKDROP_BUTTON_ID} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${CLOSE_BACKDROP_BUTTON_ID}:hover,\n #${CLOSE_BACKDROP_BUTTON_ID}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${CLOSE_BACKDROP_BUTTON_ID}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${BACKDROP_ID}:before,\n #${BACKDROP_ID}:after,\n #${BACKDROP_ID} > *:before,\n #${BACKDROP_ID} > *:after {\n content: '';\n content: none;\n }\n `;\n document.head.appendChild(style);\n};\n\nconst createBackdropDOM = () => {\n // Dark translucent backdrop element\n const backdrop = document.createElement(\"div\");\n backdrop.setAttribute(\"id\", BACKDROP_ID);\n backdrop.setAttribute(\"role\", \"dialog\");\n backdrop.style.zIndex = getBackdropZIndex();\n return backdrop;\n};\n\nconst createCloseButtonDOM = (label: string) => {\n // Close button for the top right corner\n const button = document.createElement(\"button\");\n button.setAttribute(\"id\", CLOSE_BACKDROP_BUTTON_ID);\n button.setAttribute(\"type\", \"button\");\n button.setAttribute(\"aria-label\", label);\n button.innerHTML = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n alt=\"close icon\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>`;\n return button;\n};\n\nconst createDinteroLogoDOM = () => {\n // Close button for the top right corner\n const div = document.createElement(\"div\");\n div.innerHTML = `\n <svg width=\"120px\" height=\"22px\" viewBox=\"0 0 630 111\" version=\"1.1\" >\n <g id=\"Page-1\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g id=\"Dintero\" fill=\"#ffffff\" fillRule=\"nonzero\">\n <path d=\"M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z\" id=\"Shape\"></path>\n </g>\n </g>\n </svg>`;\n return div;\n};\n\nconst createLabelDOM = (text: string) => {\n // Text about the pop out\n const p = document.createElement(\"p\");\n p.setAttribute(\"id\", BACKDROP_DESCRIPTION);\n p.innerText = text;\n return p;\n};\n\nconst createFocusButtonDOM = (text: string) => {\n // Mock button to give the user a call to action element to click, even\n // though the entire backdrop (except the close button) returns focus to the\n // checkout.\n const button = document.createElement(\"button\");\n button.setAttribute(\"id\", FOCUS_CHECKOUT_BUTTON_ID);\n button.setAttribute(\"type\", \"button\");\n button.innerText = text;\n return button;\n};\n\nconst focusTrap = (e: KeyboardEvent) => {\n // Prevent the user focusing outside of the backdrop while it is visible\n const focusButton = document.getElementById(FOCUS_CHECKOUT_BUTTON_ID);\n const closeButton = document.getElementById(CLOSE_BACKDROP_BUTTON_ID);\n if (e.key === \"Tab\" || e.code === \"Tab\") {\n if (document.activeElement === focusButton) {\n closeButton.focus();\n e.preventDefault();\n } else {\n // Tab\n focusButton.focus();\n e.preventDefault();\n }\n }\n};\n\nconst createBackdropView = (options: BackdropOptions) => {\n // Add styles needed for the backdrop;\n appendBackdropStyles();\n // Create DOM nodes\n const backdrop = createBackdropDOM();\n const closeButton = createCloseButtonDOM(options.event.closeLabel);\n const dinteroLogo = createDinteroLogoDOM();\n const label = createLabelDOM(options.event.descriptionLabel);\n const focusButton = createFocusButtonDOM(options.event.focusLabel);\n\n // Add click handlers\n backdrop.onclick = wrapPreventDefault(options.focus);\n focusButton.onclick = wrapPreventDefault(options.focus);\n closeButton.onclick = wrapPreventDefault(options.close);\n\n // Add focus trap when backdrop is visible\n document.addEventListener(\"keydown\", focusTrap);\n\n // Append to document\n backdrop.appendChild(closeButton);\n backdrop.appendChild(dinteroLogo);\n backdrop.appendChild(label);\n backdrop.appendChild(focusButton);\n document.body.appendChild(backdrop);\n backdrop.focus();\n return backdrop;\n};\n\nexport const setBackdropLabels = (event: ShowPopOutButton) => {\n const focusButton = document.getElementById(FOCUS_CHECKOUT_BUTTON_ID);\n if (focusButton) {\n focusButton.innerText = event.focusLabel;\n }\n const description = document.getElementById(BACKDROP_DESCRIPTION);\n if (description) {\n description.innerText = event.descriptionLabel;\n }\n const closeButton = document.getElementById(CLOSE_BACKDROP_BUTTON_ID);\n if (closeButton) {\n closeButton.setAttribute(\"aria-label\", event.descriptionLabel);\n }\n};\n\nexport const createBackdrop = (options: BackdropOptions) => {\n try {\n // Check if backdrop already exists\n const backdrop = document.getElementById(BACKDROP_ID);\n if (backdrop) {\n return;\n }\n return createBackdropView(options);\n } catch (e) {\n // Ignore errors when creating backdrop. If it fails we should not\n // block the payment.\n console.error(e);\n }\n};\n\nexport const removeBackdrop = () => {\n try {\n const backdrop = document.getElementById(BACKDROP_ID);\n if (backdrop) {\n document.body.removeChild(backdrop);\n }\n document.removeEventListener(\"keydown\", focusTrap);\n } catch (e) {\n // Ignore errors when closing backdrop. If it fails we should not stop\n // the rest of the application from working.\n console.error(e);\n }\n};\n","const OPEN_POP_OUT_BUTTON_ID = \"dintero-checkout-sdk-launch-pop-out\";\n\ntype PopOutButtonOptions = {\n container: HTMLElement;\n label: string;\n disabled: string;\n top: string;\n left: string;\n right: string;\n styles: {\n [key: string]: string;\n };\n stylesHover?: { [key: string]: string };\n stylesFocusVisible?: { [key: string]: string };\n onClick: () => void;\n};\n\nconst configureButton = (\n button: HTMLElement,\n {\n label,\n disabled,\n top,\n left,\n right,\n styles,\n onClick,\n stylesHover,\n stylesFocusVisible,\n }: PopOutButtonOptions,\n) => {\n button.setAttribute(\"id\", OPEN_POP_OUT_BUTTON_ID);\n button.setAttribute(\"type\", \"button\");\n\n // Is clickable\n if (disabled === \"true\") {\n button.setAttribute(\"disabled\", disabled);\n } else {\n button.removeAttribute(\"disabled\");\n }\n\n // Click handler\n button.onclick = (event) => {\n // Do not submit any form on the page using the SDK\n event.preventDefault();\n event.stopPropagation();\n\n // Update look\n button.style.boxShadow = \"inset 0 0 10px rgba(34, 84, 65, 0.9)\";\n\n // Invoke handler\n onClick();\n\n // Reset look\n window.setTimeout(() => {\n button.style.boxShadow = \"none\";\n }, 200);\n };\n\n // Label\n button.innerText = label;\n\n // Position\n button.style.position = \"absolute\";\n button.style.top = top + \"px\";\n button.style.left = left + \"px\";\n button.style.right = right + \"px\";\n\n // Appearance from checkout\n const { ...directStyles } = styles;\n\n for (const [key, value] of Object.entries(directStyles)) {\n button.style[key] = value;\n }\n\n // Add hover and focus-visible styles\n try {\n addHoverAndFocusVisibleStyles(stylesHover, stylesFocusVisible);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst addHoverAndFocusVisibleStyles = (\n stylesHover?: { [key: string]: string },\n stylesFocusVisible?: { [key: string]: string },\n) => {\n if (!stylesHover && !stylesFocusVisible) {\n return;\n }\n const styleId = `${OPEN_POP_OUT_BUTTON_ID}-styles`;\n const hasStyles = document.getElementById(styleId);\n if (hasStyles) {\n return;\n }\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", styleId);\n let content = [];\n if (stylesHover) {\n content.push(\n toCssEntity(\n `#${OPEN_POP_OUT_BUTTON_ID}:hover:not(:disabled)`,\n stylesHover,\n ),\n );\n }\n if (stylesFocusVisible) {\n content.push(\n toCssEntity(\n `#${OPEN_POP_OUT_BUTTON_ID}:focus-visible`,\n stylesFocusVisible,\n ),\n );\n }\n style.textContent = content.join(\"\\n\");\n document.head.appendChild(style);\n};\n\nconst toCssEntity = (\n selector: string,\n keyValues: { [key: string]: string },\n) => {\n return [`${selector} {`, toCssParameters(keyValues), `}`].join(\"\\n\");\n};\n\nconst toCssParameters = (keyValues: { [key: string]: string }) => {\n return Object.entries(keyValues)\n .map(([key, value]) => ` ${slugify(key)}: ${value} !important;`)\n .join(\"\\n\");\n};\n\nconst slugify = (str: string) => {\n return str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n};\n\nexport const addPopOutButton = (options: PopOutButtonOptions) => {\n // Will add or update existing button\n const { container } = options;\n const exists = document.getElementById(OPEN_POP_OUT_BUTTON_ID);\n const button = exists || document.createElement(\"button\");\n configureButton(button, options);\n if (!exists) {\n container.appendChild(button);\n }\n};\n\nexport const setPopOutButtonDisabled = (disabled: boolean) => {\n try {\n const button = document.getElementById(OPEN_POP_OUT_BUTTON_ID);\n if (button) {\n if (disabled) {\n button.setAttribute(\"disabled\", disabled.toString());\n } else {\n button.removeAttribute(\"disabled\");\n }\n }\n } catch (e) {\n // Ignore error and continue\n console.error(e);\n }\n};\n\nexport const removePopOutButton = () => {\n try {\n const button = document.getElementById(OPEN_POP_OUT_BUTTON_ID);\n if (button) {\n button.remove();\n }\n } catch (e) {\n // Ignore error and continue\n console.error(e);\n }\n};\n","import { url, type SessionUrlOptions } from \"./url\";\n\nconst createPopOutWindow = (\n sid: string,\n url: string,\n width: number,\n height: number,\n) => {\n return new Promise<Window | undefined>((resolve) => {\n try {\n // Creates a centered pop up window\n const left = window.screenX + (window.outerWidth - width) / 2;\n const top = window.screenY + (window.outerHeight - height) / 2;\n const features = `width=${width},height=${height},left=${left},top=${top},location=no,menubar=no,toolbar=no,status=no`;\n let popOut: undefined | Window;\n let timeout = -1;\n // Set up listener for application loaded message from pop out window\n const handleAppLoaded = (event: MessageEvent) => {\n const correctSource = event.source === popOut;\n const correctOrigin = event.origin === new URL(url).origin;\n const correctMessage =\n event.data && event.data.type === \"AppLoaded\";\n const correctContext = event.data.context === \"popOut\";\n const correctSid = event.data.sid === sid;\n if (\n correctSource &&\n correctOrigin &&\n correctMessage &&\n correctContext &&\n correctSid\n ) {\n clearTimeout(timeout);\n resolve(popOut);\n window.removeEventListener(\"message\", handleAppLoaded);\n }\n };\n window.addEventListener(\"message\", handleAppLoaded);\n // Open pop out\n popOut = window.open(url, \"dintero-checkout\", features);\n // Check that pop out was opened\n if (!popOut) {\n console.log(\"createPopOutWindow no popOut\");\n resolve(undefined);\n return;\n }\n // Trigger timeout if pop out is not loaded\n timeout = window.setTimeout(() => {\n console.log(\"createPopOutWindow timeout\");\n resolve(undefined);\n }, 10000);\n } catch (err) {\n resolve(undefined);\n }\n });\n};\n\ntype Unsubscribe = () => void;\n\ntype PopOutOptions = SessionUrlOptions & {\n onOpen: (popOut: Window) => Unsubscribe;\n onClose: () => void;\n};\n\nconst openPopOut = async (options: PopOutOptions) => {\n let unsubscribe: undefined | Unsubscribe;\n let intervalId = -1;\n let popOutWindow: undefined | Window;\n\n if (popOutWindow && !popOutWindow.closed) {\n // Skip if already open.\n return;\n }\n\n // Open popup window\n const popOutUrl = url.getPopOutUrl(options);\n popOutWindow = await createPopOutWindow(\n options.sid,\n popOutUrl,\n Math.min(480, window.screen.width),\n Math.min(840, window.screen.height),\n );\n\n const focusPopOut = () => {\n if (popOutWindow) {\n popOutWindow.focus();\n }\n };\n\n const cleanUpClosed = () => {\n window.clearInterval(intervalId);\n intervalId = -1;\n window.removeEventListener(\"beforeunload\", closePopOut);\n popOutWindow = undefined;\n options.onClose();\n if (unsubscribe) {\n unsubscribe();\n }\n };\n\n const closePopOut = () => {\n if (popOutWindow) {\n popOutWindow.close();\n }\n cleanUpClosed();\n };\n\n const checkIfPopupClosed = () => {\n if (popOutWindow && popOutWindow.closed) {\n cleanUpClosed();\n }\n };\n\n // Close pop out if current window is closed\n window.addEventListener(\"beforeunload\", closePopOut);\n\n // Check if checkout is still open\n intervalId = window.setInterval(checkIfPopupClosed, 200);\n\n // Set up pub/sub of messages from pop out to SDK\n unsubscribe = options.onOpen(popOutWindow);\n\n return {\n close: closePopOut,\n focus: focusPopOut,\n popOutWindow,\n };\n};\n\nconst postPopOutSessionLock = (\n popOutWindow: undefined | Window,\n sid: string,\n) => {\n try {\n if (popOutWindow) {\n popOutWindow.postMessage({ type: \"LockSession\", sid }, \"*\");\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nconst postPopOutSessionRefresh = (\n popOutWindow: undefined | Window,\n sid: string,\n) => {\n try {\n if (popOutWindow) {\n popOutWindow.postMessage({ type: \"RefreshSession\", sid }, \"*\");\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nconst postPopOutActivePaymentProductType = (\n popOutWindow: undefined | Window,\n sid: string,\n paymentProductType: string,\n) => {\n try {\n if (popOutWindow) {\n popOutWindow.postMessage(\n {\n type: \"SetActivePaymentProductType\",\n sid,\n payment_product_type: paymentProductType,\n },\n \"*\",\n );\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nexport const popOutModule = {\n openPopOut,\n postPopOutSessionLock,\n postPopOutSessionRefresh,\n postPopOutActivePaymentProductType,\n};\n","import \"native-promise-only\";\n\nimport pkg from \"../package.json\";\nimport {\n CheckoutEvents,\n InternalCheckoutEvents,\n SessionNotFound,\n SessionLoaded,\n SessionUpdated,\n SessionCancel,\n SessionPaymentOnHold,\n SessionPaymentAuthorized,\n SessionPaymentError,\n SessionLocked,\n SessionLockFailed,\n ActivePaymentProductType,\n ValidateSession,\n SessionValidationCallback,\n SessionEvent,\n ShowPopOutButton,\n} from \"./checkout\";\nimport { url } from \"./url\";\nimport { createIframeAsync } from \"./createIframeAsync\";\nimport {\n subscribe,\n SubscriptionHandler,\n Subscription,\n postSessionLock,\n postSessionRefresh,\n postActivePaymentProductType,\n postValidationResult,\n postSetLanguage,\n postOpenPopOutEvent,\n postClosePopOutEvent,\n postValidatePopOutEvent,\n postOpenPopOutFailedEvent,\n} from \"./subscribe\";\nimport {\n createBackdrop,\n removeBackdrop,\n setBackdropLabels,\n} from \"./popOutBackdrop\";\nimport {\n addPopOutButton,\n removePopOutButton,\n setPopOutButtonDisabled,\n} from \"./popOutButton\";\nimport { popOutModule } from \"./popOut\";\nimport { Session } from \"./session\";\n\nexport interface DinteroCheckoutInstance {\n /**\n * Remove iframe and all event listeners.\n */\n destroy: () => void;\n iframe: HTMLIFrameElement;\n language: string;\n lockSession: () => Promise<SessionEvent>;\n refreshSession: () => Promise<SessionEvent>;\n setActivePaymentProductType: (paymentProductType: string) => void;\n submitValidationResult: (result: SessionValidationCallback) => void;\n options: InternalDinteroEmbedCheckoutOptions;\n handlers: (\n | {\n handler: SubscriptionHandler;\n eventTypes: InternalCheckoutEvents[];\n }\n | {\n handler: SubscriptionHandler;\n eventTypes: CheckoutEvents[];\n }\n )[];\n session: Session | undefined;\n popOutWindow: Window | undefined;\n}\n\nexport interface DinteroCheckoutOptions {\n sid: string;\n endpoint?: string;\n language?: string;\n}\n\nexport interface DinteroEmbedCheckoutOptions extends DinteroCheckoutOptions {\n container: HTMLDivElement;\n popOut?: boolean;\n ui?: \"inline\" | \"fullscreen\";\n onPayment?: (\n event: SessionPaymentAuthorized | SessionPaymentOnHold,\n checkout: DinteroCheckoutInstance,\n ) => void;\n /**\n * @deprecated Since version 0.0.1. Will be deleted in version 1.0.0. Use onPayment instead.\n */\n onPaymentAuthorized?: (\n event: SessionPaymentAuthorized,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSession?: (\n event: SessionLoaded | SessionUpdated,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onPaymentError?: (\n event: SessionPaymentError,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSessionCancel?: (\n event: SessionCancel,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSessionNotFound?: (\n event: SessionNotFound,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSessionLocked?: (\n event: SessionLocked,\n checkout: DinteroCheckoutInstance,\n callback: () => void,\n ) => void;\n onSessionLockFailed?: (\n event: SessionLockFailed,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onActivePaymentType?: (\n event: ActivePaymentProductType,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onValidateSession?: (\n event: ValidateSession,\n checkout: DinteroCheckoutInstance,\n callback: (result: SessionValidationCallback) => void,\n ) => void;\n}\n\ninterface InternalDinteroEmbedCheckoutOptions\n extends DinteroEmbedCheckoutOptions {\n innerContainer: HTMLDivElement;\n}\n\n/**\n * An event handler that navigates to the href in the event.\n */\nconst followHref: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n cleanUpPopOut(checkout);\n if (event.href) {\n url.windowLocationAssign(event.href);\n }\n};\n\n/**\n * An event handler that sets height of the iframe.\n */\nconst setIframeHeight: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (event.height || event.height === 0) {\n checkout.iframe.setAttribute(\n \"style\",\n `width:100%; height:${event.height}px;`,\n );\n }\n};\n\n/**\n * An event handler that scrolls to the top of the iframe. This is useful when the user\n * is navigated to another page.\n */\nconst scrollToIframeTop: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n try {\n checkout.iframe.scrollIntoView({\n block: \"start\",\n behavior: \"smooth\",\n });\n } catch (e) {\n // Ignore error silently bug log it to the console.\n console.error(e);\n }\n};\n\n/**\n * An event handler that sets language in the iframe.\n */\nconst setLanguage: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (event.language) {\n checkout.language = event.language;\n }\n};\n\n/**\n * Wrap function with try catch so an error in a single function won't short circuit other code in the current context.\n */\nconst safelyInvoke = (fn: () => void) => {\n try {\n fn();\n } catch (e) {\n console.error(e);\n }\n};\n\n/**\n * Handle messages sendt to the SDK from the pop out.\n */\nconst createPopOutMessageHandler = (\n source: Window,\n checkout: DinteroCheckoutInstance,\n) => {\n // Change language in embed if changed in pop out\n const popOutChangedLanguageHandler = {\n internalPopOutHandler: true,\n eventTypes: [InternalCheckoutEvents.LanguageChanged],\n handler: (eventData: any, checkout: DinteroCheckoutInstance) => {\n // Tell the embedded checkout to change language.\n postSetLanguage(\n checkout.iframe,\n checkout.options.sid,\n eventData.language,\n );\n },\n };\n\n // Close pop out, and remove SDK rendered button when payment is completed.\n const paymentCompletedEvents = [\n CheckoutEvents.SessionCancel,\n CheckoutEvents.SessionPaymentOnHold,\n CheckoutEvents.SessionPaymentAuthorized,\n CheckoutEvents.SessionPaymentError,\n ];\n const popOutCompletedHandler = {\n internalPopOutHandler: true,\n eventTypes: paymentCompletedEvents,\n handler: (eventData: any, checkout: DinteroCheckoutInstance) => {\n if (eventData.href) {\n // Remove open pop out button rendered by SDK\n removePopOutButton();\n\n // Close checkout\n try {\n source.close();\n } catch (e) {\n console.error(e);\n }\n } else {\n console.error(\"Payment Complete event missing href property\");\n }\n },\n };\n\n // Listens to messages from pop out window and routes the events to dedicated handlers\n const messageRouter = (event: MessageEvent) => {\n // Check that we should handle the message\n if (\n event.source === source &&\n event.data.context === \"popOut\" &&\n event.data.sid === checkout.options.sid\n ) {\n // Check if handler matches incoming event and trigger the handler if so.\n [\n // SDK events for managing the pop out flow.\n popOutChangedLanguageHandler,\n popOutCompletedHandler,\n\n // Events configured when the checkout was embedded.\n ...checkout.handlers,\n ].forEach((handlerObject) => {\n if (\n (handlerObject.eventTypes as string[]).includes(\n event.data.type,\n ) &&\n handlerObject.handler\n ) {\n // Invoking the handler function if the event type matches the handler.\n safelyInvoke(() => {\n handlerObject.handler(event.data, checkout);\n });\n }\n });\n }\n };\n // Add messageRouter event listener to the Pop Out\n window.addEventListener(\"message\", messageRouter);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener(\"message\", messageRouter);\n };\n};\n\n/**\n * Configures and shows the pop out with the payment options.\n */\nconst showPopOut = async (\n event: ShowPopOutButton,\n checkout: DinteroCheckoutInstance,\n) => {\n const { close, focus, popOutWindow } = await popOutModule.openPopOut({\n sid: checkout.options.sid,\n endpoint: checkout.options.endpoint,\n shouldCallValidateSession: Boolean(checkout.options.onValidateSession),\n language: event.language,\n onOpen: (popOutWindow: Window) =>\n createPopOutMessageHandler(popOutWindow, checkout),\n onClose: () => {\n removeBackdrop();\n postClosePopOutEvent(checkout.iframe, checkout.options.sid);\n setPopOutButtonDisabled(false);\n checkout.popOutWindow = undefined;\n },\n });\n if (popOutWindow) {\n postOpenPopOutEvent(checkout.iframe, checkout.options.sid);\n // Add pop out window to checkout instance\n checkout.popOutWindow = popOutWindow;\n createBackdrop({ focus, close, event });\n return true;\n } else {\n postOpenPopOutFailedEvent(checkout.iframe, checkout.options.sid);\n return false;\n }\n};\n\n/**\n * Create callback function for the client side validation flow. It allows the\n * host application to validate the content of the payment session before the\n * pop out is opened.\n */\nconst createPopOutValidationCallback = (\n event: ShowPopOutButton,\n checkout: DinteroCheckoutInstance,\n) => {\n return (result: SessionValidationCallback) => {\n // Tell the embedded iframe about the validation result so it can show an error message if\n // the validation failed.\n postValidationResult(checkout.iframe, checkout.options.sid, result);\n if (result.success && checkout.popOutWindow) {\n // Redirect user to session in pop out window\n checkout.popOutWindow.location.href = url.getPopOutUrl({\n sid: checkout.options.sid,\n endpoint: checkout.options.endpoint,\n shouldCallValidateSession: false,\n language: event.language,\n });\n } else {\n // Close pop out\n if (checkout.popOutWindow) {\n checkout.popOutWindow.close();\n }\n // Log validation error to console log.\n console.error(result.clientValidationError);\n }\n };\n};\n\n/**\n * Handle click event on the SDK rendered pop out button\n */\nconst handlePopOutButtonClick = async (\n event: ShowPopOutButton,\n checkout: DinteroCheckoutInstance,\n) => {\n // Disable button while pop out is open\n const opened = await showPopOut(event, checkout);\n\n if (opened && checkout.options.onValidateSession) {\n // Let the host application validate the payment session before opening checkout.\n\n // Tell the embedded iframe that we are validating the session\n postValidatePopOutEvent(checkout.iframe, checkout.options.sid);\n\n // Create callback function added to the SDK event and onValidateSession attributes\n const callback = createPopOutValidationCallback(event, checkout);\n\n // Invoke onValidateSession function defined in checkout options\n try {\n checkout.options.onValidateSession(\n {\n type: CheckoutEvents.ValidateSession,\n session: checkout.session,\n callback,\n },\n checkout,\n callback,\n );\n } catch (e) {\n console.error(e);\n postValidationResult(checkout.iframe, checkout.options.sid, {\n success: false,\n clientValidationError: \"Validation runtime error\",\n });\n }\n }\n};\n\n/**\n * Type guard for ShowPopOutButton\n */\nconst isShowPopOutButton = (event: any): event is ShowPopOutButton => {\n return event && event.type === InternalCheckoutEvents.ShowPopOutButton;\n};\n\n/**\n * Display the SDK rendered pop out button on top of the embedded iframe\n */\nconst handleShowButton: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (isShowPopOutButton(event)) {\n addPopOutButton({\n container: checkout.options.innerContainer,\n label: event.openLabel,\n top: event.top,\n left: event.left,\n right: event.right,\n styles: event.styles,\n stylesHover: event.stylesHover,\n stylesFocusVisible: event.stylesFocusVisible,\n disabled: event.disabled,\n onClick: () => handlePopOutButtonClick(event, checkout),\n });\n setBackdropLabels(event);\n }\n};\n\n/**\n * Remove the pop out button above the embedded iframe\n */\nconst handleRemoveButton: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (event.type === InternalCheckoutEvents.HidePopOutButton) {\n removePopOutButton();\n }\n};\n\nconst cleanUpPopOut = (checkout: DinteroCheckoutInstance) => {\n // Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.\n removePopOutButton();\n removeBackdrop();\n if (checkout.popOutWindow) {\n try {\n checkout.popOutWindow.close();\n // Pop out message handlers will be removed when the pop out window is closed\n // via the interval created by openPopOut.\n } catch (e) {\n console.error(e);\n }\n }\n};\n\nconst composeUrl = (base: string, path: string, query: string) => {\n const slash = base.endsWith(\"/\") ? \"\" : \"/\";\n return `${base}${slash}${path}?${query}`;\n};\n\n/**\n * Show a dintero payment session in an embedded iframe.\n */\nexport const embed = async (\n options: DinteroEmbedCheckoutOptions,\n): Promise<DinteroCheckoutInstance> => {\n // Create inner container to offset any styling on the container.\n const innerContainer = document.createElement(\"div\");\n innerContainer.style.position = \"relative\";\n innerContainer.style[\"box-sizing\"] = \"border-box\";\n\n const internalOptions = {\n endpoint: \"https://checkout.dintero.com\",\n innerContainer: innerContainer,\n ...options,\n };\n const {\n container,\n sid,\n language,\n endpoint,\n onSession,\n onSessionCancel,\n onPayment,\n onPaymentAuthorized,\n onPaymentError,\n onSessionNotFound,\n onSessionLocked,\n onSessionLockFailed,\n onActivePaymentType,\n onValidateSession,\n popOut,\n } = internalOptions;\n\n let checkout: DinteroCheckoutInstance | undefined;\n const subscriptions: Subscription[] = [];\n let has_delivered_final_event = false;\n\n // Create iframe\n container.appendChild(innerContainer);\n const { iframe, initiate } = createIframeAsync(\n innerContainer,\n endpoint,\n url.getSessionUrl({\n sid,\n endpoint,\n language,\n ui: options.ui || \"inline\",\n shouldCallValidateSession: onValidateSession !== undefined,\n popOut,\n ...(options.hasOwnProperty(\"hideTestMessage\") && {\n hideTestMessage: options[\"hideTestMessage\"],\n }),\n }),\n );\n\n /**\n * Function that removes the iframe, pop out and all event listeners.\n */\n const destroy = () => {\n cleanUpPopOut(checkout);\n if (iframe) {\n if (internalOptions.popOut) {\n // Try to remove backdrop if it exists\n removeBackdrop();\n }\n subscriptions.forEach((sub) => sub.unsubscribe());\n if (iframe.parentElement) {\n innerContainer.removeChild(iframe);\n }\n }\n if (innerContainer.parentElement) {\n container.removeChild(innerContainer);\n }\n };\n\n /**\n * Turn an action into a promise by specifying resolve and\n * reject events.\n */\n const promisifyAction = (\n action: () => void,\n resolveEvent: CheckoutEvents,\n rejectEvent: CheckoutEvents,\n ) => {\n if (!checkout) {\n throw new Error(\n \"Unable to create action promise: checkout is undefined\",\n );\n }\n return new Promise<SessionEvent>((resolve, reject) => {\n const eventSubscriptions: Subscription[] = [];\n eventSubscriptions.push(\n subscribe({\n sid,\n endpoint,\n handler: (sessionEvent) => {\n eventSubscriptions.forEach((sub) => sub.unsubscribe());\n resolve(sessionEvent);\n },\n eventTypes: [resolveEvent],\n checkout,\n source: checkout.iframe.contentWindow,\n }),\n );\n eventSubscriptions.push(\n subscribe({\n sid,\n endpoint,\n handler: () => {\n eventSubscriptions.forEach((sub) => sub.unsubscribe());\n reject(`Received unexpected event: ${rejectEvent}`);\n },\n eventTypes: [rejectEvent],\n checkout,\n source: checkout.iframe.contentWindow,\n }),\n );\n action();\n });\n };\n\n const lockSession = () => {\n return promisifyAction(\n () => {\n postSessionLock(iframe, sid);\n popOutModule.postPopOutSessionLock(checkout?.popOutWindow, sid);\n },\n CheckoutEvents.SessionLocked,\n CheckoutEvents.SessionLockFailed,\n );\n };\n\n const refreshSession = () => {\n return promisifyAction(\n () => {\n postSessionRefresh(iframe, sid);\n popOutModule.postPopOutSessionRefresh(\n checkout?.popOutWindow,\n sid,\n );\n },\n CheckoutEvents.SessionUpdated,\n CheckoutEvents.SessionNotFound,\n );\n };\n\n const setActivePaymentProductType = (paymentProductType?: string) => {\n // Send to either embed or pop out\n if (options.popOut) {\n popOutModule.postPopOutActivePaymentProductType(\n checkout?.popOutWindow,\n sid,\n paymentProductType,\n );\n } else {\n postActivePaymentProductType(iframe, sid, paymentProductType);\n }\n };\n\n const submitValidationResult = (result: SessionValidationCallback) => {\n postValidationResult(iframe, sid, result);\n // For pop out we do validation when opening the pop out\n };\n\n /**\n * Internal result event message handler wrapper, to replace the content of the iframe with a success/or\n * error message. Only used when the embed function in the SDK has a dedicated handler for onPayment, onError etc.\n * If no custom handler is set the followHref handler is used instead.\n */\n const handleWithResult = (\n sid: string,\n endpoint: string,\n handler: SubscriptionHandler,\n ): SubscriptionHandler => {\n return (event: any, checkout: DinteroCheckoutInstance) => {\n if (!has_delivered_final_event) {\n has_delivered_final_event = true;\n cleanUpPopOut(checkout);\n\n const eventKeys = [\n \"sid\",\n \"merchant_reference\",\n \"transaction_id\",\n \"error\",\n ];\n const pairs = eventKeys.map((key) => [key, event[key]]);\n if (\n event.type === CheckoutEvents.SessionCancel &&\n !event.error\n ) {\n pairs.push([\"error\", \"cancelled\"]);\n }\n pairs.push([\"language\", checkout.language]);\n pairs.push([\"sdk\", pkg.version]);\n const urlQuery = pairs\n .filter(([key, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join(\"&\");\n checkout.iframe.setAttribute(\n \"src\",\n composeUrl(endpoint, \"embedResult/\", urlQuery),\n );\n handler(event, checkout);\n }\n };\n };\n\n const wrappedOnValidateSession = (\n event: ValidateSession,\n checkout: DinteroCheckoutInstance,\n ) => {\n if (onValidateSession) {\n try {\n onValidateSession(\n {\n ...event,\n callback: submitValidationResult,\n },\n checkout,\n submitValidationResult,\n );\n } catch (e) {\n console.error(e);\n submitValidationResult({\n success: false,\n clientValidationError: \"Validation runtime error\",\n });\n }\n }\n };\n\n const wrappedOnSessionLocked = (\n event: SessionLocked,\n checkout: DinteroCheckoutInstance,\n ) => {\n if (onSessionLocked) {\n onSessionLocked(event, checkout, refreshSession);\n }\n };\n\n const wrappedOnLoadedOrUpdated = (\n event: SessionLoaded | SessionUpdated,\n checkout: DinteroCheckoutInstance,\n ) => {\n // Update the checkout instance to include the session object\n checkout.session = event.session;\n if (onSession) {\n onSession(event, checkout);\n }\n };\n\n // Add event handlers (or in some cases add a fallback href handler).\n const handlers = [\n {\n handler: setLanguage,\n eventTypes: [InternalCheckoutEvents.LanguageChanged],\n },\n {\n handler: setIframeHeight,\n eventTypes: [InternalCheckoutEvents.HeightChanged],\n },\n {\n handler: scrollToIframeTop,\n eventTypes: [InternalCheckoutEvents.ScrollToTop],\n },\n {\n handler: wrappedOnLoadedOrUpdated as\n | SubscriptionHandler\n | undefined,\n eventTypes: [\n CheckoutEvents.SessionLoaded,\n CheckoutEvents.SessionUpdated,\n ],\n },\n {\n eventTypes: [CheckoutEvents.SessionPaymentOnHold],\n handler: handleWithResult(sid, endpoint, onPayment || followHref),\n },\n {\n eventTypes: [CheckoutEvents.SessionPaymentAuthorized],\n handler: handleWithResult(\n sid,\n endpoint,\n onPaymentAuthorized || onPayment || followHref,\n ),\n },\n {\n handler: handleWithResult(\n sid,\n endpoint,\n onSessionCancel || followHref,\n ),\n eventTypes: [CheckoutEvents.SessionCancel],\n },\n {\n handler: handleWithResult(\n sid,\n endpoint,\n onPaymentError || followHref,\n ),\n eventTypes: [CheckoutEvents.SessionPaymentError],\n },\n {\n handler: onSessionNotFound as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.SessionNotFound],\n },\n {\n handler: wrappedOnSessionLocked as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.SessionLocked],\n },\n {\n handler: onSessionLockFailed as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.SessionLockFailed],\n },\n {\n handler: onActivePaymentType as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.ActivePaymentProductType],\n },\n {\n handler: wrappedOnValidateSession as\n | SubscriptionHandler\n | undefined,\n eventTypes: [CheckoutEvents.ValidateSession],\n },\n {\n handler: handleShowButton as SubscriptionHandler,\n eventTypes: [InternalCheckoutEvents.ShowPopOutButton],\n },\n {\n handler: handleRemoveButton as SubscriptionHandler,\n eventTypes: [InternalCheckoutEvents.HidePopOutButton],\n },\n ];\n // Create checkout object that wraps the destroy function.\n checkout = {\n destroy,\n iframe,\n language,\n lockSession,\n refreshSession,\n setActivePaymentProductType,\n submitValidationResult,\n options: internalOptions,\n handlers,\n session: undefined,\n popOutWindow: undefined,\n };\n\n handlers.forEach(({ handler, eventTypes }) => {\n if (handler) {\n subscriptions.push(\n subscribe({\n sid,\n endpoint,\n handler,\n eventTypes,\n checkout,\n source: checkout.iframe.contentWindow,\n }),\n );\n }\n });\n\n // Add iframe to DOM\n await initiate();\n // Return object with function to destroy the checkout.\n return checkout;\n};\n\n/**\n * Redirect the customer to a payment session in the Dintero Checkout.\n */\nexport const redirect = (options: DinteroCheckoutOptions) => {\n const {\n sid,\n language,\n endpoint = \"https://checkout.dintero.com\",\n } = options;\n // Redirect the current browser window to the checkout session url.\n url.windowLocationAssign(\n url.getSessionUrl({\n sid,\n endpoint,\n language,\n shouldCallValidateSession: false,\n redirect: true,\n }),\n );\n};\nexport type {\n SessionNotFound,\n SessionLoaded,\n SessionUpdated,\n SessionCancel,\n SessionPaymentOnHold,\n SessionPaymentAuthorized,\n SessionPaymentError,\n SessionLocked,\n SessionLockFailed,\n ActivePaymentProductType,\n ValidateSession,\n SessionValidationCallback,\n} from \"./checkout\";\n","/**\n * Creates an iframe and adds it to the container.\n *\n * Returns a promise that resolves to the iframe when the iframe has loaded.\n * Rejects the promise if there is a problem loading the iframe.\n */\nexport const createIframeAsync = (\n container: HTMLDivElement,\n endpoint: string,\n url: string,\n): { iframe: HTMLIFrameElement; initiate: () => void } => {\n if (!container || !container.appendChild) {\n throw new Error(\"Invalid container\");\n }\n const iframe = document.createElement(\"iframe\");\n\n // No border, transparent and stretch to 100% of the container width.\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"allowTransparency\", \"true\");\n iframe.setAttribute(\"style\", \"width:100%; height:0;\");\n\n // TODO: Get this to work as expected, might be tricky with current\n // tests since they will require the csp to be \"unsafe-inline\".\n // The server needs to add the same property in the Content Security\n // Policy headers in the response for this to work. A CSP header set by\n // a meta tag in the iframe target will not be detected as a valid\n // CSP from the iframe host.\n // Content Security Policy, should be limited to \"endpoint\".\n // iframe.setAttribute(\"csp\", `default-src ${endpoint}`);\n\n // Apply extra restrictions to the content in the iframe.\n // allow popups is needed to open terms in new window\n iframe.setAttribute(\n \"sandbox\",\n \"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation\",\n );\n\n // Needed for to allow apple pay from iframe\n iframe.setAttribute(\"allow\", \"payment; clipboard-write *\");\n\n // The download priority of the resource in the <iframe>'s src attribute.\n iframe.setAttribute(\"importance\", \"high\");\n\n // Set the iframe source to the url.\n iframe.setAttribute(\"src\", url);\n\n // Resolve or reject promise when iframe loads.\n\n // // Add iframe to the container.\n // container.appendChild(iframe);\n return {\n iframe,\n initiate: async () => {\n return new Promise<void>((resolve, reject) => {\n iframe.onload = () => resolve();\n iframe.onerror = () => reject();\n container.appendChild(iframe);\n });\n },\n };\n};\n"],"names":["name","context","definition","builtInProp","cycle","scheduling_queue","ToString","Object","prototype","toString","timer","setImmediate","fn","setTimeout","defineProperty","obj","val","config","value","writable","configurable","err","schedule","self","add","drain","isThenable","o","_then","o_type","then","notify","i","this","chain","length","notifyIsolated","state","success","failure","cb","ret","reject","msg","call","promise","TypeError","resolve","triggered","def","def_wrapper","MakeDefWrapper","apply","arguments","iteratePromises","Constructor","arr","resolver","rejecter","idx","MakeDef","Promise","executor","__NPO__","constructor","push","first","last","item","Item","next","f","PromisePrototype","len","msgs","Array","count","global","module","exports","CheckoutEvents","InternalCheckoutEvents","padTrailingSlash","endpoint","endsWith","getHostname","hostname","window","location","error","hostnameIsTop","top","topHostname","url","getPopOutUrl","sid","language","shouldCallValidateSession","params","URLSearchParams","append","pkg","options","ui","popOut","Error","hasOwnProperty","undefined","redirect","assign","postValidationResult","iframe","result","contentWindow","postMessage","type","subscribe","handler","eventTypes","checkout","endpointUrl","URL","wrappedHandler","event","correctOrigin","origin","correctWindow","source","correctSid","data","correctMessageType","indexOf","postAck","mid","ack","addEventListener","unsubscribe","removeEventListener","STYLE_ID","BACKDROP_ID","BACKDROP_DESCRIPTION","FOCUS_CHECKOUT_BUTTON_ID","CLOSE_BACKDROP_BUTTON_ID","wrapPreventDefault","e","preventDefault","stopPropagation","createBackdropDOM","backdrop","document","createElement","setAttribute","style","zIndex","getBackdropZIndex","elements","getElementsByTagName","highest","from","reduce","acc","element","zIndexStr","defaultView","getComputedStyle","getPropertyValue","parseInt","isNaN","console","focusTrap","focusButton","getElementById","closeButton","key","code","activeElement","focus","createBackdropView","appendBackdropStyles","innerHTML","head","appendChild","label","button","createCloseButtonDOM","closeLabel","dinteroLogo","createDinteroLogoDOM","div","text","p","innerText","createLabelDOM","descriptionLabel","createFocusButtonDOM","focusLabel","onclick","close","body","removeBackdrop","removeChild","OPEN_POP_OUT_BUTTON_ID","addHoverAndFocusVisibleStyles","stylesHover","stylesFocusVisible","styleId","content","toCssEntity","textContent","join","selector","keyValues","toCssParameters","entries","map","slugify","str","replace","toLowerCase","addPopOutButton","container","exists","configureButton","disabled","left","right","styles","onClick","removeAttribute","boxShadow","position","directStyles","removePopOutButton","remove","popOutModule","async","popOutWindow","intervalId","closed","popOutUrl","createPopOutWindow","width","height","screenX","outerWidth","screenY","outerHeight","features","timeout","handleAppLoaded","correctSource","correctMessage","correctContext","clearTimeout","open","log","Math","min","screen","cleanUpClosed","clearInterval","closePopOut","onClose","setInterval","checkIfPopupClosed","onOpen","focusPopOut","postPopOutSessionLock","postPopOutSessionRefresh","postPopOutActivePaymentProductType","paymentProductType","payment_product_type","followHref","cleanUpPopOut","href","setIframeHeight","scrollToIframeTop","scrollIntoView","block","behavior","setLanguage","createPopOutMessageHandler","popOutChangedLanguageHandler","internalPopOutHandler","LanguageChanged","eventData","postSetLanguage","popOutCompletedHandler","SessionCancel","SessionPaymentOnHold","SessionPaymentAuthorized","SessionPaymentError","messageRouter","handlers","forEach","handlerObject","includes","safelyInvoke","showPopOut","Boolean","onValidateSession","postClosePopOutEvent","setPopOutButtonDisabled","createBackdrop","postOpenPopOutFailedEvent","postOpenPopOutEvent","handlePopOutButtonClick","callback","createPopOutValidationCallback","clientValidationError","ValidateSession","session","postValidatePopOutEvent","handleShowButton","ShowPopOutButton","isShowPopOutButton","innerContainer","openLabel","description","setBackdropLabels","handleRemoveButton","HidePopOutButton","internalOptions","onSession","onSessionCancel","onPayment","onPaymentAuthorized","onPaymentError","onSessionNotFound","onSessionLocked","onSessionLockFailed","onActivePaymentType","subscriptions","has_delivered_final_event","initiate","createIframeAsync","onload","onerror","hideTestMessage","promisifyAction","action","resolveEvent","rejectEvent","eventSubscriptions","sessionEvent","sub","refreshSession","postSessionRefresh","SessionUpdated","SessionNotFound","submitValidationResult","handleWithResult","pairs","urlQuery","filter","composeUrl","base","path","query","slash","HeightChanged","ScrollToTop","wrappedOnLoadedOrUpdated","SessionLoaded","wrappedOnSessionLocked","SessionLocked","SessionLockFailed","ActivePaymentProductType","wrappedOnValidateSession","destroy","parentElement","lockSession","postSessionLock","setActivePaymentProductType","postActivePaymentProductType"],"mappings":";;;;;AAKA,CAAcA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKC,EAAQC,CAK+B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIzD,IAAIC,CAAaC,CAAAA,CAAAA,CAAOC,EACvBC,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,UAAUC,CAC5BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgC,oBAAhBC,CACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAeC,GAAM,CAAOD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaC,CAAM,CAAA,CAAA,CAC/CC,CAIF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACCN,OAAOO,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAG,CAAI,CAAA,CAAA,CAAA,CAAE,GAC/BX,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqBY,EAAIf,CAAKgB,CAAAA,CAAAA,CAAIC,GAC/C,CAAOV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOO,eAAeC,CAAIf,CAAAA,CAAAA,CAAK,CACrCkB,CAAOF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACPG,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACVC,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAXH,GAElB,CACE,CACD,MAAOI,CACNlB,CAAAA,CAAAA,CAAAA,CAAc,SAAqBY,CAAIf,CAAAA,CAAAA,CAAKgB,GAE3C,CADAD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIf,GAAQgB,CACLD,CAAAA,CACV,CACE,CAoCD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASO,EAASV,CAAGW,CAAAA,CAAAA,CAAAA,CACpBlB,CAAiBmB,CAAAA,CAAAA,CAAAA,CAAAA,CAAIZ,CAAGW,CAAAA,CAAAA,CAAAA,CACnBnB,IACJA,CAAQM,CAAAA,CAAAA,CAAML,EAAiBoB,CAEhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGD,SAASC,CAAWC,CAAAA,CAAAA,CAAAA,CACnB,IAAIC,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBF,EAS3B,CAPS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAALA,GAEQ,CAAVE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgC,YAAVA,CAGvBD,CAAAA,CAAAA,CAAAA,CAAAA,CAAQD,CAAEG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEY,CAATF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsBA,CACpC,CAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASG,IACR,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIC,EAAE,CAAGA,CAAAA,CAAAA,CAAEC,KAAKC,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQH,IAClCI,CACCH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACgB,IAAfA,CAAKI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeJ,KAAKC,CAAMF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGM,CAAUL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKC,CAAMF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGO,QAC3DN,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMF,IAGbC,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,OAAS,CACpB,CAKD,SAASC,CAAeb,CAAAA,CAAAA,CAAKiB,EAAGN,CAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIO,EAAKb,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CACY,IAAPY,CACHN,CAAAA,CAAAA,CAAMQ,CAAOnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKoB,CAIjBF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CADU,IAAPD,CACGjB,CAAAA,CAAAA,CAAKoB,IAGLH,CAAGI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAAOrB,CAAKoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGfT,EAAMW,CACjBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMQ,OAAOI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEflB,EAAQF,CAAWe,CAAAA,CAAAA,CAAAA,CAAAA,CAC3Bb,EAAMgB,CAAKH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIP,CAAMa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQb,CAAMQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGnCR,EAAMa,CAAQN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGhB,CACD,CAAOpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACNa,EAAMQ,CAAOrB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACb,CACD,CAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS0B,EAAQJ,CAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIf,EAAOL,CAAOU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGlB,IAAIV,CAAKyB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAT,CAEAzB,CAAAA,CAAKyB,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGbzB,EAAK0B,CACR1B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOA,EAAK0B,CAGb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACKrB,EAAQF,CAAWiB,CAAAA,CAAAA,CAAAA,CAAAA,CACtBrB,GAAS,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI4B,EAAc,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAe5B,GACrC,CACCK,CAAAA,CAAAA,CAAAA,CAAAA,CAAMgB,KAAKD,CACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsBI,CAAQK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMF,CAAYG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,IAC7D,CAAqBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOU,MAAMF,CAAYG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,GAE5D,CACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOhC,GACNqB,CAAOE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKM,EAAY7B,CACxB,CAAA,CACN,KAGIE,CAAKoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAMA,EACXpB,CAAKc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CACTd,CAAAA,CAAAA,CAAKW,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,GACvBb,CAASS,CAAAA,CAAAA,CAAOR,GAGlB,CACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOF,GACNqB,CAAOE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,IAAIO,CAAe5B,CAAAA,CAAAA,CAAAA,CAAMF,EACrC,CAlC8B,CAmC/B,CAED,CAASqB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,GACf,CAAIpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAOU,CAGPV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKyB,CAETzB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKyB,WAAY,CAGbzB,CAAAA,CAAAA,CAAK0B,MACR1B,CAAOA,CAAAA,CAAAA,CAAK0B,KAGb1B,CAAKoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAMA,EACXpB,CAAKc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,EACTd,CAAKW,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMC,OAAS,CACvBb,CAAAA,CAAAA,CAAAA,CAASS,EAAOR,CAEjB,CAAA,CAAA,CAED,CAAS+B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBC,CAAYC,CAAAA,CAAAA,CAAIC,EAASC,CACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,IAAIC,CAAI,CAAA,CAAA,CAAGA,EAAIH,CAAIrB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQwB,KAC/B,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACdJ,EAAYR,CAAQS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIG,IACvB7B,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoBa,GACnBc,CAASE,CAAAA,CAAAA,CAAIhB,CACb,CAAA,CAAA,CAAA,CACDe,CAED,CAAA,CARD,CAQGC,CAEJ,CAAA,CAED,SAASR,CAAe5B,CAAAA,CAAAA,CAAAA,CACvBU,KAAKgB,CAAM1B,CAAAA,CAAAA,CAAAA,CAAAA,CACXU,KAAKe,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACjB,CAED,CAASY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQrC,GAChBU,CAAKY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUtB,EACfU,CAAKI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CACbJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKe,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACjBf,KAAKC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACbD,KAAKU,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CAED,CAASkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,GAChB,CAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAZA,EACV,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,kBAGjB,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAjBb,KAAK8B,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMjB,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKjBb,CAAK8B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,EAEf,CAAId,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,IAAIW,CAAQ3B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEtBA,KAAW,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcK,CAAQC,CAAAA,CAAAA,CAAAA,CACpC,CAAIZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CACPW,CAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAXA,GAAwBA,CACxCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA2B,mBAAXA,CAAwBA,CAAAA,CAAAA,CAAAA,CAAAA,CAmBzC,CAdAZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEkB,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIZ,KAAK+B,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsBjB,EAAQL,CAC9D,CAAA,CAAA,CAAA,CAAA,CAAsB,mBAAXK,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAVL,EAC1C,CAAMI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,kBAGjBnB,CAAEoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUA,EACZpB,CAAEe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASA,CACf,CACGO,CAAAA,CAAAA,CAAAA,CAAAA,CAAIf,CAAM+B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKtC,CAEG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdsB,EAAIZ,CACPf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASS,EAAOkB,CAGVtB,CAAAA,CAAAA,CAAAA,CAAEkB,OACZ,CACEZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,MAAI,CAAiBM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAChC,OAAON,CAAKH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAAOS,CAC3B,CAAA,CAAA,CAEE,IACCuB,CAASlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACR,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuBD,CACtBI,CAAAA,CAAAA,CAAAA,CAAQH,KAAKK,CAAIN,CAAAA,CAAAA,CACjB,IACD,CAAsBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACrBD,EAAOE,CAAKK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIN,EAChB,CAEF,CAAA,CAAA,CACD,MAAOtB,CACNqB,CAAAA,CAAAA,CAAAA,CAAOE,KAAKK,CAAI5B,CAAAA,CAAAA,CAChB,CACD,CAnPDhB,CAAAA,CAAmB,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI6D,CAAOC,CAAAA,CAAAA,CAAMC,EAEjB,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKzD,EAAGW,CAChBU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKrB,GAAKA,CACVqB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKV,KAAOA,CACZU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKqC,UAAO,CACZ,CAED,MAAO,CACN9C,CAAAA,CAAAA,CAAAA,CAAK,SAAaZ,CAAGW,CAAAA,CAAAA,CAAAA,CACpB6C,CAAO,CAAA,CAAA,CAAA,CAAA,CAAIC,CAAKzD,CAAAA,CAAAA,CAAGW,GACf4C,CACHA,CAAAA,CAAAA,CAAKG,KAAOF,CAGZF,CAAAA,CAAAA,CAAQE,EAETD,CAAOC,CAAAA,CAAAA,CACPA,OAAO,CACP,CAAA,CACD3C,MAAO,CACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI8C,EAAIL,CAGR,CAAA,CAAA,CAAA,CAAA,CAFAA,EAAQC,CAAO/D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAEhBmE,CAAAA,CAAAA,CAAAA,CACNA,CAAE3D,CAAAA,CAAAA,CAAAA,CAAGgC,KAAK2B,CAAEhD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACZgD,EAAIA,CAAED,CAAAA,CAAAA,CAAAA,CAAAA,CAEP,EAEF,CA/BkB,CAAA,CAAA,CAqPnB,IAAIE,CAAmBrE,CAAAA,CAAAA,CAAY,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc0D,GAClC,CAqFlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAjFAA,EAAQrD,CAAYgE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGpBrE,CAAYqE,CAAAA,CAAAA,CAAiB,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,GAGlBrE,CAAY0D,CAAAA,CAAAA,CAAQ,WAAU,CAAyBlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAKtD,OAAIA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAPA,GAAmC,CAAhBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIoB,QACjCpB,CAGD,CAAA,CAAA,CAAA,CAAA,CARWV,MAQK,CAAkBc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQL,GAChD,CAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAXK,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAVL,CAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMI,UAAU,CAGjBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQJ,EACX,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAECxC,EAAY0D,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAwBlB,CACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAIV,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBc,EAAQL,CACzC,CAAA,CAAA,CAAA,CAAA,CAAsB,mBAAXK,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAVL,CAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGjBJ,EAAOC,CACV,CAAA,CAAA,CAAA,CACA,IAECxC,CAAY0D,CAAAA,CAAAA,CAAQ,OAAM,CAAqBL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC9C,IAAID,CAActB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGlB,MAA0B,CAAtB3B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASsC,KAAKY,CACVD,CAAAA,CAAAA,CAAAA,CAAYb,OAAOI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAElB,CAAfU,CAAAA,CAAAA,CAAAA,CAAAA,CAAIrB,CACAoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYR,QAAQ,CAGrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIQ,GAAY,CAAkBR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQL,GAChD,CAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAXK,GAA0C,CAAVL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC1C,MAAMI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGjB,IAAI2B,CAAMjB,CAAAA,CAAAA,CAAIrB,OAAQuC,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMF,CAAMG,CAAAA,CAAAA,CAAAA,CAAQ,CAEjDtB,CAAAA,CAAAA,CAAgBC,EAAYC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBG,EAAIhB,CACrD+B,CAAAA,CAAAA,CAAAA,CAAKf,GAAOhB,CACNiC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUH,GACf1B,CAAQ2B,CAAAA,CAAAA,CAET,GAAChC,CACL,CAAA,CAAA,CAAA,CACA,IAECvC,CAAY0D,CAAAA,CAAAA,CAAQ,QAAO,CAAsBL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAChD,CAAID,CAAAA,CAAAA,CAAAA,CAAAA,CAActB,CAGlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,kBAAtB3B,CAASsC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKY,GACVD,CAAYb,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOI,UAAU,CAG9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIS,GAAY,CAAkBR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQL,GAChD,CAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAXK,GAA0C,CAAVL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC1C,MAAMI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGjBQ,CAAgBC,CAAAA,CAAAA,CAAYC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBG,EAAIhB,CACrDI,CAAAA,CAAAA,CAAAA,CAAQJ,EACR,CAACD,CAAAA,CAAAA,CAAAA,CACL,GACA,CAEQmB,CAAAA,CAAAA,CAAAA,CACR,GA/WmB5D,CAKyB4E,CAAAA,CAAAA,CAAAA,CAL9B7E,EAKX,CAHcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQD,IAASE,CACG4E,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,UAAWD,UAAiB7E,CAAQD,CAAAA,CAAAA,CAAAA,YCNpEgF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,OAAdA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAdA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAdA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iBAAdA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAdA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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+XAW6BA,CAmB7BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAOAE,8eAaAA,CACAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAQAA,yHAKAC,CAgBAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAA,kWAWAA,CAIAH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA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AAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAgBZI,CAAM,CAyDOC,CAAAA,CAAqBlF,EAAQqB,CAAM8D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjDC,EAvDmBC,CAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAMvC,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,OASnC,CARAsC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIT,UAAY,CAQTS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CA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"}
1
+ {"version":3,"file":"dintero-checkout-web-sdk.umd.min.js","sources":["../node_modules/native-promise-only/lib/npo.src.js","../src/checkout.ts","../src/url.ts","../src/subscribe.ts","../src/popOutBackdrop.ts","../src/popOutButton.ts","../src/popOut.ts","../src/index.ts","../src/createIframeAsync.ts"],"sourcesContent":["/*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n*/\n\n(function UMD(name,context,definition){\n\t// special form of UMD for polyfilling across evironments\n\tcontext[name] = context[name] || definition();\n\tif (typeof module != \"undefined\" && module.exports) { module.exports = context[name]; }\n\telse if (typeof define == \"function\" && define.amd) { define(function $AMD$(){ return context[name]; }); }\n})(\"Promise\",typeof global != \"undefined\" ? global : this,function DEF(){\n\t/*jshint validthis:true */\n\t\"use strict\";\n\n\tvar builtInProp, cycle, scheduling_queue,\n\t\tToString = Object.prototype.toString,\n\t\ttimer = (typeof setImmediate != \"undefined\") ?\n\t\t\tfunction timer(fn) { return setImmediate(fn); } :\n\t\t\tsetTimeout\n\t;\n\n\t// dammit, IE8.\n\ttry {\n\t\tObject.defineProperty({},\"x\",{});\n\t\tbuiltInProp = function builtInProp(obj,name,val,config) {\n\t\t\treturn Object.defineProperty(obj,name,{\n\t\t\t\tvalue: val,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: config !== false\n\t\t\t});\n\t\t};\n\t}\n\tcatch (err) {\n\t\tbuiltInProp = function builtInProp(obj,name,val) {\n\t\t\tobj[name] = val;\n\t\t\treturn obj;\n\t\t};\n\t}\n\n\t// Note: using a queue instead of array for efficiency\n\tscheduling_queue = (function Queue() {\n\t\tvar first, last, item;\n\n\t\tfunction Item(fn,self) {\n\t\t\tthis.fn = fn;\n\t\t\tthis.self = self;\n\t\t\tthis.next = void 0;\n\t\t}\n\n\t\treturn {\n\t\t\tadd: function add(fn,self) {\n\t\t\t\titem = new Item(fn,self);\n\t\t\t\tif (last) {\n\t\t\t\t\tlast.next = item;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tfirst = item;\n\t\t\t\t}\n\t\t\t\tlast = item;\n\t\t\t\titem = void 0;\n\t\t\t},\n\t\t\tdrain: function drain() {\n\t\t\t\tvar f = first;\n\t\t\t\tfirst = last = cycle = void 0;\n\n\t\t\t\twhile (f) {\n\t\t\t\t\tf.fn.call(f.self);\n\t\t\t\t\tf = f.next;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tfunction schedule(fn,self) {\n\t\tscheduling_queue.add(fn,self);\n\t\tif (!cycle) {\n\t\t\tcycle = timer(scheduling_queue.drain);\n\t\t}\n\t}\n\n\t// promise duck typing\n\tfunction isThenable(o) {\n\t\tvar _then, o_type = typeof o;\n\n\t\tif (o != null &&\n\t\t\t(\n\t\t\t\to_type == \"object\" || o_type == \"function\"\n\t\t\t)\n\t\t) {\n\t\t\t_then = o.then;\n\t\t}\n\t\treturn typeof _then == \"function\" ? _then : false;\n\t}\n\n\tfunction notify() {\n\t\tfor (var i=0; i<this.chain.length; i++) {\n\t\t\tnotifyIsolated(\n\t\t\t\tthis,\n\t\t\t\t(this.state === 1) ? this.chain[i].success : this.chain[i].failure,\n\t\t\t\tthis.chain[i]\n\t\t\t);\n\t\t}\n\t\tthis.chain.length = 0;\n\t}\n\n\t// NOTE: This is a separate function to isolate\n\t// the `try..catch` so that other code can be\n\t// optimized better\n\tfunction notifyIsolated(self,cb,chain) {\n\t\tvar ret, _then;\n\t\ttry {\n\t\t\tif (cb === false) {\n\t\t\t\tchain.reject(self.msg);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (cb === true) {\n\t\t\t\t\tret = self.msg;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tret = cb.call(void 0,self.msg);\n\t\t\t\t}\n\n\t\t\t\tif (ret === chain.promise) {\n\t\t\t\t\tchain.reject(TypeError(\"Promise-chain cycle\"));\n\t\t\t\t}\n\t\t\t\telse if (_then = isThenable(ret)) {\n\t\t\t\t\t_then.call(ret,chain.resolve,chain.reject);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tchain.resolve(ret);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (err) {\n\t\t\tchain.reject(err);\n\t\t}\n\t}\n\n\tfunction resolve(msg) {\n\t\tvar _then, self = this;\n\n\t\t// already triggered?\n\t\tif (self.triggered) { return; }\n\n\t\tself.triggered = true;\n\n\t\t// unwrap\n\t\tif (self.def) {\n\t\t\tself = self.def;\n\t\t}\n\n\t\ttry {\n\t\t\tif (_then = isThenable(msg)) {\n\t\t\t\tschedule(function(){\n\t\t\t\t\tvar def_wrapper = new MakeDefWrapper(self);\n\t\t\t\t\ttry {\n\t\t\t\t\t\t_then.call(msg,\n\t\t\t\t\t\t\tfunction $resolve$(){ resolve.apply(def_wrapper,arguments); },\n\t\t\t\t\t\t\tfunction $reject$(){ reject.apply(def_wrapper,arguments); }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\treject.call(def_wrapper,err);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tself.msg = msg;\n\t\t\t\tself.state = 1;\n\t\t\t\tif (self.chain.length > 0) {\n\t\t\t\t\tschedule(notify,self);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (err) {\n\t\t\treject.call(new MakeDefWrapper(self),err);\n\t\t}\n\t}\n\n\tfunction reject(msg) {\n\t\tvar self = this;\n\n\t\t// already triggered?\n\t\tif (self.triggered) { return; }\n\n\t\tself.triggered = true;\n\n\t\t// unwrap\n\t\tif (self.def) {\n\t\t\tself = self.def;\n\t\t}\n\n\t\tself.msg = msg;\n\t\tself.state = 2;\n\t\tif (self.chain.length > 0) {\n\t\t\tschedule(notify,self);\n\t\t}\n\t}\n\n\tfunction iteratePromises(Constructor,arr,resolver,rejecter) {\n\t\tfor (var idx=0; idx<arr.length; idx++) {\n\t\t\t(function IIFE(idx){\n\t\t\t\tConstructor.resolve(arr[idx])\n\t\t\t\t.then(\n\t\t\t\t\tfunction $resolver$(msg){\n\t\t\t\t\t\tresolver(idx,msg);\n\t\t\t\t\t},\n\t\t\t\t\trejecter\n\t\t\t\t);\n\t\t\t})(idx);\n\t\t}\n\t}\n\n\tfunction MakeDefWrapper(self) {\n\t\tthis.def = self;\n\t\tthis.triggered = false;\n\t}\n\n\tfunction MakeDef(self) {\n\t\tthis.promise = self;\n\t\tthis.state = 0;\n\t\tthis.triggered = false;\n\t\tthis.chain = [];\n\t\tthis.msg = void 0;\n\t}\n\n\tfunction Promise(executor) {\n\t\tif (typeof executor != \"function\") {\n\t\t\tthrow TypeError(\"Not a function\");\n\t\t}\n\n\t\tif (this.__NPO__ !== 0) {\n\t\t\tthrow TypeError(\"Not a promise\");\n\t\t}\n\n\t\t// instance shadowing the inherited \"brand\"\n\t\t// to signal an already \"initialized\" promise\n\t\tthis.__NPO__ = 1;\n\n\t\tvar def = new MakeDef(this);\n\n\t\tthis[\"then\"] = function then(success,failure) {\n\t\t\tvar o = {\n\t\t\t\tsuccess: typeof success == \"function\" ? success : true,\n\t\t\t\tfailure: typeof failure == \"function\" ? failure : false\n\t\t\t};\n\t\t\t// Note: `then(..)` itself can be borrowed to be used against\n\t\t\t// a different promise constructor for making the chained promise,\n\t\t\t// by substituting a different `this` binding.\n\t\t\to.promise = new this.constructor(function extractChain(resolve,reject) {\n\t\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t\t}\n\n\t\t\t\to.resolve = resolve;\n\t\t\t\to.reject = reject;\n\t\t\t});\n\t\t\tdef.chain.push(o);\n\n\t\t\tif (def.state !== 0) {\n\t\t\t\tschedule(notify,def);\n\t\t\t}\n\n\t\t\treturn o.promise;\n\t\t};\n\t\tthis[\"catch\"] = function $catch$(failure) {\n\t\t\treturn this.then(void 0,failure);\n\t\t};\n\n\t\ttry {\n\t\t\texecutor.call(\n\t\t\t\tvoid 0,\n\t\t\t\tfunction publicResolve(msg){\n\t\t\t\t\tresolve.call(def,msg);\n\t\t\t\t},\n\t\t\t\tfunction publicReject(msg) {\n\t\t\t\t\treject.call(def,msg);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tcatch (err) {\n\t\t\treject.call(def,err);\n\t\t}\n\t}\n\n\tvar PromisePrototype = builtInProp({},\"constructor\",Promise,\n\t\t/*configurable=*/false\n\t);\n\n\t// Note: Android 4 cannot use `Object.defineProperty(..)` here\n\tPromise.prototype = PromisePrototype;\n\n\t// built-in \"brand\" to signal an \"uninitialized\" promise\n\tbuiltInProp(PromisePrototype,\"__NPO__\",0,\n\t\t/*configurable=*/false\n\t);\n\n\tbuiltInProp(Promise,\"resolve\",function Promise$resolve(msg) {\n\t\tvar Constructor = this;\n\n\t\t// spec mandated checks\n\t\t// note: best \"isPromise\" check that's practical for now\n\t\tif (msg && typeof msg == \"object\" && msg.__NPO__ === 1) {\n\t\t\treturn msg;\n\t\t}\n\n\t\treturn new Constructor(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\tresolve(msg);\n\t\t});\n\t});\n\n\tbuiltInProp(Promise,\"reject\",function Promise$reject(msg) {\n\t\treturn new this(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\treject(msg);\n\t\t});\n\t});\n\n\tbuiltInProp(Promise,\"all\",function Promise$all(arr) {\n\t\tvar Constructor = this;\n\n\t\t// spec mandated checks\n\t\tif (ToString.call(arr) != \"[object Array]\") {\n\t\t\treturn Constructor.reject(TypeError(\"Not an array\"));\n\t\t}\n\t\tif (arr.length === 0) {\n\t\t\treturn Constructor.resolve([]);\n\t\t}\n\n\t\treturn new Constructor(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\tvar len = arr.length, msgs = Array(len), count = 0;\n\n\t\t\titeratePromises(Constructor,arr,function resolver(idx,msg) {\n\t\t\t\tmsgs[idx] = msg;\n\t\t\t\tif (++count === len) {\n\t\t\t\t\tresolve(msgs);\n\t\t\t\t}\n\t\t\t},reject);\n\t\t});\n\t});\n\n\tbuiltInProp(Promise,\"race\",function Promise$race(arr) {\n\t\tvar Constructor = this;\n\n\t\t// spec mandated checks\n\t\tif (ToString.call(arr) != \"[object Array]\") {\n\t\t\treturn Constructor.reject(TypeError(\"Not an array\"));\n\t\t}\n\n\t\treturn new Constructor(function executor(resolve,reject){\n\t\t\tif (typeof resolve != \"function\" || typeof reject != \"function\") {\n\t\t\t\tthrow TypeError(\"Not a function\");\n\t\t\t}\n\n\t\t\titeratePromises(Constructor,arr,function resolver(idx,msg){\n\t\t\t\tresolve(msg);\n\t\t\t},reject);\n\t\t});\n\t});\n\n\treturn Promise;\n});\n","import type { Session } from \"./session\";\n\nexport enum CheckoutEvents {\n SessionNotFound = \"SessionNotFound\",\n SessionLoaded = \"SessionLoaded\",\n SessionUpdated = \"SessionUpdated\",\n SessionCancel = \"SessionCancel\",\n SessionPaymentOnHold = \"SessionPaymentOnHold\",\n SessionPaymentAuthorized = \"SessionPaymentAuthorized\",\n SessionPaymentError = \"SessionPaymentError\",\n SessionLocked = \"SessionLocked\",\n SessionLockFailed = \"SessionLockFailed\",\n ActivePaymentProductType = \"ActivePaymentProductType\",\n ValidateSession = \"ValidateSession\",\n}\nexport enum InternalCheckoutEvents {\n HeightChanged = \"HeightChanged\",\n LanguageChanged = \"LanguageChanged\",\n ScrollToTop = \"ScrollToTop\",\n ShowPopOutButton = \"ShowPopOutButton\",\n HidePopOutButton = \"HidePopOutButton\",\n}\n\nexport type SessionNotFound = {\n type: CheckoutEvents.SessionNotFound;\n};\n\nexport type SessionLoaded = {\n type: CheckoutEvents.SessionLoaded;\n session: Session;\n};\n\nexport type SessionUpdated = {\n type: CheckoutEvents.SessionUpdated;\n session: Session;\n};\n\nexport type SessionCancel = {\n type: CheckoutEvents.SessionCancel;\n href: string;\n};\n\nexport type SessionPaymentOnHold = {\n type: CheckoutEvents.SessionPaymentOnHold;\n transaction_id: string;\n merchant_reference: string;\n href: string;\n};\n\nexport type SessionPaymentAuthorized = {\n type: CheckoutEvents.SessionPaymentAuthorized;\n transaction_id: string;\n merchant_reference: string;\n href: string;\n};\n\nexport type SessionLocked = {\n type: CheckoutEvents.SessionLocked;\n pay_lock_id: string;\n callback: () => void;\n};\n\nexport type ShowPopOutButton = {\n type: \"ShowPopOutButton\";\n styles: {\n font: string;\n height: string;\n color: string;\n background: string;\n textAlign: string;\n padding: string;\n margin: string;\n border: string;\n borderRadius: string;\n cursor: string;\n fontWeight: string;\n lineHeight: string;\n transition: string;\n outline: string;\n };\n stylesHover?: { [key: string]: string };\n stylesFocusVisible?: { [key: string]: string };\n openLabel: string;\n focusLabel: string;\n closeLabel: string;\n descriptionLabel: string;\n top: string;\n left: string;\n right: string;\n language: string;\n disabled: \"true\" | \"false\";\n};\n\nexport type SessionLockFailed = {\n type: CheckoutEvents.SessionLockFailed;\n};\nexport type ActivePaymentProductType = {\n type: CheckoutEvents.ActivePaymentProductType;\n payment_product_type: string | undefined;\n};\n\nexport type ValidateSession = {\n type: CheckoutEvents.ValidateSession;\n session: Session;\n callback: (result: SessionValidationCallback) => void;\n};\n\nexport interface SessionValidationCallback {\n success: boolean;\n clientValidationError?: string;\n}\n\nexport type WrappedValidateSession = Pick<ValidateSession, \"type\" | \"session\">;\nexport type WrappedSessionLocked = Pick<SessionLocked, \"type\" | \"pay_lock_id\">;\n\nexport type SessionPayment = SessionPaymentAuthorized | SessionPaymentOnHold;\n\nexport type SessionPaymentError = {\n type: CheckoutEvents.SessionPaymentError;\n error: string;\n href: string;\n};\n\nexport type SessionEvent =\n | SessionNotFound\n | SessionLoaded\n | SessionUpdated\n | SessionCancel\n | SessionPaymentOnHold\n | SessionPaymentAuthorized\n | SessionPaymentError\n | WrappedSessionLocked\n | SessionLockFailed\n | ActivePaymentProductType\n | WrappedValidateSession;\n","import { redirect } from \".\";\nimport pkg from \"../package.json\";\n\n/**\n * Wraps window.location.assign()\n */\nconst windowLocationAssign = (url: string) => {\n window.location.assign(url);\n};\n\n/**\n * Get the url for the session\n */\nexport interface SessionUrlOptions {\n sid: string;\n endpoint: string;\n language: string | undefined;\n ui?: \"fullscreen\" | \"inline\";\n shouldCallValidateSession: boolean;\n popOut?: boolean;\n redirect?: boolean;\n}\n\nconst getSessionUrl = (options: SessionUrlOptions): string => {\n const { sid, endpoint, language, ui, shouldCallValidateSession, popOut } =\n options;\n if (!endpoint) {\n throw new Error(\"Invalid endpoint\");\n }\n const params = new URLSearchParams();\n params.append(\"sdk\", pkg.version);\n if (ui) {\n params.append(\"ui\", ui);\n }\n if (language) {\n params.append(\"language\", language);\n }\n if (shouldCallValidateSession) {\n params.append(\"client_side_validation\", \"true\");\n }\n if (popOut) {\n params.append(\"role\", \"pop_out_launcher\");\n }\n if (\n options.hasOwnProperty(\"hideTestMessage\") &&\n options[\"hideTestMessage\"] !== undefined &&\n options[\"hideTestMessage\"] === true\n ) {\n params.append(\"hide_test_message\", \"true\");\n }\n const hostname = getHostname();\n if (hostname) {\n params.append(\"sdk_hostname\", hostname);\n }\n if (!redirect && !hostnameIsTop()) {\n params.append(\"sdk_not_top_level\", \"false\");\n }\n if (endpoint === \"https://checkout.dintero.com\") {\n // Default endpoint will redirect via the view endpoint\n return `${endpoint}/v1/view/${sid}?${params.toString()}`;\n }\n // When a custom endpoint is set skip the view redirect endpoint since\n // custom endpoints like localhost and PR builds does not support the\n // serverside view flow.\n params.append(\"sid\", sid);\n return `${padTrailingSlash(endpoint)}?${params.toString()}`;\n};\n\nconst padTrailingSlash = (endpoint: string) =>\n endpoint.endsWith(\"/\") ? endpoint : `${endpoint}/`;\n\nconst getPopOutUrl = ({\n sid,\n endpoint,\n language,\n shouldCallValidateSession,\n}: SessionUrlOptions) => {\n const params = new URLSearchParams();\n params.append(\"ui\", \"fullscreen\");\n params.append(\"role\", \"pop_out_payment\");\n params.append(\"sid\", sid);\n params.append(\"sdk\", pkg.version);\n if (language) {\n params.append(\"language\", language);\n }\n if (shouldCallValidateSession) {\n params.append(\"loader\", \"true\");\n }\n const hostname = getHostname();\n if (hostname) {\n params.append(\"sdk_hostname\", hostname);\n }\n return `${padTrailingSlash(endpoint)}?${params.toString()}`;\n};\n\nconst getHostname = (): string => {\n try {\n const { hostname } = window.location;\n return hostname;\n } catch (error) {\n return undefined;\n }\n};\n\nconst hostnameIsTop = (): boolean => {\n try {\n if (window.self === window.top) {\n return true;\n }\n const hostname = getHostname();\n const topHostname = window.top.location.hostname;\n return topHostname && hostname && hostname === topHostname;\n } catch (error) {\n return false;\n }\n};\n\nexport const url = {\n getPopOutUrl,\n getSessionUrl,\n windowLocationAssign,\n};\n","import {\n CheckoutEvents,\n InternalCheckoutEvents,\n SessionEvent,\n SessionValidationCallback,\n} from \"./checkout\";\nimport { DinteroCheckoutInstance } from \".\";\n\n/**\n * Unsubscribe handler from event(s).\n */\nexport type SubscriptionHandler = (\n sessionEvent: SessionEvent,\n checkout: DinteroCheckoutInstance,\n) => void;\n\ninterface SubscriptionOptions {\n sid: string;\n endpoint: string;\n handler: SubscriptionHandler;\n eventTypes: (CheckoutEvents | InternalCheckoutEvents)[];\n checkout: DinteroCheckoutInstance;\n source: Window;\n}\n\nexport type Subscription = {\n /**\n * Unsubscribe handler from event(s).\n */\n unsubscribe: () => void;\n};\n\n/**\n * Post a message acknowledgement to the checkout iframe.\n */\nconst postAck = (source: Window, event: MessageEvent) => {\n if (event.data.mid && source) {\n source.postMessage({ ack: event.data.mid }, event.origin || \"*\");\n }\n};\n\n/**\n * Post a SessionLock-event to the checkout iframe.\n */\nexport const postSessionLock = (iframe: HTMLIFrameElement, sid: string) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"LockSession\", sid }, \"*\");\n }\n};\n\n/**\n * Post the validation result to the checkout iframe\n */\nexport const postValidationResult = (\n iframe: HTMLIFrameElement,\n sid: string,\n result: SessionValidationCallback,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"ValidationResult\", sid, ...result },\n \"*\",\n );\n }\n};\n\n/**\n * Post RefreshSession-event to the checkout iframe.\n */\nexport const postSessionRefresh = (iframe: HTMLIFrameElement, sid: string) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"RefreshSession\", sid }, \"*\");\n }\n};\n\n/**\n * Post SetActivePaymentProductType-event to the checkout iframe.\n */\nexport const postActivePaymentProductType = (\n iframe: HTMLIFrameElement,\n sid: string,\n paymentProductType?: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n {\n type: \"SetActivePaymentProductType\",\n sid,\n payment_product_type: paymentProductType,\n },\n \"*\",\n );\n }\n};\n\n/**\n * Post ClosePopOut-event to the checkout iframe.\n */\nexport const postValidatePopOutEvent = (\n iframe: HTMLIFrameElement,\n sid: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"ValidatingPopOut\", sid },\n \"*\",\n );\n }\n};\n\n/**\n * Post OpenPopOutFailed-event to the checkout iframe.\n */\nexport const postOpenPopOutFailedEvent = (\n iframe: HTMLIFrameElement,\n sid: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"OpenPopOutFailed\", sid },\n \"*\",\n );\n }\n};\n\n/**\n * Post OpenedPopOut-event to the checkout iframe.\n */\nexport const postOpenPopOutEvent = (iframe: HTMLIFrameElement, sid: string) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"OpenedPopOut\", sid }, \"*\");\n }\n};\n\n/**\n * Post ClosePopOut-event to the checkout iframe.\n */\nexport const postClosePopOutEvent = (\n iframe: HTMLIFrameElement,\n sid: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage({ type: \"ClosedPopOut\", sid }, \"*\");\n }\n};\n\n/**\n * Post SetLanguage-event to the checkout iframe.\n */\nexport const postSetLanguage = (\n iframe: HTMLIFrameElement,\n sid: string,\n language: string,\n) => {\n if (iframe.contentWindow) {\n iframe.contentWindow.postMessage(\n { type: \"SetLanguage\", sid, language },\n \"*\",\n );\n }\n};\n\n/**\n * Subscribe to events from an iframe given a handler and a set\n * of event types.\n */\nexport const subscribe = (options: SubscriptionOptions): Subscription => {\n const { sid, endpoint, handler, eventTypes, checkout } = options;\n\n // Wrap event handler in a function that checks for correct origin and\n // filters on event type(s) in the event data.\n const endpointUrl = new URL(endpoint);\n\n const wrappedHandler = (event: MessageEvent) => {\n const correctOrigin = event.origin === endpointUrl.origin;\n const correctWindow = event.source === checkout.iframe.contentWindow;\n const correctSid = event.data && event.data.sid === sid;\n const correctMessageType =\n eventTypes.indexOf(event.data && event.data.type) !== -1;\n\n if (\n correctOrigin &&\n correctWindow &&\n correctSid &&\n correctMessageType\n ) {\n postAck(checkout.iframe.contentWindow, event);\n handler(event.data, checkout);\n }\n };\n\n // Add event listener to the iframe.\n window.addEventListener(\"message\", wrappedHandler as any, false);\n\n // Function to remove the event listener from the iframe.\n const unsubscribe = () => {\n window.removeEventListener(\"message\", wrappedHandler as any, false);\n };\n\n // Return object with unsubscribe function.\n return {\n unsubscribe,\n };\n};\n","import { ShowPopOutButton } from \"./checkout\";\n\ntype BackdropOptions = {\n close: () => void;\n focus: () => void;\n event: ShowPopOutButton;\n};\n\nconst getBackdropZIndex = () => {\n // Iterate all DOM items to get current highest element.\n const elements = document.getElementsByTagName(\"*\");\n const highest = Array.from(elements).reduce((acc, element) => {\n try {\n const zIndexStr = document.defaultView\n .getComputedStyle(element, null)\n .getPropertyValue(\"z-index\");\n const zIndex = parseInt(zIndexStr || \"0\");\n if (!isNaN(zIndex) && zIndex > acc) {\n return zIndex;\n }\n } catch (e) {\n // Ignore errors when getting z-index\n console.error(e);\n }\n return acc;\n }, 0);\n if (highest < 9999) {\n return \"9999\";\n }\n return (highest + 1).toString();\n};\n\nconst STYLE_ID = \"dintero-checkout-sdk-style\";\nconst BACKDROP_ID = \"dintero-checkout-sdk-backdrop\";\nconst BACKDROP_DESCRIPTION = \"dintero-checkout-sdk-backdrop-description\";\nconst FOCUS_CHECKOUT_BUTTON_ID = \"dintero-checkout-sdk-backdrop-focus\";\nconst CLOSE_BACKDROP_BUTTON_ID = \"dintero-checkout-sdk-backdrop-close\";\n\nconst wrapPreventDefault = (fn: () => void) => {\n // Creates a wrapped function that will invoke preventDefault() to stop\n // the event from bubbling up the DOM tree.\n return (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n fn();\n return false;\n };\n};\n\nconst appendBackdropStyles = () => {\n // Check if exists before appending to DOM\n if (document.getElementById(STYLE_ID)) {\n return;\n }\n // Add style to DOM\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", STYLE_ID);\n style.innerHTML = `\n @keyframes ${BACKDROP_ID}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${BACKDROP_ID} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${BACKDROP_ID}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${BACKDROP_ID} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${FOCUS_CHECKOUT_BUTTON_ID} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${FOCUS_CHECKOUT_BUTTON_ID}:hover,\n #${FOCUS_CHECKOUT_BUTTON_ID}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${FOCUS_CHECKOUT_BUTTON_ID}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${CLOSE_BACKDROP_BUTTON_ID} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${CLOSE_BACKDROP_BUTTON_ID}:hover,\n #${CLOSE_BACKDROP_BUTTON_ID}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${CLOSE_BACKDROP_BUTTON_ID}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${BACKDROP_ID}:before,\n #${BACKDROP_ID}:after,\n #${BACKDROP_ID} > *:before,\n #${BACKDROP_ID} > *:after {\n content: '';\n content: none;\n }\n `;\n document.head.appendChild(style);\n};\n\nconst createBackdropDOM = () => {\n // Dark translucent backdrop element\n const backdrop = document.createElement(\"div\");\n backdrop.setAttribute(\"id\", BACKDROP_ID);\n backdrop.setAttribute(\"role\", \"dialog\");\n backdrop.style.zIndex = getBackdropZIndex();\n return backdrop;\n};\n\nconst createCloseButtonDOM = (label: string) => {\n // Close button for the top right corner\n const button = document.createElement(\"button\");\n button.setAttribute(\"id\", CLOSE_BACKDROP_BUTTON_ID);\n button.setAttribute(\"type\", \"button\");\n button.setAttribute(\"aria-label\", label);\n button.innerHTML = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n alt=\"close icon\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>`;\n return button;\n};\n\nconst createDinteroLogoDOM = () => {\n // Close button for the top right corner\n const div = document.createElement(\"div\");\n div.innerHTML = `\n <svg width=\"120px\" height=\"22px\" viewBox=\"0 0 630 111\" version=\"1.1\" >\n <g id=\"Page-1\" stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g id=\"Dintero\" fill=\"#ffffff\" fillRule=\"nonzero\">\n <path d=\"M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z\" id=\"Shape\"></path>\n </g>\n </g>\n </svg>`;\n return div;\n};\n\nconst createLabelDOM = (text: string) => {\n // Text about the pop out\n const p = document.createElement(\"p\");\n p.setAttribute(\"id\", BACKDROP_DESCRIPTION);\n p.innerText = text;\n return p;\n};\n\nconst createFocusButtonDOM = (text: string) => {\n // Mock button to give the user a call to action element to click, even\n // though the entire backdrop (except the close button) returns focus to the\n // checkout.\n const button = document.createElement(\"button\");\n button.setAttribute(\"id\", FOCUS_CHECKOUT_BUTTON_ID);\n button.setAttribute(\"type\", \"button\");\n button.innerText = text;\n return button;\n};\n\nconst focusTrap = (e: KeyboardEvent) => {\n // Prevent the user focusing outside of the backdrop while it is visible\n const focusButton = document.getElementById(FOCUS_CHECKOUT_BUTTON_ID);\n const closeButton = document.getElementById(CLOSE_BACKDROP_BUTTON_ID);\n if (e.key === \"Tab\" || e.code === \"Tab\") {\n if (document.activeElement === focusButton) {\n closeButton.focus();\n e.preventDefault();\n } else {\n // Tab\n focusButton.focus();\n e.preventDefault();\n }\n }\n};\n\nconst createBackdropView = (options: BackdropOptions) => {\n // Add styles needed for the backdrop;\n appendBackdropStyles();\n // Create DOM nodes\n const backdrop = createBackdropDOM();\n const closeButton = createCloseButtonDOM(options.event.closeLabel);\n const dinteroLogo = createDinteroLogoDOM();\n const label = createLabelDOM(options.event.descriptionLabel);\n const focusButton = createFocusButtonDOM(options.event.focusLabel);\n\n // Add click handlers\n backdrop.onclick = wrapPreventDefault(options.focus);\n focusButton.onclick = wrapPreventDefault(options.focus);\n closeButton.onclick = wrapPreventDefault(options.close);\n\n // Add focus trap when backdrop is visible\n document.addEventListener(\"keydown\", focusTrap);\n\n // Append to document\n backdrop.appendChild(closeButton);\n backdrop.appendChild(dinteroLogo);\n backdrop.appendChild(label);\n backdrop.appendChild(focusButton);\n document.body.appendChild(backdrop);\n backdrop.focus();\n return backdrop;\n};\n\nexport const setBackdropLabels = (event: ShowPopOutButton) => {\n const focusButton = document.getElementById(FOCUS_CHECKOUT_BUTTON_ID);\n if (focusButton) {\n focusButton.innerText = event.focusLabel;\n }\n const description = document.getElementById(BACKDROP_DESCRIPTION);\n if (description) {\n description.innerText = event.descriptionLabel;\n }\n const closeButton = document.getElementById(CLOSE_BACKDROP_BUTTON_ID);\n if (closeButton) {\n closeButton.setAttribute(\"aria-label\", event.descriptionLabel);\n }\n};\n\nexport const createBackdrop = (options: BackdropOptions) => {\n try {\n // Check if backdrop already exists\n const backdrop = document.getElementById(BACKDROP_ID);\n if (backdrop) {\n return;\n }\n return createBackdropView(options);\n } catch (e) {\n // Ignore errors when creating backdrop. If it fails we should not\n // block the payment.\n console.error(e);\n }\n};\n\nexport const removeBackdrop = () => {\n try {\n const backdrop = document.getElementById(BACKDROP_ID);\n if (backdrop) {\n document.body.removeChild(backdrop);\n }\n document.removeEventListener(\"keydown\", focusTrap);\n } catch (e) {\n // Ignore errors when closing backdrop. If it fails we should not stop\n // the rest of the application from working.\n console.error(e);\n }\n};\n","const OPEN_POP_OUT_BUTTON_ID = \"dintero-checkout-sdk-launch-pop-out\";\n\ntype PopOutButtonOptions = {\n container: HTMLElement;\n label: string;\n disabled: string;\n top: string;\n left: string;\n right: string;\n styles: {\n [key: string]: string;\n };\n stylesHover?: { [key: string]: string };\n stylesFocusVisible?: { [key: string]: string };\n onClick: () => void;\n};\n\nconst configureButton = (\n button: HTMLElement,\n {\n label,\n disabled,\n top,\n left,\n right,\n styles,\n onClick,\n stylesHover,\n stylesFocusVisible,\n }: PopOutButtonOptions,\n) => {\n button.setAttribute(\"id\", OPEN_POP_OUT_BUTTON_ID);\n button.setAttribute(\"type\", \"button\");\n\n // Is clickable\n if (disabled === \"true\") {\n button.setAttribute(\"disabled\", disabled);\n } else {\n button.removeAttribute(\"disabled\");\n }\n\n // Click handler\n button.onclick = (event) => {\n // Do not submit any form on the page using the SDK\n event.preventDefault();\n event.stopPropagation();\n\n // Update look\n button.style.boxShadow = \"inset 0 0 10px rgba(34, 84, 65, 0.9)\";\n\n // Invoke handler\n onClick();\n\n // Reset look\n window.setTimeout(() => {\n button.style.boxShadow = \"none\";\n }, 200);\n };\n\n // Label\n button.innerText = label;\n\n // Position\n button.style.position = \"absolute\";\n button.style.top = top + \"px\";\n button.style.left = left + \"px\";\n button.style.right = right + \"px\";\n\n // Appearance from checkout\n const { ...directStyles } = styles;\n\n for (const [key, value] of Object.entries(directStyles)) {\n button.style[key] = value;\n }\n\n // Add hover and focus-visible styles\n try {\n addHoverAndFocusVisibleStyles(stylesHover, stylesFocusVisible);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst addHoverAndFocusVisibleStyles = (\n stylesHover?: { [key: string]: string },\n stylesFocusVisible?: { [key: string]: string },\n) => {\n if (!stylesHover && !stylesFocusVisible) {\n return;\n }\n const styleId = `${OPEN_POP_OUT_BUTTON_ID}-styles`;\n const hasStyles = document.getElementById(styleId);\n if (hasStyles) {\n return;\n }\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", styleId);\n let content = [];\n if (stylesHover) {\n content.push(\n toCssEntity(\n `#${OPEN_POP_OUT_BUTTON_ID}:hover:not(:disabled)`,\n stylesHover,\n ),\n );\n }\n if (stylesFocusVisible) {\n content.push(\n toCssEntity(\n `#${OPEN_POP_OUT_BUTTON_ID}:focus-visible`,\n stylesFocusVisible,\n ),\n );\n }\n style.textContent = content.join(\"\\n\");\n document.head.appendChild(style);\n};\n\nconst toCssEntity = (\n selector: string,\n keyValues: { [key: string]: string },\n) => {\n return [`${selector} {`, toCssParameters(keyValues), `}`].join(\"\\n\");\n};\n\nconst toCssParameters = (keyValues: { [key: string]: string }) => {\n return Object.entries(keyValues)\n .map(([key, value]) => ` ${slugify(key)}: ${value} !important;`)\n .join(\"\\n\");\n};\n\nconst slugify = (str: string) => {\n return str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n};\n\nexport const addPopOutButton = (options: PopOutButtonOptions) => {\n // Will add or update existing button\n const { container } = options;\n const exists = document.getElementById(OPEN_POP_OUT_BUTTON_ID);\n const button = exists || document.createElement(\"button\");\n configureButton(button, options);\n if (!exists) {\n container.appendChild(button);\n }\n};\n\nexport const setPopOutButtonDisabled = (disabled: boolean) => {\n try {\n const button = document.getElementById(OPEN_POP_OUT_BUTTON_ID);\n if (button) {\n if (disabled) {\n button.setAttribute(\"disabled\", disabled.toString());\n } else {\n button.removeAttribute(\"disabled\");\n }\n }\n } catch (e) {\n // Ignore error and continue\n console.error(e);\n }\n};\n\nexport const removePopOutButton = () => {\n try {\n const button = document.getElementById(OPEN_POP_OUT_BUTTON_ID);\n if (button) {\n button.remove();\n }\n } catch (e) {\n // Ignore error and continue\n console.error(e);\n }\n};\n","import { url, type SessionUrlOptions } from \"./url\";\n\nconst createPopOutWindow = (\n sid: string,\n url: string,\n width: number,\n height: number,\n) => {\n return new Promise<Window | undefined>((resolve) => {\n try {\n // Creates a centered pop up window\n const left = window.screenX + (window.outerWidth - width) / 2;\n const top = window.screenY + (window.outerHeight - height) / 2;\n const features = `width=${width},height=${height},left=${left},top=${top},location=no,menubar=no,toolbar=no,status=no`;\n let popOut: undefined | Window;\n let timeout = -1;\n // Set up listener for application loaded message from pop out window\n const handleAppLoaded = (event: MessageEvent) => {\n const correctSource = event.source === popOut;\n const correctOrigin = event.origin === new URL(url).origin;\n const correctMessage =\n event.data && event.data.type === \"AppLoaded\";\n const correctContext = event.data.context === \"popOut\";\n const correctSid = event.data.sid === sid;\n if (\n correctSource &&\n correctOrigin &&\n correctMessage &&\n correctContext &&\n correctSid\n ) {\n clearTimeout(timeout);\n resolve(popOut);\n window.removeEventListener(\"message\", handleAppLoaded);\n }\n };\n window.addEventListener(\"message\", handleAppLoaded);\n // Open pop out\n popOut = window.open(url, \"dintero-checkout\", features);\n // Check that pop out was opened\n if (!popOut) {\n console.log(\"createPopOutWindow no popOut\");\n resolve(undefined);\n return;\n }\n // Trigger timeout if pop out is not loaded\n timeout = window.setTimeout(() => {\n console.log(\"createPopOutWindow timeout\");\n resolve(undefined);\n }, 10000);\n } catch (err) {\n resolve(undefined);\n }\n });\n};\n\ntype Unsubscribe = () => void;\n\ntype PopOutOptions = SessionUrlOptions & {\n onOpen: (popOut: Window) => Unsubscribe;\n onClose: () => void;\n};\n\nconst openPopOut = async (options: PopOutOptions) => {\n let unsubscribe: undefined | Unsubscribe;\n let intervalId = -1;\n let popOutWindow: undefined | Window;\n\n if (popOutWindow && !popOutWindow.closed) {\n // Skip if already open.\n return;\n }\n\n // Open popup window\n const popOutUrl = url.getPopOutUrl(options);\n popOutWindow = await createPopOutWindow(\n options.sid,\n popOutUrl,\n Math.min(480, window.screen.width),\n Math.min(840, window.screen.height),\n );\n\n const focusPopOut = () => {\n if (popOutWindow) {\n popOutWindow.focus();\n }\n };\n\n const cleanUpClosed = () => {\n window.clearInterval(intervalId);\n intervalId = -1;\n window.removeEventListener(\"beforeunload\", closePopOut);\n popOutWindow = undefined;\n options.onClose();\n if (unsubscribe) {\n unsubscribe();\n }\n };\n\n const closePopOut = () => {\n if (popOutWindow) {\n popOutWindow.close();\n }\n cleanUpClosed();\n };\n\n const checkIfPopupClosed = () => {\n if (popOutWindow && popOutWindow.closed) {\n cleanUpClosed();\n }\n };\n\n // Close pop out if current window is closed\n window.addEventListener(\"beforeunload\", closePopOut);\n\n // Check if checkout is still open\n intervalId = window.setInterval(checkIfPopupClosed, 200);\n\n // Set up pub/sub of messages from pop out to SDK\n unsubscribe = options.onOpen(popOutWindow);\n\n return {\n close: closePopOut,\n focus: focusPopOut,\n popOutWindow,\n };\n};\n\nconst postPopOutSessionLock = (\n popOutWindow: undefined | Window,\n sid: string,\n) => {\n try {\n if (popOutWindow) {\n popOutWindow.postMessage({ type: \"LockSession\", sid }, \"*\");\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nconst postPopOutSessionRefresh = (\n popOutWindow: undefined | Window,\n sid: string,\n) => {\n try {\n if (popOutWindow) {\n popOutWindow.postMessage({ type: \"RefreshSession\", sid }, \"*\");\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nconst postPopOutActivePaymentProductType = (\n popOutWindow: undefined | Window,\n sid: string,\n paymentProductType: string,\n) => {\n try {\n if (popOutWindow) {\n popOutWindow.postMessage(\n {\n type: \"SetActivePaymentProductType\",\n sid,\n payment_product_type: paymentProductType,\n },\n \"*\",\n );\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nexport const popOutModule = {\n openPopOut,\n postPopOutSessionLock,\n postPopOutSessionRefresh,\n postPopOutActivePaymentProductType,\n};\n","import \"native-promise-only\";\n\nimport pkg from \"../package.json\";\nimport {\n CheckoutEvents,\n InternalCheckoutEvents,\n SessionNotFound,\n SessionLoaded,\n SessionUpdated,\n SessionCancel,\n SessionPaymentOnHold,\n SessionPaymentAuthorized,\n SessionPaymentError,\n SessionLocked,\n SessionLockFailed,\n ActivePaymentProductType,\n ValidateSession,\n SessionValidationCallback,\n SessionEvent,\n ShowPopOutButton,\n} from \"./checkout\";\nimport { url } from \"./url\";\nimport { createIframeAsync } from \"./createIframeAsync\";\nimport {\n subscribe,\n SubscriptionHandler,\n Subscription,\n postSessionLock,\n postSessionRefresh,\n postActivePaymentProductType,\n postValidationResult,\n postSetLanguage,\n postOpenPopOutEvent,\n postClosePopOutEvent,\n postValidatePopOutEvent,\n postOpenPopOutFailedEvent,\n} from \"./subscribe\";\nimport {\n createBackdrop,\n removeBackdrop,\n setBackdropLabels,\n} from \"./popOutBackdrop\";\nimport {\n addPopOutButton,\n removePopOutButton,\n setPopOutButtonDisabled,\n} from \"./popOutButton\";\nimport { popOutModule } from \"./popOut\";\nimport { Session } from \"./session\";\n\nexport interface DinteroCheckoutInstance {\n /**\n * Remove iframe and all event listeners.\n */\n destroy: () => void;\n iframe: HTMLIFrameElement;\n language: string;\n lockSession: () => Promise<SessionEvent>;\n refreshSession: () => Promise<SessionEvent>;\n setActivePaymentProductType: (paymentProductType: string) => void;\n submitValidationResult: (result: SessionValidationCallback) => void;\n options: InternalDinteroEmbedCheckoutOptions;\n handlers: (\n | {\n handler: SubscriptionHandler;\n eventTypes: InternalCheckoutEvents[];\n }\n | {\n handler: SubscriptionHandler;\n eventTypes: CheckoutEvents[];\n }\n )[];\n session: Session | undefined;\n popOutWindow: Window | undefined;\n}\n\nexport interface DinteroCheckoutOptions {\n sid: string;\n endpoint?: string;\n language?: string;\n}\n\nexport interface DinteroEmbedCheckoutOptions extends DinteroCheckoutOptions {\n container: HTMLDivElement;\n popOut?: boolean;\n ui?: \"inline\" | \"fullscreen\";\n onPayment?: (\n event: SessionPaymentAuthorized | SessionPaymentOnHold,\n checkout: DinteroCheckoutInstance,\n ) => void;\n /**\n * @deprecated Since version 0.0.1. Will be deleted in version 1.0.0. Use onPayment instead.\n */\n onPaymentAuthorized?: (\n event: SessionPaymentAuthorized,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSession?: (\n event: SessionLoaded | SessionUpdated,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onPaymentError?: (\n event: SessionPaymentError,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSessionCancel?: (\n event: SessionCancel,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSessionNotFound?: (\n event: SessionNotFound,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onSessionLocked?: (\n event: SessionLocked,\n checkout: DinteroCheckoutInstance,\n callback: () => void,\n ) => void;\n onSessionLockFailed?: (\n event: SessionLockFailed,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onActivePaymentType?: (\n event: ActivePaymentProductType,\n checkout: DinteroCheckoutInstance,\n ) => void;\n onValidateSession?: (\n event: ValidateSession,\n checkout: DinteroCheckoutInstance,\n callback: (result: SessionValidationCallback) => void,\n ) => void;\n}\n\ninterface InternalDinteroEmbedCheckoutOptions\n extends DinteroEmbedCheckoutOptions {\n innerContainer: HTMLDivElement;\n}\n\n/**\n * An event handler that navigates to the href in the event.\n */\nconst followHref: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n cleanUpPopOut(checkout);\n if (event.href) {\n url.windowLocationAssign(event.href);\n }\n};\n\n/**\n * An event handler that sets height of the iframe.\n */\nconst setIframeHeight: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (event.height || event.height === 0) {\n checkout.iframe.setAttribute(\n \"style\",\n `width:100%; height:${event.height}px;`,\n );\n }\n};\n\n/**\n * An event handler that scrolls to the top of the iframe. This is useful when the user\n * is navigated to another page.\n */\nconst scrollToIframeTop: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n try {\n checkout.iframe.scrollIntoView({\n block: \"start\",\n behavior: \"smooth\",\n });\n } catch (e) {\n // Ignore error silently bug log it to the console.\n console.error(e);\n }\n};\n\n/**\n * An event handler that sets language in the iframe.\n */\nconst setLanguage: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (event.language) {\n checkout.language = event.language;\n }\n};\n\n/**\n * Wrap function with try catch so an error in a single function won't short circuit other code in the current context.\n */\nconst safelyInvoke = (fn: () => void) => {\n try {\n fn();\n } catch (e) {\n console.error(e);\n }\n};\n\n/**\n * Handle messages sendt to the SDK from the pop out.\n */\nconst createPopOutMessageHandler = (\n source: Window,\n checkout: DinteroCheckoutInstance,\n) => {\n // Change language in embed if changed in pop out\n const popOutChangedLanguageHandler = {\n internalPopOutHandler: true,\n eventTypes: [InternalCheckoutEvents.LanguageChanged],\n handler: (eventData: any, checkout: DinteroCheckoutInstance) => {\n // Tell the embedded checkout to change language.\n postSetLanguage(\n checkout.iframe,\n checkout.options.sid,\n eventData.language,\n );\n },\n };\n\n // Close pop out, and remove SDK rendered button when payment is completed.\n const paymentCompletedEvents = [\n CheckoutEvents.SessionCancel,\n CheckoutEvents.SessionPaymentOnHold,\n CheckoutEvents.SessionPaymentAuthorized,\n CheckoutEvents.SessionPaymentError,\n ];\n const popOutCompletedHandler = {\n internalPopOutHandler: true,\n eventTypes: paymentCompletedEvents,\n handler: (eventData: any, checkout: DinteroCheckoutInstance) => {\n if (eventData.href) {\n // Remove open pop out button rendered by SDK\n removePopOutButton();\n\n // Close checkout\n try {\n source.close();\n } catch (e) {\n console.error(e);\n }\n } else {\n console.error(\"Payment Complete event missing href property\");\n }\n },\n };\n\n // Listens to messages from pop out window and routes the events to dedicated handlers\n const messageRouter = (event: MessageEvent) => {\n // Check that we should handle the message\n if (\n event.source === source &&\n event.data.context === \"popOut\" &&\n event.data.sid === checkout.options.sid\n ) {\n // Check if handler matches incoming event and trigger the handler if so.\n [\n // SDK events for managing the pop out flow.\n popOutChangedLanguageHandler,\n popOutCompletedHandler,\n\n // Events configured when the checkout was embedded.\n ...checkout.handlers,\n ].forEach((handlerObject) => {\n if (\n (handlerObject.eventTypes as string[]).includes(\n event.data.type,\n ) &&\n handlerObject.handler\n ) {\n // Invoking the handler function if the event type matches the handler.\n safelyInvoke(() => {\n handlerObject.handler(event.data, checkout);\n });\n }\n });\n }\n };\n // Add messageRouter event listener to the Pop Out\n window.addEventListener(\"message\", messageRouter);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener(\"message\", messageRouter);\n };\n};\n\n/**\n * Configures and shows the pop out with the payment options.\n */\nconst showPopOut = async (\n event: ShowPopOutButton,\n checkout: DinteroCheckoutInstance,\n) => {\n const { close, focus, popOutWindow } = await popOutModule.openPopOut({\n sid: checkout.options.sid,\n endpoint: checkout.options.endpoint,\n shouldCallValidateSession: Boolean(checkout.options.onValidateSession),\n language: event.language,\n onOpen: (popOutWindow: Window) =>\n createPopOutMessageHandler(popOutWindow, checkout),\n onClose: () => {\n removeBackdrop();\n postClosePopOutEvent(checkout.iframe, checkout.options.sid);\n setPopOutButtonDisabled(false);\n checkout.popOutWindow = undefined;\n },\n });\n if (popOutWindow) {\n postOpenPopOutEvent(checkout.iframe, checkout.options.sid);\n // Add pop out window to checkout instance\n checkout.popOutWindow = popOutWindow;\n createBackdrop({ focus, close, event });\n return true;\n } else {\n postOpenPopOutFailedEvent(checkout.iframe, checkout.options.sid);\n return false;\n }\n};\n\n/**\n * Create callback function for the client side validation flow. It allows the\n * host application to validate the content of the payment session before the\n * pop out is opened.\n */\nconst createPopOutValidationCallback = (\n event: ShowPopOutButton,\n checkout: DinteroCheckoutInstance,\n) => {\n return (result: SessionValidationCallback) => {\n // Tell the embedded iframe about the validation result so it can show an error message if\n // the validation failed.\n postValidationResult(checkout.iframe, checkout.options.sid, result);\n if (result.success && checkout.popOutWindow) {\n // Redirect user to session in pop out window\n checkout.popOutWindow.location.href = url.getPopOutUrl({\n sid: checkout.options.sid,\n endpoint: checkout.options.endpoint,\n shouldCallValidateSession: false,\n language: event.language,\n });\n } else {\n // Close pop out\n if (checkout.popOutWindow) {\n checkout.popOutWindow.close();\n }\n // Log validation error to console log.\n console.error(result.clientValidationError);\n }\n };\n};\n\n/**\n * Handle click event on the SDK rendered pop out button\n */\nconst handlePopOutButtonClick = async (\n event: ShowPopOutButton,\n checkout: DinteroCheckoutInstance,\n) => {\n // Disable button while pop out is open\n const opened = await showPopOut(event, checkout);\n\n if (opened && checkout.options.onValidateSession) {\n // Let the host application validate the payment session before opening checkout.\n\n // Tell the embedded iframe that we are validating the session\n postValidatePopOutEvent(checkout.iframe, checkout.options.sid);\n\n // Create callback function added to the SDK event and onValidateSession attributes\n const callback = createPopOutValidationCallback(event, checkout);\n\n // Invoke onValidateSession function defined in checkout options\n try {\n checkout.options.onValidateSession(\n {\n type: CheckoutEvents.ValidateSession,\n session: checkout.session,\n callback,\n },\n checkout,\n callback,\n );\n } catch (e) {\n console.error(e);\n postValidationResult(checkout.iframe, checkout.options.sid, {\n success: false,\n clientValidationError: \"Validation runtime error\",\n });\n }\n }\n};\n\n/**\n * Type guard for ShowPopOutButton\n */\nconst isShowPopOutButton = (event: any): event is ShowPopOutButton => {\n return event && event.type === InternalCheckoutEvents.ShowPopOutButton;\n};\n\n/**\n * Display the SDK rendered pop out button on top of the embedded iframe\n */\nconst handleShowButton: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (isShowPopOutButton(event)) {\n addPopOutButton({\n container: checkout.options.innerContainer,\n label: event.openLabel,\n top: event.top,\n left: event.left,\n right: event.right,\n styles: event.styles,\n stylesHover: event.stylesHover,\n stylesFocusVisible: event.stylesFocusVisible,\n disabled: event.disabled,\n onClick: () => handlePopOutButtonClick(event, checkout),\n });\n setBackdropLabels(event);\n }\n};\n\n/**\n * Remove the pop out button above the embedded iframe\n */\nconst handleRemoveButton: SubscriptionHandler = (\n event: any,\n checkout: DinteroCheckoutInstance,\n): void => {\n if (event.type === InternalCheckoutEvents.HidePopOutButton) {\n removePopOutButton();\n }\n};\n\nconst cleanUpPopOut = (checkout: DinteroCheckoutInstance) => {\n // Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.\n removePopOutButton();\n removeBackdrop();\n if (checkout.popOutWindow) {\n try {\n checkout.popOutWindow.close();\n // Pop out message handlers will be removed when the pop out window is closed\n // via the interval created by openPopOut.\n } catch (e) {\n console.error(e);\n }\n }\n};\n\nconst composeUrl = (base: string, path: string, query: string) => {\n const slash = base.endsWith(\"/\") ? \"\" : \"/\";\n return `${base}${slash}${path}?${query}`;\n};\n\n/**\n * Show a dintero payment session in an embedded iframe.\n */\nexport const embed = async (\n options: DinteroEmbedCheckoutOptions,\n): Promise<DinteroCheckoutInstance> => {\n // Create inner container to offset any styling on the container.\n const innerContainer = document.createElement(\"div\");\n innerContainer.style.position = \"relative\";\n innerContainer.style[\"box-sizing\"] = \"border-box\";\n\n const internalOptions = {\n endpoint: \"https://checkout.dintero.com\",\n innerContainer: innerContainer,\n ...options,\n };\n const {\n container,\n sid,\n language,\n endpoint,\n onSession,\n onSessionCancel,\n onPayment,\n onPaymentAuthorized,\n onPaymentError,\n onSessionNotFound,\n onSessionLocked,\n onSessionLockFailed,\n onActivePaymentType,\n onValidateSession,\n popOut,\n } = internalOptions;\n\n let checkout: DinteroCheckoutInstance | undefined;\n const subscriptions: Subscription[] = [];\n let has_delivered_final_event = false;\n\n // Create iframe\n container.appendChild(innerContainer);\n const { iframe, initiate } = createIframeAsync(\n innerContainer,\n endpoint,\n url.getSessionUrl({\n sid,\n endpoint,\n language,\n ui: options.ui || \"inline\",\n shouldCallValidateSession: onValidateSession !== undefined,\n popOut,\n ...(options.hasOwnProperty(\"hideTestMessage\") && {\n hideTestMessage: options[\"hideTestMessage\"],\n }),\n }),\n );\n\n /**\n * Function that removes the iframe, pop out and all event listeners.\n */\n const destroy = () => {\n cleanUpPopOut(checkout);\n if (iframe) {\n if (internalOptions.popOut) {\n // Try to remove backdrop if it exists\n removeBackdrop();\n }\n subscriptions.forEach((sub) => sub.unsubscribe());\n if (iframe.parentElement) {\n innerContainer.removeChild(iframe);\n }\n }\n if (innerContainer.parentElement) {\n container.removeChild(innerContainer);\n }\n };\n\n /**\n * Turn an action into a promise by specifying resolve and\n * reject events.\n */\n const promisifyAction = (\n action: () => void,\n resolveEvent: CheckoutEvents,\n rejectEvent: CheckoutEvents,\n ) => {\n if (!checkout) {\n throw new Error(\n \"Unable to create action promise: checkout is undefined\",\n );\n }\n return new Promise<SessionEvent>((resolve, reject) => {\n const eventSubscriptions: Subscription[] = [];\n eventSubscriptions.push(\n subscribe({\n sid,\n endpoint,\n handler: (sessionEvent) => {\n eventSubscriptions.forEach((sub) => sub.unsubscribe());\n resolve(sessionEvent);\n },\n eventTypes: [resolveEvent],\n checkout,\n source: checkout.iframe.contentWindow,\n }),\n );\n eventSubscriptions.push(\n subscribe({\n sid,\n endpoint,\n handler: () => {\n eventSubscriptions.forEach((sub) => sub.unsubscribe());\n reject(`Received unexpected event: ${rejectEvent}`);\n },\n eventTypes: [rejectEvent],\n checkout,\n source: checkout.iframe.contentWindow,\n }),\n );\n action();\n });\n };\n\n const lockSession = () => {\n return promisifyAction(\n () => {\n postSessionLock(iframe, sid);\n popOutModule.postPopOutSessionLock(checkout?.popOutWindow, sid);\n },\n CheckoutEvents.SessionLocked,\n CheckoutEvents.SessionLockFailed,\n );\n };\n\n const refreshSession = () => {\n return promisifyAction(\n () => {\n postSessionRefresh(iframe, sid);\n popOutModule.postPopOutSessionRefresh(\n checkout?.popOutWindow,\n sid,\n );\n },\n CheckoutEvents.SessionUpdated,\n CheckoutEvents.SessionNotFound,\n );\n };\n\n const setActivePaymentProductType = (paymentProductType?: string) => {\n // Send to either embed or pop out\n if (options.popOut) {\n popOutModule.postPopOutActivePaymentProductType(\n checkout?.popOutWindow,\n sid,\n paymentProductType,\n );\n } else {\n postActivePaymentProductType(iframe, sid, paymentProductType);\n }\n };\n\n const submitValidationResult = (result: SessionValidationCallback) => {\n postValidationResult(iframe, sid, result);\n // For pop out we do validation when opening the pop out\n };\n\n /**\n * Internal result event message handler wrapper, to replace the content of the iframe with a success/or\n * error message. Only used when the embed function in the SDK has a dedicated handler for onPayment, onError etc.\n * If no custom handler is set the followHref handler is used instead.\n */\n const handleWithResult = (\n sid: string,\n endpoint: string,\n handler: SubscriptionHandler,\n ): SubscriptionHandler => {\n return (event: any, checkout: DinteroCheckoutInstance) => {\n if (!has_delivered_final_event) {\n has_delivered_final_event = true;\n cleanUpPopOut(checkout);\n\n const eventKeys = [\n \"sid\",\n \"merchant_reference\",\n \"transaction_id\",\n \"error\",\n ];\n const pairs = eventKeys.map((key) => [key, event[key]]);\n if (\n event.type === CheckoutEvents.SessionCancel &&\n !event.error\n ) {\n pairs.push([\"error\", \"cancelled\"]);\n }\n pairs.push([\"language\", checkout.language]);\n pairs.push([\"sdk\", pkg.version]);\n const urlQuery = pairs\n .filter(([key, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join(\"&\");\n checkout.iframe.setAttribute(\n \"src\",\n composeUrl(endpoint, \"embedResult/\", urlQuery),\n );\n handler(event, checkout);\n }\n };\n };\n\n const wrappedOnValidateSession = (\n event: ValidateSession,\n checkout: DinteroCheckoutInstance,\n ) => {\n if (onValidateSession) {\n try {\n onValidateSession(\n {\n ...event,\n callback: submitValidationResult,\n },\n checkout,\n submitValidationResult,\n );\n } catch (e) {\n console.error(e);\n submitValidationResult({\n success: false,\n clientValidationError: \"Validation runtime error\",\n });\n }\n }\n };\n\n const wrappedOnSessionLocked = (\n event: SessionLocked,\n checkout: DinteroCheckoutInstance,\n ) => {\n if (onSessionLocked) {\n onSessionLocked(event, checkout, refreshSession);\n }\n };\n\n const wrappedOnLoadedOrUpdated = (\n event: SessionLoaded | SessionUpdated,\n checkout: DinteroCheckoutInstance,\n ) => {\n // Update the checkout instance to include the session object\n checkout.session = event.session;\n if (onSession) {\n onSession(event, checkout);\n }\n };\n\n // Add event handlers (or in some cases add a fallback href handler).\n const handlers = [\n {\n handler: setLanguage,\n eventTypes: [InternalCheckoutEvents.LanguageChanged],\n },\n {\n handler: setIframeHeight,\n eventTypes: [InternalCheckoutEvents.HeightChanged],\n },\n {\n handler: scrollToIframeTop,\n eventTypes: [InternalCheckoutEvents.ScrollToTop],\n },\n {\n handler: wrappedOnLoadedOrUpdated as\n | SubscriptionHandler\n | undefined,\n eventTypes: [\n CheckoutEvents.SessionLoaded,\n CheckoutEvents.SessionUpdated,\n ],\n },\n {\n eventTypes: [CheckoutEvents.SessionPaymentOnHold],\n handler: handleWithResult(sid, endpoint, onPayment || followHref),\n },\n {\n eventTypes: [CheckoutEvents.SessionPaymentAuthorized],\n handler: handleWithResult(\n sid,\n endpoint,\n onPaymentAuthorized || onPayment || followHref,\n ),\n },\n {\n handler: handleWithResult(\n sid,\n endpoint,\n onSessionCancel || followHref,\n ),\n eventTypes: [CheckoutEvents.SessionCancel],\n },\n {\n handler: handleWithResult(\n sid,\n endpoint,\n onPaymentError || followHref,\n ),\n eventTypes: [CheckoutEvents.SessionPaymentError],\n },\n {\n handler: onSessionNotFound as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.SessionNotFound],\n },\n {\n handler: wrappedOnSessionLocked as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.SessionLocked],\n },\n {\n handler: onSessionLockFailed as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.SessionLockFailed],\n },\n {\n handler: onActivePaymentType as SubscriptionHandler | undefined,\n eventTypes: [CheckoutEvents.ActivePaymentProductType],\n },\n {\n handler: wrappedOnValidateSession as\n | SubscriptionHandler\n | undefined,\n eventTypes: [CheckoutEvents.ValidateSession],\n },\n {\n handler: handleShowButton as SubscriptionHandler,\n eventTypes: [InternalCheckoutEvents.ShowPopOutButton],\n },\n {\n handler: handleRemoveButton as SubscriptionHandler,\n eventTypes: [InternalCheckoutEvents.HidePopOutButton],\n },\n ];\n // Create checkout object that wraps the destroy function.\n checkout = {\n destroy,\n iframe,\n language,\n lockSession,\n refreshSession,\n setActivePaymentProductType,\n submitValidationResult,\n options: internalOptions,\n handlers,\n session: undefined,\n popOutWindow: undefined,\n };\n\n handlers.forEach(({ handler, eventTypes }) => {\n if (handler) {\n subscriptions.push(\n subscribe({\n sid,\n endpoint,\n handler,\n eventTypes,\n checkout,\n source: checkout.iframe.contentWindow,\n }),\n );\n }\n });\n\n // Add iframe to DOM\n await initiate();\n // Return object with function to destroy the checkout.\n return checkout;\n};\n\n/**\n * Redirect the customer to a payment session in the Dintero Checkout.\n */\nexport const redirect = (options: DinteroCheckoutOptions) => {\n const {\n sid,\n language,\n endpoint = \"https://checkout.dintero.com\",\n } = options;\n // Redirect the current browser window to the checkout session url.\n url.windowLocationAssign(\n url.getSessionUrl({\n sid,\n endpoint,\n language,\n shouldCallValidateSession: false,\n redirect: true,\n }),\n );\n};\nexport type {\n SessionNotFound,\n SessionLoaded,\n SessionUpdated,\n SessionCancel,\n SessionPaymentOnHold,\n SessionPaymentAuthorized,\n SessionPaymentError,\n SessionLocked,\n SessionLockFailed,\n ActivePaymentProductType,\n ValidateSession,\n SessionValidationCallback,\n} from \"./checkout\";\n","/**\n * Creates an iframe and adds it to the container.\n *\n * Returns a promise that resolves to the iframe when the iframe has loaded.\n * Rejects the promise if there is a problem loading the iframe.\n */\nexport const createIframeAsync = (\n container: HTMLDivElement,\n endpoint: string,\n url: string,\n): { iframe: HTMLIFrameElement; initiate: () => void } => {\n if (!container || !container.appendChild) {\n throw new Error(\"Invalid container\");\n }\n const iframe = document.createElement(\"iframe\");\n\n // No border, transparent and stretch to 100% of the container width.\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"allowTransparency\", \"true\");\n iframe.setAttribute(\"style\", \"width:100%; height:0;\");\n\n // TODO: Get this to work as expected, might be tricky with current\n // tests since they will require the csp to be \"unsafe-inline\".\n // The server needs to add the same property in the Content Security\n // Policy headers in the response for this to work. A CSP header set by\n // a meta tag in the iframe target will not be detected as a valid\n // CSP from the iframe host.\n // Content Security Policy, should be limited to \"endpoint\".\n // iframe.setAttribute(\"csp\", `default-src ${endpoint}`);\n\n // Apply extra restrictions to the content in the iframe.\n // allow popups is needed to open terms in new window\n iframe.setAttribute(\n \"sandbox\",\n \"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation\",\n );\n\n // Needed for to allow apple pay from iframe\n iframe.setAttribute(\"allow\", \"payment; clipboard-write *\");\n\n // The download priority of the resource in the <iframe>'s src attribute.\n iframe.setAttribute(\"importance\", \"high\");\n\n // Set the iframe source to the url.\n iframe.setAttribute(\"src\", url);\n\n // Resolve or reject promise when iframe loads.\n\n // // Add iframe to the container.\n // container.appendChild(iframe);\n return {\n iframe,\n initiate: async () => {\n return new Promise<void>((resolve, reject) => {\n iframe.onload = () => resolve();\n iframe.onerror = () => reject();\n container.appendChild(iframe);\n });\n },\n };\n};\n"],"names":["name","context","definition","builtInProp","cycle","scheduling_queue","ToString","Object","prototype","toString","timer","setImmediate","fn","setTimeout","defineProperty","obj","val","config","value","writable","configurable","err","schedule","self","add","drain","isThenable","o","_then","o_type","then","notify","i","this","chain","length","notifyIsolated","state","success","failure","cb","ret","reject","msg","call","promise","TypeError","resolve","triggered","def","def_wrapper","MakeDefWrapper","apply","arguments","iteratePromises","Constructor","arr","resolver","rejecter","idx","MakeDef","Promise","executor","__NPO__","constructor","push","first","last","item","Item","next","f","PromisePrototype","len","msgs","Array","count","global","module","exports","CheckoutEvents","InternalCheckoutEvents","padTrailingSlash","endpoint","endsWith","getHostname","hostname","window","location","error","hostnameIsTop","top","topHostname","url","getPopOutUrl","sid","language","shouldCallValidateSession","params","URLSearchParams","append","pkg","options","ui","popOut","Error","hasOwnProperty","undefined","redirect","assign","postValidationResult","iframe","result","contentWindow","postMessage","type","subscribe","handler","eventTypes","checkout","endpointUrl","URL","wrappedHandler","event","correctOrigin","origin","correctWindow","source","correctSid","data","correctMessageType","indexOf","postAck","mid","ack","addEventListener","unsubscribe","removeEventListener","STYLE_ID","BACKDROP_ID","BACKDROP_DESCRIPTION","FOCUS_CHECKOUT_BUTTON_ID","CLOSE_BACKDROP_BUTTON_ID","wrapPreventDefault","e","preventDefault","stopPropagation","createBackdropDOM","backdrop","document","createElement","setAttribute","style","zIndex","getBackdropZIndex","elements","getElementsByTagName","highest","from","reduce","acc","element","zIndexStr","defaultView","getComputedStyle","getPropertyValue","parseInt","isNaN","console","focusTrap","focusButton","getElementById","closeButton","key","code","activeElement","focus","createBackdropView","appendBackdropStyles","innerHTML","head","appendChild","label","button","createCloseButtonDOM","closeLabel","dinteroLogo","createDinteroLogoDOM","div","text","p","innerText","createLabelDOM","descriptionLabel","createFocusButtonDOM","focusLabel","onclick","close","body","removeBackdrop","removeChild","OPEN_POP_OUT_BUTTON_ID","addHoverAndFocusVisibleStyles","stylesHover","stylesFocusVisible","styleId","content","toCssEntity","textContent","join","selector","keyValues","toCssParameters","entries","map","slugify","str","replace","toLowerCase","addPopOutButton","container","exists","configureButton","disabled","left","right","styles","onClick","removeAttribute","boxShadow","position","directStyles","removePopOutButton","remove","popOutModule","async","popOutWindow","intervalId","closed","popOutUrl","createPopOutWindow","width","height","screenX","outerWidth","screenY","outerHeight","features","timeout","handleAppLoaded","correctSource","correctMessage","correctContext","clearTimeout","open","log","Math","min","screen","cleanUpClosed","clearInterval","closePopOut","onClose","setInterval","checkIfPopupClosed","onOpen","focusPopOut","postPopOutSessionLock","postPopOutSessionRefresh","postPopOutActivePaymentProductType","paymentProductType","payment_product_type","followHref","cleanUpPopOut","href","setIframeHeight","scrollToIframeTop","scrollIntoView","block","behavior","setLanguage","createPopOutMessageHandler","popOutChangedLanguageHandler","internalPopOutHandler","LanguageChanged","eventData","postSetLanguage","popOutCompletedHandler","SessionCancel","SessionPaymentOnHold","SessionPaymentAuthorized","SessionPaymentError","messageRouter","handlers","forEach","handlerObject","includes","safelyInvoke","showPopOut","Boolean","onValidateSession","postClosePopOutEvent","setPopOutButtonDisabled","createBackdrop","postOpenPopOutFailedEvent","postOpenPopOutEvent","handlePopOutButtonClick","callback","createPopOutValidationCallback","clientValidationError","ValidateSession","session","postValidatePopOutEvent","handleShowButton","ShowPopOutButton","isShowPopOutButton","innerContainer","openLabel","description","setBackdropLabels","handleRemoveButton","HidePopOutButton","internalOptions","onSession","onSessionCancel","onPayment","onPaymentAuthorized","onPaymentError","onSessionNotFound","onSessionLocked","onSessionLockFailed","onActivePaymentType","subscriptions","has_delivered_final_event","initiate","createIframeAsync","onload","onerror","hideTestMessage","promisifyAction","action","resolveEvent","rejectEvent","eventSubscriptions","sessionEvent","sub","refreshSession","postSessionRefresh","SessionUpdated","SessionNotFound","submitValidationResult","handleWithResult","pairs","urlQuery","filter","composeUrl","base","path","query","slash","HeightChanged","ScrollToTop","wrappedOnLoadedOrUpdated","SessionLoaded","wrappedOnSessionLocked","SessionLocked","SessionLockFailed","ActivePaymentProductType","wrappedOnValidateSession","destroy","parentElement","lockSession","postSessionLock","setActivePaymentProductType","postActivePaymentProductType"],"mappings":"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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAdA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAdA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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CAKVA,+XAW6BA,CAmB7BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAOAE,8eAaAA,CACAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAQAA,yHAKAC,CAgBAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAA,kWAWAA,CAIAH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAgBZI,CAAM,CAyDOC,CAAAA,CAAqBlF,EAAQqB,CAAM8D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjDC,EAvDmBC,CAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAMvC,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,OASnC,CARAsC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIT,UAAY,CAQTS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CA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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dintero/checkout-web-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Dintero Checkout SDK for web frontends",
5
5
  "main": "dist/dintero-checkout-web-sdk.cjs.js",
6
6
  "module": "dist/dintero-checkout-web-sdk.esm.js",
@@ -23,7 +23,7 @@
23
23
  "private": false,
24
24
  "repository": {
25
25
  "type": "git",
26
- "url": "https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
26
+ "url": "git+https://github.com/Dintero/Dintero.Checkout.Web.SDK.git"
27
27
  },
28
28
  "homepage": "https://github.com/Dintero/Dintero.Checkout.Web.SDK#readme",
29
29
  "author": "Sven Nicolai Viig <sven@dintero.com> (http://dintero.com)",
@@ -39,7 +39,7 @@
39
39
  "@semantic-release/git": "10.0.1",
40
40
  "@vitest/browser": "3.2.4",
41
41
  "prettier": "3.6.2",
42
- "semantic-release": "24.2.9",
42
+ "semantic-release": "25.0.1",
43
43
  "typescript": "5.9.3",
44
44
  "vitest": "3.2.4",
45
45
  "webdriverio": "9.20.0"