@spot-flow/checkout-inline-js 0.1.49-dev.2 → 0.1.49-dev.4
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.
- package/dist/checkout-inline.es.js +3967 -3508
- package/dist/checkout-inline.js +125 -78
- package/dist/constants.d.ts +7 -0
- package/dist/contexts/translate-context.d.ts +2 -0
- package/dist/index.css +1 -1
- package/dist/modules/Opay.d.ts +68 -0
- package/dist/types/types.d.ts +9 -0
- package/dist/views/opay/opay-authenticate.d.ts +22 -0
- package/dist/views/shared/main-header.d.ts +5 -1
- package/dist/views/shared/main-page.d.ts +2 -0
- package/package.json +1 -1
package/dist/checkout-inline.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(je,He){typeof exports=="object"&&typeof module<"u"?He(exports):typeof define=="function"&&define.amd?define(["exports"],He):(je=typeof globalThis<"u"?globalThis:je||self,He(je.SpotflowCheckout={}))})(this,function(je){"use strict";var Xc=Object.defineProperty;var eu=(je,He,Kn)=>He in je?Xc(je,He,{enumerable:!0,configurable:!0,writable:!0,value:Kn}):je[He]=Kn;var h=(je,He,Kn)=>eu(je,typeof He!="symbol"?He+"":He,Kn);var He=document.createElement("style");He.textContent=`*:where(#checkout-modal,#checkout-modal *),:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){--tw-content: ""}#checkout-modal{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}#checkout-modal{margin:0;line-height:inherit}hr:where(#checkout-modal,#checkout-modal *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(#checkout-modal,#checkout-modal *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *){font-size:inherit;font-weight:inherit}a:where(#checkout-modal,#checkout-modal *){color:inherit;text-decoration:inherit}b:where(#checkout-modal,#checkout-modal *),strong:where(#checkout-modal,#checkout-modal *){font-weight:bolder}code:where(#checkout-modal,#checkout-modal *),kbd:where(#checkout-modal,#checkout-modal *),samp:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small:where(#checkout-modal,#checkout-modal *){font-size:80%}sub:where(#checkout-modal,#checkout-modal *),sup:where(#checkout-modal,#checkout-modal *){font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub:where(#checkout-modal,#checkout-modal *){bottom:-.25em}sup:where(#checkout-modal,#checkout-modal *){top:-.5em}table:where(#checkout-modal,#checkout-modal *){text-indent:0;border-color:inherit;border-collapse:collapse}button:where(#checkout-modal,#checkout-modal *),input:where(#checkout-modal,#checkout-modal *),optgroup:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *),textarea:where(#checkout-modal,#checkout-modal *){font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *){text-transform:none}button:where(#checkout-modal,#checkout-modal *),input:where([type=button]):where(#checkout-modal,#checkout-modal *),input:where([type=reset]):where(#checkout-modal,#checkout-modal *),input:where([type=submit]):where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring:where(#checkout-modal,#checkout-modal *){outline:auto}:-moz-ui-invalid:where(#checkout-modal,#checkout-modal *){box-shadow:none}progress:where(#checkout-modal,#checkout-modal *){vertical-align:baseline}::-webkit-inner-spin-button:where(#checkout-modal,#checkout-modal *),::-webkit-outer-spin-button:where(#checkout-modal,#checkout-modal *){height:auto}[type=search]:where(#checkout-modal,#checkout-modal *){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration:where(#checkout-modal,#checkout-modal *){-webkit-appearance:none}::-webkit-file-upload-button:where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;font:inherit}summary:where(#checkout-modal,#checkout-modal *){display:list-item}blockquote:where(#checkout-modal,#checkout-modal *),dl:where(#checkout-modal,#checkout-modal *),dd:where(#checkout-modal,#checkout-modal *),h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *),hr:where(#checkout-modal,#checkout-modal *),figure:where(#checkout-modal,#checkout-modal *),p:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){margin:0}fieldset:where(#checkout-modal,#checkout-modal *){margin:0;padding:0}legend:where(#checkout-modal,#checkout-modal *){padding:0}ol:where(#checkout-modal,#checkout-modal *),ul:where(#checkout-modal,#checkout-modal *),menu:where(#checkout-modal,#checkout-modal *){list-style:none;margin:0;padding:0}dialog:where(#checkout-modal,#checkout-modal *){padding:0}textarea:where(#checkout-modal,#checkout-modal *){resize:vertical}input::-moz-placeholder:where(#checkout-modal,#checkout-modal *),textarea::-moz-placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}input::placeholder:where(#checkout-modal,#checkout-modal *),textarea::placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}button:where(#checkout-modal,#checkout-modal *),[role=button]:where(#checkout-modal,#checkout-modal *){cursor:pointer}:disabled:where(#checkout-modal,#checkout-modal *){cursor:default}img:where(#checkout-modal,#checkout-modal *),svg:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *),canvas:where(#checkout-modal,#checkout-modal *),audio:where(#checkout-modal,#checkout-modal *),iframe:where(#checkout-modal,#checkout-modal *),embed:where(#checkout-modal,#checkout-modal *),object:where(#checkout-modal,#checkout-modal *){display:block;vertical-align:middle}img:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *){max-width:100%;height:auto}[hidden]:where(#checkout-modal,#checkout-modal *){display:none}:root{--primary: 264, 52%, 6%;--primary-light: 266, 21%, 76%;--primary-10: 240, 39%, 86%, 1;--primary-lighter: 240, 100%, 98%;--primary-dark: 240, 39%, 52%;--primary-darker: 240, 100%, 28%;--success: 151, 58%, 46%;--error: 0, 74%, 48%;--error-dark: 19, 100%, 37%;--common: 60, 4%, 43%;--tone-10: 240, 2%, 90%;--tone-40: 202, 6%, 82%;--tone-50: 202, 4%, 68%;--tone-60: 260, 4%, 43%, 1;--tone-70: 266, 3%, 53%;--tone-80: 265, 10%, 24%, 1;--tone-90: 266, 18%, 15%;--tone-100: 266, 54%, 6%;--grey: 218, 15%, 65%;--grey-100: 270, 3%, 62%;--grey-200: 264, 3%, 72%;--grey-300: 260, 3%, 81%;--grey-400: 264, 6%, 34%;--grey-500: 217, 24%, 27%;--grey-600: 265, 10%, 24%;--grey-700: 260, 4%, 43%;--grey-800: 265, 21%, 76%;--grey-faint: 240, 7%, 97%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:focus,button:focus{outline:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.container-center{display:flex;align-items:center;justify-content:center}.hide-scrollbar::-webkit-scrollbar{display:none!important}.hide-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.container-between{display:flex;align-items:center;justify-content:space-between}.align-center{display:flex;align-items:center}.box-container{padding-left:0;padding-right:0;padding-top:1rem;padding-bottom:1rem}@media (min-width: 768px){.box-container{padding:1.75rem 1.25rem}}@media (min-width: 1024px){.box-container{padding-left:1.75rem;padding-right:1.75rem}}.button-fill{display:flex;height:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--primary));font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.button-outline{display:flex;height:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;border-width:1px;border-color:hsl(var(--tone-100));font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--tone-100))}.payment-options{display:flex;width:100%;flex-direction:column;overflow:hidden}.tab{margin-bottom:.75rem;display:flex;align-items:center;justify-content:flex-start;text-align:left}.tab-button{display:flex;width:100%;flex-grow:1;align-items:center;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-100));padding:.75rem 1.25rem;text-align:center;color:hsl(var(--primary))}.tab-button:disabled{cursor:not-allowed;opacity:.4}.tab-button:hover:disabled{border-color:#11032666;color:hsl(var(--primary) / .4)}@media (min-width: 768px){.tab-button{display:flex;justify-content:center;padding-left:.75rem;padding-right:.75rem}.tab-button:hover{border-color:hsl(var(--primary))}}.tab-button.active{border-width:2px;border-color:hsl(var(--primary))}.tab-button.active span{font-weight:700}.tab-button span{margin-top:.25rem;margin-bottom:.25rem;display:flex;flex-shrink:0;justify-content:center}@media (min-width: 768px){.tab-button span{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.tab-button span{justify-content:flex-start}}.main{max-height:98dvh;width:100%;overflow:auto}@media (min-width: 768px){.main{padding-top:1rem;padding-bottom:1rem}}@media (min-width: 1024px){.main{width:calc(100% - 250px);padding-left:1rem;padding-right:1rem}}.header-container{border-radius:.75rem;padding:2.5rem 1rem;color:hsl(var(--primary))}@media (min-width: 768px){.header-container{padding:1.25rem 2.25rem}}.tooltip{position:absolute;left:-3rem;top:20px;margin-bottom:1.25rem;display:none;width:auto;flex-direction:column;align-items:center}.group:hover .tooltip{display:flex}@media (min-width: 768px){.tooltip{left:0}}.tooltip-textbox{position:relative;z-index:10;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:.5rem;font-size:.75rem;line-height:1rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 768px){.tooltip-textbox{padding:.75rem 1rem}}.tooltip-text{font-size:13px;line-height:17.4px;letter-spacing:.025em;color:hsl(var(--grey))}.details-input-container{width:100%;border-width:1px;border-style:none;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));font-weight:600;color:hsl(var(--tone-100))}.details-input-container::-moz-placeholder{font-size:.875rem;line-height:1.25rem;color:hsl(var(--tone-100))}.details-input-container::placeholder{font-size:.875rem;line-height:1.25rem;color:hsl(var(--tone-100))}.details-input-container:focus{outline:2px solid transparent;outline-offset:2px}.details-input-container:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.avs-input-container{width:100%;border-radius:.25rem;border-width:1px;border-color:hsl(var(--tone-40));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem .75rem .5rem;color:hsl(var(--tone-100))}.avs-input-container:focus{border-color:hsl(var(--grey-100));outline:2px solid transparent;outline-offset:2px}.avs-input-container:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.mm-input-container{width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--tone-40));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem .75rem .5rem;color:hsl(var(--tone-100))}.mm-input-container::-moz-placeholder{color:hsl(var(--tone-50))}.mm-input-container::placeholder{color:hsl(var(--tone-50))}.mm-input-container:focus{border-color:hsl(var(--grey-100));outline:2px solid transparent;outline-offset:2px}.mm-input-container:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.details-form-button{display:inline-flex;height:50px;width:100%;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--primary));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.details-form-button:focus{outline:2px solid transparent;outline-offset:2px}.details-form-button:disabled{background-color:hsl(var(--grey-100));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.pin-input{height:3.5rem;width:4rem;border-radius:.5rem;border-width:1px;border-color:hsla(var(--tone-90));text-align:center;font-size:1.125rem;line-height:1.75rem}.pin-input:focus{border-color:hsl(var(--primary));outline:2px solid transparent;outline-offset:2px}@media (min-width: 768px){.pin-input{height:3.5rem;width:6rem}}.otp-input{width:100%;border-radius:.5rem;border-width:1px;border-color:hsla(var(--tone-90));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:.75rem;font-size:1.5rem;line-height:2rem;font-weight:700}.otp-input:focus{outline:2px solid transparent;outline-offset:2px}.otp-button{height:3.5rem;width:100%;border-radius:.5rem;background-color:hsl(var(--tone-100));padding-left:1.5rem;padding-right:1.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.otp-button:disabled{background-color:hsl(var(--grey-100))}.warning-text,.success-text{margin-top:1rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;text-align:center;font-weight:600;color:hsl(var(--grey-400))}.warning-list{margin-left:auto;margin-right:auto;margin-top:.25rem}@media (min-width: 768px){.warning-list{margin-top:.5rem}}.warning-button,.success-button{margin-bottom:1rem;width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-800));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}#bank-search-input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:2px solid transparent;outline-offset:2px}#bank-select-container{display:flex;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:hsl(var(--primary-light));padding:1rem}#bank-code-span{border-radius:.25rem;background-color:hsla(var(--primary-10));padding:.25rem;color:hsla(var(--tone-60))}.spinner{margin-right:.75rem;height:2rem;width:2rem}.spinner{animation:spin 1s linear infinite;fill:#fff}.transaction-issues-input{display:flex;height:3.5rem;width:100%;-webkit-user-select:all;-moz-user-select:all;user-select:all;border-radius:.5rem;border-width:1px;border-style:none;--tw-bg-opacity: 1;background-color:rgb(247 248 251 / var(--tw-bg-opacity));padding-left:1rem;padding-right:1rem;padding-top:1.25rem;padding-bottom:0;color:hsl(var(--tone-100));outline:2px solid transparent!important;outline-offset:2px!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transaction-issues-input:disabled{cursor:not-allowed;opacity:.5}.active-tab{border-bottom-width:2px;border-color:hsl(var(--tone-100));padding-bottom:.25rem;font-weight:500;color:hsl(var(--tone-100))}.transaction-issues-input-placeholder{pointer-events:none;position:absolute;top:1rem;bottom:1rem;left:.75rem;z-index:20;margin:0;display:flex;height:-moz-fit-content;height:fit-content;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;padding-left:.25rem;padding-right:.25rem;font-size:.625rem;color:hsla(var(--tone-70));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.peer:-moz-placeholder-shown~.transaction-issues-input-placeholder{margin:auto;--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding-left:0;padding-right:0;font-size:.875rem;line-height:1.25rem}.peer:placeholder-shown~.transaction-issues-input-placeholder{margin:auto;--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding-left:0;padding-right:0;font-size:.875rem;line-height:1.25rem}.peer:focus~.transaction-issues-input-placeholder{margin:0;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding-left:.25rem;padding-right:.25rem;font-size:.625rem}#checkout-modal .static{position:static}#checkout-modal .fixed{position:fixed}#checkout-modal .absolute{position:absolute}#checkout-modal .relative{position:relative}#checkout-modal .inset-0{top:0;right:0;bottom:0;left:0}#checkout-modal .inset-y-4{top:1rem;bottom:1rem}#checkout-modal .left-0{left:0}#checkout-modal .right-4{right:1rem}#checkout-modal .top-0{top:0}#checkout-modal .top-1{top:.25rem}#checkout-modal .top-1\\/2{top:50%}#checkout-modal .top-5{top:1.25rem}#checkout-modal .z-30{z-index:30}#checkout-modal .z-50{z-index:50}#checkout-modal .mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .my-3{margin-top:.75rem;margin-bottom:.75rem}#checkout-modal .mb-1{margin-bottom:.25rem}#checkout-modal .mb-2{margin-bottom:.5rem}#checkout-modal .mb-3{margin-bottom:.75rem}#checkout-modal .mb-4{margin-bottom:1rem}#checkout-modal .mb-5{margin-bottom:1.25rem}#checkout-modal .mb-8{margin-bottom:2rem}#checkout-modal .ml-1{margin-left:.25rem}#checkout-modal .ml-20{margin-left:5rem}#checkout-modal .ml-9{margin-left:2.25rem}#checkout-modal .ml-auto{margin-left:auto}#checkout-modal .mr-1{margin-right:.25rem}#checkout-modal .mr-11{margin-right:2.75rem}#checkout-modal .mt-1{margin-top:.25rem}#checkout-modal .mt-10{margin-top:2.5rem}#checkout-modal .mt-2{margin-top:.5rem}#checkout-modal .mt-3{margin-top:.75rem}#checkout-modal .mt-4{margin-top:1rem}#checkout-modal .mt-5{margin-top:1.25rem}#checkout-modal .mt-6{margin-top:1.5rem}#checkout-modal .mt-7{margin-top:1.75rem}#checkout-modal .mt-8{margin-top:2rem}#checkout-modal .block{display:block}#checkout-modal .inline-block{display:inline-block}#checkout-modal .flex{display:flex}#checkout-modal .grid{display:grid}#checkout-modal .contents{display:contents}#checkout-modal .hidden{display:none}#checkout-modal .h-12{height:3rem}#checkout-modal .h-8{height:2rem}#checkout-modal .h-\\[22px\\]{height:22px}#checkout-modal .h-\\[40dvh\\]{height:40dvh}#checkout-modal .h-\\[40vh\\]{height:40vh}#checkout-modal .h-\\[50px\\]{height:50px}#checkout-modal .h-auto{height:auto}#checkout-modal .h-full{height:100%}#checkout-modal .max-h-screen{max-height:100vh}#checkout-modal .min-h-\\[20dvh\\]{min-height:20dvh}#checkout-modal .min-h-\\[30dvh\\]{min-height:30dvh}#checkout-modal .min-h-\\[40dvh\\]{min-height:40dvh}#checkout-modal .min-h-full{min-height:100%}#checkout-modal .min-h-screen{min-height:100vh}#checkout-modal .w-0{width:0px}#checkout-modal .w-11\\/12{width:91.666667%}#checkout-modal .w-12{width:3rem}#checkout-modal .w-14{width:3.5rem}#checkout-modal .w-16{width:4rem}#checkout-modal .w-4\\/5{width:80%}#checkout-modal .w-60{width:15rem}#checkout-modal .w-8{width:2rem}#checkout-modal .w-9\\/12{width:75%}#checkout-modal .w-full{width:100%}#checkout-modal .min-w-\\[15rem\\]{min-width:15rem}#checkout-modal .max-w-\\[200px\\]{max-width:200px}#checkout-modal .flex-1{flex:1 1 0%}#checkout-modal .flex-shrink-0{flex-shrink:0}#checkout-modal .flex-grow,#checkout-modal .grow{flex-grow:1}#checkout-modal .-translate-y-2\\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .translate-x-\\[-45\\%\\]{--tw-translate-x: -45%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .translate-x-\\[0\\%\\]{--tw-translate-x: 0%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}#checkout-modal .animate-spin{animation:spin 1s linear infinite}#checkout-modal .cursor-pointer{cursor:pointer}#checkout-modal .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}#checkout-modal .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#checkout-modal .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}#checkout-modal .grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}#checkout-modal .grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}#checkout-modal .flex-col{flex-direction:column}#checkout-modal .items-start{align-items:flex-start}#checkout-modal .items-end{align-items:flex-end}#checkout-modal .items-center{align-items:center}#checkout-modal .justify-center{justify-content:center}#checkout-modal .justify-between{justify-content:space-between}#checkout-modal .gap-1{gap:.25rem}#checkout-modal .gap-1\\.5{gap:.375rem}#checkout-modal .gap-2{gap:.5rem}#checkout-modal .gap-3{gap:.75rem}#checkout-modal .gap-4{gap:1rem}#checkout-modal .gap-5{gap:1.25rem}#checkout-modal .gap-6{gap:1.5rem}#checkout-modal .gap-7{gap:1.75rem}#checkout-modal .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}#checkout-modal .justify-self-center{justify-self:center}#checkout-modal .overflow-hidden{overflow:hidden}#checkout-modal .overflow-y-auto{overflow-y:auto}#checkout-modal .whitespace-normal{white-space:normal}#checkout-modal .whitespace-nowrap{white-space:nowrap}#checkout-modal .break-words{overflow-wrap:break-word}#checkout-modal .rounded-2xl{border-radius:1rem}#checkout-modal .rounded-\\[40px\\]{border-radius:40px}#checkout-modal .rounded-lg{border-radius:.5rem}#checkout-modal .rounded-md{border-radius:.375rem}#checkout-modal .border{border-width:1px}#checkout-modal .border-b{border-bottom-width:1px}#checkout-modal .border-r{border-right-width:1px}#checkout-modal .border-dashed{border-style:dashed}#checkout-modal .border-\\[\\#D0D5DD\\]{--tw-border-opacity: 1;border-color:rgb(208 213 221 / var(--tw-border-opacity))}#checkout-modal .border-\\[\\#D62020\\]{--tw-border-opacity: 1;border-color:rgb(214 32 32 / var(--tw-border-opacity))}#checkout-modal .border-grey-100{border-color:hsl(var(--grey-100))}#checkout-modal .border-tone-10{border-color:hsl(var(--tone-10))}#checkout-modal .border-tone-40{border-color:hsl(var(--tone-40))}#checkout-modal .border-tone-50{border-color:hsl(var(--tone-50))}#checkout-modal .border-tone-70{border-color:hsla(var(--tone-70))}#checkout-modal .border-b-grey-faint{border-bottom-color:hsl(var(--grey-faint))}#checkout-modal .bg-\\[\\#FEF7ED\\]{--tw-bg-opacity: 1;background-color:rgb(254 247 237 / var(--tw-bg-opacity))}#checkout-modal .bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}#checkout-modal .bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}#checkout-modal .bg-primary{background-color:hsl(var(--primary))}#checkout-modal .bg-tone-10{background-color:hsl(var(--tone-10))}#checkout-modal .bg-tone-100{background-color:hsl(var(--tone-100))}#checkout-modal .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .bg-opacity-30{--tw-bg-opacity: .3}#checkout-modal .object-contain{-o-object-fit:contain;object-fit:contain}#checkout-modal .p-0{padding:0}#checkout-modal .p-1{padding:.25rem}#checkout-modal .p-2{padding:.5rem}#checkout-modal .p-3{padding:.75rem}#checkout-modal .p-4{padding:1rem}#checkout-modal .px-0{padding-left:0;padding-right:0}#checkout-modal .px-2{padding-left:.5rem;padding-right:.5rem}#checkout-modal .px-3{padding-left:.75rem;padding-right:.75rem}#checkout-modal .px-3\\.5{padding-left:.875rem;padding-right:.875rem}#checkout-modal .px-4{padding-left:1rem;padding-right:1rem}#checkout-modal .px-6{padding-left:1.5rem;padding-right:1.5rem}#checkout-modal .py-1{padding-top:.25rem;padding-bottom:.25rem}#checkout-modal .py-10{padding-top:2.5rem;padding-bottom:2.5rem}#checkout-modal .py-2{padding-top:.5rem;padding-bottom:.5rem}#checkout-modal .py-3{padding-top:.75rem;padding-bottom:.75rem}#checkout-modal .py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .pb-0{padding-bottom:0}#checkout-modal .pb-1{padding-bottom:.25rem}#checkout-modal .pb-3{padding-bottom:.75rem}#checkout-modal .pb-4{padding-bottom:1rem}#checkout-modal .pb-5{padding-bottom:1.25rem}#checkout-modal .pl-4{padding-left:1rem}#checkout-modal .pr-2{padding-right:.5rem}#checkout-modal .pr-7{padding-right:1.75rem}#checkout-modal .pt-0{padding-top:0}#checkout-modal .pt-1{padding-top:.25rem}#checkout-modal .pt-3{padding-top:.75rem}#checkout-modal .pt-5{padding-top:1.25rem}#checkout-modal .pt-6{padding-top:1.5rem}#checkout-modal .text-left{text-align:left}#checkout-modal .text-center{text-align:center}#checkout-modal .text-2xl{font-size:1.5rem;line-height:2rem}#checkout-modal .text-\\[10px\\]{font-size:10px}#checkout-modal .text-\\[11px\\]{font-size:11px}#checkout-modal .text-base{font-size:1rem;line-height:1.5rem}#checkout-modal .text-lg{font-size:1.125rem;line-height:1.75rem}#checkout-modal .text-sm{font-size:.875rem;line-height:1.25rem}#checkout-modal .text-xl{font-size:1.25rem;line-height:1.75rem}#checkout-modal .text-xs{font-size:.75rem;line-height:1rem}#checkout-modal .text-xxs{font-size:.625rem}#checkout-modal .font-bold{font-weight:700}#checkout-modal .font-medium{font-weight:500}#checkout-modal .font-normal{font-weight:400}#checkout-modal .font-semibold{font-weight:600}#checkout-modal .uppercase{text-transform:uppercase}#checkout-modal .lowercase{text-transform:lowercase}#checkout-modal .tracking-\\[0\\.5px\\]{letter-spacing:.5px}#checkout-modal .text-\\[\\#816039\\]{--tw-text-opacity: 1;color:rgb(129 96 57 / var(--tw-text-opacity))}#checkout-modal .text-\\[\\#98A2B3\\]{--tw-text-opacity: 1;color:rgb(152 162 179 / var(--tw-text-opacity))}#checkout-modal .text-\\[\\#D62020\\]{--tw-text-opacity: 1;color:rgb(214 32 32 / var(--tw-text-opacity))}#checkout-modal .text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}#checkout-modal .text-error{color:hsl(var(--error))}#checkout-modal .text-error-dark{color:hsl(var(--error-dark))}#checkout-modal .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}#checkout-modal .text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}#checkout-modal .text-grey-100{color:hsl(var(--grey-100))}#checkout-modal .text-grey-400{color:hsl(var(--grey-400))}#checkout-modal .text-tone-100{color:hsl(var(--tone-100))}#checkout-modal .text-tone-40{color:hsl(var(--tone-40))}#checkout-modal .text-tone-50{color:hsl(var(--tone-50))}#checkout-modal .text-tone-60{color:hsla(var(--tone-60))}#checkout-modal .text-tone-70{color:hsla(var(--tone-70))}#checkout-modal .text-tone-80{color:hsla(var(--tone-80))}#checkout-modal .text-tone-90{color:hsla(var(--tone-90))}#checkout-modal .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#checkout-modal .opacity-0{opacity:0}#checkout-modal .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#checkout-modal .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#checkout-modal .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#checkout-modal .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .duration-200{transition-duration:.2s}#checkout-modal .duration-500{transition-duration:.5s}#checkout-modal .duration-700{transition-duration:.7s}#checkout-modal *::-webkit-scrollbar{height:.2em;width:.4em;cursor:pointer;--tw-bg-opacity: 1;background-color:rgb(244 244 244 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-track{border-radius:100vh;--tw-bg-opacity: 1;background-color:rgb(153 146 146 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-thumb{cursor:pointer;border-radius:100vh;border-width:3px;--tw-border-opacity: 1;border-color:rgb(112 112 112 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(224 203 203 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-thumb:hover{background:#53b6ed}@font-face{font-family:IBM Plex Sans;src:url("https://d104jydf2tp7hm.cloudfront.net/IBM Plex Sans/IBMPlexSans-Regular.ttf");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url("https://d104jydf2tp7hm.cloudfront.net/IBM Plex Sans/IBMPlexSans-SemiBold.ttf");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url("https://d104jydf2tp7hm.cloudfront.net/IBM Plex Sans/IBMPlexSans-Bold.ttf");font-weight:700;font-display:swap}.tab-button.active:after{animation:text-underline-animation .3s linear forwards}#toast-container{width:100%;margin:0 auto}.toast{display:flex;align-items:center;padding:15px;margin-bottom:10px;border-radius:5px;opacity:0;transform:translateY(-50px);transition:opacity .5s,transform .5s;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background-color:hsl(var(--success));color:#fff}.toast.error{background-color:hsl(var(--error));color:#fff}.toast .close-btn{margin-left:auto;cursor:pointer;color:#fff}.progress-container{width:100%;height:10px;background-color:#f3f3f3;border-radius:5px;overflow:hidden;position:relative}.progress-bar{height:100%;background-color:#4caf50;width:0;position:absolute;top:0;left:0;animation:progress 1s linear infinite}@keyframes progress{0%{width:0px}to{width:100%}}#checkout-modal{font-family:IBM Plex Sans,Inter,sans-serif!important;color:hsla(var(--tone-80))}#test-cards-link{cursor:pointer;transition:color .2s ease}a{color:inherit}@media (min-width: 768px){.md\\:container-center{display:flex;align-items:center;justify-content:center}}#checkout-modal .placeholder\\:text-sm::-moz-placeholder{font-size:.875rem;line-height:1.25rem}#checkout-modal .placeholder\\:text-sm::placeholder{font-size:.875rem;line-height:1.25rem}#checkout-modal .placeholder\\:text-tone-50::-moz-placeholder{color:hsl(var(--tone-50))}#checkout-modal .placeholder\\:text-tone-50::placeholder{color:hsl(var(--tone-50))}#checkout-modal .before\\:absolute:before{content:var(--tw-content);position:absolute}#checkout-modal .before\\:-top-0:before{content:var(--tw-content);top:-0px}#checkout-modal .before\\:left-0:before{content:var(--tw-content);left:0}#checkout-modal .before\\:h-4:before{content:var(--tw-content);height:1rem}#checkout-modal .before\\:w-4:before{content:var(--tw-content);width:1rem}#checkout-modal .before\\:-translate-y-1:before{content:var(--tw-content);--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:translate-x-\\[-45\\%\\]:before{content:var(--tw-content);--tw-translate-x: -45%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:translate-x-\\[0\\%\\]:before{content:var(--tw-content);--tw-translate-x: 0%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:rotate-45:before{content:var(--tw-content);--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:bg-white:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .hover\\:block:hover{display:block}#checkout-modal .hover\\:w-full:hover{width:100%}#checkout-modal .hover\\:rotate-0:hover{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .hover\\:font-bold:hover{font-weight:700}#checkout-modal .hover\\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}#checkout-modal .hover\\:underline:hover{text-decoration-line:underline}#checkout-modal .hover\\:opacity-100:hover{opacity:1}#checkout-modal .hover\\:opacity-80:hover{opacity:.8}#checkout-modal :is(.group:hover .group-hover\\:block){display:block}#checkout-modal :is(.group:hover .group-hover\\:w-4\\/5){width:80%}#checkout-modal :is(.group:hover .group-hover\\:w-full){width:100%}#checkout-modal :is(.group:hover .group-hover\\:rotate-0){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){#checkout-modal .sm\\:my-8{margin-top:2rem;margin-bottom:2rem}#checkout-modal .sm\\:items-center{align-items:center}}@media (min-width: 768px){#checkout-modal .md\\:mb-5{margin-bottom:1.25rem}#checkout-modal .md\\:mt-6{margin-top:1.5rem}#checkout-modal .md\\:mt-8{margin-top:2rem}#checkout-modal .md\\:block{display:block}#checkout-modal .md\\:flex{display:flex}#checkout-modal .md\\:hidden{display:none}#checkout-modal .md\\:min-h-\\[70\\%\\]{min-height:70%}#checkout-modal .md\\:w-16{width:4rem}#checkout-modal .md\\:w-20{width:5rem}#checkout-modal .md\\:w-3\\/5{width:60%}#checkout-modal .md\\:w-4\\/5{width:80%}#checkout-modal .md\\:w-4\\/6{width:66.666667%}#checkout-modal .md\\:min-w-\\[18rem\\]{min-width:18rem}#checkout-modal .md\\:max-w-\\[600px\\]{max-width:600px}#checkout-modal .md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .md\\:justify-between{justify-content:space-between}#checkout-modal .md\\:gap-6{gap:1.5rem}#checkout-modal .md\\:gap-9{gap:2.25rem}#checkout-modal .md\\:rounded-lg{border-radius:.5rem}#checkout-modal .md\\:px-5{padding-left:1.25rem;padding-right:1.25rem}#checkout-modal .md\\:px-7{padding-left:1.75rem;padding-right:1.75rem}#checkout-modal .md\\:py-3{padding-top:.75rem;padding-bottom:.75rem}#checkout-modal .md\\:py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .md\\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 1024px){#checkout-modal .lg\\:block{display:block}#checkout-modal .lg\\:max-w-\\[20rem\\]{max-width:20rem}#checkout-modal .lg\\:px-7{padding-left:1.75rem;padding-right:1.75rem}#checkout-modal .lg\\:px-8{padding-left:2rem;padding-right:2rem}}
|
|
2
|
-
`,document.head.appendChild(
|
|
1
|
+
(function(Ke,Be){typeof exports=="object"&&typeof module<"u"?Be(exports):typeof define=="function"&&define.amd?define(["exports"],Be):(Ke=typeof globalThis<"u"?globalThis:Ke||self,Be(Ke.SpotflowCheckout={}))})(this,function(Ke){"use strict";var ou=Object.defineProperty;var au=(Ke,Be,Gn)=>Be in Ke?ou(Ke,Be,{enumerable:!0,configurable:!0,writable:!0,value:Gn}):Ke[Be]=Gn;var u=(Ke,Be,Gn)=>au(Ke,typeof Be!="symbol"?Be+"":Be,Gn);var Be=document.createElement("style");Be.textContent=`*:where(#checkout-modal,#checkout-modal *),:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before:where(#checkout-modal,#checkout-modal *),:after:where(#checkout-modal,#checkout-modal *){--tw-content: ""}#checkout-modal{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}#checkout-modal{margin:0;line-height:inherit}hr:where(#checkout-modal,#checkout-modal *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(#checkout-modal,#checkout-modal *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *){font-size:inherit;font-weight:inherit}a:where(#checkout-modal,#checkout-modal *){color:inherit;text-decoration:inherit}b:where(#checkout-modal,#checkout-modal *),strong:where(#checkout-modal,#checkout-modal *){font-weight:bolder}code:where(#checkout-modal,#checkout-modal *),kbd:where(#checkout-modal,#checkout-modal *),samp:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small:where(#checkout-modal,#checkout-modal *){font-size:80%}sub:where(#checkout-modal,#checkout-modal *),sup:where(#checkout-modal,#checkout-modal *){font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub:where(#checkout-modal,#checkout-modal *){bottom:-.25em}sup:where(#checkout-modal,#checkout-modal *){top:-.5em}table:where(#checkout-modal,#checkout-modal *){text-indent:0;border-color:inherit;border-collapse:collapse}button:where(#checkout-modal,#checkout-modal *),input:where(#checkout-modal,#checkout-modal *),optgroup:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *),textarea:where(#checkout-modal,#checkout-modal *){font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button:where(#checkout-modal,#checkout-modal *),select:where(#checkout-modal,#checkout-modal *){text-transform:none}button:where(#checkout-modal,#checkout-modal *),input:where([type=button]):where(#checkout-modal,#checkout-modal *),input:where([type=reset]):where(#checkout-modal,#checkout-modal *),input:where([type=submit]):where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring:where(#checkout-modal,#checkout-modal *){outline:auto}:-moz-ui-invalid:where(#checkout-modal,#checkout-modal *){box-shadow:none}progress:where(#checkout-modal,#checkout-modal *){vertical-align:baseline}::-webkit-inner-spin-button:where(#checkout-modal,#checkout-modal *),::-webkit-outer-spin-button:where(#checkout-modal,#checkout-modal *){height:auto}[type=search]:where(#checkout-modal,#checkout-modal *){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration:where(#checkout-modal,#checkout-modal *){-webkit-appearance:none}::-webkit-file-upload-button:where(#checkout-modal,#checkout-modal *){-webkit-appearance:button;font:inherit}summary:where(#checkout-modal,#checkout-modal *){display:list-item}blockquote:where(#checkout-modal,#checkout-modal *),dl:where(#checkout-modal,#checkout-modal *),dd:where(#checkout-modal,#checkout-modal *),h1:where(#checkout-modal,#checkout-modal *),h2:where(#checkout-modal,#checkout-modal *),h3:where(#checkout-modal,#checkout-modal *),h4:where(#checkout-modal,#checkout-modal *),h5:where(#checkout-modal,#checkout-modal *),h6:where(#checkout-modal,#checkout-modal *),hr:where(#checkout-modal,#checkout-modal *),figure:where(#checkout-modal,#checkout-modal *),p:where(#checkout-modal,#checkout-modal *),pre:where(#checkout-modal,#checkout-modal *){margin:0}fieldset:where(#checkout-modal,#checkout-modal *){margin:0;padding:0}legend:where(#checkout-modal,#checkout-modal *){padding:0}ol:where(#checkout-modal,#checkout-modal *),ul:where(#checkout-modal,#checkout-modal *),menu:where(#checkout-modal,#checkout-modal *){list-style:none;margin:0;padding:0}dialog:where(#checkout-modal,#checkout-modal *){padding:0}textarea:where(#checkout-modal,#checkout-modal *){resize:vertical}input::-moz-placeholder:where(#checkout-modal,#checkout-modal *),textarea::-moz-placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}input::placeholder:where(#checkout-modal,#checkout-modal *),textarea::placeholder:where(#checkout-modal,#checkout-modal *){opacity:1;color:#9ca3af}button:where(#checkout-modal,#checkout-modal *),[role=button]:where(#checkout-modal,#checkout-modal *){cursor:pointer}:disabled:where(#checkout-modal,#checkout-modal *){cursor:default}img:where(#checkout-modal,#checkout-modal *),svg:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *),canvas:where(#checkout-modal,#checkout-modal *),audio:where(#checkout-modal,#checkout-modal *),iframe:where(#checkout-modal,#checkout-modal *),embed:where(#checkout-modal,#checkout-modal *),object:where(#checkout-modal,#checkout-modal *){display:block;vertical-align:middle}img:where(#checkout-modal,#checkout-modal *),video:where(#checkout-modal,#checkout-modal *){max-width:100%;height:auto}[hidden]:where(#checkout-modal,#checkout-modal *){display:none}:root{--primary: 264, 52%, 6%;--primary-light: 266, 21%, 76%;--primary-10: 240, 39%, 86%, 1;--primary-lighter: 240, 100%, 98%;--primary-dark: 240, 39%, 52%;--primary-darker: 240, 100%, 28%;--success: 151, 58%, 46%;--error: 0, 74%, 48%;--error-dark: 19, 100%, 37%;--common: 60, 4%, 43%;--tone-10: 240, 2%, 90%;--tone-40: 202, 6%, 82%;--tone-50: 202, 4%, 68%;--tone-60: 260, 4%, 43%, 1;--tone-70: 266, 3%, 53%;--tone-80: 265, 10%, 24%, 1;--tone-90: 266, 18%, 15%;--tone-100: 266, 54%, 6%;--grey: 218, 15%, 65%;--grey-100: 270, 3%, 62%;--grey-200: 264, 3%, 72%;--grey-300: 260, 3%, 81%;--grey-400: 264, 6%, 34%;--grey-500: 217, 24%, 27%;--grey-600: 265, 10%, 24%;--grey-700: 260, 4%, 43%;--grey-800: 265, 21%, 76%;--grey-faint: 240, 7%, 97%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:focus,button:focus{outline:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.container-center{display:flex;align-items:center;justify-content:center}.hide-scrollbar::-webkit-scrollbar{display:none!important}.hide-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.container-between{display:flex;align-items:center;justify-content:space-between}.align-center{display:flex;align-items:center}.box-container{padding-left:0;padding-right:0;padding-top:1rem;padding-bottom:1rem}@media (min-width: 768px){.box-container{padding:1.75rem 1.25rem}}@media (min-width: 1024px){.box-container{padding-left:1.75rem;padding-right:1.75rem}}.button-fill{display:flex;height:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--primary));font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.button-outline{display:flex;height:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;border-width:1px;border-color:hsl(var(--tone-100));font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--tone-100))}.payment-options{display:flex;width:100%;flex-direction:column;overflow:hidden}.tab{margin-bottom:.75rem;display:flex;align-items:center;justify-content:flex-start;text-align:left}.tab-button{display:flex;width:100%;flex-grow:1;align-items:center;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-100));padding:.75rem 1.25rem;text-align:center;color:hsl(var(--primary))}.tab-button:disabled{cursor:not-allowed;opacity:.4}.tab-button:hover:disabled{border-color:#11032666;color:hsl(var(--primary) / .4)}@media (min-width: 768px){.tab-button{display:flex;justify-content:center;padding-left:.75rem;padding-right:.75rem}.tab-button:hover{border-color:hsl(var(--primary))}}.tab-button.active{border-width:2px;border-color:hsl(var(--primary))}.tab-button.active span{font-weight:700}.tab-button span{margin-top:.25rem;margin-bottom:.25rem;display:flex;flex-shrink:0;justify-content:center}@media (min-width: 768px){.tab-button span{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.tab-button span{justify-content:flex-start}}.main{max-height:98dvh;width:100%;overflow:auto}@media (min-width: 768px){.main{padding-top:1rem;padding-bottom:1rem}}@media (min-width: 1024px){.main{width:calc(100% - 250px);padding-left:1rem;padding-right:1rem}}.header-container{border-radius:.75rem;padding:2.5rem 1rem;color:hsl(var(--primary))}@media (min-width: 768px){.header-container{padding:1.25rem 2.25rem}}.tooltip{position:absolute;left:-3rem;top:20px;margin-bottom:1.25rem;display:none;width:auto;flex-direction:column;align-items:center}.group:hover .tooltip{display:flex}@media (min-width: 768px){.tooltip{left:0}}.tooltip-textbox{position:relative;z-index:10;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:.5rem;font-size:.75rem;line-height:1rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 768px){.tooltip-textbox{padding:.75rem 1rem}}.tooltip-text{font-size:13px;line-height:17.4px;letter-spacing:.025em;color:hsl(var(--grey))}.details-input-container{width:100%;border-width:1px;border-style:none;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));font-weight:600;color:hsl(var(--tone-100))}.details-input-container::-moz-placeholder{font-size:.875rem;line-height:1.25rem;color:hsl(var(--tone-100))}.details-input-container::placeholder{font-size:.875rem;line-height:1.25rem;color:hsl(var(--tone-100))}.details-input-container:focus{outline:2px solid transparent;outline-offset:2px}.details-input-container:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.avs-input-container{width:100%;border-radius:.25rem;border-width:1px;border-color:hsl(var(--tone-40));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem .75rem .5rem;color:hsl(var(--tone-100))}.avs-input-container:focus{border-color:hsl(var(--grey-100));outline:2px solid transparent;outline-offset:2px}.avs-input-container:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.mm-input-container{width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--tone-40));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem .75rem .5rem;color:hsl(var(--tone-100))}.mm-input-container::-moz-placeholder{color:hsl(var(--tone-50))}.mm-input-container::placeholder{color:hsl(var(--tone-50))}.mm-input-container:focus{border-color:hsl(var(--grey-100));outline:2px solid transparent;outline-offset:2px}.mm-input-container:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.details-form-button{display:inline-flex;height:50px;width:100%;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--primary));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.details-form-button:focus{outline:2px solid transparent;outline-offset:2px}.details-form-button:disabled{background-color:hsl(var(--grey-100));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.pin-input{height:3.5rem;width:4rem;border-radius:.5rem;border-width:1px;border-color:hsla(var(--tone-90));text-align:center;font-size:1.125rem;line-height:1.75rem}.pin-input:focus{border-color:hsl(var(--primary));outline:2px solid transparent;outline-offset:2px}@media (min-width: 768px){.pin-input{height:3.5rem;width:6rem}}.otp-input{width:100%;border-radius:.5rem;border-width:1px;border-color:hsla(var(--tone-90));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:.75rem;font-size:1.5rem;line-height:2rem;font-weight:700}.otp-input:focus{outline:2px solid transparent;outline-offset:2px}.otp-button{height:3.5rem;width:100%;border-radius:.5rem;background-color:hsl(var(--tone-100));padding-left:1.5rem;padding-right:1.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.otp-button:disabled{background-color:hsl(var(--grey-100))}.warning-text,.success-text{margin-top:1rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;text-align:center;font-weight:600;color:hsl(var(--grey-400))}.warning-list{margin-left:auto;margin-right:auto;margin-top:.25rem}@media (min-width: 768px){.warning-list{margin-top:.5rem}}.warning-button,.success-button{margin-bottom:1rem;width:100%;border-radius:.5rem;border-width:1px;border-color:hsl(var(--grey-800));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--grey-400))}#bank-search-input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:2px solid transparent;outline-offset:2px}#bank-select-container{display:flex;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:hsl(var(--primary-light));padding:1rem}#bank-code-span{border-radius:.25rem;background-color:hsla(var(--primary-10));padding:.25rem;color:hsla(var(--tone-60))}.spinner{margin-right:.75rem;height:2rem;width:2rem}.spinner{animation:spin 1s linear infinite;fill:#fff}.transaction-issues-input{display:flex;height:3.5rem;width:100%;-webkit-user-select:all;-moz-user-select:all;user-select:all;border-radius:.5rem;border-width:1px;border-style:none;--tw-bg-opacity: 1;background-color:rgb(247 248 251 / var(--tw-bg-opacity));padding-left:1rem;padding-right:1rem;padding-top:1.25rem;padding-bottom:0;color:hsl(var(--tone-100));outline:2px solid transparent!important;outline-offset:2px!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transaction-issues-input:disabled{cursor:not-allowed;opacity:.5}.active-tab{border-bottom-width:2px;border-color:hsl(var(--tone-100));padding-bottom:.25rem;font-weight:500;color:hsl(var(--tone-100))}.transaction-issues-input-placeholder{pointer-events:none;position:absolute;top:1rem;bottom:1rem;left:.75rem;z-index:20;margin:0;display:flex;height:-moz-fit-content;height:fit-content;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;padding-left:.25rem;padding-right:.25rem;font-size:.625rem;color:hsla(var(--tone-70));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.peer:-moz-placeholder-shown~.transaction-issues-input-placeholder{margin:auto;--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding-left:0;padding-right:0;font-size:.875rem;line-height:1.25rem}.peer:placeholder-shown~.transaction-issues-input-placeholder{margin:auto;--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding-left:0;padding-right:0;font-size:.875rem;line-height:1.25rem}.peer:focus~.transaction-issues-input-placeholder{margin:0;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding-left:.25rem;padding-right:.25rem;font-size:.625rem}#checkout-modal .static{position:static}#checkout-modal .fixed{position:fixed}#checkout-modal .absolute{position:absolute}#checkout-modal .relative{position:relative}#checkout-modal .inset-0{top:0;right:0;bottom:0;left:0}#checkout-modal .inset-y-4{top:1rem;bottom:1rem}#checkout-modal .left-0{left:0}#checkout-modal .right-4{right:1rem}#checkout-modal .top-0{top:0}#checkout-modal .top-1{top:.25rem}#checkout-modal .top-1\\/2{top:50%}#checkout-modal .top-5{top:1.25rem}#checkout-modal .z-30{z-index:30}#checkout-modal .z-50{z-index:50}#checkout-modal .mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .mx-auto{margin-left:auto;margin-right:auto}#checkout-modal .my-3{margin-top:.75rem;margin-bottom:.75rem}#checkout-modal .mb-1{margin-bottom:.25rem}#checkout-modal .mb-2{margin-bottom:.5rem}#checkout-modal .mb-3{margin-bottom:.75rem}#checkout-modal .mb-4{margin-bottom:1rem}#checkout-modal .mb-5{margin-bottom:1.25rem}#checkout-modal .mb-8{margin-bottom:2rem}#checkout-modal .ml-1{margin-left:.25rem}#checkout-modal .ml-20{margin-left:5rem}#checkout-modal .ml-9{margin-left:2.25rem}#checkout-modal .ml-auto{margin-left:auto}#checkout-modal .mr-1{margin-right:.25rem}#checkout-modal .mr-11{margin-right:2.75rem}#checkout-modal .mt-1{margin-top:.25rem}#checkout-modal .mt-10{margin-top:2.5rem}#checkout-modal .mt-2{margin-top:.5rem}#checkout-modal .mt-3{margin-top:.75rem}#checkout-modal .mt-4{margin-top:1rem}#checkout-modal .mt-5{margin-top:1.25rem}#checkout-modal .mt-6{margin-top:1.5rem}#checkout-modal .mt-7{margin-top:1.75rem}#checkout-modal .mt-8{margin-top:2rem}#checkout-modal .block{display:block}#checkout-modal .inline-block{display:inline-block}#checkout-modal .flex{display:flex}#checkout-modal .grid{display:grid}#checkout-modal .contents{display:contents}#checkout-modal .hidden{display:none}#checkout-modal .h-12{height:3rem}#checkout-modal .h-8{height:2rem}#checkout-modal .h-\\[22px\\]{height:22px}#checkout-modal .h-\\[40dvh\\]{height:40dvh}#checkout-modal .h-\\[40vh\\]{height:40vh}#checkout-modal .h-\\[50px\\]{height:50px}#checkout-modal .h-auto{height:auto}#checkout-modal .h-full{height:100%}#checkout-modal .max-h-screen{max-height:100vh}#checkout-modal .min-h-\\[20dvh\\]{min-height:20dvh}#checkout-modal .min-h-\\[30dvh\\]{min-height:30dvh}#checkout-modal .min-h-\\[40dvh\\]{min-height:40dvh}#checkout-modal .min-h-full{min-height:100%}#checkout-modal .min-h-screen{min-height:100vh}#checkout-modal .w-0{width:0px}#checkout-modal .w-11\\/12{width:91.666667%}#checkout-modal .w-12{width:3rem}#checkout-modal .w-14{width:3.5rem}#checkout-modal .w-16{width:4rem}#checkout-modal .w-4\\/5{width:80%}#checkout-modal .w-60{width:15rem}#checkout-modal .w-8{width:2rem}#checkout-modal .w-9\\/12{width:75%}#checkout-modal .w-full{width:100%}#checkout-modal .min-w-\\[15rem\\]{min-width:15rem}#checkout-modal .max-w-\\[200px\\]{max-width:200px}#checkout-modal .flex-1{flex:1 1 0%}#checkout-modal .flex-shrink-0{flex-shrink:0}#checkout-modal .flex-grow,#checkout-modal .grow{flex-grow:1}#checkout-modal .-translate-y-2\\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .translate-x-\\[-45\\%\\]{--tw-translate-x: -45%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .translate-x-\\[0\\%\\]{--tw-translate-x: 0%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}#checkout-modal .animate-spin{animation:spin 1s linear infinite}#checkout-modal .cursor-pointer{cursor:pointer}#checkout-modal .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}#checkout-modal .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#checkout-modal .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}#checkout-modal .grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}#checkout-modal .grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}#checkout-modal .flex-col{flex-direction:column}#checkout-modal .items-start{align-items:flex-start}#checkout-modal .items-end{align-items:flex-end}#checkout-modal .items-center{align-items:center}#checkout-modal .justify-center{justify-content:center}#checkout-modal .justify-between{justify-content:space-between}#checkout-modal .gap-1{gap:.25rem}#checkout-modal .gap-1\\.5{gap:.375rem}#checkout-modal .gap-2{gap:.5rem}#checkout-modal .gap-3{gap:.75rem}#checkout-modal .gap-4{gap:1rem}#checkout-modal .gap-5{gap:1.25rem}#checkout-modal .gap-6{gap:1.5rem}#checkout-modal .gap-7{gap:1.75rem}#checkout-modal .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}#checkout-modal .self-start{align-self:flex-start}#checkout-modal .justify-self-center{justify-self:center}#checkout-modal .overflow-hidden{overflow:hidden}#checkout-modal .overflow-y-auto{overflow-y:auto}#checkout-modal .whitespace-normal{white-space:normal}#checkout-modal .whitespace-nowrap{white-space:nowrap}#checkout-modal .break-words{overflow-wrap:break-word}#checkout-modal .rounded-2xl{border-radius:1rem}#checkout-modal .rounded-\\[20px\\]{border-radius:20px}#checkout-modal .rounded-\\[40px\\]{border-radius:40px}#checkout-modal .rounded-lg{border-radius:.5rem}#checkout-modal .rounded-md{border-radius:.375rem}#checkout-modal .border{border-width:1px}#checkout-modal .border-b{border-bottom-width:1px}#checkout-modal .border-r{border-right-width:1px}#checkout-modal .border-dashed{border-style:dashed}#checkout-modal .border-\\[\\#D0D5DD\\]{--tw-border-opacity: 1;border-color:rgb(208 213 221 / var(--tw-border-opacity))}#checkout-modal .border-\\[\\#D62020\\]{--tw-border-opacity: 1;border-color:rgb(214 32 32 / var(--tw-border-opacity))}#checkout-modal .border-grey-100{border-color:hsl(var(--grey-100))}#checkout-modal .border-tone-10{border-color:hsl(var(--tone-10))}#checkout-modal .border-tone-40{border-color:hsl(var(--tone-40))}#checkout-modal .border-tone-50{border-color:hsl(var(--tone-50))}#checkout-modal .border-tone-70{border-color:hsla(var(--tone-70))}#checkout-modal .border-b-grey-faint{border-bottom-color:hsl(var(--grey-faint))}#checkout-modal .bg-\\[\\#FBF2CB\\]{--tw-bg-opacity: 1;background-color:rgb(251 242 203 / var(--tw-bg-opacity))}#checkout-modal .bg-\\[\\#FEF7ED\\]{--tw-bg-opacity: 1;background-color:rgb(254 247 237 / var(--tw-bg-opacity))}#checkout-modal .bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}#checkout-modal .bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}#checkout-modal .bg-primary{background-color:hsl(var(--primary))}#checkout-modal .bg-tone-10{background-color:hsl(var(--tone-10))}#checkout-modal .bg-tone-100{background-color:hsl(var(--tone-100))}#checkout-modal .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .bg-opacity-30{--tw-bg-opacity: .3}#checkout-modal .object-contain{-o-object-fit:contain;object-fit:contain}#checkout-modal .p-0{padding:0}#checkout-modal .p-1{padding:.25rem}#checkout-modal .p-2{padding:.5rem}#checkout-modal .p-3{padding:.75rem}#checkout-modal .p-4{padding:1rem}#checkout-modal .px-0{padding-left:0;padding-right:0}#checkout-modal .px-2{padding-left:.5rem;padding-right:.5rem}#checkout-modal .px-3{padding-left:.75rem;padding-right:.75rem}#checkout-modal .px-3\\.5{padding-left:.875rem;padding-right:.875rem}#checkout-modal .px-4{padding-left:1rem;padding-right:1rem}#checkout-modal .px-6{padding-left:1.5rem;padding-right:1.5rem}#checkout-modal .py-1{padding-top:.25rem;padding-bottom:.25rem}#checkout-modal .py-10{padding-top:2.5rem;padding-bottom:2.5rem}#checkout-modal .py-2{padding-top:.5rem;padding-bottom:.5rem}#checkout-modal .py-3{padding-top:.75rem;padding-bottom:.75rem}#checkout-modal .py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#checkout-modal .pb-0{padding-bottom:0}#checkout-modal .pb-1{padding-bottom:.25rem}#checkout-modal .pb-3{padding-bottom:.75rem}#checkout-modal .pb-4{padding-bottom:1rem}#checkout-modal .pb-5{padding-bottom:1.25rem}#checkout-modal .pl-4{padding-left:1rem}#checkout-modal .pr-2{padding-right:.5rem}#checkout-modal .pr-7{padding-right:1.75rem}#checkout-modal .pt-0{padding-top:0}#checkout-modal .pt-1{padding-top:.25rem}#checkout-modal .pt-3{padding-top:.75rem}#checkout-modal .pt-5{padding-top:1.25rem}#checkout-modal .pt-6{padding-top:1.5rem}#checkout-modal .text-left{text-align:left}#checkout-modal .text-center{text-align:center}#checkout-modal .text-2xl{font-size:1.5rem;line-height:2rem}#checkout-modal .text-\\[10px\\]{font-size:10px}#checkout-modal .text-\\[11px\\]{font-size:11px}#checkout-modal .text-base{font-size:1rem;line-height:1.5rem}#checkout-modal .text-lg{font-size:1.125rem;line-height:1.75rem}#checkout-modal .text-sm{font-size:.875rem;line-height:1.25rem}#checkout-modal .text-xl{font-size:1.25rem;line-height:1.75rem}#checkout-modal .text-xs{font-size:.75rem;line-height:1rem}#checkout-modal .text-xxs{font-size:.625rem}#checkout-modal .font-bold{font-weight:700}#checkout-modal .font-medium{font-weight:500}#checkout-modal .font-normal{font-weight:400}#checkout-modal .font-semibold{font-weight:600}#checkout-modal .uppercase{text-transform:uppercase}#checkout-modal .lowercase{text-transform:lowercase}#checkout-modal .tracking-\\[0\\.5px\\]{letter-spacing:.5px}#checkout-modal .text-\\[\\#816039\\]{--tw-text-opacity: 1;color:rgb(129 96 57 / var(--tw-text-opacity))}#checkout-modal .text-\\[\\#98A2B3\\]{--tw-text-opacity: 1;color:rgb(152 162 179 / var(--tw-text-opacity))}#checkout-modal .text-\\[\\#C8811A\\]{--tw-text-opacity: 1;color:rgb(200 129 26 / var(--tw-text-opacity))}#checkout-modal .text-\\[\\#D62020\\]{--tw-text-opacity: 1;color:rgb(214 32 32 / var(--tw-text-opacity))}#checkout-modal .text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}#checkout-modal .text-error{color:hsl(var(--error))}#checkout-modal .text-error-dark{color:hsl(var(--error-dark))}#checkout-modal .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}#checkout-modal .text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}#checkout-modal .text-grey-100{color:hsl(var(--grey-100))}#checkout-modal .text-grey-400{color:hsl(var(--grey-400))}#checkout-modal .text-tone-100{color:hsl(var(--tone-100))}#checkout-modal .text-tone-40{color:hsl(var(--tone-40))}#checkout-modal .text-tone-50{color:hsl(var(--tone-50))}#checkout-modal .text-tone-60{color:hsla(var(--tone-60))}#checkout-modal .text-tone-70{color:hsla(var(--tone-70))}#checkout-modal .text-tone-80{color:hsla(var(--tone-80))}#checkout-modal .text-tone-90{color:hsla(var(--tone-90))}#checkout-modal .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#checkout-modal .opacity-0{opacity:0}#checkout-modal .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#checkout-modal .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#checkout-modal .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#checkout-modal .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#checkout-modal .duration-200{transition-duration:.2s}#checkout-modal .duration-500{transition-duration:.5s}#checkout-modal .duration-700{transition-duration:.7s}#checkout-modal *::-webkit-scrollbar{height:.2em;width:.4em;cursor:pointer;--tw-bg-opacity: 1;background-color:rgb(244 244 244 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-track{border-radius:100vh;--tw-bg-opacity: 1;background-color:rgb(153 146 146 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-thumb{cursor:pointer;border-radius:100vh;border-width:3px;--tw-border-opacity: 1;border-color:rgb(112 112 112 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(224 203 203 / var(--tw-bg-opacity))}#checkout-modal *::-webkit-scrollbar-thumb:hover{background:#53b6ed}@font-face{font-family:IBM Plex Sans;src:url("https://d104jydf2tp7hm.cloudfront.net/IBM Plex Sans/IBMPlexSans-Regular.ttf");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url("https://d104jydf2tp7hm.cloudfront.net/IBM Plex Sans/IBMPlexSans-SemiBold.ttf");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url("https://d104jydf2tp7hm.cloudfront.net/IBM Plex Sans/IBMPlexSans-Bold.ttf");font-weight:700;font-display:swap}.tab-button.active:after{animation:text-underline-animation .3s linear forwards}#toast-container{width:100%;margin:0 auto}.toast{display:flex;align-items:center;padding:15px;margin-bottom:10px;border-radius:5px;opacity:0;transform:translateY(-50px);transition:opacity .5s,transform .5s;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background-color:hsl(var(--success));color:#fff}.toast.error{background-color:hsl(var(--error));color:#fff}.toast .close-btn{margin-left:auto;cursor:pointer;color:#fff}.progress-container{width:100%;height:10px;background-color:#f3f3f3;border-radius:5px;overflow:hidden;position:relative}.progress-bar{height:100%;background-color:#4caf50;width:0;position:absolute;top:0;left:0;animation:progress 1s linear infinite}@keyframes progress{0%{width:0px}to{width:100%}}#checkout-modal{font-family:IBM Plex Sans,Inter,sans-serif!important;color:hsla(var(--tone-80))}#test-cards-link{cursor:pointer;transition:color .2s ease}a{color:inherit}@media (min-width: 768px){.md\\:container-center{display:flex;align-items:center;justify-content:center}}#checkout-modal .placeholder\\:text-sm::-moz-placeholder{font-size:.875rem;line-height:1.25rem}#checkout-modal .placeholder\\:text-sm::placeholder{font-size:.875rem;line-height:1.25rem}#checkout-modal .placeholder\\:text-tone-50::-moz-placeholder{color:hsl(var(--tone-50))}#checkout-modal .placeholder\\:text-tone-50::placeholder{color:hsl(var(--tone-50))}#checkout-modal .before\\:absolute:before{content:var(--tw-content);position:absolute}#checkout-modal .before\\:-top-0:before{content:var(--tw-content);top:-0px}#checkout-modal .before\\:left-0:before{content:var(--tw-content);left:0}#checkout-modal .before\\:h-4:before{content:var(--tw-content);height:1rem}#checkout-modal .before\\:w-4:before{content:var(--tw-content);width:1rem}#checkout-modal .before\\:-translate-y-1:before{content:var(--tw-content);--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:translate-x-\\[-45\\%\\]:before{content:var(--tw-content);--tw-translate-x: -45%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:translate-x-\\[0\\%\\]:before{content:var(--tw-content);--tw-translate-x: 0%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:rotate-45:before{content:var(--tw-content);--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .before\\:bg-white:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}#checkout-modal .hover\\:block:hover{display:block}#checkout-modal .hover\\:w-full:hover{width:100%}#checkout-modal .hover\\:rotate-0:hover{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#checkout-modal .hover\\:font-bold:hover{font-weight:700}#checkout-modal .hover\\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}#checkout-modal .hover\\:underline:hover{text-decoration-line:underline}#checkout-modal .hover\\:opacity-100:hover{opacity:1}#checkout-modal .hover\\:opacity-80:hover{opacity:.8}#checkout-modal :is(.group:hover .group-hover\\:block){display:block}#checkout-modal :is(.group:hover .group-hover\\:w-4\\/5){width:80%}#checkout-modal :is(.group:hover .group-hover\\:w-full){width:100%}#checkout-modal :is(.group:hover .group-hover\\:rotate-0){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){#checkout-modal .sm\\:my-8{margin-top:2rem;margin-bottom:2rem}#checkout-modal .sm\\:items-center{align-items:center}}@media (min-width: 768px){#checkout-modal .md\\:mb-5{margin-bottom:1.25rem}#checkout-modal .md\\:mt-6{margin-top:1.5rem}#checkout-modal .md\\:mt-8{margin-top:2rem}#checkout-modal .md\\:block{display:block}#checkout-modal .md\\:flex{display:flex}#checkout-modal .md\\:hidden{display:none}#checkout-modal .md\\:min-h-\\[70\\%\\]{min-height:70%}#checkout-modal .md\\:w-16{width:4rem}#checkout-modal .md\\:w-20{width:5rem}#checkout-modal .md\\:w-3\\/5{width:60%}#checkout-modal .md\\:w-4\\/5{width:80%}#checkout-modal .md\\:w-4\\/6{width:66.666667%}#checkout-modal .md\\:min-w-\\[18rem\\]{min-width:18rem}#checkout-modal .md\\:max-w-\\[600px\\]{max-width:600px}#checkout-modal .md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#checkout-modal .md\\:justify-between{justify-content:space-between}#checkout-modal .md\\:gap-6{gap:1.5rem}#checkout-modal .md\\:gap-9{gap:2.25rem}#checkout-modal .md\\:rounded-lg{border-radius:.5rem}#checkout-modal .md\\:px-5{padding-left:1.25rem;padding-right:1.25rem}#checkout-modal .md\\:px-7{padding-left:1.75rem;padding-right:1.75rem}#checkout-modal .md\\:py-3{padding-top:.75rem;padding-bottom:.75rem}#checkout-modal .md\\:py-4{padding-top:1rem;padding-bottom:1rem}#checkout-modal .md\\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 1024px){#checkout-modal .lg\\:block{display:block}#checkout-modal .lg\\:max-w-\\[20rem\\]{max-width:20rem}#checkout-modal .lg\\:px-7{padding-left:1.75rem;padding-right:1.75rem}#checkout-modal .lg\\:px-8{padding-left:2rem;padding-right:2rem}}
|
|
2
|
+
`,document.head.appendChild(Be);const Gn=`<div id="checkout-modal">
|
|
3
3
|
<div role="dialog" class="relative z-50" aria-labelledby="modal-title" aria-modal="true">
|
|
4
4
|
<div class="fixed inset-0 bg-black bg-opacity-30 transition-opacity" aria-hidden="true"></div>
|
|
5
5
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
|
-
</div>`,
|
|
16
|
+
</div>`,ca=`<div class="relative flex flex-1 flex-col gap-3 pb-5" id="main">
|
|
17
17
|
|
|
18
18
|
<div class="relative px-4 md:px-7 lg:px-8 py-4 flex flex-col gap-1 flex-1">
|
|
19
19
|
<!-- header -->
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
</div>
|
|
47
47
|
<!-- end of footer -->
|
|
48
48
|
</div>
|
|
49
|
-
</div>`,pe=(n,e)=>e||n;let
|
|
49
|
+
</div>`,pe=(n,e)=>e||n;let Z=class extends Error{constructor(e,t){super(e),this.status=t,this.name="FetchError"}},Ne=class extends Error{constructor(e){super(e),this.name="AuthorizationError"}};const Fe=(n,e,t)=>{if(!n)throw new Ne("Missing authorization token");const i=new Headers;return t||i.append("Content-Type","application/json"),i.append("Authorization",`Bearer ${n}`),e&&i.append("Spotflow-Payment-Code",e),i},Ge="https://api.spotflow.co/api/v1",da=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const l=await o.json();throw l.message?l:new Z("Network response was not ok",o.status)}return{data:await o.json(),headers:o.headers}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},Tt=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments/authorize`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const l=await o.json();throw l.message?l:new Z("Network response was not ok",o.status)}return{data:await o.json(),headers:o.headers}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},xi=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const l=await o.json();throw l.message?l:new Z("Network response was not ok",o.status)}return{data:await o.json(),headers:o.headers}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},ua=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const l=await o.json();throw l.message?new Z(l.message,o.status):new Z("Network response was not ok",o.status)}return{data:await o.json(),headers:o.headers}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`UnexpectedError: ${s}`),s}},on=async(n,e,t,i,s)=>{try{const o=Fe(n,i),a=await fetch(`${pe(Ge,s)}/payments/verify?reference=${e}`,{method:"GET",headers:o,signal:t});if(!a.ok){const c=await a.json();throw c.message?new Z(c.message,a.status):new Z("Network response was not ok",a.status)}return{data:await a.json(),headers:a.headers}}catch(o){throw o instanceof Z?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Ne?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}};async function ha(n,e,t,i,s){const o=Fe(n,t);try{const a=await fetch(`${pe(Ge,i)}/mobile-money/providers?currency=${s||e}`,{headers:o,method:"GET"});if(!a.ok){const l=await a.json();throw l.message?new Z(l.message,a.status):new Z("Network response was not okay",a.status)}return await a.json()}catch(a){throw a instanceof Z?console.error(`FetchError: ${a.message} (status: ${a.status})`):a instanceof Ne?console.error(`AuthorizationError: ${a.message}`):console.error(`Unexpected error: ${a}`),a}}const ma=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments/cancel`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const a=await o.json();throw a.message?new Z(a.message,o.status):new Z("Network response was not ok",o.status)}return{headers:o.headers}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},pa=async(n,e,t,i)=>{try{const s=Fe(n,t,!0),o=await fetch(`${pe(Ge,i)}/disputes/upload-documents`,{method:"POST",headers:s,body:e});if(!o.ok){const a=await o.json();throw a.message?new Z(a.message,o.status):new Z("Network response was not ok",o.status)}return o.json()}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},va=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/disputes/reference`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const a=await o.json();throw a.message?new Z(a.message,o.status):new Z("Network response was not ok",o.status)}return o.json()}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},lt=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments/retry`,{method:"POST",headers:s,body:JSON.stringify(e)});if(!o.ok){const l=await o.json();throw l.message?l:new Z("Network response was not ok",o.status)}return{data:await o.json(),headers:o.headers}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}};async function ba(n,e,t,i,s){try{const o=Fe(n,i),a=await fetch(`${pe(Ge,s)}/payments/tax-quotes?amount=${e||""}¤cy=${t||""}`,{headers:o,method:"GET"});if(!a.ok){const l=await a.json();throw l.message?new Z(l.message,a.status):new Z("Network response was not ok",a.status)}return a.json()}catch(o){throw o instanceof Z?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Ne?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}}const fa=async(n,e,t,i)=>{try{const s=Fe(n,t),o=await fetch(`${pe(Ge,i)}/payments/charge?reference=${e}`,{method:"POST",headers:s});if(!o.ok){const l=await o.json();throw l.message?new Z(l.message,o.status):new Z("Network response was not ok",o.status)}const a=await o.json();return{headers:o.headers,data:a}}catch(s){throw s instanceof Z?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Ne?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}},an=async n=>{try{const t=await fetch("https://translate.spotflow.co/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({q:n.text,source:(n==null?void 0:n.source)??"auto",target:n==null?void 0:n.target})});if(!t.ok){const s=await t.json();throw s.message?new Z(s.message,t.status):new Z("Network response was not ok",t.status)}return await t.json()}catch(e){throw e instanceof Z?console.error(`FetchError: ${e.message} (status: ${e.status})`):e instanceof Ne?console.error(`AuthorizationError: ${e.message}`):console.error(`Unexpected error: ${e}`),e}},Se=(n,e)=>{const t=new Intl.NumberFormat("ng-NG",{style:"decimal",maximumFractionDigits:e||0,minimumFractionDigits:e||0});return isNaN(parseFloat(t.format(n)))?"-":t.format(n)},se={card:{key:"card",label:"Pay with Card",icon:`<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
50
50
|
<path d="M1.83398 6.16992H15.1673" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
51
51
|
<path d="M4.5 11.5034H5.83333" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
52
52
|
<path d="M7.5 11.5034H10.1667" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
@@ -81,7 +81,25 @@
|
|
|
81
81
|
<path d="M13.834 12.0002V7.3335" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
82
82
|
<path d="M1.16602 14.6665H15.8327" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
83
83
|
<path d="M8.5 5.6665C9.05228 5.6665 9.5 5.21879 9.5 4.6665C9.5 4.11422 9.05228 3.6665 8.5 3.6665C7.94772 3.6665 7.5 4.11422 7.5 4.6665C7.5 5.21879 7.94772 5.6665 8.5 5.6665Z" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
84
|
-
</svg>`}
|
|
84
|
+
</svg>`},stable_coin:{key:"stable_coin",label:"Pay with Stable Coin",icon:`<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
85
|
+
<path d="M8.74731 1.43355L14.7473 3.83354C14.9806 3.92687 15.1673 4.20687 15.1673 4.45353V6.66687C15.1673 7.03354 14.8673 7.33354 14.5007 7.33354H2.50065C2.13398 7.33354 1.83398 7.03354 1.83398 6.66687V4.45353C1.83398 4.20687 2.02065 3.92687 2.25399 3.83354L8.25399 1.43355C8.38732 1.38022 8.61398 1.38022 8.74731 1.43355Z" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
86
|
+
<path d="M15.1673 14.6667H1.83398V12.6667C1.83398 12.3 2.13398 12 2.50065 12H14.5007C14.8673 12 15.1673 12.3 15.1673 12.6667V14.6667Z" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
87
|
+
<path d="M3.16602 12.0002V7.3335" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
88
|
+
<path d="M5.83398 12.0002V7.3335" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
89
|
+
<path d="M8.5 12.0002V7.3335" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
90
|
+
<path d="M11.166 12.0002V7.3335" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
91
|
+
<path d="M13.834 12.0002V7.3335" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
92
|
+
<path d="M1.16602 14.6665H15.8327" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
93
|
+
<path d="M8.5 5.6665C9.05228 5.6665 9.5 5.21879 9.5 4.6665C9.5 4.11422 9.05228 3.6665 8.5 3.6665C7.94772 3.6665 7.5 4.11422 7.5 4.6665C7.5 5.21879 7.94772 5.6665 8.5 5.6665Z" stroke="#0D0716" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
94
|
+
</svg>`},pay_with_opay:{key:"pay_with_opay",label:"Pay with Opay",icon:`<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
95
|
+
<rect width="16.9284" height="16.0009" fill="url(#pattern0_21202_14881)"/>
|
|
96
|
+
<defs>
|
|
97
|
+
<pattern id="pattern0_21202_14881" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
98
|
+
<use xlink:href="#image0_21202_14881" transform="scale(0.00228311 0.00241546)"/>
|
|
99
|
+
</pattern>
|
|
100
|
+
<image id="image0_21202_14881" width="438" height="414" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbYAAAGeCAYAAAD49iQrAAAgAElEQVR4nOydCXwbx3Xw3ywuXuAJigckUSApijosSqJE3SdlHZZsS7bj+0jc1I5bJ03bJF+/r23aJG2as2nuNHHjpvER+ahpWbZsS9RJURKpw9RF6CJISSBFEjzBAwsCu99vgV0S3MUC4AEQx/v7B1PYHSywszPz3pv35g0gCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCBITkFDcJMuykmMIEu4I7ZYQMtyO+X9TAKBuH7TGW/p7tQBUcp/TXnC7xzLTSSCDEEVSP21Lv9VjyQaALHF3ACB8h2CJ+//u94Rl+f446jytVajb9OmZbQxhetVOsCYo1W25abomALitdLAdc6flWgHABgBO9/Wl3+i+rOSMVwItLi43xq9BYhChLwUbFGzI1DHOkXDcA6jog5wUGAKAAQDo518DAGQQQNEOtrh26NO2gTXXMthf3DbQO6+rv7/AroCZV9vu5BJCMgEgfqrGcUIIy7oFIcvfijUzPtGSmZRyW+FkjQXT9BfUDHM2PyG3Sw1sz2zI7NcA0IkATCIAJAFAHP9Siy+OEgoJEijYkOhnagUb5QSIb+m2ZLTa+vObei0Lmro6ltylrffc7u4w2JSQQiso5aAKgFZQYFMCOCgK7AqAfokkCA/iHAyoHCyoWAJxQwBqhoE4B4DGAWzcEDuYolLfzkvWfZaXnHE2J057cXpqesP0VF2bVqnqAwCHTD0hyKSBgg2JegIfPxn+LyU54w3BEusCgF7OlAFQdAJoTdBpuD7QXNLY3c4JsJLGns5CANBRACpvP2Ns3yqeYBz/dcb7PXKMlGf46VSFUJKrqt5EpaZhVmrm+Tm6aWezNdoL00l6YwGkdCYB0MkAbDIAJHqz7MR4eaAe07eyiEcH36WRSAYFGxL1eBkHZRiTaFA4AbQt3Zb8S50tixt6u5bVt98ubaUHC61qKrlfDVS/ym11WZXE1dHkrhqNgs3bL1E6ARKHALR2ByTagY1zMLYUGm7Nycw9O1enr8nXpp+dnZl7XatUdfI6g3eE7wH/wswTFGyxAwo2JGbxpuV7HhMssg4A6AZQdgPoLkHnfONg89J6i3nplY6WhQAwg3chyQznkcsU3A83Tdmpi0+sn6vTn5mXkVOzAPTn9KC+kwZApwOwAVl0SMyDgg2JabwJNx7OItO1dFsWXuy6W3auuanskuXOwu54VU6vBjS9GoCeuNFDvqcg8Lyuj+8IayYi2AKaGpQpo3EwkEwDJNucTLqN9Og1CfWlOfmn70nPqZ6dmXtWq1SZAcAu93kEQcGGRB3iAc/fVKSN95NZANR3AaafhcalFzvvrK5pbVpB03QxAKWV+zgXNcgwDPFl+XF/A2mbkzUlOd5y4u8f61SkJ5MqdPjVCkBYGgBM8zJyTi3OnnXiHlV27WxIaUgH6E8DYNMlHwzib0LCGhRsSNTjQ7BxY3hq+6B1wdnmWytrW00rL3XcXdSRADld8aBuT6CGi3mEvUvgOhHDMBPuTNEk2AQCESa+BL+r3hnXdQjhf1iKjYE0GzBpNkfPTKX26tLcvFML0vVVpdl5ZwCg2ad/DokJULAhMcMAb5m1AyQ3wdC8046bq6uabqxttFqWAAC3yFnlrS78DfDcea7tcefD2SIIhuCSYzzWEcsLODnBLigXXpQM7k56k5Sa+pJcw4nl6TOrlkHu2UyAFh2AQ2zJ+VB0kCgBBRsSKyS02qyFZ8xNa6ruXN14tb9ruSUBcizxSmWfxncNBCLYhPPhPN0VSsEWCIKlJvwdi8XqRbiBygmcb47NHHAM6J2a+rKsmdVl2flHS7Nn1AJAi7CGDgVb9IOCDQkjJhaHJzx9LprRDgB3AFS3gZl5CppWHLt9Y0N9h3k1AORz8QnuktEWx4h4wrIs5/zszoxPvFSak398Q3LhkXmQcl4P0JE80gh84lVRGXeOL2xvoULyzIIECjYkACZFsHHRjDmmNvPyg83XNp1uu7X2lnKosC1BGd8bJ/4EDjTRiFgYcZlS0gbBkdU31Dw/PrP6vvwFBxfmzKpKUalNvA40NlCwhT0o2JCpZ9xzQ+6BogcoaAVIbARm7tGhGxv2mS5u6u63LnES4PIsUuJhRDwFN9VTcsjkIhYfXsQJ5269unZG0dENGXMqSyGjJgegLVv0KwJtDsPNV6YdyxxGgggKNmTqmZhgy71saV5x7M7N8sN3rq5vTVQW3k6mNE4KwMlfDwVbbCEIMsJbbl4Em4vMfobJ7mXvzlYmnHxwXuknKzPzjmrUGpMQVSluDl6nJVGwhSXenlMwQMGGBIDcEOQ+LjzdO0CpmgFmHgDT2gMNV7aYets535mem4bEWkbk25G8cOKiKpMVmgsr84oP7Uyef7AI1HUzAVyz14rAPi9FTqLJHUcmDRRsSBghNyANC7YU2k4v2t9Uv/ngravlV0j/gtZEpbY/Tn4dFIx1MEKiALl25Bv1EMv54uwzrc4bG6fPPrwlp+iTgmk5pxUAbT4/KIecAJM7jkwaKNiQsEMQRE4+wtEEkFoP9tI3u85tu2g2be5zcNlAQBIKMl7QpR+deC789rUIXAzfHhwqBm7lT8s9tnP6go/XQm7VbAAzl6tSKfnE+ED5FjxQsCFhiWtdEyHp3QPW5XuundtxsPl6+c00ZUGfGlRDitEDlT+LzN95FGyxi7e2IbQHFcNFVAI7vdfRNhcSTjxVuHRf6ayiw0qAxsmoMBRswcNXf59MULDFIh491zWAuP/BtTr+ODOqUtwWGsVbaI6lb3TW7jhrurplSAGz5bKCwGQIJnHUCMF2FI0wonsaY3thCQutusTkqkeKFn+4GQyHCwGavO42gBJrykHBhgQPufU+AlLBltY9MLh8z7WzOw4239h8M41yWWgOpe9pJBRsSCBMULC5moXaCWxej6N9LptQ/eTsJftK84oPqV2z5R6I2r03qxAJLijYkJAznEaJ/+KbAMn1YF/6Wte5nWcajJyFVkQIUY35eYrj9xHEB/4UIlm/HL/bAAG2NSNBW/XE7CV7N1OGw0UAd8RRlKM+JlxXcgaZbFCwIUFFsoWM5z5lAEDb6VV/unH+wQ8bLm2/lqGc06cG9ZDcyOBrsAEUbMjYGI9gc0+pU66D3Fm1EyC/c8i8Ijnn8NMFS/fmZ2Yfl4uiRMEWOlCwISGH6/VNALP/h76w7cjVy7t7GHoZACSJn6WcQESQyUBuYb44mlJubBG1SaeCgcaCLP2Bl/XrKu4BzalZAD0+dDQkiKBgQ0LN9NNtTZtfu1C9u0bTv6YrTplukw0LQZDgISfYvOHNehOjcEdRDs1rdxgfmLVg3+dmL34/Qa05LSmIBB0UbMikI04xZCOu3akzjkDP6jdundp1qbOlHABmuNufx4AhM5U4/JYKfC0SgowZmfY3FgQrjhBiTaaUp7YsWPbu06Tok3yAxhR8IiEDBRsy6YgEW2IPQ5fuv3z+wdebL2y/laKc3Z2gUHp9VjIDC+ZyREKCTPsbD1z75nYVSLeRuxuZ1EPPLlj53ryMnKPufW6RYIOCLaYIzVJkIWPIZYA5BxnTjt8ZT+2iabqUJZAgKYwgUQxvwXHd4fqG6UUfPqNb8e5ioE4me1v/hkwaKNhiipAJtrTuAev6n104+uhp691N9TplFqDFhcQowvRkltXZN3dQefo5w5K3186+Z78a4Ba2ieCAgg0ZqT/+r7+HJVeux71rdckvHBd2H/zs3C5aCfPHkloPpxyRaEAawTtKoWQVDNwuyNJ//IJ+xVuloK0s8HvPmPRtrKBgQ0bqj/87TsGWcbOvc9Mfao488VF814YelSKNHmO2WBRsSHQyWjDx0ZOD89odZz83p/StxwsXfwgADfK3joJtrKBgQ2SRCrDRHczp2lefhUtAFr3Td+GhN2+c2w0Ac30kX/ByFQSJfuSWCxBCWgxJaZ88X7D+T1sg5ZM0ANBISnlH2j8Rj3oNSV2gYItApB1HItgyWrot5f9x8egTZ4e61t9MV6b5u0vXdjT8c0LBhsQK0unJEZJphp7ZPXT2pZlL92yZW/qBRpx7UgZp/0QE5Op6skHBFhb4sZUC7Cm9vC/t544LDx/87NxuWunbSpPTVv38GgSJKRQMMeek6fb/vaH8T0sgrjLbhzBEfBOqepusvfmQqSfFardu+NPxT56uie8uB7V/K82bUEOQWMCXpeYFfUdHx1N7ru+ZrShcUpiTf89HAHBbWgwJF9BiCwvkbSR3B2Rlz3NcBCj8xGl64D+vnXqUpuklwh5pks473oWumMQYQQQal0/L2/ul3PVvlgF1Kl5kHQzvkIFWnVdwKjKmkBdsbuTP2+32Vb+6evLpT1qu77w8TTlDXO8o2BBkcpnWz1iXDMUf/pv5614tzNRX4LRX4KBgQzwYLdjsANAPkLoPejb9/sbRZ2/2WTZyvm5vgg9BkLER4ManDvUQe/beRctf/1vVvL05/K7diG9QsCEeSATb7LONN3b9qPHEY9finCU9ccJsiEwXRBAkYALd0Vvj4CInwfyEM/2D59dsfy2NKE/g9KNvULAhEnpdu1oPrfhe19mnzzQYHxhSwPDUI9dgGIYZ/jeCIKORn9AXGF88MGGhLyNBe/Dv52z+rzJI2TdDUsKLWyBGwajIGMdbR7Da+7e+d/zDF4wJA5tBzU09jsAJNew4CBI85JbHcJvxWq3WHXv27dEll27InZFTtA8AmiWlkJCBFtsUIFmWJjngAQvQSACOQ+fuf6n/9EWbzbaBJaOTIIw15ZW4PK5bQ2IZcX/w15989ReWZW/eq59d8eK0NW8sBTgnu4g0RgmV8u3t2SDhRa6x5eaL7+1772s0TZePIbMPgiAhhhBSYDQan99T9e7f0vahjVj/UwNabJOJL8tLutGn33I1AItfuVv9xCd3rz0EAP6TjSMIEi4M6tWJB1+at+U3D0LKR4no93GBPrYYh7bT6yrqDn7R2N+6A1Kp9FivDwSJMOKtVuu2iqMV8QuLNsQvyMl7Fx9g6ECLbTz4sbjEBFqcy8o/BAAfgX3rL69/+sL1fstWAEj0PauPIEgokeuNnhlHPMY8Z5yDqX5saflvXoC8NzIAIEHuCjGQPRktttgkxdJt2bLn3P4/t8Q710E8+tMQJFIQhJnnX0IIFz+yuvJYpaYgviDh0WXrX8EHGnzQYgsqUs3MWxg/n0kk9zfQ/OCeuqPPdrL0Mi6puLeyCIKEJ37yRLIqJ3Ol1DDn9X9JX/1ODsB1rdxdSCw36TgSqXipl6CAgi2oBNYg7QD5ZxtvPP71xsNPdSSo5varcSsnBIk2VE4GkuzQ9ki/9oOXynf9XkdU1V5vEQXbxL9HciQIRI1gkzQ4f/hukAMA0AEw9zdgeurd2qOPD6igQEbbQxAkYhk9DigYsOak6T76mWHrb4pAdSRZfFvidXV+xpFIAtexxQaLK2uP/kXl8covCOH8KNQQJOrRWiyW+yuOVHzFau/fgo978kGLbQrgLLUugNK/6a564czNGw8NKUAXc5WAIAidoNJUfn/+9l+thtQPY2EQQIstullSWXP0hfr6+kcAUKghSCzCsqyGpul7Kz6p+Iqlv3snNoLJAy22ICD1k7nnyAeA4nxqS77WdeqFMw3GR4YUkBElt4wgSIBIxwcYSlBpDn1//n2/WA0p+6JZ00WLLYLxfHgioV5aWXv0RaPRyFlqKNQQJMbgxgbx4M6yrIqm6U0Vn1R82TLQiZbbJIAW24QIbEtCT59a7Y3rjziUZHSKLHFa8WEw4wiCRAqT0FuH4pXqwz9YsOPnqyBlX6bkdOSDFlt04fKpcZYaIQTzPiII4kKk9KvsdvtGznLrQMttQqDFFhT8+dTQEkOQWEe8canHhM2QWq0+/KP5O37O+dzSuLVvUVJXaLFFB4vRp4YgiDd8KPyC5fayZaBzh+Qs4he02MZEYJYW7c79OP+l7qqXzty88RiuU0MQRI6RHbsl4wsXLXngzfkP/bQANJ9KMpQMI/lc2IIWW2RTeOH6lWeMRuNDuE4NQZBxwkVLllccqnjJDvYNnpfApBe+QYttEuGz9M/8EZiee7f26BcGVGCImptD/IKeU2QyIUCx3NipYNnB7NSMD17J3/bTWaA6mSj6Di/r4tzH+b/SM1OHt98ZDLAPTi6pxibjQ5XHK58CQKGGIMj4YVlhHRAkdHR0bN9/bP9z3GyQ+IKYX1YKCrZxwbhegiXq4NeqvQ7WbS93nn+6WaucM6AauS5OG8QGFHYoZIKMGis45xthiZMCsKkg+TdJHQ8831X9cAsA2Dy+ZuQzzKi1tYR/sR7WW6yA/XACeGpKHb0d91Ucq/giTdOLxVdEjQpBkECQGysIIdy0ZE59ff3TVXXVz4vOScrHOijYxoSgEY3WzY8Cs/H5uydePJ/sXNsbN3JipMExXrKUIEhwWudw+2O9JLNBIg7CMgCMkwwpKOhOUMz/+yHjC/8KTU9YgQGHxxNngXK95Cy3WAIF28RZXnGy4kWLxXIvAKg9r4ZTkAiCTDKcjFpWeazyS2aLeTdWrndQsHkimoxmRS9gKfeL5wJA8VdvVz33fnzv9o4EKl5yvWHQ+xILMIRxvQQEi0lsOfmz3z3Lc8pRoAqSuJVxoQcszlKFId5bgFx7YQnlegnYlBR1J5la9fTtY196E6xbxT40OcstlsDRdvzo6u5efsRoND4AAPJrJxEkQLz5Srxlg0cQAFDabLb1lWcr/5y206uxQkaDgs0T0WS08HZYg+IPWADgLWjd/g8ttY/V65R6vwMPqs4xAcVSrpeA8NjFj1/OfhcsM1/NBae3owHvLUCuvXiDCybpjVdoKqmeLX9hrv78eYAFxHPMcn3G+/fESg0jXvA1gFid1m37P9n/eQCYDz4WSCLIZIPtLLYZVn5YlvDjjtZkMt1fdfP0YwAwLdbrRwAFmweec9WjNgvlNah+ALgGzhVP3Tr6Z0cyYTVLuFUmfBkfglAyaY5EPVx7GI+Hg9PEJQdFCNf12eaQiIGLenRFPgbWPiT/vpZGsn5grX/kv5k7992VfCI2QcE2NgqrzlQ9Y7FYtgCAJpJ+OBJ8PIXSeC0rj2wTfkHrDYGRdjCnsrLyWYutcxtWCoBScgQZlWTNyb+1A6T+K5h2v8OaHuCyALjLufdTIqgexBSC+HJ6yBUFC6BwskTNAKicDKidABonAyongJphQOFSyCn+rxuG/zzFyr/nsk4MqgDsFPd9ShhSANgULAwpCNj5Tbqw+UU2QsTjSJZ/919x7lFOb3Jb6aOfOP+OVGWwq262VH/hVcNWywxQnUmI4TpFwRYg7d3tmysvVj4Gccrpnp9wa0ss+tliG260GQQAi16vb1Y5mbsZCdrWzMSkNpUTzBmJiaZU0F4EoJyeG0aKBy6WH9qIe2jjZGB8D/QVtg72zrBTkDU4xOiaO9uzaSVMN7WYZ/A+lTjiTkuBjS/KCWDqWcOtp63qrLr9ROlGM8uyLbE6JqFg82C4CQj/YN071x4isOrbt44926JVLhr9AY/db1Go+UU2+714TJ4kf6RYAx4rCpaBuCGAFBtAMg2smnHYk2noKJqWe1uv0t7I0CYZp6forqQS9dWCaTlmCqCPsK7UofwPmIy70DWAsEKSm/xO4v+dC0oHgPZGu3mGlbEX3+5qn99q65/X1NNV2NTdNn1ArUzpV4OqV62EjoQR60/AmyImEbReyvhEqGj0J48LcTuV9BMvRzzhni/Lsmk/cpp23Yb8+q+TvP+K89h9e2QiStoTfT3rcNwlwB8o2PwzvfJi5RO9vb0bIIlEyw7tUY+rowbQFfkcfOKC3DEuz6xZr9dfLkjSnZuboj+fAfFX8iGlJRHAlgzAcHmuuYFjiqZ8OAHapc/Ud9EAF3KyDK5E3P0A1ABAfBNY9U1gmd/Q2734Qpe5tK3DsgAAsoXsOHKDmCdCGe4vBqpEBvwMUn7VyaqnvzA/0Tw9WfdxID882hRz3I/NB3cA4MPBm1/616vH/w4A8uRLIuNB0BsVE7SsxFDgHoh9XU/wdXE+MN2gg00bBNs0UDbMT889M1eXc9qQlHF2XmbuDQDoAber1Su+NN1gI9ak3VG97glN129i+dMENP20bfqV7pbF9e2ty+s7zEtvWLvmdsUzGV1xSoUlgbsPiuE+xH2OYZ1kLPc0Uct4sq+DuLAtUqdXfH3e/T9YC+x59yHfFp94lA7GYwhVX0GLzQcddOd9VVVVT7E6Ng+nGiOHABUpbl/YWzqdrqYsZ+aJ+XG5NfNAdyMNoJezxgJNJSO0i3DxsXJSTPQzuMqwxWnibhiyDDcysgxvLwTQtALMOAc3Sy91tK6qbTWtpGnHHBZAy1mvhBBG7LeTs9rcAlR6HJly4rjo7RpTjWmtYVkzALTG0iNBi80L3BxUL0Dprsa9/6els+tBJ+GTG6PvYJKRzvWDl6hD33qmbygn67LguGjFXKud1g1AQ1nWrJNl2fnH52XknM5ISGwkrCvwI6DeEG5BQmP6Pd6dJZyvLsfU1rK02mJaW9PStKrRaZ1riVdq7yZRrpK+LChvAg8tr7Di6ncXbP7uNuX0/9GFwa8KVd9BweaBMEjYOL/alfN/9dX+c3/mUCjThsO6UbBNMsEXbAoGaMJCgyFHX70pN//oMjCcnA7ULR2APYV3OBHvA75PwjkKVva3ydyngzdfWwAUFoDMa9C79GD7pfUn25vW0jQ9jyWukBUvF/QOCrawgilvJQf+ZeuT39GD6sRU/zCv7TIY3yM5EgTCVbB581FwJvwvwfL0r07v+0afBma7T2C012QS8MA3znqf1s8wWX3QXkjiarbMvufg8uxZxzLitdeIe6Pzkcvzf/3+DHE5yQHfhCqqTFagSQqK3ktCZ1z/V9sJ5J1tMq6saru16VTbrdV3kiGvK06psqlE5XkFheFVkGFFZIL9BgVkYHhXD0dQOqFvwXTDq3/IWv+DRIA7Co9ISd/4u/LYQR/bFEHb6SUHzx98lMsyEpMVENlwU4pXi4uLj6zPKK4shfSaaQBtWiGoQjKCRxeTPGhwRtz14rzi68l5xRVFYF94kDZuOnL1crmNoRcCQArvh5N8EJkaXIE/jCsGSPz9SSaTaWf94LQLS2fNfSUWHo+kBoJB2DZ+QSMEt6Z7FWDa6821X//vtrovAShdK4a8+RCQ0DC8txkrsQSEhcysggEyq5vpLrArah+YteDj9bMXHkpWqq5yrtJhC8aPySR7WvZEzMLZaobD5msbKi6f2X6VDKxsSVLquuKIO6E8kbetXM+Cj9aUL4VMBKG/eO4w4fkIshnV4b9f8vB3HoS4I5KzIcKL0A0KaLF5VLbZ1lpeV1e3E3IgSRBoKNSmBle9E2E9mgTCz5Pc1Wq1J8pLl360GfKO5AE0eibwxEjWSWeIy7lbrC+69py+6IMasKzee+v89q6O5g38chjZGS7XvnKSo0gIITRNr6isq3z8wZIdN/jVTFFLjFpso+eOuSjIu+AsffBaxT9291vvZ4n7BKbJmlrE9a9gCMQ5wFnQNWRers0+fr9h/v4FOYZjSoDb3n4oyz9nEqRsilNt0Pn9/uECk+srET2X7HpLy5r3jOd2Hrfd3XA7STGjN270FzHDu4OJoidxNmQquP3NorXfeTCh4He6KRjf0GILLekX6i/stg5Y1wM10ik9My8AbhMyJfCZQYSR+bZerz+0q2zRvuWgq54ZY2tzwgXR4HRXr8t5Z9eaHcfSwbL6vdvnd/R2mDcBwExCiILvM15lsCAgsV+FlBlVVVWPbdsy8wohUx8lGSww3B8AXgPr7h+efPfbXfGwYNQJjIYMMSOWhSDQOB9aQZejcy6bcPzP5i+vWJBjOKwEymWhjT2XIf83SK0+2l1yAdZ3zqWOlvWvXzz5YDXbub4tUZnVrxI0RHeHmvxYO2Qs9ap0Qv+C6YZXXs9a/2/xAK2htG7QYgsd86suVnFRkHNj5YYjAT7rRbdGo6kuL1///mYwVBqAaZT76ThtHHwCrN8WfUbOnx7b8NCJeDBt2ld/7v4Bun8Ny7K4u/MU42EdJ5pMpvvMVOGpwkz9n6LyXiVHgkC4WmwtAEnvdF358g+bar7qua06To+EmtG6ZtogYzN0wdnn80veXT974UcpCleUIzJeJt2UDMw2YN3LZ4r23qrf/rbxzEOXM5XLbEqId4hCTHC92kQZuw3MzYbMg6R3/37xw/9vHVA3Rp8Nnk2NFlsIoGFoWW1t7S6YBtM8NX5vQg0tgpDAVfyt3Nzc/c+tvPetZaA4PJFtyvGZTT0ateba0sJF1+IL59X97M7RR2+2mu/zllDcHQWLzypUEEIoa691w4XmCzvW5S76adTdn+RIEPAmKCYTiUIqOTAaPoVQ9he6q/7vmZs3XhxSwETGz9hF4oP0o+mJy/Pr0VQMS5Jp6C7tJcdfKN34bmnmzAMKgGbJ55GIxg4w42yTcdsvr556zJjIrGhLpBJltg0a3WxQQZk0XPXIuPsf615OU/W/i5/8ZjFoDmtD9f0hIGYtNnNby8b6m/XbQa1CoRZiuMGMYRjiXhdPuAwXn5WUlLz9TGLJB7OAwmnH6OV2cV7x757NK6r/XfPRR9vamnayLDvL392iUJs8xOtCCSGlB6sOfq54zY7LANAW6fcnEBWCTdLsJQdGcxFg/g+aTz/SHa8qkJzEqK3AkUSL+qkxvrxbASeQ3c9YFtu1B/52wfo3ChKn7ZNb3Ysae3Sg5l9bgKrakrvxZo2i6fx/nj/yZHU6u5JWkUQ73z78tCJknAyPa6O7Uvwf1a3btNB55GVIfyta+lostqEEY/eNHRaLZR32oeAQQNYWbuPO88XFxT96bNPnvqWfNm2fpITHFDYKtUv7jXIAACAASURBVKikxZCV9+oz2575tl6v/wPLsreEm+Qs+livnBCTV1lT+RCXLk2ur/noy2GJ97uYZIJWKX58aWL4DCOrttS/8QPa5lzte2YfmUy4Hau54UrNwMDKTnL8S4s3vLp8Wt4erOTYRdjxewjIzOprl3d+v+nEU3eSlWW9GgqXIQURmRmp1q/nlX3zsbR5vw3mugw5wTnZxJrFknKh/sJOm822GNASmArMubm5rz229bF/M6BQQ/gdv7lI2JKi+b96/N7Hv6/Vaj8CgH6sm5CTVVtb+6AdHEXCF0fykqfIFmwkUGuNcb0Ogq3suwNXtgNRJfARQZKSSAC4Ko8M1ysjaIHDx0eTaGecM7qdZ7+vLPr3j/RbfrAV4o5OY4dVdiRGEbovF72VDgDPgnbvwdkP/PhZOvOtwg6mjfGwLibCZF0nGuDGPEoY+EX99WS6c+W/Dhnvs/O+AiaCFf9YMvnTam7U7KRpei4koGst2HjsDUVrNJpjO8rKX1kD2W9F910j40EIWOD+06g0x3Yt39HhsF66de3mmc/xGYFwamWS8DNLlVZTU7PbujjvTEpCUlUk78cQlSO82BLrBwrqwL7iv/satnQkUBjeP1FcG2uxfPOhRjTA4ePuZ5A1wPY/OJD+wb68rf/+Nch+K4fbnlwYpchYLG4kmnENoKw7XJbTtJcCXP6edsGv/5C56scb20kVv/R0uF0N42FxeB73aIYuKIwScyGxXEUVRSspaE+kSn/YWrerCUiqXJRyJBCVz9uLVpJZc7ZmJ+6KPbl4qWdPOvV6/bu7Vj3w77pU3ccszjkifhC1p9ZifdHvd9+7+0cajeZTPvZL0ubEO3AgEyaxvr5+mxUGlwvKQiS6bGJCkXkPrGt/YW/Y4m/qVazpIb4Rh/QLGuH8NofpbxSGV9+ftfU/ygFOxrkqXjrwoIsNcSGy3IV2oQeAhyB5b/Xch37y+Y6kfQlD0KfknD9CSyPs8J57nsi4emOeQC3Xi1mqom+21tzfR8g0R4QqDbEg2AzHLxzfzf2VnEEmjKjRc6NMbXl5+Q/L71n/E26tGtYwMlE0oDm4u3z3T/V6/XsA0IMVGlxYllWZTKZ7ze3mNZF6D1Eq2NwaXQ8A2e9o3bDf2b6hK474nTJGTc8PLHHtRi22bFnWCQqWcZaZ6ROvZK/6j68pDL++B8DszyJDFxviDeLac3vEEksGgMWgqPog995ffJOd8XayjepQOdFrFiycSgI9cZD/47t1O68CZEXiPUR765hWW1u7DQByJWeQceEtowghxKHRaI7u3rH7p8XZRW+AaF4el1Ugk0RN+dLyXxcXF3PRtRZvbRGZNJTNzc0bzfbWVZIzEUBkCzYvJoG7obtnkz+GnuX/C22rgLAUOs8mAeJ0vygiZAbnMoo4ylsVRypmbf/Z02zmu0JGW3f4Nm+VoWMfGQPuZP/SoSkBAGYAnHstdcVvv+UwvJNKOy1xTiKZQUB8E2h9XclUzvhB+4X7aICMSKteaeuJcDwG0fS6hjq01oIIb6kd3rV11891Cenv4watyGQQQDv6rHz5+t/OmTPnHc5yA5wVCBYKs9m8wTpoLYu0Hx6VmUe4fDyXYHD5a70NmzrjKZyM5yGcj2yMTsTR1tZIXJXbUiNHKgxbf/EgpOzVeS2PIONsqz7aEbcQNRvg/B/S1v72H5j8t1Nt0K4KqF1LVnLFJHKxBJTbgy4UYIcoAKvGMetHd89vbwJIlXwgjInWQT+l5kwNt1Pv8LY0vjoKMoK4nsSaMP/eZant3rqbs9T2YvUhU8T58rJ1vy0uLn4bANrxIUwMrm9z2YL4Pi4MBEqj0Vhuhf6l4GU8CFeiUrAdB9viX9I3yxkAJUukmQliFW7DatbH5Dqnyzq5epJT6cBVoY7NbeTo+/lbfvkAJO3NYJ2SMggSTISJmkQAmA7w2atpK373T07Du2k2R4fKszlKDDTMQeILt2uTAKHcjjhXbbFKuDhNWfjdzrotToC4SDEQovEpJxnvGrcI1hoKtMmDEOLUaDRVD2558BcZ8RnvgxcLD0GmgM/Ky9b/rri4+H9Zlh1e5+YKYML2ORmoGxoaNtF2ejZEyJgaVYKN5nYvBHr+rzrry9vjiRr1s7ExkvWbW0fkEa5PXKuKmMXN9KkfZ5b++gFIrdC5IlIp9wtBpghukE1wZyk590rqmlf+sj9zr8oJfdz+f8IMRaDCLdaiKyUGrQhBgA1RCqZF4Sz+ZdeVjXe9KLNegtOnnGgblRSmJtMmmqbno6Y2fiQN193CuYwiv5ozrQgz9CNTyqiEx6Pbas196+/7T51O95GQWxJw1mbMeNm53jXze+HCBS7KPC8S7iFKBJtb97gCkPuju3WbnYQkOlGwBYyguQ0nPRW52OZZHJf/KaPkt19WF7xRiNn5kSlGTmnVuva4oU5U5G397dYWcggY1jHaAvNto/hwLUclcjNakvp1h1PDmRRn2X9B01pJ+TAcBrzdV8RidrautFqti6LpnkKJTOb09uLi4jeXzVj8+yi/fSRK0ICqcteOXf8ZFxdXjXm2J4Yow396XV3dFj7LWVgTFYKNi99xAJX2685L995MU6ZRriNew9QRL8hpbqkDTtt2e/L+701b9q53bUFOA5Y7jiBBhHf2cLtxb4OUvd/LWvaHe9oc14R1WUJLF89QIPJ4bgvUr6bIKbZz9Smmc0G/7CfCA2/jWURi7bcuNplM6+SsYol5jfiDi4A8sqts1x80as1VP2URJOwozij8qKSk5F2WZb2uccMxYVzMrKur2whhrhhEnGDzVpntAMrf993c1KdWGhxecvhjLjnvyNlVcUMAOVaofbtw6++2AHXIS5XyjLb1uL2x3PtjydmACBI65rLs3X/NXrbnMcj8KGPQOSCESXItU+FDqInHC7l+Em0EeJ/KV62m8jPAFAqKAUZFTgIyWpb+ypUrnBahkpxBxsOdNWvWvKZL1v0vyCgTCBKWeDRVfqy4sH3J9le1Wu1Rz3Eb2/TYIWRY3C8xdhjXhfNvjVi12rNh7oHmlTXx9gWSQkJZ3GfNKyN2lVtX45qt0gl9X3Fkf/BtUriXy+ygkFcmJBA+2xyCTAniTQF4U2IDUEffmLHxfzIHh65onPIjgWCpOYn7JRAr8w/+7pN1b7sArVpI+Z++m1tsAFlOL1GR4WDB+bqPsMZjsE2uv15fzkf7IhPDodVqD5WvLH8dAG4LV0LtFol0dKm6g2VlZe8CQBs+zInT1ta2ytJtWRauvy+iFRGba/R13rOv//banjjvQSOAA3MAuHW10hb72d8VbHx1LqhOJHp8aNxOdlb0QpAQIszUcLMOGpbt+JFy4Tsv9en2ExYGhUk112alFAsMYYbLR6uFxoheYgKNReCsWVpFcn/deaW82Yv7Z8SCmzrvZKQ/v0TjDSO3V1A++BBgGP0UEOaysrLXdYr0D8FHXSJIJMKPAZe3b9j+R41GM7y+DfcQHDcKk8nELdaeGY4/LqIFWwPA9Nd7rq8EcLi0Bj6noQe4nkqMezt956h6SRsE2xa77tDf6RZ9nA8wBJOlDBDADCXIlCFudomuzCSKyh/lrXlzXrujUThOsZTrFe1QopcYf7EII2OC+0oXkpxz/sQ0LZcUHJ6pmbpcshH9NPvAtthisXhfO4x4xVvGc41Gc/6+svu4Pa2ue/sMgkQThsQZ+w0Gw0f8nsRIgIgtW0JIYkNDw3p+79ewIqIEm6hiVa/0Xlx/LV05E0DpOiCdG+ePYFikC7HGxWVAjxuCjn/TLtizE6h9kg8gSBSyAKD53/PWvFVoU5xOGMInPF561Cz5sM+0qgWG8ridVYa3wguDmZqIEmwiSyOroaFhZThqC+GKp2LA/5vW6XQHSmbf8wHm1ENiCY1ac2zNijV7uDWb+OAnRIGpySSdjpxiInIqsh+A1Di677kGgwU2SUzOCMMetihNPTKR2+KUhJJWx9mfzFzzhg6gQS0pgSDRiWBIfA0MH3/BpvsUeL+yBJzp8YNr5if+7cHb6+4AaBRhlIIkUn1sSUajkdMSEiRnkEDpLCkpeU+nSP0YawyJUW6Vry3nsutcwQYwfkwm00oanGG1T1tECrabADM/6GtaKvx+uQg+ToNQRPEEm6BQjtVySxhimKIBZc3/0S38uEBOW0WQaENkUXB7ryyF+OpvTFv04fRexiqJocYks77hB6AbacqCD5lby4Ew4HqFAREp2CzQXWK1WucJ73EdyphpWrtq7V6NWnMpwn43gkwKHmNG18LchR9otdoz6GcOHJExEdfQ0LAunOIdIlGwkf19zSubUpS5/gTayBS5RBeLKsSuAD/14nhqKOvwX0Nepd858XBM240g48UjSs9zYF4O1IVvpi3amzQEd1UObPCB4BpjeIu2Nw7gw77bK80wlGcPE5ESkYLNbDZv4rQDuSnIWIeivD9WXuCZli1bxmUXuSEpgCCxycDcWbM/1uv1xwgZPZeGY0zAFJhumbgsUGExg+Z9BAxv2BQFdUXh2fz8Ri9JV7hFE2J7VGhYFJ9vXyDdxlof1egPblNNO5kMwAxXm5xlhhlDkKjC+8wNN3+WDmD8eubCijkdjluuMkLnYEd2kEZ8Erff0bKmFUAlrqupEHQRKdjy8/O59ScnJWeQ0RXlSp813Kj6WJY9unbuWi7DeQvWFIKMRq/KOqrX6yu56XrhhNB/0I/vH5PJtAIAssUFp0IpUEqORAB/SRmOZVG3Mt5svzpgUyhL7QpXhmnC8rMICoZytULG/Z4IwZOiO2NHtDclf06YYBfkvXA+LD7v6z1vczEO95ociuU6IiEsV8CpccJgMg2HvzFvzTtlEFcpWGfD7U2m3bG+TyNIVDEPoOX7hjXv19a9u7pPzRbbKXZ4UHb3J+wJ4GMUupJICo9C++KnIfO25EMhJiIFGwC0l5etf5+BRa3G/jsP2QiTT7jtXQnjGuAVjKvKWQ/B5m1SjRMErPu4rGAR3ofD57295/9HDQLAXQCmyZ1JgaLdx13lGa1CbV+kzr9QDGr0qyGID7QJ2uo5c+YcOGu6WkAIGU7/gELNPyzLJjSYG1aAPnPKMxmF5GkF2Yx3CR3UqEY8ZcO1LVMnaIkhyAji/vAZDG795/2v/+RcjnIuwMhSNp9ufMSVezY3PfPAsVnbH1C4tsuUerq8jUfBQPrNkYfLKuGjmWL5JdEeUMtEkBECVbC1EF9bXFx8yNPXhgRGe3v7PHqInjHV1RX9mxDFIN7mTT3BYEckFpFT9MT9YRYwnS+nF32cMAS3lM6Jp4yMlQQmTgrApoJph+m20l6gpjTgBgUbgiCICF2K7jS3rs3bTAjiExW/6wolp0iEAhRsUYH39TkIgnhBbt0mjwIoiAOq/a+zFn5S0OXoEI6P1/KKtk0C/NXD8f62pU0A8ZITIQQFG4IgCI/n9JlekVWt1WrPYd2MDavVOscKg9On8jeEWLChZREcojuzCoJMKj6czNz0mSDc5gGYv5ZdUkkBGeQsFG6dLBsm2eunEn8W6G0tST1jb7tHciKE4GiIIAjigYdvyGnIMxxRq9XXsH4ChxCisFgspfLqQ/AJsWATWxZowSEIMsXI+Ny4HJI5oLnySJz+WJqNYaTjV2zhz7cmjOa9GgoO0S1LnFOYAAQtNgRBEHn6SvJLuPyR7bIlEBee07gWi2UubafTpqpmQirYREl5vVhwCIIgIcaHz43jXkip3ehI+Ux4H6uJD+R8a2R4azYWFJxwIwADKsg667AU9EtKh4aQShWuQWA2DARBIozW4uLiowBg97RKEJ+om5ubF7He5nhDwJSZS6MbB/raEAQJM3jfWzqA85mUwqPJtKNR6Ridf3XUOCZn0kQdo8druduuHeou7YKpsWRCItikU5CYxxBBkDDHY8xSq9WXDAZDNXgIM5yB8o3FYinhqs5noSAREsHmvwGgrw1BkBAjEw05DLc7FD9sKYH0PhKfdySr32ETTsfulKR7vBZHSYrHeJOjP/8WOFMkHw8BUxWO6cddi0wC/rotgiBjwKA1nAI40uBeu42bj4rxIuhTLKxlFpCsNknhIBNawWaHaaeqehefPnFuOZexhqVYBSfgKFbhah0McbpqhmLd1hu/UWikvmc93pMQ3A9h+D5Gsa4NRk1lqxbXrFiTeh5UfKgy9kEEGUbIIkLEs0UyGxaWgKLpgcSZJ38FzS7BRnEFWA//kq9FXlHEyA7awo17v++2REpxsq99wYParBrJySATMsHW29s777Fdf/Vk/aXW+yhGU8h9N8MPxVEq2EL93lOwcSeGmJ/RN+Yu0O9/572fvJGYnHxF8lAQBBkLtvz8/Cpoan6Wy2KPNTcaznplGGaUFdvb21sCWknRoBMawTYE6j9/+ocPXz0Pz1CQNVM4LPaq4fuJvmc8rxRPOWHJ1fOM7vlnfmjb8+53boAK7JJngyAxisRSE5CZ2UgEFso1WTVKB9vOUiTXKfPxEUb1x6hh+G5EFqp4atampOAze+dC/iMhDXsPSY3XX2lPPX369L0AMFNyEgk2M0+fPr3FfIeeEicugkQLBAhoE7SNmZmZlz1vyYtvCeGxWCyzYQq2sAmJYOvpsqeBM2me5AQyyYiiS4UFJs6kebebLFOW3gZBogGFO3Z98D5lVm2KbeSG5ANIqOF5lFhapSsIes6iHVSymcaBzuxQTxWFykam+JyiyNSgwfUUCDIpsAa9gQuGoLE6vUNRI0MNIURF0/RsrwWD+RskR4KHnFqDBAlCjZoHx/pHkElgNeg+m9XjaA50CjLWVumK6oWc6m+dG+qckaGsb5yIDgHCtIiQ005+mgRBkHHSkpube9Gzb2E/8w5XLzRNF4VasQ6NYCMMGytrPKYaQVsa9ZdfRoEgyMTJBhhan5Bz1vNCsRBA4m8/Njmu93XO6o1KwYaEDLkOJnccQZAxw+bm5p5xLWRCfMKNO729vTP52JuQERrBxmXe8Jb+GZl0vE6JsAri9TiCIGMmEQDWJmZdVDrYDkUMhTvKZfH3h9luzekK8YJ2DB6JDbDuEWRyuZuZmdmAdRoQWisMJoXyC3EqEkEQJCAYz73IhlZSqfWJ9ljah807nr43by6PrjhK2QLWLMmJIIKCDUEQZBzodLrLWG+jkXN5WPuteZKDQQQFW1SAO5AjSNDhko2zI6vSSjRplzIHHM5xhwtGCXIGqyDk7AoAMz1okBQIIijYEARBxoGeyroKAH1Yd94RTUvO8looSKBgiwpwB3IECTrC9sj8Fr7pAO15qsS7sVvxgc0UcVn+z3e34FQkgiBIBGBPTk5uwgflxlvgiAcZkiNBBAUbgiDIWOAtt2QApihBJwn5l9ox0iPRweiZIsGn5hk7yrkeHRRAB7FnhvKWUbAhCIKMAcEy4WImNBrNNaw7/7S3t6NgQxAECXe43TOXJucYxVNwUo+39Eg0Q3m8XNtBUgD9akgJZVotFGwIgiBjQLRW6ybW3WhkfG1q/hUSULAhCIKMgzgAWJyadZcQ4sT6G4ET/J7Cn/e3kfqBzgRJ4SCBgg1BEGT8DPAvhEfYC1JsudlstrhQ1REKNgRBkPHjyGQ1naoYstnkYjyF48PBNbzVJvjcnEqCPjYEQZBIQKfTdeCDkvWteZ4PmbxBwYYgCDIB4hwQU/uyycV4KgjxelzAqSAaycEg4et3IAiCID7grRS02ALAYrGEbE82FGwIgiDjhPMjLUrLatdgXKRfzAo6PlTfhYINQRBknKDFFjiEEFWovgsFG4IgyDiR21gzFpGLlhSgnH6iSyYRFGwIgiATA6VbAIRSCVBKjiAIgiD+EewPwhC3rRLbdkI43T1abAiCIBOD4JRkeIGCDUEQZDzw+7I5CRAuiITbe4yEzIuE+AIFG4IgyMRAcRYAhIRO7KOPDUEQZAIoGIrlbAQWZyN9wrKhqyG02BAEQSYA6y9JIhJyULAhCIIEAOsx5+gpyzByJPxAwYYgCDJGPGUZIUSL9RdeoI8NQRAkAOTMMhPdnT4Usp3GIheVE+yh+vFosSEIgkyAvr6+DKw//yQnJ/eH6rtQsCEIgowBcayIgyi1vnIkIm5mKJP6QlUVKNgQBEHGAOdfEwm3ZIwfCQhHqL4IfWwIgiBjxEOQkfpBSzqtkI/4F6y5WLcinMRn8v9JJdbrGkEQZCIoaZpGH1tgDIXqi9BiQxAEGQdciF8P60x0EnDtDC1nJcgdjzUMCu1gqG4Z6xxBEGScWCyWHC6rFtafX9jkxCQUbAiCIOEKFzxCA8Atjb1AQQgOpP6xaUI4FYnPA0EQZIwIwSMWi2UO1l1AdIZyFwT0sSEIgowDGoDcUdhnYw5k32gcAAvS9W0+C00yaLEhCIKMD8pisRSAl0XbyGhYlm2XHAwiKNgQBEHGQQuA+npf5ywQJUVGRlAwACqGgXRK1RHKakHBhiAIMg5ocGbRNJ2DQm003qzXzMxMs+RgEEHBhiAIEiCeg/ZN6Ci6m0TFexvIYxlPQe+kXFn9IX0QTKGsEhRsCIIgAeI5aFu6LPcIYyhabd4tNQGdTtcgORhEULAhCIKMHVLr6Jw/qHIPob4G9VhBtPnq8L+TaWB1LNUYympAwYYgCDJ2VBaLpRjrLSCGdJQupOH+uI4tysEpEgSZXLgckb3AZJ23deUTVexmHSG8kcryQwxntQrjjWDBcu/TB5meLKBCtskooMUW/eAUCYJMPu3t7QsIIelYtSN4U6IZhuH8ay2h3IsNQmmx4QCLIEg00AtAKp13l3IBf75uR2zRRBuB3JfLYqNUplQI3V5sEEqLzZs0R0IGahUIMnmo7ty5sxRwXAsInU5XH+oBCKcio5hhK5k4Q6otIUg0cwsg93RvKxfq73Mmykncr1hnDht/KTHEynWoBBsLITZFYxFBexT/dfUxQpyxXj8IMhmYmbZFAJCLlRkQLGexhfpLQ+VjY/hgIiQYsEIkEvd/AuywcjSsS3SxLIv1jyATh/qgr2mFWUtphN4lZx3IHY8xBucT7e34EN9zSOp+5kw9txfPGckJJBRwm/t9Nn++vgtrG0EmTLLZbC7DagyYJm2itjfUXxoSwZZrgO7Pv7RuP1D914GMIeqTs0SiNaRoMuHCr/gXC4xr3t81908YAGqw7osvrd2rzQBr9NwwgoQebsfsBudg8UW6e55N5R48Y9kqY/z4l+IcDCxNzqlTAthDPYqHZCqSZcHxz//81feVtmL17//r9QcAoIwQovbleEXGh4dfrQ8ATn/hC1/4wz/80/aP/bRBBEH8Q8xm83IAyADRgmTEO1qt9txURGWH5Kl4CDCqt7c37vLFhiQuZHbYemOVfNQDP/ayvB40/F4472C9n8f3ovdcPdErVy+ysixLY+dDkIlzEyDl5/Wf/vZ/6eZHsTr9kzHAwBfnrtj+l2nzPhYKh2osCukCbUIIk5ycPLBy5aIB10HhHgW5h+8n9z3fkFCzRBD/uGbvfXQTGobmNDY2lkKOetRxz/RRyCgcurTQZvUXCJlgG/XQhyemeQuDiGaqxe0D30/oPXGlQGAxTgtBfOBHLpEPmVsrbqQrpwsHBIURBZobT1+HggWY3st0LoRpbRLFPQTgSIcgCOKf5IaGhtUAoBFKokDzjVarvQ4AIU1+LDDF2f1RroYGrGcEGQue0/dcNGQ7OOd/2Ne0FDRKnNrnEefC9BxlOC//ktScz3K55MdTUFU44sUAw+H/CIIEhEhwKYzXjWsBwDUNiUItILiMI2enKk9tiC02f2v1kWCAHRFB5JFzAQnHbwJM+2PPtfVEoXRFjeDSWje+6sFJga1MmVKXKDkTGlDCIAiC+MAC3Us7OjoWy5dABDyU6EZ9ht40VRUTYosN5SiCIOGF3CobnsRfdRrLr2Yop8lZKDgPNQLn8kgYYmBxqv5cimvruqkBnwWCIIgMtJ2eZzKZ1uFYOTZ0Ol0NNyM5Vd8/xVGRCIIg4YHYIOsAUOyz39nQoqDneB4XLDQFb+Ip+PescAUS24Famf1Ar4vPOic5EUJQC0EQBBHBRxHra2pqygEgAaOKx8QdfZz++lT+ALTYEASJKfxlsOMOECDwDlhWHUugS8V1I1gDEp+bjOyLNR/cIk3qudlAOiUnQghabAiCIFIyay7XbBMy+eOSmYBh9Xr9KX4fyCkDLbZYQEaTlDgVECQGkE29yveTfgJwkekuOzjUtg7iJMXlkfGtxZj1YNuiyj6TIjkcWqJNsBEv7TYmYVmWJUSmpyEIImUkvX96XV3ddiAwU1IG8YcpNyf3qp8yQSciBRvjij8icAcgqQ8gdQiAUxBSCUAal3uTLxa1gzrLC2/C36PH+5EihHA7ZndxLw2B7mSAnmyAAcnFEARxQ7l70CGwlf3adnMTxFMKrBl5xLkiE+3cjtn62mxQdch+KEREpGDjhBptpw2fma8uvWS+XTSkgCxuLpywbKpbsBGFewYgOjd6Y/kJf8KHaonec3KO28HVCsByDtx2rUJtXpSbX589o/A8ALRIKhR3A0YQAV3NzZodAFCINTJmnAaDoZrbh22qf0hECrZqYBb92PjxF88wXdsgCWYAgFpSKIYRTUCyLIEB6Gg2Pua8+/bzs9a8NhfA7D7ljtdiOR0AhRoSc3juIEa50mRcA9ua/+5p2ELiFKphxVIwSXBmfxTiqNC8HkfrBo1rYfaUE4l+TWJsMz7S0dHxHAAUoFCTIlpzwzU/LhdpqdFofMxMt66XfABBEA7DwWMHdxNCCrA2xo5Wqz2vg/Sb4fBbIlKwfdjXtKEliUp0qQyeaoP4faxCkeGq8KyOS9OUC75nubC7B2CWe66Acr0IMK4XgkQ1rNjzTnm8QP0mWDa9rrZsJBQo0DobA+6Bhl2XMK16lssFMvVEZCSqWq2WRD+if0iKl2wJKrPZvN7YeG2LpDCCxDZFtZdrd3LZRrz0G8Q/1vz8/FPhUk+RKNjYDfE5R9JszIBLhyXLjgAAIABJREFUq+I1K1dj9HiPSIW9kwLoV0PmN7vqHqoGZu3IGQrX6iPRj0QddmMBSPiv/ptbPh1qXdUTBxQj8r4xhHW9EOmYwqFiWMhm1Td2JBkuJ0vOTg0RKdjyM/I5B6VZcgYJCKvVWnah+cL9XAQY1hgS69jBUVJTU8P1h2mxXhf+EKxZTwHHHdPr9afdeaPDgwgTbG5dainEXV5NUi+53ntzJsUYYg3TF1yDNKco0n7RVb+1BqxlVjTVkBjF6RJqkPYvQ1fuP5xELxVqQTx/gfMZUjwFXPYAa9uVoD8hF+YvcW2GgEh9Xs3FxcVnPevLm4mMSOEaJPeiaXpO5YlKTkvNlxRCkChF7D/rG+xbV1NTw/nWkvCZ+8bbGMvXZ4NBa6iVnJxCIkywuXWnFICBh+MNp+OGFL2uPZEIC6yHzSK42hgY/YpWxqNROinQ/I+q895fQ+sWp9jmmwoVC0FCgOfgfAFgwV/dOv5oW6Jyrk2Fte8PmaAadmeyvroEqCbJGR4Z12ZQiTiLTahcbWL8RZ1OdwVkNAkkIAwHqw8+TA/R67C6kBgjpa718gNms7kck8FPiD6DwXCU22w8nH5UxAk2Togp3KuyLc8lG45n9Tn7xZqE4HLDufHRCPUk/B3QKChjwtCy71ou7b4GVN7wPu6YShqJYrgMI2fAtua7HRd2N6SrsoQ7xaDqsaFyAuQ6NVcfTSk6NdXZ/MVE8rjvLM4ofpeLjkSLLTDE9cQLOG1dXd3WO4N3V4XtD0eQyWVu5fHKh2iaXsDy+VVxDBkTgrPCzltrstOQU0VEGzQLgbryQNL0E4yTi4iQ17UolrheMQ9vyoo78YUs5Zyv365+6hoMre6fQB2haw4JR4QZCj4KMuXbrPGBV+Pat7IENPyw4MofHqvB1WOJqhZQMK7ckHc/F68/qgBmKNyiGCJ9pq4vPz//ECGkV3IGGQtUb2/vusqTlU8AQC7WHBJNeCpy1gHrmtra2oe4DCP8IdR4xwDr4ffRarVnDPEzzobj74xowZYGDDyemn8yh1Ff0TjldS3i2r8NbQkhg4JkSpIA0ErQ/kLZvPP70HQf7cfykrPM0DWHhAS5BiiDUPw8wD0v3Kx8wqR2LhpQjVxhPBZLNDGWWARhhywnBYOfi59xaA5AczhGM0RDbMUtg8FwjGVZp7BGCxk7fL3lnTh94inroHUrViESZehqzecfslgs93JxD/ytoR42PrjBwlSyoKQqXH9ghAs2l6Yw9FJ68eE5nU5XEIk3JzAm/XejBAoULAG3S3J0XXH/HlBRcF1jX/l50+EvHAOmVHIBoezwiOBP1411XRgJCnJTAzKWHJfn6W1ou/ff2usebkhVCGmzhq+gIASjpwPDVbtJdsZZrs45cQ8kXk+Qr/YpJSqepw5Sz+p0umrJCWQUntasYN16UQQ0FotlS9XVKvS3IVGB1dlfvv+T/c8SQuYRIg0yw1meMdNeXFx8iFsxFK4/MCoEWyGA5UXdgoMEHAOezRYbrBhW2C97+MF7q6PmZCrtPwcbdv/GdnPnHclZT/zNreNKQiQIyJkIIkuOG3VvAyx96tbh549ksutYlnU1RuJFm0P8ruMbPrO4W1n7CDX9pLTawyeDUdSMOoY8w3GNRlMvOYGMl/zKyspnLfbOXViDSIQyt7L26LMWi2UbAMTzt0C8KXNIwNjmzp17UAOKW54fCLc6jQrBpgGAHFCYHlPncfu0uRJocFMOqJiNJmBfI7cmkCXsab16+ePXP3nhPND3TmQ9Ba5vQyYVOR8bjx0AegDy/pE1PvldMO22qSCN24uQASDo8ZUiWGr+xgdu7VqiHRq+pCs+rhedc4+1/AyN0OH9PKdgEk3zRENlBWUHuChJcGsQBDx8SYh/BEVAqDsu3sRms22qOFTxIg30Sm8XwLpFwhBdY3PT7qqqqkdxvdqkIHRyp16vr9LGa6+F+w+OKgfIGoir3U2yjwE4Rm1ng5abG38xisN7LFEuNc5VaYyCaF5LGdzyctf5528DLB5wtXL+SpymF8B4gevbkFDAGwrxr4N16/Ot1U82JymK+Kz9LrdarHt85fp/oDM5hm5Hy0tpcw5qOPelL4U2DDp8tD3nzoULF34MAK2SM8hE0BqNxl2VtUe/AADFWJNIuCCaMVDSdnpdxbGKZ2maXsxHQLoVNMbbkI54IjP7Ihxkk5KSqvMTZrqCRsLdWIhMwcarZmLfDZeJZHdCbtVCh7Y6gfb6kGKaEY11tO7mTZPzbLhDCoCueNB9l9x8+B/Za091A5Vn566EphgyxXDtlB8HFIeAWb3T9PEXzyc71/XGuTYBccGJN8qjofrdp1HIqeo7SjBqEN+nuF44gadgoP0b2Ys+mg9gBnkhGDZEo2V+p2xp2X5CSB9OQY4fGd9k7vHjxx+7euvqIwCQEUG3g0Q5tJ1eUXGy4sWOjo5thBANf7c4AIwBDx+78Nf1D+64RqOpNsw0HBOuhhZbMOAtBanB4LZJnoEZR5b2kAteBmbEpaFRrtfoWpPinslx625cQ7YpKbibrJj9bNuJZ74DTQ908RFoUh1vNJxPjvVxHkEmwjFgyh658ckL78f37uhIoBKBYTkLxBUByWXYEfuQKNFrGFFBJ3G/ogW5fi6uHyETiyC8cnvB8pepJR/pQdOo9ujv4Rzt7O0+Ix41KBtLSkq4CMnBaLy/qUCkJCysPFb5grHJ+GTMVAASriw+ce3E8xaLZSfnC+Z/4/AwjcrtuPGsuDMl+nlHIunHR5VgExpxLoDj5dS5B3IYRb3GMfrc+PBtkUQagefO9K7jDSgpciuZKnuuvfovvgNNj3cBBXYv5YR6Iy4Ph7fzInDBGxIAQjM5B7D4peaqL/5m4OZuLlsO/0ky7h30BWcT/4r1KEq+mgf/LCnvQCnAjZHD7pqRzpiFD1H13DznfTVqTV1xcfGnwmwZRVE4ZE4uFMuyKyuPVb5sbLz2eDTdGDJ1BKKAssByPrWyyitHXzQajZy/N5M/hT61yYWTD/VlS8oiylqDaFVIeE2i76sJCz6Z1+64xqlv7IQMLtTdPBFqg1YpqDvJ1IrnLFUvfweanugBALeBLFi4Y6w3grkhYh3PAAaxkBMstcPArr6/8ZOXf243PXozXYlCbfJxVXz6INP3bJLhQAkkGhMj7AaierTWQvy54uLig8MxDkgwUPCW218ZG41/DgBZ6NdAJoqQWEHclmg7vabiZMVfWCwWLodpKn8YhdrkIVQ4V6efLS9c/mEkxipEtWAzAPR+I6vkozQba1QxvrxKuG9YIHhb18MtguUtt7KnLdVf/fLQpRfNRFFsG1fTQssYGQ0n3LjkrzYA+BRg487GAy+/H9/7QEcClcQXHOnXuPFiQHjrxyK4swMvaWZ9WA5xVZHo+476UUSboK2ZM2fOfgDol5xExoWnL9MjryT3d15NTc2LB2sOfQUAlmLtIpNEkqXbcv9rB1/7qsViuR8AEvm9BFGKBQeXb235kuUHIvkGohaFK/Qfer6XvvT9VZ3kjN/7FGl8aMeNRqgeualGWkmBJUmR8y3lrcfvbz745bPgWDuRXQGQWMXd8+zAQBdAzi/A8vhO06dfO5rh3NYZT1zbz3BCjdsJflT/jJVUIeNEGM98GLaCb836nDb/00WQeIXbITsSMwzFxLyPBlQnS0pKKgCgW3ISCRg5geYJb8Gl3blz5+H3jrz311Z7/1ZJIQQJjCJj47XnKw5VfIWm6TUAoOI/hZba5OPpWzu7vCAyfWsCMSHYcgHg5dS5H8+yK07FDbmPjd4invftiDQ+9PiMRm7mx9Oy5cowBGBABYl/TOm/b+ONvX/9R2h/uEHyKe5DrNecn0hsYwUKrgG17Knu6i8/a6l+sSFNuWBAQ4TkjcONUMG6X0hgBDCesQoGOv4usbhiM2hOSM5GEH7uM3rQqDXGkpKSvQDQAbxlITdQI+NHZNVpaJre/N5H73297tbFvwSAmcM9iCuH9Y9ISaBZesueg+/+tdFofAoApvMlMOX2JOMx/g13WrVafXLZwmWfDJ+I0AhnpeRIRCLYC77l9P/RzD3gsF7e9mE6fb+3LeIFY03QCcX+Nd9Xj37kallSL9SoMG3qTK56eW3Hmew3lJbiL+Wuf3M1QLWKcD5Qd0WLRys+MCDGazua8d6SrgHoq8Gy/bv1B56kM+iVLFG6khlzGqi3AVbGT4T4QTB6WdE8yfReR+uThSX7CkBlFI5Faj+UjEnRjAZUN8rKyjhfW0ss3Xeo8TIIceZxnslkenbPkT3fsPRYHvT1k4T1S57X8XJNJLpYWHPz3EsV+yv+xm63r3d1V7454LMPDny9snx/Y7RabdXC3IWV0XBvIRHHU9UwPb2hHgdmPv1Zxb99Rnc/3hs3WrB71yPlj8ceAdYErxFyO3ELnWf4FMs64pzsmfuXrnnji1C0bzpAY7LkAh6XwhnLqMXhjk5IqgT7qt81HX3yYpd5GwBM87jfSXny4pmYWEWmHji/GolzQMN/T1vxzdJZxa8HcxovVBagnxEqKrm1evHq97m/MXjvIcVDoRn2jxBCuH6zsqqq6u8qTuz9R6u9nxvMfMk2JHqZ1djc+Oyeyj3/12w2f85DqBGP9ZFI8BA66IBer/+0eFZxxOWElCM6LDaJaeabfoCsV09+9J0fxrU9x/lLsQsFhozGN1aL1mN+kdAJas1nTxaWvne/Zva+eQBX1N4e4xifLxKeCI/RAgCXgVn7w/bDT9Tfun2fQzESVCTJJALuhueeLnOOraUhoxD13+FeVXLXceKvNt7/rc2arKAvyA6VxRYlwSNjpnXtyrXv/ezKvlK73b5E7ERFggrhN+fl4re5qMnlx48fn+VMunbP9IVr/6RLSK4CgB58BFFLjqm16d4/nj/yhCl9aA0olJ75dQWrHhiG2+5oVIabWK+3YGEpLi5+Tx8CoRZKotrH5ofUX5nPf/X1G2e/0pSidO3lhHpgkPHQwHk8G4Y9RaGqu29BWcVTZPYHeQCXUrz8Gl8Rk8Ey7CLGYAzwhw4XG2t5yRnfz0OAy/PYC5BaDcyK3zVV7rjYZb7Pncp1GN8XQCYb1yONczCs3qnZ99GSz/1dvEpdH4paRost+HQv0y9+//27V5cA2HagXJsShFbOdTQ1TdNlx48fNyiZi6VPL1z1dkp6Njfn3wq4BCBs8fdMWJaNA0IW1F45f/+eZuMOcwJdDAmQKAyugi8Nn21o8Ngxgavw28uWLatQU6ERaiG9T8mRIBCu0whcVNaNdvPTDzUc+KdBBVvoVBIcQKeO4YGOJa5N2W6sn1H0yeMZS/YuBc2ZdCDdahClAsTHFBASi0tyYHJxuPeJUl0DKKiCls2vXKu+v9vaW8YoiMsI9/D1DAs11iPvI2qYQcXlBGBZ1vb57sTXv7Hhc99JlgmkC0YzQYstROgz9QcNrKG0/raJ20ssEYXalCEMcpwaxI1tRfX19Xl7bNfXgH7e/vVFC/epFZo6LoIrNqsn/OGVQi73+Axza+v6ClPt/ad77662Ziiz+DQ/XsdK9J+FDFdFMwyX9A7OlW8ofztao8Njy2Lz2q0A7sDQ6n/49I1vHZrGlrtO89ttswR1x8nEn0bORb25xz9K3GD6ElSa85+fv/LDcpj1aSEAt6OvTS25gnAh/i/qKCHByb9MANn1YF/1Zte5+840GDc4lCSPZbllUu4nofCycSgyFtw9iHHtW8L1I5m6lPqyR84QQnJ6nC2PzJz//a/NWv5TyWeDDFpsIUQDqhNr1qx569C143M8ctMhIcaj0Xv63jiSaJpee7DyYImZTdj2ZOHS/aWzij4FAC71D43PaUrhnlW6dcC6vPLaufsPNl8vv5mmNIAalKyHFHNlkonN+gkXhKl+WqvVHlw2a9mH0XyzMeljk1HoZ3y57sN/qhpse6ZTw7qMAcFi87ZFPTL5yK2TEyf/Jyx0ZyRozz4yZ9kn5TDzUB5AfSrAYJzkYxNqD1LETSDcLMIgWariy/I+NMVtt4W29M2uc/eeaTBuHFLAbJZlVR47Z5CJ+Kx9tAfEByMbILBC/bn+oWJZohliaytmbf9WwbScDxVCqRDGFYTseyRHgkA4CQXPrPLim68A27bvnn3n262UfZnrAKUY/u0YVBJ8AhjI3OFcLBC1E2BGD9NfYFdcemDWggPrZy/8NFmp+sy168kYQcHmG9FlVQ6AmabW1lUHWoybD5ivrWpIV+X1qUE1pOCfj1zS4jH2IRRs40NOsCkZxjJ3huHHb2Vu/H4cvxFzyH8bCrbQQwMkV1+7/Bcv9dR+xU5BjmMqnnwMIgxgTr41yvngPGD5bYeEhmVLUGmulmXlHXpQV3ZgNijP5gC0Z0aZQhKo3JKTv+OtCy5apwsg4TbAnENsw9rKlpubTC3mpU4Ksl3bopERhQMCEERyvla540iA9eTdtya8GSpvJe/9y9Ynv6UH1ejw/hD6pNHHNjX0lhTNf1/f3FxkajE/xu0NFYuVEAGIe0ccTdOLjEbjgh6rcXdpataJjfrZBzNnFp0ghDRxnTrWKwzGN6i4dkO32qyLaxtvbN7XWLepUeWYZ05WJolGVbSpwgSX24SXVILix68VPL958+Y3NGKhFq31IDkSBMLdYhMrLA3O/k3frnzn/x3KhA0uxYjgZEiYM9oHRwjDsmxfskJ1pcxQfGxjUuGx+ZDyWQ5AWxqAY7y+uEitFP+N120D2F1ZQii4C5B0G6DoFJhWHr9zc+3l9tvLCCEzvCjCoy4tt5+hxLJAgoKXqVvXkew+5u6j0+f/8Gt5y38ifWqhBS22KUSrSDxUXl5uOHShchYA5MdsRUQOo5wKLMtyY2kyTdMr6+rqlrf1nf2zQkpbt61gwbHSnPxjcfGJF7jMM172ko1lVNyyTlNzU1l1W+OG0623Vt9S0YVtCcp4EicZjFDR+//tnXdwG/eVx98uyoIAwQo2iBSbJJMSLVm90ZJtmpIl62QqniSOM4l9MzcX51KuTDLJJXM3czf3xzl3N05zzo5in2tsx7EsW66yLEuWJVmFVLEk0opEURKLSIINYEHb/d0ssAsutgAgCZIg8D4zGBDbAO7+fu/7K+/3XuIjtmt4L8j9q8tW71OMUScx2GMLQ2rnaPvPv/joJx84bz7Sa9YF06pgzy0hEcuXPNW9uH5K0mPgHfq652fmnFtdWPH5yrSSE1WQeSELoDcLwJc91Qn1mV4/F+37NPa7g3NmtAMgvROg7BL0LG/qu7bmRHfrKo/HcxuhwKrojQU9g4NzaHGet1TpaSATQN4zFiaggfFzkOGBo/tqHviPoszcD6W3d7bmntF5ZFYIEzY4CNz6fz//xk9a2dHtATdmHFOZE6iEaCJSw2z2cSR3FEjOmN9ZrrNeXmIrPLnCXnF0Sba90Ww03BBG5SZeaDWEZNqYuLDxIzS57YOOmgt93WtP97StOdfXtWzQpLcPmMDYK8TZF51BFGdLN8ZxCQwK29RQGfLl7yjF+Lnr9y5b81+/NNQ8qZoOahZAYZslpC0ZDxBodXQ2fOvL93/qNOrXug1z5t+YE8yUQRONsPBsFYVRMAw+HYFue7bt4tLsosbqzHmnqyH/Yh7Qt0wA7gwAvxWAWCKN3yuFZEZhBS8ZJwA1DKAbAUhzAhRcA9eiZl/Hkot9XUsvOzpvH/b7+Mj66YItVNwPEBwOtIwQH5gnsE95K8PvaIiptQhVDDeigjCgRIRHOvzYSM6L36/d+QsrwPWw5yfauFkor1plKu7fo9gyDczVxc3eQOp6Av/s++LvD5xt+qnbEHBvRuLEdAubWIGlvQtJwyVUKEMhnwgAvz4udzQwhMNmev2ueUbrzeKs3JbKjLzzi3LzzpRl5l20GJhbQsST8II9u8KmZwFyugb7F7a6+mvahhxLrjv7Fjc7Oha6jHSBkwHjoImmXAYCfr1uPLV5eLT3mIaoUNgSE4qEahTLMMwHLy3e+YtqsByxav1aFLapMdejdrgAyn/36Zs/fyrd+Q2WgjROaBppVTSsiHOOWAso/2hHLHqmvTTTdrUkK+dqDsVcK00vbDcB6amEvD4TQL8OYMQY7DxxBgCSHjxX/A6iByD8djHWJQn2tihXsD6GRrw9AJRX2MZHy/cAmHwA1h7wZvaBM7ePuOy9blf5tcG+hb1jrgXXnQ7e2SmXInRgbCGGBgMO/iUgk7QfIZla2uU78Xe19/1iu7Vkj+KoWQaFLQEQW698KIs28Gz+6sU3fzzq9WxhgePDBmkWPBS2OU/EAqtngbL4ANL8HFh4xeE4SPMBMCzHmvwwmpWePmCzZDgAoCfXktFbZLL0Bzr/wPHOK5yeo7tKC+xtDEc18/nKCAVFg8Ou+Z2eEX5NuZkmgdFOo0dPZV7r6sgHgDyvDnI6BwdyXD53lttImbwUob06AH54fNhAg1sfVFMItNyDJS+WuTIk8ZiCsPHPuP3bBUv++5tFq39VrThk9kFhS0COjHTveuLwvh+dtus3hP86lLIUQFGIY3GgUDuGJQRomibU+HZKJfBz6DyapsM+R7q2dLdiC5JQxGsonhPKTM4oO7Jen/3y02u+8ngw2ULiMVPChpZYBS1jMc9S8GZtbe2LhJBW6XaMIZkSUPKX4GVJyYQpDLWyJMRSlJ9HRE9tyXFhji/SS8i/P5bfgiQlYsHwMwxzsGFNw8uJKmozCQobiCZl/KOWUFUAB/+UsWjfY+bKvXYnNxA6PWBTlLeSb5Fpzq8jcxK5UMnW0IWJCx87kX/JRYdffqAsLeJllNeRvqTCJztRsQ1JTES7wD9J9aepjsKe8M4ihAKzD7iSId9nb1bet3sL0EdUT04xNOoXEoGO2ttq/2iz2T7g502CjW9Ur1RBLiDi50hlQH4OL05SsRPULCYThwKGCEh9Gs/Wb67fbcuyvYM3JwgKG0jaw0RtJkUCCba1NwHd+Fz53c8uHmEOWdyE1TI2E22RIYmNosUcBfH5i+eJ5UQcYhT/Bo7wAUkVF1MTS3HhOcYCm7to2YVo5UtyXiAtuY4QyuQn138OpS/9DMpeiZSKRq0sJTMobJPEmmY9sG3jtt8TQk7OyX8AmTJaDRot1IyLdH0dyK6pdn21bUhqIFt/yX/osdlse+pW37030g1IxVySqSVsZHxdvtLExNBzE/bzbwwAfBey9j5btP757DG4bGDVDReSPMhb2rE+72gtdOn+WK5JY4s0qRDLAQdEtZyIyMrG0AN9+r17yre+UAzQFiljRSo2hrB+TAA1o1NVWvVOVVXVGwDQK3e/lv6NLW0EQSIhHaIGld68NGI/7wG5vX77CwwEssYjMlJL2CQ9rogyo3GAXJz49bDZAJ3PZq979R899n0mH7h0nPrxaqKIpDZaPTkRnEtLLrSep1aPPWwedlzU2FWd/qNP2muf3QJZR7NVr4hgj22SyITqfN2GumdsNtt7FEW559L/gSBIwhMKxwYAJ+vq6p4uzy5BD8gIoLBFmFJTQzrJTyA4Ls5HfK8G3bE95fW/f6DPeIAi4I3k3YQgsYBzacnFJJ+nuJyIWtDvP/fj9Kqnv8eUvx7Mfqx+xYnYs2S+18gEiDRXxkBg3Pt3DMN8IiS1RBAEmTCCmAUVLWh0rlZVVb1Qu2DdC3g3o4PCNoUIIcF4I+NCx2dgrieZ779VtvXJu3upT4UUWQgSQGuOJdb9SOogyRtIFThJ16NQ/saT9g1vLhcjQ0awVxouAikFCluc4RtXNnPOvm1btj0JAEdFcVNLcIkgCKJCSNQoiurIy8t7/d47Nr8EsoShiDaayYBTijg3b/jcI1+H/D3p9g2G3Y2HdKeLjOuBjIcHnHBrQnSZQm2c00R77tjKTE60ovhr5AQJiVruKHetlsp6/vHq+lfMAJdDR6Z6dywGUNimkar8Ra/V1emoUxc/5Zte68SIN1HSjSAIktrwsUS7bTbbiw2Ldvwbg02eCYPCNo1UEoAfGCpfrbAT2N10iDQV6ddDIMTbBEUNe2oIkvhojKxorVWUypXQ2A2cmDXKDq/XZ7/7RNnWV838UdIgWkhMoLDNAFUFC16tq9ORpkuH+THzdRzH6SJ5VyIIktyojNqEooqYTKYDDSsanmOAbh7fG4iijaUiRlDYphOhHFYCwA+M5a9V2H3U7sZD0FRkXBchEPf42LtGCxBBkESs75HrqXROLUzUAlmMADI84Kn06g48uXTrU0VAHwkZiGByI8X1EG1Q2GaQqvxFfM8Nmi4d4Uv1ekKITpolGUGQlEJa6ccYhtnfsG7HUzawfojFYGqgsMWBWIfAK4Hje26vVhQF5tzgjN0QEDe5qIlj75RwZZQ8BElctLwe5ejCG7Ahs5HjZoc2Qtb7/7Py/qcZYA4pTkQmDArbLCCZc+O/fH2kYUkEQZIDqagJozS8FN6y2Wz7Ghbu+D8G6OP4qOMDClscid5zC/bFQnNuRSzfc+OaCg1rA8kCqPA2X2iKDYcqEWTW0Zr7DtVayXZpck9Zos9Q7MfcUe7LWirr5ccXb33dDHSL5so2ZMKgsM0iVQUL+HVuXNPFT30AsJEQYlLzlkRRQ5C5hVomdF7RhDl1fkOzzWb7bcOiHb/DdWrxR2lFpwE0zJFpGe1vePzIvu8ezCd38T03xVg9F2zxKbYjCJL4ECGfWrCHR5UPcOfqskp++6Mlm/5gNjLKn5/E69bUGu7TATYVEgCbOWfvrq27fs0wzAFCiEf+i3DNG4IkPhEa8OIOfqzxRFVV1S+3L6//A6MmakhcwB7bJJhqg0o25h6i3efa8r9H9z/2usW11acDM4vNDgRJWGL0hgyJ2tJu/+c7y2qe+tvb1r0UfkjqzK2p2b3pAE3nLKD1cK0G6/6Guxp+ZbPZ9gLAkOIABEHmBIKHiChqfG7GI3V1db+uVYgaMh2oW9g4kzQ9Ns2u2gRbXFGuM8D51r7V+Pmjv/H9ZafTqLd70MUHQRKGqLWdUELr9Xz1AAAPn0lEQVSWUA70hHLf2QeHH1u++ekNttK9Uc5MerQa9fEGTWYCwtDMibrVm50n/NldB842fQ0AFqvJIIIgCYc0l5rDaDB+1FC//blyyNqPaWRnDuyxJRjSWKdegILG6y3b/7PtzCNXGc+GQRMYQNLem66ReVxNg6QSMfTAgu/yqP3CXLlkzjxwgJ4FsPig+cERy2vfv6fhDRtluKi4ZooyUz02FLYExgsAIwCwF8Z2/PbM3u90U546AEhDYUOQ+DFZYZMeIfmb1bNwemVl1R/+PWvdM8X83HkEh7FUA4UNCVU5/u55POw9Pzu1728+5wbva8+gs2EGBAgFDklmJlO+VQQqZNwsXnAXueDovxav3L3httv/ZAwdgjVJBOfYUhCVShOCYQwHv177lcHBnmPt7Z2XdwmRudQPRhBkWtAQNX6jw2g0HthVd//zyyDzA2zKzy7YY0tENL0mA9gPdF6+/4ULx791KousdevB6BMagvFuD8YatRxBkgHN8i5sCGXbECJkiVmvywa5S2t0Wa//dFX9ntw06wWsLtpoNdzj/j2KLdMACtsEiSxs0A4AJ2Fo+xOtR/66fdBR76MhE1DYEGRKaJb3cGELxOQXRI1fn3bigdLbn/l29srnlgYimQc9wHA+TR0UNkRy/9QT6A6Ad+3Lxw49/Jrvxk5Hmr5sxKg4JCY0KzSCIJJ6GAxirOMoysCCa8MAHPrO8rueXS+uT9OoP1HaqSkFChsSFd5jshvA/iK03f/muePf7Ceedfx03ETvHAobgkREasAoHUfdLMq2vfcv5XV/XA6mTwuJ0Pqk1SsQCts4KGwpxFQLPgsAnQO92564eOTRU/7B+utZQa9JpTMKF/jMcZywPXzwEgUOQcKhKIqwgv2yejlPsRNO/XDesle3VK98lyFwPbAD60vMoLClEPEQNj6h2zmAO17oP/3VfTcu8F6TtymUSxH5AIUNQURkCX1Df3DBqtltZywHHqmue/lByHmfbzky2BWbMChsKYy8vkyw/uR90d9Vv7vx0MOHrSObhg16q48WJIsilLIXhyCpi1TMJA07scoRHQf+Kof/3F0581//wdLNb5uNzJfaNwvXq0UDhS2FmaKwQT+fnhe4tb8ePPa101ev7PTRVEXgdAr7YkjqEiZi41mtx+8HF3QOCTlBAjjMBubg95Zs/uNdYH+LD9hKR2wYorBFQ/vexfl7FFumARS2+BNLz8sLUNTceW3rL7/49KHmNHZDZwZtVRyEICmGbMgxIEjB+qQLuIGYfZw/fwTOPWS0//kb6+rezqYNLdHuEJG4LkeulakNChsypfvNFyA+1qQbAE4Dt/q1oTMPvn/ti53qc29qlR1BkhPlXBon2MFAtejJovSfPLzs3lcegsK38gHAHGu9E+uSYg8itTMzAQpbIqNVU7S2a/XkgsfnnxvsqN99+tBDJyyjdw4ZdZljNB3w+hofosShFCRlCNQKXbDIUzSBoZoe/6mdZTVvfaNy+QdmI3MFi0L8Udim6foexZZpAIVtkmgJmNZ2LYTjHRRAC7ArXvaeb/j4/Jmdbp2OnzYw8LPmvMARwkpbrgiSrEidQ3in4i+zrBlv/3Dhprc3gO3EAl7w8NFPCyhsyLTBAmQNjro2/ub84a+cdHXf+2WOrpjQFO1XScvBF0RxHQ8t9Og4QfhosYcoCqHsfPnyAVxOgMSX6CMMymHH8V3Zo6xj8Zj+yMP2Gn5d2p+0IxvgSEa8QGFDpg1WeF0CKDoCnXc/c/n4rqFh1yaWhny172SF4U01YQs+YPV8VShsyPQSLjha88TB0YjQdr70jQHA+ZWFpXsfKVz/zjowXciOGLIHhS1eoLAhcUdrBHOI9Sw8fPnStuevnXqwNUu/ypFGmXGtGzJTxEs2VBpOUsNDzD4guaNwfROV+dG3lqzbszi3aL/iIhHqCTJ1UNiQuKNVYd2BgMp8xgB37St9jbuO3fzLdgBYIM/Xp9UiRpCpMA3CFjbkKPTYurNp5rMHlta+tQtKDlUAtGcqriCcL56o2INMFRQ2ZOYJPqa85r6u2j9fbnrgoLvrnm6LvniYGS8ngpEIfVbzwsSBGyQeyMtRtM+yHhroOY7Pau1Y7jQc31lW8872ssUfm41Mq/xoAurZM5D4g8KGxB01EQp/UME3JwV8dFf7h9C1+fVLxx7o8ro2A0BBrOVFxeAgyISZgLCpGZghPcc1rqyoeufRrFUf1YDxYrHc25ETFlWjqM0YEe1PHEFhSylkpiG2MZeyQ+2X79nT3LjznH5kQ49Fbxsxys/gZJ9kziXi1yjnQFSvgoKYWojPXRelfKgQNoem44DPkzZY0+s/vbVo4XsPVq34KDfNehF1K3FAYUOmgUkJG9wKZu0ufQ+u3fVuy5kdXW5nLUVRBeNDkihsyOSZhLCpGRSnnlBn5ucXvf8P8+7aXwPGsyVCRmsUtsQBhQ1JVMoO3bxyz56Wxr86p3dtVO/BaSGEeQgZMJSwVEfqkERC6yWFAMXKUhXWQzOwQKV7ob+yz9dYX7zogx2liw/Ys/O+UCyuRm+QhAGFDUlYpD24d5qbdtzyuDYCQGH08hQMNjtuuFDYECXSnn3AU4mi1BZaDxpYaFxVUfXew9krDlSD8cL8QBgdlaghKGwJAwobMleYf+z65U0fd12573Nne227VV88kEZLbYvCrIhGCpcPpBiylfpRhiADWyWRbTgTyxLbKDgWuA2nNubN//DBqhWf5KZZL0044pw8cEC08zR3IBMFhQ2ZM/QHe3D5J6F37bvdF7c0drXxXpSLhGAO8oeP5iFVEROd0UGboCZsYg8tzIOXUD6KorpsaWkn7iyt3n+/qebTcoC/aM2hobAlLihsyIwRa71VWy6gss3c7R2uPvDlhbsPdLZsaTP413dY9RafDoBVjjyiqUhBVJyI5AYisLQsb9TvLHLB+dtN2Z9sq1h2eFPJgvN8LG/5SVqFSKVsIrMMChsyY0ykQRqLsRgRrM9VYMuOwY2737t2sb5rwLGBpWGeMAVCCdchkuHIyBdFkgZK9BWRZ1cSygQ/f0YIadpUuvCD+3KWHawB6xm+4MgDmWJHau6BwoYkDSxAQdegY82+tnP3nui5uald513YbdGbhxhhKi4UPDmY8FG+XACXASQNaoaAM7AAGR7w2l3+G4so84n7y28/uKa86kiGXidECVE+eeyNzU1Q2JCEZiKGhc8k4AOAGwCmm8CWnoS2dYdvXtl8yXFrPQCUA0WEqRJF9oDAkBQK25wmrPILPfRQSwYAutP1TNMye/mhbTlLjt4O1uZiAGdGYIIWn3yygcKGJDvmbrdr0fG2K5s+vnnp7lZubLXDDAUDJj3tNgTKJaXSwp9YeeWCp1M6OqHLoNx8q8xBRdw+fb9IJHZhkQpX0A+EEjNVEz6frckPvsJhrtc25j+/Or/ks7VFlcc2FS+6EBi91vACIULThkKBm/OgsCFJz6iQVaALIPMSuKo+c7asb+y8cWev27UKAIooitJFmH9T2xZ+wBzJ/zYXhC2GpRmqjZBAWnaKYnUcOCkC56tLyj/ZkF92fDWUXCgGutvGz51pTZahsCUdKGxIyiC1a4SQjDZXX/XRG1dqT95q3dTGjq3sM+kKBkygG9bOBAnTWZanS1Bive5sDsjxdZcIxogObWMFA0WPZ+8MZFoPPkIjS8DiA5I36h2wjcK5NQVlR9cUVny2qqDkvNnI3FJ8h3iNmHcgcxUUNiRlkNsvFwD0BT0rM1rAtaBx7Obaxs7W2jaXYw0hpISiKGO0eyMk4VJsnwypLGzi9wc8WEOhr/hOGB8NRCfNTA0cUCwhxJFhYM4uzLMfXVtQfHw1lId6ZrlqUUFUnn/0HchcBYUNSTqmaKfSesdGypodHWtPdbVuvNh3a00f5a0cMOnNPRYAL60Dv1bUZckWxVWTiDgLIOGE+yVLC8PPmhEjC8Ti8VG5XtqXNcZ2LLTYmhbbCo+uKCz/vCa3qEUYZQ5eaKoejChwSQMKG5J0yIYcYy7k4rF8pm9nsDenHwTIuAZDlU2jN1ecGexYd63r1mo/DWW8AIbKtVLY1EgaczlJYdO8SRJhkx7npQh05ZqtZ2/LK/i8JmdeYw0UfTkfTL2ZAO5sAMhWXEn5vKN9Vv2FGruRuYPmM44zKGzI3IUEChcATfEjXFmX+joWNvd2r2rp61zb6hpY7iCeUiejN7uMQDkZALdhQv+pZt2IJiCJ4rSi+J1E+GVRBF/PAmXxAVi9frC6iS/TS27NM1rPLsovPFFtm3d6aa79UmZaeg8AeHThc26KayGIFBQ2BIlasIR3oRQPCT06J4DeCZDWBsO2qzBQ2eLouOOqs3d1h7NvOQAUCzEsJ132ZUN0iuvMsLBpVi7FUKIsCLHKdXgtHLbomdbSTNuZ6vzC0xWM7dxtUNCaB/QAP+LLry/LkcyV6cRvAkBhQ6KCwoakDDM00qTzA1iu9HYUXnc6Km65x2quOx0rL/fcumNET+a7DVTaqIGm3HqAUQMN/LtbJ4T9it3JQzEnJa7lkqzpUlufpwpFBJd5KrbjJb8DpLfTwAGY/PyLgzQ/AOPneK9Fn8XLdReZrOdLMnNPl2fmnS3NzLlSmmG7lWu28K75XmF8cNIPRvO5au7Q2o3CmSygsCEpg9KQTQ9+ABgTYlkKL90IANMNXnM3OK03/QPFPaPOpTeG+lf0jDpvd4y5ygghWTQEhjoJ0GFruaRWlorgbDFpoggbEX4DC7Keo/A7RAF161nSvbCo5Go60JdKc/Iv2EyWlkKwti8CW386wGgagC8dACzCyyjv1KGwIXEChQ1BpgnRUYEDXjkoZSUQZ6IoMPaNuSw9o8MZPWOuzP6RkYxh1pvR0d9r8+lgafeoa2n/qKuKAyjw6cAwpg8aXrFn52Ro4ULiheUGmhOOF49T38+wAEY2GEmTf9dxgXcWKK7P5IfmigL7FyY/XDEwxlslWXmDDMsNVebbhwwsN7Qgb55TH9RzVq1OzmS8RaVgaYDOIkkLChuCTDOa9lMy9OjluzxCT4+Pd+kR3n3BbXofgJ4DMPSD29gNw3xnRw9AGbzgZa66+0y8LlEkMKdXAMDlBaeoaD6FXQ8A1xmMch9c6EwRTvgptCC+JBC5I0PPeOYZ80ZYID4DEL8eKF852Pif4jEB+BgA1hR0owGTMIGYJmSTTgv+oIRA835r3H8UtuQDA1cjCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCILMLgDw//2+XG8oHqv0AAAAAElFTkSuQmCC"/>
|
|
101
|
+
</defs>
|
|
102
|
+
</svg>`}};function ct(n,e){se[n]&&(se[n].label=e)}se.card.label,se.card.icon,se.card.key,se.bank_transfer.label,se.bank_transfer.icon,se.bank_transfer.key,se.ussd.label,se.ussd.icon,se.ussd.key,se.mobile_money.label,se.mobile_money.icon,se.mobile_money.key,se.eft.label,se.eft.icon,se.eft.key,se.stable_coin.label,se.stable_coin.icon,se.stable_coin.key,se.pay_with_opay.label,se.pay_with_opay.icon,se.pay_with_opay.key;const ys=[{name:"MasterCard",icon:`<svg width="24" height="14" viewBox="0 0 24 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
85
103
|
<path d="M15.3295 1.73883H8.91364V12.2617H15.3295V1.73883Z" fill="#FF5F00"/>
|
|
86
104
|
<path d="M9.32119 6.99988C9.32018 5.98645 9.5718 4.98609 10.057 4.07454C10.5422 3.16299 11.2483 2.36413 12.1218 1.73845C11.0401 0.962455 9.74099 0.479876 8.37301 0.345869C7.00503 0.211862 5.62333 0.43183 4.38585 0.98064C3.14837 1.52945 2.10503 2.38496 1.37509 3.44937C0.645144 4.51379 0.258057 5.74417 0.258057 6.99988C0.258057 8.25559 0.645144 9.48597 1.37509 10.5504C2.10503 11.6148 3.14837 12.4703 4.38585 13.0191C5.62333 13.5679 7.00503 13.7879 8.37301 13.6539C9.74099 13.5199 11.0401 13.0373 12.1218 12.2613C11.2483 11.6356 10.5422 10.8368 10.057 9.92521C9.57181 9.01366 9.32019 8.0133 9.32119 6.99988Z" fill="#EB001B"/>
|
|
87
105
|
<path d="M23.9852 6.99994C23.9852 8.25563 23.5982 9.48601 22.8683 10.5504C22.1384 11.6148 21.0951 12.4703 19.8576 13.0192C18.6201 13.568 17.2385 13.788 15.8705 13.654C14.5025 13.5199 13.2035 13.0374 12.1218 12.2614C12.9945 11.6351 13.7001 10.8361 14.1852 9.92466C14.6703 9.01325 14.9224 8.01321 14.9224 6.99994C14.9224 5.98667 14.6703 4.98663 14.1852 4.07522C13.7001 3.16381 12.9945 2.36483 12.1218 1.73851C13.2035 0.962513 14.5025 0.479933 15.8705 0.345928C17.2385 0.211923 18.6201 0.431901 19.8576 0.980717C21.0951 1.52953 22.1384 2.38504 22.8683 3.44946C23.5982 4.51387 23.9852 5.74425 23.9852 6.99994Z" fill="#F79E1B"/>
|
|
@@ -127,13 +145,13 @@
|
|
|
127
145
|
<path d="M10.0163 6.41102L11.366 0.60263H13.5249L12.1742 6.41102H10.0163ZM19.974 0.727841C19.5464 0.610166 18.8761 0.483887 18.0392 0.483887C15.9058 0.483887 14.4033 1.27168 14.3904 2.40075C14.3784 3.23536 15.4632 3.70099 16.2821 3.9788C17.1225 4.26358 17.4049 4.44511 17.4009 4.6993C17.3955 5.08867 16.7298 5.26646 16.1092 5.26646C15.2452 5.26646 14.7861 5.17842 14.0771 4.96165L13.7988 4.86934L13.4959 6.16958C14.0002 6.33179 14.9326 6.4722 15.9008 6.4795C18.1702 6.4795 19.6435 5.70069 19.6602 4.49495C19.6683 3.83418 19.0931 3.33141 17.8475 2.91682C17.0929 2.64812 16.6308 2.46881 16.6357 2.19673C16.6357 1.9553 17.0269 1.69713 17.8722 1.69713C18.578 1.68909 19.0895 1.80199 19.488 1.91966L19.6814 1.98669L19.974 0.727841ZM25.5296 0.602541H23.8614C23.3447 0.602541 22.9579 0.705974 22.731 1.08422L19.5247 6.40719H21.7917C21.7917 6.40719 22.1623 5.69149 22.2461 5.53433C22.4939 5.53433 24.6962 5.53682 25.011 5.53682C25.0756 5.74018 25.2737 6.40719 25.2737 6.40719H27.277L25.5296 0.602363V0.602541ZM22.8828 4.35325C23.0614 4.01859 23.743 2.72953 23.743 2.72953C23.7303 2.74499 23.9203 2.39324 24.0292 2.17516L24.1751 2.67595C24.1751 2.67595 24.5885 4.06244 24.6749 4.35316H22.8828V4.35325ZM8.18357 0.602541L6.06996 4.56361L5.8448 3.75867C5.45128 2.83074 4.22537 1.8254 2.85486 1.32209L4.78753 6.40176L7.07172 6.39989L10.4706 0.602481L8.18357 0.602452" fill="#0E4595"/>
|
|
128
146
|
<path d="M4.09771 0.602448H0.616461L0.588867 0.723297C3.29725 1.20409 5.08928 2.36597 5.83334 3.7622L5.07637 1.093C4.94572 0.725196 4.56669 0.615413 4.09779 0.602596" fill="#F2AE14"/>
|
|
129
147
|
</svg>
|
|
130
|
-
`}],
|
|
148
|
+
`}],gn=[{name:"GHS",dialCode:"+233",length:"9",cardTypes:["Visa","MasterCard","Gh-link"],allowsZeros:!0,icon:`<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gh" viewBox="0 0 512 512">
|
|
131
149
|
<path fill="#006b3f" d="M0 0h512v512H0z"/>
|
|
132
150
|
<path fill="#fcd116" d="M0 0h512v341.3H0z"/>
|
|
133
151
|
<path fill="#ce1126" d="M0 0h512v170.7H0z"/>
|
|
134
152
|
<path fill="#000001" d="m256 170.7 55.5 170.6L166.3 236h179.4L200.6 341.3z"/>
|
|
135
153
|
</svg>
|
|
136
|
-
`,language:"
|
|
154
|
+
`,language:"en"},{name:"TZS",dialCode:"+255",length:"9",allowsZeros:!0,cardTypes:[],icon:`<svg width="33" height="34" viewBox="0 0 33 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
137
155
|
<g clip-path="url(#clip0_3333_2907)">
|
|
138
156
|
<path d="M16.6191 33.2932C25.6655 33.2932 32.999 25.9596 32.999 16.9133C32.999 7.86692 25.6655 0.533394 16.6191 0.533394C7.57278 0.533394 0.239258 7.86692 0.239258 16.9133C0.239258 25.9596 7.57278 33.2932 16.6191 33.2932Z" fill="#FFDA44"/>
|
|
139
157
|
<path d="M5.03752 28.4957C5.72465 29.1828 6.45778 29.7956 7.2268 30.3351L30.0415 7.5203C29.5022 6.75128 28.8893 6.01815 28.2022 5.33103C27.515 4.64391 26.782 4.0312 26.0129 3.49168L3.19824 26.3065C3.73763 27.0753 4.35046 27.8085 5.03752 28.4957Z" fill="black"/>
|
|
@@ -192,7 +210,7 @@
|
|
|
192
210
|
<path fill="#008753" d="M341.3 0H512v512H341.3zM0 0h170.7v512H0z"/>
|
|
193
211
|
</g>
|
|
194
212
|
</svg>
|
|
195
|
-
`,language:"
|
|
213
|
+
`,language:"en"},{name:"CI",dialCode:"+225",length:"10",cardTypes:[],allowsZeros:!1,icon:`<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
196
214
|
<g clip-path="url(#clip0_3333_2034)">
|
|
197
215
|
<path d="M17.1459 33.6466C19.1494 33.6466 21.0688 33.2862 22.8432 32.6278L23.5554 17.2667L22.8432 1.90561C21.0688 1.24722 19.1494 0.886795 17.1459 0.886795C15.1423 0.886795 13.2229 1.24722 11.4485 1.90561L10.7363 17.2667L11.4485 32.6278C13.2229 33.2862 15.1423 33.6466 17.1459 33.6466Z" fill="#F0F0F0"/>
|
|
198
216
|
<path d="M0.766602 17.2667C0.766602 24.3095 5.21169 30.3134 11.4492 32.6278V1.90562C5.21169 4.21999 0.766602 10.2239 0.766602 17.2667Z" fill="#FF9811"/>
|
|
@@ -386,7 +404,7 @@
|
|
|
386
404
|
</defs>
|
|
387
405
|
</svg>
|
|
388
406
|
|
|
389
|
-
`,language:"fr"}],
|
|
407
|
+
`,language:"fr"}],ga=`<div>
|
|
390
408
|
<form id="checkoutcard">
|
|
391
409
|
<div>
|
|
392
410
|
<div class="container-between">
|
|
@@ -471,21 +489,21 @@
|
|
|
471
489
|
id="card-confirmation-text-two"></span>
|
|
472
490
|
</p>
|
|
473
491
|
</div>
|
|
474
|
-
</div>`,
|
|
492
|
+
</div>`,ya=()=>{const n=Date.now().toString(36),e="xxxx-xxxx-xxx-xxxx".replace(/[x]/g,()=>Math.floor(Math.random()*16).toString(16));return`SPF-${n}-${e}`.toUpperCase()},_t=(n="")=>n.replace(/\D+/g,""),Ca=n=>n.replace(/\D/g,""),wa=n=>n.replace(/\D/g,"").replace(/(\d{4})(?=\d)/g,"$1 ").trim(),ka=n=>_t(n).slice(0,3),Sa=n=>{const e=_t(n);return e.length>=3?`${e.slice(0,2)}/${e.slice(2,4)}`:e},dt=n=>{const e=Math.floor(n/60),t=n%60;return`${String(e).padStart(2,"0")}:${String(t).padStart(2,"0")}`},xa=n=>{n=n.replace(/\D/g,"");const e={Visa:/^4/,MasterCard:/^5[1-5]|^2(2[2-9]|[3-6]|7[01])/,"American Express":/^3[47]/,Discover:/^6(?:011|5[0-9]{2})[0-9]{12}$/,UnionPay:/^62/,Verve:/^((506(0|1))|(507(8|9))|(6500))[0-9]{12,15}$/,"Diners Club":/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/};for(const[t,i]of Object.entries(e))if(i.test(n))return t;return"Unknown"},Aa={Visa:[16],MasterCard:[16],"American Express":[15],Discover:[16],UnionPay:[16],Verve:[16,17,18,19]},Ln=class Ln{};u(Ln,"createToast",(e,t)=>{const i=document.createElement("div");i.classList.add("toast",t,"grid","grid-cols-[1fr_auto]");const s=document.createElement("span");s.classList.add("flex","items-center","gap-2","text-[10px]","justify-self-center"),s.innerHTML=["error","warning","info"].includes(t)?`<svg class=" inline-block mr-1" width="18" height="19" viewBox="0 0 18 19" fill="none"
|
|
475
493
|
xmlns="http://www.w3.org/2000/svg">
|
|
476
494
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
477
495
|
d="M2.80944 12.6864L7.40177 4.11968C8.13226 2.75698 10.1359 2.75698 10.8664 4.11968L15.4587 12.6864C16.1374 13.9525 15.1936 15.4677 13.7264 15.4677H4.54174C3.0745 15.4677 2.13075 13.9525 2.80944 12.6864ZM9.13406 5.28061C9.53593 5.28061 9.86171 5.60639 9.86171 6.00826V11.1018C9.86171 11.5037 9.53593 11.8295 9.13406 11.8295C8.73219 11.8295 8.40641 11.5037 8.40641 11.1018V6.00826C8.40641 5.60639 8.73219 5.28061 9.13406 5.28061ZM8.2245 13.1029C8.2245 13.6052 8.63172 14.0124 9.13406 14.0124C9.6364 14.0124 10.0436 13.6052 10.0436 13.1029C10.0436 12.6005 9.6364 12.1933 9.13406 12.1933C8.63172 12.1933 8.2245 12.6005 8.2245 13.1029Z"
|
|
478
496
|
fill="white" />
|
|
479
497
|
</svg>
|
|
480
|
-
<span id="custom-toast-msg">${e}</span>`:e,i.appendChild(o);const s=document.createElement("span");return s.textContent="×",s.classList.add("close-btn","opacity-0"),s.onclick=()=>_n.removeToast(i),i.appendChild(s),i}),h(_n,"showToast",(e,t,i=3e3)=>{const o=document.getElementById("toast-container");if(o){const s=_n.createToast(e,t);o.appendChild(s),s.offsetHeight,s.classList.add("show"),setTimeout(()=>_n.removeToast(s),i)}}),h(_n,"removeToast",e=>{e.classList.remove("show"),e.addEventListener("transitionend",()=>{e.parentElement&&e.parentElement.removeChild(e)})});let xt=_n;function ho(n){return typeof n!="string"?null:n.includes("test")?"test":n.includes("live")?"live":null}function fa(n,e){return n.filter(i=>i===e).length>1}const pi={select_payment_method_text:"Select your preferred payment method",powered:"Powered by",terms:"Terms",privacy:"Privacy",contact:"Contact","error-occured":"An error occured","transaction-limit":"Transaction limit reached","merchant-email-required":"Merchant key or email is required","no-local-currency":"Local currency is required for USD transactions","rate-not-found":"Rate not found","error-description":"We're having trouble loading this page. Please check your connection or try again.","something-wrong":"Something went wrong","merchant-back":"Go back to Merchant","test-card":"Test Cards",amount:"Amount","to-pay":"To pay",translating:"Translating"},vi={"try-again":"Try again","confirming-txn-status":"We are confirming transaction status.","few-minutes":"This can take a few minutes.","please-wait-for":"Please wait for",minutes:"minutes","what-is-this":"What is this?","rate-reflect-note":"This rate reflects the current exchange rate for converting United States Dollars (USD) to","rate-please-note":"Please note that exchange rates are subject to change and may vary slightly at the time of the transaction.","we-processed":"We've processed your",charge:"charge","payment-success":"Payment Successful","payment-failed":"Payment failed","error-with-payment":"Error with Payment","maximum-retries":"Maximum retries","maximum-retries-desc":"You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.",copy:"Copy",copied:"Copied!","copy-fail":"Failed to copy","long-processing":"Your transaction is being processed and is taking longer than usual to confirm. You don't need to stay on this page","once-confirmed":"we will notify you once it is confirmed","verify-payment":"Verifying Payment"},bi={"enter-card-details":"Enter your card details",certified:"Certified","card-confirmation-one":"By confirming this payment, you allow","card-confirmation-two":"to charge your card for this payment and future payments in accordance with their terms.","card-holder-name":"Card holder name","card-number":"Card number","continue-to":"Continue to pay","card-number-invalid":"Your card number is invalid","invalid-issue-card":"Invalid card. Only locally issued cards are accepted.","card-expired":"Your card has expired","enable-popup":"Please enable popups for this site to complete the authentication.","enter-otp":"Please enter your OTP sent to your phone","enter-pin":"Please enter your 4-digit card pin to authorize this payment","cancel-payment":"Cancel payment",authorize:"Authorize",card:"Card","proceed-3ds":"Proceed to 3D Secure"},fi={expiry:"Expiry","no-auth":"No auth",address:"Address",city:"City",state:"State",country:"Country",number:"Number",zip:"Zip"},gi={"bank-name":"Bank name",beneficiary:"Beneficiary","account-details":"Account details","error-fetching":"Error fetching bank details","account-expired":"Account Expired","account-expired-desc":" Looks like your account is not valid. Please confirm and try again","transfer-header":"Make a single bank transfer from your bank to this account before it expires.","account-number":"Account Number","made-transfer":"I have made this bank transfer","expiration-text":"This account is for this transaction only and expires in"},yi={"header-text":"Please enter your Mobile Money details to begin payment",network:"Network","cancel-payment":"Cancel payment","generate-otp":"Please generate the OTP code by dialing #144*82#, then enter the OTP below",certified:"Certified","select-network":"Select Network","enter-otp":"Enter OTP","enter-number":"Enter your mobile number","continue-to":"Continue to pay","unable-fetch":"Unable to fetch network providers at this time.","valid-number-message":"Please enter a valid phone number. You can remove the leading zero if it exists.","enter-phone-otp":"Please enter your OTP sent to your phone",authorize:"Authorize"},wi={"unable-redirect-url":"Unable to get redirect URL","payment-cancelled":"Payment Cancelled","cancel-payment-desc":"You have cancelled the payment. Go back to merchant website to start the payment process again.","authenticate-request":"Please click the button below to authenticate your payment",authenticate:"Authenticate"},$=async(n,e)=>{if(e!=="en")try{return(await vn({text:n,target:e||"en"})).translatedText??n}catch{return n}else return n};let ne=pi;const ga=async n=>{const e=Object.values(pi);await vn({text:e,target:n||"en"}).then(t=>{ne=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(pi)[a];return o[l]=s,o},{})}).catch(()=>{})};let I=vi;const ya=async n=>{const e=Object.values(vi);await vn({text:e,target:n||"en"}).then(t=>{I=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(vi)[a];return o[l]=s,o},{})}).catch(()=>{})};let ce=bi;const wa=async n=>{const e=Object.values(bi);await vn({text:e,target:n||"en"}).then(t=>{ce=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(bi)[a];return o[l]=s,o},{})}).catch(()=>{console.error("Error translating card texts")})};let nn=fi;const Ca=async n=>{const e=Object.values(fi);await vn({text:e,target:n||"en"}).then(t=>{nn=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(fi)[a];return o[l]=s,o},{})}).catch(()=>{})};let Ge=gi;const ka=async n=>{const e=Object.values(gi);await vn({text:e,target:n||"en"}).then(t=>{Ge=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(gi)[a];return o[l]=s,o},{})}).catch(()=>{console.error("Error translating bank-transfer texts")})};let Ae=yi;const Sa=async n=>{const e=Object.values(yi);await vn({text:e,target:n||"en"}).then(t=>{Ae=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(yi)[a];return o[l]=s,o},{})}).catch(()=>{console.error("Error translating mobile money texts")})};let Fn=wi;const xa=async n=>{const e=Object.values(wi);await vn({text:e,target:n||"en"}).then(t=>{Fn=((t==null?void 0:t.translatedText)||[]).reduce((o,s,a)=>{const l=Object.keys(wi)[a];return o[l]=s,o},{})}).catch(()=>{console.error("Error translating EFT texts")})};class mo{constructor(e){h(this,"container");h(this,"onAction");h(this,"cardDetailsValues");h(this,"creditCardTypes");h(this,"merchantName");h(this,"currency");this.container=e.container,this.onAction=e.onAction,this.creditCardTypes=[...uo],this.cardDetailsValues={number:"",expiry:"",cvv:"",name:""},this.merchantName=e.merchantName,this.currency=e.currency}attachListener(){const e=document.querySelector("#pci-dss");e&&e.classList.remove("hidden");const t=document.querySelector('input[name="number"]'),i=document.querySelector('input[name="expiry"]'),o=document.querySelector('input[name="cvv"]'),s=document.querySelector('input[name="name"]'),a=document.querySelector(".details-form-button"),l=document.querySelector("#checkoutcard"),d=this.container.querySelector("#enter-details-text"),v=this.container.querySelector("#certified-text"),m=this.container.querySelector("#card-confirmation-text-one"),g=this.container.querySelector("#card-confirmation-text-two");d&&(d.innerHTML=ce["enter-card-details"]),v&&(v.innerHTML=ce.certified),m&&(m.innerHTML=ce["card-confirmation-one"]),g&&(g.innerHTML=ce["card-confirmation-two"]),t&&(t.setAttribute("placeholder",ce["card-number"]),t.addEventListener("input",b=>this.handleInputChange(b,a))),i&&i.addEventListener("input",b=>this.handleInputChange(b,a)),o&&o.addEventListener("input",b=>this.handleInputChange(b,a)),s&&(s.setAttribute("placeholder",ce["card-holder-name"]),s.addEventListener("input",b=>this.handleInputChange(b,a))),l&&l.addEventListener("submit",b=>{var f,C,w;b.preventDefault(),this.onAction(b)({pan:ua(this.cardDetailsValues.number),cvv:this.cardDetailsValues.cvv,expiryMonth:(f=this.cardDetailsValues)==null?void 0:f.expiry.split("/")[0].trim(),expiryYear:(C=this.cardDetailsValues)==null?void 0:C.expiry.split("/")[1].trim(),...this.currency==="ZAR"&&{cardHolderName:(w=this.cardDetailsValues)==null?void 0:w.name}})})}validateCreditCard(e){if(e=e.replace(/\D/g,""),!e||e.length===0||e.length<13||e.length>19)return!1;const t=e.split("").map(o=>parseInt(o,10));for(let o=t.length-2;o>=0;o-=2){let s=t[o]*2;s>9&&(s-=9),t[o]=s}return t.reduce((o,s)=>o+s,0)%10===0}handleInputChange(e,t){var l,d,v;const i=e.target,{name:o,value:s}=i;let a=s;if(s.trim()===""){this.emptyCardState(i,o);return}if(o==="number"){a=ha(s);const m=a.replace(/\s+/g,""),g=this.validateCreditCard(m);this.filterCreditCardType(s);const b=(l=this.creditCardTypes[0])==null?void 0:l.name;b&&bn.map(f=>{if(f.name===this.currency)if(f.cardTypes.includes(b)){const C=ba[b];if(C.length>1){const w=C.some(k=>m.length===k);this.checkInputValidity(g,i,ce["card-number-invalid"],w)}else m.length===C[0]&&this.checkInputValidity(g,i,ce["card-number-invalid"],m.length>=14&&m.length<=19)}else this.checkInputValidity(!1,i,ce["invalid-issue-card"],s.trim().length>=14&&s.trim().length<=19)})}else if(o==="expiry"){const m=new Date;a=pa(s);const g=a.split("/"),b=(d=g[0])==null?void 0:d.trim(),f=(v=g[1])==null?void 0:v.trim(),C=new Date().getFullYear()%100,w=m.getMonth()+1;let k=!0;(parseInt(f)===C&&parseInt(b)<w||parseInt(f)<C)&&(k=!1),(f==null?void 0:f.length)===2&&this.checkInputValidity(k,i,ce["card-expired"],g.join("").length===4)}else o==="cvv"?a=ma(s):o==="name"&&(a=s);if(this.cardDetailsValues={...this.cardDetailsValues,[o]:a},i.value=a,this.validateCard())t&&t.removeAttribute("disabled");else if(t){if(t.disabled)return;t.setAttribute("disabled","")}}hideCardHolderInput(){const e=document.querySelector("#card-name");this.currency==="ZAR"?e&&(e.style.display="block"):e&&(e.style.display="none")}validateCard(){if(this.cardDetailsValues.expiry.split("/").length===2){const e=this.cardDetailsValues.expiry.split("/")[1].trim();return!!this.cardDetailsValues.number&&this.cardDetailsValues.number.length>15&&!!this.cardDetailsValues.expiry&&this.cardDetailsValues.expiry.length>3&&!!this.cardDetailsValues.cvv&&this.cardDetailsValues.cvv.length>2&&e.length===2&&(this.currency==="ZAR"?this.cardDetailsValues.name.trim()!=="":!0)}}displayCardTypes(){requestAnimationFrame(()=>{const e=this.container.querySelector("#card-type");e.innerHTML="",this.creditCardTypes.length>0?this.creditCardTypes.forEach(t=>{const i=document.createElement("div");i.classList.add("card-type"),i.innerHTML=t.icon,e.appendChild(i)}):e.innerHTML=`<svg width="25" height="16" viewBox="0 0 25 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
498
|
+
<span id="custom-toast-msg">${e}</span>`:e,i.appendChild(s);const o=document.createElement("span");return o.textContent="×",o.classList.add("close-btn","opacity-0"),o.onclick=()=>Ln.removeToast(i),i.appendChild(o),i}),u(Ln,"showToast",(e,t,i=3e3)=>{const s=document.getElementById("toast-container");if(s){const o=Ln.createToast(e,t);s.appendChild(o),o.offsetHeight,o.classList.add("show"),setTimeout(()=>Ln.removeToast(o),i)}}),u(Ln,"removeToast",e=>{e.classList.remove("show"),e.addEventListener("transitionend",()=>{e.parentElement&&e.parentElement.removeChild(e)})});let Et=Ln;function Cs(n){return typeof n!="string"?null:n.includes("test")?"test":n.includes("live")?"live":null}function Ma(n,e){return n.filter(i=>i===e).length>1}const Ai={select_payment_method_text:"Select your preferred payment method",powered:"Powered by",terms:"Terms",privacy:"Privacy",contact:"Contact","error-occured":"An error occured","transaction-limit":"Transaction limit reached","merchant-email-required":"Merchant key or email is required","no-local-currency":"Local currency is required for USD transactions","rate-not-found":"Rate not found","error-description":"We're having trouble loading this page. Please check your connection or try again.","something-wrong":"Something went wrong","merchant-back":"Go back to Merchant","test-card":"Test Cards",amount:"Amount","to-pay":"To pay",translating:"Translating"},Mi={"try-again":"Try again","confirming-txn-status":"We are confirming transaction status.","few-minutes":"This can take a few minutes.","please-wait-for":"Please wait for",minutes:"minutes","what-is-this":"What is this?","rate-reflect-note":"This rate reflects the current exchange rate for converting United States Dollars (USD) to","rate-please-note":"Please note that exchange rates are subject to change and may vary slightly at the time of the transaction.","we-processed":"We've processed your",charge:"charge","payment-success":"Payment Successful","payment-failed":"Payment failed","error-with-payment":"Error with Payment","maximum-retries":"Maximum retries","maximum-retries-desc":"You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.",copy:"Copy",copied:"Copied!","copy-fail":"Failed to copy","long-processing":"Your transaction is being processed and is taking longer than usual to confirm. You don't need to stay on this page","once-confirmed":"we will notify you once it is confirmed","verify-payment":"Verifying Payment"},Li={"enter-card-details":"Enter your card details",certified:"Certified","card-confirmation-one":"By confirming this payment, you allow","card-confirmation-two":"to charge your card for this payment and future payments in accordance with their terms.","card-holder-name":"Card holder name","card-number":"Card number","continue-to":"Continue to pay","card-number-invalid":"Your card number is invalid","invalid-issue-card":"Invalid card. Only locally issued cards are accepted.","card-expired":"Your card has expired","enable-popup":"Please enable popups for this site to complete the authentication.","enter-otp":"Please enter your OTP sent to your phone","enter-pin":"Please enter your 4-digit card pin to authorize this payment","cancel-payment":"Cancel payment",authorize:"Authorize",card:"Card","proceed-3ds":"Proceed to 3D Secure"},Ti={expiry:"Expiry","no-auth":"No auth",address:"Address",city:"City",state:"State",country:"Country",number:"Number",zip:"Zip"},_i={"bank-name":"Bank name",beneficiary:"Beneficiary","account-details":"Account details","error-fetching":"Error fetching bank details","account-expired":"Account Expired","account-expired-desc":" Looks like your account is not valid. Please confirm and try again","transfer-header":"Make a single bank transfer from your bank to this account before it expires.","account-number":"Account Number","made-transfer":"I have made this bank transfer","expiration-text":"This account is for this transaction only and expires in"},Ei={"header-text":"Please enter your Mobile Money details to begin payment",network:"Network","cancel-payment":"Cancel payment","generate-otp":"Please generate the OTP code by dialing #144*82#, then enter the OTP below",certified:"Certified","select-network":"Select Network","enter-otp":"Enter OTP","enter-number":"Enter your mobile number","continue-to":"Continue to pay","unable-fetch":"Unable to fetch network providers at this time.","valid-number-message":"Please enter a valid phone number. You can remove the leading zero if it exists.","enter-phone-otp":"Please enter your OTP sent to your phone",authorize:"Authorize"},Pi={"unable-redirect-url":"Unable to get redirect URL","payment-cancelled":"Payment Cancelled","cancel-payment-desc":"You have cancelled the payment. Go back to merchant website to start the payment process again.","authenticate-request":"Please click the button below to authenticate your payment",authenticate:"Authenticate"},Ii={"unable-redirect-url":"Unable to get redirect URL","payment-cancelled":"Payment Cancelled","cancel-payment-desc":"You have cancelled the payment. Go back to merchant website to start the payment process again.","authenticate-request":"Please click the button below to authenticate your payment",authenticate:"Authenticate"},q=async(n,e)=>{if(e!=="en")try{return(await an({text:n,target:e||"en"})).translatedText??n}catch{return n}else return n};let Q=Ai;const La=async n=>{const e=Object.values(Ai);await an({text:e,target:n||"en"}).then(t=>{Q=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Ai)[a];return s[l]=o,s},{})}).catch(()=>{})};let D=Mi;const Ta=async n=>{const e=Object.values(Mi);await an({text:e,target:n||"en"}).then(t=>{D=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Mi)[a];return s[l]=o,s},{})}).catch(()=>{})};let ue=Li;const _a=async n=>{const e=Object.values(Li);await an({text:e,target:n||"en"}).then(t=>{ue=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Li)[a];return s[l]=o,s},{})}).catch(()=>{console.error("Error translating card texts")})};let rn=Ti;const Ea=async n=>{const e=Object.values(Ti);await an({text:e,target:n||"en"}).then(t=>{rn=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Ti)[a];return s[l]=o,s},{})}).catch(()=>{})};let je=_i;const Pa=async n=>{const e=Object.values(_i);await an({text:e,target:n||"en"}).then(t=>{je=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(_i)[a];return s[l]=o,s},{})}).catch(()=>{console.error("Error translating bank-transfer texts")})};let _e=Ei;const Ia=async n=>{const e=Object.values(Ei);await an({text:e,target:n||"en"}).then(t=>{_e=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Ei)[a];return s[l]=o,s},{})}).catch(()=>{console.error("Error translating mobile money texts")})};let jn=Pi;const Da=async n=>{const e=Object.values(Pi);await an({text:e,target:n||"en"}).then(t=>{jn=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Pi)[a];return s[l]=o,s},{})}).catch(()=>{console.error("Error translating EFT texts")})};let zn=Ii;const Ba=async n=>{const e=Object.values(Ii);await an({text:e,target:n||"en"}).then(t=>{zn=((t==null?void 0:t.translatedText)||[]).reduce((s,o,a)=>{const l=Object.keys(Ii)[a];return s[l]=o,s},{})}).catch(()=>{console.error("Error translating Opay texts")})};class ws{constructor(e){u(this,"container");u(this,"onAction");u(this,"cardDetailsValues");u(this,"creditCardTypes");u(this,"merchantName");u(this,"currency");this.container=e.container,this.onAction=e.onAction,this.creditCardTypes=[...ys],this.cardDetailsValues={number:"",expiry:"",cvv:"",name:""},this.merchantName=e.merchantName,this.currency=e.currency}attachListener(){const e=document.querySelector("#pci-dss");e&&e.classList.remove("hidden");const t=document.querySelector('input[name="number"]'),i=document.querySelector('input[name="expiry"]'),s=document.querySelector('input[name="cvv"]'),o=document.querySelector('input[name="name"]'),a=document.querySelector(".details-form-button"),l=document.querySelector("#checkoutcard"),c=this.container.querySelector("#enter-details-text"),v=this.container.querySelector("#certified-text"),m=this.container.querySelector("#card-confirmation-text-one"),f=this.container.querySelector("#card-confirmation-text-two");c&&(c.innerHTML=ue["enter-card-details"]),v&&(v.innerHTML=ue.certified),m&&(m.innerHTML=ue["card-confirmation-one"]),f&&(f.innerHTML=ue["card-confirmation-two"]),t&&(t.setAttribute("placeholder",ue["card-number"]),t.addEventListener("input",b=>this.handleInputChange(b,a))),i&&i.addEventListener("input",b=>this.handleInputChange(b,a)),s&&s.addEventListener("input",b=>this.handleInputChange(b,a)),o&&(o.setAttribute("placeholder",ue["card-holder-name"]),o.addEventListener("input",b=>this.handleInputChange(b,a))),l&&l.addEventListener("submit",b=>{var g,w,C;b.preventDefault(),this.onAction(b)({pan:Ca(this.cardDetailsValues.number),cvv:this.cardDetailsValues.cvv,expiryMonth:(g=this.cardDetailsValues)==null?void 0:g.expiry.split("/")[0].trim(),expiryYear:(w=this.cardDetailsValues)==null?void 0:w.expiry.split("/")[1].trim(),...this.currency==="ZAR"&&{cardHolderName:(C=this.cardDetailsValues)==null?void 0:C.name}})})}validateCreditCard(e){if(e=e.replace(/\D/g,""),!e||e.length===0||e.length<13||e.length>19)return!1;const t=e.split("").map(s=>parseInt(s,10));for(let s=t.length-2;s>=0;s-=2){let o=t[s]*2;o>9&&(o-=9),t[s]=o}return t.reduce((s,o)=>s+o,0)%10===0}handleInputChange(e,t){var l,c,v;const i=e.target,{name:s,value:o}=i;let a=o;if(o.trim()===""){this.emptyCardState(i,s);return}if(s==="number"){a=wa(o);const m=a.replace(/\s+/g,""),f=this.validateCreditCard(m);this.filterCreditCardType(o);const b=(l=this.creditCardTypes[0])==null?void 0:l.name;b&&gn.map(g=>{if(g.name===this.currency)if(g.cardTypes.includes(b)){const w=Aa[b];if(w.length>1){const C=w.some(k=>m.length===k);this.checkInputValidity(f,i,ue["card-number-invalid"],C)}else m.length===w[0]&&this.checkInputValidity(f,i,ue["card-number-invalid"],m.length>=14&&m.length<=19)}else this.checkInputValidity(!1,i,ue["invalid-issue-card"],o.trim().length>=14&&o.trim().length<=19)})}else if(s==="expiry"){const m=new Date;a=Sa(o);const f=a.split("/"),b=(c=f[0])==null?void 0:c.trim(),g=(v=f[1])==null?void 0:v.trim(),w=new Date().getFullYear()%100,C=m.getMonth()+1;let k=!0;(parseInt(g)===w&&parseInt(b)<C||parseInt(g)<w)&&(k=!1),(g==null?void 0:g.length)===2&&this.checkInputValidity(k,i,ue["card-expired"],f.join("").length===4)}else s==="cvv"?a=ka(o):s==="name"&&(a=o);if(this.cardDetailsValues={...this.cardDetailsValues,[s]:a},i.value=a,this.validateCard())t&&t.removeAttribute("disabled");else if(t){if(t.disabled)return;t.setAttribute("disabled","")}}hideCardHolderInput(){const e=document.querySelector("#card-name");this.currency==="ZAR"?e&&(e.style.display="block"):e&&(e.style.display="none")}validateCard(){if(this.cardDetailsValues.expiry.split("/").length===2){const e=this.cardDetailsValues.expiry.split("/")[1].trim();return!!this.cardDetailsValues.number&&this.cardDetailsValues.number.length>15&&!!this.cardDetailsValues.expiry&&this.cardDetailsValues.expiry.length>3&&!!this.cardDetailsValues.cvv&&this.cardDetailsValues.cvv.length>2&&e.length===2&&(this.currency==="ZAR"?this.cardDetailsValues.name.trim()!=="":!0)}}displayCardTypes(){requestAnimationFrame(()=>{const e=this.container.querySelector("#card-type");e.innerHTML="",this.creditCardTypes.length>0?this.creditCardTypes.forEach(t=>{const i=document.createElement("div");i.classList.add("card-type"),i.innerHTML=t.icon,e.appendChild(i)}):e.innerHTML=`<svg width="25" height="16" viewBox="0 0 25 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
481
499
|
<path
|
|
482
500
|
d="M24.5827 6.33333V14.6667C24.5827 14.8877 24.4554 15.0996 24.2288 15.2559C24.0022 15.4122 23.6948 15.5 23.3743 15.5H1.62435C1.30388 15.5 0.996535 15.4122 0.769928 15.2559C0.543322 15.0996 0.416016 14.8877 0.416016 14.6667V6.33333H24.5827ZM24.5827 4.66667H0.416016V1.33333C0.416016 1.11232 0.543322 0.900358 0.769928 0.744078C0.996535 0.587797 1.30388 0.5 1.62435 0.5H23.3743C23.6948 0.5 24.0022 0.587797 24.2288 0.744078C24.4554 0.900358 24.5827 1.11232 24.5827 1.33333V4.66667ZM16.1243 11.3333V13H20.9577V11.3333H16.1243Z"
|
|
483
501
|
fill="#B6B4B9" />
|
|
484
|
-
</svg>`})}filterCreditCardType(e){e?(this.creditCardTypes=
|
|
502
|
+
</svg>`})}filterCreditCardType(e){e?(this.creditCardTypes=ys.filter(t=>t.name===xa(e)),this.displayCardTypes()):(this.creditCardTypes=[],this.displayCardTypes())}emptyCardState(e,t){e.style.border="";const i=document.getElementById("card-number-error"),s=document.getElementById("expiry-error"),o=this.container.querySelector("#card-type"),a=document.querySelector("#card-error"),l=document.querySelector("#card-details");if(e.style.color="#0D0716",l&&(l.style.border="1px solid #9E9BA1"),a&&(a.classList.remove("block"),a.classList.add("hidden")),s&&s.remove(),i&&i.remove(),this.cardDetailsValues={...this.cardDetailsValues,[t]:""},t==="number"&&(o.innerHTML=`<svg width="25" height="16" viewBox="0 0 25 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
485
503
|
<path
|
|
486
504
|
d="M24.5827 6.33333V14.6667C24.5827 14.8877 24.4554 15.0996 24.2288 15.2559C24.0022 15.4122 23.6948 15.5 23.3743 15.5H1.62435C1.30388 15.5 0.996535 15.4122 0.769928 15.2559C0.543322 15.0996 0.416016 14.8877 0.416016 14.6667V6.33333H24.5827ZM24.5827 4.66667H0.416016V1.33333C0.416016 1.11232 0.543322 0.900358 0.769928 0.744078C0.996535 0.587797 1.30388 0.5 1.62435 0.5H23.3743C23.6948 0.5 24.0022 0.587797 24.2288 0.744078C24.4554 0.900358 24.5827 1.11232 24.5827 1.33333V4.66667ZM16.1243 11.3333V13H20.9577V11.3333H16.1243Z"
|
|
487
505
|
fill="#B6B4B9" />
|
|
488
|
-
</svg>`),t==="expiry"&&e.value.length===0){const
|
|
506
|
+
</svg>`),t==="expiry"&&e.value.length===0){const c=document.querySelector('input[name="number"]');c==null||c.focus()}if(t==="cvv"&&e.value.length===0){const c=document.querySelector('input[name="expiry"]');c==null||c.focus()}}checkInputValidity(e,t,i,s){const o=document.querySelector("#card-details"),a=document.querySelector("#card-error"),{name:l}=t;if(!e)o&&(o.style.border="1px solid #D62020"),a&&(a.classList.remove("hidden"),a.classList.add("block"),a.innerHTML=i),t.style.color="#D62020";else if(o&&(o.style.border="1px solid #9E9BA1"),a&&(a.classList.remove("block"),a.classList.add("hidden")),t.style.color="#0D0716",s){if(l==="number"){const c=document.querySelector('input[name="expiry"]');c==null||c.focus()}if(l==="expiry"){const c=document.querySelector('input[name="cvv"]');c==null||c.focus()}}}renderContent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#merchant-name");e&&(e.innerHTML=this.merchantName),this.attachListener(),this.hideCardHolderInput()}render(){return ga}}async function Na(n,e){const t=Uint8Array.from(atob(e),c=>c.charCodeAt(0)),i=crypto.getRandomValues(new Uint8Array(12)),s=new TextEncoder().encode(n),o=await crypto.subtle.importKey("raw",t,{name:"AES-GCM"},!1,["encrypt"]),a=await crypto.subtle.encrypt({name:"AES-GCM",iv:i},o,s),l=new Uint8Array(i.length+a.byteLength);return l.set(i),l.set(new Uint8Array(a),i.length),btoa(String.fromCharCode.apply(null,l))}const Ha=`<div id="paymentSuccess">
|
|
489
507
|
<div class="container-center min-h-[30dvh]">
|
|
490
508
|
<div>
|
|
491
509
|
<div class="container-center mb-5">
|
|
@@ -503,7 +521,7 @@
|
|
|
503
521
|
</p>
|
|
504
522
|
</div>
|
|
505
523
|
</div>
|
|
506
|
-
</div>`;class
|
|
524
|
+
</div>`;class qn{constructor({container:e,amount:t,currency:i,localCurrency:s,rate:o,message:a}){u(this,"container");u(this,"amount");u(this,"currency");u(this,"localCurrency");u(this,"rate");u(this,"message");this.container=e,this.amount=t,this.currency=i,this.localCurrency=s,this.rate=o,this.message=a}renderComponent(){this.container.innerHTML=this.render();const e=document.querySelector("#success-amount"),t=document.querySelector("#payment-success-text"),i=document.querySelector("#processed-text"),s=document.querySelector("#charge-text");t&&(this.message?t.innerHTML=this.message:t.innerHTML=D["payment-success"]),i&&(i.innerHTML=D["we-processed"]),s&&(s.innerHTML=D.charge),e&&(e.innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${Se(this.amount)}`)}render(){return Ha}}const ks=`<div id="paymentWarning">
|
|
507
525
|
<div class="container-center min-h-[30dvh]">
|
|
508
526
|
<div>
|
|
509
527
|
<div class="container-center mb-5">
|
|
@@ -534,7 +552,7 @@
|
|
|
534
552
|
</div> -->
|
|
535
553
|
</div>
|
|
536
554
|
</div>
|
|
537
|
-
</div>`;class
|
|
555
|
+
</div>`;class ln{constructor({container:e,onAction:t,onReportIssue:i}){u(this,"container");u(this,"onAction");u(this,"onReportIssue");this.container=e,this.onAction=t||(()=>null),this.onReportIssue=i||(()=>null)}attachListener(){const e=this.container.querySelector("#try-again"),t=this.container.querySelector("#report-issue");e&&e.addEventListener("click",()=>{this.onAction&&this.onAction()}),t&&t.addEventListener("click",()=>{this.onReportIssue&&this.onReportIssue()})}setPaymentError(e,t,i){const s=this.container.querySelector("#payment-warning-text"),o=this.container.querySelector("#payment-warning-desc"),a=this.container.querySelector("#try-again");s&&(s.textContent=e),o&&t&&(o.textContent=t),a&&(i?a.textContent=i:a.textContent=D["try-again"]),a&&i&&(a.textContent=i),this.attachListener()}hideReportIssue(){const e=this.container.querySelector("#report-issue");e&&(e.style.display="none")}renderComponent(){this.container.innerHTML=this.render()}render(){return ks}}const Ra=`<div id="checkoutcardotp">
|
|
538
556
|
<div class="w-full">
|
|
539
557
|
<div id="otp-content" class=" grid gap-4">
|
|
540
558
|
<h5 class="text-black" id="otp-message">
|
|
@@ -566,11 +584,11 @@
|
|
|
566
584
|
</div>
|
|
567
585
|
</div>
|
|
568
586
|
</div>
|
|
569
|
-
</div>`;class
|
|
587
|
+
</div>`;class Oa{constructor(e){u(this,"container");u(this,"cardOtp");u(this,"onClose");u(this,"onAction");u(this,"otpMessage");this.container=e.container,this.onAction=e.onAction,this.onClose=e.onClose,this.cardOtp="",this.otpMessage=e.otpMessage}attachListener(){const e=this.container.querySelector(".otp-input"),t=this.container.querySelector(".otp-button"),i=this.container.querySelector("#cancel-payment"),s=this.container.querySelector("#authorize-text");s&&(s.innerHTML=ue.authorize),e&&e.addEventListener("input",o=>this.handleOtpInput(o,t)),t&&t.addEventListener("click",o=>{this.onAction(o)(this.cardOtp)}),i&&(i.innerHTML=ue["cancel-payment"],i.addEventListener("click",()=>{const o=this.container.querySelector("#otp-loader");o&&(o.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
570
588
|
<path
|
|
571
589
|
d="M62 32C62 38.6156 59.8132 45.0457 55.78 50.2897C51.7468 55.5336 46.0932 59.2974 39.6992 60.9952C33.3052 62.693 26.5293 62.2297 20.4258 59.6774C14.3224 57.1251 9.2338 52.6268 5.95186 46.8827C2.66993 41.1385 1.37873 34.4707 2.2792 27.9166C3.17967 21.3626 6.22129 15.29 10.9308 10.6438C15.6402 5.9976 21.7534 3.0384 28.3191 2.22668C34.8847 1.41496 41.5345 2.79623 47.2337 6.15557"
|
|
572
590
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
573
|
-
</svg>`),i&&i.classList.add("hidden"),t&&t.setAttribute("disabled","true"),e&&(e.value="",this.cardOtp="",e.setAttribute("disabled","true")),this.onClose(!1)}))}handleOtpInput(e,t){const i=e.target,
|
|
591
|
+
</svg>`),i&&i.classList.add("hidden"),t&&t.setAttribute("disabled","true"),e&&(e.value="",this.cardOtp="",e.setAttribute("disabled","true")),this.onClose(!1)}))}handleOtpInput(e,t){const i=e.target,s=e.data;s&&this.cardOtp.length<6?this.cardOtp+=s:e.inputType==="deleteContentBackward"&&(this.cardOtp=this.cardOtp.slice(0,-1)),i.value="*".repeat(this.cardOtp.length),this.cardOtp.length>=6&&t&&t.removeAttribute("disabled")}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#otp-message");e&&(e.innerHTML=this.otpMessage),this.attachListener()}render(){return Ra}}const Ua=`<div id="checkoutcardpin">
|
|
574
592
|
<div>
|
|
575
593
|
<div id="pin-content" class="grid gap-4">
|
|
576
594
|
<h5 id="enter-pin-text">
|
|
@@ -597,11 +615,11 @@
|
|
|
597
615
|
</div>
|
|
598
616
|
</div>
|
|
599
617
|
</div>
|
|
600
|
-
</div>`;class
|
|
618
|
+
</div>`;class Va{constructor(e){u(this,"container");u(this,"cardPin");u(this,"onAction");u(this,"onClose");u(this,"pinValues",[]);this.container=e.container,this.onAction=e.onAction,this.onClose=e.onClose,this.cardPin=""}attachListener(){const e=Array.from(this.container.querySelectorAll(".pin-input")),t=this.container.querySelector("#enter-pin-text");t&&(t.innerHTML=ue["enter-pin"]),e.forEach((s,o)=>{s.addEventListener("input",a=>this.handlePinInputChange(a,o,e)),s.addEventListener("paste",a=>this.handlePinPaste(a,e))});const i=this.container.querySelector("#cancel-payment");i&&(i.innerHTML=ue["cancel-payment"],i.addEventListener("click",()=>{const s=this.container.querySelector("#pin-loader"),o=this.container.querySelector("#cancel-payment");s&&(s.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
601
619
|
<path
|
|
602
620
|
d="M62 32C62 38.6156 59.8132 45.0457 55.78 50.2897C51.7468 55.5336 46.0932 59.2974 39.6992 60.9952C33.3052 62.693 26.5293 62.2297 20.4258 59.6774C14.3224 57.1251 9.2338 52.6268 5.95186 46.8827C2.66993 41.1385 1.37873 34.4707 2.2792 27.9166C3.17967 21.3626 6.22129 15.29 10.9308 10.6438C15.6402 5.9976 21.7534 3.0384 28.3191 2.22668C34.8847 1.41496 41.5345 2.79623 47.2337 6.15557"
|
|
603
621
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
604
|
-
</svg>`),
|
|
622
|
+
</svg>`),o&&o.classList.add("hidden"),this.onClose(!1)}))}handlePinPaste(e,t){var o;e.preventDefault(),this.cardPin="";const s=(((o=e.clipboardData)==null?void 0:o.getData("text").trim())||"").split("");t.forEach((a,l)=>{a.value=s[l]?"*":"",a.style.fontSize="1.5rem",a.style.fontWeight="bold",this.pinValues[l]=s[l]||""});for(let a=0;a<t.length;a++)if(!this.pinValues[a]){t[a].focus();break}this.cardPin=this.pinValues.join(""),this.onAction(this.cardPin)}handlePinInputChange(e,t,i){this.cardPin="";const s=e.target,o=s.value;o?(this.pinValues[t]=o,s.value="*",s.style.fontSize="1.5rem",s.style.fontWeight="bold",t<i.length-1&&i[t+1].focus()):t>0&&(this.pinValues[t]="",i[t-1].focus()),this.cardPin=this.pinValues.join(""),this.onAction(this.cardPin)}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return Ua}}const Ka=`<form id="card-avs-form">
|
|
605
623
|
<div>
|
|
606
624
|
<h5 class="text-grey-400 font-semibold text-sm" id="billing-text"></h5>
|
|
607
625
|
<div class="mt-2 mb-3 md:mb-5 border border-grey-100 rounded-lg p-3 grid grid-rows-1 gap-3">
|
|
@@ -685,18 +703,18 @@
|
|
|
685
703
|
<p class="text-xxs text-grey-100">
|
|
686
704
|
PCI DSS <span id="certified-text"></span>
|
|
687
705
|
</p>
|
|
688
|
-
</div>`,Da={countries:[{code2:"AF",code3:"AFG",name:"Afghanistan",capital:"Kabul",region:"Asia",subregion:"Southern Asia",states:[{code:"BDS",name:"Badakhshān",subdivision:null},{code:"BGL",name:"Baghlān",subdivision:null},{code:"BAL",name:"Balkh",subdivision:null},{code:"BDG",name:"Bādghīs",subdivision:null},{code:"BAM",name:"Bāmyān",subdivision:null},{code:"DAY",name:"Dāykundī",subdivision:null},{code:"FRA",name:"Farāh",subdivision:null},{code:"FYB",name:"Fāryāb",subdivision:null},{code:"GHA",name:"Ghaznī",subdivision:null},{code:"GHO",name:"Ghōr",subdivision:null},{code:"HEL",name:"Helmand",subdivision:null},{code:"HER",name:"Herāt",subdivision:null},{code:"JOW",name:"Jowzjān",subdivision:null},{code:"KAN",name:"Kandahār",subdivision:null},{code:"KHO",name:"Khōst",subdivision:null},{code:"KNR",name:"Kunar",subdivision:null},{code:"KDZ",name:"Kunduz",subdivision:null},{code:"KAB",name:"Kābul",subdivision:null},{code:"KAP",name:"Kāpīsā",subdivision:null},{code:"LAG",name:"Laghmān",subdivision:null},{code:"LOG",name:"Lōgar",subdivision:null},{code:"NAN",name:"Nangarhār",subdivision:null},{code:"NIM",name:"Nīmrōz",subdivision:null},{code:"NUR",name:"Nūristān",subdivision:null},{code:"PIA",name:"Paktiyā",subdivision:null},{code:"PKA",name:"Paktīkā",subdivision:null},{code:"PAN",name:"Panjshayr",subdivision:null},{code:"PAR",name:"Parwān",subdivision:null},{code:"SAM",name:"Samangān",subdivision:null},{code:"SAR",name:"Sar-e Pul",subdivision:null},{code:"TAK",name:"Takhār",subdivision:null},{code:"URU",name:"Uruzgān",subdivision:null},{code:"WAR",name:"Wardak",subdivision:null},{code:"ZAB",name:"Zābul",subdivision:null}]},{code2:"AX",code3:"ALA",name:"Åland Islands",capital:"Mariehamn",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"AL",code3:"ALB",name:"Albania",capital:"Tirana",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Berat",subdivision:null},{code:"09",name:"Dibër",subdivision:null},{code:"02",name:"Durrës",subdivision:null},{code:"03",name:"Elbasan",subdivision:null},{code:"04",name:"Fier",subdivision:null},{code:"05",name:"Gjirokastër",subdivision:null},{code:"06",name:"Korçë",subdivision:null},{code:"07",name:"Kukës",subdivision:null},{code:"08",name:"Lezhë",subdivision:null},{code:"10",name:"Shkodër",subdivision:null},{code:"11",name:"Tiranë",subdivision:null},{code:"12",name:"Vlorë",subdivision:null}]},{code2:"DZ",code3:"DZA",name:"Algeria",capital:"Algiers",region:"Africa",subregion:"Northern Africa",states:[{code:"01",name:"Adrar",subdivision:null},{code:"16",name:"Alger",subdivision:null},{code:"23",name:"Annaba",subdivision:null},{code:"44",name:"Aïn Defla",subdivision:null},{code:"46",name:"Aïn Témouchent",subdivision:null},{code:"05",name:"Batna",subdivision:null},{code:"07",name:"Biskra",subdivision:null},{code:"09",name:"Blida",subdivision:null},{code:"34",name:"Bordj Bou Arréridj",subdivision:null},{code:"10",name:"Bouira",subdivision:null},{code:"35",name:"Boumerdès",subdivision:null},{code:"08",name:"Béchar",subdivision:null},{code:"06",name:"Béjaïa",subdivision:null},{code:"02",name:"Chlef",subdivision:null},{code:"25",name:"Constantine",subdivision:null},{code:"17",name:"Djelfa",subdivision:null},{code:"32",name:"El Bayadh",subdivision:null},{code:"39",name:"El Oued",subdivision:null},{code:"36",name:"El Tarf",subdivision:null},{code:"47",name:"Ghardaïa",subdivision:null},{code:"24",name:"Guelma",subdivision:null},{code:"33",name:"Illizi",subdivision:null},{code:"18",name:"Jijel",subdivision:null},{code:"40",name:"Khenchela",subdivision:null},{code:"03",name:"Laghouat",subdivision:null},{code:"29",name:"Mascara",subdivision:null},{code:"43",name:"Mila",subdivision:null},{code:"27",name:"Mostaganem",subdivision:null},{code:"28",name:"Msila",subdivision:null},{code:"26",name:"Médéa",subdivision:null},{code:"45",name:"Naama",subdivision:null},{code:"31",name:"Oran",subdivision:null},{code:"30",name:"Ouargla",subdivision:null},{code:"04",name:"Oum el Bouaghi",subdivision:null},{code:"48",name:"Relizane",subdivision:null},{code:"20",name:"Saïda",subdivision:null},{code:"22",name:"Sidi Bel Abbès",subdivision:null},{code:"21",name:"Skikda",subdivision:null},{code:"41",name:"Souk Ahras",subdivision:null},{code:"19",name:"Sétif",subdivision:null},{code:"11",name:"Tamanghasset",subdivision:null},{code:"14",name:"Tiaret",subdivision:null},{code:"37",name:"Tindouf",subdivision:null},{code:"42",name:"Tipaza",subdivision:null},{code:"38",name:"Tissemsilt",subdivision:null},{code:"15",name:"Tizi Ouzou",subdivision:null},{code:"13",name:"Tlemcen",subdivision:null},{code:"12",name:"Tébessa",subdivision:null}]},{code2:"AS",code3:"ASM",name:"American Samoa",capital:"Pago Pago",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"AD",code3:"AND",name:"Andorra",capital:"Andorra la Vella",region:"Europe",subregion:"Southern Europe",states:[{code:"07",name:"Andorra la Vella",subdivision:null},{code:"02",name:"Canillo",subdivision:null},{code:"03",name:"Encamp",subdivision:null},{code:"08",name:"Escaldes-Engordany",subdivision:null},{code:"04",name:"La Massana",subdivision:null},{code:"05",name:"Ordino",subdivision:null},{code:"06",name:"Sant Julià de Lòria",subdivision:null}]},{code2:"AO",code3:"AGO",name:"Angola",capital:"Luanda",region:"Africa",subregion:"Middle Africa",states:[{code:"BGO",name:"Bengo",subdivision:null},{code:"BGU",name:"Benguela",subdivision:null},{code:"BIE",name:"Bié",subdivision:null},{code:"CAB",name:"Cabinda",subdivision:null},{code:"CNN",name:"Cunene",subdivision:null},{code:"HUA",name:"Huambo",subdivision:null},{code:"HUI",name:"Huíla",subdivision:null},{code:"CCU",name:"Kuando Kubango",subdivision:null},{code:"CNO",name:"Kwanza Norte",subdivision:null},{code:"CUS",name:"Kwanza Sul",subdivision:null},{code:"LUA",name:"Luanda",subdivision:null},{code:"LNO",name:"Lunda Norte",subdivision:null},{code:"LSU",name:"Lunda Sul",subdivision:null},{code:"MAL",name:"Malange",subdivision:null},{code:"MOX",name:"Moxico",subdivision:null},{code:"NAM",name:"Namibe",subdivision:null},{code:"UIG",name:"Uíge",subdivision:null},{code:"ZAI",name:"Zaire",subdivision:null}]},{code2:"AI",code3:"AIA",name:"Anguilla",capital:"The Valley",region:"Americas",subregion:"Caribbean",states:[]},{code2:"AQ",code3:"ATA",name:"Antarctica",capital:"",region:"Polar",subregion:"",states:[]},{code2:"AG",code3:"ATG",name:"Antigua and Barbuda",capital:"Saint John's",region:"Americas",subregion:"Caribbean",states:[{code:"10",name:"Barbuda",subdivision:null},{code:"11",name:"Redonda",subdivision:null},{code:"03",name:"Saint George",subdivision:null},{code:"04",name:"Saint John",subdivision:null},{code:"05",name:"Saint Mary",subdivision:null},{code:"06",name:"Saint Paul",subdivision:null},{code:"07",name:"Saint Peter",subdivision:null},{code:"08",name:"Saint Philip",subdivision:null}]},{code2:"AR",code3:"ARG",name:"Argentina",capital:"Buenos Aires",region:"Americas",subregion:"South America",states:[{code:"B",name:"Buenos Aires",subdivision:null},{code:"K",name:"Catamarca",subdivision:null},{code:"H",name:"Chaco",subdivision:null},{code:"U",name:"Chubut",subdivision:null},{code:"C",name:"Ciudad Autónoma de Buenos Aires",subdivision:null},{code:"W",name:"Corrientes",subdivision:null},{code:"X",name:"Córdoba",subdivision:null},{code:"E",name:"Entre Ríos",subdivision:null},{code:"P",name:"Formosa",subdivision:null},{code:"Y",name:"Jujuy",subdivision:null},{code:"L",name:"La Pampa",subdivision:null},{code:"F",name:"La Rioja",subdivision:null},{code:"M",name:"Mendoza",subdivision:null},{code:"N",name:"Misiones",subdivision:null},{code:"Q",name:"Neuquén",subdivision:null},{code:"R",name:"Río Negro",subdivision:null},{code:"A",name:"Salta",subdivision:null},{code:"J",name:"San Juan",subdivision:null},{code:"D",name:"San Luis",subdivision:null},{code:"Z",name:"Santa Cruz",subdivision:null},{code:"S",name:"Santa Fe",subdivision:null},{code:"G",name:"Santiago del Estero",subdivision:null},{code:"V",name:"Tierra del Fuego",subdivision:null},{code:"T",name:"Tucumán",subdivision:null}]},{code2:"AM",code3:"ARM",name:"Armenia",capital:"Yerevan",region:"Asia",subregion:"Western Asia",states:[{code:"AG",name:"Aragac̣otn",subdivision:null},{code:"AR",name:"Ararat",subdivision:null},{code:"AV",name:"Armavir",subdivision:null},{code:"ER",name:"Erevan",subdivision:null},{code:"GR",name:"Geġark'unik'",subdivision:null},{code:"KT",name:"Kotayk'",subdivision:null},{code:"LO",name:"Loṙi",subdivision:null},{code:"SU",name:"Syunik'",subdivision:null},{code:"TV",name:"Tavuš",subdivision:null},{code:"VD",name:"Vayoć Jor",subdivision:null},{code:"SH",name:"Širak",subdivision:null}]},{code2:"AW",code3:"ABW",name:"Aruba",capital:"Oranjestad",region:"Americas",subregion:"Caribbean",states:[]},{code2:"AU",code3:"AUS",name:"Australia",capital:"Canberra",region:"Oceania",subregion:"Australia and New Zealand",states:[{code:"ACT",name:"Australian Capital Territory",subdivision:null},{code:"NSW",name:"New South Wales",subdivision:null},{code:"NT",name:"Northern Territory",subdivision:null},{code:"QLD",name:"Queensland",subdivision:null},{code:"SA",name:"South Australia",subdivision:null},{code:"TAS",name:"Tasmania",subdivision:null},{code:"VIC",name:"Victoria",subdivision:null},{code:"WA",name:"Western Australia",subdivision:null}]},{code2:"AT",code3:"AUT",name:"Austria",capital:"Vienna",region:"Europe",subregion:"Western Europe",states:[{code:"B",name:"Burgenland",subdivision:null},{code:"K",name:"Kärnten",subdivision:null},{code:"NÖ",name:"Niederösterreich",subdivision:null},{code:"OÖ",name:"Oberösterreich",subdivision:null},{code:"S",name:"Salzburg",subdivision:null},{code:"ST",name:"Steiermark",subdivision:null},{code:"T",name:"Tirol",subdivision:null},{code:"V",name:"Vorarlberg",subdivision:null},{code:"W",name:"Wien",subdivision:null}]},{code2:"AZ",code3:"AZE",name:"Azerbaijan",capital:"Baku",region:"Asia",subregion:"Western Asia",states:[{code:"NX",name:"Naxçıvan",subdivision:null}]},{code2:"BS",code3:"BHS",name:"The Bahamas",capital:"Nassau",region:"Americas",subregion:"Caribbean",states:[{code:"AK",name:"Acklins",subdivision:null},{code:"BY",name:"Berry Islands",subdivision:null},{code:"BI",name:"Bimini",subdivision:null},{code:"BP",name:"Black Point",subdivision:null},{code:"CI",name:"Cat Island",subdivision:null},{code:"CO",name:"Central Abaco",subdivision:null},{code:"CS",name:"Central Andros",subdivision:null},{code:"CE",name:"Central Eleuthera",subdivision:null},{code:"FP",name:"City of Freeport",subdivision:null},{code:"CK",name:"Crooked Island and Long Cay",subdivision:null},{code:"EG",name:"East Grand Bahama",subdivision:null},{code:"EX",name:"Exuma",subdivision:null},{code:"GC",name:"Grand Cay",subdivision:null},{code:"HI",name:"Harbour Island",subdivision:null},{code:"HT",name:"Hope Town",subdivision:null},{code:"IN",name:"Inagua",subdivision:null},{code:"LI",name:"Long Island",subdivision:null},{code:"MC",name:"Mangrove Cay",subdivision:null},{code:"MG",name:"Mayaguana",subdivision:null},{code:"MI",name:"Moores Island",subdivision:null},{code:"NO",name:"North Abaco",subdivision:null},{code:"NS",name:"North Andros",subdivision:null},{code:"NE",name:"North Eleuthera",subdivision:null},{code:"RI",name:"Ragged Island",subdivision:null},{code:"RC",name:"Rum Cay",subdivision:null},{code:"SS",name:"San Salvador",subdivision:null},{code:"SO",name:"South Abaco",subdivision:null},{code:"SA",name:"South Andros",subdivision:null},{code:"SE",name:"South Eleuthera",subdivision:null},{code:"SW",name:"Spanish Wells",subdivision:null},{code:"WG",name:"West Grand Bahama",subdivision:null}]},{code2:"BH",code3:"BHR",name:"Bahrain",capital:"Manama",region:"Asia",subregion:"Western Asia",states:[{code:"14",name:"Al Janūbīyah",subdivision:null},{code:"13",name:"Al Manāmah",subdivision:null},{code:"15",name:"Al Muḩarraq",subdivision:null},{code:"16",name:"Al Wusţá",subdivision:null},{code:"17",name:"Ash Shamālīyah",subdivision:null}]},{code2:"BD",code3:"BGD",name:"Bangladesh",capital:"Dhaka",region:"Asia",subregion:"Southern Asia",states:[{code:"A",name:"Barisal",subdivision:null},{code:"B",name:"Chittagong",subdivision:null},{code:"C",name:"Dhaka",subdivision:null},{code:"D",name:"Khulna",subdivision:null},{code:"E",name:"Rajshahi",subdivision:null},{code:"F",name:"Rangpur",subdivision:null},{code:"G",name:"Sylhet",subdivision:null}]},{code2:"BB",code3:"BRB",name:"Barbados",capital:"Bridgetown",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Christ Church",subdivision:null},{code:"02",name:"Saint Andrew",subdivision:null},{code:"03",name:"Saint George",subdivision:null},{code:"04",name:"Saint James",subdivision:null},{code:"05",name:"Saint John",subdivision:null},{code:"06",name:"Saint Joseph",subdivision:null},{code:"07",name:"Saint Lucy",subdivision:null},{code:"08",name:"Saint Michael",subdivision:null},{code:"09",name:"Saint Peter",subdivision:null},{code:"10",name:"Saint Philip",subdivision:null},{code:"11",name:"Saint Thomas",subdivision:null}]},{code2:"BY",code3:"BLR",name:"Belarus",capital:"Minsk",region:"Europe",subregion:"Eastern Europe",states:[{code:"BR",name:"Brestskaya voblasts'",subdivision:null},{code:"HO",name:"Homyel'skaya voblasts'",subdivision:null},{code:"HM",name:"Horad Minsk",subdivision:null},{code:"HR",name:"Hrodzenskaya voblasts'",subdivision:null},{code:"MA",name:"Mahilyowskaya voblasts'",subdivision:null},{code:"MI",name:"Minskaya voblasts'",subdivision:null},{code:"VI",name:"Vitsyebskaya voblasts'",subdivision:null}]},{code2:"BE",code3:"BEL",name:"Belgium",capital:"Brussels",region:"Europe",subregion:"Western Europe",states:[{code:"BRU",name:"Brussels Hoofdstedelijk Gewest",subdivision:null},{code:"WAL",name:"Région Wallonne",subdivision:null},{code:"VLG",name:"Vlaams Gewest",subdivision:null}]},{code2:"BZ",code3:"BLZ",name:"Belize",capital:"Belmopan",region:"Americas",subregion:"Central America",states:[{code:"BZ",name:"Belize",subdivision:null},{code:"CY",name:"Cayo",subdivision:null},{code:"CZL",name:"Corozal",subdivision:null},{code:"OW",name:"Orange Walk",subdivision:null},{code:"SC",name:"Stann Creek",subdivision:null},{code:"TOL",name:"Toledo",subdivision:null}]},{code2:"BJ",code3:"BEN",name:"Benin",capital:"Porto-Novo",region:"Africa",subregion:"Western Africa",states:[{code:"AL",name:"Alibori",subdivision:null},{code:"AK",name:"Atakora",subdivision:null},{code:"AQ",name:"Atlantique",subdivision:null},{code:"BO",name:"Borgou",subdivision:null},{code:"CO",name:"Collines",subdivision:null},{code:"DO",name:"Donga",subdivision:null},{code:"KO",name:"Kouffo",subdivision:null},{code:"LI",name:"Littoral",subdivision:null},{code:"MO",name:"Mono",subdivision:null},{code:"OU",name:"Ouémé",subdivision:null},{code:"PL",name:"Plateau",subdivision:null},{code:"ZO",name:"Zou",subdivision:null}]},{code2:"BM",code3:"BMU",name:"Bermuda",capital:"Hamilton",region:"Americas",subregion:"Northern America",states:[]},{code2:"BT",code3:"BTN",name:"Bhutan",capital:"Thimphu",region:"Asia",subregion:"Southern Asia",states:[{code:"33",name:"Bumthang",subdivision:null},{code:"12",name:"Chhukha",subdivision:null},{code:"22",name:"Dagana",subdivision:null},{code:"GA",name:"Gasa",subdivision:null},{code:"13",name:"Ha",subdivision:null},{code:"44",name:"Lhuentse",subdivision:null},{code:"42",name:"Monggar",subdivision:null},{code:"11",name:"Paro",subdivision:null},{code:"43",name:"Pemagatshel",subdivision:null},{code:"23",name:"Punakha",subdivision:null},{code:"45",name:"Samdrup Jongkha",subdivision:null},{code:"14",name:"Samtse",subdivision:null},{code:"31",name:"Sarpang",subdivision:null},{code:"15",name:"Thimphu",subdivision:null},{code:"TY",name:"Trashi Yangtse",subdivision:null},{code:"41",name:"Trashigang",subdivision:null},{code:"32",name:"Trongsa",subdivision:null},{code:"21",name:"Tsirang",subdivision:null},{code:"24",name:"Wangdue Phodrang",subdivision:null},{code:"34",name:"Zhemgang",subdivision:null}]},{code2:"BO",code3:"BOL",name:"Bolivia",capital:"Sucre",region:"Americas",subregion:"South America",states:[{code:"H",name:"Chuquisaca",subdivision:null},{code:"C",name:"Cochabamba",subdivision:null},{code:"B",name:"El Beni",subdivision:null},{code:"L",name:"La Paz",subdivision:null},{code:"O",name:"Oruro",subdivision:null},{code:"N",name:"Pando",subdivision:null},{code:"P",name:"Potosí",subdivision:null},{code:"S",name:"Santa Cruz",subdivision:null},{code:"T",name:"Tarija",subdivision:null}]},{code2:"BQ",code3:"BES",name:"Bonaire",capital:"Kralendijk",region:"Americas",subregion:"Caribbean",states:[]},{code2:"BA",code3:"BIH",name:"Bosnia and Herzegovina",capital:"Sarajevo",region:"Europe",subregion:"Southern Europe",states:[{code:"BRC",name:"Brčko distrikt",subdivision:null},{code:"BIH",name:"Federacija Bosna i Hercegovina",subdivision:null},{code:"SRP",name:"Republika Srpska",subdivision:null}]},{code2:"BW",code3:"BWA",name:"Botswana",capital:"Gaborone",region:"Africa",subregion:"Southern Africa",states:[{code:"CE",name:"Central",subdivision:null},{code:"CH",name:"Chobe",subdivision:null},{code:"FR",name:"Francistown",subdivision:null},{code:"GA",name:"Gaborone",subdivision:null},{code:"GH",name:"Ghanzi",subdivision:null},{code:"JW",name:"Jwaneng",subdivision:null},{code:"KG",name:"Kgalagadi",subdivision:null},{code:"KL",name:"Kgatleng",subdivision:null},{code:"KW",name:"Kweneng",subdivision:null},{code:"LO",name:"Lobatse",subdivision:null},{code:"NE",name:"North-East",subdivision:null},{code:"NW",name:"North-West",subdivision:null},{code:"SP",name:"Selibe Phikwe",subdivision:null},{code:"SE",name:"South-East",subdivision:null},{code:"SO",name:"Southern",subdivision:null},{code:"ST",name:"Sowa Town",subdivision:null}]},{code2:"BV",code3:"BVT",name:"Bouvet Island",capital:"",region:"",subregion:"",states:[]},{code2:"BR",code3:"BRA",name:"Brazil",capital:"Brasília",region:"Americas",subregion:"South America",states:[{code:"AC",name:"Acre",subdivision:null},{code:"AL",name:"Alagoas",subdivision:null},{code:"AP",name:"Amapá",subdivision:null},{code:"AM",name:"Amazonas",subdivision:null},{code:"BA",name:"Bahia",subdivision:null},{code:"CE",name:"Ceará",subdivision:null},{code:"DF",name:"Distrito Federal",subdivision:null},{code:"ES",name:"Espírito Santo",subdivision:null},{code:"GO",name:"Goiás",subdivision:null},{code:"MA",name:"Maranhão",subdivision:null},{code:"MT",name:"Mato Grosso",subdivision:null},{code:"MS",name:"Mato Grosso do Sul",subdivision:null},{code:"MG",name:"Minas Gerais",subdivision:null},{code:"PR",name:"Paraná",subdivision:null},{code:"PB",name:"Paraíba",subdivision:null},{code:"PA",name:"Pará",subdivision:null},{code:"PE",name:"Pernambuco",subdivision:null},{code:"PI",name:"Piauí",subdivision:null},{code:"RN",name:"Rio Grande do Norte",subdivision:null},{code:"RS",name:"Rio Grande do Sul",subdivision:null},{code:"RJ",name:"Rio de Janeiro",subdivision:null},{code:"RO",name:"Rondônia",subdivision:null},{code:"RR",name:"Roraima",subdivision:null},{code:"SC",name:"Santa Catarina",subdivision:null},{code:"SE",name:"Sergipe",subdivision:null},{code:"SP",name:"São Paulo",subdivision:null},{code:"TO",name:"Tocantins",subdivision:null}]},{code2:"IO",code3:"IOT",name:"British Indian Ocean Territory",capital:"Diego Garcia",region:"Africa",subregion:"Eastern Africa",states:[]},{code2:"UM",code3:"UMI",name:"United States Minor Outlying Islands",capital:"",region:"Americas",subregion:"Northern America",states:[{code:"81",name:"Baker Island",subdivision:null},{code:"84",name:"Howland Island",subdivision:null},{code:"86",name:"Jarvis Island",subdivision:null},{code:"67",name:"Johnston Atoll",subdivision:null},{code:"89",name:"Kingman Reef",subdivision:null},{code:"71",name:"Midway Islands",subdivision:null},{code:"76",name:"Navassa Island",subdivision:null},{code:"95",name:"Palmyra Atoll",subdivision:null},{code:"79",name:"Wake Island",subdivision:null}]},{code2:"VG",code3:"VGB",name:"Virgin Islands (British)",capital:"Road Town",region:"Americas",subregion:"Caribbean",states:[]},{code2:"VI",code3:"VIR",name:"Virgin Islands (U.S.)",capital:"Charlotte Amalie",region:"Americas",subregion:"Caribbean",states:[]},{code2:"BN",code3:"BRN",name:"Brunei",capital:"Bandar Seri Begawan",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"BE",name:"Belait",subdivision:null},{code:"BM",name:"Brunei-Muara",subdivision:null},{code:"TE",name:"Temburong",subdivision:null},{code:"TU",name:"Tutong",subdivision:null}]},{code2:"BG",code3:"BGR",name:"Bulgaria",capital:"Sofia",region:"Europe",subregion:"Eastern Europe",states:[{code:"01",name:"Blagoevgrad",subdivision:null},{code:"02",name:"Burgas",subdivision:null},{code:"08",name:"Dobrich",subdivision:null},{code:"07",name:"Gabrovo",subdivision:null},{code:"26",name:"Haskovo",subdivision:null},{code:"09",name:"Kardzhali",subdivision:null},{code:"10",name:"Kyustendil",subdivision:null},{code:"11",name:"Lovech",subdivision:null},{code:"12",name:"Montana",subdivision:null},{code:"13",name:"Pazardzhik",subdivision:null},{code:"14",name:"Pernik",subdivision:null},{code:"15",name:"Pleven",subdivision:null},{code:"16",name:"Plovdiv",subdivision:null},{code:"17",name:"Razgrad",subdivision:null},{code:"18",name:"Ruse",subdivision:null},{code:"27",name:"Shumen",subdivision:null},{code:"19",name:"Silistra",subdivision:null},{code:"20",name:"Sliven",subdivision:null},{code:"21",name:"Smolyan",subdivision:null},{code:"23",name:"Sofia",subdivision:null},{code:"22",name:"Sofia-Grad",subdivision:null},{code:"24",name:"Stara Zagora",subdivision:null},{code:"25",name:"Targovishte",subdivision:null},{code:"03",name:"Varna",subdivision:null},{code:"04",name:"Veliko Tarnovo",subdivision:null},{code:"05",name:"Vidin",subdivision:null},{code:"06",name:"Vratsa",subdivision:null},{code:"28",name:"Yambol",subdivision:null}]},{code2:"BF",code3:"BFA",name:"Burkina Faso",capital:"Ouagadougou",region:"Africa",subregion:"Western Africa",states:[{code:"01",name:"Boucle du Mouhoun",subdivision:null},{code:"02",name:"Cascades",subdivision:null},{code:"03",name:"Centre",subdivision:null},{code:"04",name:"Centre-Est",subdivision:null},{code:"05",name:"Centre-Nord",subdivision:null},{code:"06",name:"Centre-Ouest",subdivision:null},{code:"07",name:"Centre-Sud",subdivision:null},{code:"08",name:"Est",subdivision:null},{code:"09",name:"Hauts-Bassins",subdivision:null},{code:"10",name:"Nord",subdivision:null},{code:"11",name:"Plateau-Central",subdivision:null},{code:"12",name:"Sahel",subdivision:null},{code:"13",name:"Sud-Ouest",subdivision:null}]},{code2:"BI",code3:"BDI",name:"Burundi",capital:"Bujumbura",region:"Africa",subregion:"Eastern Africa",states:[{code:"BB",name:"Bubanza",subdivision:null},{code:"BM",name:"Bujumbura Mairie",subdivision:null},{code:"BL",name:"Bujumbura Rural",subdivision:null},{code:"BR",name:"Bururi",subdivision:null},{code:"CA",name:"Cankuzo",subdivision:null},{code:"CI",name:"Cibitoke",subdivision:null},{code:"GI",name:"Gitega",subdivision:null},{code:"KR",name:"Karuzi",subdivision:null},{code:"KY",name:"Kayanza",subdivision:null},{code:"KI",name:"Kirundo",subdivision:null},{code:"MA",name:"Makamba",subdivision:null},{code:"MU",name:"Muramvya",subdivision:null},{code:"MY",name:"Muyinga",subdivision:null},{code:"MW",name:"Mwaro",subdivision:null},{code:"NG",name:"Ngozi",subdivision:null},{code:"RT",name:"Rutana",subdivision:null},{code:"RY",name:"Ruyigi",subdivision:null}]},{code2:"KH",code3:"KHM",name:"Cambodia",capital:"Phnom Penh",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"2",name:"Baat Dambang",subdivision:null},{code:"1",name:"Banteay Mean Chey",subdivision:null},{code:"3",name:"Kampong Chaam",subdivision:null},{code:"4",name:"Kampong Chhnang",subdivision:null},{code:"5",name:"Kampong Spueu",subdivision:null},{code:"6",name:"Kampong Thum",subdivision:null},{code:"7",name:"Kampot",subdivision:null},{code:"8",name:"Kandaal",subdivision:null},{code:"9",name:"Kaoh Kong",subdivision:null},{code:"10",name:"Kracheh",subdivision:null},{code:"23",name:"Krong Kaeb",subdivision:null},{code:"24",name:"Krong Pailin",subdivision:null},{code:"18",name:"Krong Preah Sihanouk",subdivision:null},{code:"11",name:"Mondol Kiri",subdivision:null},{code:"22",name:"Otdar Mean Chey",subdivision:null},{code:"12",name:"Phnom Penh",subdivision:null},{code:"15",name:"Pousaat",subdivision:null},{code:"13",name:"Preah Vihear",subdivision:null},{code:"14",name:"Prey Veaeng",subdivision:null},{code:"16",name:"Rotanak Kiri",subdivision:null},{code:"17",name:"Siem Reab",subdivision:null},{code:"19",name:"Stueng Traeng",subdivision:null},{code:"20",name:"Svaay Rieng",subdivision:null},{code:"21",name:"Taakaev",subdivision:null}]},{code2:"CM",code3:"CMR",name:"Cameroon",capital:"Yaoundé",region:"Africa",subregion:"Middle Africa",states:[{code:"AD",name:"Adamaoua",subdivision:null},{code:"CE",name:"Centre",subdivision:null},{code:"ES",name:"East",subdivision:null},{code:"EN",name:"Far North",subdivision:null},{code:"LT",name:"Littoral",subdivision:null},{code:"NO",name:"North",subdivision:null},{code:"NW",name:"North-West",subdivision:null},{code:"SU",name:"South",subdivision:null},{code:"SW",name:"South-West",subdivision:null},{code:"OU",name:"West",subdivision:null}]},{code2:"CA",code3:"CAN",name:"Canada",capital:"Ottawa",region:"Americas",subregion:"Northern America",states:[{code:"AB",name:"Alberta",subdivision:"province"},{code:"BC",name:"British Columbia",subdivision:"province"},{code:"MB",name:"Manitoba",subdivision:"province"},{code:"NB",name:"New Brunswick",subdivision:"province"},{code:"NL",name:"Newfoundland and Labrador",subdivision:"province"},{code:"NS",name:"Nova Scotia",subdivision:"province"},{code:"ON",name:"Ontario",subdivision:"province"},{code:"PE",name:"Prince Edward Island",subdivision:"province"},{code:"QC",name:"Quebec",subdivision:"province"},{code:"SK",name:"Saskatchewan",subdivision:"province"},{code:"NT",name:"Northwest Territories",subdivision:"territory"},{code:"NU",name:"Nunavut",subdivision:"territory"},{code:"YT",name:"Yukon",subdivision:"territory"}]},{code2:"CV",code3:"CPV",name:"Cape Verde",capital:"Praia",region:"Africa",subregion:"Western Africa",states:[{code:"B",name:"Ilhas de Barlavento",subdivision:null},{code:"S",name:"Ilhas de Sotavento",subdivision:null}]},{code2:"KY",code3:"CYM",name:"Cayman Islands",capital:"George Town",region:"Americas",subregion:"Caribbean",states:[]},{code2:"CF",code3:"CAF",name:"Central African Republic",capital:"Bangui",region:"Africa",subregion:"Middle Africa",states:[{code:"BB",name:"Bamingui-Bangoran",subdivision:null},{code:"BGF",name:"Bangui",subdivision:null},{code:"BK",name:"Basse-Kotto",subdivision:null},{code:"KB",name:"Gribingui",subdivision:null},{code:"HM",name:"Haut-Mbomou",subdivision:null},{code:"HK",name:"Haute-Kotto",subdivision:null},{code:"HS",name:"Haute-Sangha / Mambéré-Kadéï",subdivision:null},{code:"KG",name:"Kémo-Gribingui",subdivision:null},{code:"LB",name:"Lobaye",subdivision:null},{code:"MB",name:"Mbomou",subdivision:null},{code:"NM",name:"Nana-Mambéré",subdivision:null},{code:"MP",name:"Ombella-Mpoko",subdivision:null},{code:"UK",name:"Ouaka",subdivision:null},{code:"AC",name:"Ouham",subdivision:null},{code:"OP",name:"Ouham-Pendé",subdivision:null},{code:"SE",name:"Sangha",subdivision:null},{code:"VK",name:"Vakaga",subdivision:null}]},{code2:"TD",code3:"TCD",name:"Chad",capital:"N'Djamena",region:"Africa",subregion:"Middle Africa",states:[{code:"BA",name:"Al Baṭḩah",subdivision:null},{code:"LC",name:"Al Buḩayrah",subdivision:null},{code:"BG",name:"Baḩr al Ghazāl",subdivision:null},{code:"BO",name:"Būrkū",subdivision:null},{code:"EN",name:"Innīdī",subdivision:null},{code:"KA",name:"Kānim",subdivision:null},{code:"LO",name:"Lūqūn al Gharbī",subdivision:null},{code:"LR",name:"Lūqūn ash Sharqī",subdivision:null},{code:"ND",name:"Madīnat Injamīnā",subdivision:null},{code:"MA",name:"Māndūl",subdivision:null},{code:"MO",name:"Māyū Kībbī al Gharbī",subdivision:null},{code:"ME",name:"Māyū Kībbī ash Sharqī",subdivision:null},{code:"GR",name:"Qīrā",subdivision:null},{code:"SA",name:"Salāmāt",subdivision:null},{code:"CB",name:"Shārī Bāqirmī",subdivision:null},{code:"MC",name:"Shārī al Awsaṭ",subdivision:null},{code:"SI",name:"Sīlā",subdivision:null},{code:"TI",name:"Tibastī",subdivision:null},{code:"TA",name:"Tānjilī",subdivision:null},{code:"OD",name:"Waddāy",subdivision:null},{code:"WF",name:"Wādī Fīrā",subdivision:null},{code:"HL",name:"Ḥajjar Lamīs",subdivision:null}]},{code2:"CL",code3:"CHL",name:"Chile",capital:"Santiago",region:"Americas",subregion:"South America",states:[{code:"AI",name:"Aisén del General Carlos Ibañez del Campo",subdivision:null},{code:"AN",name:"Antofagasta",subdivision:null},{code:"AR",name:"Araucanía",subdivision:null},{code:"AP",name:"Arica y Parinacota",subdivision:null},{code:"AT",name:"Atacama",subdivision:null},{code:"BI",name:"Bío-Bío",subdivision:null},{code:"CO",name:"Coquimbo",subdivision:null},{code:"LI",name:"Libertador General Bernardo O'Higgins",subdivision:null},{code:"LL",name:"Los Lagos",subdivision:null},{code:"LR",name:"Los Ríos",subdivision:null},{code:"MA",name:"Magallanes",subdivision:null},{code:"ML",name:"Maule",subdivision:null},{code:"RM",name:"Región Metropolitana de Santiago",subdivision:null},{code:"TA",name:"Tarapacá",subdivision:null},{code:"VS",name:"Valparaíso",subdivision:null}]},{code2:"CN",code3:"CHN",name:"China",capital:"Beijing",region:"Asia",subregion:"Eastern Asia",states:[{code:"45",name:"Guangxi",subdivision:"Autonomous region"},{code:"15",name:"Nei Mongol",subdivision:"Autonomous region"},{code:"64",name:"Ningxia",subdivision:"Autonomous region"},{code:"65",name:"Xinjiang",subdivision:"Autonomous region"},{code:"54",name:"Xizang",subdivision:"Autonomous region"},{code:"11",name:"Beijing",subdivision:"Municipality"},{code:"50",name:"Chongqing",subdivision:"Municipality"},{code:"31",name:"Shanghai",subdivision:"Municipality"},{code:"12",name:"Tianjin",subdivision:"Municipality"},{code:"34",name:"Anhui",subdivision:"Province"},{code:"35",name:"Fujian",subdivision:"Province"},{code:"62",name:"Gansu",subdivision:"Province"},{code:"44",name:"Guangdong",subdivision:"Province"},{code:"52",name:"Guizhou",subdivision:"Province"},{code:"46",name:"Hainan",subdivision:"Province"},{code:"13",name:"Hebei",subdivision:"Province"},{code:"23",name:"Heilongjiang",subdivision:"Province"},{code:"41",name:"Henan",subdivision:"Province"},{code:"42",name:"Hubei",subdivision:"Province"},{code:"43",name:"Hunan",subdivision:"Province"},{code:"32",name:"Jiangsu",subdivision:"Province"},{code:"36",name:"Jiangxi",subdivision:"Province"},{code:"22",name:"Jilin",subdivision:"Province"},{code:"21",name:"Liaoning",subdivision:"Province"},{code:"63",name:"Qinghai",subdivision:"Province"},{code:"61",name:"Shaanxi",subdivision:"Province"},{code:"37",name:"Shandong",subdivision:"Province"},{code:"14",name:"Shanxi",subdivision:"Province"},{code:"51",name:"Sichuan",subdivision:"Province"},{code:"71",name:"Taiwan",subdivision:"Province"},{code:"53",name:"Yunnan",subdivision:"Province"},{code:"33",name:"Zhejiang",subdivision:"Province"},{code:"91",name:"Hong Kong",subdivision:"Special administrative region"},{code:"92",name:"Macao",subdivision:"Special administrative region"},{code:"",name:"Hong Kong Island",subdivision:"Special administrative region"},{code:"KOWLOON",name:"Kowloon",subdivision:"Special administrative region"},{code:"NEW TERRITORIES",name:"New Territories",subdivision:"Special administrative region"}]},{code2:"CX",code3:"CXR",name:"Christmas Island",capital:"Flying Fish Cove",region:"Oceania",subregion:"Australia and New Zealand",states:[]},{code2:"CC",code3:"CCK",name:"Cocos (Keeling) Islands",capital:"West Island",region:"Oceania",subregion:"Australia and New Zealand",states:[]},{code2:"CO",code3:"COL",name:"Colombia",capital:"Bogotá",region:"Americas",subregion:"South America",states:[{code:"AMA",name:"Amazonas",subdivision:null},{code:"ANT",name:"Antioquia",subdivision:null},{code:"ARA",name:"Arauca",subdivision:null},{code:"ATL",name:"Atlántico",subdivision:null},{code:"BOL",name:"Bolívar",subdivision:null},{code:"BOY",name:"Boyacá",subdivision:null},{code:"CAL",name:"Caldas",subdivision:null},{code:"CAQ",name:"Caquetá",subdivision:null},{code:"CAS",name:"Casanare",subdivision:null},{code:"CAU",name:"Cauca",subdivision:null},{code:"CES",name:"Cesar",subdivision:null},{code:"CHO",name:"Chocó",subdivision:null},{code:"CUN",name:"Cundinamarca",subdivision:null},{code:"COR",name:"Córdoba",subdivision:null},{code:"DC",name:"Distrito Capital de Bogotá",subdivision:null},{code:"GUA",name:"Guainía",subdivision:null},{code:"GUV",name:"Guaviare",subdivision:null},{code:"HUI",name:"Huila",subdivision:null},{code:"LAG",name:"La Guajira",subdivision:null},{code:"MAG",name:"Magdalena",subdivision:null},{code:"MET",name:"Meta",subdivision:null},{code:"NAR",name:"Nariño",subdivision:null},{code:"NSA",name:"Norte de Santander",subdivision:null},{code:"PUT",name:"Putumayo",subdivision:null},{code:"QUI",name:"Quindío",subdivision:null},{code:"RIS",name:"Risaralda",subdivision:null},{code:"SAP",name:"San Andrés, Providencia y Santa Catalina",subdivision:null},{code:"SAN",name:"Santander",subdivision:null},{code:"SUC",name:"Sucre",subdivision:null},{code:"TOL",name:"Tolima",subdivision:null},{code:"VAC",name:"Valle del Cauca",subdivision:null},{code:"VAU",name:"Vaupés",subdivision:null},{code:"VID",name:"Vichada",subdivision:null}]},{code2:"KM",code3:"COM",name:"Comoros",capital:"Moroni",region:"Africa",subregion:"Eastern Africa",states:[{code:"A",name:"Anjouan",subdivision:null},{code:"G",name:"Grande Comore",subdivision:null},{code:"M",name:"Mohéli",subdivision:null}]},{code2:"CG",code3:"COG",name:"Republic of the Congo",capital:"Brazzaville",region:"Africa",subregion:"Middle Africa",states:[{code:"11",name:"Bouenza",subdivision:null},{code:"BZV",name:"Brazzaville",subdivision:null},{code:"8",name:"Cuvette",subdivision:null},{code:"15",name:"Cuvette-Ouest",subdivision:null},{code:"5",name:"Kouilou",subdivision:null},{code:"7",name:"Likouala",subdivision:null},{code:"2",name:"Lékoumou",subdivision:null},{code:"9",name:"Niari",subdivision:null},{code:"14",name:"Plateaux",subdivision:null},{code:"16",name:"Pointe-Noire",subdivision:null},{code:"12",name:"Pool",subdivision:null},{code:"13",name:"Sangha",subdivision:null}]},{code2:"CD",code3:"COD",name:"Democratic Republic of the Congo",capital:"Kinshasa",region:"Africa",subregion:"Middle Africa",states:[{code:"BN",name:"Bandundu",subdivision:null},{code:"BC",name:"Bas-Congo",subdivision:null},{code:"KW",name:"Kasai-Occidental",subdivision:null},{code:"KE",name:"Kasai-Oriental",subdivision:null},{code:"KA",name:"Katanga",subdivision:null},{code:"KN",name:"Kinshasa",subdivision:null},{code:"MA",name:"Maniema",subdivision:null},{code:"NK",name:"Nord-Kivu",subdivision:null},{code:"OR",name:"Orientale",subdivision:null},{code:"SK",name:"Sud-Kivu",subdivision:null},{code:"EQ",name:"Équateur",subdivision:null}]},{code2:"CK",code3:"COK",name:"Cook Islands",capital:"Avarua",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"CR",code3:"CRI",name:"Costa Rica",capital:"San José",region:"Americas",subregion:"Central America",states:[{code:"A",name:"Alajuela",subdivision:null},{code:"C",name:"Cartago",subdivision:null},{code:"G",name:"Guanacaste",subdivision:null},{code:"H",name:"Heredia",subdivision:null},{code:"L",name:"Limón",subdivision:null},{code:"P",name:"Puntarenas",subdivision:null},{code:"SJ",name:"San José",subdivision:null}]},{code2:"HR",code3:"HRV",name:"Croatia",capital:"Zagreb",region:"Europe",subregion:"Southern Europe",states:[{code:"07",name:"Bjelovarsko-bilogorska županija",subdivision:null},{code:"12",name:"Brodsko-posavska županija",subdivision:null},{code:"19",name:"Dubrovačko-neretvanska županija",subdivision:null},{code:"21",name:"Grad Zagreb",subdivision:null},{code:"18",name:"Istarska županija",subdivision:null},{code:"04",name:"Karlovačka županija",subdivision:null},{code:"06",name:"Koprivničko-križevačka županija",subdivision:null},{code:"02",name:"Krapinsko-zagorska županija",subdivision:null},{code:"09",name:"Ličko-senjska županija",subdivision:null},{code:"20",name:"Međimurska županija",subdivision:null},{code:"14",name:"Osječko-baranjska županija",subdivision:null},{code:"11",name:"Požeško-slavonska županija",subdivision:null},{code:"08",name:"Primorsko-goranska županija",subdivision:null},{code:"03",name:"Sisačko-moslavačka županija",subdivision:null},{code:"17",name:"Splitsko-dalmatinska županija",subdivision:null},{code:"05",name:"Varaždinska županija",subdivision:null},{code:"10",name:"Virovitičko-podravska županija",subdivision:null},{code:"16",name:"Vukovarsko-srijemska županija",subdivision:null},{code:"13",name:"Zadarska županija",subdivision:null},{code:"01",name:"Zagrebačka županija",subdivision:null},{code:"15",name:"Šibensko-kninska županija",subdivision:null}]},{code2:"CU",code3:"CUB",name:"Cuba",capital:"Havana",region:"Americas",subregion:"Caribbean",states:[{code:"15",name:"Artemisa",subdivision:null},{code:"09",name:"Camagüey",subdivision:null},{code:"08",name:"Ciego de Ávila",subdivision:null},{code:"06",name:"Cienfuegos",subdivision:null},{code:"12",name:"Granma",subdivision:null},{code:"14",name:"Guantánamo",subdivision:null},{code:"11",name:"Holguín",subdivision:null},{code:"99",name:"Isla de la Juventud",subdivision:null},{code:"03",name:"La Habana",subdivision:null},{code:"10",name:"Las Tunas",subdivision:null},{code:"04",name:"Matanzas",subdivision:null},{code:"16",name:"Mayabeque",subdivision:null},{code:"01",name:"Pinar del Río",subdivision:null},{code:"07",name:"Sancti Spíritus",subdivision:null},{code:"13",name:"Santiago de Cuba",subdivision:null},{code:"05",name:"Villa Clara",subdivision:null}]},{code2:"CW",code3:"CUW",name:"Curaçao",capital:"Willemstad",region:"Americas",subregion:"Caribbean",states:[]},{code2:"CY",code3:"CYP",name:"Cyprus",capital:"Nicosia",region:"Europe",subregion:"Southern Europe",states:[{code:"04",name:"Ammochostos",subdivision:null},{code:"06",name:"Keryneia",subdivision:null},{code:"03",name:"Larnaka",subdivision:null},{code:"01",name:"Lefkosia",subdivision:null},{code:"02",name:"Lemesos",subdivision:null},{code:"05",name:"Pafos",subdivision:null}]},{code2:"CZ",code3:"CZE",name:"Czech Republic",capital:"Prague",region:"Europe",subregion:"Eastern Europe",states:[{code:"JM",name:"Jihomoravský kraj",subdivision:null},{code:"JC",name:"Jihočeský kraj",subdivision:null},{code:"KA",name:"Karlovarský kraj",subdivision:null},{code:"KR",name:"Královéhradecký kraj",subdivision:null},{code:"LI",name:"Liberecký kraj",subdivision:null},{code:"MO",name:"Moravskoslezský kraj",subdivision:null},{code:"OL",name:"Olomoucký kraj",subdivision:null},{code:"PA",name:"Pardubický kraj",subdivision:null},{code:"PL",name:"Plzeňský kraj",subdivision:null},{code:"PR",name:"Praha, hlavní město",subdivision:null},{code:"ST",name:"Středočeský kraj",subdivision:null},{code:"VY",name:"Vysočina",subdivision:null},{code:"ZL",name:"Zlínský kraj",subdivision:null},{code:"US",name:"Ústecký kraj",subdivision:null}]},{code2:"DK",code3:"DNK",name:"Denmark",capital:"Copenhagen",region:"Europe",subregion:"Northern Europe",states:[{code:"84",name:"Hovedstaden",subdivision:null},{code:"82",name:"Midtjylland",subdivision:null},{code:"81",name:"Nordjylland",subdivision:null},{code:"85",name:"Sjælland",subdivision:null},{code:"83",name:"Syddanmark",subdivision:null}]},{code2:"DJ",code3:"DJI",name:"Djibouti",capital:"Djibouti",region:"Africa",subregion:"Eastern Africa",states:[{code:"AS",name:"Ali Sabieh",subdivision:null},{code:"AR",name:"Arta",subdivision:null},{code:"DI",name:"Dikhil",subdivision:null},{code:"DJ",name:"Djibouti",subdivision:null},{code:"OB",name:"Obock",subdivision:null},{code:"TA",name:"Tadjourah",subdivision:null}]},{code2:"DM",code3:"DMA",name:"Dominica",capital:"Roseau",region:"Americas",subregion:"Caribbean",states:[{code:"02",name:"Saint Andrew",subdivision:null},{code:"03",name:"Saint David",subdivision:null},{code:"04",name:"Saint George",subdivision:null},{code:"05",name:"Saint John",subdivision:null},{code:"06",name:"Saint Joseph",subdivision:null},{code:"07",name:"Saint Luke",subdivision:null},{code:"08",name:"Saint Mark",subdivision:null},{code:"09",name:"Saint Patrick",subdivision:null},{code:"10",name:"Saint Paul",subdivision:null},{code:"11",name:"Saint Peter",subdivision:null}]},{code2:"DO",code3:"DOM",name:"Dominican Republic",capital:"Santo Domingo",region:"Americas",subregion:"Caribbean",states:[{code:"33",name:"Cibao Nordeste",subdivision:null},{code:"34",name:"Cibao Noroeste",subdivision:null},{code:"35",name:"Cibao Norte",subdivision:null},{code:"36",name:"Cibao Sur",subdivision:null},{code:"37",name:"El Valle",subdivision:null},{code:"38",name:"Enriquillo",subdivision:null},{code:"39",name:"Higuamo",subdivision:null},{code:"40",name:"Ozama",subdivision:null},{code:"41",name:"Valdesia",subdivision:null},{code:"42",name:"Yuma",subdivision:null}]},{code2:"EC",code3:"ECU",name:"Ecuador",capital:"Quito",region:"Americas",subregion:"South America",states:[{code:"A",name:"Azuay",subdivision:null},{code:"B",name:"Bolívar",subdivision:null},{code:"C",name:"Carchi",subdivision:null},{code:"F",name:"Cañar",subdivision:null},{code:"H",name:"Chimborazo",subdivision:null},{code:"X",name:"Cotopaxi",subdivision:null},{code:"O",name:"El Oro",subdivision:null},{code:"E",name:"Esmeraldas",subdivision:null},{code:"W",name:"Galápagos",subdivision:null},{code:"G",name:"Guayas",subdivision:null},{code:"I",name:"Imbabura",subdivision:null},{code:"L",name:"Loja",subdivision:null},{code:"R",name:"Los Ríos",subdivision:null},{code:"M",name:"Manabí",subdivision:null},{code:"S",name:"Morona-Santiago",subdivision:null},{code:"N",name:"Napo",subdivision:null},{code:"D",name:"Orellana",subdivision:null},{code:"Y",name:"Pastaza",subdivision:null},{code:"P",name:"Pichincha",subdivision:null},{code:"SE",name:"Santa Elena",subdivision:null},{code:"SD",name:"Santo Domingo de los Tsáchilas",subdivision:null},{code:"U",name:"Sucumbíos",subdivision:null},{code:"T",name:"Tungurahua",subdivision:null},{code:"Z",name:"Zamora-Chinchipe",subdivision:null}]},{code2:"EG",code3:"EGY",name:"Egypt",capital:"Cairo",region:"Africa",subregion:"Northern Africa",states:[{code:"DK",name:"Ad Daqahlīyah",subdivision:null},{code:"BA",name:"Al Baḩr al Aḩmar",subdivision:null},{code:"BH",name:"Al Buḩayrah",subdivision:null},{code:"FYM",name:"Al Fayyūm",subdivision:null},{code:"GH",name:"Al Gharbīyah",subdivision:null},{code:"ALX",name:"Al Iskandarīyah",subdivision:null},{code:"IS",name:"Al Ismāٰīlīyah",subdivision:null},{code:"GZ",name:"Al Jīzah",subdivision:null},{code:"MN",name:"Al Minyā",subdivision:null},{code:"MNF",name:"Al Minūfīyah",subdivision:null},{code:"KB",name:"Al Qalyūbīyah",subdivision:null},{code:"C",name:"Al Qāhirah",subdivision:null},{code:"LX",name:"Al Uqşur",subdivision:null},{code:"WAD",name:"Al Wādī al Jadīd",subdivision:null},{code:"SUZ",name:"As Suways",subdivision:null},{code:"SU",name:"As Sādis min Uktūbar",subdivision:null},{code:"SHR",name:"Ash Sharqīyah",subdivision:null},{code:"ASN",name:"Aswān",subdivision:null},{code:"AST",name:"Asyūţ",subdivision:null},{code:"BNS",name:"Banī Suwayf",subdivision:null},{code:"PTS",name:"Būr Saٰīd",subdivision:null},{code:"DT",name:"Dumyāţ",subdivision:null},{code:"JS",name:"Janūb Sīnā'",subdivision:null},{code:"KFS",name:"Kafr ash Shaykh",subdivision:null},{code:"MT",name:"Maţrūḩ",subdivision:null},{code:"KN",name:"Qinā",subdivision:null},{code:"SIN",name:"Shamāl Sīnā'",subdivision:null},{code:"SHG",name:"Sūhāj",subdivision:null},{code:"HU",name:"Ḩulwān",subdivision:null}]},{code2:"SV",code3:"SLV",name:"El Salvador",capital:"San Salvador",region:"Americas",subregion:"Central America",states:[{code:"AH",name:"Ahuachapán",subdivision:null},{code:"CA",name:"Cabañas",subdivision:null},{code:"CH",name:"Chalatenango",subdivision:null},{code:"CU",name:"Cuscatlán",subdivision:null},{code:"LI",name:"La Libertad",subdivision:null},{code:"PA",name:"La Paz",subdivision:null},{code:"UN",name:"La Unión",subdivision:null},{code:"MO",name:"Morazán",subdivision:null},{code:"SM",name:"San Miguel",subdivision:null},{code:"SS",name:"San Salvador",subdivision:null},{code:"SV",name:"San Vicente",subdivision:null},{code:"SA",name:"Santa Ana",subdivision:null},{code:"SO",name:"Sonsonate",subdivision:null},{code:"US",name:"Usulután",subdivision:null}]},{code2:"GQ",code3:"GNQ",name:"Equatorial Guinea",capital:"Malabo",region:"Africa",subregion:"Middle Africa",states:[{code:"C",name:"Región Continental",subdivision:null},{code:"I",name:"Región Insular",subdivision:null}]},{code2:"ER",code3:"ERI",name:"Eritrea",capital:"Asmara",region:"Africa",subregion:"Eastern Africa",states:[{code:"MA",name:"Al Awsaţ",subdivision:null},{code:"DU",name:"Al Janūbĩ",subdivision:null},{code:"AN",name:"Ansabā",subdivision:null},{code:"DK",name:"Janūbī al Baḩrī al Aḩmar",subdivision:null},{code:"GB",name:"Qāsh-Barkah",subdivision:null},{code:"SK",name:"Shimālī al Baḩrī al Aḩmar",subdivision:null}]},{code2:"EE",code3:"EST",name:"Estonia",capital:"Tallinn",region:"Europe",subregion:"Northern Europe",states:[{code:"37",name:"Harjumaa",subdivision:null},{code:"39",name:"Hiiumaa",subdivision:null},{code:"44",name:"Ida-Virumaa",subdivision:null},{code:"51",name:"Järvamaa",subdivision:null},{code:"49",name:"Jõgevamaa",subdivision:null},{code:"59",name:"Lääne-Virumaa",subdivision:null},{code:"57",name:"Läänemaa",subdivision:null},{code:"67",name:"Pärnumaa",subdivision:null},{code:"65",name:"Põlvamaa",subdivision:null},{code:"70",name:"Raplamaa",subdivision:null},{code:"74",name:"Saaremaa",subdivision:null},{code:"78",name:"Tartumaa",subdivision:null},{code:"82",name:"Valgamaa",subdivision:null},{code:"84",name:"Viljandimaa",subdivision:null},{code:"86",name:"Võrumaa",subdivision:null}]},{code2:"ET",code3:"ETH",name:"Ethiopia",capital:"Addis Ababa",region:"Africa",subregion:"Eastern Africa",states:[{code:"BE",name:"Bīnshangul Gumuz",subdivision:null},{code:"DD",name:"Dirē Dawa",subdivision:null},{code:"GA",name:"Gambēla Hizboch",subdivision:null},{code:"HA",name:"Hārerī Hizb",subdivision:null},{code:"OR",name:"Oromīya",subdivision:null},{code:"SO",name:"Sumalē",subdivision:null},{code:"TI",name:"Tigray",subdivision:null},{code:"SN",name:"YeDebub Bihēroch Bihēreseboch na Hizboch",subdivision:null},{code:"AA",name:"Ādīs Ābeba",subdivision:null},{code:"AF",name:"Āfar",subdivision:null},{code:"AM",name:"Āmara",subdivision:null}]},{code2:"FK",code3:"FLK",name:"Falkland Islands",capital:"Stanley",region:"Americas",subregion:"South America",states:[]},{code2:"FO",code3:"FRO",name:"Faroe Islands",capital:"Tórshavn",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"FJ",code3:"FJI",name:"Fiji",capital:"Suva",region:"Oceania",subregion:"Melanesia",states:[{code:"C",name:"Central",subdivision:null},{code:"E",name:"Eastern",subdivision:null},{code:"N",name:"Northern",subdivision:null},{code:"R",name:"Rotuma",subdivision:null},{code:"W",name:"Western",subdivision:null}]},{code2:"FI",code3:"FIN",name:"Finland",capital:"Helsinki",region:"Europe",subregion:"Northern Europe",states:[{code:"01",name:"Ahvenanmaan maakunta",subdivision:null},{code:"02",name:"Etelä-Karjala",subdivision:null},{code:"03",name:"Etelä-Pohjanmaa",subdivision:null},{code:"04",name:"Etelä-Savo",subdivision:null},{code:"05",name:"Kainuu",subdivision:null},{code:"06",name:"Kanta-Häme",subdivision:null},{code:"07",name:"Keski-Pohjanmaa",subdivision:null},{code:"08",name:"Keski-Suomi",subdivision:null},{code:"09",name:"Kymenlaakso",subdivision:null},{code:"10",name:"Lappi",subdivision:null},{code:"11",name:"Pirkanmaa",subdivision:null},{code:"12",name:"Pohjanmaa",subdivision:null},{code:"13",name:"Pohjois-Karjala",subdivision:null},{code:"14",name:"Pohjois-Pohjanmaa",subdivision:null},{code:"15",name:"Pohjois-Savo",subdivision:null},{code:"16",name:"Päijät-Häme",subdivision:null},{code:"17",name:"Satakunta",subdivision:null},{code:"18",name:"Uusimaa",subdivision:null},{code:"19",name:"Varsinais-Suomi",subdivision:null}]},{code2:"FR",code3:"FRA",name:"France",capital:"Paris",region:"Europe",subregion:"Western Europe",states:[{code:"A",name:"Alsace",subdivision:"Metropolitan region"},{code:"B",name:"Aquitaine",subdivision:"Metropolitan region"},{code:"C",name:"Auvergne",subdivision:"Metropolitan region"},{code:"E",name:"Brittany",subdivision:"Metropolitan region"},{code:"D",name:"Burgundy",subdivision:"Metropolitan region"},{code:"F",name:"Centre-Val de Loire",subdivision:"Metropolitan region"},{code:"G",name:"Champagne-Ardenne",subdivision:"Metropolitan region"},{code:"H",name:"Corsica",subdivision:"Metropolitan region"},{code:"I",name:"Franche-Comté",subdivision:"Metropolitan region"},{code:"K",name:"Languedoc-Roussillon",subdivision:"Metropolitan region"},{code:"L",name:"Limousin",subdivision:"Metropolitan region"},{code:"M",name:"Lorraine",subdivision:"Metropolitan region"},{code:"P",name:"Lower Normandy",subdivision:"Metropolitan region"},{code:"N",name:"Midi-Pyrénées",subdivision:"Metropolitan region"},{code:"O",name:"Nord-Pas-de-Calais",subdivision:"Metropolitan region"},{code:"R",name:"Pays de la Loire",subdivision:"Metropolitan region"},{code:"S",name:"Picardy",subdivision:"Metropolitan region"},{code:"T",name:"Poitou-Charentes",subdivision:"Metropolitan region"},{code:"U",name:"Provence-Alpes-Côte d'Azur",subdivision:"Metropolitan region"},{code:"V",name:"Rhône-Alpes",subdivision:"Metropolitan region"},{code:"Q",name:"Upper Normandy",subdivision:"Metropolitan region"},{code:"J",name:"Île-de-France",subdivision:"Metropolitan region"}]},{code2:"GF",code3:"GUF",name:"French Guiana",capital:"Cayenne",region:"Americas",subregion:"South America",states:[]},{code2:"PF",code3:"PYF",name:"French Polynesia",capital:"Papeetē",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"TF",code3:"ATF",name:"French Southern and Antarctic Lands",capital:"Port-aux-Français",region:"Africa",subregion:"Southern Africa",states:[]},{code2:"GA",code3:"GAB",name:"Gabon",capital:"Libreville",region:"Africa",subregion:"Middle Africa",states:[{code:"1",name:"Estuaire",subdivision:null},{code:"2",name:"Haut-Ogooué",subdivision:null},{code:"3",name:"Moyen-Ogooué",subdivision:null},{code:"4",name:"Ngounié",subdivision:null},{code:"5",name:"Nyanga",subdivision:null},{code:"6",name:"Ogooué-Ivindo",subdivision:null},{code:"7",name:"Ogooué-Lolo",subdivision:null},{code:"8",name:"Ogooué-Maritime",subdivision:null},{code:"9",name:"Woleu-Ntem",subdivision:null}]},{code2:"GM",code3:"GMB",name:"The Gambia",capital:"Banjul",region:"Africa",subregion:"Western Africa",states:[{code:"B",name:"Banjul",subdivision:null},{code:"M",name:"Central River",subdivision:null},{code:"L",name:"Lower River",subdivision:null},{code:"N",name:"North Bank",subdivision:null},{code:"U",name:"Upper River",subdivision:null},{code:"W",name:"Western",subdivision:null}]},{code2:"GE",code3:"GEO",name:"Georgia",capital:"Tbilisi",region:"Asia",subregion:"Western Asia",states:[{code:"AB",name:"Abkhazia",subdivision:null},{code:"AJ",name:"Ajaria",subdivision:null},{code:"GU",name:"Guria",subdivision:null},{code:"IM",name:"Imereti",subdivision:null},{code:"KA",name:"K'akheti",subdivision:null},{code:"KK",name:"Kvemo Kartli",subdivision:null},{code:"MM",name:"Mtskheta-Mtianeti",subdivision:null},{code:"RL",name:"Rach'a-Lechkhumi-Kvemo Svaneti",subdivision:null},{code:"SZ",name:"Samegrelo-Zemo Svaneti",subdivision:null},{code:"SJ",name:"Samtskhe-Javakheti",subdivision:null},{code:"SK",name:"Shida Kartli",subdivision:null},{code:"TB",name:"Tbilisi",subdivision:null}]},{code2:"DE",code3:"DEU",name:"Germany",capital:"Berlin",region:"Europe",subregion:"Western Europe",states:[{code:"BW",name:"Baden-Württemberg",subdivision:null},{code:"BY",name:"Bayern",subdivision:null},{code:"BE",name:"Berlin",subdivision:null},{code:"BB",name:"Brandenburg",subdivision:null},{code:"HB",name:"Bremen",subdivision:null},{code:"HH",name:"Hamburg",subdivision:null},{code:"HE",name:"Hessen",subdivision:null},{code:"MV",name:"Mecklenburg-Vorpommern",subdivision:null},{code:"NI",name:"Niedersachsen",subdivision:null},{code:"NW",name:"Nordrhein-Westfalen",subdivision:null},{code:"RP",name:"Rheinland-Pfalz",subdivision:null},{code:"SL",name:"Saarland",subdivision:null},{code:"SN",name:"Sachsen",subdivision:null},{code:"ST",name:"Sachsen-Anhalt",subdivision:null},{code:"SH",name:"Schleswig-Holstein",subdivision:null},{code:"TH",name:"Thüringen",subdivision:null}]},{code2:"GH",code3:"GHA",name:"Ghana",capital:"Accra",region:"Africa",subregion:"Western Africa",states:[{code:"AH",name:"Ashanti",subdivision:null},{code:"BA",name:"Brong-Ahafo",subdivision:null},{code:"CP",name:"Central",subdivision:null},{code:"EP",name:"Eastern",subdivision:null},{code:"AA",name:"Greater Accra",subdivision:null},{code:"NP",name:"Northern",subdivision:null},{code:"UE",name:"Upper East",subdivision:null},{code:"UW",name:"Upper West",subdivision:null},{code:"TV",name:"Volta",subdivision:null},{code:"WP",name:"Western",subdivision:null}]},{code2:"GI",code3:"GIB",name:"Gibraltar",capital:"Gibraltar",region:"Europe",subregion:"Southern Europe",states:[]},{code2:"GR",code3:"GRC",name:"Greece",capital:"Athens",region:"Europe",subregion:"Southern Europe",states:[{code:"A",name:"Anatoliki Makedonia kai Thraki",subdivision:null},{code:"I",name:"Attiki",subdivision:null},{code:"G",name:"Dytiki Ellada",subdivision:null},{code:"C",name:"Dytiki Makedonia",subdivision:null},{code:"F",name:"Ionia Nisia",subdivision:null},{code:"D",name:"Ipeiros",subdivision:null},{code:"B",name:"Kentriki Makedonia",subdivision:null},{code:"M",name:"Kriti",subdivision:null},{code:"L",name:"Notio Aigaio",subdivision:null},{code:"J",name:"Peloponnisos",subdivision:null},{code:"H",name:"Sterea Ellada",subdivision:null},{code:"E",name:"Thessalia",subdivision:null},{code:"K",name:"Voreio Aigaio",subdivision:null}]},{code2:"GL",code3:"GRL",name:"Greenland",capital:"Nuuk",region:"Americas",subregion:"Northern America",states:[{code:"KU",name:"Kommune Kujalleq",subdivision:null},{code:"SM",name:"Kommuneqarfik Sermersooq",subdivision:null},{code:"QA",name:"Qaasuitsup Kommunia",subdivision:null},{code:"QE",name:"Qeqqata Kommunia",subdivision:null}]},{code2:"GD",code3:"GRD",name:"Grenada",capital:"St. George's",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Saint Andrew",subdivision:null},{code:"02",name:"Saint David",subdivision:null},{code:"03",name:"Saint George",subdivision:null},{code:"04",name:"Saint John",subdivision:null},{code:"05",name:"Saint Mark",subdivision:null},{code:"06",name:"Saint Patrick",subdivision:null},{code:"10",name:"Southern Grenadine Islands",subdivision:null}]},{code2:"GP",code3:"GLP",name:"Guadeloupe",capital:"Basse-Terre",region:"Americas",subregion:"Caribbean",states:[]},{code2:"GU",code3:"GUM",name:"Guam",capital:"Hagåtña",region:"Oceania",subregion:"Micronesia",states:[]},{code2:"GT",code3:"GTM",name:"Guatemala",capital:"Guatemala City",region:"Americas",subregion:"Central America",states:[{code:"AV",name:"Alta Verapaz",subdivision:null},{code:"BV",name:"Baja Verapaz",subdivision:null},{code:"CM",name:"Chimaltenango",subdivision:null},{code:"CQ",name:"Chiquimula",subdivision:null},{code:"PR",name:"El Progreso",subdivision:null},{code:"ES",name:"Escuintla",subdivision:null},{code:"GU",name:"Guatemala",subdivision:null},{code:"HU",name:"Huehuetenango",subdivision:null},{code:"IZ",name:"Izabal",subdivision:null},{code:"JA",name:"Jalapa",subdivision:null},{code:"JU",name:"Jutiapa",subdivision:null},{code:"PE",name:"Petén",subdivision:null},{code:"QZ",name:"Quetzaltenango",subdivision:null},{code:"QC",name:"Quiché",subdivision:null},{code:"RE",name:"Retalhuleu",subdivision:null},{code:"SA",name:"Sacatepéquez",subdivision:null},{code:"SM",name:"San Marcos",subdivision:null},{code:"SR",name:"Santa Rosa",subdivision:null},{code:"SO",name:"Sololá",subdivision:null},{code:"SU",name:"Suchitepéquez",subdivision:null},{code:"TO",name:"Totonicapán",subdivision:null},{code:"ZA",name:"Zacapa",subdivision:null}]},{code2:"GG",code3:"GGY",name:"Guernsey",capital:"St. Peter Port",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"GN",code3:"GIN",name:"Guinea",capital:"Conakry",region:"Africa",subregion:"Western Africa",states:[{code:"B",name:"Boké",subdivision:null},{code:"C",name:"Conakry",subdivision:null},{code:"F",name:"Faranah",subdivision:null},{code:"K",name:"Kankan",subdivision:null},{code:"D",name:"Kindia",subdivision:null},{code:"L",name:"Labé",subdivision:null},{code:"M",name:"Mamou",subdivision:null},{code:"N",name:"Nzérékoré",subdivision:null}]},{code2:"GW",code3:"GNB",name:"Guinea-Bissau",capital:"Bissau",region:"Africa",subregion:"Western Africa",states:[{code:"L",name:"Leste",subdivision:null},{code:"N",name:"Norte",subdivision:null},{code:"S",name:"Sul",subdivision:null}]},{code2:"GY",code3:"GUY",name:"Guyana",capital:"Georgetown",region:"Americas",subregion:"South America",states:[{code:"BA",name:"Barima-Waini",subdivision:null},{code:"CU",name:"Cuyuni-Mazaruni",subdivision:null},{code:"DE",name:"Demerara-Mahaica",subdivision:null},{code:"EB",name:"East Berbice-Corentyne",subdivision:null},{code:"ES",name:"Essequibo Islands-West Demerara",subdivision:null},{code:"MA",name:"Mahaica-Berbice",subdivision:null},{code:"PM",name:"Pomeroon-Supenaam",subdivision:null},{code:"PT",name:"Potaro-Siparuni",subdivision:null},{code:"UD",name:"Upper Demerara-Berbice",subdivision:null},{code:"UT",name:"Upper Takutu-Upper Essequibo",subdivision:null}]},{code2:"HT",code3:"HTI",name:"Haiti",capital:"Port-au-Prince",region:"Americas",subregion:"Caribbean",states:[{code:"AR",name:"Artibonite",subdivision:null},{code:"CE",name:"Centre",subdivision:null},{code:"GA",name:"Grande-Anse",subdivision:null},{code:"NI",name:"Nippes",subdivision:null},{code:"ND",name:"Nord",subdivision:null},{code:"NE",name:"Nord-Est",subdivision:null},{code:"NO",name:"Nord-Ouest",subdivision:null},{code:"OU",name:"Ouest",subdivision:null},{code:"SD",name:"Sud",subdivision:null},{code:"SE",name:"Sud-Est",subdivision:null}]},{code2:"HM",code3:"HMD",name:"Heard Island and McDonald Islands",capital:"",region:"",subregion:"",states:[]},{code2:"VA",code3:"VAT",name:"Holy See",capital:"Rome",region:"Europe",subregion:"Southern Europe",states:[]},{code2:"HN",code3:"HND",name:"Honduras",capital:"Tegucigalpa",region:"Americas",subregion:"Central America",states:[{code:"AT",name:"Atlántida",subdivision:null},{code:"CH",name:"Choluteca",subdivision:null},{code:"CL",name:"Colón",subdivision:null},{code:"CM",name:"Comayagua",subdivision:null},{code:"CP",name:"Copán",subdivision:null},{code:"CR",name:"Cortés",subdivision:null},{code:"EP",name:"El Paraíso",subdivision:null},{code:"FM",name:"Francisco Morazán",subdivision:null},{code:"GD",name:"Gracias a Dios",subdivision:null},{code:"IN",name:"Intibucá",subdivision:null},{code:"IB",name:"Islas de la Bahía",subdivision:null},{code:"LP",name:"La Paz",subdivision:null},{code:"LE",name:"Lempira",subdivision:null},{code:"OC",name:"Ocotepeque",subdivision:null},{code:"OL",name:"Olancho",subdivision:null},{code:"SB",name:"Santa Bárbara",subdivision:null},{code:"VA",name:"Valle",subdivision:null},{code:"YO",name:"Yoro",subdivision:null}]},{code2:"HK",code3:"HKG",name:"Hong Kong",capital:"City of Victoria",region:"Asia",subregion:"Eastern Asia",states:[]},{code2:"HU",code3:"HUN",name:"Hungary",capital:"Budapest",region:"Europe",subregion:"Eastern Europe",states:[{code:"BA",name:"Baranya",subdivision:null},{code:"BZ",name:"Borsod-Abaúj-Zemplén",subdivision:null},{code:"BU",name:"Budapest",subdivision:null},{code:"BK",name:"Bács-Kiskun",subdivision:null},{code:"BE",name:"Békés",subdivision:null},{code:"BC",name:"Békéscsaba",subdivision:null},{code:"CS",name:"Csongrád",subdivision:null},{code:"DE",name:"Debrecen",subdivision:null},{code:"DU",name:"Dunaújváros",subdivision:null},{code:"EG",name:"Eger",subdivision:null},{code:"FE",name:"Fejér",subdivision:null},{code:"GY",name:"Győr",subdivision:null},{code:"GS",name:"Győr-Moson-Sopron",subdivision:null},{code:"HB",name:"Hajdú-Bihar",subdivision:null},{code:"HE",name:"Heves",subdivision:null},{code:"HV",name:"Hódmezővásárhely",subdivision:null},{code:"JN",name:"Jász-Nagykun-Szolnok",subdivision:null},{code:"KV",name:"Kaposvár",subdivision:null},{code:"KM",name:"Kecskemét",subdivision:null},{code:"KE",name:"Komárom-Esztergom",subdivision:null},{code:"MI",name:"Miskolc",subdivision:null},{code:"NK",name:"Nagykanizsa",subdivision:null},{code:"NY",name:"Nyíregyháza",subdivision:null},{code:"NO",name:"Nógrád",subdivision:null},{code:"PE",name:"Pest",subdivision:null},{code:"PS",name:"Pécs",subdivision:null},{code:"ST",name:"Salgótarján",subdivision:null},{code:"SO",name:"Somogy",subdivision:null},{code:"SN",name:"Sopron",subdivision:null},{code:"SZ",name:"Szabolcs-Szatmár-Bereg",subdivision:null},{code:"SD",name:"Szeged",subdivision:null},{code:"SS",name:"Szekszárd",subdivision:null},{code:"SK",name:"Szolnok",subdivision:null},{code:"SH",name:"Szombathely",subdivision:null},{code:"SF",name:"Székesfehérvár",subdivision:null},{code:"TB",name:"Tatabánya",subdivision:null},{code:"TO",name:"Tolna",subdivision:null},{code:"VA",name:"Vas",subdivision:null},{code:"VE",name:"Veszprém",subdivision:null},{code:"VM",name:"Veszprém",subdivision:null},{code:"ZA",name:"Zala",subdivision:null},{code:"ZE",name:"Zalaegerszeg",subdivision:null},{code:"ER",name:"Érd",subdivision:null}]},{code2:"IS",code3:"ISL",name:"Iceland",capital:"Reykjavík",region:"Europe",subregion:"Northern Europe",states:[{code:"7",name:"Austurland",subdivision:null},{code:"1",name:"Höfuðborgarsvæði utan Reykjavíkur",subdivision:null},{code:"6",name:"Norðurland eystra",subdivision:null},{code:"5",name:"Norðurland vestra",subdivision:null},{code:"0",name:"Reykjavík",subdivision:null},{code:"8",name:"Suðurland",subdivision:null},{code:"2",name:"Suðurnes",subdivision:null},{code:"4",name:"Vestfirðir",subdivision:null},{code:"3",name:"Vesturland",subdivision:null}]},{code2:"IN",code3:"IND",name:"India",capital:"New Delhi",region:"Asia",subregion:"Southern Asia",states:[{code:"AN",name:"Andaman and Nicobar Islands",subdivision:"Union territory"},{code:"CH",name:"Chandigarh",subdivision:"Union territory"},{code:"DN",name:"Dadra and Nagar Haveli",subdivision:"Union territory"},{code:"DD",name:"Daman and Diu",subdivision:"Union territory"},{code:"DL",name:"Delhi",subdivision:"Union territory"},{code:"LD",name:"Lakshadweep",subdivision:"Union territory"},{code:"PY",name:"Puducherry",subdivision:"Union territory"},{code:"AP",name:"Andhra Pradesh",subdivision:"state"},{code:"AR",name:"Arunachal Pradesh",subdivision:"state"},{code:"AS",name:"Assam",subdivision:"state"},{code:"BR",name:"Bihar",subdivision:"state"},{code:"CT",name:"Chhattisgarh",subdivision:"state"},{code:"GA",name:"Goa",subdivision:"state"},{code:"GJ",name:"Gujarat",subdivision:"state"},{code:"HR",name:"Haryana",subdivision:"state"},{code:"HP",name:"Himachal Pradesh",subdivision:"state"},{code:"JK",name:"Jammu and Kashmir",subdivision:"state"},{code:"JH",name:"Jharkhand",subdivision:"state"},{code:"KA",name:"Karnataka",subdivision:"state"},{code:"KL",name:"Kerala",subdivision:"state"},{code:"MP",name:"Madhya Pradesh",subdivision:"state"},{code:"MH",name:"Maharashtra",subdivision:"state"},{code:"MN",name:"Manipur",subdivision:"state"},{code:"ML",name:"Meghalaya",subdivision:"state"},{code:"MZ",name:"Mizoram",subdivision:"state"},{code:"NL",name:"Nagaland",subdivision:"state"},{code:"OR",name:"Odisha",subdivision:"state"},{code:"PB",name:"Punjab",subdivision:"state"},{code:"RJ",name:"Rajasthan",subdivision:"state"},{code:"SK",name:"Sikkim",subdivision:"state"},{code:"TN",name:"Tamil Nadu",subdivision:"state"},{code:"TG",name:"Telangana",subdivision:"state"},{code:"TR",name:"Tripura",subdivision:"state"},{code:"UP",name:"Uttar Pradesh",subdivision:"state"},{code:"UT",name:"Uttarakhand",subdivision:"state"},{code:"WB",name:"West Bengal",subdivision:"state"}]},{code2:"ID",code3:"IDN",name:"Indonesia",capital:"Jakarta",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"JW",name:"Jawa",subdivision:null},{code:"KA",name:"Kalimantan",subdivision:null},{code:"ML",name:"Maluku",subdivision:null},{code:"NU",name:"Nusa Tenggara",subdivision:null},{code:"PP",name:"Papua",subdivision:null},{code:"SL",name:"Sulawesi",subdivision:null},{code:"SM",name:"Sumatera",subdivision:null}]},{code2:"CI",code3:"CIV",name:"Ivory Coast",capital:"Yamoussoukro",region:"Africa",subregion:"Western Africa",states:[{code:"06",name:"18 Montagnes",subdivision:null},{code:"16",name:"Agnébi",subdivision:null},{code:"17",name:"Bafing",subdivision:null},{code:"09",name:"Bas-Sassandra",subdivision:null},{code:"10",name:"Denguélé",subdivision:null},{code:"18",name:"Fromager",subdivision:null},{code:"02",name:"Haut-Sassandra",subdivision:null},{code:"07",name:"Lacs",subdivision:null},{code:"01",name:"Lagunes",subdivision:null},{code:"12",name:"Marahoué",subdivision:null},{code:"19",name:"Moyen-Cavally",subdivision:null},{code:"05",name:"Moyen-Comoé",subdivision:null},{code:"11",name:"Nzi-Comoé",subdivision:null},{code:"03",name:"Savanes",subdivision:null},{code:"15",name:"Sud-Bandama",subdivision:null},{code:"13",name:"Sud-Comoé",subdivision:null},{code:"04",name:"Vallée du Bandama",subdivision:null},{code:"14",name:"Worodougou",subdivision:null},{code:"08",name:"Zanzan",subdivision:null}]},{code2:"IR",code3:"IRN",name:"Iran",capital:"Tehran",region:"Asia",subregion:"Southern Asia",states:[{code:"32",name:"Alborz",subdivision:null},{code:"03",name:"Ardabīl",subdivision:null},{code:"06",name:"Būshehr",subdivision:null},{code:"08",name:"Chahār Maḩāll va Bakhtīārī",subdivision:null},{code:"04",name:"Eşfahān",subdivision:null},{code:"14",name:"Fārs",subdivision:null},{code:"27",name:"Golestān",subdivision:null},{code:"19",name:"Gīlān",subdivision:null},{code:"24",name:"Hamadān",subdivision:null},{code:"23",name:"Hormozgān",subdivision:null},{code:"15",name:"Kermān",subdivision:null},{code:"17",name:"Kermānshāh",subdivision:null},{code:"29",name:"Khorāsān-e Janūbī",subdivision:null},{code:"30",name:"Khorāsān-e Razavī",subdivision:null},{code:"31",name:"Khorāsān-e Shemālī",subdivision:null},{code:"10",name:"Khūzestān",subdivision:null},{code:"18",name:"Kohgīlūyeh va Būyer Aḩmad",subdivision:null},{code:"16",name:"Kordestān",subdivision:null},{code:"20",name:"Lorestān",subdivision:null},{code:"22",name:"Markazī",subdivision:null},{code:"21",name:"Māzandarān",subdivision:null},{code:"28",name:"Qazvīn",subdivision:null},{code:"26",name:"Qom",subdivision:null},{code:"12",name:"Semnān",subdivision:null},{code:"13",name:"Sīstān va Balūchestān",subdivision:null},{code:"07",name:"Tehrān",subdivision:null},{code:"25",name:"Yazd",subdivision:null},{code:"11",name:"Zanjān",subdivision:null},{code:"02",name:"Āz̄arbāyjān-e Gharbī",subdivision:null},{code:"01",name:"Āz̄arbāyjān-e Sharqī",subdivision:null},{code:"05",name:"Īlām",subdivision:null}]},{code2:"IQ",code3:"IRQ",name:"Iraq",capital:"Baghdad",region:"Asia",subregion:"Western Asia",states:[{code:"AN",name:"Al Anbār",subdivision:null},{code:"BA",name:"Al Başrah",subdivision:null},{code:"MU",name:"Al Muthanná",subdivision:null},{code:"QA",name:"Al Qādisīyah",subdivision:null},{code:"NA",name:"An Najaf",subdivision:null},{code:"AR",name:"Arbīl",subdivision:null},{code:"SU",name:"As Sulaymānīyah",subdivision:null},{code:"TS",name:"At Ta'mīm",subdivision:null},{code:"BG",name:"Baghdād",subdivision:null},{code:"BB",name:"Bābil",subdivision:null},{code:"DA",name:"Dahūk",subdivision:null},{code:"DQ",name:"Dhī Qār",subdivision:null},{code:"DI",name:"Diyālá",subdivision:null},{code:"KA",name:"Karbalā'",subdivision:null},{code:"MA",name:"Maysān",subdivision:null},{code:"NI",name:"Nīnawá",subdivision:null},{code:"WA",name:"Wāsiţ",subdivision:null},{code:"SD",name:"Şalāḩ ad Dīn",subdivision:null}]},{code2:"IE",code3:"IRL",name:"Republic of Ireland",capital:"Dublin",region:"Europe",subregion:"Northern Europe",states:[{code:"C",name:"Connaught",subdivision:null},{code:"L",name:"Leinster",subdivision:null},{code:"M",name:"Munster",subdivision:null},{code:"U",name:"Ulster",subdivision:null}]},{code2:"IM",code3:"IMN",name:"Isle of Man",capital:"Douglas",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"IL",code3:"ISR",name:"Israel",capital:"Jerusalem",region:"Asia",subregion:"Western Asia",states:[{code:"D",name:"HaDarom",subdivision:null},{code:"M",name:"HaMerkaz",subdivision:null},{code:"Z",name:"HaTsafon",subdivision:null},{code:"HA",name:"H̱efa",subdivision:null},{code:"TA",name:"Tel-Aviv",subdivision:null},{code:"JM",name:"Yerushalayim",subdivision:null}]},{code2:"IT",code3:"ITA",name:"Italy",capital:"Rome",region:"Europe",subregion:"Southern Europe",states:[{code:"65",name:"Abruzzo",subdivision:null},{code:"77",name:"Basilicata",subdivision:null},{code:"78",name:"Calabria",subdivision:null},{code:"72",name:"Campania",subdivision:null},{code:"45",name:"Emilia-Romagna",subdivision:null},{code:"36",name:"Friuli-Venezia Giulia",subdivision:null},{code:"62",name:"Lazio",subdivision:null},{code:"42",name:"Liguria",subdivision:null},{code:"25",name:"Lombardia",subdivision:null},{code:"57",name:"Marche",subdivision:null},{code:"67",name:"Molise",subdivision:null},{code:"21",name:"Piemonte",subdivision:null},{code:"75",name:"Puglia",subdivision:null},{code:"88",name:"Sardegna",subdivision:null},{code:"82",name:"Sicilia",subdivision:null},{code:"52",name:"Toscana",subdivision:null},{code:"32",name:"Trentino-Alto Adige",subdivision:null},{code:"55",name:"Umbria",subdivision:null},{code:"23",name:"Valle d'Aosta",subdivision:null},{code:"34",name:"Veneto",subdivision:null}]},{code2:"JM",code3:"JAM",name:"Jamaica",capital:"Kingston",region:"Americas",subregion:"Caribbean",states:[{code:"13",name:"Clarendon",subdivision:null},{code:"09",name:"Hanover",subdivision:null},{code:"01",name:"Kingston",subdivision:null},{code:"12",name:"Manchester",subdivision:null},{code:"04",name:"Portland",subdivision:null},{code:"02",name:"Saint Andrew",subdivision:null},{code:"06",name:"Saint Ann",subdivision:null},{code:"14",name:"Saint Catherine",subdivision:null},{code:"11",name:"Saint Elizabeth",subdivision:null},{code:"08",name:"Saint James",subdivision:null},{code:"05",name:"Saint Mary",subdivision:null},{code:"03",name:"Saint Thomas",subdivision:null},{code:"07",name:"Trelawny",subdivision:null},{code:"10",name:"Westmoreland",subdivision:null}]},{code2:"JP",code3:"JPN",name:"Japan",capital:"Tokyo",region:"Asia",subregion:"Eastern Asia",states:[{code:"23",name:"Aiti",subdivision:null},{code:"05",name:"Akita",subdivision:null},{code:"02",name:"Aomori",subdivision:null},{code:"38",name:"Ehime",subdivision:null},{code:"21",name:"Gihu",subdivision:null},{code:"10",name:"Gunma",subdivision:null},{code:"34",name:"Hirosima",subdivision:null},{code:"01",name:"Hokkaidô",subdivision:null},{code:"18",name:"Hukui",subdivision:null},{code:"40",name:"Hukuoka",subdivision:null},{code:"07",name:"Hukusima",subdivision:null},{code:"28",name:"Hyôgo",subdivision:null},{code:"08",name:"Ibaraki",subdivision:null},{code:"17",name:"Isikawa",subdivision:null},{code:"03",name:"Iwate",subdivision:null},{code:"37",name:"Kagawa",subdivision:null},{code:"46",name:"Kagosima",subdivision:null},{code:"14",name:"Kanagawa",subdivision:null},{code:"43",name:"Kumamoto",subdivision:null},{code:"26",name:"Kyôto",subdivision:null},{code:"39",name:"Kôti",subdivision:null},{code:"24",name:"Mie",subdivision:null},{code:"04",name:"Miyagi",subdivision:null},{code:"45",name:"Miyazaki",subdivision:null},{code:"20",name:"Nagano",subdivision:null},{code:"42",name:"Nagasaki",subdivision:null},{code:"29",name:"Nara",subdivision:null},{code:"15",name:"Niigata",subdivision:null},{code:"33",name:"Okayama",subdivision:null},{code:"47",name:"Okinawa",subdivision:null},{code:"41",name:"Saga",subdivision:null},{code:"11",name:"Saitama",subdivision:null},{code:"25",name:"Siga",subdivision:null},{code:"32",name:"Simane",subdivision:null},{code:"22",name:"Sizuoka",subdivision:null},{code:"12",name:"Tiba",subdivision:null},{code:"36",name:"Tokusima",subdivision:null},{code:"09",name:"Totigi",subdivision:null},{code:"31",name:"Tottori",subdivision:null},{code:"16",name:"Toyama",subdivision:null},{code:"13",name:"Tôkyô",subdivision:null},{code:"30",name:"Wakayama",subdivision:null},{code:"06",name:"Yamagata",subdivision:null},{code:"35",name:"Yamaguti",subdivision:null},{code:"19",name:"Yamanasi",subdivision:null},{code:"44",name:"Ôita",subdivision:null},{code:"27",name:"Ôsaka",subdivision:null}]},{code2:"JE",code3:"JEY",name:"Jersey",capital:"Saint Helier",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"JO",code3:"JOR",name:"Jordan",capital:"Amman",region:"Asia",subregion:"Western Asia",states:[{code:"BA",name:"Al Balqā'",subdivision:null},{code:"AQ",name:"Al ʽAqabah",subdivision:null},{code:"AZ",name:"Az Zarqā'",subdivision:null},{code:"AT",name:"Aţ Ţafīlah",subdivision:null},{code:"IR",name:"Irbid",subdivision:null},{code:"JA",name:"Jerash",subdivision:null},{code:"KA",name:"Karak",subdivision:null},{code:"MN",name:"Ma'ān",subdivision:null},{code:"MA",name:"Mafraq",subdivision:null},{code:"MD",name:"Mādabā",subdivision:null},{code:"AJ",name:"ʽAjlūn",subdivision:null},{code:"AM",name:"‘Ammān",subdivision:null}]},{code2:"KZ",code3:"KAZ",name:"Kazakhstan",capital:"Astana",region:"Asia",subregion:"Central Asia",states:[{code:"ALA",name:"Almaty",subdivision:null},{code:"ALM",name:"Almaty oblysy",subdivision:null},{code:"AKM",name:"Aqmola oblysy",subdivision:null},{code:"AKT",name:"Aqtöbe oblysy",subdivision:null},{code:"AST",name:"Astana",subdivision:null},{code:"ATY",name:"Atyraū oblysy",subdivision:null},{code:"ZAP",name:"Batys Qazaqstan oblysy",subdivision:null},{code:"MAN",name:"Mangghystaū oblysy",subdivision:null},{code:"YUZ",name:"Ongtüstik Qazaqstan oblysy",subdivision:null},{code:"PAV",name:"Pavlodar oblysy",subdivision:null},{code:"KAR",name:"Qaraghandy oblysy",subdivision:null},{code:"KUS",name:"Qostanay oblysy",subdivision:null},{code:"KZY",name:"Qyzylorda oblysy",subdivision:null},{code:"VOS",name:"Shyghys Qazaqstan oblysy",subdivision:null},{code:"SEV",name:"Soltüstik Qazaqstan oblysy",subdivision:null},{code:"ZHA",name:"Zhambyl oblysy",subdivision:null}]},{code2:"KE",code3:"KEN",name:"Kenya",capital:"Nairobi",region:"Africa",subregion:"Eastern Africa",states:[{code:"200",name:"Central",subdivision:null},{code:"300",name:"Coast",subdivision:null},{code:"400",name:"Eastern",subdivision:null},{code:"110",name:"Nairobi",subdivision:null},{code:"500",name:"North-Eastern",subdivision:null},{code:"600",name:"Nyanza",subdivision:null},{code:"700",name:"Rift Valley",subdivision:null},{code:"800",name:"Western",subdivision:null}]},{code2:"KI",code3:"KIR",name:"Kiribati",capital:"South Tarawa",region:"Oceania",subregion:"Micronesia",states:[{code:"G",name:"Gilbert Islands",subdivision:null},{code:"L",name:"Line Islands",subdivision:null},{code:"P",name:"Phoenix Islands",subdivision:null}]},{code2:"KW",code3:"KWT",name:"Kuwait",capital:"Kuwait City",region:"Asia",subregion:"Western Asia",states:[{code:"AH",name:"Al Aḩmadi",subdivision:null},{code:"FA",name:"Al Farwānīyah",subdivision:null},{code:"JA",name:"Al Jahrā’",subdivision:null},{code:"KU",name:"Al Kuwayt",subdivision:null},{code:"MU",name:"Mubārak al Kabīr",subdivision:null},{code:"HA",name:"Ḩawallī",subdivision:null}]},{code2:"KG",code3:"KGZ",name:"Kyrgyzstan",capital:"Bishkek",region:"Asia",subregion:"Central Asia",states:[{code:"B",name:"Batken",subdivision:null},{code:"GB",name:"Bishkek",subdivision:null},{code:"C",name:"Chü",subdivision:null},{code:"J",name:"Jalal-Abad",subdivision:null},{code:"N",name:"Naryn",subdivision:null},{code:"O",name:"Osh",subdivision:null},{code:"T",name:"Talas",subdivision:null},{code:"Y",name:"Ysyk-Köl",subdivision:null}]},{code2:"LA",code3:"LAO",name:"Laos",capital:"Vientiane",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"AT",name:"Attapu",subdivision:null},{code:"BK",name:"Bokèo",subdivision:null},{code:"BL",name:"Bolikhamxai",subdivision:null},{code:"CH",name:"Champasak",subdivision:null},{code:"HO",name:"Houaphan",subdivision:null},{code:"KH",name:"Khammouan",subdivision:null},{code:"LM",name:"Louang Namtha",subdivision:null},{code:"LP",name:"Louangphabang",subdivision:null},{code:"OU",name:"Oudômxai",subdivision:null},{code:"PH",name:"Phôngsali",subdivision:null},{code:"SL",name:"Salavan",subdivision:null},{code:"SV",name:"Savannakhét",subdivision:null},{code:"VT",name:"Vientiane",subdivision:null},{code:"VI",name:"Vientiane",subdivision:null},{code:"XA",name:"Xaignabouli",subdivision:null},{code:"XN",name:"Xaisômboun",subdivision:null},{code:"XI",name:"Xiangkhoang",subdivision:null},{code:"XE",name:"Xékong",subdivision:null}]},{code2:"LV",code3:"LVA",name:"Latvia",capital:"Riga",region:"Europe",subregion:"Northern Europe",states:[{code:"001",name:"Aglonas novads",subdivision:null},{code:"002",name:"Aizkraukles novads",subdivision:null},{code:"003",name:"Aizputes novads",subdivision:null},{code:"004",name:"Aknīstes novads",subdivision:null},{code:"005",name:"Alojas novads",subdivision:null},{code:"006",name:"Alsungas novads",subdivision:null},{code:"007",name:"Alūksnes novads",subdivision:null},{code:"008",name:"Amatas novads",subdivision:null},{code:"009",name:"Apes novads",subdivision:null},{code:"010",name:"Auces novads",subdivision:null},{code:"012",name:"Babītes novads",subdivision:null},{code:"013",name:"Baldones novads",subdivision:null},{code:"014",name:"Baltinavas novads",subdivision:null},{code:"015",name:"Balvu novads",subdivision:null},{code:"016",name:"Bauskas novads",subdivision:null},{code:"017",name:"Beverīnas novads",subdivision:null},{code:"018",name:"Brocēnu novads",subdivision:null},{code:"019",name:"Burtnieku novads",subdivision:null},{code:"020",name:"Carnikavas novads",subdivision:null},{code:"021",name:"Cesvaines novads",subdivision:null},{code:"023",name:"Ciblas novads",subdivision:null},{code:"022",name:"Cēsu novads",subdivision:null},{code:"024",name:"Dagdas novads",subdivision:null},{code:"DGV",name:"Daugavpils",subdivision:null},{code:"025",name:"Daugavpils novads",subdivision:null},{code:"026",name:"Dobeles novads",subdivision:null},{code:"027",name:"Dundagas novads",subdivision:null},{code:"028",name:"Durbes novads",subdivision:null},{code:"029",name:"Engures novads",subdivision:null},{code:"031",name:"Garkalnes novads",subdivision:null},{code:"032",name:"Grobiņas novads",subdivision:null},{code:"033",name:"Gulbenes novads",subdivision:null},{code:"034",name:"Iecavas novads",subdivision:null},{code:"035",name:"Ikšķiles novads",subdivision:null},{code:"036",name:"Ilūkstes novads",subdivision:null},{code:"037",name:"Inčukalna novads",subdivision:null},{code:"038",name:"Jaunjelgavas novads",subdivision:null},{code:"039",name:"Jaunpiebalgas novads",subdivision:null},{code:"040",name:"Jaunpils novads",subdivision:null},{code:"JEL",name:"Jelgava",subdivision:null},{code:"041",name:"Jelgavas novads",subdivision:null},{code:"JKB",name:"Jēkabpils",subdivision:null},{code:"042",name:"Jēkabpils novads",subdivision:null},{code:"JUR",name:"Jūrmala",subdivision:null},{code:"043",name:"Kandavas novads",subdivision:null},{code:"045",name:"Kocēnu novads",subdivision:null},{code:"046",name:"Kokneses novads",subdivision:null},{code:"048",name:"Krimuldas novads",subdivision:null},{code:"049",name:"Krustpils novads",subdivision:null},{code:"047",name:"Krāslavas novads",subdivision:null},{code:"050",name:"Kuldīgas novads",subdivision:null},{code:"044",name:"Kārsavas novads",subdivision:null},{code:"053",name:"Lielvārdes novads",subdivision:null},{code:"LPX",name:"Liepāja",subdivision:null},{code:"054",name:"Limbažu novads",subdivision:null},{code:"057",name:"Lubānas novads",subdivision:null},{code:"058",name:"Ludzas novads",subdivision:null},{code:"055",name:"Līgatnes novads",subdivision:null},{code:"056",name:"Līvānu novads",subdivision:null},{code:"059",name:"Madonas novads",subdivision:null},{code:"060",name:"Mazsalacas novads",subdivision:null},{code:"061",name:"Mālpils novads",subdivision:null},{code:"062",name:"Mārupes novads",subdivision:null},{code:"063",name:"Mērsraga novads",subdivision:null},{code:"064",name:"Naukšēnu novads",subdivision:null},{code:"065",name:"Neretas novads",subdivision:null},{code:"066",name:"Nīcas novads",subdivision:null},{code:"067",name:"Ogres novads",subdivision:null},{code:"068",name:"Olaines novads",subdivision:null},{code:"069",name:"Ozolnieku novads",subdivision:null},{code:"073",name:"Preiļu novads",subdivision:null},{code:"074",name:"Priekules novads",subdivision:null},{code:"075",name:"Priekuļu novads",subdivision:null},{code:"070",name:"Pārgaujas novads",subdivision:null},{code:"071",name:"Pāvilostas novads",subdivision:null},{code:"072",name:"Pļaviņu novads",subdivision:null},{code:"076",name:"Raunas novads",subdivision:null},{code:"078",name:"Riebiņu novads",subdivision:null},{code:"079",name:"Rojas novads",subdivision:null},{code:"080",name:"Ropažu novads",subdivision:null},{code:"081",name:"Rucavas novads",subdivision:null},{code:"082",name:"Rugāju novads",subdivision:null},{code:"083",name:"Rundāles novads",subdivision:null},{code:"REZ",name:"Rēzekne",subdivision:null},{code:"077",name:"Rēzeknes novads",subdivision:null},{code:"RIX",name:"Rīga",subdivision:null},{code:"084",name:"Rūjienas novads",subdivision:null},{code:"086",name:"Salacgrīvas novads",subdivision:null},{code:"085",name:"Salas novads",subdivision:null},{code:"087",name:"Salaspils novads",subdivision:null},{code:"088",name:"Saldus novads",subdivision:null},{code:"089",name:"Saulkrastu novads",subdivision:null},{code:"091",name:"Siguldas novads",subdivision:null},{code:"093",name:"Skrundas novads",subdivision:null},{code:"092",name:"Skrīveru novads",subdivision:null},{code:"094",name:"Smiltenes novads",subdivision:null},{code:"095",name:"Stopiņu novads",subdivision:null},{code:"096",name:"Strenču novads",subdivision:null},{code:"090",name:"Sējas novads",subdivision:null},{code:"097",name:"Talsu novads",subdivision:null},{code:"099",name:"Tukuma novads",subdivision:null},{code:"098",name:"Tērvetes novads",subdivision:null},{code:"100",name:"Vaiņodes novads",subdivision:null},{code:"101",name:"Valkas novads",subdivision:null},{code:"VMR",name:"Valmiera",subdivision:null},{code:"102",name:"Varakļānu novads",subdivision:null},{code:"104",name:"Vecpiebalgas novads",subdivision:null},{code:"105",name:"Vecumnieku novads",subdivision:null},{code:"VEN",name:"Ventspils",subdivision:null},{code:"106",name:"Ventspils novads",subdivision:null},{code:"107",name:"Viesītes novads",subdivision:null},{code:"108",name:"Viļakas novads",subdivision:null},{code:"109",name:"Viļānu novads",subdivision:null},{code:"103",name:"Vārkavas novads",subdivision:null},{code:"110",name:"Zilupes novads",subdivision:null},{code:"011",name:"Ādažu novads",subdivision:null},{code:"030",name:"Ērgļu novads",subdivision:null},{code:"051",name:"Ķeguma novads",subdivision:null},{code:"052",name:"Ķekavas novads",subdivision:null}]},{code2:"LB",code3:"LBN",name:"Lebanon",capital:"Beirut",region:"Asia",subregion:"Western Asia",states:[{code:"AK",name:"Aakkâr",subdivision:null},{code:"BH",name:"Baalbek-Hermel",subdivision:null},{code:"BA",name:"Beyrouth",subdivision:null},{code:"BI",name:"Béqaa",subdivision:null},{code:"AS",name:"Liban-Nord",subdivision:null},{code:"JA",name:"Liban-Sud",subdivision:null},{code:"JL",name:"Mont-Liban",subdivision:null},{code:"NA",name:"Nabatîyé",subdivision:null}]},{code2:"LS",code3:"LSO",name:"Lesotho",capital:"Maseru",region:"Africa",subregion:"Southern Africa",states:[{code:"D",name:"Berea",subdivision:null},{code:"B",name:"Butha-Buthe",subdivision:null},{code:"C",name:"Leribe",subdivision:null},{code:"E",name:"Mafeteng",subdivision:null},{code:"A",name:"Maseru",subdivision:null},{code:"F",name:"Mohale's Hoek",subdivision:null},{code:"J",name:"Mokhotlong",subdivision:null},{code:"H",name:"Qacha's Nek",subdivision:null},{code:"G",name:"Quthing",subdivision:null},{code:"K",name:"Thaba-Tseka",subdivision:null}]},{code2:"LR",code3:"LBR",name:"Liberia",capital:"Monrovia",region:"Africa",subregion:"Western Africa",states:[{code:"BM",name:"Bomi",subdivision:null},{code:"BG",name:"Bong",subdivision:null},{code:"GP",name:"Gbarpolu",subdivision:null},{code:"GB",name:"Grand Bassa",subdivision:null},{code:"CM",name:"Grand Cape Mount",subdivision:null},{code:"GG",name:"Grand Gedeh",subdivision:null},{code:"GK",name:"Grand Kru",subdivision:null},{code:"LO",name:"Lofa",subdivision:null},{code:"MG",name:"Margibi",subdivision:null},{code:"MY",name:"Maryland",subdivision:null},{code:"MO",name:"Montserrado",subdivision:null},{code:"NI",name:"Nimba",subdivision:null},{code:"RG",name:"River Gee",subdivision:null},{code:"RI",name:"Rivercess",subdivision:null},{code:"SI",name:"Sinoe",subdivision:null}]},{code2:"LY",code3:"LBY",name:"Libya",capital:"Tripoli",region:"Africa",subregion:"Northern Africa",states:[{code:"BU",name:"Al Buţnān",subdivision:null},{code:"JA",name:"Al Jabal al Akhḑar",subdivision:null},{code:"JG",name:"Al Jabal al Gharbī",subdivision:null},{code:"JI",name:"Al Jifārah",subdivision:null},{code:"JU",name:"Al Jufrah",subdivision:null},{code:"KF",name:"Al Kufrah",subdivision:null},{code:"MJ",name:"Al Marj",subdivision:null},{code:"MB",name:"Al Marqab",subdivision:null},{code:"WA",name:"Al Wāḩāt",subdivision:null},{code:"NQ",name:"An Nuqaţ al Khams",subdivision:null},{code:"ZA",name:"Az Zāwiyah",subdivision:null},{code:"BA",name:"Banghāzī",subdivision:null},{code:"DR",name:"Darnah",subdivision:null},{code:"GT",name:"Ghāt",subdivision:null},{code:"MI",name:"Mişrātah",subdivision:null},{code:"MQ",name:"Murzuq",subdivision:null},{code:"NL",name:"Nālūt",subdivision:null},{code:"SB",name:"Sabhā",subdivision:null},{code:"SR",name:"Surt",subdivision:null},{code:"WD",name:"Wādī al Ḩayāt",subdivision:null},{code:"WS",name:"Wādī ash Shāţiʾ",subdivision:null},{code:"TB",name:"Ţarābulus",subdivision:null}]},{code2:"LI",code3:"LIE",name:"Liechtenstein",capital:"Vaduz",region:"Europe",subregion:"Western Europe",states:[{code:"01",name:"Balzers",subdivision:null},{code:"02",name:"Eschen",subdivision:null},{code:"03",name:"Gamprin",subdivision:null},{code:"04",name:"Mauren",subdivision:null},{code:"05",name:"Planken",subdivision:null},{code:"06",name:"Ruggell",subdivision:null},{code:"07",name:"Schaan",subdivision:null},{code:"08",name:"Schellenberg",subdivision:null},{code:"09",name:"Triesen",subdivision:null},{code:"10",name:"Triesenberg",subdivision:null},{code:"11",name:"Vaduz",subdivision:null}]},{code2:"LT",code3:"LTU",name:"Lithuania",capital:"Vilnius",region:"Europe",subregion:"Northern Europe",states:[{code:"AL",name:"Alytaus Apskritis",subdivision:null},{code:"KU",name:"Kauno Apskritis",subdivision:null},{code:"KL",name:"Klaipėdos Apskritis",subdivision:null},{code:"MR",name:"Marijampolės Apskritis",subdivision:null},{code:"PN",name:"Panevėžio Apskritis",subdivision:null},{code:"TA",name:"Tauragės Apskritis",subdivision:null},{code:"TE",name:"Telšių Apskritis",subdivision:null},{code:"UT",name:"Utenos Apskritis",subdivision:null},{code:"VL",name:"Vilniaus Apskritis",subdivision:null},{code:"SA",name:"Šiaulių Apskritis",subdivision:null}]},{code2:"LU",code3:"LUX",name:"Luxembourg",capital:"Luxembourg",region:"Europe",subregion:"Western Europe",states:[{code:"D",name:"Diekirch",subdivision:null},{code:"G",name:"Grevenmacher",subdivision:null},{code:"L",name:"Luxembourg",subdivision:null}]},{code2:"MO",code3:"MAC",name:"Macau",capital:"",region:"Asia",subregion:"Eastern Asia",states:[]},{code2:"MK",code3:"MKD",name:"Republic of Macedonia",capital:"Skopje",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Aerodrom",subdivision:null},{code:"02",name:"Aračinovo",subdivision:null},{code:"03",name:"Berovo",subdivision:null},{code:"04",name:"Bitola",subdivision:null},{code:"05",name:"Bogdanci",subdivision:null},{code:"06",name:"Bogovinje",subdivision:null},{code:"07",name:"Bosilovo",subdivision:null},{code:"08",name:"Brvenica",subdivision:null},{code:"09",name:"Butel",subdivision:null},{code:"77",name:"Centar",subdivision:null},{code:"78",name:"Centar Župa",subdivision:null},{code:"21",name:"Debar",subdivision:null},{code:"22",name:"Debarca",subdivision:null},{code:"23",name:"Delčevo",subdivision:null},{code:"25",name:"Demir Hisar",subdivision:null},{code:"24",name:"Demir Kapija",subdivision:null},{code:"26",name:"Dojran",subdivision:null},{code:"27",name:"Dolneni",subdivision:null},{code:"28",name:"Drugovo",subdivision:null},{code:"17",name:"Gazi Baba",subdivision:null},{code:"18",name:"Gevgelija",subdivision:null},{code:"29",name:"Gjorče Petrov",subdivision:null},{code:"19",name:"Gostivar",subdivision:null},{code:"20",name:"Gradsko",subdivision:null},{code:"34",name:"Ilinden",subdivision:null},{code:"35",name:"Jegunovce",subdivision:null},{code:"37",name:"Karbinci",subdivision:null},{code:"38",name:"Karpoš",subdivision:null},{code:"36",name:"Kavadarci",subdivision:null},{code:"39",name:"Kisela Voda",subdivision:null},{code:"40",name:"Kičevo",subdivision:null},{code:"41",name:"Konče",subdivision:null},{code:"42",name:"Kočani",subdivision:null},{code:"43",name:"Kratovo",subdivision:null},{code:"44",name:"Kriva Palanka",subdivision:null},{code:"45",name:"Krivogaštani",subdivision:null},{code:"46",name:"Kruševo",subdivision:null},{code:"47",name:"Kumanovo",subdivision:null},{code:"48",name:"Lipkovo",subdivision:null},{code:"49",name:"Lozovo",subdivision:null},{code:"51",name:"Makedonska Kamenica",subdivision:null},{code:"52",name:"Makedonski Brod",subdivision:null},{code:"50",name:"Mavrovo i Rostuša",subdivision:null},{code:"53",name:"Mogila",subdivision:null},{code:"54",name:"Negotino",subdivision:null},{code:"55",name:"Novaci",subdivision:null},{code:"56",name:"Novo Selo",subdivision:null},{code:"58",name:"Ohrid",subdivision:null},{code:"57",name:"Oslomej",subdivision:null},{code:"60",name:"Pehčevo",subdivision:null},{code:"59",name:"Petrovec",subdivision:null},{code:"61",name:"Plasnica",subdivision:null},{code:"62",name:"Prilep",subdivision:null},{code:"63",name:"Probištip",subdivision:null},{code:"64",name:"Radoviš",subdivision:null},{code:"65",name:"Rankovce",subdivision:null},{code:"66",name:"Resen",subdivision:null},{code:"67",name:"Rosoman",subdivision:null},{code:"68",name:"Saraj",subdivision:null},{code:"70",name:"Sopište",subdivision:null},{code:"71",name:"Staro Nagoričane",subdivision:null},{code:"72",name:"Struga",subdivision:null},{code:"73",name:"Strumica",subdivision:null},{code:"74",name:"Studeničani",subdivision:null},{code:"69",name:"Sveti Nikole",subdivision:null},{code:"75",name:"Tearce",subdivision:null},{code:"76",name:"Tetovo",subdivision:null},{code:"10",name:"Valandovo",subdivision:null},{code:"11",name:"Vasilevo",subdivision:null},{code:"13",name:"Veles",subdivision:null},{code:"12",name:"Vevčani",subdivision:null},{code:"14",name:"Vinica",subdivision:null},{code:"15",name:"Vraneštica",subdivision:null},{code:"16",name:"Vrapčište",subdivision:null},{code:"31",name:"Zajas",subdivision:null},{code:"32",name:"Zelenikovo",subdivision:null},{code:"33",name:"Zrnovci",subdivision:null},{code:"79",name:"Čair",subdivision:null},{code:"80",name:"Čaška",subdivision:null},{code:"81",name:"Češinovo-Obleševo",subdivision:null},{code:"82",name:"Čučer Sandevo",subdivision:null},{code:"83",name:"Štip",subdivision:null},{code:"84",name:"Šuto Orizari",subdivision:null},{code:"30",name:"Želino",subdivision:null}]},{code2:"MG",code3:"MDG",name:"Madagascar",capital:"Antananarivo",region:"Africa",subregion:"Eastern Africa",states:[{code:"T",name:"Antananarivo",subdivision:null},{code:"D",name:"Antsiranana",subdivision:null},{code:"F",name:"Fianarantsoa",subdivision:null},{code:"M",name:"Mahajanga",subdivision:null},{code:"A",name:"Toamasina",subdivision:null},{code:"U",name:"Toliara",subdivision:null}]},{code2:"MW",code3:"MWI",name:"Malawi",capital:"Lilongwe",region:"Africa",subregion:"Eastern Africa",states:[{code:"C",name:"Central Region",subdivision:null},{code:"N",name:"Northern Region",subdivision:null},{code:"S",name:"Southern Region",subdivision:null}]},{code2:"MY",code3:"MYS",name:"Malaysia",capital:"Kuala Lumpur",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"14",name:"Wilayah Persekutuan Kuala Lumpur",subdivision:"federal territory"},{code:"15",name:"Wilayah Persekutuan Labuan",subdivision:"federal territory"},{code:"16",name:"Wilayah Persekutuan Putrajaya",subdivision:"federal territory"},{code:"01",name:"Johor",subdivision:"state"},{code:"02",name:"Kedah",subdivision:"state"},{code:"03",name:"Kelantan",subdivision:"state"},{code:"04",name:"Melaka",subdivision:"state"},{code:"05",name:"Negeri Sembilan",subdivision:"state"},{code:"06",name:"Pahang",subdivision:"state"},{code:"08",name:"Perak",subdivision:"state"},{code:"09",name:"Perlis",subdivision:"state"},{code:"07",name:"Pulau Pinang",subdivision:"state"},{code:"12",name:"Sabah",subdivision:"state"},{code:"13",name:"Sarawak",subdivision:"state"},{code:"10",name:"Selangor",subdivision:"state"},{code:"11",name:"Terengganu",subdivision:"state"}]},{code2:"MV",code3:"MDV",name:"Maldives",capital:"Malé",region:"Asia",subregion:"Southern Asia",states:[{code:"CE",name:"Central",subdivision:null},{code:"MLE",name:"Male",subdivision:null},{code:"NO",name:"North",subdivision:null},{code:"NC",name:"North Central",subdivision:null},{code:"SU",name:"South",subdivision:null},{code:"SC",name:"South Central",subdivision:null},{code:"UN",name:"Upper North",subdivision:null},{code:"US",name:"Upper South",subdivision:null}]},{code2:"ML",code3:"MLI",name:"Mali",capital:"Bamako",region:"Africa",subregion:"Western Africa",states:[{code:"BKO",name:"Bamako",subdivision:null},{code:"7",name:"Gao",subdivision:null},{code:"1",name:"Kayes",subdivision:null},{code:"8",name:"Kidal",subdivision:null},{code:"2",name:"Koulikoro",subdivision:null},{code:"5",name:"Mopti",subdivision:null},{code:"3",name:"Sikasso",subdivision:null},{code:"4",name:"Ségou",subdivision:null},{code:"6",name:"Tombouctou",subdivision:null}]},{code2:"MT",code3:"MLT",name:"Malta",capital:"Valletta",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Attard",subdivision:null},{code:"02",name:"Balzan",subdivision:null},{code:"03",name:"Birgu",subdivision:null},{code:"04",name:"Birkirkara",subdivision:null},{code:"05",name:"Birżebbuġa",subdivision:null},{code:"06",name:"Bormla",subdivision:null},{code:"07",name:"Dingli",subdivision:null},{code:"08",name:"Fgura",subdivision:null},{code:"09",name:"Floriana",subdivision:null},{code:"10",name:"Fontana",subdivision:null},{code:"11",name:"Gudja",subdivision:null},{code:"13",name:"Għajnsielem",subdivision:null},{code:"14",name:"Għarb",subdivision:null},{code:"15",name:"Għargħur",subdivision:null},{code:"16",name:"Għasri",subdivision:null},{code:"17",name:"Għaxaq",subdivision:null},{code:"12",name:"Gżira",subdivision:null},{code:"19",name:"Iklin",subdivision:null},{code:"20",name:"Isla",subdivision:null},{code:"21",name:"Kalkara",subdivision:null},{code:"22",name:"Kerċem",subdivision:null},{code:"23",name:"Kirkop",subdivision:null},{code:"24",name:"Lija",subdivision:null},{code:"25",name:"Luqa",subdivision:null},{code:"26",name:"Marsa",subdivision:null},{code:"27",name:"Marsaskala",subdivision:null},{code:"28",name:"Marsaxlokk",subdivision:null},{code:"29",name:"Mdina",subdivision:null},{code:"30",name:"Mellieħa",subdivision:null},{code:"32",name:"Mosta",subdivision:null},{code:"33",name:"Mqabba",subdivision:null},{code:"34",name:"Msida",subdivision:null},{code:"35",name:"Mtarfa",subdivision:null},{code:"36",name:"Munxar",subdivision:null},{code:"31",name:"Mġarr",subdivision:null},{code:"37",name:"Nadur",subdivision:null},{code:"38",name:"Naxxar",subdivision:null},{code:"39",name:"Paola",subdivision:null},{code:"40",name:"Pembroke",subdivision:null},{code:"41",name:"Pietà",subdivision:null},{code:"42",name:"Qala",subdivision:null},{code:"43",name:"Qormi",subdivision:null},{code:"44",name:"Qrendi",subdivision:null},{code:"45",name:"Rabat Għawdex",subdivision:null},{code:"46",name:"Rabat Malta",subdivision:null},{code:"47",name:"Safi",subdivision:null},{code:"50",name:"San Lawrenz",subdivision:null},{code:"51",name:"San Pawl il-Baħar",subdivision:null},{code:"48",name:"San Ġiljan",subdivision:null},{code:"49",name:"San Ġwann",subdivision:null},{code:"52",name:"Sannat",subdivision:null},{code:"53",name:"Santa Luċija",subdivision:null},{code:"54",name:"Santa Venera",subdivision:null},{code:"55",name:"Siġġiewi",subdivision:null},{code:"56",name:"Sliema",subdivision:null},{code:"57",name:"Swieqi",subdivision:null},{code:"58",name:"Ta' Xbiex",subdivision:null},{code:"59",name:"Tarxien",subdivision:null},{code:"60",name:"Valletta",subdivision:null},{code:"61",name:"Xagħra",subdivision:null},{code:"62",name:"Xewkija",subdivision:null},{code:"63",name:"Xgħajra",subdivision:null},{code:"18",name:"Ħamrun",subdivision:null},{code:"64",name:"Żabbar",subdivision:null},{code:"65",name:"Żebbuġ Għawdex",subdivision:null},{code:"66",name:"Żebbuġ Malta",subdivision:null},{code:"67",name:"Żejtun",subdivision:null},{code:"68",name:"Żurrieq",subdivision:null}]},{code2:"MH",code3:"MHL",name:"Marshall Islands",capital:"Majuro",region:"Oceania",subregion:"Micronesia",states:[{code:"L",name:"Ralik chain",subdivision:null},{code:"T",name:"Ratak chain",subdivision:null}]},{code2:"MQ",code3:"MTQ",name:"Martinique",capital:"Fort-de-France",region:"Americas",subregion:"Caribbean",states:[]},{code2:"MR",code3:"MRT",name:"Mauritania",capital:"Nouakchott",region:"Africa",subregion:"Western Africa",states:[{code:"07",name:"Adrar",subdivision:null},{code:"03",name:"Assaba",subdivision:null},{code:"05",name:"Brakna",subdivision:null},{code:"08",name:"Dakhlet Nouâdhibou",subdivision:null},{code:"04",name:"Gorgol",subdivision:null},{code:"10",name:"Guidimaka",subdivision:null},{code:"01",name:"Hodh ech Chargui",subdivision:null},{code:"02",name:"Hodh el Gharbi",subdivision:null},{code:"12",name:"Inchiri",subdivision:null},{code:"NKC",name:"Nouakchott",subdivision:null},{code:"09",name:"Tagant",subdivision:null},{code:"11",name:"Tiris Zemmour",subdivision:null},{code:"06",name:"Trarza",subdivision:null}]},{code2:"MU",code3:"MUS",name:"Mauritius",capital:"Port Louis",region:"Africa",subregion:"Eastern Africa",states:[{code:"AG",name:"Agalega Islands",subdivision:null},{code:"BR",name:"Beau Bassin-Rose Hill",subdivision:null},{code:"BL",name:"Black River",subdivision:null},{code:"CC",name:"Cargados Carajos Shoals",subdivision:null},{code:"CU",name:"Curepipe",subdivision:null},{code:"FL",name:"Flacq",subdivision:null},{code:"GP",name:"Grand Port",subdivision:null},{code:"MO",name:"Moka",subdivision:null},{code:"PA",name:"Pamplemousses",subdivision:null},{code:"PW",name:"Plaines Wilhems",subdivision:null},{code:"PL",name:"Port Louis",subdivision:null},{code:"PU",name:"Port Louis",subdivision:null},{code:"QB",name:"Quatre Bornes",subdivision:null},{code:"RR",name:"Rivière du Rempart",subdivision:null},{code:"RO",name:"Rodrigues Island",subdivision:null},{code:"SA",name:"Savanne",subdivision:null},{code:"VP",name:"Vacoas-Phoenix",subdivision:null}]},{code2:"YT",code3:"MYT",name:"Mayotte",capital:"Mamoudzou",region:"Africa",subregion:"Eastern Africa",states:[]},{code2:"MX",code3:"MEX",name:"Mexico",capital:"Mexico City",region:"Americas",subregion:"Central America",states:[{code:"DIF",name:"Distrito Federal",subdivision:"federal district"},{code:"AGU",name:"Aguascalientes",subdivision:"state"},{code:"BCN",name:"Baja California",subdivision:"state"},{code:"BCS",name:"Baja California Sur",subdivision:"state"},{code:"CAM",name:"Campeche",subdivision:"state"},{code:"CHP",name:"Chiapas",subdivision:"state"},{code:"CHH",name:"Chihuahua",subdivision:"state"},{code:"COA",name:"Coahuila",subdivision:"state"},{code:"COL",name:"Colima",subdivision:"state"},{code:"DUR",name:"Durango",subdivision:"state"},{code:"GUA",name:"Guanajuato",subdivision:"state"},{code:"GRO",name:"Guerrero",subdivision:"state"},{code:"HID",name:"Hidalgo",subdivision:"state"},{code:"JAL",name:"Jalisco",subdivision:"state"},{code:"MIC",name:"Michoacán",subdivision:"state"},{code:"MOR",name:"Morelos",subdivision:"state"},{code:"MEX",name:"México",subdivision:"state"},{code:"NAY",name:"Nayarit",subdivision:"state"},{code:"NLE",name:"Nuevo León",subdivision:"state"},{code:"OAX",name:"Oaxaca",subdivision:"state"},{code:"PUE",name:"Puebla",subdivision:"state"},{code:"QUE",name:"Querétaro",subdivision:"state"},{code:"ROO",name:"Quintana Roo",subdivision:"state"},{code:"SLP",name:"San Luis Potosí",subdivision:"state"},{code:"SIN",name:"Sinaloa",subdivision:"state"},{code:"SON",name:"Sonora",subdivision:"state"},{code:"TAB",name:"Tabasco",subdivision:"state"},{code:"TAM",name:"Tamaulipas",subdivision:"state"},{code:"TLA",name:"Tlaxcala",subdivision:"state"},{code:"VER",name:"Veracruz",subdivision:"state"},{code:"YUC",name:"Yucatán",subdivision:"state"},{code:"ZAC",name:"Zacatecas",subdivision:"state"}]},{code2:"FM",code3:"FSM",name:"Federated States of Micronesia",capital:"Palikir",region:"Oceania",subregion:"Micronesia",states:[{code:"TRK",name:"Chuuk",subdivision:null},{code:"KSA",name:"Kosrae",subdivision:null},{code:"PNI",name:"Pohnpei",subdivision:null},{code:"YAP",name:"Yap",subdivision:null}]},{code2:"MD",code3:"MDA",name:"Moldova",capital:"Chișinău",region:"Europe",subregion:"Eastern Europe",states:[{code:"AN",name:"Anenii Noi",subdivision:null},{code:"BS",name:"Basarabeasca",subdivision:null},{code:"BR",name:"Briceni",subdivision:null},{code:"BA",name:"Bălţi",subdivision:null},{code:"CA",name:"Cahul",subdivision:null},{code:"CT",name:"Cantemir",subdivision:null},{code:"CU",name:"Chişinău",subdivision:null},{code:"CM",name:"Cimişlia",subdivision:null},{code:"CR",name:"Criuleni",subdivision:null},{code:"CL",name:"Călăraşi",subdivision:null},{code:"CS",name:"Căuşeni",subdivision:null},{code:"DO",name:"Donduşeni",subdivision:null},{code:"DR",name:"Drochia",subdivision:null},{code:"DU",name:"Dubăsari",subdivision:null},{code:"ED",name:"Edineţ",subdivision:null},{code:"FL",name:"Floreşti",subdivision:null},{code:"FA",name:"Făleşti",subdivision:null},{code:"GL",name:"Glodeni",subdivision:null},{code:"GA",name:"Găgăuzia, Unitatea teritorială autonomă",subdivision:null},{code:"HI",name:"Hînceşti",subdivision:null},{code:"IA",name:"Ialoveni",subdivision:null},{code:"LE",name:"Leova",subdivision:null},{code:"NI",name:"Nisporeni",subdivision:null},{code:"OC",name:"Ocniţa",subdivision:null},{code:"OR",name:"Orhei",subdivision:null},{code:"RE",name:"Rezina",subdivision:null},{code:"RI",name:"Rîşcani",subdivision:null},{code:"SO",name:"Soroca",subdivision:null},{code:"ST",name:"Străşeni",subdivision:null},{code:"SN",name:"Stînga Nistrului, unitatea teritorială din",subdivision:null},{code:"SI",name:"Sîngerei",subdivision:null},{code:"TA",name:"Taraclia",subdivision:null},{code:"TE",name:"Teleneşti",subdivision:null},{code:"BD",name:"Tighina",subdivision:null},{code:"UN",name:"Ungheni",subdivision:null},{code:"SD",name:"Şoldăneşti",subdivision:null},{code:"SV",name:"Ştefan Vodă",subdivision:null}]},{code2:"MC",code3:"MCO",name:"Monaco",capital:"Monaco",region:"Europe",subregion:"Western Europe",states:[{code:"FO",name:"Fontvieille",subdivision:null},{code:"JE",name:"Jardin Exotique",subdivision:null},{code:"CL",name:"La Colle",subdivision:null},{code:"CO",name:"La Condamine",subdivision:null},{code:"GA",name:"La Gare",subdivision:null},{code:"SO",name:"La Source",subdivision:null},{code:"LA",name:"Larvotto",subdivision:null},{code:"MA",name:"Malbousquet",subdivision:null},{code:"MO",name:"Monaco-Ville",subdivision:null},{code:"MG",name:"Moneghetti",subdivision:null},{code:"MC",name:"Monte-Carlo",subdivision:null},{code:"MU",name:"Moulins",subdivision:null},{code:"PH",name:"Port-Hercule",subdivision:null},{code:"SR",name:"Saint-Roman",subdivision:null},{code:"SD",name:"Sainte-Dévote",subdivision:null},{code:"SP",name:"Spélugues",subdivision:null},{code:"VR",name:"Vallon de la Rousse",subdivision:null}]},{code2:"MN",code3:"MNG",name:"Mongolia",capital:"Ulan Bator",region:"Asia",subregion:"Eastern Asia",states:[{code:"073",name:"Arhangay",subdivision:null},{code:"071",name:"Bayan-Ölgiy",subdivision:null},{code:"069",name:"Bayanhongor",subdivision:null},{code:"067",name:"Bulgan",subdivision:null},{code:"037",name:"Darhan uul",subdivision:null},{code:"061",name:"Dornod",subdivision:null},{code:"063",name:"Dornogovĭ",subdivision:null},{code:"059",name:"Dundgovĭ",subdivision:null},{code:"057",name:"Dzavhan",subdivision:null},{code:"065",name:"Govĭ-Altay",subdivision:null},{code:"064",name:"Govĭ-Sümber",subdivision:null},{code:"039",name:"Hentiy",subdivision:null},{code:"043",name:"Hovd",subdivision:null},{code:"041",name:"Hövsgöl",subdivision:null},{code:"035",name:"Orhon",subdivision:null},{code:"049",name:"Selenge",subdivision:null},{code:"051",name:"Sühbaatar",subdivision:null},{code:"047",name:"Töv",subdivision:null},{code:"1",name:"Ulaanbaatar",subdivision:null},{code:"046",name:"Uvs",subdivision:null},{code:"053",name:"Ömnögovĭ",subdivision:null},{code:"055",name:"Övörhangay",subdivision:null}]},{code2:"ME",code3:"MNE",name:"Montenegro",capital:"Podgorica",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Andrijevica",subdivision:null},{code:"02",name:"Bar",subdivision:null},{code:"03",name:"Berane",subdivision:null},{code:"04",name:"Bijelo Polje",subdivision:null},{code:"05",name:"Budva",subdivision:null},{code:"06",name:"Cetinje",subdivision:null},{code:"07",name:"Danilovgrad",subdivision:null},{code:"22",name:"Gusinje",subdivision:null},{code:"08",name:"Herceg-Novi",subdivision:null},{code:"09",name:"Kolašin",subdivision:null},{code:"10",name:"Kotor",subdivision:null},{code:"11",name:"Mojkovac",subdivision:null},{code:"12",name:"Nikšić",subdivision:null},{code:"23",name:"Petnjica",subdivision:null},{code:"13",name:"Plav",subdivision:null},{code:"14",name:"Pljevlja",subdivision:null},{code:"15",name:"Plužine",subdivision:null},{code:"16",name:"Podgorica",subdivision:null},{code:"17",name:"Rožaje",subdivision:null},{code:"19",name:"Tivat",subdivision:null},{code:"20",name:"Ulcinj",subdivision:null},{code:"18",name:"Šavnik",subdivision:null},{code:"21",name:"Žabljak",subdivision:null}]},{code2:"MS",code3:"MSR",name:"Montserrat",capital:"Plymouth",region:"Americas",subregion:"Caribbean",states:[]},{code2:"MA",code3:"MAR",name:"Morocco",capital:"Rabat",region:"Africa",subregion:"Northern Africa",states:[{code:"09",name:"Chaouia-Ouardigha",subdivision:null},{code:"10",name:"Doukhala-Abda",subdivision:null},{code:"05",name:"Fès-Boulemane",subdivision:null},{code:"02",name:"Gharb-Chrarda-Beni Hssen",subdivision:null},{code:"08",name:"Grand Casablanca",subdivision:null},{code:"14",name:"Guelmim-Es Smara",subdivision:null},{code:"04",name:"L'Oriental",subdivision:null},{code:"15",name:"Laâyoune-Boujdour-Sakia el Hamra",subdivision:null},{code:"11",name:"Marrakech-Tensift-Al Haouz",subdivision:null},{code:"06",name:"Meknès-Tafilalet",subdivision:null},{code:"16",name:"Oued ed Dahab-Lagouira",subdivision:null},{code:"07",name:"Rabat-Salé-Zemmour-Zaer",subdivision:null},{code:"13",name:"Souss-Massa-Drâa",subdivision:null},{code:"12",name:"Tadla-Azilal",subdivision:null},{code:"01",name:"Tanger-Tétouan",subdivision:null},{code:"03",name:"Taza-Al Hoceima-Taounate",subdivision:null}]},{code2:"MZ",code3:"MOZ",name:"Mozambique",capital:"Maputo",region:"Africa",subregion:"Eastern Africa",states:[{code:"P",name:"Cabo Delgado",subdivision:null},{code:"G",name:"Gaza",subdivision:null},{code:"I",name:"Inhambane",subdivision:null},{code:"B",name:"Manica",subdivision:null},{code:"MPM",name:"Maputo",subdivision:null},{code:"L",name:"Maputo",subdivision:null},{code:"N",name:"Nampula",subdivision:null},{code:"A",name:"Niassa",subdivision:null},{code:"S",name:"Sofala",subdivision:null},{code:"T",name:"Tete",subdivision:null},{code:"Q",name:"Zambézia",subdivision:null}]},{code2:"MM",code3:"MMR",name:"Myanmar",capital:"Naypyidaw",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"07",name:"Ayeyarwady",subdivision:null},{code:"02",name:"Bago",subdivision:null},{code:"14",name:"Chin",subdivision:null},{code:"11",name:"Kachin",subdivision:null},{code:"12",name:"Kayah",subdivision:null},{code:"13",name:"Kayin",subdivision:null},{code:"03",name:"Magway",subdivision:null},{code:"04",name:"Mandalay",subdivision:null},{code:"15",name:"Mon",subdivision:null},{code:"16",name:"Rakhine",subdivision:null},{code:"01",name:"Sagaing",subdivision:null},{code:"17",name:"Shan",subdivision:null},{code:"05",name:"Tanintharyi",subdivision:null},{code:"06",name:"Yangon",subdivision:null}]},{code2:"NA",code3:"NAM",name:"Namibia",capital:"Windhoek",region:"Africa",subregion:"Southern Africa",states:[{code:"ER",name:"Erongo",subdivision:null},{code:"HA",name:"Hardap",subdivision:null},{code:"KA",name:"Karas",subdivision:null},{code:"KE",name:"Kavango East",subdivision:null},{code:"KW",name:"Kavango West",subdivision:null},{code:"KH",name:"Khomas",subdivision:null},{code:"KU",name:"Kunene",subdivision:null},{code:"OW",name:"Ohangwena",subdivision:null},{code:"OH",name:"Omaheke",subdivision:null},{code:"OS",name:"Omusati",subdivision:null},{code:"ON",name:"Oshana",subdivision:null},{code:"OT",name:"Oshikoto",subdivision:null},{code:"OD",name:"Otjozondjupa",subdivision:null},{code:"CA",name:"Zambezi",subdivision:null}]},{code2:"NR",code3:"NRU",name:"Nauru",capital:"Yaren",region:"Oceania",subregion:"Micronesia",states:[{code:"01",name:"Aiwo",subdivision:null},{code:"02",name:"Anabar",subdivision:null},{code:"03",name:"Anetan",subdivision:null},{code:"04",name:"Anibare",subdivision:null},{code:"05",name:"Baiti",subdivision:null},{code:"06",name:"Boe",subdivision:null},{code:"07",name:"Buada",subdivision:null},{code:"08",name:"Denigomodu",subdivision:null},{code:"09",name:"Ewa",subdivision:null},{code:"10",name:"Ijuw",subdivision:null},{code:"11",name:"Meneng",subdivision:null},{code:"12",name:"Nibok",subdivision:null},{code:"13",name:"Uaboe",subdivision:null},{code:"14",name:"Yaren",subdivision:null}]},{code2:"NP",code3:"NPL",name:"Nepal",capital:"Kathmandu",region:"Asia",subregion:"Southern Asia",states:[{code:"2",name:"Madhya Pashchimanchal",subdivision:null},{code:"1",name:"Madhyamanchal",subdivision:null},{code:"3",name:"Pashchimanchal",subdivision:null},{code:"4",name:"Purwanchal",subdivision:null},{code:"5",name:"Sudur Pashchimanchal",subdivision:null}]},{code2:"NL",code3:"NLD",name:"Netherlands",capital:"Amsterdam",region:"Europe",subregion:"Western Europe",states:[{code:"DR",name:"Drenthe",subdivision:"Province"},{code:"FL",name:"Flevoland",subdivision:"Province"},{code:"FR",name:"Fryslân",subdivision:"Province"},{code:"GE",name:"Gelderland",subdivision:"Province"},{code:"GR",name:"Groningen",subdivision:"Province"},{code:"LI",name:"Limburg",subdivision:"Province"},{code:"NB",name:"Noord-Brabant",subdivision:"Province"},{code:"NH",name:"Noord-Holland",subdivision:"Province"},{code:"OV",name:"Overijssel",subdivision:"Province"},{code:"UT",name:"Utrecht",subdivision:"Province"},{code:"ZE",name:"Zeeland",subdivision:"Province"},{code:"ZH",name:"Zuid-Holland",subdivision:"Province"},{code:"AW",name:"Aruba",subdivision:"country"},{code:"CW",name:"Curaçao",subdivision:"country"},{code:"SX",name:"Sint Maarten",subdivision:"country"},{code:"BQ1",name:"Bonaire",subdivision:"special municipality"},{code:"BQ2",name:"Saba",subdivision:"special municipality"},{code:"BQ3",name:"Sint Eustatius",subdivision:"special municipality"}]},{code2:"NC",code3:"NCL",name:"New Caledonia",capital:"Nouméa",region:"Oceania",subregion:"Melanesia",states:[]},{code2:"NZ",code3:"NZL",name:"New Zealand",capital:"Wellington",region:"Oceania",subregion:"Australia and New Zealand",states:[{code:"N",name:"North Island",subdivision:"Island"},{code:"S",name:"South Island",subdivision:"Island"},{code:"AUK",name:"Auckland",subdivision:"regional council"},{code:"BOP",name:"Bay of Plenty",subdivision:"regional council"},{code:"CAN",name:"Canterbury",subdivision:"regional council"},{code:"HKB",name:"Hawke's Bay",subdivision:"regional council"},{code:"MWT",name:"Manawatu-Wanganui",subdivision:"regional council"},{code:"NTL",name:"Northland",subdivision:"regional council"},{code:"OTA",name:"Otago",subdivision:"regional council"},{code:"STL",name:"Southland",subdivision:"regional council"},{code:"TKI",name:"Taranaki",subdivision:"regional council"},{code:"WKO",name:"Waikato",subdivision:"regional council"},{code:"WGN",name:"Wellington",subdivision:"regional council"},{code:"WTC",name:"West Coast",subdivision:"regional council"},{code:"CIT",name:"Chatham Islands Territory",subdivision:"special island authority"},{code:"GIS",name:"Gisborne District",subdivision:"unitary authority"},{code:"MBH",name:"Marlborough District",subdivision:"unitary authority"},{code:"NSN",name:"Nelson City",subdivision:"unitary authority"},{code:"TAS",name:"Tasman District",subdivision:"unitary authority"}]},{code2:"NI",code3:"NIC",name:"Nicaragua",capital:"Managua",region:"Americas",subregion:"Central America",states:[{code:"AN",name:"Atlántico Norte",subdivision:null},{code:"AS",name:"Atlántico Sur",subdivision:null},{code:"BO",name:"Boaco",subdivision:null},{code:"CA",name:"Carazo",subdivision:null},{code:"CI",name:"Chinandega",subdivision:null},{code:"CO",name:"Chontales",subdivision:null},{code:"ES",name:"Estelí",subdivision:null},{code:"GR",name:"Granada",subdivision:null},{code:"JI",name:"Jinotega",subdivision:null},{code:"LE",name:"León",subdivision:null},{code:"MD",name:"Madriz",subdivision:null},{code:"MN",name:"Managua",subdivision:null},{code:"MS",name:"Masaya",subdivision:null},{code:"MT",name:"Matagalpa",subdivision:null},{code:"NS",name:"Nueva Segovia",subdivision:null},{code:"RI",name:"Rivas",subdivision:null},{code:"SJ",name:"Río San Juan",subdivision:null}]},{code2:"NE",code3:"NER",name:"Niger",capital:"Niamey",region:"Africa",subregion:"Western Africa",states:[{code:"1",name:"Agadez",subdivision:null},{code:"2",name:"Diffa",subdivision:null},{code:"3",name:"Dosso",subdivision:null},{code:"4",name:"Maradi",subdivision:null},{code:"8",name:"Niamey",subdivision:null},{code:"5",name:"Tahoua",subdivision:null},{code:"6",name:"Tillabéri",subdivision:null},{code:"7",name:"Zinder",subdivision:null}]},{code2:"NG",code3:"NGA",name:"Nigeria",capital:"Abuja",region:"Africa",subregion:"Western Africa",states:[{state:"Adamawa",alias:"adamawa",lgas:["Demsa","Fufure","Ganye","Gayuk","Gombi","Grie","Hong","Jada","Larmurde","Madagali","Maiha","Mayo Belwa","Michika","Mubi North","Mubi South","Numan","Shelleng","Song","Toungo","Yola North","Yola South"]},{state:"Akwa Ibom",alias:"akwa_ibom",lgas:["Abak","Eastern Obolo","Eket","Esit Eket","Essien Udim","Etim Ekpo","Etinan","Ibeno","Ibesikpo Asutan","Ibiono-Ibom","Ikot Abasi","Ika","Ikono","Ikot Ekpene","Ini","Mkpat-Enin","Itu","Mbo","Nsit-Atai","Nsit-Ibom","Nsit-Ubium","Obot Akara","Okobo","Onna","Oron","Udung-Uko","Ukanafun","Oruk Anam","Uruan","Urue-Offong/Oruko","Uyo"]},{state:"Anambra",alias:"anambra",lgas:["Aguata","Anambra East","Anaocha","Awka North","Anambra West","Awka South","Ayamelum","Dunukofia","Ekwusigo","Idemili North","Idemili South","Ihiala","Njikoka","Nnewi North","Nnewi South","Ogbaru","Onitsha North","Onitsha South","Orumba North","Orumba South","Oyi"]},{state:"Ogun",alias:"ogun",lgas:["Abeokuta North","Abeokuta South","Ado-Odo/Ota","Egbado North","Ewekoro","Egbado South","Ijebu North","Ijebu East","Ifo","Ijebu Ode","Ijebu North East","Imeko Afon","Ikenne","Ipokia","Odeda","Obafemi Owode","Odogbolu","Remo North","Ogun Waterside","Shagamu"]},{state:"Ondo",alias:"ondo",lgas:["Akoko North-East","Akoko North-West","Akoko South-West","Akoko South-East","Akure North","Akure South","Ese Odo","Idanre","Ifedore","Ilaje","Irele","Ile Oluji/Okeigbo","Odigbo","Okitipupa","Ondo West","Ose","Ondo East","Owo"]},{state:"Rivers",alias:"rivers",lgas:["Abua/Odual","Ahoada East","Ahoada West","Andoni","Akuku-Toru","Asari-Toru","Bonny","Degema","Emuoha","Eleme","Ikwerre","Etche","Gokana","Khana","Obio/Akpor","Ogba/Egbema/Ndoni","Ogu/Bolo","Okrika","Omuma","Opobo/Nkoro","Oyigbo","Port Harcourt","Tai"]},{state:"Bauchi",alias:"bauchi",lgas:["Alkaleri","Bauchi","Bogoro","Damban","Darazo","Dass","Gamawa","Ganjuwa","Giade","Itas/Gadau","Jama'are","Katagum","Kirfi","Misau","Ningi","Shira","Tafawa Balewa","Toro","Warji","Zaki"]},{state:"Benue",alias:"benue",lgas:["Agatu","Apa","Ado","Buruku","Gboko","Guma","Gwer East","Gwer West","Katsina-Ala","Konshisha","Kwande","Logo","Makurdi","Obi","Ogbadibo","Ohimini","Oju","Okpokwu","Oturkpo","Tarka","Ukum","Ushongo","Vandeikya"]},{state:"Borno",alias:"borno",lgas:["Abadam","Askira/Uba","Bama","Bayo","Biu","Chibok","Damboa","Dikwa","Guzamala","Gubio","Hawul","Gwoza","Jere","Kaga","Kala/Balge","Konduga","Kukawa","Kwaya Kusar","Mafa","Magumeri","Maiduguri","Mobbar","Marte","Monguno","Ngala","Nganzai","Shani"]},{state:"Bayelsa",alias:"bayelsa",lgas:["Brass","Ekeremor","Kolokuma/Opokuma","Nembe","Ogbia","Sagbama","Southern Ijaw","Yenagoa"]},{state:"Cross River",alias:"cross_river",lgas:["Abi","Akamkpa","Akpabuyo","Bakassi","Bekwarra","Biase","Boki","Calabar Municipal","Calabar South","Etung","Ikom","Obanliku","Obubra","Obudu","Odukpani","Ogoja","Yakuur","Yala"]},{state:"Delta",alias:"delta",lgas:["Aniocha North","Aniocha South","Bomadi","Burutu","Ethiope West","Ethiope East","Ika North East","Ika South","Isoko North","Isoko South","Ndokwa East","Ndokwa West","Okpe","Oshimili North","Oshimili South","Patani","Sapele","Udu","Ughelli North","Ukwuani","Ughelli South","Uvwie","Warri North","Warri South","Warri South West"]},{state:"Ebonyi",alias:"ebonyi",lgas:["Abakaliki","Afikpo North","Ebonyi","Afikpo South","Ezza North","Ikwo","Ezza South","Ivo","Ishielu","Izzi","Ohaozara","Ohaukwu","Onicha"]},{state:"Edo",alias:"edo",lgas:["Akoko-Edo","Egor","Esan Central","Esan North-East","Esan South-East","Esan West","Etsako Central","Etsako East","Etsako West","Igueben","Ikpoba Okha","Orhionmwon","Oredo","Ovia North-East","Ovia South-West","Owan East","Owan West","Uhunmwonde"]},{state:"Ekiti",alias:"ekiti",lgas:["Ado Ekiti","Efon","Ekiti East","Ekiti South-West","Ekiti West","Emure","Gbonyin","Ido Osi","Ijero","Ikere","Ilejemeje","Irepodun/Ifelodun","Ikole","Ise/Orun","Moba","Oye"]},{state:"Enugu",alias:"enugu",lgas:["Awgu","Aninri","Enugu East","Enugu North","Ezeagu","Enugu South","Igbo Etiti","Igbo Eze North","Igbo Eze South","Isi Uzo","Nkanu East","Nkanu West","Nsukka","Udenu","Oji River","Uzo Uwani","Udi"]},{state:"Federal Capital Territory",alias:"abuja",lgas:["Abaji","Bwari","Gwagwalada","Kuje","Kwali","Municipal Area Council"]},{state:"Gombe",alias:"gombe",lgas:["Akko","Balanga","Billiri","Dukku","Funakaye","Gombe","Kaltungo","Kwami","Nafada","Shongom","Yamaltu/Deba"]},{state:"Jigawa",alias:"jigawa",lgas:["Auyo","Babura","Buji","Biriniwa","Birnin Kudu","Dutse","Gagarawa","Garki","Gumel","Guri","Gwaram","Gwiwa","Hadejia","Jahun","Kafin Hausa","Kazaure","Kiri Kasama","Kiyawa","Kaugama","Maigatari","Malam Madori","Miga","Sule Tankarkar","Roni","Ringim","Yankwashi","Taura"]},{state:"Oyo",alias:"oyo",lgas:["Afijio","Akinyele","Atiba","Atisbo","Egbeda","Ibadan North","Ibadan North-East","Ibadan North-West","Ibadan South-East","Ibarapa Central","Ibadan South-West","Ibarapa East","Ido","Ibarapa North","Irepo","Iseyin","Itesiwaju","Iwajowa","Kajola","Lagelu","Ogbomosho North","Ogbomosho South","Ogo Oluwa","Olorunsogo","Oluyole","Ona Ara","Orelope","Ori Ire","Oyo","Oyo East","Saki East","Saki West","Surulere Oyo State"]},{state:"Imo",alias:"imo",lgas:["Aboh Mbaise","Ahiazu Mbaise","Ehime Mbano","Ezinihitte","Ideato North","Ideato South","Ihitte/Uboma","Ikeduru","Isiala Mbano","Mbaitoli","Isu","Ngor Okpala","Njaba","Nkwerre","Nwangele","Obowo","Oguta","Ohaji/Egbema","Okigwe","Orlu","Orsu","Oru East","Oru West","Owerri Municipal","Owerri North","Unuimo","Owerri West"]},{state:"Kaduna",alias:"kaduna",lgas:["Birnin Gwari","Chikun","Giwa","Ikara","Igabi","Jaba","Jema'a","Kachia","Kaduna North","Kaduna South","Kagarko","Kajuru","Kaura","Kauru","Kubau","Kudan","Lere","Makarfi","Sabon Gari","Sanga","Soba","Zangon Kataf","Zaria"]},{state:"Kebbi",alias:"kebbi",lgas:["Aleiro","Argungu","Arewa Dandi","Augie","Bagudo","Birnin Kebbi","Bunza","Dandi","Fakai","Gwandu","Jega","Kalgo","Koko/Besse","Maiyama","Ngaski","Shanga","Suru","Sakaba","Wasagu/Danko","Yauri","Zuru"]},{state:"Kano",alias:"kano",lgas:["Ajingi","Albasu","Bagwai","Bebeji","Bichi","Bunkure","Dala","Dambatta","Dawakin Kudu","Dawakin Tofa","Doguwa","Fagge","Gabasawa","Garko","Garun Mallam","Gezawa","Gaya","Gwale","Gwarzo","Kabo","Kano Municipal","Karaye","Kibiya","Kiru","Kumbotso","Kunchi","Kura","Madobi","Makoda","Minjibir","Nasarawa","Rano","Rimin Gado","Rogo","Shanono","Takai","Sumaila","Tarauni","Tofa","Tsanyawa","Tudun Wada","Ungogo","Warawa","Wudil"]},{state:"Kogi",alias:"kogi",lgas:["Ajaokuta","Adavi","Ankpa","Bassa","Dekina","Ibaji","Idah","Igalamela Odolu","Ijumu","Kogi","Kabba/Bunu","Lokoja","Ofu","Mopa Muro","Ogori/Magongo","Okehi","Okene","Olamaboro","Omala","Yagba East","Yagba West"]},{state:"Osun",alias:"osun",lgas:["Aiyedire","Atakunmosa West","Atakunmosa East","Aiyedaade","Boluwaduro","Boripe","Ife East","Ede South","Ife North","Ede North","Ife South","Ejigbo","Ife Central","Ifedayo","Egbedore","Ila","Ifelodun","Ilesa East","Ilesa West","Irepodun","Irewole","Isokan","Iwo","Obokun","Odo Otin","Ola Oluwa","Olorunda","Oriade","Orolu","Osogbo"]},{state:"Sokoto",alias:"sokoto",lgas:["Gudu","Gwadabawa","Illela","Isa","Kebbe","Kware","Rabah","Sabon Birni","Shagari","Silame","Sokoto North","Sokoto South","Tambuwal","Tangaza","Tureta","Wamako","Wurno","Yabo","Binji","Bodinga","Dange Shuni","Goronyo","Gada"]},{state:"Plateau",alias:"plateau",lgas:["Bokkos","Barkin Ladi","Bassa","Jos East","Jos North","Jos South","Kanam","Kanke","Langtang South","Langtang North","Mangu","Mikang","Pankshin","Qua'an Pan","Riyom","Shendam","Wase"]},{state:"Taraba",alias:"taraba",lgas:["Ardo Kola","Bali","Donga","Gashaka","Gassol","Ibi","Jalingo","Karim Lamido","Kumi","Lau","Sardauna","Takum","Ussa","Wukari","Yorro","Zing"]},{state:"Yobe",alias:"yobe",lgas:["Bade","Bursari","Damaturu","Fika","Fune","Geidam","Gujba","Gulani","Jakusko","Karasuwa","Machina","Nangere","Nguru","Potiskum","Tarmuwa","Yunusari","Yusufari"]},{state:"Zamfara",alias:"zamfara",lgas:["Anka","Birnin Magaji/Kiyaw","Bakura","Bukkuyum","Bungudu","Gummi","Gusau","Kaura Namoda","Maradun","Shinkafi","Maru","Talata Mafara","Tsafe","Zurmi"]},{state:"Lagos",alias:"lagos",lgas:["Agege","Ajeromi-Ifelodun","Alimosho","Amuwo-Odofin","Badagry","Apapa","Epe","Eti Osa","Ibeju-Lekki","Ifako-Ijaiye","Ikeja","Ikorodu","Kosofe","Lagos Island","Mushin","Lagos Mainland","Ojo","Oshodi-Isolo","Shomolu","Surulere Lagos State"]},{state:"Katsina",alias:"katsina",lgas:["Bakori","Batagarawa","Batsari","Baure","Bindawa","Charanchi","Danja","Dandume","Dan Musa","Daura","Dutsi","Dutsin Ma","Faskari","Funtua","Ingawa","Jibia","Kafur","Kaita","Kankara","Kankia","Katsina","Kurfi","Kusada","Mai'Adua","Malumfashi","Mani","Mashi","Matazu","Musawa","Rimi","Sabuwa","Safana","Sandamu","Zango"]},{state:"Kwara",alias:"kwara",lgas:["Asa","Baruten","Edu","Ilorin East","Ifelodun","Ilorin South","Ekiti Kwara State","Ilorin West","Irepodun","Isin","Kaiama","Moro","Offa","Oke Ero","Oyun","Pategi"]},{state:"Nasarawa",alias:"nasarawa",lgas:["Akwanga","Awe","Doma","Karu","Keana","Keffi","Lafia","Kokona","Nasarawa Egon","Nasarawa","Obi","Toto","Wamba"]},{state:"Niger",alias:"niger",lgas:["Agaie","Agwara","Bida","Borgu","Bosso","Chanchaga","Edati","Gbako","Gurara","Katcha","Kontagora","Lapai","Lavun","Mariga","Magama","Mokwa","Mashegu","Moya","Paikoro","Rafi","Rijau","Shiroro","Suleja","Tafa","Wushishi"]},{state:"Abia",alias:"abia",lgas:["Aba North","Arochukwu","Aba South","Bende","Isiala Ngwa North","Ikwuano","Isiala Ngwa South","Isuikwuato","Obi Ngwa","Ohafia","Osisioma","Ugwunagbo","Ukwa East","Ukwa West","Umuahia North","Umuahia South","Umu Nneochi"]}]},{code2:"NU",code3:"NIU",name:"Niue",capital:"Alofi",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"NF",code3:"NFK",name:"Norfolk Island",capital:"Kingston",region:"Oceania",subregion:"Australia and New Zealand",states:[]},{code2:"KP",code3:"PRK",name:"North Korea",capital:"Pyongyang",region:"Asia",subregion:"Eastern Asia",states:[{code:"04",name:"Chagang",subdivision:null},{code:"07",name:"Kangwon",subdivision:null},{code:"09",name:"North Hamgyong",subdivision:null},{code:"06",name:"North Hwanghae",subdivision:null},{code:"03",name:"North Pyongan",subdivision:null},{code:"01",name:"Pyongyang",subdivision:null},{code:"13",name:"Rason",subdivision:null},{code:"10",name:"Ryanggang",subdivision:null},{code:"08",name:"South Hamgyong",subdivision:null},{code:"05",name:"South Hwanghae",subdivision:null},{code:"02",name:"South Pyongan",subdivision:null}]},{code2:"MP",code3:"MNP",name:"Northern Mariana Islands",capital:"Saipan",region:"Oceania",subregion:"Micronesia",states:[]},{code2:"NO",code3:"NOR",name:"Norway",capital:"Oslo",region:"Europe",subregion:"Northern Europe",states:[{code:"02",name:"Akershus",subdivision:null},{code:"09",name:"Aust-Agder",subdivision:null},{code:"06",name:"Buskerud",subdivision:null},{code:"20",name:"Finnmark",subdivision:null},{code:"04",name:"Hedmark",subdivision:null},{code:"12",name:"Hordaland",subdivision:null},{code:"22",name:"Jan Mayen",subdivision:null},{code:"15",name:"Møre og Romsdal",subdivision:null},{code:"17",name:"Nord-Trøndelag",subdivision:null},{code:"18",name:"Nordland",subdivision:null},{code:"05",name:"Oppland",subdivision:null},{code:"03",name:"Oslo",subdivision:null},{code:"11",name:"Rogaland",subdivision:null},{code:"14",name:"Sogn og Fjordane",subdivision:null},{code:"21",name:"Svalbard",subdivision:null},{code:"16",name:"Sør-Trøndelag",subdivision:null},{code:"08",name:"Telemark",subdivision:null},{code:"19",name:"Troms",subdivision:null},{code:"10",name:"Vest-Agder",subdivision:null},{code:"07",name:"Vestfold",subdivision:null},{code:"01",name:"Østfold",subdivision:null}]},{code2:"OM",code3:"OMN",name:"Oman",capital:"Muscat",region:"Asia",subregion:"Western Asia",states:[{code:"DA",name:"Ad Dākhilīyah",subdivision:null},{code:"BU",name:"Al Buraymī",subdivision:null},{code:"BA",name:"Al Bāţinah",subdivision:null},{code:"WU",name:"Al Wusţá",subdivision:null},{code:"SH",name:"Ash Sharqīyah",subdivision:null},{code:"ZA",name:"Az̧ Z̧āhirah",subdivision:null},{code:"MA",name:"Masqaţ",subdivision:null},{code:"MU",name:"Musandam",subdivision:null},{code:"ZU",name:"Z̧ufār",subdivision:null}]},{code2:"PK",code3:"PAK",name:"Pakistan",capital:"Islamabad",region:"Asia",subregion:"Southern Asia",states:[{code:"JK",name:"Azad Kashmir",subdivision:null},{code:"BA",name:"Balochistan",subdivision:null},{code:"TA",name:"Federally Administered Tribal Areas",subdivision:null},{code:"GB",name:"Gilgit-Baltistan",subdivision:null},{code:"IS",name:"Islamabad",subdivision:null},{code:"KP",name:"Khyber Pakhtunkhwa",subdivision:null},{code:"PB",name:"Punjab",subdivision:null},{code:"SD",name:"Sindh",subdivision:null}]},{code2:"PW",code3:"PLW",name:"Palau",capital:"Ngerulmud",region:"Oceania",subregion:"Micronesia",states:[{code:"002",name:"Aimeliik",subdivision:null},{code:"004",name:"Airai",subdivision:null},{code:"010",name:"Angaur",subdivision:null},{code:"050",name:"Hatobohei",subdivision:null},{code:"100",name:"Kayangel",subdivision:null},{code:"150",name:"Koror",subdivision:null},{code:"212",name:"Melekeok",subdivision:null},{code:"214",name:"Ngaraard",subdivision:null},{code:"218",name:"Ngarchelong",subdivision:null},{code:"222",name:"Ngardmau",subdivision:null},{code:"224",name:"Ngatpang",subdivision:null},{code:"226",name:"Ngchesar",subdivision:null},{code:"227",name:"Ngeremlengui",subdivision:null},{code:"228",name:"Ngiwal",subdivision:null},{code:"350",name:"Peleliu",subdivision:null},{code:"370",name:"Sonsorol",subdivision:null}]},{code2:"PS",code3:"PSE",name:"Palestine",capital:"Ramallah",region:"Asia",subregion:"Western Asia",states:[{code:"BTH",name:"Bethlehem",subdivision:null},{code:"DEB",name:"Deir El Balah",subdivision:null},{code:"GZA",name:"Gaza",subdivision:null},{code:"HBN",name:"Hebron",subdivision:null},{code:"JEN",name:"Jenin",subdivision:null},{code:"JRH",name:"Jericho – Al Aghwar",subdivision:null},{code:"JEM",name:"Jerusalem",subdivision:null},{code:"KYS",name:"Khan Yunis",subdivision:null},{code:"NBS",name:"Nablus",subdivision:null},{code:"NGZ",name:"North Gaza",subdivision:null},{code:"QQA",name:"Qalqilya",subdivision:null},{code:"RFH",name:"Rafah",subdivision:null},{code:"RBH",name:"Ramallah",subdivision:null},{code:"SLT",name:"Salfit",subdivision:null},{code:"TBS",name:"Tubas",subdivision:null},{code:"TKM",name:"Tulkarm",subdivision:null}]},{code2:"PA",code3:"PAN",name:"Panama",capital:"Panama City",region:"Americas",subregion:"Central America",states:[{code:"1",name:"Bocas del Toro",subdivision:null},{code:"4",name:"Chiriquí",subdivision:null},{code:"2",name:"Coclé",subdivision:null},{code:"3",name:"Colón",subdivision:null},{code:"5",name:"Darién",subdivision:null},{code:"EM",name:"Emberá",subdivision:null},{code:"6",name:"Herrera",subdivision:null},{code:"KY",name:"Kuna Yala",subdivision:null},{code:"7",name:"Los Santos",subdivision:null},{code:"NB",name:"Ngöbe-Buglé",subdivision:null},{code:"8",name:"Panamá",subdivision:null},{code:"10",name:"Panamá Oeste",subdivision:null},{code:"9",name:"Veraguas",subdivision:null}]},{code2:"PG",code3:"PNG",name:"Papua New Guinea",capital:"Port Moresby",region:"Oceania",subregion:"Melanesia",states:[{code:"NSB",name:"Bougainville",subdivision:null},{code:"CPM",name:"Central",subdivision:null},{code:"CPK",name:"Chimbu",subdivision:null},{code:"EBR",name:"East New Britain",subdivision:null},{code:"ESW",name:"East Sepik",subdivision:null},{code:"EHG",name:"Eastern Highlands",subdivision:null},{code:"EPW",name:"Enga",subdivision:null},{code:"GPK",name:"Gulf",subdivision:null},{code:"MPM",name:"Madang",subdivision:null},{code:"MRL",name:"Manus",subdivision:null},{code:"MBA",name:"Milne Bay",subdivision:null},{code:"MPL",name:"Morobe",subdivision:null},{code:"NCD",name:"National Capital District",subdivision:null},{code:"NIK",name:"New Ireland",subdivision:null},{code:"NPP",name:"Northern",subdivision:null},{code:"SAN",name:"Sandaun",subdivision:null},{code:"SHM",name:"Southern Highlands",subdivision:null},{code:"WBK",name:"West New Britain",subdivision:null},{code:"WPD",name:"Western",subdivision:null},{code:"WHM",name:"Western Highlands",subdivision:null}]},{code2:"PY",code3:"PRY",name:"Paraguay",capital:"Asunción",region:"Americas",subregion:"South America",states:[{code:"16",name:"Alto Paraguay",subdivision:null},{code:"10",name:"Alto Paraná",subdivision:null},{code:"13",name:"Amambay",subdivision:null},{code:"ASU",name:"Asunción",subdivision:null},{code:"19",name:"Boquerón",subdivision:null},{code:"5",name:"Caaguazú",subdivision:null},{code:"6",name:"Caazapá",subdivision:null},{code:"14",name:"Canindeyú",subdivision:null},{code:"11",name:"Central",subdivision:null},{code:"1",name:"Concepción",subdivision:null},{code:"3",name:"Cordillera",subdivision:null},{code:"4",name:"Guairá",subdivision:null},{code:"7",name:"Itapúa",subdivision:null},{code:"8",name:"Misiones",subdivision:null},{code:"9",name:"Paraguarí",subdivision:null},{code:"15",name:"Presidente Hayes",subdivision:null},{code:"2",name:"San Pedro",subdivision:null},{code:"12",name:"Ñeembucú",subdivision:null}]},{code2:"PE",code3:"PER",name:"Peru",capital:"Lima",region:"Americas",subregion:"South America",states:[{code:"AMA",name:"Amazonas",subdivision:null},{code:"ANC",name:"Ancash",subdivision:null},{code:"APU",name:"Apurímac",subdivision:null},{code:"ARE",name:"Arequipa",subdivision:null},{code:"AYA",name:"Ayacucho",subdivision:null},{code:"CAJ",name:"Cajamarca",subdivision:null},{code:"CUS",name:"Cusco",subdivision:null},{code:"CAL",name:"El Callao",subdivision:null},{code:"HUV",name:"Huancavelica",subdivision:null},{code:"HUC",name:"Huánuco",subdivision:null},{code:"ICA",name:"Ica",subdivision:null},{code:"JUN",name:"Junín",subdivision:null},{code:"LAL",name:"La Libertad",subdivision:null},{code:"LAM",name:"Lambayeque",subdivision:null},{code:"LIM",name:"Lima",subdivision:null},{code:"LOR",name:"Loreto",subdivision:null},{code:"MDD",name:"Madre de Dios",subdivision:null},{code:"MOQ",name:"Moquegua",subdivision:null},{code:"LMA",name:"Municipalidad Metropolitana de Lima",subdivision:null},{code:"PAS",name:"Pasco",subdivision:null},{code:"PIU",name:"Piura",subdivision:null},{code:"PUN",name:"Puno",subdivision:null},{code:"SAM",name:"San Martín",subdivision:null},{code:"TAC",name:"Tacna",subdivision:null},{code:"TUM",name:"Tumbes",subdivision:null},{code:"UCA",name:"Ucayali",subdivision:null}]},{code2:"PH",code3:"PHL",name:"Philippines",capital:"Manila",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"14",name:"Autonomous Region in Muslim Mindanao",subdivision:null},{code:"05",name:"Bicol",subdivision:null},{code:"02",name:"Cagayan Valley",subdivision:null},{code:"40",name:"Calabarzon",subdivision:null},{code:"13",name:"Caraga",subdivision:null},{code:"03",name:"Central Luzon",subdivision:null},{code:"07",name:"Central Visayas",subdivision:null},{code:"15",name:"Cordillera Administrative Region",subdivision:null},{code:"11",name:"Davao",subdivision:null},{code:"08",name:"Eastern Visayas",subdivision:null},{code:"01",name:"Ilocos",subdivision:null},{code:"41",name:"Mimaropa",subdivision:null},{code:"00",name:"National Capital Region",subdivision:null},{code:"10",name:"Northern Mindanao",subdivision:null},{code:"12",name:"Soccsksargen",subdivision:null},{code:"06",name:"Western Visayas",subdivision:null},{code:"09",name:"Zamboanga Peninsula",subdivision:null}]},{code2:"PN",code3:"PCN",name:"Pitcairn Islands",capital:"Adamstown",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"PL",code3:"POL",name:"Poland",capital:"Warsaw",region:"Europe",subregion:"Eastern Europe",states:[{code:"DS",name:"Dolnośląskie",subdivision:null},{code:"KP",name:"Kujawsko-pomorskie",subdivision:null},{code:"LU",name:"Lubelskie",subdivision:null},{code:"LB",name:"Lubuskie",subdivision:null},{code:"MZ",name:"Mazowieckie",subdivision:null},{code:"MA",name:"Małopolskie",subdivision:null},{code:"OP",name:"Opolskie",subdivision:null},{code:"PK",name:"Podkarpackie",subdivision:null},{code:"PD",name:"Podlaskie",subdivision:null},{code:"PM",name:"Pomorskie",subdivision:null},{code:"WN",name:"Warmińsko-mazurskie",subdivision:null},{code:"WP",name:"Wielkopolskie",subdivision:null},{code:"ZP",name:"Zachodniopomorskie",subdivision:null},{code:"LD",name:"Łódzkie",subdivision:null},{code:"SL",name:"Śląskie",subdivision:null},{code:"SK",name:"Świętokrzyskie",subdivision:null}]},{code2:"PT",code3:"PRT",name:"Portugal",capital:"Lisbon",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Aveiro",subdivision:null},{code:"02",name:"Beja",subdivision:null},{code:"03",name:"Braga",subdivision:null},{code:"04",name:"Bragança",subdivision:null},{code:"05",name:"Castelo Branco",subdivision:null},{code:"06",name:"Coimbra",subdivision:null},{code:"08",name:"Faro",subdivision:null},{code:"09",name:"Guarda",subdivision:null},{code:"10",name:"Leiria",subdivision:null},{code:"11",name:"Lisboa",subdivision:null},{code:"12",name:"Portalegre",subdivision:null},{code:"13",name:"Porto",subdivision:null},{code:"30",name:"Região Autónoma da Madeira",subdivision:null},{code:"20",name:"Região Autónoma dos Açores",subdivision:null},{code:"14",name:"Santarém",subdivision:null},{code:"15",name:"Setúbal",subdivision:null},{code:"16",name:"Viana do Castelo",subdivision:null},{code:"17",name:"Vila Real",subdivision:null},{code:"18",name:"Viseu",subdivision:null},{code:"07",name:"Évora",subdivision:null}]},{code2:"PR",code3:"PRI",name:"Puerto Rico",capital:"San Juan",region:"Americas",subregion:"Caribbean",states:[]},{code2:"QA",code3:"QAT",name:"Qatar",capital:"Doha",region:"Asia",subregion:"Western Asia",states:[{code:"DA",name:"Ad Dawḩah",subdivision:null},{code:"KH",name:"Al Khawr wa adh Dhakhīrah",subdivision:null},{code:"WA",name:"Al Wakrah",subdivision:null},{code:"RA",name:"Ar Rayyān",subdivision:null},{code:"MS",name:"Ash Shamāl",subdivision:null},{code:"ZA",name:"Az̧ Za̧`āyin",subdivision:null},{code:"US",name:"Umm Şalāl",subdivision:null}]},{code2:"XK",code3:"KOS",name:"Republic of Kosovo",capital:"Pristina",region:"Europe",subregion:"Eastern Europe",states:[]},{code2:"RE",code3:"REU",name:"Réunion",capital:"Saint-Denis",region:"Africa",subregion:"Eastern Africa",states:[]},{code2:"RO",code3:"ROU",name:"Romania",capital:"Bucharest",region:"Europe",subregion:"Eastern Europe",states:[{code:"AB",name:"Alba",subdivision:null},{code:"AR",name:"Arad",subdivision:null},{code:"AG",name:"Argeș",subdivision:null},{code:"BC",name:"Bacău",subdivision:null},{code:"BH",name:"Bihor",subdivision:null},{code:"BN",name:"Bistrița-Năsăud",subdivision:null},{code:"BT",name:"Botoșani",subdivision:null},{code:"BV",name:"Brașov",subdivision:null},{code:"BR",name:"Brăila",subdivision:null},{code:"B",name:"București",subdivision:null},{code:"BZ",name:"Buzău",subdivision:null},{code:"CS",name:"Caraș-Severin",subdivision:null},{code:"CJ",name:"Cluj",subdivision:null},{code:"CT",name:"Constanța",subdivision:null},{code:"CV",name:"Covasna",subdivision:null},{code:"CL",name:"Călărași",subdivision:null},{code:"DJ",name:"Dolj",subdivision:null},{code:"DB",name:"Dâmbovița",subdivision:null},{code:"GL",name:"Galați",subdivision:null},{code:"GR",name:"Giurgiu",subdivision:null},{code:"GJ",name:"Gorj",subdivision:null},{code:"HR",name:"Harghita",subdivision:null},{code:"HD",name:"Hunedoara",subdivision:null},{code:"IL",name:"Ialomița",subdivision:null},{code:"IS",name:"Iași",subdivision:null},{code:"IF",name:"Ilfov",subdivision:null},{code:"MM",name:"Maramureș",subdivision:null},{code:"MH",name:"Mehedinți",subdivision:null},{code:"MS",name:"Mureș",subdivision:null},{code:"NT",name:"Neamț",subdivision:null},{code:"OT",name:"Olt",subdivision:null},{code:"PH",name:"Prahova",subdivision:null},{code:"SM",name:"Satu Mare",subdivision:null},{code:"SB",name:"Sibiu",subdivision:null},{code:"SV",name:"Suceava",subdivision:null},{code:"SJ",name:"Sălaj",subdivision:null},{code:"TR",name:"Teleorman",subdivision:null},{code:"TM",name:"Timiș",subdivision:null},{code:"TL",name:"Tulcea",subdivision:null},{code:"VS",name:"Vaslui",subdivision:null},{code:"VN",name:"Vrancea",subdivision:null},{code:"VL",name:"Vâlcea",subdivision:null}]},{code2:"RU",code3:"RUS",name:"Russia",capital:"Moscow",region:"Europe",subregion:"Eastern Europe",states:[{code:"AMU",name:"Amurskaya oblast'",subdivision:"administrative region"},{code:"ARK",name:"Arkhangel'skaya oblast'",subdivision:"administrative region"},{code:"AST",name:"Astrakhanskaya oblast'",subdivision:"administrative region"},{code:"BEL",name:"Belgorodskaya oblast'",subdivision:"administrative region"},{code:"BRY",name:"Bryanskaya oblast'",subdivision:"administrative region"},{code:"CHE",name:"Chelyabinskaya oblast'",subdivision:"administrative region"},{code:"IRK",name:"Irkutskaya oblast'",subdivision:"administrative region"},{code:"IVA",name:"Ivanovskaya oblast'",subdivision:"administrative region"},{code:"KGD",name:"Kaliningradskaya oblast'",subdivision:"administrative region"},{code:"KLU",name:"Kaluzhskaya oblast'",subdivision:"administrative region"},{code:"KEM",name:"Kemerovskaya oblast'",subdivision:"administrative region"},{code:"KIR",name:"Kirovskaya oblast'",subdivision:"administrative region"},{code:"KOS",name:"Kostromskaya oblast'",subdivision:"administrative region"},{code:"KGN",name:"Kurganskaya oblast'",subdivision:"administrative region"},{code:"KRS",name:"Kurskaya oblast'",subdivision:"administrative region"},{code:"LEN",name:"Leningradskaya oblast'",subdivision:"administrative region"},{code:"LIP",name:"Lipetskaya oblast'",subdivision:"administrative region"},{code:"MAG",name:"Magadanskaya oblast'",subdivision:"administrative region"},{code:"MOS",name:"Moskovskaya oblast'",subdivision:"administrative region"},{code:"MUR",name:"Murmanskaya oblast'",subdivision:"administrative region"},{code:"NIZ",name:"Nizhegorodskaya oblast'",subdivision:"administrative region"},{code:"NGR",name:"Novgorodskaya oblast'",subdivision:"administrative region"},{code:"NVS",name:"Novosibirskaya oblast'",subdivision:"administrative region"},{code:"OMS",name:"Omskaya oblast'",subdivision:"administrative region"},{code:"ORE",name:"Orenburgskaya oblast'",subdivision:"administrative region"},{code:"ORL",name:"Orlovskaya oblast'",subdivision:"administrative region"},{code:"PNZ",name:"Penzenskaya oblast'",subdivision:"administrative region"},{code:"PSK",name:"Pskovskaya oblast'",subdivision:"administrative region"},{code:"ROS",name:"Rostovskaya oblast'",subdivision:"administrative region"},{code:"RYA",name:"Ryazanskaya oblast'",subdivision:"administrative region"},{code:"SAK",name:"Sakhalinskaya oblast'",subdivision:"administrative region"},{code:"SAM",name:"Samarskaya oblast'",subdivision:"administrative region"},{code:"SAR",name:"Saratovskaya oblast'",subdivision:"administrative region"},{code:"SMO",name:"Smolenskaya oblast'",subdivision:"administrative region"},{code:"SVE",name:"Sverdlovskaya oblast'",subdivision:"administrative region"},{code:"TAM",name:"Tambovskaya oblast'",subdivision:"administrative region"},{code:"TOM",name:"Tomskaya oblast'",subdivision:"administrative region"},{code:"TUL",name:"Tul'skaya oblast'",subdivision:"administrative region"},{code:"TVE",name:"Tverskaya oblast'",subdivision:"administrative region"},{code:"TYU",name:"Tyumenskaya oblast'",subdivision:"administrative region"},{code:"ULY",name:"Ul'yanovskaya oblast'",subdivision:"administrative region"},{code:"VLA",name:"Vladimirskaya oblast'",subdivision:"administrative region"},{code:"VGG",name:"Volgogradskaya oblast'",subdivision:"administrative region"},{code:"VLG",name:"Vologodskaya oblast'",subdivision:"administrative region"},{code:"VOR",name:"Voronezhskaya oblast'",subdivision:"administrative region"},{code:"YAR",name:"Yaroslavskaya oblast'",subdivision:"administrative region"},{code:"ALT",name:"Altayskiy kray",subdivision:"administrative territory"},{code:"KAM",name:"Kamchatskiy kray",subdivision:"administrative territory"},{code:"KHA",name:"Khabarovskiy kray",subdivision:"administrative territory"},{code:"KDA",name:"Krasnodarskiy kray",subdivision:"administrative territory"},{code:"KYA",name:"Krasnoyarskiy kray",subdivision:"administrative territory"},{code:"PER",name:"Permskiy kray",subdivision:"administrative territory"},{code:"PRI",name:"Primorskiy kray",subdivision:"administrative territory"},{code:"STA",name:"Stavropol'skiy kray",subdivision:"administrative territory"},{code:"ZAB",name:"Zabaykal'skiy kray",subdivision:"administrative territory"},{code:"MOW",name:"Moskva",subdivision:"autonomous city"},{code:"SPE",name:"Sankt-Peterburg",subdivision:"autonomous city"},{code:"CHU",name:"Chukotskiy avtonomnyy okrug",subdivision:"autonomous district"},{code:"KHM",name:"Khanty-Mansiyskiy avtonomnyy okrug-Yugra",subdivision:"autonomous district"},{code:"NEN",name:"Nenetskiy avtonomnyy okrug",subdivision:"autonomous district"},{code:"YAN",name:"Yamalo-Nenetskiy avtonomnyy okrug",subdivision:"autonomous district"},{code:"YEV",name:"Yevreyskaya avtonomnaya oblast'",subdivision:"autonomous region"},{code:"AD",name:"Adygeya, Respublika",subdivision:"republic"},{code:"AL",name:"Altay, Respublika",subdivision:"republic"},{code:"BA",name:"Bashkortostan, Respublika",subdivision:"republic"},{code:"BU",name:"Buryatiya, Respublika",subdivision:"republic"},{code:"CE",name:"Chechenskaya Respublika",subdivision:"republic"},{code:"CU",name:"Chuvashskaya Respublika",subdivision:"republic"},{code:"DA",name:"Dagestan, Respublika",subdivision:"republic"},{code:"IN",name:"Ingushetiya, Respublika",subdivision:"republic"},{code:"KB",name:"Kabardino-Balkarskaya Respublika",subdivision:"republic"},{code:"KL",name:"Kalmykiya, Respublika",subdivision:"republic"},{code:"KC",name:"Karachayevo-Cherkesskaya Respublika",subdivision:"republic"},{code:"KR",name:"Kareliya, Respublika",subdivision:"republic"},{code:"KK",name:"Khakasiya, Respublika",subdivision:"republic"},{code:"KO",name:"Komi, Respublika",subdivision:"republic"},{code:"ME",name:"Mariy El, Respublika",subdivision:"republic"},{code:"MO",name:"Mordoviya, Respublika",subdivision:"republic"},{code:"SA",name:"Sakha, Respublika",subdivision:"republic"},{code:"SE",name:"Severnaya Osetiya-Alaniya, Respublika",subdivision:"republic"},{code:"TA",name:"Tatarstan, Respublika",subdivision:"republic"},{code:"TY",name:"Tyva, Respublika",subdivision:"republic"},{code:"UD",name:"Udmurtskaya Respublika",subdivision:"republic"}]},{code2:"RW",code3:"RWA",name:"Rwanda",capital:"Kigali",region:"Africa",subregion:"Eastern Africa",states:[{code:"02",name:"Est",subdivision:null},{code:"03",name:"Nord",subdivision:null},{code:"04",name:"Ouest",subdivision:null},{code:"05",name:"Sud",subdivision:null},{code:"01",name:"Ville de Kigali",subdivision:null}]},{code2:"BL",code3:"BLM",name:"Saint Barthélemy",capital:"Gustavia",region:"Americas",subregion:"Caribbean",states:[]},{code2:"SH",code3:"SHN",name:"Saint Helena",capital:"Jamestown",region:"Africa",subregion:"Western Africa",states:[{code:"AC",name:"Ascension",subdivision:null},{code:"HL",name:"Saint Helena",subdivision:null},{code:"TA",name:"Tristan da Cunha",subdivision:null}]},{code2:"KN",code3:"KNA",name:"Saint Kitts and Nevis",capital:"Basseterre",region:"Americas",subregion:"Caribbean",states:[{code:"N",name:"Nevis",subdivision:null},{code:"K",name:"Saint Kitts",subdivision:null}]},{code2:"LC",code3:"LCA",name:"Saint Lucia",capital:"Castries",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Anse la Raye",subdivision:null},{code:"02",name:"Castries",subdivision:null},{code:"03",name:"Choiseul",subdivision:null},{code:"04",name:"Dauphin",subdivision:null},{code:"05",name:"Dennery",subdivision:null},{code:"06",name:"Gros Islet",subdivision:null},{code:"07",name:"Laborie",subdivision:null},{code:"08",name:"Micoud",subdivision:null},{code:"09",name:"Praslin",subdivision:null},{code:"10",name:"Soufrière",subdivision:null},{code:"11",name:"Vieux Fort",subdivision:null}]},{code2:"MF",code3:"MAF",name:"Saint Martin",capital:"Marigot",region:"Americas",subregion:"Caribbean",states:[]},{code2:"PM",code3:"SPM",name:"Saint Pierre and Miquelon",capital:"Saint-Pierre",region:"Americas",subregion:"Northern America",states:[]},{code2:"VC",code3:"VCT",name:"Saint Vincent and the Grenadines",capital:"Kingstown",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Charlotte",subdivision:null},{code:"06",name:"Grenadines",subdivision:null},{code:"02",name:"Saint Andrew",subdivision:null},{code:"03",name:"Saint David",subdivision:null},{code:"04",name:"Saint George",subdivision:null},{code:"05",name:"Saint Patrick",subdivision:null}]},{code2:"WS",code3:"WSM",name:"Samoa",capital:"Apia",region:"Oceania",subregion:"Polynesia",states:[{code:"AA",name:"A'ana",subdivision:null},{code:"AL",name:"Aiga-i-le-Tai",subdivision:null},{code:"AT",name:"Atua",subdivision:null},{code:"FA",name:"Fa'asaleleaga",subdivision:null},{code:"GE",name:"Gaga'emauga",subdivision:null},{code:"GI",name:"Gagaifomauga",subdivision:null},{code:"PA",name:"Palauli",subdivision:null},{code:"SA",name:"Satupa'itea",subdivision:null},{code:"TU",name:"Tuamasaga",subdivision:null},{code:"VF",name:"Va'a-o-Fonoti",subdivision:null},{code:"VS",name:"Vaisigano",subdivision:null}]},{code2:"SM",code3:"SMR",name:"San Marino",capital:"City of San Marino",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Acquaviva",subdivision:null},{code:"06",name:"Borgo Maggiore",subdivision:null},{code:"02",name:"Chiesanuova",subdivision:null},{code:"03",name:"Domagnano",subdivision:null},{code:"04",name:"Faetano",subdivision:null},{code:"05",name:"Fiorentino",subdivision:null},{code:"08",name:"Montegiardino",subdivision:null},{code:"07",name:"San Marino",subdivision:null},{code:"09",name:"Serravalle",subdivision:null}]},{code2:"ST",code3:"STP",name:"São Tomé and Príncipe",capital:"São Tomé",region:"Africa",subregion:"Middle Africa",states:[{code:"P",name:"Príncipe",subdivision:null},{code:"S",name:"São Tomé",subdivision:null}]},{code2:"SA",code3:"SAU",name:"Saudi Arabia",capital:"Riyadh",region:"Asia",subregion:"Western Asia",states:[{code:"11",name:"Al Bāḩah",subdivision:null},{code:"12",name:"Al Jawf",subdivision:null},{code:"03",name:"Al Madīnah",subdivision:null},{code:"05",name:"Al Qaşīm",subdivision:null},{code:"08",name:"Al Ḩudūd ash Shamālīyah",subdivision:null},{code:"01",name:"Ar Riyāḑ",subdivision:null},{code:"04",name:"Ash Sharqīyah",subdivision:null},{code:"09",name:"Jīzān",subdivision:null},{code:"02",name:"Makkah",subdivision:null},{code:"10",name:"Najrān",subdivision:null},{code:"07",name:"Tabūk",subdivision:null},{code:"14",name:"ٰĀsīr",subdivision:null},{code:"06",name:"Ḩā'il",subdivision:null}]},{code2:"SN",code3:"SEN",name:"Senegal",capital:"Dakar",region:"Africa",subregion:"Western Africa",states:[{code:"DK",name:"Dakar",subdivision:null},{code:"DB",name:"Diourbel",subdivision:null},{code:"FK",name:"Fatick",subdivision:null},{code:"KA",name:"Kaffrine",subdivision:null},{code:"KL",name:"Kaolack",subdivision:null},{code:"KD",name:"Kolda",subdivision:null},{code:"KE",name:"Kédougou",subdivision:null},{code:"LG",name:"Louga",subdivision:null},{code:"MT",name:"Matam",subdivision:null},{code:"SL",name:"Saint-Louis",subdivision:null},{code:"SE",name:"Sédhiou",subdivision:null},{code:"TC",name:"Tambacounda",subdivision:null},{code:"TH",name:"Thiès",subdivision:null},{code:"ZG",name:"Ziguinchor",subdivision:null}]},{code2:"RS",code3:"SRB",name:"Serbia",capital:"Belgrade",region:"Europe",subregion:"Southern Europe",states:[{code:"KM",name:"Kosovo-Metohija",subdivision:null},{code:"VO",name:"Vojvodina",subdivision:null}]},{code2:"SC",code3:"SYC",name:"Seychelles",capital:"Victoria",region:"Africa",subregion:"Eastern Africa",states:[{code:"02",name:"Anse Boileau",subdivision:null},{code:"03",name:"Anse Etoile",subdivision:null},{code:"05",name:"Anse Royale",subdivision:null},{code:"01",name:"Anse aux Pins",subdivision:null},{code:"04",name:"Au Cap",subdivision:null},{code:"06",name:"Baie Lazare",subdivision:null},{code:"07",name:"Baie Sainte Anne",subdivision:null},{code:"08",name:"Beau Vallon",subdivision:null},{code:"09",name:"Bel Air",subdivision:null},{code:"10",name:"Bel Ombre",subdivision:null},{code:"11",name:"Cascade",subdivision:null},{code:"16",name:"English River",subdivision:null},{code:"12",name:"Glacis",subdivision:null},{code:"13",name:"Grand Anse Mahe",subdivision:null},{code:"14",name:"Grand Anse Praslin",subdivision:null},{code:"15",name:"La Digue",subdivision:null},{code:"24",name:"Les Mamelles",subdivision:null},{code:"17",name:"Mont Buxton",subdivision:null},{code:"18",name:"Mont Fleuri",subdivision:null},{code:"19",name:"Plaisance",subdivision:null},{code:"20",name:"Pointe Larue",subdivision:null},{code:"21",name:"Port Glaud",subdivision:null},{code:"25",name:"Roche Caiman",subdivision:null},{code:"22",name:"Saint Louis",subdivision:null},{code:"23",name:"Takamaka",subdivision:null}]},{code2:"SL",code3:"SLE",name:"Sierra Leone",capital:"Freetown",region:"Africa",subregion:"Western Africa",states:[{code:"E",name:"Eastern",subdivision:null},{code:"N",name:"Northern",subdivision:null},{code:"S",name:"Southern",subdivision:null},{code:"W",name:"Western Area",subdivision:null}]},{code2:"SG",code3:"SGP",name:"Singapore",capital:"Singapore",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"01",name:"Central Singapore",subdivision:null},{code:"02",name:"North East",subdivision:null},{code:"03",name:"North West",subdivision:null},{code:"04",name:"South East",subdivision:null},{code:"05",name:"South West",subdivision:null}]},{code2:"SX",code3:"SXM",name:"Sint Maarten",capital:"Philipsburg",region:"Americas",subregion:"Caribbean",states:[]},{code2:"SK",code3:"SVK",name:"Slovakia",capital:"Bratislava",region:"Europe",subregion:"Eastern Europe",states:[{code:"BC",name:"Banskobystrický kraj",subdivision:null},{code:"BL",name:"Bratislavský kraj",subdivision:null},{code:"KI",name:"Košický kraj",subdivision:null},{code:"NI",name:"Nitriansky kraj",subdivision:null},{code:"PV",name:"Prešovský kraj",subdivision:null},{code:"TC",name:"Trenčiansky kraj",subdivision:null},{code:"TA",name:"Trnavský kraj",subdivision:null},{code:"ZI",name:"Žilinský kraj",subdivision:null}]},{code2:"SI",code3:"SVN",name:"Slovenia",capital:"Ljubljana",region:"Europe",subregion:"Southern Europe",states:[{code:"001",name:"Ajdovščina",subdivision:null},{code:"195",name:"Apače",subdivision:null},{code:"002",name:"Beltinci",subdivision:null},{code:"148",name:"Benedikt",subdivision:null},{code:"149",name:"Bistrica ob Sotli",subdivision:null},{code:"003",name:"Bled",subdivision:null},{code:"150",name:"Bloke",subdivision:null},{code:"004",name:"Bohinj",subdivision:null},{code:"005",name:"Borovnica",subdivision:null},{code:"006",name:"Bovec",subdivision:null},{code:"151",name:"Braslovče",subdivision:null},{code:"007",name:"Brda",subdivision:null},{code:"008",name:"Brezovica",subdivision:null},{code:"009",name:"Brežice",subdivision:null},{code:"152",name:"Cankova",subdivision:null},{code:"011",name:"Celje",subdivision:null},{code:"012",name:"Cerklje na Gorenjskem",subdivision:null},{code:"013",name:"Cerknica",subdivision:null},{code:"014",name:"Cerkno",subdivision:null},{code:"153",name:"Cerkvenjak",subdivision:null},{code:"196",name:"Cirkulane",subdivision:null},{code:"018",name:"Destrnik",subdivision:null},{code:"019",name:"Divača",subdivision:null},{code:"154",name:"Dobje",subdivision:null},{code:"020",name:"Dobrepolje",subdivision:null},{code:"155",name:"Dobrna",subdivision:null},{code:"021",name:"Dobrova–Polhov Gradec",subdivision:null},{code:"156",name:"Dobrovnik",subdivision:null},{code:"022",name:"Dol pri Ljubljani",subdivision:null},{code:"157",name:"Dolenjske Toplice",subdivision:null},{code:"023",name:"Domžale",subdivision:null},{code:"024",name:"Dornava",subdivision:null},{code:"025",name:"Dravograd",subdivision:null},{code:"026",name:"Duplek",subdivision:null},{code:"027",name:"Gorenja vas–Poljane",subdivision:null},{code:"028",name:"Gorišnica",subdivision:null},{code:"207",name:"Gorje",subdivision:null},{code:"029",name:"Gornja Radgona",subdivision:null},{code:"030",name:"Gornji Grad",subdivision:null},{code:"031",name:"Gornji Petrovci",subdivision:null},{code:"158",name:"Grad",subdivision:null},{code:"032",name:"Grosuplje",subdivision:null},{code:"159",name:"Hajdina",subdivision:null},{code:"161",name:"Hodoš",subdivision:null},{code:"162",name:"Horjul",subdivision:null},{code:"160",name:"Hoče–Slivnica",subdivision:null},{code:"034",name:"Hrastnik",subdivision:null},{code:"035",name:"Hrpelje-Kozina",subdivision:null},{code:"036",name:"Idrija",subdivision:null},{code:"037",name:"Ig",subdivision:null},{code:"038",name:"Ilirska Bistrica",subdivision:null},{code:"039",name:"Ivančna Gorica",subdivision:null},{code:"040",name:"Izola",subdivision:null},{code:"041",name:"Jesenice",subdivision:null},{code:"163",name:"Jezersko",subdivision:null},{code:"042",name:"Juršinci",subdivision:null},{code:"043",name:"Kamnik",subdivision:null},{code:"044",name:"Kanal",subdivision:null},{code:"045",name:"Kidričevo",subdivision:null},{code:"046",name:"Kobarid",subdivision:null},{code:"047",name:"Kobilje",subdivision:null},{code:"049",name:"Komen",subdivision:null},{code:"164",name:"Komenda",subdivision:null},{code:"050",name:"Koper",subdivision:null},{code:"197",name:"Kosanjevica na Krki",subdivision:null},{code:"165",name:"Kostel",subdivision:null},{code:"051",name:"Kozje",subdivision:null},{code:"048",name:"Kočevje",subdivision:null},{code:"052",name:"Kranj",subdivision:null},{code:"053",name:"Kranjska Gora",subdivision:null},{code:"166",name:"Križevci",subdivision:null},{code:"054",name:"Krško",subdivision:null},{code:"055",name:"Kungota",subdivision:null},{code:"056",name:"Kuzma",subdivision:null},{code:"057",name:"Laško",subdivision:null},{code:"058",name:"Lenart",subdivision:null},{code:"059",name:"Lendava",subdivision:null},{code:"060",name:"Litija",subdivision:null},{code:"061",name:"Ljubljana",subdivision:null},{code:"062",name:"Ljubno",subdivision:null},{code:"063",name:"Ljutomer",subdivision:null},{code:"208",name:"Log-Dragomer",subdivision:null},{code:"064",name:"Logatec",subdivision:null},{code:"167",name:"Lovrenc na Pohorju",subdivision:null},{code:"065",name:"Loška Dolina",subdivision:null},{code:"066",name:"Loški Potok",subdivision:null},{code:"068",name:"Lukovica",subdivision:null},{code:"067",name:"Luče",subdivision:null},{code:"069",name:"Majšperk",subdivision:null},{code:"198",name:"Makole",subdivision:null},{code:"070",name:"Maribor",subdivision:null},{code:"168",name:"Markovci",subdivision:null},{code:"071",name:"Medvode",subdivision:null},{code:"072",name:"Mengeš",subdivision:null},{code:"073",name:"Metlika",subdivision:null},{code:"074",name:"Mežica",subdivision:null},{code:"169",name:"Miklavž na Dravskem Polju",subdivision:null},{code:"075",name:"Miren–Kostanjevica",subdivision:null},{code:"170",name:"Mirna Peč",subdivision:null},{code:"076",name:"Mislinja",subdivision:null},{code:"199",name:"Mokronog–Trebelno",subdivision:null},{code:"078",name:"Moravske Toplice",subdivision:null},{code:"077",name:"Moravče",subdivision:null},{code:"079",name:"Mozirje",subdivision:null},{code:"080",name:"Murska Sobota",subdivision:null},{code:"081",name:"Muta",subdivision:null},{code:"082",name:"Naklo",subdivision:null},{code:"083",name:"Nazarje",subdivision:null},{code:"084",name:"Nova Gorica",subdivision:null},{code:"085",name:"Novo Mesto",subdivision:null},{code:"086",name:"Odranci",subdivision:null},{code:"171",name:"Oplotnica",subdivision:null},{code:"087",name:"Ormož",subdivision:null},{code:"088",name:"Osilnica",subdivision:null},{code:"089",name:"Pesnica",subdivision:null},{code:"090",name:"Piran",subdivision:null},{code:"091",name:"Pivka",subdivision:null},{code:"172",name:"Podlehnik",subdivision:null},{code:"093",name:"Podvelka",subdivision:null},{code:"092",name:"Podčetrtek",subdivision:null},{code:"200",name:"Poljčane",subdivision:null},{code:"173",name:"Polzela",subdivision:null},{code:"094",name:"Postojna",subdivision:null},{code:"174",name:"Prebold",subdivision:null},{code:"095",name:"Preddvor",subdivision:null},{code:"175",name:"Prevalje",subdivision:null},{code:"096",name:"Ptuj",subdivision:null},{code:"097",name:"Puconci",subdivision:null},{code:"100",name:"Radenci",subdivision:null},{code:"099",name:"Radeče",subdivision:null},{code:"101",name:"Radlje ob Dravi",subdivision:null},{code:"102",name:"Radovljica",subdivision:null},{code:"103",name:"Ravne na Koroškem",subdivision:null},{code:"176",name:"Razkrižje",subdivision:null},{code:"098",name:"Rače–Fram",subdivision:null},{code:"201",name:"Renče-Vogrsko",subdivision:null},{code:"209",name:"Rečica ob Savinji",subdivision:null},{code:"104",name:"Ribnica",subdivision:null},{code:"177",name:"Ribnica na Pohorju",subdivision:null},{code:"107",name:"Rogatec",subdivision:null},{code:"106",name:"Rogaška Slatina",subdivision:null},{code:"105",name:"Rogašovci",subdivision:null},{code:"108",name:"Ruše",subdivision:null},{code:"178",name:"Selnica ob Dravi",subdivision:null},{code:"109",name:"Semič",subdivision:null},{code:"110",name:"Sevnica",subdivision:null},{code:"111",name:"Sežana",subdivision:null},{code:"112",name:"Slovenj Gradec",subdivision:null},{code:"113",name:"Slovenska Bistrica",subdivision:null},{code:"114",name:"Slovenske Konjice",subdivision:null},{code:"179",name:"Sodražica",subdivision:null},{code:"180",name:"Solčava",subdivision:null},{code:"202",name:"Središče ob Dravi",subdivision:null},{code:"115",name:"Starše",subdivision:null},{code:"203",name:"Straža",subdivision:null},{code:"181",name:"Sveta Ana",subdivision:null},{code:"204",name:"Sveta Trojica v Slovenskih Goricah",subdivision:null},{code:"182",name:"Sveti Andraž v Slovenskih Goricah",subdivision:null},{code:"116",name:"Sveti Jurij",subdivision:null},{code:"210",name:"Sveti Jurij v Slovenskih Goricah",subdivision:null},{code:"205",name:"Sveti Tomaž",subdivision:null},{code:"184",name:"Tabor",subdivision:null},{code:"010",name:"Tišina",subdivision:null},{code:"128",name:"Tolmin",subdivision:null},{code:"129",name:"Trbovlje",subdivision:null},{code:"130",name:"Trebnje",subdivision:null},{code:"185",name:"Trnovska Vas",subdivision:null},{code:"186",name:"Trzin",subdivision:null},{code:"131",name:"Tržič",subdivision:null},{code:"132",name:"Turnišče",subdivision:null},{code:"133",name:"Velenje",subdivision:null},{code:"187",name:"Velika Polana",subdivision:null},{code:"134",name:"Velike Lašče",subdivision:null},{code:"188",name:"Veržej",subdivision:null},{code:"135",name:"Videm",subdivision:null},{code:"136",name:"Vipava",subdivision:null},{code:"137",name:"Vitanje",subdivision:null},{code:"138",name:"Vodice",subdivision:null},{code:"139",name:"Vojnik",subdivision:null},{code:"189",name:"Vransko",subdivision:null},{code:"140",name:"Vrhnika",subdivision:null},{code:"141",name:"Vuzenica",subdivision:null},{code:"142",name:"Zagorje ob Savi",subdivision:null},{code:"143",name:"Zavrč",subdivision:null},{code:"144",name:"Zreče",subdivision:null},{code:"015",name:"Črenšovci",subdivision:null},{code:"016",name:"Črna na Koroškem",subdivision:null},{code:"017",name:"Črnomelj",subdivision:null},{code:"033",name:"Šalovci",subdivision:null},{code:"183",name:"Šempeter–Vrtojba",subdivision:null},{code:"118",name:"Šentilj",subdivision:null},{code:"119",name:"Šentjernej",subdivision:null},{code:"120",name:"Šentjur",subdivision:null},{code:"211",name:"Šentrupert",subdivision:null},{code:"117",name:"Šenčur",subdivision:null},{code:"121",name:"Škocjan",subdivision:null},{code:"122",name:"Škofja Loka",subdivision:null},{code:"123",name:"Škofljica",subdivision:null},{code:"124",name:"Šmarje pri Jelšah",subdivision:null},{code:"206",name:"Šmarješke Toplice",subdivision:null},{code:"125",name:"Šmartno ob Paki",subdivision:null},{code:"194",name:"Šmartno pri Litiji",subdivision:null},{code:"126",name:"Šoštanj",subdivision:null},{code:"127",name:"Štore",subdivision:null},{code:"190",name:"Žalec",subdivision:null},{code:"146",name:"Železniki",subdivision:null},{code:"191",name:"Žetale",subdivision:null},{code:"147",name:"Žiri",subdivision:null},{code:"192",name:"Žirovnica",subdivision:null},{code:"193",name:"Žužemberk",subdivision:null}]},{code2:"SB",code3:"SLB",name:"Solomon Islands",capital:"Honiara",region:"Oceania",subregion:"Melanesia",states:[{code:"CT",name:"Capital Territory",subdivision:null},{code:"CE",name:"Central",subdivision:null},{code:"CH",name:"Choiseul",subdivision:null},{code:"GU",name:"Guadalcanal",subdivision:null},{code:"IS",name:"Isabel",subdivision:null},{code:"MK",name:"Makira-Ulawa",subdivision:null},{code:"ML",name:"Malaita",subdivision:null},{code:"RB",name:"Rennell and Bellona",subdivision:null},{code:"TE",name:"Temotu",subdivision:null},{code:"WE",name:"Western",subdivision:null}]},{code2:"SO",code3:"SOM",name:"Somalia",capital:"Mogadishu",region:"Africa",subregion:"Eastern Africa",states:[{code:"AW",name:"Awdal",subdivision:null},{code:"BK",name:"Bakool",subdivision:null},{code:"BN",name:"Banaadir",subdivision:null},{code:"BR",name:"Bari",subdivision:null},{code:"BY",name:"Bay",subdivision:null},{code:"GA",name:"Galguduud",subdivision:null},{code:"GE",name:"Gedo",subdivision:null},{code:"HI",name:"Hiiraan",subdivision:null},{code:"JD",name:"Jubbada Dhexe",subdivision:null},{code:"JH",name:"Jubbada Hoose",subdivision:null},{code:"MU",name:"Mudug",subdivision:null},{code:"NU",name:"Nugaal",subdivision:null},{code:"SA",name:"Sanaag",subdivision:null},{code:"SD",name:"Shabeellaha Dhexe",subdivision:null},{code:"SH",name:"Shabeellaha Hoose",subdivision:null},{code:"SO",name:"Sool",subdivision:null},{code:"TO",name:"Togdheer",subdivision:null},{code:"WO",name:"Woqooyi Galbeed",subdivision:null}]},{code2:"ZA",code3:"ZAF",name:"South Africa",capital:"Pretoria",region:"Africa",subregion:"Southern Africa",states:[{code:"EC",name:"Eastern Cape",subdivision:null},{code:"FS",name:"Free State",subdivision:null},{code:"GT",name:"Gauteng",subdivision:null},{code:"NL",name:"KwaZulu-Natal",subdivision:null},{code:"LP",name:"Limpopo",subdivision:null},{code:"MP",name:"Mpumalanga",subdivision:null},{code:"NW",name:"North West",subdivision:null},{code:"NC",name:"Northern Cape",subdivision:null},{code:"WC",name:"Western Cape",subdivision:null}]},{code2:"GS",code3:"SGS",name:"South Georgia",capital:"King Edward Point",region:"Americas",subregion:"South America",states:[]},{code2:"KR",code3:"KOR",name:"South Korea",capital:"Seoul",region:"Asia",subregion:"Eastern Asia",states:[{code:"26",name:"Busan-gwangyeoksi",subdivision:null},{code:"43",name:"Chungcheongbuk-do",subdivision:null},{code:"44",name:"Chungcheongnam-do",subdivision:null},{code:"27",name:"Daegu-gwangyeoksi",subdivision:null},{code:"30",name:"Daejeon-gwangyeoksi",subdivision:null},{code:"42",name:"Gangwon-do",subdivision:null},{code:"29",name:"Gwangju-gwangyeoksi",subdivision:null},{code:"41",name:"Gyeonggi-do",subdivision:null},{code:"47",name:"Gyeongsangbuk-do",subdivision:null},{code:"48",name:"Gyeongsangnam-do",subdivision:null},{code:"28",name:"Incheon-gwangyeoksi",subdivision:null},{code:"49",name:"Jeju-teukbyeoljachido",subdivision:null},{code:"45",name:"Jeollabuk-do",subdivision:null},{code:"46",name:"Jeollanam-do",subdivision:null},{code:"50",name:"Sejong",subdivision:null},{code:"11",name:"Seoul-teukbyeolsi",subdivision:null},{code:"31",name:"Ulsan-gwangyeoksi",subdivision:null}]},{code2:"SS",code3:"SSD",name:"South Sudan",capital:"Juba",region:"Africa",subregion:"Middle Africa",states:[{code:"EC",name:"Central Equatoria",subdivision:null},{code:"EE",name:"Eastern Equatoria",subdivision:null},{code:"JG",name:"Jonglei",subdivision:null},{code:"LK",name:"Lakes",subdivision:null},{code:"BN",name:"Northern Bahr el Ghazal",subdivision:null},{code:"UY",name:"Unity",subdivision:null},{code:"NU",name:"Upper Nile",subdivision:null},{code:"WR",name:"Warrap",subdivision:null},{code:"BW",name:"Western Bahr el Ghazal",subdivision:null},{code:"EW",name:"Western Equatoria",subdivision:null}]},{code2:"ES",code3:"ESP",name:"Spain",capital:"Madrid",region:"Europe",subregion:"Southern Europe",states:[{code:"C",name:"A Coruña",subdivision:"Province"},{code:"AB",name:"Albacete",subdivision:"Province"},{code:"A",name:"Alicante",subdivision:"Province"},{code:"AL",name:"Almería",subdivision:"Province"},{code:"O",name:"Asturias",subdivision:"Province"},{code:"BA",name:"Badajoz",subdivision:"Province"},{code:"PM",name:"Balears",subdivision:"Province"},{code:"B",name:"Barcelona",subdivision:"Province"},{code:"BU",name:"Burgos",subdivision:"Province"},{code:"S",name:"Cantabria",subdivision:"Province"},{code:"CS",name:"Castellón",subdivision:"Province"},{code:"CR",name:"Ciudad Real",subdivision:"Province"},{code:"CU",name:"Cuenca",subdivision:"Province"},{code:"CC",name:"Cáceres",subdivision:"Province"},{code:"CA",name:"Cádiz",subdivision:"Province"},{code:"CO",name:"Córdoba",subdivision:"Province"},{code:"GI",name:"Girona",subdivision:"Province"},{code:"GR",name:"Granada",subdivision:"Province"},{code:"GU",name:"Guadalajara",subdivision:"Province"},{code:"SS",name:"Guipúzcoa",subdivision:"Province"},{code:"H",name:"Huelva",subdivision:"Province"},{code:"HU",name:"Huesca",subdivision:"Province"},{code:"J",name:"Jaén",subdivision:"Province"},{code:"LO",name:"La Rioja",subdivision:"Province"},{code:"GC",name:"Las Palmas",subdivision:"Province"},{code:"LE",name:"León",subdivision:"Province"},{code:"L",name:"Lleida",subdivision:"Province"},{code:"LU",name:"Lugo",subdivision:"Province"},{code:"M",name:"Madrid",subdivision:"Province"},{code:"MU",name:"Murcia",subdivision:"Province"},{code:"MA",name:"Málaga",subdivision:"Province"},{code:"NA",name:"Navarra",subdivision:"Province"},{code:"OR",name:"Ourense",subdivision:"Province"},{code:"P",name:"Palencia",subdivision:"Province"},{code:"PO",name:"Pontevedra",subdivision:"Province"},{code:"SA",name:"Salamanca",subdivision:"Province"},{code:"TF",name:"Santa Cruz de Tenerife",subdivision:"Province"},{code:"SG",name:"Segovia",subdivision:"Province"},{code:"SE",name:"Sevilla",subdivision:"Province"},{code:"SO",name:"Soria",subdivision:"Province"},{code:"T",name:"Tarragona",subdivision:"Province"},{code:"TE",name:"Teruel",subdivision:"Province"},{code:"TO",name:"Toledo",subdivision:"Province"},{code:"V",name:"Valencia",subdivision:"Province"},{code:"VA",name:"Valladolid",subdivision:"Province"},{code:"BI",name:"Vizcaya",subdivision:"Province"},{code:"ZA",name:"Zamora",subdivision:"Province"},{code:"Z",name:"Zaragoza",subdivision:"Province"},{code:"VI",name:"Álava",subdivision:"Province"},{code:"AV",name:"Ávila",subdivision:"Province"},{code:"CE",name:"Ceuta",subdivision:"autonomous city in North Africa"},{code:"ML",name:"Melilla",subdivision:"autonomous city in North Africa"},{code:"AN",name:"Andalucía",subdivision:"autonomous community"},{code:"AR",name:"Aragón",subdivision:"autonomous community"},{code:"AS",name:"Asturias, Principado de",subdivision:"autonomous community"},{code:"CN",name:"Canarias",subdivision:"autonomous community"},{code:"CB",name:"Cantabria",subdivision:"autonomous community"},{code:"CL",name:"Castilla y León",subdivision:"autonomous community"},{code:"CM",name:"Castilla-La Mancha",subdivision:"autonomous community"},{code:"CT",name:"Catalunya",subdivision:"autonomous community"},{code:"EX",name:"Extremadura",subdivision:"autonomous community"},{code:"GA",name:"Galicia",subdivision:"autonomous community"},{code:"IB",name:"Illes Balears",subdivision:"autonomous community"},{code:"RI",name:"La Rioja",subdivision:"autonomous community"},{code:"MD",name:"Madrid, Comunidad de",subdivision:"autonomous community"},{code:"MC",name:"Murcia, Región de",subdivision:"autonomous community"},{code:"NC",name:"Navarra, Comunidad Foral de",subdivision:"autonomous community"},{code:"PV",name:"País Vasco",subdivision:"autonomous community"},{code:"VC",name:"Valenciana, Comunidad",subdivision:"autonomous community"}]},{code2:"LK",code3:"LKA",name:"Sri Lanka",capital:"Colombo",region:"Asia",subregion:"Southern Asia",states:[{code:"2",name:"Central Province",subdivision:null},{code:"5",name:"Eastern Province",subdivision:null},{code:"7",name:"North Central Province",subdivision:null},{code:"6",name:"North Western Province",subdivision:null},{code:"4",name:"Northern Province",subdivision:null},{code:"9",name:"Sabaragamuwa Province",subdivision:null},{code:"3",name:"Southern Province",subdivision:null},{code:"8",name:"Uva Province",subdivision:null},{code:"1",name:"Western Province",subdivision:null}]},{code2:"SD",code3:"SDN",name:"Sudan",capital:"Khartoum",region:"Africa",subregion:"Northern Africa",states:[{code:"RS",name:"Al Baḩr al Aḩmar",subdivision:null},{code:"GZ",name:"Al Jazīrah",subdivision:null},{code:"KH",name:"Al Kharţūm",subdivision:null},{code:"GD",name:"Al Qaḑārif",subdivision:null},{code:"NR",name:"An Nīl",subdivision:null},{code:"NW",name:"An Nīl al Abyaḑ",subdivision:null},{code:"NB",name:"An Nīl al Azraq",subdivision:null},{code:"NO",name:"Ash Shamālīyah",subdivision:null},{code:"DW",name:"Gharb Dārfūr",subdivision:null},{code:"DS",name:"Janūb Dārfūr",subdivision:null},{code:"KS",name:"Janūb Kurdufān",subdivision:null},{code:"KA",name:"Kassalā",subdivision:null},{code:"DN",name:"Shamāl Dārfūr",subdivision:null},{code:"KN",name:"Shamāl Kurdufān",subdivision:null},{code:"DE",name:"Sharq Dārfūr",subdivision:null},{code:"SI",name:"Sinnār",subdivision:null},{code:"DC",name:"Zalingei",subdivision:null}]},{code2:"SR",code3:"SUR",name:"Suriname",capital:"Paramaribo",region:"Americas",subregion:"South America",states:[{code:"BR",name:"Brokopondo",subdivision:null},{code:"CM",name:"Commewijne",subdivision:null},{code:"CR",name:"Coronie",subdivision:null},{code:"MA",name:"Marowijne",subdivision:null},{code:"NI",name:"Nickerie",subdivision:null},{code:"PR",name:"Para",subdivision:null},{code:"PM",name:"Paramaribo",subdivision:null},{code:"SA",name:"Saramacca",subdivision:null},{code:"SI",name:"Sipaliwini",subdivision:null},{code:"WA",name:"Wanica",subdivision:null}]},{code2:"SJ",code3:"SJM",name:"Svalbard and Jan Mayen",capital:"Longyearbyen",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"SZ",code3:"SWZ",name:"Swaziland",capital:"Lobamba",region:"Africa",subregion:"Southern Africa",states:[{code:"HH",name:"Hhohho",subdivision:null},{code:"LU",name:"Lubombo",subdivision:null},{code:"MA",name:"Manzini",subdivision:null},{code:"SH",name:"Shiselweni",subdivision:null}]},{code2:"SE",code3:"SWE",name:"Sweden",capital:"Stockholm",region:"Europe",subregion:"Northern Europe",states:[{code:"K",name:"Blekinge län",subdivision:null},{code:"W",name:"Dalarnas län",subdivision:null},{code:"I",name:"Gotlands län",subdivision:null},{code:"X",name:"Gävleborgs län",subdivision:null},{code:"N",name:"Hallands län",subdivision:null},{code:"Z",name:"Jämtlands län",subdivision:null},{code:"F",name:"Jönköpings län",subdivision:null},{code:"H",name:"Kalmar län",subdivision:null},{code:"G",name:"Kronobergs län",subdivision:null},{code:"BD",name:"Norrbottens län",subdivision:null},{code:"M",name:"Skåne län",subdivision:null},{code:"AB",name:"Stockholms län",subdivision:null},{code:"D",name:"Södermanlands län",subdivision:null},{code:"C",name:"Uppsala län",subdivision:null},{code:"S",name:"Värmlands län",subdivision:null},{code:"AC",name:"Västerbottens län",subdivision:null},{code:"Y",name:"Västernorrlands län",subdivision:null},{code:"U",name:"Västmanlands län",subdivision:null},{code:"O",name:"Västra Götalands län",subdivision:null},{code:"T",name:"Örebro län",subdivision:null},{code:"E",name:"Östergötlands län",subdivision:null}]},{code2:"CH",code3:"CHE",name:"Switzerland",capital:"Bern",region:"Europe",subregion:"Western Europe",states:[{code:"AG",name:"Aargau",subdivision:null},{code:"AR",name:"Appenzell Ausserrhoden",subdivision:null},{code:"AI",name:"Appenzell Innerrhoden",subdivision:null},{code:"BL",name:"Basel-Landschaft",subdivision:null},{code:"BS",name:"Basel-Stadt",subdivision:null},{code:"BE",name:"Bern",subdivision:null},{code:"FR",name:"Fribourg",subdivision:null},{code:"GE",name:"Genève",subdivision:null},{code:"GL",name:"Glarus",subdivision:null},{code:"GR",name:"Graubünden",subdivision:null},{code:"JU",name:"Jura",subdivision:null},{code:"LU",name:"Luzern",subdivision:null},{code:"NE",name:"Neuchâtel",subdivision:null},{code:"NW",name:"Nidwalden",subdivision:null},{code:"OW",name:"Obwalden",subdivision:null},{code:"SG",name:"Sankt Gallen",subdivision:null},{code:"SH",name:"Schaffhausen",subdivision:null},{code:"SZ",name:"Schwyz",subdivision:null},{code:"SO",name:"Solothurn",subdivision:null},{code:"TG",name:"Thurgau",subdivision:null},{code:"TI",name:"Ticino",subdivision:null},{code:"UR",name:"Uri",subdivision:null},{code:"VS",name:"Valais",subdivision:null},{code:"VD",name:"Vaud",subdivision:null},{code:"ZG",name:"Zug",subdivision:null},{code:"ZH",name:"Zürich",subdivision:null}]},{code2:"SY",code3:"SYR",name:"Syria",capital:"Damascus",region:"Asia",subregion:"Western Asia",states:[{code:"LA",name:"Al Lādhiqīyah",subdivision:null},{code:"QU",name:"Al Qunayţirah",subdivision:null},{code:"HA",name:"Al Ḩasakah",subdivision:null},{code:"RA",name:"Ar Raqqah",subdivision:null},{code:"SU",name:"As Suwaydā'",subdivision:null},{code:"DR",name:"Darٰā",subdivision:null},{code:"DY",name:"Dayr az Zawr",subdivision:null},{code:"DI",name:"Dimashq",subdivision:null},{code:"ID",name:"Idlib",subdivision:null},{code:"RD",name:"Rīf Dimashq",subdivision:null},{code:"TA",name:"Ţarţūs",subdivision:null},{code:"HL",name:"Ḩalab",subdivision:null},{code:"HM",name:"Ḩamāh",subdivision:null},{code:"HI",name:"Ḩimş",subdivision:null}]},{code2:"TW",code3:"TWN",name:"Taiwan",capital:"Taipei",region:"Asia",subregion:"Eastern Asia",states:[{code:"CHA",name:"Changhua",subdivision:null},{code:"CYQ",name:"Chiayi",subdivision:null},{code:"CYI",name:"Chiayi",subdivision:null},{code:"HSZ",name:"Hsinchu",subdivision:null},{code:"HSQ",name:"Hsinchu",subdivision:null},{code:"HUA",name:"Hualien",subdivision:null},{code:"ILA",name:"Ilan",subdivision:null},{code:"KHQ",name:"Kaohsiung",subdivision:null},{code:"KHH",name:"Kaohsiung",subdivision:null},{code:"KEE",name:"Keelung",subdivision:null},{code:"MIA",name:"Miaoli",subdivision:null},{code:"NAN",name:"Nantou",subdivision:null},{code:"PEN",name:"Penghu",subdivision:null},{code:"PIF",name:"Pingtung",subdivision:null},{code:"TXG",name:"Taichung",subdivision:null},{code:"TXQ",name:"Taichung",subdivision:null},{code:"TNN",name:"Tainan",subdivision:null},{code:"TNQ",name:"Tainan",subdivision:null},{code:"TPE",name:"Taipei",subdivision:null},{code:"TPQ",name:"Taipei",subdivision:null},{code:"TTT",name:"Taitung",subdivision:null},{code:"TAO",name:"Taoyuan",subdivision:null},{code:"YUN",name:"Yunlin",subdivision:null}]},{code2:"TJ",code3:"TJK",name:"Tajikistan",capital:"Dushanbe",region:"Asia",subregion:"Central Asia",states:[{code:"DU",name:"Dushanbe",subdivision:null},{code:"KT",name:"Khatlon",subdivision:null},{code:"GB",name:"Kŭhistoni Badakhshon",subdivision:null},{code:"SU",name:"Sughd",subdivision:null}]},{code2:"TZ",code3:"TZA",name:"Tanzania",capital:"Dodoma",region:"Africa",subregion:"Eastern Africa",states:[{code:"01",name:"Arusha",subdivision:null},{code:"02",name:"Dar es Salaam",subdivision:null},{code:"03",name:"Dodoma",subdivision:null},{code:"04",name:"Iringa",subdivision:null},{code:"05",name:"Kagera",subdivision:null},{code:"06",name:"Kaskazini Pemba",subdivision:null},{code:"07",name:"Kaskazini Unguja",subdivision:null},{code:"08",name:"Kigoma",subdivision:null},{code:"09",name:"Kilimanjaro",subdivision:null},{code:"10",name:"Kusini Pemba",subdivision:null},{code:"11",name:"Kusini Unguja",subdivision:null},{code:"12",name:"Lindi",subdivision:null},{code:"26",name:"Manyara",subdivision:null},{code:"13",name:"Mara",subdivision:null},{code:"14",name:"Mbeya",subdivision:null},{code:"15",name:"Mjini Magharibi",subdivision:null},{code:"16",name:"Morogoro",subdivision:null},{code:"17",name:"Mtwara",subdivision:null},{code:"18",name:"Mwanza",subdivision:null},{code:"19",name:"Pwani",subdivision:null},{code:"20",name:"Rukwa",subdivision:null},{code:"21",name:"Ruvuma",subdivision:null},{code:"22",name:"Shinyanga",subdivision:null},{code:"23",name:"Singida",subdivision:null},{code:"24",name:"Tabora",subdivision:null},{code:"25",name:"Tanga",subdivision:null}]},{code2:"TH",code3:"THA",name:"Thailand",capital:"Bangkok",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"37",name:"Amnat Charoen",subdivision:null},{code:"15",name:"Ang Thong",subdivision:null},{code:"38",name:"Bueng Kan",subdivision:null},{code:"31",name:"Buri Ram",subdivision:null},{code:"24",name:"Chachoengsao",subdivision:null},{code:"18",name:"Chai Nat",subdivision:null},{code:"36",name:"Chaiyaphum",subdivision:null},{code:"22",name:"Chanthaburi",subdivision:null},{code:"50",name:"Chiang Mai",subdivision:null},{code:"57",name:"Chiang Rai",subdivision:null},{code:"20",name:"Chon Buri",subdivision:null},{code:"86",name:"Chumphon",subdivision:null},{code:"46",name:"Kalasin",subdivision:null},{code:"62",name:"Kamphaeng Phet",subdivision:null},{code:"71",name:"Kanchanaburi",subdivision:null},{code:"40",name:"Khon Kaen",subdivision:null},{code:"81",name:"Krabi",subdivision:null},{code:"10",name:"Krung Thep Maha Nakhon",subdivision:null},{code:"52",name:"Lampang",subdivision:null},{code:"51",name:"Lamphun",subdivision:null},{code:"42",name:"Loei",subdivision:null},{code:"16",name:"Lop Buri",subdivision:null},{code:"58",name:"Mae Hong Son",subdivision:null},{code:"44",name:"Maha Sarakham",subdivision:null},{code:"49",name:"Mukdahan",subdivision:null},{code:"26",name:"Nakhon Nayok",subdivision:null},{code:"73",name:"Nakhon Pathom",subdivision:null},{code:"48",name:"Nakhon Phanom",subdivision:null},{code:"30",name:"Nakhon Ratchasima",subdivision:null},{code:"60",name:"Nakhon Sawan",subdivision:null},{code:"80",name:"Nakhon Si Thammarat",subdivision:null},{code:"55",name:"Nan",subdivision:null},{code:"96",name:"Narathiwat",subdivision:null},{code:"39",name:"Nong Bua Lam Phu",subdivision:null},{code:"43",name:"Nong Khai",subdivision:null},{code:"12",name:"Nonthaburi",subdivision:null},{code:"13",name:"Pathum Thani",subdivision:null},{code:"94",name:"Pattani",subdivision:null},{code:"82",name:"Phangnga",subdivision:null},{code:"93",name:"Phatthalung",subdivision:null},{code:"S",name:"Phatthaya",subdivision:null},{code:"56",name:"Phayao",subdivision:null},{code:"67",name:"Phetchabun",subdivision:null},{code:"76",name:"Phetchaburi",subdivision:null},{code:"66",name:"Phichit",subdivision:null},{code:"65",name:"Phitsanulok",subdivision:null},{code:"14",name:"Phra Nakhon Si Ayutthaya",subdivision:null},{code:"54",name:"Phrae",subdivision:null},{code:"83",name:"Phuket",subdivision:null},{code:"25",name:"Prachin Buri",subdivision:null},{code:"77",name:"Prachuap Khiri Khan",subdivision:null},{code:"85",name:"Ranong",subdivision:null},{code:"70",name:"Ratchaburi",subdivision:null},{code:"21",name:"Rayong",subdivision:null},{code:"45",name:"Roi Et",subdivision:null},{code:"27",name:"Sa Kaeo",subdivision:null},{code:"47",name:"Sakon Nakhon",subdivision:null},{code:"11",name:"Samut Prakan",subdivision:null},{code:"74",name:"Samut Sakhon",subdivision:null},{code:"75",name:"Samut Songkhram",subdivision:null},{code:"19",name:"Saraburi",subdivision:null},{code:"91",name:"Satun",subdivision:null},{code:"33",name:"Si Sa Ket",subdivision:null},{code:"17",name:"Sing Buri",subdivision:null},{code:"90",name:"Songkhla",subdivision:null},{code:"64",name:"Sukhothai",subdivision:null},{code:"72",name:"Suphan Buri",subdivision:null},{code:"84",name:"Surat Thani",subdivision:null},{code:"32",name:"Surin",subdivision:null},{code:"63",name:"Tak",subdivision:null},{code:"92",name:"Trang",subdivision:null},{code:"23",name:"Trat",subdivision:null},{code:"34",name:"Ubon Ratchathani",subdivision:null},{code:"41",name:"Udon Thani",subdivision:null},{code:"61",name:"Uthai Thani",subdivision:null},{code:"53",name:"Uttaradit",subdivision:null},{code:"95",name:"Yala",subdivision:null},{code:"35",name:"Yasothon",subdivision:null}]},{code2:"TL",code3:"TLS",name:"East Timor",capital:"Dili",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"AL",name:"Aileu",subdivision:null},{code:"AN",name:"Ainaro",subdivision:null},{code:"BA",name:"Baucau",subdivision:null},{code:"BO",name:"Bobonaro",subdivision:null},{code:"CO",name:"Cova Lima",subdivision:null},{code:"DI",name:"Díli",subdivision:null},{code:"ER",name:"Ermera",subdivision:null},{code:"LA",name:"Lautem",subdivision:null},{code:"LI",name:"Liquiça",subdivision:null},{code:"MT",name:"Manatuto",subdivision:null},{code:"MF",name:"Manufahi",subdivision:null},{code:"OE",name:"Oecussi",subdivision:null},{code:"VI",name:"Viqueque",subdivision:null}]},{code2:"TG",code3:"TGO",name:"Togo",capital:"Lomé",region:"Africa",subregion:"Western Africa",states:[{code:"C",name:"Centre",subdivision:null},{code:"K",name:"Kara",subdivision:null},{code:"M",name:"Maritime",subdivision:null},{code:"P",name:"Plateaux",subdivision:null},{code:"S",name:"Savannes",subdivision:null}]},{code2:"TK",code3:"TKL",name:"Tokelau",capital:"Fakaofo",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"TO",code3:"TON",name:"Tonga",capital:"Nuku'alofa",region:"Oceania",subregion:"Polynesia",states:[{code:"01",name:"'Eua",subdivision:null},{code:"02",name:"Ha'apai",subdivision:null},{code:"03",name:"Niuas",subdivision:null},{code:"04",name:"Tongatapu",subdivision:null},{code:"05",name:"Vava'u",subdivision:null}]},{code2:"TT",code3:"TTO",name:"Trinidad and Tobago",capital:"Port of Spain",region:"Americas",subregion:"Caribbean",states:[{code:"ARI",name:"Arima",subdivision:null},{code:"CHA",name:"Chaguanas",subdivision:null},{code:"CTT",name:"Couva-Tabaquite-Talparo",subdivision:null},{code:"DMN",name:"Diego Martin",subdivision:null},{code:"ETO",name:"Eastern Tobago",subdivision:null},{code:"PED",name:"Penal-Debe",subdivision:null},{code:"PTF",name:"Point Fortin",subdivision:null},{code:"POS",name:"Port of Spain",subdivision:null},{code:"PRT",name:"Princes Town",subdivision:null},{code:"RCM",name:"Rio Claro-Mayaro",subdivision:null},{code:"SFO",name:"San Fernando",subdivision:null},{code:"SJL",name:"San Juan-Laventille",subdivision:null},{code:"SGE",name:"Sangre Grande",subdivision:null},{code:"SIP",name:"Siparia",subdivision:null},{code:"TUP",name:"Tunapuna-Piarco",subdivision:null},{code:"WTO",name:"Western Tobago",subdivision:null}]},{code2:"TN",code3:"TUN",name:"Tunisia",capital:"Tunis",region:"Africa",subregion:"Northern Africa",states:[{code:"12",name:"Ariana",subdivision:null},{code:"13",name:"Ben Arous",subdivision:null},{code:"23",name:"Bizerte",subdivision:null},{code:"31",name:"Béja",subdivision:null},{code:"81",name:"Gabès",subdivision:null},{code:"71",name:"Gafsa",subdivision:null},{code:"32",name:"Jendouba",subdivision:null},{code:"41",name:"Kairouan",subdivision:null},{code:"42",name:"Kasserine",subdivision:null},{code:"73",name:"Kebili",subdivision:null},{code:"14",name:"La Manouba",subdivision:null},{code:"33",name:"Le Kef",subdivision:null},{code:"53",name:"Mahdia",subdivision:null},{code:"82",name:"Medenine",subdivision:null},{code:"52",name:"Monastir",subdivision:null},{code:"21",name:"Nabeul",subdivision:null},{code:"61",name:"Sfax",subdivision:null},{code:"43",name:"Sidi Bouzid",subdivision:null},{code:"34",name:"Siliana",subdivision:null},{code:"51",name:"Sousse",subdivision:null},{code:"83",name:"Tataouine",subdivision:null},{code:"72",name:"Tozeur",subdivision:null},{code:"11",name:"Tunis",subdivision:null},{code:"22",name:"Zaghouan",subdivision:null}]},{code2:"TR",code3:"TUR",name:"Turkey",capital:"Ankara",region:"Asia",subregion:"Western Asia",states:[{code:"01",name:"Adana",subdivision:null},{code:"02",name:"Adıyaman",subdivision:null},{code:"03",name:"Afyonkarahisar",subdivision:null},{code:"68",name:"Aksaray",subdivision:null},{code:"05",name:"Amasya",subdivision:null},{code:"06",name:"Ankara",subdivision:null},{code:"07",name:"Antalya",subdivision:null},{code:"75",name:"Ardahan",subdivision:null},{code:"08",name:"Artvin",subdivision:null},{code:"09",name:"Aydın",subdivision:null},{code:"04",name:"Ağrı",subdivision:null},{code:"10",name:"Balıkesir",subdivision:null},{code:"74",name:"Bartın",subdivision:null},{code:"72",name:"Batman",subdivision:null},{code:"69",name:"Bayburt",subdivision:null},{code:"11",name:"Bilecik",subdivision:null},{code:"12",name:"Bingöl",subdivision:null},{code:"13",name:"Bitlis",subdivision:null},{code:"14",name:"Bolu",subdivision:null},{code:"15",name:"Burdur",subdivision:null},{code:"16",name:"Bursa",subdivision:null},{code:"20",name:"Denizli",subdivision:null},{code:"21",name:"Diyarbakır",subdivision:null},{code:"81",name:"Düzce",subdivision:null},{code:"22",name:"Edirne",subdivision:null},{code:"23",name:"Elazığ",subdivision:null},{code:"24",name:"Erzincan",subdivision:null},{code:"25",name:"Erzurum",subdivision:null},{code:"26",name:"Eskişehir",subdivision:null},{code:"27",name:"Gaziantep",subdivision:null},{code:"28",name:"Giresun",subdivision:null},{code:"29",name:"Gümüşhane",subdivision:null},{code:"30",name:"Hakkâri",subdivision:null},{code:"31",name:"Hatay",subdivision:null},{code:"32",name:"Isparta",subdivision:null},{code:"76",name:"Iğdır",subdivision:null},{code:"46",name:"Kahramanmaraş",subdivision:null},{code:"78",name:"Karabük",subdivision:null},{code:"70",name:"Karaman",subdivision:null},{code:"36",name:"Kars",subdivision:null},{code:"37",name:"Kastamonu",subdivision:null},{code:"38",name:"Kayseri",subdivision:null},{code:"79",name:"Kilis",subdivision:null},{code:"41",name:"Kocaeli",subdivision:null},{code:"42",name:"Konya",subdivision:null},{code:"43",name:"Kütahya",subdivision:null},{code:"39",name:"Kırklareli",subdivision:null},{code:"71",name:"Kırıkkale",subdivision:null},{code:"40",name:"Kırşehir",subdivision:null},{code:"44",name:"Malatya",subdivision:null},{code:"45",name:"Manisa",subdivision:null},{code:"47",name:"Mardin",subdivision:null},{code:"33",name:"Mersin",subdivision:null},{code:"48",name:"Muğla",subdivision:null},{code:"49",name:"Muş",subdivision:null},{code:"50",name:"Nevşehir",subdivision:null},{code:"51",name:"Niğde",subdivision:null},{code:"52",name:"Ordu",subdivision:null},{code:"80",name:"Osmaniye",subdivision:null},{code:"53",name:"Rize",subdivision:null},{code:"54",name:"Sakarya",subdivision:null},{code:"55",name:"Samsun",subdivision:null},{code:"56",name:"Siirt",subdivision:null},{code:"57",name:"Sinop",subdivision:null},{code:"58",name:"Sivas",subdivision:null},{code:"59",name:"Tekirdağ",subdivision:null},{code:"60",name:"Tokat",subdivision:null},{code:"61",name:"Trabzon",subdivision:null},{code:"62",name:"Tunceli",subdivision:null},{code:"64",name:"Uşak",subdivision:null},{code:"65",name:"Van",subdivision:null},{code:"77",name:"Yalova",subdivision:null},{code:"66",name:"Yozgat",subdivision:null},{code:"67",name:"Zonguldak",subdivision:null},{code:"17",name:"Çanakkale",subdivision:null},{code:"18",name:"Çankırı",subdivision:null},{code:"19",name:"Çorum",subdivision:null},{code:"34",name:"İstanbul",subdivision:null},{code:"35",name:"İzmir",subdivision:null},{code:"63",name:"Şanlıurfa",subdivision:null},{code:"73",name:"Şırnak",subdivision:null}]},{code2:"TM",code3:"TKM",name:"Turkmenistan",capital:"Ashgabat",region:"Asia",subregion:"Central Asia",states:[{code:"A",name:"Ahal",subdivision:null},{code:"S",name:"Aşgabat",subdivision:null},{code:"B",name:"Balkan",subdivision:null},{code:"D",name:"Daşoguz",subdivision:null},{code:"L",name:"Lebap",subdivision:null},{code:"M",name:"Mary",subdivision:null}]},{code2:"TC",code3:"TCA",name:"Turks and Caicos Islands",capital:"Cockburn Town",region:"Americas",subregion:"Caribbean",states:[]},{code2:"TV",code3:"TUV",name:"Tuvalu",capital:"Funafuti",region:"Oceania",subregion:"Polynesia",states:[{code:"FUN",name:"Funafuti",subdivision:null},{code:"NMG",name:"Nanumanga",subdivision:null},{code:"NMA",name:"Nanumea",subdivision:null},{code:"NIT",name:"Niutao",subdivision:null},{code:"NUI",name:"Nui",subdivision:null},{code:"NKF",name:"Nukufetau",subdivision:null},{code:"NKL",name:"Nukulaelae",subdivision:null},{code:"VAI",name:"Vaitupu",subdivision:null}]},{code2:"UG",code3:"UGA",name:"Uganda",capital:"Kampala",region:"Africa",subregion:"Eastern Africa",states:[{code:"C",name:"Central",subdivision:null},{code:"E",name:"Eastern",subdivision:null},{code:"N",name:"Northern",subdivision:null},{code:"W",name:"Western",subdivision:null}]},{code2:"UA",code3:"UKR",name:"Ukraine",capital:"Kiev",region:"Europe",subregion:"Eastern Europe",states:[{code:"43",name:"Avtonomna Respublika Krym",subdivision:null},{code:"71",name:"Cherkas'ka Oblast'",subdivision:null},{code:"74",name:"Chernihivs'ka Oblast'",subdivision:null},{code:"77",name:"Chernivets'ka Oblast'",subdivision:null},{code:"12",name:"Dnipropetrovs'ka Oblast'",subdivision:null},{code:"14",name:"Donets'ka Oblast'",subdivision:null},{code:"26",name:"Ivano-Frankivs'ka Oblast'",subdivision:null},{code:"63",name:"Kharkivs'ka Oblast'",subdivision:null},{code:"65",name:"Khersons'ka Oblast'",subdivision:null},{code:"68",name:"Khmel'nyts'ka Oblast'",subdivision:null},{code:"35",name:"Kirovohrads'ka Oblast'",subdivision:null},{code:"30",name:"Kyïv",subdivision:null},{code:"32",name:"Kyïvs'ka Oblast'",subdivision:null},{code:"46",name:"L'vivs'ka Oblast'",subdivision:null},{code:"09",name:"Luhans'ka Oblast'",subdivision:null},{code:"48",name:"Mykolaïvs'ka Oblast'",subdivision:null},{code:"51",name:"Odes'ka Oblast'",subdivision:null},{code:"53",name:"Poltavs'ka Oblast'",subdivision:null},{code:"56",name:"Rivnens'ka Oblast'",subdivision:null},{code:"40",name:"Sevastopol'",subdivision:null},{code:"59",name:"Sums'ka Oblast'",subdivision:null},{code:"61",name:"Ternopil's'ka Oblast'",subdivision:null},{code:"05",name:"Vinnyts'ka Oblast'",subdivision:null},{code:"07",name:"Volyns'ka Oblast'",subdivision:null},{code:"21",name:"Zakarpats'ka Oblast'",subdivision:null},{code:"23",name:"Zaporiz'ka Oblast'",subdivision:null},{code:"18",name:"Zhytomyrs'ka Oblast'",subdivision:null}]},{code2:"AE",code3:"ARE",name:"United Arab Emirates",capital:"Abu Dhabi",region:"Asia",subregion:"Western Asia",states:[{code:"AJ",name:"'Ajmān",subdivision:null},{code:"AZ",name:"Abū Z̧aby",subdivision:null},{code:"FU",name:"Al Fujayrah",subdivision:null},{code:"SH",name:"Ash Shāriqah",subdivision:null},{code:"DU",name:"Dubayy",subdivision:null},{code:"RK",name:"Ra's al Khaymah",subdivision:null},{code:"UQ",name:"Umm al Qaywayn",subdivision:null}]},{code2:"GB",code3:"GBR",name:"United Kingdom",capital:"London",region:"Europe",subregion:"Northern Europe",states:[{code:"BDG",name:"Barking and Dagenham",subdivision:"London borough"},{code:"BNE",name:"Barnet",subdivision:"London borough"},{code:"BEX",name:"Bexley",subdivision:"London borough"},{code:"BEN",name:"Brent",subdivision:"London borough"},{code:"BRY",name:"Bromley",subdivision:"London borough"},{code:"CMD",name:"Camden",subdivision:"London borough"},{code:"CRY",name:"Croydon",subdivision:"London borough"},{code:"EAL",name:"Ealing",subdivision:"London borough"},{code:"ENF",name:"Enfield",subdivision:"London borough"},{code:"GRE",name:"Greenwich",subdivision:"London borough"},{code:"HCK",name:"Hackney",subdivision:"London borough"},{code:"HMF",name:"Hammersmith and Fulham",subdivision:"London borough"},{code:"HRY",name:"Haringey",subdivision:"London borough"},{code:"HRW",name:"Harrow",subdivision:"London borough"},{code:"HAV",name:"Havering",subdivision:"London borough"},{code:"HIL",name:"Hillingdon",subdivision:"London borough"},{code:"HNS",name:"Hounslow",subdivision:"London borough"},{code:"ISL",name:"Islington",subdivision:"London borough"},{code:"KEC",name:"Kensington and Chelsea",subdivision:"London borough"},{code:"KTT",name:"Kingston upon Thames",subdivision:"London borough"},{code:"LBH",name:"Lambeth",subdivision:"London borough"},{code:"LEW",name:"Lewisham",subdivision:"London borough"},{code:"MRT",name:"Merton",subdivision:"London borough"},{code:"NWM",name:"Newham",subdivision:"London borough"},{code:"RDB",name:"Redbridge",subdivision:"London borough"},{code:"RIC",name:"Richmond upon Thames",subdivision:"London borough"},{code:"SWK",name:"Southwark",subdivision:"London borough"},{code:"STN",name:"Sutton",subdivision:"London borough"},{code:"TWH",name:"Tower Hamlets",subdivision:"London borough"},{code:"WFT",name:"Waltham Forest",subdivision:"London borough"},{code:"WND",name:"Wandsworth",subdivision:"London borough"},{code:"WSM",name:"Westminster",subdivision:"London borough"},{code:"EAW",name:"England and Wales",subdivision:"Nation"},{code:"GBN",name:"Great Britain",subdivision:"Nation"},{code:"UKM",name:"United Kingdom",subdivision:"Nation"},{code:"LND",name:"London, City of",subdivision:"city corporation"},{code:"ABE",name:"Aberdeen City",subdivision:"council area"},{code:"ABD",name:"Aberdeenshire",subdivision:"council area"},{code:"ANS",name:"Angus",subdivision:"council area"},{code:"AGB",name:"Argyll and Bute",subdivision:"council area"},{code:"CLK",name:"Clackmannanshire",subdivision:"council area"},{code:"DGY",name:"Dumfries and Galloway",subdivision:"council area"},{code:"DND",name:"Dundee City",subdivision:"council area"},{code:"EAY",name:"East Ayrshire",subdivision:"council area"},{code:"EDU",name:"East Dunbartonshire",subdivision:"council area"},{code:"ELN",name:"East Lothian",subdivision:"council area"},{code:"ERW",name:"East Renfrewshire",subdivision:"council area"},{code:"EDH",name:"Edinburgh, City of",subdivision:"council area"},{code:"ELS",name:"Eilean Siar",subdivision:"council area"},{code:"FAL",name:"Falkirk",subdivision:"council area"},{code:"FIF",name:"Fife",subdivision:"council area"},{code:"GLG",name:"Glasgow City",subdivision:"council area"},{code:"HLD",name:"Highland",subdivision:"council area"},{code:"IVC",name:"Inverclyde",subdivision:"council area"},{code:"MLN",name:"Midlothian",subdivision:"council area"},{code:"MRY",name:"Moray",subdivision:"council area"},{code:"NAY",name:"North Ayrshire",subdivision:"council area"},{code:"NLK",name:"North Lanarkshire",subdivision:"council area"},{code:"ORK",name:"Orkney Islands",subdivision:"council area"},{code:"PKN",name:"Perth and Kinross",subdivision:"council area"},{code:"RFW",name:"Renfrewshire",subdivision:"council area"},{code:"SCB",name:"Scottish Borders, The",subdivision:"council area"},{code:"ZET",name:"Shetland Islands",subdivision:"council area"},{code:"SAY",name:"South Ayrshire",subdivision:"council area"},{code:"SLK",name:"South Lanarkshire",subdivision:"council area"},{code:"STG",name:"Stirling",subdivision:"council area"},{code:"WDU",name:"West Dunbartonshire",subdivision:"council area"},{code:"WLN",name:"West Lothian",subdivision:"council area"},{code:"ENG",name:"England",subdivision:"country"},{code:"SCT",name:"Scotland",subdivision:"country"},{code:"WLS",name:"Wales",subdivision:"country"},{code:"ANT",name:"Antrim",subdivision:"district council area"},{code:"ARD",name:"Ards",subdivision:"district council area"},{code:"ARM",name:"Armagh",subdivision:"district council area"},{code:"BLA",name:"Ballymena",subdivision:"district council area"},{code:"BLY",name:"Ballymoney",subdivision:"district council area"},{code:"BNB",name:"Banbridge",subdivision:"district council area"},{code:"BFS",name:"Belfast",subdivision:"district council area"},{code:"CKF",name:"Carrickfergus",subdivision:"district council area"},{code:"CSR",name:"Castlereagh",subdivision:"district council area"},{code:"CLR",name:"Coleraine",subdivision:"district council area"},{code:"CKT",name:"Cookstown",subdivision:"district council area"},{code:"CGV",name:"Craigavon",subdivision:"district council area"},{code:"DRY",name:"Derry",subdivision:"district council area"},{code:"DOW",name:"Down",subdivision:"district council area"},{code:"DGN",name:"Dungannon and South Tyrone",subdivision:"district council area"},{code:"FER",name:"Fermanagh",subdivision:"district council area"},{code:"LRN",name:"Larne",subdivision:"district council area"},{code:"LMV",name:"Limavady",subdivision:"district council area"},{code:"LSB",name:"Lisburn",subdivision:"district council area"},{code:"MFT",name:"Magherafelt",subdivision:"district council area"},{code:"MYL",name:"Moyle",subdivision:"district council area"},{code:"NYM",name:"Newry and Mourne District",subdivision:"district council area"},{code:"NTA",name:"Newtownabbey",subdivision:"district council area"},{code:"NDN",name:"North Down",subdivision:"district council area"},{code:"OMH",name:"Omagh",subdivision:"district council area"},{code:"STB",name:"Strabane",subdivision:"district council area"},{code:"BNS",name:"Barnsley",subdivision:"metropolitan district"},{code:"BIR",name:"Birmingham",subdivision:"metropolitan district"},{code:"BOL",name:"Bolton",subdivision:"metropolitan district"},{code:"BRD",name:"Bradford",subdivision:"metropolitan district"},{code:"BUR",name:"Bury",subdivision:"metropolitan district"},{code:"CLD",name:"Calderdale",subdivision:"metropolitan district"},{code:"COV",name:"Coventry",subdivision:"metropolitan district"},{code:"DNC",name:"Doncaster",subdivision:"metropolitan district"},{code:"DUD",name:"Dudley",subdivision:"metropolitan district"},{code:"GAT",name:"Gateshead",subdivision:"metropolitan district"},{code:"KIR",name:"Kirklees",subdivision:"metropolitan district"},{code:"KWL",name:"Knowsley",subdivision:"metropolitan district"},{code:"LDS",name:"Leeds",subdivision:"metropolitan district"},{code:"LIV",name:"Liverpool",subdivision:"metropolitan district"},{code:"MAN",name:"Manchester",subdivision:"metropolitan district"},{code:"NET",name:"Newcastle upon Tyne",subdivision:"metropolitan district"},{code:"NTY",name:"North Tyneside",subdivision:"metropolitan district"},{code:"OLD",name:"Oldham",subdivision:"metropolitan district"},{code:"RCH",name:"Rochdale",subdivision:"metropolitan district"},{code:"ROT",name:"Rotherham",subdivision:"metropolitan district"},{code:"SLF",name:"Salford",subdivision:"metropolitan district"},{code:"SAW",name:"Sandwell",subdivision:"metropolitan district"},{code:"SFT",name:"Sefton",subdivision:"metropolitan district"},{code:"SHF",name:"Sheffield",subdivision:"metropolitan district"},{code:"SOL",name:"Solihull",subdivision:"metropolitan district"},{code:"STY",name:"South Tyneside",subdivision:"metropolitan district"},{code:"SHN",name:"St. Helens",subdivision:"metropolitan district"},{code:"SKP",name:"Stockport",subdivision:"metropolitan district"},{code:"SND",name:"Sunderland",subdivision:"metropolitan district"},{code:"TAM",name:"Tameside",subdivision:"metropolitan district"},{code:"TRF",name:"Trafford",subdivision:"metropolitan district"},{code:"WKF",name:"Wakefield",subdivision:"metropolitan district"},{code:"WLL",name:"Walsall",subdivision:"metropolitan district"},{code:"WGN",name:"Wigan",subdivision:"metropolitan district"},{code:"WRL",name:"Wirral",subdivision:"metropolitan district"},{code:"WLV",name:"Wolverhampton",subdivision:"metropolitan district"},{code:"NIR",name:"Northern Ireland",subdivision:"province"},{code:"BKM",name:"Buckinghamshire",subdivision:"two-tier county"},{code:"CAM",name:"Cambridgeshire",subdivision:"two-tier county"},{code:"CMA",name:"Cumbria",subdivision:"two-tier county"},{code:"DBY",name:"Derbyshire",subdivision:"two-tier county"},{code:"DEV",name:"Devon",subdivision:"two-tier county"},{code:"DOR",name:"Dorset",subdivision:"two-tier county"},{code:"ESX",name:"East Sussex",subdivision:"two-tier county"},{code:"ESS",name:"Essex",subdivision:"two-tier county"},{code:"GLS",name:"Gloucestershire",subdivision:"two-tier county"},{code:"HAM",name:"Hampshire",subdivision:"two-tier county"},{code:"HRT",name:"Hertfordshire",subdivision:"two-tier county"},{code:"KEN",name:"Kent",subdivision:"two-tier county"},{code:"LAN",name:"Lancashire",subdivision:"two-tier county"},{code:"LEC",name:"Leicestershire",subdivision:"two-tier county"},{code:"LIN",name:"Lincolnshire",subdivision:"two-tier county"},{code:"NFK",name:"Norfolk",subdivision:"two-tier county"},{code:"NYK",name:"North Yorkshire",subdivision:"two-tier county"},{code:"NTH",name:"Northamptonshire",subdivision:"two-tier county"},{code:"NTT",name:"Nottinghamshire",subdivision:"two-tier county"},{code:"OXF",name:"Oxfordshire",subdivision:"two-tier county"},{code:"SOM",name:"Somerset",subdivision:"two-tier county"},{code:"STS",name:"Staffordshire",subdivision:"two-tier county"},{code:"SFK",name:"Suffolk",subdivision:"two-tier county"},{code:"SRY",name:"Surrey",subdivision:"two-tier county"},{code:"WAR",name:"Warwickshire",subdivision:"two-tier county"},{code:"WSX",name:"West Sussex",subdivision:"two-tier county"},{code:"WOR",name:"Worcestershire",subdivision:"two-tier county"},{code:"BAS",name:"Bath and North East Somerset",subdivision:"unitary authority"},{code:"BDF",name:"Bedford",subdivision:"unitary authority"},{code:"BBD",name:"Blackburn with Darwen",subdivision:"unitary authority"},{code:"BPL",name:"Blackpool",subdivision:"unitary authority"},{code:"BGW",name:"Blaenau Gwent",subdivision:"unitary authority"},{code:"BMH",name:"Bournemouth",subdivision:"unitary authority"},{code:"BRC",name:"Bracknell Forest",subdivision:"unitary authority"},{code:"BGE",name:"Bridgend",subdivision:"unitary authority"},{code:"BNH",name:"Brighton and Hove",subdivision:"unitary authority"},{code:"BST",name:"Bristol, City of",subdivision:"unitary authority"},{code:"CAY",name:"Caerphilly",subdivision:"unitary authority"},{code:"CRF",name:"Cardiff",subdivision:"unitary authority"},{code:"CMN",name:"Carmarthenshire",subdivision:"unitary authority"},{code:"CBF",name:"Central Bedfordshire",subdivision:"unitary authority"},{code:"CGN",name:"Ceredigion",subdivision:"unitary authority"},{code:"CHE",name:"Cheshire East",subdivision:"unitary authority"},{code:"CHW",name:"Cheshire West and Chester",subdivision:"unitary authority"},{code:"CWY",name:"Conwy",subdivision:"unitary authority"},{code:"CON",name:"Cornwall",subdivision:"unitary authority"},{code:"DAL",name:"Darlington",subdivision:"unitary authority"},{code:"DEN",name:"Denbighshire",subdivision:"unitary authority"},{code:"DER",name:"Derby",subdivision:"unitary authority"},{code:"DUR",name:"Durham, County",subdivision:"unitary authority"},{code:"ERY",name:"East Riding of Yorkshire",subdivision:"unitary authority"},{code:"FLN",name:"Flintshire",subdivision:"unitary authority"},{code:"GWN",name:"Gwynedd",subdivision:"unitary authority"},{code:"HAL",name:"Halton",subdivision:"unitary authority"},{code:"HPL",name:"Hartlepool",subdivision:"unitary authority"},{code:"HEF",name:"Herefordshire",subdivision:"unitary authority"},{code:"AGY",name:"Isle of Anglesey",subdivision:"unitary authority"},{code:"IOW",name:"Isle of Wight",subdivision:"unitary authority"},{code:"IOS",name:"Isles of Scilly",subdivision:"unitary authority"},{code:"KHL",name:"Kingston upon Hull",subdivision:"unitary authority"},{code:"LCE",name:"Leicester",subdivision:"unitary authority"},{code:"LUT",name:"Luton",subdivision:"unitary authority"},{code:"MDW",name:"Medway",subdivision:"unitary authority"},{code:"MTY",name:"Merthyr Tydfil",subdivision:"unitary authority"},{code:"MDB",name:"Middlesbrough",subdivision:"unitary authority"},{code:"MIK",name:"Milton Keynes",subdivision:"unitary authority"},{code:"MON",name:"Monmouthshire",subdivision:"unitary authority"},{code:"NTL",name:"Neath Port Talbot",subdivision:"unitary authority"},{code:"NWP",name:"Newport",subdivision:"unitary authority"},{code:"NEL",name:"North East Lincolnshire",subdivision:"unitary authority"},{code:"NLN",name:"North Lincolnshire",subdivision:"unitary authority"},{code:"NSM",name:"North Somerset",subdivision:"unitary authority"},{code:"NBL",name:"Northumberland",subdivision:"unitary authority"},{code:"NGM",name:"Nottingham",subdivision:"unitary authority"},{code:"PEM",name:"Pembrokeshire",subdivision:"unitary authority"},{code:"PTE",name:"Peterborough",subdivision:"unitary authority"},{code:"PLY",name:"Plymouth",subdivision:"unitary authority"},{code:"POL",name:"Poole",subdivision:"unitary authority"},{code:"POR",name:"Portsmouth",subdivision:"unitary authority"},{code:"POW",name:"Powys",subdivision:"unitary authority"},{code:"RDG",name:"Reading",subdivision:"unitary authority"},{code:"RCC",name:"Redcar and Cleveland",subdivision:"unitary authority"},{code:"RCT",name:"Rhondda, Cynon, Taff",subdivision:"unitary authority"},{code:"RUT",name:"Rutland",subdivision:"unitary authority"},{code:"SHR",name:"Shropshire",subdivision:"unitary authority"},{code:"SLG",name:"Slough",subdivision:"unitary authority"},{code:"SGC",name:"South Gloucestershire",subdivision:"unitary authority"},{code:"STH",name:"Southampton",subdivision:"unitary authority"},{code:"SOS",name:"Southend-on-Sea",subdivision:"unitary authority"},{code:"STT",name:"Stockton-on-Tees",subdivision:"unitary authority"},{code:"STE",name:"Stoke-on-Trent",subdivision:"unitary authority"},{code:"SWA",name:"Swansea",subdivision:"unitary authority"},{code:"SWD",name:"Swindon",subdivision:"unitary authority"},{code:"TFW",name:"Telford and Wrekin",subdivision:"unitary authority"},{code:"THR",name:"Thurrock",subdivision:"unitary authority"},{code:"TOB",name:"Torbay",subdivision:"unitary authority"},{code:"TOF",name:"Torfaen",subdivision:"unitary authority"},{code:"VGL",name:"Vale of Glamorgan, The",subdivision:"unitary authority"},{code:"WRT",name:"Warrington",subdivision:"unitary authority"},{code:"WBK",name:"West Berkshire",subdivision:"unitary authority"},{code:"WIL",name:"Wiltshire",subdivision:"unitary authority"},{code:"WNM",name:"Windsor and Maidenhead",subdivision:"unitary authority"},{code:"WOK",name:"Wokingham",subdivision:"unitary authority"},{code:"WRX",name:"Wrexham",subdivision:"unitary authority"},{code:"YOR",name:"York",subdivision:"unitary authority"}]},{code2:"US",code3:"USA",name:"United States",capital:"Washington, D.C.",region:"Americas",subregion:"Northern America",states:[{code:"DC",name:"District of Columbia",subdivision:"district"},{code:"AS",name:"American Samoa",subdivision:"outlying territory"},{code:"GU",name:"Guam",subdivision:"outlying territory"},{code:"MP",name:"Northern Mariana Islands",subdivision:"outlying territory"},{code:"PR",name:"Puerto Rico",subdivision:"outlying territory"},{code:"UM",name:"United States Minor Outlying Islands",subdivision:"outlying territory"},{code:"VI",name:"Virgin Islands, U.S.",subdivision:"outlying territory"},{code:"AL",name:"Alabama",subdivision:"state"},{code:"AK",name:"Alaska",subdivision:"state"},{code:"AZ",name:"Arizona",subdivision:"state"},{code:"AR",name:"Arkansas",subdivision:"state"},{code:"CA",name:"California",subdivision:"state"},{code:"CO",name:"Colorado",subdivision:"state"},{code:"CT",name:"Connecticut",subdivision:"state"},{code:"DE",name:"Delaware",subdivision:"state"},{code:"FL",name:"Florida",subdivision:"state"},{code:"GA",name:"Georgia",subdivision:"state"},{code:"HI",name:"Hawaii",subdivision:"state"},{code:"ID",name:"Idaho",subdivision:"state"},{code:"IL",name:"Illinois",subdivision:"state"},{code:"IN",name:"Indiana",subdivision:"state"},{code:"IA",name:"Iowa",subdivision:"state"},{code:"KS",name:"Kansas",subdivision:"state"},{code:"KY",name:"Kentucky",subdivision:"state"},{code:"LA",name:"Louisiana",subdivision:"state"},{code:"ME",name:"Maine",subdivision:"state"},{code:"MD",name:"Maryland",subdivision:"state"},{code:"MA",name:"Massachusetts",subdivision:"state"},{code:"MI",name:"Michigan",subdivision:"state"},{code:"MN",name:"Minnesota",subdivision:"state"},{code:"MS",name:"Mississippi",subdivision:"state"},{code:"MO",name:"Missouri",subdivision:"state"},{code:"MT",name:"Montana",subdivision:"state"},{code:"NE",name:"Nebraska",subdivision:"state"},{code:"NV",name:"Nevada",subdivision:"state"},{code:"NH",name:"New Hampshire",subdivision:"state"},{code:"NJ",name:"New Jersey",subdivision:"state"},{code:"NM",name:"New Mexico",subdivision:"state"},{code:"NY",name:"New York",subdivision:"state"},{code:"NC",name:"North Carolina",subdivision:"state"},{code:"ND",name:"North Dakota",subdivision:"state"},{code:"OH",name:"Ohio",subdivision:"state"},{code:"OK",name:"Oklahoma",subdivision:"state"},{code:"OR",name:"Oregon",subdivision:"state"},{code:"PA",name:"Pennsylvania",subdivision:"state"},{code:"RI",name:"Rhode Island",subdivision:"state"},{code:"SC",name:"South Carolina",subdivision:"state"},{code:"SD",name:"South Dakota",subdivision:"state"},{code:"TN",name:"Tennessee",subdivision:"state"},{code:"TX",name:"Texas",subdivision:"state"},{code:"UT",name:"Utah",subdivision:"state"},{code:"VT",name:"Vermont",subdivision:"state"},{code:"VA",name:"Virginia",subdivision:"state"},{code:"WA",name:"Washington",subdivision:"state"},{code:"WV",name:"West Virginia",subdivision:"state"},{code:"WI",name:"Wisconsin",subdivision:"state"},{code:"WY",name:"Wyoming",subdivision:"state"}]},{code2:"UY",code3:"URY",name:"Uruguay",capital:"Montevideo",region:"Americas",subregion:"South America",states:[{code:"AR",name:"Artigas",subdivision:null},{code:"CA",name:"Canelones",subdivision:null},{code:"CL",name:"Cerro Largo",subdivision:null},{code:"CO",name:"Colonia",subdivision:null},{code:"DU",name:"Durazno",subdivision:null},{code:"FS",name:"Flores",subdivision:null},{code:"FD",name:"Florida",subdivision:null},{code:"LA",name:"Lavalleja",subdivision:null},{code:"MA",name:"Maldonado",subdivision:null},{code:"MO",name:"Montevideo",subdivision:null},{code:"PA",name:"Paysandú",subdivision:null},{code:"RV",name:"Rivera",subdivision:null},{code:"RO",name:"Rocha",subdivision:null},{code:"RN",name:"Río Negro",subdivision:null},{code:"SA",name:"Salto",subdivision:null},{code:"SJ",name:"San José",subdivision:null},{code:"SO",name:"Soriano",subdivision:null},{code:"TA",name:"Tacuarembó",subdivision:null},{code:"TT",name:"Treinta y Tres",subdivision:null}]},{code2:"UZ",code3:"UZB",name:"Uzbekistan",capital:"Tashkent",region:"Asia",subregion:"Central Asia",states:[{code:"AN",name:"Andijon",subdivision:null},{code:"BU",name:"Buxoro",subdivision:null},{code:"FA",name:"Farg‘ona",subdivision:null},{code:"JI",name:"Jizzax",subdivision:null},{code:"NG",name:"Namangan",subdivision:null},{code:"NW",name:"Navoiy",subdivision:null},{code:"QA",name:"Qashqadaryo",subdivision:null},{code:"QR",name:"Qoraqalpog‘iston Respublikasi",subdivision:null},{code:"SA",name:"Samarqand",subdivision:null},{code:"SI",name:"Sirdaryo",subdivision:null},{code:"SU",name:"Surxondaryo",subdivision:null},{code:"TO",name:"Toshkent",subdivision:null},{code:"TK",name:"Toshkent",subdivision:null},{code:"XO",name:"Xorazm",subdivision:null}]},{code2:"VU",code3:"VUT",name:"Vanuatu",capital:"Port Vila",region:"Oceania",subregion:"Melanesia",states:[{code:"MAP",name:"Malampa",subdivision:null},{code:"PAM",name:"Pénama",subdivision:null},{code:"SAM",name:"Sanma",subdivision:null},{code:"SEE",name:"Shéfa",subdivision:null},{code:"TAE",name:"Taféa",subdivision:null},{code:"TOB",name:"Torba",subdivision:null}]},{code2:"VE",code3:"VEN",name:"Venezuela",capital:"Caracas",region:"Americas",subregion:"South America",states:[{code:"Z",name:"Amazonas",subdivision:null},{code:"B",name:"Anzoátegui",subdivision:null},{code:"C",name:"Apure",subdivision:null},{code:"D",name:"Aragua",subdivision:null},{code:"E",name:"Barinas",subdivision:null},{code:"F",name:"Bolívar",subdivision:null},{code:"G",name:"Carabobo",subdivision:null},{code:"H",name:"Cojedes",subdivision:null},{code:"Y",name:"Delta Amacuro",subdivision:null},{code:"W",name:"Dependencias Federales",subdivision:null},{code:"A",name:"Distrito Capital",subdivision:null},{code:"I",name:"Falcón",subdivision:null},{code:"J",name:"Guárico",subdivision:null},{code:"K",name:"Lara",subdivision:null},{code:"M",name:"Miranda",subdivision:null},{code:"N",name:"Monagas",subdivision:null},{code:"L",name:"Mérida",subdivision:null},{code:"O",name:"Nueva Esparta",subdivision:null},{code:"P",name:"Portuguesa",subdivision:null},{code:"R",name:"Sucre",subdivision:null},{code:"T",name:"Trujillo",subdivision:null},{code:"S",name:"Táchira",subdivision:null},{code:"X",name:"Vargas",subdivision:null},{code:"U",name:"Yaracuy",subdivision:null},{code:"V",name:"Zulia",subdivision:null}]},{code2:"VN",code3:"VNM",name:"Vietnam",capital:"Hanoi",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"44",name:"An Giang",subdivision:null},{code:"43",name:"Bà Rịa–Vũng Tàu",subdivision:null},{code:"57",name:"Bình Dương",subdivision:null},{code:"58",name:"Bình Phước",subdivision:null},{code:"40",name:"Bình Thuận",subdivision:null},{code:"31",name:"Bình Định",subdivision:null},{code:"55",name:"Bạc Liêu",subdivision:null},{code:"54",name:"Bắc Giang",subdivision:null},{code:"53",name:"Bắc Kạn",subdivision:null},{code:"56",name:"Bắc Ninh",subdivision:null},{code:"50",name:"Bến Tre",subdivision:null},{code:"04",name:"Cao Bằng",subdivision:null},{code:"59",name:"Cà Mau",subdivision:null},{code:"CT",name:"Cần Thơ",subdivision:null},{code:"30",name:"Gia Lai",subdivision:null},{code:"03",name:"Hà Giang",subdivision:null},{code:"63",name:"Hà Nam",subdivision:null},{code:"HN",name:"Hà Nội",subdivision:null},{code:"15",name:"Hà Tây",subdivision:null},{code:"23",name:"Hà Tĩnh",subdivision:null},{code:"14",name:"Hòa Bình",subdivision:null},{code:"66",name:"Hưng Yên",subdivision:null},{code:"61",name:"Hải Dương",subdivision:null},{code:"HP",name:"Hải Phòng",subdivision:null},{code:"73",name:"Hậu Giang",subdivision:null},{code:"SG",name:"Hồ Chí Minh",subdivision:null},{code:"34",name:"Khánh Hòa",subdivision:null},{code:"47",name:"Kiên Giang",subdivision:null},{code:"28",name:"Kon Tum",subdivision:null},{code:"01",name:"Lai Châu",subdivision:null},{code:"41",name:"Long An",subdivision:null},{code:"02",name:"Lào Cai",subdivision:null},{code:"35",name:"Lâm Đồng",subdivision:null},{code:"09",name:"Lạng Sơn",subdivision:null},{code:"67",name:"Nam Định",subdivision:null},{code:"22",name:"Nghệ An",subdivision:null},{code:"18",name:"Ninh Bình",subdivision:null},{code:"36",name:"Ninh Thuận",subdivision:null},{code:"68",name:"Phú Thọ",subdivision:null},{code:"32",name:"Phú Yên",subdivision:null},{code:"24",name:"Quảng Bình",subdivision:null},{code:"27",name:"Quảng Nam",subdivision:null},{code:"29",name:"Quảng Ngãi",subdivision:null},{code:"13",name:"Quảng Ninh",subdivision:null},{code:"25",name:"Quảng Trị",subdivision:null},{code:"52",name:"Sóc Trăng",subdivision:null},{code:"05",name:"Sơn La",subdivision:null},{code:"21",name:"Thanh Hóa",subdivision:null},{code:"20",name:"Thái Bình",subdivision:null},{code:"69",name:"Thái Nguyên",subdivision:null},{code:"26",name:"Thừa Thiên–Huế",subdivision:null},{code:"46",name:"Tiền Giang",subdivision:null},{code:"51",name:"Trà Vinh",subdivision:null},{code:"07",name:"Tuyên Quang",subdivision:null},{code:"37",name:"Tây Ninh",subdivision:null},{code:"49",name:"Vĩnh Long",subdivision:null},{code:"70",name:"Vĩnh Phúc",subdivision:null},{code:"06",name:"Yên Bái",subdivision:null},{code:"71",name:"Điện Biên",subdivision:null},{code:"DN",name:"Đà Nẵng",subdivision:null},{code:"33",name:"Đắk Lắk",subdivision:null},{code:"72",name:"Đắk Nông",subdivision:null},{code:"39",name:"Đồng Nai",subdivision:null},{code:"45",name:"Đồng Tháp",subdivision:null}]},{code2:"WF",code3:"WLF",name:"Wallis and Futuna",capital:"Mata-Utu",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"EH",code3:"ESH",name:"Western Sahara",capital:"El Aaiún",region:"Africa",subregion:"Northern Africa",states:[]},{code2:"YE",code3:"YEM",name:"Yemen",capital:"Sana'a",region:"Asia",subregion:"Western Asia",states:[{code:"AD",name:"'Adan",subdivision:null},{code:"AM",name:"'Amrān",subdivision:null},{code:"AB",name:"Abyān",subdivision:null},{code:"BA",name:"Al Bayḑā'",subdivision:null},{code:"JA",name:"Al Jawf",subdivision:null},{code:"MR",name:"Al Mahrah",subdivision:null},{code:"MW",name:"Al Maḩwīt",subdivision:null},{code:"HU",name:"Al Ḩudaydah",subdivision:null},{code:"DA",name:"Aḑ Ḑāli'",subdivision:null},{code:"DH",name:"Dhamār",subdivision:null},{code:"IB",name:"Ibb",subdivision:null},{code:"LA",name:"Laḩij",subdivision:null},{code:"MA",name:"Ma'rib",subdivision:null},{code:"RA",name:"Raymah",subdivision:null},{code:"SH",name:"Shabwah",subdivision:null},{code:"TA",name:"Tā‘izz",subdivision:null},{code:"SA",name:"Şan‘ā'",subdivision:null},{code:"SN",name:"Şan‘ā'",subdivision:null},{code:"SD",name:"Şā‘dah",subdivision:null},{code:"HJ",name:"Ḩajjah",subdivision:null},{code:"HD",name:"Ḩaḑramawt",subdivision:null}]},{code2:"ZM",code3:"ZMB",name:"Zambia",capital:"Lusaka",region:"Africa",subregion:"Eastern Africa",states:[{code:"02",name:"Central",subdivision:null},{code:"08",name:"Copperbelt",subdivision:null},{code:"03",name:"Eastern",subdivision:null},{code:"04",name:"Luapula",subdivision:null},{code:"09",name:"Lusaka",subdivision:null},{code:"06",name:"North-Western",subdivision:null},{code:"05",name:"Northern",subdivision:null},{code:"07",name:"Southern",subdivision:null},{code:"01",name:"Western",subdivision:null}]},{code2:"ZW",code3:"ZWE",name:"Zimbabwe",capital:"Harare",region:"Africa",subregion:"Eastern Africa",states:[{code:"BU",name:"Bulawayo",subdivision:null},{code:"HA",name:"Harare",subdivision:null},{code:"MA",name:"Manicaland",subdivision:null},{code:"MC",name:"Mashonaland Central",subdivision:null},{code:"ME",name:"Mashonaland East",subdivision:null},{code:"MW",name:"Mashonaland West",subdivision:null},{code:"MV",name:"Masvingo",subdivision:null},{code:"MN",name:"Matabeleland North",subdivision:null},{code:"MS",name:"Matabeleland South",subdivision:null},{code:"MI",name:"Midlands",subdivision:null}]}]};class Ia{constructor(e){h(this,"container");h(this,"onAction");h(this,"contactDetails");h(this,"countries",[]);h(this,"states",[]);h(this,"translatedTexts");this.container=e.container,this.onAction=e.onAction,this.countries=Da.countries.map(t=>({label:t.name,value:t.name,state:t.states.map(i=>(i==null?void 0:i.name)||(i==null?void 0:i.state)||"")})),this.contactDetails={address:"",country:"",city:"",state:"",code:""},this.translatedTexts=e.translatedTexts}attachListeners(){const e=this.container.querySelector("#billing-text"),t=this.container.querySelector("#address-text"),i=this.container.querySelector("#country-text"),o=this.container.querySelector("#state-text"),s=this.container.querySelector("#city-text"),a=this.container.querySelector("#zip-code-text"),l=this.container.querySelector("#avs-form-button-text"),d=this.container.querySelector("#certified-text");e&&(e.innerHTML=this.translatedTexts["billing-address"]),t&&(t.innerHTML=this.translatedTexts.address),i&&(i.innerHTML=this.translatedTexts.country),o&&(o.innerHTML=this.translatedTexts.state),s&&(s.innerHTML=this.translatedTexts.city),a&&(a.innerHTML=this.translatedTexts["zip-code"]),l&&(l.innerHTML=this.translatedTexts.submit),d&&(d.innerHTML=ce.certified);const v=this.container.querySelector("input[name='address']"),m=this.container.querySelector("select[name='country']"),g=this.container.querySelector("input[name='city']"),b=this.container.querySelector("select[name='state']"),f=this.container.querySelector("input[name='code']"),C=document.querySelector("#avs-form-button"),w=document.querySelector("#card-avs-form");v&&v.addEventListener("input",k=>this.handleInputChange(k,C)),g&&g.addEventListener("input",k=>this.handleInputChange(k,C)),b&&b.addEventListener("change",k=>this.handleInputChange(k,C)),m&&m.addEventListener("change",k=>{b?this.handleInputChange(k,C,b):this.handleInputChange(k,C)}),f&&f.addEventListener("input",k=>this.handleInputChange(k,C)),w&&w.addEventListener("submit",k=>{k.preventDefault(),this.onAction(k)({...this.contactDetails,address:this.contactDetails.address,country:this.contactDetails.country,city:this.contactDetails.city,state:this.contactDetails.state,code:this.contactDetails.code})})}handleInputChange(e,t,i){const o=e.target,{name:s,value:a}=o;let l=a;if(s==="address"&&(this.contactDetails.address=a),s==="country"){this.contactDetails.country=a;const d=this.countries.find(v=>v.value===this.contactDetails.country);d&&(this.states=d.state.map(v=>({label:v,value:v})),i&&(i.innerHTML="",this.contactDetails.state="",this.states.forEach(v=>{const m=new Option(v.label,v.value);i.appendChild(m)})))}if(s==="state"&&(this.contactDetails.state=a),s==="city"&&(this.contactDetails.city=a),s==="code"&&(this.contactDetails.code=St(a),l=St(a)),o.value=l,this.validateCard())t&&t.removeAttribute("disabled");else if(t){if(t.disabled)return;t.setAttribute("disabled","")}}validateCard(){return!!this.contactDetails.country&&!!this.contactDetails.address&&!!this.contactDetails.city&&!!this.contactDetails.state}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("select[name='country']"),t=this.container.querySelector("select[name='state']");if(e){const i=new Option("","",!0,!0);e.appendChild(i),this.countries.forEach(s=>{const a=new Option(s.label,s.value,s.value==="");e.appendChild(a)});const o=this.countries.find(s=>s.value===this.contactDetails.country);o&&(this.states=o.state.map(s=>({label:s,value:s})),t&&(t.innerHTML="",this.contactDetails.state="",this.states.forEach(s=>{const a=new Option(s.label,s.value);t.appendChild(a)})))}this.attachListeners()}render(){return Pa}}class Ha{constructor({container:e,threeDSecureDetails:t,onAction:i,onSuccess:o}){h(this,"container");h(this,"threeDSecureDetails");h(this,"onAction");h(this,"onSuccess");this.container=e,this.threeDSecureDetails=t,this.onAction=i,this.onSuccess=o}attachListener(){const e=document.getElementById("threeDSecureForm");e&&e.addEventListener("submit",t=>{const i=window.open("","threeDSPopup","width=500,height=600");if(!i){alert(ce["enable-popup"]),t.preventDefault();return}const o=setInterval(()=>{try{this.onAction(6),i.location.href.includes("load-checkout")&&(clearInterval(o),i.close(),this.onSuccess())}catch{}i.closed&&(clearInterval(o),this.onSuccess())},500)})}renderComponent(){this.container.innerHTML=`
|
|
706
|
+
</div>`,Fa={countries:[{code2:"AF",code3:"AFG",name:"Afghanistan",capital:"Kabul",region:"Asia",subregion:"Southern Asia",states:[{code:"BDS",name:"Badakhshān",subdivision:null},{code:"BGL",name:"Baghlān",subdivision:null},{code:"BAL",name:"Balkh",subdivision:null},{code:"BDG",name:"Bādghīs",subdivision:null},{code:"BAM",name:"Bāmyān",subdivision:null},{code:"DAY",name:"Dāykundī",subdivision:null},{code:"FRA",name:"Farāh",subdivision:null},{code:"FYB",name:"Fāryāb",subdivision:null},{code:"GHA",name:"Ghaznī",subdivision:null},{code:"GHO",name:"Ghōr",subdivision:null},{code:"HEL",name:"Helmand",subdivision:null},{code:"HER",name:"Herāt",subdivision:null},{code:"JOW",name:"Jowzjān",subdivision:null},{code:"KAN",name:"Kandahār",subdivision:null},{code:"KHO",name:"Khōst",subdivision:null},{code:"KNR",name:"Kunar",subdivision:null},{code:"KDZ",name:"Kunduz",subdivision:null},{code:"KAB",name:"Kābul",subdivision:null},{code:"KAP",name:"Kāpīsā",subdivision:null},{code:"LAG",name:"Laghmān",subdivision:null},{code:"LOG",name:"Lōgar",subdivision:null},{code:"NAN",name:"Nangarhār",subdivision:null},{code:"NIM",name:"Nīmrōz",subdivision:null},{code:"NUR",name:"Nūristān",subdivision:null},{code:"PIA",name:"Paktiyā",subdivision:null},{code:"PKA",name:"Paktīkā",subdivision:null},{code:"PAN",name:"Panjshayr",subdivision:null},{code:"PAR",name:"Parwān",subdivision:null},{code:"SAM",name:"Samangān",subdivision:null},{code:"SAR",name:"Sar-e Pul",subdivision:null},{code:"TAK",name:"Takhār",subdivision:null},{code:"URU",name:"Uruzgān",subdivision:null},{code:"WAR",name:"Wardak",subdivision:null},{code:"ZAB",name:"Zābul",subdivision:null}]},{code2:"AX",code3:"ALA",name:"Åland Islands",capital:"Mariehamn",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"AL",code3:"ALB",name:"Albania",capital:"Tirana",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Berat",subdivision:null},{code:"09",name:"Dibër",subdivision:null},{code:"02",name:"Durrës",subdivision:null},{code:"03",name:"Elbasan",subdivision:null},{code:"04",name:"Fier",subdivision:null},{code:"05",name:"Gjirokastër",subdivision:null},{code:"06",name:"Korçë",subdivision:null},{code:"07",name:"Kukës",subdivision:null},{code:"08",name:"Lezhë",subdivision:null},{code:"10",name:"Shkodër",subdivision:null},{code:"11",name:"Tiranë",subdivision:null},{code:"12",name:"Vlorë",subdivision:null}]},{code2:"DZ",code3:"DZA",name:"Algeria",capital:"Algiers",region:"Africa",subregion:"Northern Africa",states:[{code:"01",name:"Adrar",subdivision:null},{code:"16",name:"Alger",subdivision:null},{code:"23",name:"Annaba",subdivision:null},{code:"44",name:"Aïn Defla",subdivision:null},{code:"46",name:"Aïn Témouchent",subdivision:null},{code:"05",name:"Batna",subdivision:null},{code:"07",name:"Biskra",subdivision:null},{code:"09",name:"Blida",subdivision:null},{code:"34",name:"Bordj Bou Arréridj",subdivision:null},{code:"10",name:"Bouira",subdivision:null},{code:"35",name:"Boumerdès",subdivision:null},{code:"08",name:"Béchar",subdivision:null},{code:"06",name:"Béjaïa",subdivision:null},{code:"02",name:"Chlef",subdivision:null},{code:"25",name:"Constantine",subdivision:null},{code:"17",name:"Djelfa",subdivision:null},{code:"32",name:"El Bayadh",subdivision:null},{code:"39",name:"El Oued",subdivision:null},{code:"36",name:"El Tarf",subdivision:null},{code:"47",name:"Ghardaïa",subdivision:null},{code:"24",name:"Guelma",subdivision:null},{code:"33",name:"Illizi",subdivision:null},{code:"18",name:"Jijel",subdivision:null},{code:"40",name:"Khenchela",subdivision:null},{code:"03",name:"Laghouat",subdivision:null},{code:"29",name:"Mascara",subdivision:null},{code:"43",name:"Mila",subdivision:null},{code:"27",name:"Mostaganem",subdivision:null},{code:"28",name:"Msila",subdivision:null},{code:"26",name:"Médéa",subdivision:null},{code:"45",name:"Naama",subdivision:null},{code:"31",name:"Oran",subdivision:null},{code:"30",name:"Ouargla",subdivision:null},{code:"04",name:"Oum el Bouaghi",subdivision:null},{code:"48",name:"Relizane",subdivision:null},{code:"20",name:"Saïda",subdivision:null},{code:"22",name:"Sidi Bel Abbès",subdivision:null},{code:"21",name:"Skikda",subdivision:null},{code:"41",name:"Souk Ahras",subdivision:null},{code:"19",name:"Sétif",subdivision:null},{code:"11",name:"Tamanghasset",subdivision:null},{code:"14",name:"Tiaret",subdivision:null},{code:"37",name:"Tindouf",subdivision:null},{code:"42",name:"Tipaza",subdivision:null},{code:"38",name:"Tissemsilt",subdivision:null},{code:"15",name:"Tizi Ouzou",subdivision:null},{code:"13",name:"Tlemcen",subdivision:null},{code:"12",name:"Tébessa",subdivision:null}]},{code2:"AS",code3:"ASM",name:"American Samoa",capital:"Pago Pago",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"AD",code3:"AND",name:"Andorra",capital:"Andorra la Vella",region:"Europe",subregion:"Southern Europe",states:[{code:"07",name:"Andorra la Vella",subdivision:null},{code:"02",name:"Canillo",subdivision:null},{code:"03",name:"Encamp",subdivision:null},{code:"08",name:"Escaldes-Engordany",subdivision:null},{code:"04",name:"La Massana",subdivision:null},{code:"05",name:"Ordino",subdivision:null},{code:"06",name:"Sant Julià de Lòria",subdivision:null}]},{code2:"AO",code3:"AGO",name:"Angola",capital:"Luanda",region:"Africa",subregion:"Middle Africa",states:[{code:"BGO",name:"Bengo",subdivision:null},{code:"BGU",name:"Benguela",subdivision:null},{code:"BIE",name:"Bié",subdivision:null},{code:"CAB",name:"Cabinda",subdivision:null},{code:"CNN",name:"Cunene",subdivision:null},{code:"HUA",name:"Huambo",subdivision:null},{code:"HUI",name:"Huíla",subdivision:null},{code:"CCU",name:"Kuando Kubango",subdivision:null},{code:"CNO",name:"Kwanza Norte",subdivision:null},{code:"CUS",name:"Kwanza Sul",subdivision:null},{code:"LUA",name:"Luanda",subdivision:null},{code:"LNO",name:"Lunda Norte",subdivision:null},{code:"LSU",name:"Lunda Sul",subdivision:null},{code:"MAL",name:"Malange",subdivision:null},{code:"MOX",name:"Moxico",subdivision:null},{code:"NAM",name:"Namibe",subdivision:null},{code:"UIG",name:"Uíge",subdivision:null},{code:"ZAI",name:"Zaire",subdivision:null}]},{code2:"AI",code3:"AIA",name:"Anguilla",capital:"The Valley",region:"Americas",subregion:"Caribbean",states:[]},{code2:"AQ",code3:"ATA",name:"Antarctica",capital:"",region:"Polar",subregion:"",states:[]},{code2:"AG",code3:"ATG",name:"Antigua and Barbuda",capital:"Saint John's",region:"Americas",subregion:"Caribbean",states:[{code:"10",name:"Barbuda",subdivision:null},{code:"11",name:"Redonda",subdivision:null},{code:"03",name:"Saint George",subdivision:null},{code:"04",name:"Saint John",subdivision:null},{code:"05",name:"Saint Mary",subdivision:null},{code:"06",name:"Saint Paul",subdivision:null},{code:"07",name:"Saint Peter",subdivision:null},{code:"08",name:"Saint Philip",subdivision:null}]},{code2:"AR",code3:"ARG",name:"Argentina",capital:"Buenos Aires",region:"Americas",subregion:"South America",states:[{code:"B",name:"Buenos Aires",subdivision:null},{code:"K",name:"Catamarca",subdivision:null},{code:"H",name:"Chaco",subdivision:null},{code:"U",name:"Chubut",subdivision:null},{code:"C",name:"Ciudad Autónoma de Buenos Aires",subdivision:null},{code:"W",name:"Corrientes",subdivision:null},{code:"X",name:"Córdoba",subdivision:null},{code:"E",name:"Entre Ríos",subdivision:null},{code:"P",name:"Formosa",subdivision:null},{code:"Y",name:"Jujuy",subdivision:null},{code:"L",name:"La Pampa",subdivision:null},{code:"F",name:"La Rioja",subdivision:null},{code:"M",name:"Mendoza",subdivision:null},{code:"N",name:"Misiones",subdivision:null},{code:"Q",name:"Neuquén",subdivision:null},{code:"R",name:"Río Negro",subdivision:null},{code:"A",name:"Salta",subdivision:null},{code:"J",name:"San Juan",subdivision:null},{code:"D",name:"San Luis",subdivision:null},{code:"Z",name:"Santa Cruz",subdivision:null},{code:"S",name:"Santa Fe",subdivision:null},{code:"G",name:"Santiago del Estero",subdivision:null},{code:"V",name:"Tierra del Fuego",subdivision:null},{code:"T",name:"Tucumán",subdivision:null}]},{code2:"AM",code3:"ARM",name:"Armenia",capital:"Yerevan",region:"Asia",subregion:"Western Asia",states:[{code:"AG",name:"Aragac̣otn",subdivision:null},{code:"AR",name:"Ararat",subdivision:null},{code:"AV",name:"Armavir",subdivision:null},{code:"ER",name:"Erevan",subdivision:null},{code:"GR",name:"Geġark'unik'",subdivision:null},{code:"KT",name:"Kotayk'",subdivision:null},{code:"LO",name:"Loṙi",subdivision:null},{code:"SU",name:"Syunik'",subdivision:null},{code:"TV",name:"Tavuš",subdivision:null},{code:"VD",name:"Vayoć Jor",subdivision:null},{code:"SH",name:"Širak",subdivision:null}]},{code2:"AW",code3:"ABW",name:"Aruba",capital:"Oranjestad",region:"Americas",subregion:"Caribbean",states:[]},{code2:"AU",code3:"AUS",name:"Australia",capital:"Canberra",region:"Oceania",subregion:"Australia and New Zealand",states:[{code:"ACT",name:"Australian Capital Territory",subdivision:null},{code:"NSW",name:"New South Wales",subdivision:null},{code:"NT",name:"Northern Territory",subdivision:null},{code:"QLD",name:"Queensland",subdivision:null},{code:"SA",name:"South Australia",subdivision:null},{code:"TAS",name:"Tasmania",subdivision:null},{code:"VIC",name:"Victoria",subdivision:null},{code:"WA",name:"Western Australia",subdivision:null}]},{code2:"AT",code3:"AUT",name:"Austria",capital:"Vienna",region:"Europe",subregion:"Western Europe",states:[{code:"B",name:"Burgenland",subdivision:null},{code:"K",name:"Kärnten",subdivision:null},{code:"NÖ",name:"Niederösterreich",subdivision:null},{code:"OÖ",name:"Oberösterreich",subdivision:null},{code:"S",name:"Salzburg",subdivision:null},{code:"ST",name:"Steiermark",subdivision:null},{code:"T",name:"Tirol",subdivision:null},{code:"V",name:"Vorarlberg",subdivision:null},{code:"W",name:"Wien",subdivision:null}]},{code2:"AZ",code3:"AZE",name:"Azerbaijan",capital:"Baku",region:"Asia",subregion:"Western Asia",states:[{code:"NX",name:"Naxçıvan",subdivision:null}]},{code2:"BS",code3:"BHS",name:"The Bahamas",capital:"Nassau",region:"Americas",subregion:"Caribbean",states:[{code:"AK",name:"Acklins",subdivision:null},{code:"BY",name:"Berry Islands",subdivision:null},{code:"BI",name:"Bimini",subdivision:null},{code:"BP",name:"Black Point",subdivision:null},{code:"CI",name:"Cat Island",subdivision:null},{code:"CO",name:"Central Abaco",subdivision:null},{code:"CS",name:"Central Andros",subdivision:null},{code:"CE",name:"Central Eleuthera",subdivision:null},{code:"FP",name:"City of Freeport",subdivision:null},{code:"CK",name:"Crooked Island and Long Cay",subdivision:null},{code:"EG",name:"East Grand Bahama",subdivision:null},{code:"EX",name:"Exuma",subdivision:null},{code:"GC",name:"Grand Cay",subdivision:null},{code:"HI",name:"Harbour Island",subdivision:null},{code:"HT",name:"Hope Town",subdivision:null},{code:"IN",name:"Inagua",subdivision:null},{code:"LI",name:"Long Island",subdivision:null},{code:"MC",name:"Mangrove Cay",subdivision:null},{code:"MG",name:"Mayaguana",subdivision:null},{code:"MI",name:"Moores Island",subdivision:null},{code:"NO",name:"North Abaco",subdivision:null},{code:"NS",name:"North Andros",subdivision:null},{code:"NE",name:"North Eleuthera",subdivision:null},{code:"RI",name:"Ragged Island",subdivision:null},{code:"RC",name:"Rum Cay",subdivision:null},{code:"SS",name:"San Salvador",subdivision:null},{code:"SO",name:"South Abaco",subdivision:null},{code:"SA",name:"South Andros",subdivision:null},{code:"SE",name:"South Eleuthera",subdivision:null},{code:"SW",name:"Spanish Wells",subdivision:null},{code:"WG",name:"West Grand Bahama",subdivision:null}]},{code2:"BH",code3:"BHR",name:"Bahrain",capital:"Manama",region:"Asia",subregion:"Western Asia",states:[{code:"14",name:"Al Janūbīyah",subdivision:null},{code:"13",name:"Al Manāmah",subdivision:null},{code:"15",name:"Al Muḩarraq",subdivision:null},{code:"16",name:"Al Wusţá",subdivision:null},{code:"17",name:"Ash Shamālīyah",subdivision:null}]},{code2:"BD",code3:"BGD",name:"Bangladesh",capital:"Dhaka",region:"Asia",subregion:"Southern Asia",states:[{code:"A",name:"Barisal",subdivision:null},{code:"B",name:"Chittagong",subdivision:null},{code:"C",name:"Dhaka",subdivision:null},{code:"D",name:"Khulna",subdivision:null},{code:"E",name:"Rajshahi",subdivision:null},{code:"F",name:"Rangpur",subdivision:null},{code:"G",name:"Sylhet",subdivision:null}]},{code2:"BB",code3:"BRB",name:"Barbados",capital:"Bridgetown",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Christ Church",subdivision:null},{code:"02",name:"Saint Andrew",subdivision:null},{code:"03",name:"Saint George",subdivision:null},{code:"04",name:"Saint James",subdivision:null},{code:"05",name:"Saint John",subdivision:null},{code:"06",name:"Saint Joseph",subdivision:null},{code:"07",name:"Saint Lucy",subdivision:null},{code:"08",name:"Saint Michael",subdivision:null},{code:"09",name:"Saint Peter",subdivision:null},{code:"10",name:"Saint Philip",subdivision:null},{code:"11",name:"Saint Thomas",subdivision:null}]},{code2:"BY",code3:"BLR",name:"Belarus",capital:"Minsk",region:"Europe",subregion:"Eastern Europe",states:[{code:"BR",name:"Brestskaya voblasts'",subdivision:null},{code:"HO",name:"Homyel'skaya voblasts'",subdivision:null},{code:"HM",name:"Horad Minsk",subdivision:null},{code:"HR",name:"Hrodzenskaya voblasts'",subdivision:null},{code:"MA",name:"Mahilyowskaya voblasts'",subdivision:null},{code:"MI",name:"Minskaya voblasts'",subdivision:null},{code:"VI",name:"Vitsyebskaya voblasts'",subdivision:null}]},{code2:"BE",code3:"BEL",name:"Belgium",capital:"Brussels",region:"Europe",subregion:"Western Europe",states:[{code:"BRU",name:"Brussels Hoofdstedelijk Gewest",subdivision:null},{code:"WAL",name:"Région Wallonne",subdivision:null},{code:"VLG",name:"Vlaams Gewest",subdivision:null}]},{code2:"BZ",code3:"BLZ",name:"Belize",capital:"Belmopan",region:"Americas",subregion:"Central America",states:[{code:"BZ",name:"Belize",subdivision:null},{code:"CY",name:"Cayo",subdivision:null},{code:"CZL",name:"Corozal",subdivision:null},{code:"OW",name:"Orange Walk",subdivision:null},{code:"SC",name:"Stann Creek",subdivision:null},{code:"TOL",name:"Toledo",subdivision:null}]},{code2:"BJ",code3:"BEN",name:"Benin",capital:"Porto-Novo",region:"Africa",subregion:"Western Africa",states:[{code:"AL",name:"Alibori",subdivision:null},{code:"AK",name:"Atakora",subdivision:null},{code:"AQ",name:"Atlantique",subdivision:null},{code:"BO",name:"Borgou",subdivision:null},{code:"CO",name:"Collines",subdivision:null},{code:"DO",name:"Donga",subdivision:null},{code:"KO",name:"Kouffo",subdivision:null},{code:"LI",name:"Littoral",subdivision:null},{code:"MO",name:"Mono",subdivision:null},{code:"OU",name:"Ouémé",subdivision:null},{code:"PL",name:"Plateau",subdivision:null},{code:"ZO",name:"Zou",subdivision:null}]},{code2:"BM",code3:"BMU",name:"Bermuda",capital:"Hamilton",region:"Americas",subregion:"Northern America",states:[]},{code2:"BT",code3:"BTN",name:"Bhutan",capital:"Thimphu",region:"Asia",subregion:"Southern Asia",states:[{code:"33",name:"Bumthang",subdivision:null},{code:"12",name:"Chhukha",subdivision:null},{code:"22",name:"Dagana",subdivision:null},{code:"GA",name:"Gasa",subdivision:null},{code:"13",name:"Ha",subdivision:null},{code:"44",name:"Lhuentse",subdivision:null},{code:"42",name:"Monggar",subdivision:null},{code:"11",name:"Paro",subdivision:null},{code:"43",name:"Pemagatshel",subdivision:null},{code:"23",name:"Punakha",subdivision:null},{code:"45",name:"Samdrup Jongkha",subdivision:null},{code:"14",name:"Samtse",subdivision:null},{code:"31",name:"Sarpang",subdivision:null},{code:"15",name:"Thimphu",subdivision:null},{code:"TY",name:"Trashi Yangtse",subdivision:null},{code:"41",name:"Trashigang",subdivision:null},{code:"32",name:"Trongsa",subdivision:null},{code:"21",name:"Tsirang",subdivision:null},{code:"24",name:"Wangdue Phodrang",subdivision:null},{code:"34",name:"Zhemgang",subdivision:null}]},{code2:"BO",code3:"BOL",name:"Bolivia",capital:"Sucre",region:"Americas",subregion:"South America",states:[{code:"H",name:"Chuquisaca",subdivision:null},{code:"C",name:"Cochabamba",subdivision:null},{code:"B",name:"El Beni",subdivision:null},{code:"L",name:"La Paz",subdivision:null},{code:"O",name:"Oruro",subdivision:null},{code:"N",name:"Pando",subdivision:null},{code:"P",name:"Potosí",subdivision:null},{code:"S",name:"Santa Cruz",subdivision:null},{code:"T",name:"Tarija",subdivision:null}]},{code2:"BQ",code3:"BES",name:"Bonaire",capital:"Kralendijk",region:"Americas",subregion:"Caribbean",states:[]},{code2:"BA",code3:"BIH",name:"Bosnia and Herzegovina",capital:"Sarajevo",region:"Europe",subregion:"Southern Europe",states:[{code:"BRC",name:"Brčko distrikt",subdivision:null},{code:"BIH",name:"Federacija Bosna i Hercegovina",subdivision:null},{code:"SRP",name:"Republika Srpska",subdivision:null}]},{code2:"BW",code3:"BWA",name:"Botswana",capital:"Gaborone",region:"Africa",subregion:"Southern Africa",states:[{code:"CE",name:"Central",subdivision:null},{code:"CH",name:"Chobe",subdivision:null},{code:"FR",name:"Francistown",subdivision:null},{code:"GA",name:"Gaborone",subdivision:null},{code:"GH",name:"Ghanzi",subdivision:null},{code:"JW",name:"Jwaneng",subdivision:null},{code:"KG",name:"Kgalagadi",subdivision:null},{code:"KL",name:"Kgatleng",subdivision:null},{code:"KW",name:"Kweneng",subdivision:null},{code:"LO",name:"Lobatse",subdivision:null},{code:"NE",name:"North-East",subdivision:null},{code:"NW",name:"North-West",subdivision:null},{code:"SP",name:"Selibe Phikwe",subdivision:null},{code:"SE",name:"South-East",subdivision:null},{code:"SO",name:"Southern",subdivision:null},{code:"ST",name:"Sowa Town",subdivision:null}]},{code2:"BV",code3:"BVT",name:"Bouvet Island",capital:"",region:"",subregion:"",states:[]},{code2:"BR",code3:"BRA",name:"Brazil",capital:"Brasília",region:"Americas",subregion:"South America",states:[{code:"AC",name:"Acre",subdivision:null},{code:"AL",name:"Alagoas",subdivision:null},{code:"AP",name:"Amapá",subdivision:null},{code:"AM",name:"Amazonas",subdivision:null},{code:"BA",name:"Bahia",subdivision:null},{code:"CE",name:"Ceará",subdivision:null},{code:"DF",name:"Distrito Federal",subdivision:null},{code:"ES",name:"Espírito Santo",subdivision:null},{code:"GO",name:"Goiás",subdivision:null},{code:"MA",name:"Maranhão",subdivision:null},{code:"MT",name:"Mato Grosso",subdivision:null},{code:"MS",name:"Mato Grosso do Sul",subdivision:null},{code:"MG",name:"Minas Gerais",subdivision:null},{code:"PR",name:"Paraná",subdivision:null},{code:"PB",name:"Paraíba",subdivision:null},{code:"PA",name:"Pará",subdivision:null},{code:"PE",name:"Pernambuco",subdivision:null},{code:"PI",name:"Piauí",subdivision:null},{code:"RN",name:"Rio Grande do Norte",subdivision:null},{code:"RS",name:"Rio Grande do Sul",subdivision:null},{code:"RJ",name:"Rio de Janeiro",subdivision:null},{code:"RO",name:"Rondônia",subdivision:null},{code:"RR",name:"Roraima",subdivision:null},{code:"SC",name:"Santa Catarina",subdivision:null},{code:"SE",name:"Sergipe",subdivision:null},{code:"SP",name:"São Paulo",subdivision:null},{code:"TO",name:"Tocantins",subdivision:null}]},{code2:"IO",code3:"IOT",name:"British Indian Ocean Territory",capital:"Diego Garcia",region:"Africa",subregion:"Eastern Africa",states:[]},{code2:"UM",code3:"UMI",name:"United States Minor Outlying Islands",capital:"",region:"Americas",subregion:"Northern America",states:[{code:"81",name:"Baker Island",subdivision:null},{code:"84",name:"Howland Island",subdivision:null},{code:"86",name:"Jarvis Island",subdivision:null},{code:"67",name:"Johnston Atoll",subdivision:null},{code:"89",name:"Kingman Reef",subdivision:null},{code:"71",name:"Midway Islands",subdivision:null},{code:"76",name:"Navassa Island",subdivision:null},{code:"95",name:"Palmyra Atoll",subdivision:null},{code:"79",name:"Wake Island",subdivision:null}]},{code2:"VG",code3:"VGB",name:"Virgin Islands (British)",capital:"Road Town",region:"Americas",subregion:"Caribbean",states:[]},{code2:"VI",code3:"VIR",name:"Virgin Islands (U.S.)",capital:"Charlotte Amalie",region:"Americas",subregion:"Caribbean",states:[]},{code2:"BN",code3:"BRN",name:"Brunei",capital:"Bandar Seri Begawan",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"BE",name:"Belait",subdivision:null},{code:"BM",name:"Brunei-Muara",subdivision:null},{code:"TE",name:"Temburong",subdivision:null},{code:"TU",name:"Tutong",subdivision:null}]},{code2:"BG",code3:"BGR",name:"Bulgaria",capital:"Sofia",region:"Europe",subregion:"Eastern Europe",states:[{code:"01",name:"Blagoevgrad",subdivision:null},{code:"02",name:"Burgas",subdivision:null},{code:"08",name:"Dobrich",subdivision:null},{code:"07",name:"Gabrovo",subdivision:null},{code:"26",name:"Haskovo",subdivision:null},{code:"09",name:"Kardzhali",subdivision:null},{code:"10",name:"Kyustendil",subdivision:null},{code:"11",name:"Lovech",subdivision:null},{code:"12",name:"Montana",subdivision:null},{code:"13",name:"Pazardzhik",subdivision:null},{code:"14",name:"Pernik",subdivision:null},{code:"15",name:"Pleven",subdivision:null},{code:"16",name:"Plovdiv",subdivision:null},{code:"17",name:"Razgrad",subdivision:null},{code:"18",name:"Ruse",subdivision:null},{code:"27",name:"Shumen",subdivision:null},{code:"19",name:"Silistra",subdivision:null},{code:"20",name:"Sliven",subdivision:null},{code:"21",name:"Smolyan",subdivision:null},{code:"23",name:"Sofia",subdivision:null},{code:"22",name:"Sofia-Grad",subdivision:null},{code:"24",name:"Stara Zagora",subdivision:null},{code:"25",name:"Targovishte",subdivision:null},{code:"03",name:"Varna",subdivision:null},{code:"04",name:"Veliko Tarnovo",subdivision:null},{code:"05",name:"Vidin",subdivision:null},{code:"06",name:"Vratsa",subdivision:null},{code:"28",name:"Yambol",subdivision:null}]},{code2:"BF",code3:"BFA",name:"Burkina Faso",capital:"Ouagadougou",region:"Africa",subregion:"Western Africa",states:[{code:"01",name:"Boucle du Mouhoun",subdivision:null},{code:"02",name:"Cascades",subdivision:null},{code:"03",name:"Centre",subdivision:null},{code:"04",name:"Centre-Est",subdivision:null},{code:"05",name:"Centre-Nord",subdivision:null},{code:"06",name:"Centre-Ouest",subdivision:null},{code:"07",name:"Centre-Sud",subdivision:null},{code:"08",name:"Est",subdivision:null},{code:"09",name:"Hauts-Bassins",subdivision:null},{code:"10",name:"Nord",subdivision:null},{code:"11",name:"Plateau-Central",subdivision:null},{code:"12",name:"Sahel",subdivision:null},{code:"13",name:"Sud-Ouest",subdivision:null}]},{code2:"BI",code3:"BDI",name:"Burundi",capital:"Bujumbura",region:"Africa",subregion:"Eastern Africa",states:[{code:"BB",name:"Bubanza",subdivision:null},{code:"BM",name:"Bujumbura Mairie",subdivision:null},{code:"BL",name:"Bujumbura Rural",subdivision:null},{code:"BR",name:"Bururi",subdivision:null},{code:"CA",name:"Cankuzo",subdivision:null},{code:"CI",name:"Cibitoke",subdivision:null},{code:"GI",name:"Gitega",subdivision:null},{code:"KR",name:"Karuzi",subdivision:null},{code:"KY",name:"Kayanza",subdivision:null},{code:"KI",name:"Kirundo",subdivision:null},{code:"MA",name:"Makamba",subdivision:null},{code:"MU",name:"Muramvya",subdivision:null},{code:"MY",name:"Muyinga",subdivision:null},{code:"MW",name:"Mwaro",subdivision:null},{code:"NG",name:"Ngozi",subdivision:null},{code:"RT",name:"Rutana",subdivision:null},{code:"RY",name:"Ruyigi",subdivision:null}]},{code2:"KH",code3:"KHM",name:"Cambodia",capital:"Phnom Penh",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"2",name:"Baat Dambang",subdivision:null},{code:"1",name:"Banteay Mean Chey",subdivision:null},{code:"3",name:"Kampong Chaam",subdivision:null},{code:"4",name:"Kampong Chhnang",subdivision:null},{code:"5",name:"Kampong Spueu",subdivision:null},{code:"6",name:"Kampong Thum",subdivision:null},{code:"7",name:"Kampot",subdivision:null},{code:"8",name:"Kandaal",subdivision:null},{code:"9",name:"Kaoh Kong",subdivision:null},{code:"10",name:"Kracheh",subdivision:null},{code:"23",name:"Krong Kaeb",subdivision:null},{code:"24",name:"Krong Pailin",subdivision:null},{code:"18",name:"Krong Preah Sihanouk",subdivision:null},{code:"11",name:"Mondol Kiri",subdivision:null},{code:"22",name:"Otdar Mean Chey",subdivision:null},{code:"12",name:"Phnom Penh",subdivision:null},{code:"15",name:"Pousaat",subdivision:null},{code:"13",name:"Preah Vihear",subdivision:null},{code:"14",name:"Prey Veaeng",subdivision:null},{code:"16",name:"Rotanak Kiri",subdivision:null},{code:"17",name:"Siem Reab",subdivision:null},{code:"19",name:"Stueng Traeng",subdivision:null},{code:"20",name:"Svaay Rieng",subdivision:null},{code:"21",name:"Taakaev",subdivision:null}]},{code2:"CM",code3:"CMR",name:"Cameroon",capital:"Yaoundé",region:"Africa",subregion:"Middle Africa",states:[{code:"AD",name:"Adamaoua",subdivision:null},{code:"CE",name:"Centre",subdivision:null},{code:"ES",name:"East",subdivision:null},{code:"EN",name:"Far North",subdivision:null},{code:"LT",name:"Littoral",subdivision:null},{code:"NO",name:"North",subdivision:null},{code:"NW",name:"North-West",subdivision:null},{code:"SU",name:"South",subdivision:null},{code:"SW",name:"South-West",subdivision:null},{code:"OU",name:"West",subdivision:null}]},{code2:"CA",code3:"CAN",name:"Canada",capital:"Ottawa",region:"Americas",subregion:"Northern America",states:[{code:"AB",name:"Alberta",subdivision:"province"},{code:"BC",name:"British Columbia",subdivision:"province"},{code:"MB",name:"Manitoba",subdivision:"province"},{code:"NB",name:"New Brunswick",subdivision:"province"},{code:"NL",name:"Newfoundland and Labrador",subdivision:"province"},{code:"NS",name:"Nova Scotia",subdivision:"province"},{code:"ON",name:"Ontario",subdivision:"province"},{code:"PE",name:"Prince Edward Island",subdivision:"province"},{code:"QC",name:"Quebec",subdivision:"province"},{code:"SK",name:"Saskatchewan",subdivision:"province"},{code:"NT",name:"Northwest Territories",subdivision:"territory"},{code:"NU",name:"Nunavut",subdivision:"territory"},{code:"YT",name:"Yukon",subdivision:"territory"}]},{code2:"CV",code3:"CPV",name:"Cape Verde",capital:"Praia",region:"Africa",subregion:"Western Africa",states:[{code:"B",name:"Ilhas de Barlavento",subdivision:null},{code:"S",name:"Ilhas de Sotavento",subdivision:null}]},{code2:"KY",code3:"CYM",name:"Cayman Islands",capital:"George Town",region:"Americas",subregion:"Caribbean",states:[]},{code2:"CF",code3:"CAF",name:"Central African Republic",capital:"Bangui",region:"Africa",subregion:"Middle Africa",states:[{code:"BB",name:"Bamingui-Bangoran",subdivision:null},{code:"BGF",name:"Bangui",subdivision:null},{code:"BK",name:"Basse-Kotto",subdivision:null},{code:"KB",name:"Gribingui",subdivision:null},{code:"HM",name:"Haut-Mbomou",subdivision:null},{code:"HK",name:"Haute-Kotto",subdivision:null},{code:"HS",name:"Haute-Sangha / Mambéré-Kadéï",subdivision:null},{code:"KG",name:"Kémo-Gribingui",subdivision:null},{code:"LB",name:"Lobaye",subdivision:null},{code:"MB",name:"Mbomou",subdivision:null},{code:"NM",name:"Nana-Mambéré",subdivision:null},{code:"MP",name:"Ombella-Mpoko",subdivision:null},{code:"UK",name:"Ouaka",subdivision:null},{code:"AC",name:"Ouham",subdivision:null},{code:"OP",name:"Ouham-Pendé",subdivision:null},{code:"SE",name:"Sangha",subdivision:null},{code:"VK",name:"Vakaga",subdivision:null}]},{code2:"TD",code3:"TCD",name:"Chad",capital:"N'Djamena",region:"Africa",subregion:"Middle Africa",states:[{code:"BA",name:"Al Baṭḩah",subdivision:null},{code:"LC",name:"Al Buḩayrah",subdivision:null},{code:"BG",name:"Baḩr al Ghazāl",subdivision:null},{code:"BO",name:"Būrkū",subdivision:null},{code:"EN",name:"Innīdī",subdivision:null},{code:"KA",name:"Kānim",subdivision:null},{code:"LO",name:"Lūqūn al Gharbī",subdivision:null},{code:"LR",name:"Lūqūn ash Sharqī",subdivision:null},{code:"ND",name:"Madīnat Injamīnā",subdivision:null},{code:"MA",name:"Māndūl",subdivision:null},{code:"MO",name:"Māyū Kībbī al Gharbī",subdivision:null},{code:"ME",name:"Māyū Kībbī ash Sharqī",subdivision:null},{code:"GR",name:"Qīrā",subdivision:null},{code:"SA",name:"Salāmāt",subdivision:null},{code:"CB",name:"Shārī Bāqirmī",subdivision:null},{code:"MC",name:"Shārī al Awsaṭ",subdivision:null},{code:"SI",name:"Sīlā",subdivision:null},{code:"TI",name:"Tibastī",subdivision:null},{code:"TA",name:"Tānjilī",subdivision:null},{code:"OD",name:"Waddāy",subdivision:null},{code:"WF",name:"Wādī Fīrā",subdivision:null},{code:"HL",name:"Ḥajjar Lamīs",subdivision:null}]},{code2:"CL",code3:"CHL",name:"Chile",capital:"Santiago",region:"Americas",subregion:"South America",states:[{code:"AI",name:"Aisén del General Carlos Ibañez del Campo",subdivision:null},{code:"AN",name:"Antofagasta",subdivision:null},{code:"AR",name:"Araucanía",subdivision:null},{code:"AP",name:"Arica y Parinacota",subdivision:null},{code:"AT",name:"Atacama",subdivision:null},{code:"BI",name:"Bío-Bío",subdivision:null},{code:"CO",name:"Coquimbo",subdivision:null},{code:"LI",name:"Libertador General Bernardo O'Higgins",subdivision:null},{code:"LL",name:"Los Lagos",subdivision:null},{code:"LR",name:"Los Ríos",subdivision:null},{code:"MA",name:"Magallanes",subdivision:null},{code:"ML",name:"Maule",subdivision:null},{code:"RM",name:"Región Metropolitana de Santiago",subdivision:null},{code:"TA",name:"Tarapacá",subdivision:null},{code:"VS",name:"Valparaíso",subdivision:null}]},{code2:"CN",code3:"CHN",name:"China",capital:"Beijing",region:"Asia",subregion:"Eastern Asia",states:[{code:"45",name:"Guangxi",subdivision:"Autonomous region"},{code:"15",name:"Nei Mongol",subdivision:"Autonomous region"},{code:"64",name:"Ningxia",subdivision:"Autonomous region"},{code:"65",name:"Xinjiang",subdivision:"Autonomous region"},{code:"54",name:"Xizang",subdivision:"Autonomous region"},{code:"11",name:"Beijing",subdivision:"Municipality"},{code:"50",name:"Chongqing",subdivision:"Municipality"},{code:"31",name:"Shanghai",subdivision:"Municipality"},{code:"12",name:"Tianjin",subdivision:"Municipality"},{code:"34",name:"Anhui",subdivision:"Province"},{code:"35",name:"Fujian",subdivision:"Province"},{code:"62",name:"Gansu",subdivision:"Province"},{code:"44",name:"Guangdong",subdivision:"Province"},{code:"52",name:"Guizhou",subdivision:"Province"},{code:"46",name:"Hainan",subdivision:"Province"},{code:"13",name:"Hebei",subdivision:"Province"},{code:"23",name:"Heilongjiang",subdivision:"Province"},{code:"41",name:"Henan",subdivision:"Province"},{code:"42",name:"Hubei",subdivision:"Province"},{code:"43",name:"Hunan",subdivision:"Province"},{code:"32",name:"Jiangsu",subdivision:"Province"},{code:"36",name:"Jiangxi",subdivision:"Province"},{code:"22",name:"Jilin",subdivision:"Province"},{code:"21",name:"Liaoning",subdivision:"Province"},{code:"63",name:"Qinghai",subdivision:"Province"},{code:"61",name:"Shaanxi",subdivision:"Province"},{code:"37",name:"Shandong",subdivision:"Province"},{code:"14",name:"Shanxi",subdivision:"Province"},{code:"51",name:"Sichuan",subdivision:"Province"},{code:"71",name:"Taiwan",subdivision:"Province"},{code:"53",name:"Yunnan",subdivision:"Province"},{code:"33",name:"Zhejiang",subdivision:"Province"},{code:"91",name:"Hong Kong",subdivision:"Special administrative region"},{code:"92",name:"Macao",subdivision:"Special administrative region"},{code:"",name:"Hong Kong Island",subdivision:"Special administrative region"},{code:"KOWLOON",name:"Kowloon",subdivision:"Special administrative region"},{code:"NEW TERRITORIES",name:"New Territories",subdivision:"Special administrative region"}]},{code2:"CX",code3:"CXR",name:"Christmas Island",capital:"Flying Fish Cove",region:"Oceania",subregion:"Australia and New Zealand",states:[]},{code2:"CC",code3:"CCK",name:"Cocos (Keeling) Islands",capital:"West Island",region:"Oceania",subregion:"Australia and New Zealand",states:[]},{code2:"CO",code3:"COL",name:"Colombia",capital:"Bogotá",region:"Americas",subregion:"South America",states:[{code:"AMA",name:"Amazonas",subdivision:null},{code:"ANT",name:"Antioquia",subdivision:null},{code:"ARA",name:"Arauca",subdivision:null},{code:"ATL",name:"Atlántico",subdivision:null},{code:"BOL",name:"Bolívar",subdivision:null},{code:"BOY",name:"Boyacá",subdivision:null},{code:"CAL",name:"Caldas",subdivision:null},{code:"CAQ",name:"Caquetá",subdivision:null},{code:"CAS",name:"Casanare",subdivision:null},{code:"CAU",name:"Cauca",subdivision:null},{code:"CES",name:"Cesar",subdivision:null},{code:"CHO",name:"Chocó",subdivision:null},{code:"CUN",name:"Cundinamarca",subdivision:null},{code:"COR",name:"Córdoba",subdivision:null},{code:"DC",name:"Distrito Capital de Bogotá",subdivision:null},{code:"GUA",name:"Guainía",subdivision:null},{code:"GUV",name:"Guaviare",subdivision:null},{code:"HUI",name:"Huila",subdivision:null},{code:"LAG",name:"La Guajira",subdivision:null},{code:"MAG",name:"Magdalena",subdivision:null},{code:"MET",name:"Meta",subdivision:null},{code:"NAR",name:"Nariño",subdivision:null},{code:"NSA",name:"Norte de Santander",subdivision:null},{code:"PUT",name:"Putumayo",subdivision:null},{code:"QUI",name:"Quindío",subdivision:null},{code:"RIS",name:"Risaralda",subdivision:null},{code:"SAP",name:"San Andrés, Providencia y Santa Catalina",subdivision:null},{code:"SAN",name:"Santander",subdivision:null},{code:"SUC",name:"Sucre",subdivision:null},{code:"TOL",name:"Tolima",subdivision:null},{code:"VAC",name:"Valle del Cauca",subdivision:null},{code:"VAU",name:"Vaupés",subdivision:null},{code:"VID",name:"Vichada",subdivision:null}]},{code2:"KM",code3:"COM",name:"Comoros",capital:"Moroni",region:"Africa",subregion:"Eastern Africa",states:[{code:"A",name:"Anjouan",subdivision:null},{code:"G",name:"Grande Comore",subdivision:null},{code:"M",name:"Mohéli",subdivision:null}]},{code2:"CG",code3:"COG",name:"Republic of the Congo",capital:"Brazzaville",region:"Africa",subregion:"Middle Africa",states:[{code:"11",name:"Bouenza",subdivision:null},{code:"BZV",name:"Brazzaville",subdivision:null},{code:"8",name:"Cuvette",subdivision:null},{code:"15",name:"Cuvette-Ouest",subdivision:null},{code:"5",name:"Kouilou",subdivision:null},{code:"7",name:"Likouala",subdivision:null},{code:"2",name:"Lékoumou",subdivision:null},{code:"9",name:"Niari",subdivision:null},{code:"14",name:"Plateaux",subdivision:null},{code:"16",name:"Pointe-Noire",subdivision:null},{code:"12",name:"Pool",subdivision:null},{code:"13",name:"Sangha",subdivision:null}]},{code2:"CD",code3:"COD",name:"Democratic Republic of the Congo",capital:"Kinshasa",region:"Africa",subregion:"Middle Africa",states:[{code:"BN",name:"Bandundu",subdivision:null},{code:"BC",name:"Bas-Congo",subdivision:null},{code:"KW",name:"Kasai-Occidental",subdivision:null},{code:"KE",name:"Kasai-Oriental",subdivision:null},{code:"KA",name:"Katanga",subdivision:null},{code:"KN",name:"Kinshasa",subdivision:null},{code:"MA",name:"Maniema",subdivision:null},{code:"NK",name:"Nord-Kivu",subdivision:null},{code:"OR",name:"Orientale",subdivision:null},{code:"SK",name:"Sud-Kivu",subdivision:null},{code:"EQ",name:"Équateur",subdivision:null}]},{code2:"CK",code3:"COK",name:"Cook Islands",capital:"Avarua",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"CR",code3:"CRI",name:"Costa Rica",capital:"San José",region:"Americas",subregion:"Central America",states:[{code:"A",name:"Alajuela",subdivision:null},{code:"C",name:"Cartago",subdivision:null},{code:"G",name:"Guanacaste",subdivision:null},{code:"H",name:"Heredia",subdivision:null},{code:"L",name:"Limón",subdivision:null},{code:"P",name:"Puntarenas",subdivision:null},{code:"SJ",name:"San José",subdivision:null}]},{code2:"HR",code3:"HRV",name:"Croatia",capital:"Zagreb",region:"Europe",subregion:"Southern Europe",states:[{code:"07",name:"Bjelovarsko-bilogorska županija",subdivision:null},{code:"12",name:"Brodsko-posavska županija",subdivision:null},{code:"19",name:"Dubrovačko-neretvanska županija",subdivision:null},{code:"21",name:"Grad Zagreb",subdivision:null},{code:"18",name:"Istarska županija",subdivision:null},{code:"04",name:"Karlovačka županija",subdivision:null},{code:"06",name:"Koprivničko-križevačka županija",subdivision:null},{code:"02",name:"Krapinsko-zagorska županija",subdivision:null},{code:"09",name:"Ličko-senjska županija",subdivision:null},{code:"20",name:"Međimurska županija",subdivision:null},{code:"14",name:"Osječko-baranjska županija",subdivision:null},{code:"11",name:"Požeško-slavonska županija",subdivision:null},{code:"08",name:"Primorsko-goranska županija",subdivision:null},{code:"03",name:"Sisačko-moslavačka županija",subdivision:null},{code:"17",name:"Splitsko-dalmatinska županija",subdivision:null},{code:"05",name:"Varaždinska županija",subdivision:null},{code:"10",name:"Virovitičko-podravska županija",subdivision:null},{code:"16",name:"Vukovarsko-srijemska županija",subdivision:null},{code:"13",name:"Zadarska županija",subdivision:null},{code:"01",name:"Zagrebačka županija",subdivision:null},{code:"15",name:"Šibensko-kninska županija",subdivision:null}]},{code2:"CU",code3:"CUB",name:"Cuba",capital:"Havana",region:"Americas",subregion:"Caribbean",states:[{code:"15",name:"Artemisa",subdivision:null},{code:"09",name:"Camagüey",subdivision:null},{code:"08",name:"Ciego de Ávila",subdivision:null},{code:"06",name:"Cienfuegos",subdivision:null},{code:"12",name:"Granma",subdivision:null},{code:"14",name:"Guantánamo",subdivision:null},{code:"11",name:"Holguín",subdivision:null},{code:"99",name:"Isla de la Juventud",subdivision:null},{code:"03",name:"La Habana",subdivision:null},{code:"10",name:"Las Tunas",subdivision:null},{code:"04",name:"Matanzas",subdivision:null},{code:"16",name:"Mayabeque",subdivision:null},{code:"01",name:"Pinar del Río",subdivision:null},{code:"07",name:"Sancti Spíritus",subdivision:null},{code:"13",name:"Santiago de Cuba",subdivision:null},{code:"05",name:"Villa Clara",subdivision:null}]},{code2:"CW",code3:"CUW",name:"Curaçao",capital:"Willemstad",region:"Americas",subregion:"Caribbean",states:[]},{code2:"CY",code3:"CYP",name:"Cyprus",capital:"Nicosia",region:"Europe",subregion:"Southern Europe",states:[{code:"04",name:"Ammochostos",subdivision:null},{code:"06",name:"Keryneia",subdivision:null},{code:"03",name:"Larnaka",subdivision:null},{code:"01",name:"Lefkosia",subdivision:null},{code:"02",name:"Lemesos",subdivision:null},{code:"05",name:"Pafos",subdivision:null}]},{code2:"CZ",code3:"CZE",name:"Czech Republic",capital:"Prague",region:"Europe",subregion:"Eastern Europe",states:[{code:"JM",name:"Jihomoravský kraj",subdivision:null},{code:"JC",name:"Jihočeský kraj",subdivision:null},{code:"KA",name:"Karlovarský kraj",subdivision:null},{code:"KR",name:"Královéhradecký kraj",subdivision:null},{code:"LI",name:"Liberecký kraj",subdivision:null},{code:"MO",name:"Moravskoslezský kraj",subdivision:null},{code:"OL",name:"Olomoucký kraj",subdivision:null},{code:"PA",name:"Pardubický kraj",subdivision:null},{code:"PL",name:"Plzeňský kraj",subdivision:null},{code:"PR",name:"Praha, hlavní město",subdivision:null},{code:"ST",name:"Středočeský kraj",subdivision:null},{code:"VY",name:"Vysočina",subdivision:null},{code:"ZL",name:"Zlínský kraj",subdivision:null},{code:"US",name:"Ústecký kraj",subdivision:null}]},{code2:"DK",code3:"DNK",name:"Denmark",capital:"Copenhagen",region:"Europe",subregion:"Northern Europe",states:[{code:"84",name:"Hovedstaden",subdivision:null},{code:"82",name:"Midtjylland",subdivision:null},{code:"81",name:"Nordjylland",subdivision:null},{code:"85",name:"Sjælland",subdivision:null},{code:"83",name:"Syddanmark",subdivision:null}]},{code2:"DJ",code3:"DJI",name:"Djibouti",capital:"Djibouti",region:"Africa",subregion:"Eastern Africa",states:[{code:"AS",name:"Ali Sabieh",subdivision:null},{code:"AR",name:"Arta",subdivision:null},{code:"DI",name:"Dikhil",subdivision:null},{code:"DJ",name:"Djibouti",subdivision:null},{code:"OB",name:"Obock",subdivision:null},{code:"TA",name:"Tadjourah",subdivision:null}]},{code2:"DM",code3:"DMA",name:"Dominica",capital:"Roseau",region:"Americas",subregion:"Caribbean",states:[{code:"02",name:"Saint Andrew",subdivision:null},{code:"03",name:"Saint David",subdivision:null},{code:"04",name:"Saint George",subdivision:null},{code:"05",name:"Saint John",subdivision:null},{code:"06",name:"Saint Joseph",subdivision:null},{code:"07",name:"Saint Luke",subdivision:null},{code:"08",name:"Saint Mark",subdivision:null},{code:"09",name:"Saint Patrick",subdivision:null},{code:"10",name:"Saint Paul",subdivision:null},{code:"11",name:"Saint Peter",subdivision:null}]},{code2:"DO",code3:"DOM",name:"Dominican Republic",capital:"Santo Domingo",region:"Americas",subregion:"Caribbean",states:[{code:"33",name:"Cibao Nordeste",subdivision:null},{code:"34",name:"Cibao Noroeste",subdivision:null},{code:"35",name:"Cibao Norte",subdivision:null},{code:"36",name:"Cibao Sur",subdivision:null},{code:"37",name:"El Valle",subdivision:null},{code:"38",name:"Enriquillo",subdivision:null},{code:"39",name:"Higuamo",subdivision:null},{code:"40",name:"Ozama",subdivision:null},{code:"41",name:"Valdesia",subdivision:null},{code:"42",name:"Yuma",subdivision:null}]},{code2:"EC",code3:"ECU",name:"Ecuador",capital:"Quito",region:"Americas",subregion:"South America",states:[{code:"A",name:"Azuay",subdivision:null},{code:"B",name:"Bolívar",subdivision:null},{code:"C",name:"Carchi",subdivision:null},{code:"F",name:"Cañar",subdivision:null},{code:"H",name:"Chimborazo",subdivision:null},{code:"X",name:"Cotopaxi",subdivision:null},{code:"O",name:"El Oro",subdivision:null},{code:"E",name:"Esmeraldas",subdivision:null},{code:"W",name:"Galápagos",subdivision:null},{code:"G",name:"Guayas",subdivision:null},{code:"I",name:"Imbabura",subdivision:null},{code:"L",name:"Loja",subdivision:null},{code:"R",name:"Los Ríos",subdivision:null},{code:"M",name:"Manabí",subdivision:null},{code:"S",name:"Morona-Santiago",subdivision:null},{code:"N",name:"Napo",subdivision:null},{code:"D",name:"Orellana",subdivision:null},{code:"Y",name:"Pastaza",subdivision:null},{code:"P",name:"Pichincha",subdivision:null},{code:"SE",name:"Santa Elena",subdivision:null},{code:"SD",name:"Santo Domingo de los Tsáchilas",subdivision:null},{code:"U",name:"Sucumbíos",subdivision:null},{code:"T",name:"Tungurahua",subdivision:null},{code:"Z",name:"Zamora-Chinchipe",subdivision:null}]},{code2:"EG",code3:"EGY",name:"Egypt",capital:"Cairo",region:"Africa",subregion:"Northern Africa",states:[{code:"DK",name:"Ad Daqahlīyah",subdivision:null},{code:"BA",name:"Al Baḩr al Aḩmar",subdivision:null},{code:"BH",name:"Al Buḩayrah",subdivision:null},{code:"FYM",name:"Al Fayyūm",subdivision:null},{code:"GH",name:"Al Gharbīyah",subdivision:null},{code:"ALX",name:"Al Iskandarīyah",subdivision:null},{code:"IS",name:"Al Ismāٰīlīyah",subdivision:null},{code:"GZ",name:"Al Jīzah",subdivision:null},{code:"MN",name:"Al Minyā",subdivision:null},{code:"MNF",name:"Al Minūfīyah",subdivision:null},{code:"KB",name:"Al Qalyūbīyah",subdivision:null},{code:"C",name:"Al Qāhirah",subdivision:null},{code:"LX",name:"Al Uqşur",subdivision:null},{code:"WAD",name:"Al Wādī al Jadīd",subdivision:null},{code:"SUZ",name:"As Suways",subdivision:null},{code:"SU",name:"As Sādis min Uktūbar",subdivision:null},{code:"SHR",name:"Ash Sharqīyah",subdivision:null},{code:"ASN",name:"Aswān",subdivision:null},{code:"AST",name:"Asyūţ",subdivision:null},{code:"BNS",name:"Banī Suwayf",subdivision:null},{code:"PTS",name:"Būr Saٰīd",subdivision:null},{code:"DT",name:"Dumyāţ",subdivision:null},{code:"JS",name:"Janūb Sīnā'",subdivision:null},{code:"KFS",name:"Kafr ash Shaykh",subdivision:null},{code:"MT",name:"Maţrūḩ",subdivision:null},{code:"KN",name:"Qinā",subdivision:null},{code:"SIN",name:"Shamāl Sīnā'",subdivision:null},{code:"SHG",name:"Sūhāj",subdivision:null},{code:"HU",name:"Ḩulwān",subdivision:null}]},{code2:"SV",code3:"SLV",name:"El Salvador",capital:"San Salvador",region:"Americas",subregion:"Central America",states:[{code:"AH",name:"Ahuachapán",subdivision:null},{code:"CA",name:"Cabañas",subdivision:null},{code:"CH",name:"Chalatenango",subdivision:null},{code:"CU",name:"Cuscatlán",subdivision:null},{code:"LI",name:"La Libertad",subdivision:null},{code:"PA",name:"La Paz",subdivision:null},{code:"UN",name:"La Unión",subdivision:null},{code:"MO",name:"Morazán",subdivision:null},{code:"SM",name:"San Miguel",subdivision:null},{code:"SS",name:"San Salvador",subdivision:null},{code:"SV",name:"San Vicente",subdivision:null},{code:"SA",name:"Santa Ana",subdivision:null},{code:"SO",name:"Sonsonate",subdivision:null},{code:"US",name:"Usulután",subdivision:null}]},{code2:"GQ",code3:"GNQ",name:"Equatorial Guinea",capital:"Malabo",region:"Africa",subregion:"Middle Africa",states:[{code:"C",name:"Región Continental",subdivision:null},{code:"I",name:"Región Insular",subdivision:null}]},{code2:"ER",code3:"ERI",name:"Eritrea",capital:"Asmara",region:"Africa",subregion:"Eastern Africa",states:[{code:"MA",name:"Al Awsaţ",subdivision:null},{code:"DU",name:"Al Janūbĩ",subdivision:null},{code:"AN",name:"Ansabā",subdivision:null},{code:"DK",name:"Janūbī al Baḩrī al Aḩmar",subdivision:null},{code:"GB",name:"Qāsh-Barkah",subdivision:null},{code:"SK",name:"Shimālī al Baḩrī al Aḩmar",subdivision:null}]},{code2:"EE",code3:"EST",name:"Estonia",capital:"Tallinn",region:"Europe",subregion:"Northern Europe",states:[{code:"37",name:"Harjumaa",subdivision:null},{code:"39",name:"Hiiumaa",subdivision:null},{code:"44",name:"Ida-Virumaa",subdivision:null},{code:"51",name:"Järvamaa",subdivision:null},{code:"49",name:"Jõgevamaa",subdivision:null},{code:"59",name:"Lääne-Virumaa",subdivision:null},{code:"57",name:"Läänemaa",subdivision:null},{code:"67",name:"Pärnumaa",subdivision:null},{code:"65",name:"Põlvamaa",subdivision:null},{code:"70",name:"Raplamaa",subdivision:null},{code:"74",name:"Saaremaa",subdivision:null},{code:"78",name:"Tartumaa",subdivision:null},{code:"82",name:"Valgamaa",subdivision:null},{code:"84",name:"Viljandimaa",subdivision:null},{code:"86",name:"Võrumaa",subdivision:null}]},{code2:"ET",code3:"ETH",name:"Ethiopia",capital:"Addis Ababa",region:"Africa",subregion:"Eastern Africa",states:[{code:"BE",name:"Bīnshangul Gumuz",subdivision:null},{code:"DD",name:"Dirē Dawa",subdivision:null},{code:"GA",name:"Gambēla Hizboch",subdivision:null},{code:"HA",name:"Hārerī Hizb",subdivision:null},{code:"OR",name:"Oromīya",subdivision:null},{code:"SO",name:"Sumalē",subdivision:null},{code:"TI",name:"Tigray",subdivision:null},{code:"SN",name:"YeDebub Bihēroch Bihēreseboch na Hizboch",subdivision:null},{code:"AA",name:"Ādīs Ābeba",subdivision:null},{code:"AF",name:"Āfar",subdivision:null},{code:"AM",name:"Āmara",subdivision:null}]},{code2:"FK",code3:"FLK",name:"Falkland Islands",capital:"Stanley",region:"Americas",subregion:"South America",states:[]},{code2:"FO",code3:"FRO",name:"Faroe Islands",capital:"Tórshavn",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"FJ",code3:"FJI",name:"Fiji",capital:"Suva",region:"Oceania",subregion:"Melanesia",states:[{code:"C",name:"Central",subdivision:null},{code:"E",name:"Eastern",subdivision:null},{code:"N",name:"Northern",subdivision:null},{code:"R",name:"Rotuma",subdivision:null},{code:"W",name:"Western",subdivision:null}]},{code2:"FI",code3:"FIN",name:"Finland",capital:"Helsinki",region:"Europe",subregion:"Northern Europe",states:[{code:"01",name:"Ahvenanmaan maakunta",subdivision:null},{code:"02",name:"Etelä-Karjala",subdivision:null},{code:"03",name:"Etelä-Pohjanmaa",subdivision:null},{code:"04",name:"Etelä-Savo",subdivision:null},{code:"05",name:"Kainuu",subdivision:null},{code:"06",name:"Kanta-Häme",subdivision:null},{code:"07",name:"Keski-Pohjanmaa",subdivision:null},{code:"08",name:"Keski-Suomi",subdivision:null},{code:"09",name:"Kymenlaakso",subdivision:null},{code:"10",name:"Lappi",subdivision:null},{code:"11",name:"Pirkanmaa",subdivision:null},{code:"12",name:"Pohjanmaa",subdivision:null},{code:"13",name:"Pohjois-Karjala",subdivision:null},{code:"14",name:"Pohjois-Pohjanmaa",subdivision:null},{code:"15",name:"Pohjois-Savo",subdivision:null},{code:"16",name:"Päijät-Häme",subdivision:null},{code:"17",name:"Satakunta",subdivision:null},{code:"18",name:"Uusimaa",subdivision:null},{code:"19",name:"Varsinais-Suomi",subdivision:null}]},{code2:"FR",code3:"FRA",name:"France",capital:"Paris",region:"Europe",subregion:"Western Europe",states:[{code:"A",name:"Alsace",subdivision:"Metropolitan region"},{code:"B",name:"Aquitaine",subdivision:"Metropolitan region"},{code:"C",name:"Auvergne",subdivision:"Metropolitan region"},{code:"E",name:"Brittany",subdivision:"Metropolitan region"},{code:"D",name:"Burgundy",subdivision:"Metropolitan region"},{code:"F",name:"Centre-Val de Loire",subdivision:"Metropolitan region"},{code:"G",name:"Champagne-Ardenne",subdivision:"Metropolitan region"},{code:"H",name:"Corsica",subdivision:"Metropolitan region"},{code:"I",name:"Franche-Comté",subdivision:"Metropolitan region"},{code:"K",name:"Languedoc-Roussillon",subdivision:"Metropolitan region"},{code:"L",name:"Limousin",subdivision:"Metropolitan region"},{code:"M",name:"Lorraine",subdivision:"Metropolitan region"},{code:"P",name:"Lower Normandy",subdivision:"Metropolitan region"},{code:"N",name:"Midi-Pyrénées",subdivision:"Metropolitan region"},{code:"O",name:"Nord-Pas-de-Calais",subdivision:"Metropolitan region"},{code:"R",name:"Pays de la Loire",subdivision:"Metropolitan region"},{code:"S",name:"Picardy",subdivision:"Metropolitan region"},{code:"T",name:"Poitou-Charentes",subdivision:"Metropolitan region"},{code:"U",name:"Provence-Alpes-Côte d'Azur",subdivision:"Metropolitan region"},{code:"V",name:"Rhône-Alpes",subdivision:"Metropolitan region"},{code:"Q",name:"Upper Normandy",subdivision:"Metropolitan region"},{code:"J",name:"Île-de-France",subdivision:"Metropolitan region"}]},{code2:"GF",code3:"GUF",name:"French Guiana",capital:"Cayenne",region:"Americas",subregion:"South America",states:[]},{code2:"PF",code3:"PYF",name:"French Polynesia",capital:"Papeetē",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"TF",code3:"ATF",name:"French Southern and Antarctic Lands",capital:"Port-aux-Français",region:"Africa",subregion:"Southern Africa",states:[]},{code2:"GA",code3:"GAB",name:"Gabon",capital:"Libreville",region:"Africa",subregion:"Middle Africa",states:[{code:"1",name:"Estuaire",subdivision:null},{code:"2",name:"Haut-Ogooué",subdivision:null},{code:"3",name:"Moyen-Ogooué",subdivision:null},{code:"4",name:"Ngounié",subdivision:null},{code:"5",name:"Nyanga",subdivision:null},{code:"6",name:"Ogooué-Ivindo",subdivision:null},{code:"7",name:"Ogooué-Lolo",subdivision:null},{code:"8",name:"Ogooué-Maritime",subdivision:null},{code:"9",name:"Woleu-Ntem",subdivision:null}]},{code2:"GM",code3:"GMB",name:"The Gambia",capital:"Banjul",region:"Africa",subregion:"Western Africa",states:[{code:"B",name:"Banjul",subdivision:null},{code:"M",name:"Central River",subdivision:null},{code:"L",name:"Lower River",subdivision:null},{code:"N",name:"North Bank",subdivision:null},{code:"U",name:"Upper River",subdivision:null},{code:"W",name:"Western",subdivision:null}]},{code2:"GE",code3:"GEO",name:"Georgia",capital:"Tbilisi",region:"Asia",subregion:"Western Asia",states:[{code:"AB",name:"Abkhazia",subdivision:null},{code:"AJ",name:"Ajaria",subdivision:null},{code:"GU",name:"Guria",subdivision:null},{code:"IM",name:"Imereti",subdivision:null},{code:"KA",name:"K'akheti",subdivision:null},{code:"KK",name:"Kvemo Kartli",subdivision:null},{code:"MM",name:"Mtskheta-Mtianeti",subdivision:null},{code:"RL",name:"Rach'a-Lechkhumi-Kvemo Svaneti",subdivision:null},{code:"SZ",name:"Samegrelo-Zemo Svaneti",subdivision:null},{code:"SJ",name:"Samtskhe-Javakheti",subdivision:null},{code:"SK",name:"Shida Kartli",subdivision:null},{code:"TB",name:"Tbilisi",subdivision:null}]},{code2:"DE",code3:"DEU",name:"Germany",capital:"Berlin",region:"Europe",subregion:"Western Europe",states:[{code:"BW",name:"Baden-Württemberg",subdivision:null},{code:"BY",name:"Bayern",subdivision:null},{code:"BE",name:"Berlin",subdivision:null},{code:"BB",name:"Brandenburg",subdivision:null},{code:"HB",name:"Bremen",subdivision:null},{code:"HH",name:"Hamburg",subdivision:null},{code:"HE",name:"Hessen",subdivision:null},{code:"MV",name:"Mecklenburg-Vorpommern",subdivision:null},{code:"NI",name:"Niedersachsen",subdivision:null},{code:"NW",name:"Nordrhein-Westfalen",subdivision:null},{code:"RP",name:"Rheinland-Pfalz",subdivision:null},{code:"SL",name:"Saarland",subdivision:null},{code:"SN",name:"Sachsen",subdivision:null},{code:"ST",name:"Sachsen-Anhalt",subdivision:null},{code:"SH",name:"Schleswig-Holstein",subdivision:null},{code:"TH",name:"Thüringen",subdivision:null}]},{code2:"GH",code3:"GHA",name:"Ghana",capital:"Accra",region:"Africa",subregion:"Western Africa",states:[{code:"AH",name:"Ashanti",subdivision:null},{code:"BA",name:"Brong-Ahafo",subdivision:null},{code:"CP",name:"Central",subdivision:null},{code:"EP",name:"Eastern",subdivision:null},{code:"AA",name:"Greater Accra",subdivision:null},{code:"NP",name:"Northern",subdivision:null},{code:"UE",name:"Upper East",subdivision:null},{code:"UW",name:"Upper West",subdivision:null},{code:"TV",name:"Volta",subdivision:null},{code:"WP",name:"Western",subdivision:null}]},{code2:"GI",code3:"GIB",name:"Gibraltar",capital:"Gibraltar",region:"Europe",subregion:"Southern Europe",states:[]},{code2:"GR",code3:"GRC",name:"Greece",capital:"Athens",region:"Europe",subregion:"Southern Europe",states:[{code:"A",name:"Anatoliki Makedonia kai Thraki",subdivision:null},{code:"I",name:"Attiki",subdivision:null},{code:"G",name:"Dytiki Ellada",subdivision:null},{code:"C",name:"Dytiki Makedonia",subdivision:null},{code:"F",name:"Ionia Nisia",subdivision:null},{code:"D",name:"Ipeiros",subdivision:null},{code:"B",name:"Kentriki Makedonia",subdivision:null},{code:"M",name:"Kriti",subdivision:null},{code:"L",name:"Notio Aigaio",subdivision:null},{code:"J",name:"Peloponnisos",subdivision:null},{code:"H",name:"Sterea Ellada",subdivision:null},{code:"E",name:"Thessalia",subdivision:null},{code:"K",name:"Voreio Aigaio",subdivision:null}]},{code2:"GL",code3:"GRL",name:"Greenland",capital:"Nuuk",region:"Americas",subregion:"Northern America",states:[{code:"KU",name:"Kommune Kujalleq",subdivision:null},{code:"SM",name:"Kommuneqarfik Sermersooq",subdivision:null},{code:"QA",name:"Qaasuitsup Kommunia",subdivision:null},{code:"QE",name:"Qeqqata Kommunia",subdivision:null}]},{code2:"GD",code3:"GRD",name:"Grenada",capital:"St. George's",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Saint Andrew",subdivision:null},{code:"02",name:"Saint David",subdivision:null},{code:"03",name:"Saint George",subdivision:null},{code:"04",name:"Saint John",subdivision:null},{code:"05",name:"Saint Mark",subdivision:null},{code:"06",name:"Saint Patrick",subdivision:null},{code:"10",name:"Southern Grenadine Islands",subdivision:null}]},{code2:"GP",code3:"GLP",name:"Guadeloupe",capital:"Basse-Terre",region:"Americas",subregion:"Caribbean",states:[]},{code2:"GU",code3:"GUM",name:"Guam",capital:"Hagåtña",region:"Oceania",subregion:"Micronesia",states:[]},{code2:"GT",code3:"GTM",name:"Guatemala",capital:"Guatemala City",region:"Americas",subregion:"Central America",states:[{code:"AV",name:"Alta Verapaz",subdivision:null},{code:"BV",name:"Baja Verapaz",subdivision:null},{code:"CM",name:"Chimaltenango",subdivision:null},{code:"CQ",name:"Chiquimula",subdivision:null},{code:"PR",name:"El Progreso",subdivision:null},{code:"ES",name:"Escuintla",subdivision:null},{code:"GU",name:"Guatemala",subdivision:null},{code:"HU",name:"Huehuetenango",subdivision:null},{code:"IZ",name:"Izabal",subdivision:null},{code:"JA",name:"Jalapa",subdivision:null},{code:"JU",name:"Jutiapa",subdivision:null},{code:"PE",name:"Petén",subdivision:null},{code:"QZ",name:"Quetzaltenango",subdivision:null},{code:"QC",name:"Quiché",subdivision:null},{code:"RE",name:"Retalhuleu",subdivision:null},{code:"SA",name:"Sacatepéquez",subdivision:null},{code:"SM",name:"San Marcos",subdivision:null},{code:"SR",name:"Santa Rosa",subdivision:null},{code:"SO",name:"Sololá",subdivision:null},{code:"SU",name:"Suchitepéquez",subdivision:null},{code:"TO",name:"Totonicapán",subdivision:null},{code:"ZA",name:"Zacapa",subdivision:null}]},{code2:"GG",code3:"GGY",name:"Guernsey",capital:"St. Peter Port",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"GN",code3:"GIN",name:"Guinea",capital:"Conakry",region:"Africa",subregion:"Western Africa",states:[{code:"B",name:"Boké",subdivision:null},{code:"C",name:"Conakry",subdivision:null},{code:"F",name:"Faranah",subdivision:null},{code:"K",name:"Kankan",subdivision:null},{code:"D",name:"Kindia",subdivision:null},{code:"L",name:"Labé",subdivision:null},{code:"M",name:"Mamou",subdivision:null},{code:"N",name:"Nzérékoré",subdivision:null}]},{code2:"GW",code3:"GNB",name:"Guinea-Bissau",capital:"Bissau",region:"Africa",subregion:"Western Africa",states:[{code:"L",name:"Leste",subdivision:null},{code:"N",name:"Norte",subdivision:null},{code:"S",name:"Sul",subdivision:null}]},{code2:"GY",code3:"GUY",name:"Guyana",capital:"Georgetown",region:"Americas",subregion:"South America",states:[{code:"BA",name:"Barima-Waini",subdivision:null},{code:"CU",name:"Cuyuni-Mazaruni",subdivision:null},{code:"DE",name:"Demerara-Mahaica",subdivision:null},{code:"EB",name:"East Berbice-Corentyne",subdivision:null},{code:"ES",name:"Essequibo Islands-West Demerara",subdivision:null},{code:"MA",name:"Mahaica-Berbice",subdivision:null},{code:"PM",name:"Pomeroon-Supenaam",subdivision:null},{code:"PT",name:"Potaro-Siparuni",subdivision:null},{code:"UD",name:"Upper Demerara-Berbice",subdivision:null},{code:"UT",name:"Upper Takutu-Upper Essequibo",subdivision:null}]},{code2:"HT",code3:"HTI",name:"Haiti",capital:"Port-au-Prince",region:"Americas",subregion:"Caribbean",states:[{code:"AR",name:"Artibonite",subdivision:null},{code:"CE",name:"Centre",subdivision:null},{code:"GA",name:"Grande-Anse",subdivision:null},{code:"NI",name:"Nippes",subdivision:null},{code:"ND",name:"Nord",subdivision:null},{code:"NE",name:"Nord-Est",subdivision:null},{code:"NO",name:"Nord-Ouest",subdivision:null},{code:"OU",name:"Ouest",subdivision:null},{code:"SD",name:"Sud",subdivision:null},{code:"SE",name:"Sud-Est",subdivision:null}]},{code2:"HM",code3:"HMD",name:"Heard Island and McDonald Islands",capital:"",region:"",subregion:"",states:[]},{code2:"VA",code3:"VAT",name:"Holy See",capital:"Rome",region:"Europe",subregion:"Southern Europe",states:[]},{code2:"HN",code3:"HND",name:"Honduras",capital:"Tegucigalpa",region:"Americas",subregion:"Central America",states:[{code:"AT",name:"Atlántida",subdivision:null},{code:"CH",name:"Choluteca",subdivision:null},{code:"CL",name:"Colón",subdivision:null},{code:"CM",name:"Comayagua",subdivision:null},{code:"CP",name:"Copán",subdivision:null},{code:"CR",name:"Cortés",subdivision:null},{code:"EP",name:"El Paraíso",subdivision:null},{code:"FM",name:"Francisco Morazán",subdivision:null},{code:"GD",name:"Gracias a Dios",subdivision:null},{code:"IN",name:"Intibucá",subdivision:null},{code:"IB",name:"Islas de la Bahía",subdivision:null},{code:"LP",name:"La Paz",subdivision:null},{code:"LE",name:"Lempira",subdivision:null},{code:"OC",name:"Ocotepeque",subdivision:null},{code:"OL",name:"Olancho",subdivision:null},{code:"SB",name:"Santa Bárbara",subdivision:null},{code:"VA",name:"Valle",subdivision:null},{code:"YO",name:"Yoro",subdivision:null}]},{code2:"HK",code3:"HKG",name:"Hong Kong",capital:"City of Victoria",region:"Asia",subregion:"Eastern Asia",states:[]},{code2:"HU",code3:"HUN",name:"Hungary",capital:"Budapest",region:"Europe",subregion:"Eastern Europe",states:[{code:"BA",name:"Baranya",subdivision:null},{code:"BZ",name:"Borsod-Abaúj-Zemplén",subdivision:null},{code:"BU",name:"Budapest",subdivision:null},{code:"BK",name:"Bács-Kiskun",subdivision:null},{code:"BE",name:"Békés",subdivision:null},{code:"BC",name:"Békéscsaba",subdivision:null},{code:"CS",name:"Csongrád",subdivision:null},{code:"DE",name:"Debrecen",subdivision:null},{code:"DU",name:"Dunaújváros",subdivision:null},{code:"EG",name:"Eger",subdivision:null},{code:"FE",name:"Fejér",subdivision:null},{code:"GY",name:"Győr",subdivision:null},{code:"GS",name:"Győr-Moson-Sopron",subdivision:null},{code:"HB",name:"Hajdú-Bihar",subdivision:null},{code:"HE",name:"Heves",subdivision:null},{code:"HV",name:"Hódmezővásárhely",subdivision:null},{code:"JN",name:"Jász-Nagykun-Szolnok",subdivision:null},{code:"KV",name:"Kaposvár",subdivision:null},{code:"KM",name:"Kecskemét",subdivision:null},{code:"KE",name:"Komárom-Esztergom",subdivision:null},{code:"MI",name:"Miskolc",subdivision:null},{code:"NK",name:"Nagykanizsa",subdivision:null},{code:"NY",name:"Nyíregyháza",subdivision:null},{code:"NO",name:"Nógrád",subdivision:null},{code:"PE",name:"Pest",subdivision:null},{code:"PS",name:"Pécs",subdivision:null},{code:"ST",name:"Salgótarján",subdivision:null},{code:"SO",name:"Somogy",subdivision:null},{code:"SN",name:"Sopron",subdivision:null},{code:"SZ",name:"Szabolcs-Szatmár-Bereg",subdivision:null},{code:"SD",name:"Szeged",subdivision:null},{code:"SS",name:"Szekszárd",subdivision:null},{code:"SK",name:"Szolnok",subdivision:null},{code:"SH",name:"Szombathely",subdivision:null},{code:"SF",name:"Székesfehérvár",subdivision:null},{code:"TB",name:"Tatabánya",subdivision:null},{code:"TO",name:"Tolna",subdivision:null},{code:"VA",name:"Vas",subdivision:null},{code:"VE",name:"Veszprém",subdivision:null},{code:"VM",name:"Veszprém",subdivision:null},{code:"ZA",name:"Zala",subdivision:null},{code:"ZE",name:"Zalaegerszeg",subdivision:null},{code:"ER",name:"Érd",subdivision:null}]},{code2:"IS",code3:"ISL",name:"Iceland",capital:"Reykjavík",region:"Europe",subregion:"Northern Europe",states:[{code:"7",name:"Austurland",subdivision:null},{code:"1",name:"Höfuðborgarsvæði utan Reykjavíkur",subdivision:null},{code:"6",name:"Norðurland eystra",subdivision:null},{code:"5",name:"Norðurland vestra",subdivision:null},{code:"0",name:"Reykjavík",subdivision:null},{code:"8",name:"Suðurland",subdivision:null},{code:"2",name:"Suðurnes",subdivision:null},{code:"4",name:"Vestfirðir",subdivision:null},{code:"3",name:"Vesturland",subdivision:null}]},{code2:"IN",code3:"IND",name:"India",capital:"New Delhi",region:"Asia",subregion:"Southern Asia",states:[{code:"AN",name:"Andaman and Nicobar Islands",subdivision:"Union territory"},{code:"CH",name:"Chandigarh",subdivision:"Union territory"},{code:"DN",name:"Dadra and Nagar Haveli",subdivision:"Union territory"},{code:"DD",name:"Daman and Diu",subdivision:"Union territory"},{code:"DL",name:"Delhi",subdivision:"Union territory"},{code:"LD",name:"Lakshadweep",subdivision:"Union territory"},{code:"PY",name:"Puducherry",subdivision:"Union territory"},{code:"AP",name:"Andhra Pradesh",subdivision:"state"},{code:"AR",name:"Arunachal Pradesh",subdivision:"state"},{code:"AS",name:"Assam",subdivision:"state"},{code:"BR",name:"Bihar",subdivision:"state"},{code:"CT",name:"Chhattisgarh",subdivision:"state"},{code:"GA",name:"Goa",subdivision:"state"},{code:"GJ",name:"Gujarat",subdivision:"state"},{code:"HR",name:"Haryana",subdivision:"state"},{code:"HP",name:"Himachal Pradesh",subdivision:"state"},{code:"JK",name:"Jammu and Kashmir",subdivision:"state"},{code:"JH",name:"Jharkhand",subdivision:"state"},{code:"KA",name:"Karnataka",subdivision:"state"},{code:"KL",name:"Kerala",subdivision:"state"},{code:"MP",name:"Madhya Pradesh",subdivision:"state"},{code:"MH",name:"Maharashtra",subdivision:"state"},{code:"MN",name:"Manipur",subdivision:"state"},{code:"ML",name:"Meghalaya",subdivision:"state"},{code:"MZ",name:"Mizoram",subdivision:"state"},{code:"NL",name:"Nagaland",subdivision:"state"},{code:"OR",name:"Odisha",subdivision:"state"},{code:"PB",name:"Punjab",subdivision:"state"},{code:"RJ",name:"Rajasthan",subdivision:"state"},{code:"SK",name:"Sikkim",subdivision:"state"},{code:"TN",name:"Tamil Nadu",subdivision:"state"},{code:"TG",name:"Telangana",subdivision:"state"},{code:"TR",name:"Tripura",subdivision:"state"},{code:"UP",name:"Uttar Pradesh",subdivision:"state"},{code:"UT",name:"Uttarakhand",subdivision:"state"},{code:"WB",name:"West Bengal",subdivision:"state"}]},{code2:"ID",code3:"IDN",name:"Indonesia",capital:"Jakarta",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"JW",name:"Jawa",subdivision:null},{code:"KA",name:"Kalimantan",subdivision:null},{code:"ML",name:"Maluku",subdivision:null},{code:"NU",name:"Nusa Tenggara",subdivision:null},{code:"PP",name:"Papua",subdivision:null},{code:"SL",name:"Sulawesi",subdivision:null},{code:"SM",name:"Sumatera",subdivision:null}]},{code2:"CI",code3:"CIV",name:"Ivory Coast",capital:"Yamoussoukro",region:"Africa",subregion:"Western Africa",states:[{code:"06",name:"18 Montagnes",subdivision:null},{code:"16",name:"Agnébi",subdivision:null},{code:"17",name:"Bafing",subdivision:null},{code:"09",name:"Bas-Sassandra",subdivision:null},{code:"10",name:"Denguélé",subdivision:null},{code:"18",name:"Fromager",subdivision:null},{code:"02",name:"Haut-Sassandra",subdivision:null},{code:"07",name:"Lacs",subdivision:null},{code:"01",name:"Lagunes",subdivision:null},{code:"12",name:"Marahoué",subdivision:null},{code:"19",name:"Moyen-Cavally",subdivision:null},{code:"05",name:"Moyen-Comoé",subdivision:null},{code:"11",name:"Nzi-Comoé",subdivision:null},{code:"03",name:"Savanes",subdivision:null},{code:"15",name:"Sud-Bandama",subdivision:null},{code:"13",name:"Sud-Comoé",subdivision:null},{code:"04",name:"Vallée du Bandama",subdivision:null},{code:"14",name:"Worodougou",subdivision:null},{code:"08",name:"Zanzan",subdivision:null}]},{code2:"IR",code3:"IRN",name:"Iran",capital:"Tehran",region:"Asia",subregion:"Southern Asia",states:[{code:"32",name:"Alborz",subdivision:null},{code:"03",name:"Ardabīl",subdivision:null},{code:"06",name:"Būshehr",subdivision:null},{code:"08",name:"Chahār Maḩāll va Bakhtīārī",subdivision:null},{code:"04",name:"Eşfahān",subdivision:null},{code:"14",name:"Fārs",subdivision:null},{code:"27",name:"Golestān",subdivision:null},{code:"19",name:"Gīlān",subdivision:null},{code:"24",name:"Hamadān",subdivision:null},{code:"23",name:"Hormozgān",subdivision:null},{code:"15",name:"Kermān",subdivision:null},{code:"17",name:"Kermānshāh",subdivision:null},{code:"29",name:"Khorāsān-e Janūbī",subdivision:null},{code:"30",name:"Khorāsān-e Razavī",subdivision:null},{code:"31",name:"Khorāsān-e Shemālī",subdivision:null},{code:"10",name:"Khūzestān",subdivision:null},{code:"18",name:"Kohgīlūyeh va Būyer Aḩmad",subdivision:null},{code:"16",name:"Kordestān",subdivision:null},{code:"20",name:"Lorestān",subdivision:null},{code:"22",name:"Markazī",subdivision:null},{code:"21",name:"Māzandarān",subdivision:null},{code:"28",name:"Qazvīn",subdivision:null},{code:"26",name:"Qom",subdivision:null},{code:"12",name:"Semnān",subdivision:null},{code:"13",name:"Sīstān va Balūchestān",subdivision:null},{code:"07",name:"Tehrān",subdivision:null},{code:"25",name:"Yazd",subdivision:null},{code:"11",name:"Zanjān",subdivision:null},{code:"02",name:"Āz̄arbāyjān-e Gharbī",subdivision:null},{code:"01",name:"Āz̄arbāyjān-e Sharqī",subdivision:null},{code:"05",name:"Īlām",subdivision:null}]},{code2:"IQ",code3:"IRQ",name:"Iraq",capital:"Baghdad",region:"Asia",subregion:"Western Asia",states:[{code:"AN",name:"Al Anbār",subdivision:null},{code:"BA",name:"Al Başrah",subdivision:null},{code:"MU",name:"Al Muthanná",subdivision:null},{code:"QA",name:"Al Qādisīyah",subdivision:null},{code:"NA",name:"An Najaf",subdivision:null},{code:"AR",name:"Arbīl",subdivision:null},{code:"SU",name:"As Sulaymānīyah",subdivision:null},{code:"TS",name:"At Ta'mīm",subdivision:null},{code:"BG",name:"Baghdād",subdivision:null},{code:"BB",name:"Bābil",subdivision:null},{code:"DA",name:"Dahūk",subdivision:null},{code:"DQ",name:"Dhī Qār",subdivision:null},{code:"DI",name:"Diyālá",subdivision:null},{code:"KA",name:"Karbalā'",subdivision:null},{code:"MA",name:"Maysān",subdivision:null},{code:"NI",name:"Nīnawá",subdivision:null},{code:"WA",name:"Wāsiţ",subdivision:null},{code:"SD",name:"Şalāḩ ad Dīn",subdivision:null}]},{code2:"IE",code3:"IRL",name:"Republic of Ireland",capital:"Dublin",region:"Europe",subregion:"Northern Europe",states:[{code:"C",name:"Connaught",subdivision:null},{code:"L",name:"Leinster",subdivision:null},{code:"M",name:"Munster",subdivision:null},{code:"U",name:"Ulster",subdivision:null}]},{code2:"IM",code3:"IMN",name:"Isle of Man",capital:"Douglas",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"IL",code3:"ISR",name:"Israel",capital:"Jerusalem",region:"Asia",subregion:"Western Asia",states:[{code:"D",name:"HaDarom",subdivision:null},{code:"M",name:"HaMerkaz",subdivision:null},{code:"Z",name:"HaTsafon",subdivision:null},{code:"HA",name:"H̱efa",subdivision:null},{code:"TA",name:"Tel-Aviv",subdivision:null},{code:"JM",name:"Yerushalayim",subdivision:null}]},{code2:"IT",code3:"ITA",name:"Italy",capital:"Rome",region:"Europe",subregion:"Southern Europe",states:[{code:"65",name:"Abruzzo",subdivision:null},{code:"77",name:"Basilicata",subdivision:null},{code:"78",name:"Calabria",subdivision:null},{code:"72",name:"Campania",subdivision:null},{code:"45",name:"Emilia-Romagna",subdivision:null},{code:"36",name:"Friuli-Venezia Giulia",subdivision:null},{code:"62",name:"Lazio",subdivision:null},{code:"42",name:"Liguria",subdivision:null},{code:"25",name:"Lombardia",subdivision:null},{code:"57",name:"Marche",subdivision:null},{code:"67",name:"Molise",subdivision:null},{code:"21",name:"Piemonte",subdivision:null},{code:"75",name:"Puglia",subdivision:null},{code:"88",name:"Sardegna",subdivision:null},{code:"82",name:"Sicilia",subdivision:null},{code:"52",name:"Toscana",subdivision:null},{code:"32",name:"Trentino-Alto Adige",subdivision:null},{code:"55",name:"Umbria",subdivision:null},{code:"23",name:"Valle d'Aosta",subdivision:null},{code:"34",name:"Veneto",subdivision:null}]},{code2:"JM",code3:"JAM",name:"Jamaica",capital:"Kingston",region:"Americas",subregion:"Caribbean",states:[{code:"13",name:"Clarendon",subdivision:null},{code:"09",name:"Hanover",subdivision:null},{code:"01",name:"Kingston",subdivision:null},{code:"12",name:"Manchester",subdivision:null},{code:"04",name:"Portland",subdivision:null},{code:"02",name:"Saint Andrew",subdivision:null},{code:"06",name:"Saint Ann",subdivision:null},{code:"14",name:"Saint Catherine",subdivision:null},{code:"11",name:"Saint Elizabeth",subdivision:null},{code:"08",name:"Saint James",subdivision:null},{code:"05",name:"Saint Mary",subdivision:null},{code:"03",name:"Saint Thomas",subdivision:null},{code:"07",name:"Trelawny",subdivision:null},{code:"10",name:"Westmoreland",subdivision:null}]},{code2:"JP",code3:"JPN",name:"Japan",capital:"Tokyo",region:"Asia",subregion:"Eastern Asia",states:[{code:"23",name:"Aiti",subdivision:null},{code:"05",name:"Akita",subdivision:null},{code:"02",name:"Aomori",subdivision:null},{code:"38",name:"Ehime",subdivision:null},{code:"21",name:"Gihu",subdivision:null},{code:"10",name:"Gunma",subdivision:null},{code:"34",name:"Hirosima",subdivision:null},{code:"01",name:"Hokkaidô",subdivision:null},{code:"18",name:"Hukui",subdivision:null},{code:"40",name:"Hukuoka",subdivision:null},{code:"07",name:"Hukusima",subdivision:null},{code:"28",name:"Hyôgo",subdivision:null},{code:"08",name:"Ibaraki",subdivision:null},{code:"17",name:"Isikawa",subdivision:null},{code:"03",name:"Iwate",subdivision:null},{code:"37",name:"Kagawa",subdivision:null},{code:"46",name:"Kagosima",subdivision:null},{code:"14",name:"Kanagawa",subdivision:null},{code:"43",name:"Kumamoto",subdivision:null},{code:"26",name:"Kyôto",subdivision:null},{code:"39",name:"Kôti",subdivision:null},{code:"24",name:"Mie",subdivision:null},{code:"04",name:"Miyagi",subdivision:null},{code:"45",name:"Miyazaki",subdivision:null},{code:"20",name:"Nagano",subdivision:null},{code:"42",name:"Nagasaki",subdivision:null},{code:"29",name:"Nara",subdivision:null},{code:"15",name:"Niigata",subdivision:null},{code:"33",name:"Okayama",subdivision:null},{code:"47",name:"Okinawa",subdivision:null},{code:"41",name:"Saga",subdivision:null},{code:"11",name:"Saitama",subdivision:null},{code:"25",name:"Siga",subdivision:null},{code:"32",name:"Simane",subdivision:null},{code:"22",name:"Sizuoka",subdivision:null},{code:"12",name:"Tiba",subdivision:null},{code:"36",name:"Tokusima",subdivision:null},{code:"09",name:"Totigi",subdivision:null},{code:"31",name:"Tottori",subdivision:null},{code:"16",name:"Toyama",subdivision:null},{code:"13",name:"Tôkyô",subdivision:null},{code:"30",name:"Wakayama",subdivision:null},{code:"06",name:"Yamagata",subdivision:null},{code:"35",name:"Yamaguti",subdivision:null},{code:"19",name:"Yamanasi",subdivision:null},{code:"44",name:"Ôita",subdivision:null},{code:"27",name:"Ôsaka",subdivision:null}]},{code2:"JE",code3:"JEY",name:"Jersey",capital:"Saint Helier",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"JO",code3:"JOR",name:"Jordan",capital:"Amman",region:"Asia",subregion:"Western Asia",states:[{code:"BA",name:"Al Balqā'",subdivision:null},{code:"AQ",name:"Al ʽAqabah",subdivision:null},{code:"AZ",name:"Az Zarqā'",subdivision:null},{code:"AT",name:"Aţ Ţafīlah",subdivision:null},{code:"IR",name:"Irbid",subdivision:null},{code:"JA",name:"Jerash",subdivision:null},{code:"KA",name:"Karak",subdivision:null},{code:"MN",name:"Ma'ān",subdivision:null},{code:"MA",name:"Mafraq",subdivision:null},{code:"MD",name:"Mādabā",subdivision:null},{code:"AJ",name:"ʽAjlūn",subdivision:null},{code:"AM",name:"‘Ammān",subdivision:null}]},{code2:"KZ",code3:"KAZ",name:"Kazakhstan",capital:"Astana",region:"Asia",subregion:"Central Asia",states:[{code:"ALA",name:"Almaty",subdivision:null},{code:"ALM",name:"Almaty oblysy",subdivision:null},{code:"AKM",name:"Aqmola oblysy",subdivision:null},{code:"AKT",name:"Aqtöbe oblysy",subdivision:null},{code:"AST",name:"Astana",subdivision:null},{code:"ATY",name:"Atyraū oblysy",subdivision:null},{code:"ZAP",name:"Batys Qazaqstan oblysy",subdivision:null},{code:"MAN",name:"Mangghystaū oblysy",subdivision:null},{code:"YUZ",name:"Ongtüstik Qazaqstan oblysy",subdivision:null},{code:"PAV",name:"Pavlodar oblysy",subdivision:null},{code:"KAR",name:"Qaraghandy oblysy",subdivision:null},{code:"KUS",name:"Qostanay oblysy",subdivision:null},{code:"KZY",name:"Qyzylorda oblysy",subdivision:null},{code:"VOS",name:"Shyghys Qazaqstan oblysy",subdivision:null},{code:"SEV",name:"Soltüstik Qazaqstan oblysy",subdivision:null},{code:"ZHA",name:"Zhambyl oblysy",subdivision:null}]},{code2:"KE",code3:"KEN",name:"Kenya",capital:"Nairobi",region:"Africa",subregion:"Eastern Africa",states:[{code:"200",name:"Central",subdivision:null},{code:"300",name:"Coast",subdivision:null},{code:"400",name:"Eastern",subdivision:null},{code:"110",name:"Nairobi",subdivision:null},{code:"500",name:"North-Eastern",subdivision:null},{code:"600",name:"Nyanza",subdivision:null},{code:"700",name:"Rift Valley",subdivision:null},{code:"800",name:"Western",subdivision:null}]},{code2:"KI",code3:"KIR",name:"Kiribati",capital:"South Tarawa",region:"Oceania",subregion:"Micronesia",states:[{code:"G",name:"Gilbert Islands",subdivision:null},{code:"L",name:"Line Islands",subdivision:null},{code:"P",name:"Phoenix Islands",subdivision:null}]},{code2:"KW",code3:"KWT",name:"Kuwait",capital:"Kuwait City",region:"Asia",subregion:"Western Asia",states:[{code:"AH",name:"Al Aḩmadi",subdivision:null},{code:"FA",name:"Al Farwānīyah",subdivision:null},{code:"JA",name:"Al Jahrā’",subdivision:null},{code:"KU",name:"Al Kuwayt",subdivision:null},{code:"MU",name:"Mubārak al Kabīr",subdivision:null},{code:"HA",name:"Ḩawallī",subdivision:null}]},{code2:"KG",code3:"KGZ",name:"Kyrgyzstan",capital:"Bishkek",region:"Asia",subregion:"Central Asia",states:[{code:"B",name:"Batken",subdivision:null},{code:"GB",name:"Bishkek",subdivision:null},{code:"C",name:"Chü",subdivision:null},{code:"J",name:"Jalal-Abad",subdivision:null},{code:"N",name:"Naryn",subdivision:null},{code:"O",name:"Osh",subdivision:null},{code:"T",name:"Talas",subdivision:null},{code:"Y",name:"Ysyk-Köl",subdivision:null}]},{code2:"LA",code3:"LAO",name:"Laos",capital:"Vientiane",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"AT",name:"Attapu",subdivision:null},{code:"BK",name:"Bokèo",subdivision:null},{code:"BL",name:"Bolikhamxai",subdivision:null},{code:"CH",name:"Champasak",subdivision:null},{code:"HO",name:"Houaphan",subdivision:null},{code:"KH",name:"Khammouan",subdivision:null},{code:"LM",name:"Louang Namtha",subdivision:null},{code:"LP",name:"Louangphabang",subdivision:null},{code:"OU",name:"Oudômxai",subdivision:null},{code:"PH",name:"Phôngsali",subdivision:null},{code:"SL",name:"Salavan",subdivision:null},{code:"SV",name:"Savannakhét",subdivision:null},{code:"VT",name:"Vientiane",subdivision:null},{code:"VI",name:"Vientiane",subdivision:null},{code:"XA",name:"Xaignabouli",subdivision:null},{code:"XN",name:"Xaisômboun",subdivision:null},{code:"XI",name:"Xiangkhoang",subdivision:null},{code:"XE",name:"Xékong",subdivision:null}]},{code2:"LV",code3:"LVA",name:"Latvia",capital:"Riga",region:"Europe",subregion:"Northern Europe",states:[{code:"001",name:"Aglonas novads",subdivision:null},{code:"002",name:"Aizkraukles novads",subdivision:null},{code:"003",name:"Aizputes novads",subdivision:null},{code:"004",name:"Aknīstes novads",subdivision:null},{code:"005",name:"Alojas novads",subdivision:null},{code:"006",name:"Alsungas novads",subdivision:null},{code:"007",name:"Alūksnes novads",subdivision:null},{code:"008",name:"Amatas novads",subdivision:null},{code:"009",name:"Apes novads",subdivision:null},{code:"010",name:"Auces novads",subdivision:null},{code:"012",name:"Babītes novads",subdivision:null},{code:"013",name:"Baldones novads",subdivision:null},{code:"014",name:"Baltinavas novads",subdivision:null},{code:"015",name:"Balvu novads",subdivision:null},{code:"016",name:"Bauskas novads",subdivision:null},{code:"017",name:"Beverīnas novads",subdivision:null},{code:"018",name:"Brocēnu novads",subdivision:null},{code:"019",name:"Burtnieku novads",subdivision:null},{code:"020",name:"Carnikavas novads",subdivision:null},{code:"021",name:"Cesvaines novads",subdivision:null},{code:"023",name:"Ciblas novads",subdivision:null},{code:"022",name:"Cēsu novads",subdivision:null},{code:"024",name:"Dagdas novads",subdivision:null},{code:"DGV",name:"Daugavpils",subdivision:null},{code:"025",name:"Daugavpils novads",subdivision:null},{code:"026",name:"Dobeles novads",subdivision:null},{code:"027",name:"Dundagas novads",subdivision:null},{code:"028",name:"Durbes novads",subdivision:null},{code:"029",name:"Engures novads",subdivision:null},{code:"031",name:"Garkalnes novads",subdivision:null},{code:"032",name:"Grobiņas novads",subdivision:null},{code:"033",name:"Gulbenes novads",subdivision:null},{code:"034",name:"Iecavas novads",subdivision:null},{code:"035",name:"Ikšķiles novads",subdivision:null},{code:"036",name:"Ilūkstes novads",subdivision:null},{code:"037",name:"Inčukalna novads",subdivision:null},{code:"038",name:"Jaunjelgavas novads",subdivision:null},{code:"039",name:"Jaunpiebalgas novads",subdivision:null},{code:"040",name:"Jaunpils novads",subdivision:null},{code:"JEL",name:"Jelgava",subdivision:null},{code:"041",name:"Jelgavas novads",subdivision:null},{code:"JKB",name:"Jēkabpils",subdivision:null},{code:"042",name:"Jēkabpils novads",subdivision:null},{code:"JUR",name:"Jūrmala",subdivision:null},{code:"043",name:"Kandavas novads",subdivision:null},{code:"045",name:"Kocēnu novads",subdivision:null},{code:"046",name:"Kokneses novads",subdivision:null},{code:"048",name:"Krimuldas novads",subdivision:null},{code:"049",name:"Krustpils novads",subdivision:null},{code:"047",name:"Krāslavas novads",subdivision:null},{code:"050",name:"Kuldīgas novads",subdivision:null},{code:"044",name:"Kārsavas novads",subdivision:null},{code:"053",name:"Lielvārdes novads",subdivision:null},{code:"LPX",name:"Liepāja",subdivision:null},{code:"054",name:"Limbažu novads",subdivision:null},{code:"057",name:"Lubānas novads",subdivision:null},{code:"058",name:"Ludzas novads",subdivision:null},{code:"055",name:"Līgatnes novads",subdivision:null},{code:"056",name:"Līvānu novads",subdivision:null},{code:"059",name:"Madonas novads",subdivision:null},{code:"060",name:"Mazsalacas novads",subdivision:null},{code:"061",name:"Mālpils novads",subdivision:null},{code:"062",name:"Mārupes novads",subdivision:null},{code:"063",name:"Mērsraga novads",subdivision:null},{code:"064",name:"Naukšēnu novads",subdivision:null},{code:"065",name:"Neretas novads",subdivision:null},{code:"066",name:"Nīcas novads",subdivision:null},{code:"067",name:"Ogres novads",subdivision:null},{code:"068",name:"Olaines novads",subdivision:null},{code:"069",name:"Ozolnieku novads",subdivision:null},{code:"073",name:"Preiļu novads",subdivision:null},{code:"074",name:"Priekules novads",subdivision:null},{code:"075",name:"Priekuļu novads",subdivision:null},{code:"070",name:"Pārgaujas novads",subdivision:null},{code:"071",name:"Pāvilostas novads",subdivision:null},{code:"072",name:"Pļaviņu novads",subdivision:null},{code:"076",name:"Raunas novads",subdivision:null},{code:"078",name:"Riebiņu novads",subdivision:null},{code:"079",name:"Rojas novads",subdivision:null},{code:"080",name:"Ropažu novads",subdivision:null},{code:"081",name:"Rucavas novads",subdivision:null},{code:"082",name:"Rugāju novads",subdivision:null},{code:"083",name:"Rundāles novads",subdivision:null},{code:"REZ",name:"Rēzekne",subdivision:null},{code:"077",name:"Rēzeknes novads",subdivision:null},{code:"RIX",name:"Rīga",subdivision:null},{code:"084",name:"Rūjienas novads",subdivision:null},{code:"086",name:"Salacgrīvas novads",subdivision:null},{code:"085",name:"Salas novads",subdivision:null},{code:"087",name:"Salaspils novads",subdivision:null},{code:"088",name:"Saldus novads",subdivision:null},{code:"089",name:"Saulkrastu novads",subdivision:null},{code:"091",name:"Siguldas novads",subdivision:null},{code:"093",name:"Skrundas novads",subdivision:null},{code:"092",name:"Skrīveru novads",subdivision:null},{code:"094",name:"Smiltenes novads",subdivision:null},{code:"095",name:"Stopiņu novads",subdivision:null},{code:"096",name:"Strenču novads",subdivision:null},{code:"090",name:"Sējas novads",subdivision:null},{code:"097",name:"Talsu novads",subdivision:null},{code:"099",name:"Tukuma novads",subdivision:null},{code:"098",name:"Tērvetes novads",subdivision:null},{code:"100",name:"Vaiņodes novads",subdivision:null},{code:"101",name:"Valkas novads",subdivision:null},{code:"VMR",name:"Valmiera",subdivision:null},{code:"102",name:"Varakļānu novads",subdivision:null},{code:"104",name:"Vecpiebalgas novads",subdivision:null},{code:"105",name:"Vecumnieku novads",subdivision:null},{code:"VEN",name:"Ventspils",subdivision:null},{code:"106",name:"Ventspils novads",subdivision:null},{code:"107",name:"Viesītes novads",subdivision:null},{code:"108",name:"Viļakas novads",subdivision:null},{code:"109",name:"Viļānu novads",subdivision:null},{code:"103",name:"Vārkavas novads",subdivision:null},{code:"110",name:"Zilupes novads",subdivision:null},{code:"011",name:"Ādažu novads",subdivision:null},{code:"030",name:"Ērgļu novads",subdivision:null},{code:"051",name:"Ķeguma novads",subdivision:null},{code:"052",name:"Ķekavas novads",subdivision:null}]},{code2:"LB",code3:"LBN",name:"Lebanon",capital:"Beirut",region:"Asia",subregion:"Western Asia",states:[{code:"AK",name:"Aakkâr",subdivision:null},{code:"BH",name:"Baalbek-Hermel",subdivision:null},{code:"BA",name:"Beyrouth",subdivision:null},{code:"BI",name:"Béqaa",subdivision:null},{code:"AS",name:"Liban-Nord",subdivision:null},{code:"JA",name:"Liban-Sud",subdivision:null},{code:"JL",name:"Mont-Liban",subdivision:null},{code:"NA",name:"Nabatîyé",subdivision:null}]},{code2:"LS",code3:"LSO",name:"Lesotho",capital:"Maseru",region:"Africa",subregion:"Southern Africa",states:[{code:"D",name:"Berea",subdivision:null},{code:"B",name:"Butha-Buthe",subdivision:null},{code:"C",name:"Leribe",subdivision:null},{code:"E",name:"Mafeteng",subdivision:null},{code:"A",name:"Maseru",subdivision:null},{code:"F",name:"Mohale's Hoek",subdivision:null},{code:"J",name:"Mokhotlong",subdivision:null},{code:"H",name:"Qacha's Nek",subdivision:null},{code:"G",name:"Quthing",subdivision:null},{code:"K",name:"Thaba-Tseka",subdivision:null}]},{code2:"LR",code3:"LBR",name:"Liberia",capital:"Monrovia",region:"Africa",subregion:"Western Africa",states:[{code:"BM",name:"Bomi",subdivision:null},{code:"BG",name:"Bong",subdivision:null},{code:"GP",name:"Gbarpolu",subdivision:null},{code:"GB",name:"Grand Bassa",subdivision:null},{code:"CM",name:"Grand Cape Mount",subdivision:null},{code:"GG",name:"Grand Gedeh",subdivision:null},{code:"GK",name:"Grand Kru",subdivision:null},{code:"LO",name:"Lofa",subdivision:null},{code:"MG",name:"Margibi",subdivision:null},{code:"MY",name:"Maryland",subdivision:null},{code:"MO",name:"Montserrado",subdivision:null},{code:"NI",name:"Nimba",subdivision:null},{code:"RG",name:"River Gee",subdivision:null},{code:"RI",name:"Rivercess",subdivision:null},{code:"SI",name:"Sinoe",subdivision:null}]},{code2:"LY",code3:"LBY",name:"Libya",capital:"Tripoli",region:"Africa",subregion:"Northern Africa",states:[{code:"BU",name:"Al Buţnān",subdivision:null},{code:"JA",name:"Al Jabal al Akhḑar",subdivision:null},{code:"JG",name:"Al Jabal al Gharbī",subdivision:null},{code:"JI",name:"Al Jifārah",subdivision:null},{code:"JU",name:"Al Jufrah",subdivision:null},{code:"KF",name:"Al Kufrah",subdivision:null},{code:"MJ",name:"Al Marj",subdivision:null},{code:"MB",name:"Al Marqab",subdivision:null},{code:"WA",name:"Al Wāḩāt",subdivision:null},{code:"NQ",name:"An Nuqaţ al Khams",subdivision:null},{code:"ZA",name:"Az Zāwiyah",subdivision:null},{code:"BA",name:"Banghāzī",subdivision:null},{code:"DR",name:"Darnah",subdivision:null},{code:"GT",name:"Ghāt",subdivision:null},{code:"MI",name:"Mişrātah",subdivision:null},{code:"MQ",name:"Murzuq",subdivision:null},{code:"NL",name:"Nālūt",subdivision:null},{code:"SB",name:"Sabhā",subdivision:null},{code:"SR",name:"Surt",subdivision:null},{code:"WD",name:"Wādī al Ḩayāt",subdivision:null},{code:"WS",name:"Wādī ash Shāţiʾ",subdivision:null},{code:"TB",name:"Ţarābulus",subdivision:null}]},{code2:"LI",code3:"LIE",name:"Liechtenstein",capital:"Vaduz",region:"Europe",subregion:"Western Europe",states:[{code:"01",name:"Balzers",subdivision:null},{code:"02",name:"Eschen",subdivision:null},{code:"03",name:"Gamprin",subdivision:null},{code:"04",name:"Mauren",subdivision:null},{code:"05",name:"Planken",subdivision:null},{code:"06",name:"Ruggell",subdivision:null},{code:"07",name:"Schaan",subdivision:null},{code:"08",name:"Schellenberg",subdivision:null},{code:"09",name:"Triesen",subdivision:null},{code:"10",name:"Triesenberg",subdivision:null},{code:"11",name:"Vaduz",subdivision:null}]},{code2:"LT",code3:"LTU",name:"Lithuania",capital:"Vilnius",region:"Europe",subregion:"Northern Europe",states:[{code:"AL",name:"Alytaus Apskritis",subdivision:null},{code:"KU",name:"Kauno Apskritis",subdivision:null},{code:"KL",name:"Klaipėdos Apskritis",subdivision:null},{code:"MR",name:"Marijampolės Apskritis",subdivision:null},{code:"PN",name:"Panevėžio Apskritis",subdivision:null},{code:"TA",name:"Tauragės Apskritis",subdivision:null},{code:"TE",name:"Telšių Apskritis",subdivision:null},{code:"UT",name:"Utenos Apskritis",subdivision:null},{code:"VL",name:"Vilniaus Apskritis",subdivision:null},{code:"SA",name:"Šiaulių Apskritis",subdivision:null}]},{code2:"LU",code3:"LUX",name:"Luxembourg",capital:"Luxembourg",region:"Europe",subregion:"Western Europe",states:[{code:"D",name:"Diekirch",subdivision:null},{code:"G",name:"Grevenmacher",subdivision:null},{code:"L",name:"Luxembourg",subdivision:null}]},{code2:"MO",code3:"MAC",name:"Macau",capital:"",region:"Asia",subregion:"Eastern Asia",states:[]},{code2:"MK",code3:"MKD",name:"Republic of Macedonia",capital:"Skopje",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Aerodrom",subdivision:null},{code:"02",name:"Aračinovo",subdivision:null},{code:"03",name:"Berovo",subdivision:null},{code:"04",name:"Bitola",subdivision:null},{code:"05",name:"Bogdanci",subdivision:null},{code:"06",name:"Bogovinje",subdivision:null},{code:"07",name:"Bosilovo",subdivision:null},{code:"08",name:"Brvenica",subdivision:null},{code:"09",name:"Butel",subdivision:null},{code:"77",name:"Centar",subdivision:null},{code:"78",name:"Centar Župa",subdivision:null},{code:"21",name:"Debar",subdivision:null},{code:"22",name:"Debarca",subdivision:null},{code:"23",name:"Delčevo",subdivision:null},{code:"25",name:"Demir Hisar",subdivision:null},{code:"24",name:"Demir Kapija",subdivision:null},{code:"26",name:"Dojran",subdivision:null},{code:"27",name:"Dolneni",subdivision:null},{code:"28",name:"Drugovo",subdivision:null},{code:"17",name:"Gazi Baba",subdivision:null},{code:"18",name:"Gevgelija",subdivision:null},{code:"29",name:"Gjorče Petrov",subdivision:null},{code:"19",name:"Gostivar",subdivision:null},{code:"20",name:"Gradsko",subdivision:null},{code:"34",name:"Ilinden",subdivision:null},{code:"35",name:"Jegunovce",subdivision:null},{code:"37",name:"Karbinci",subdivision:null},{code:"38",name:"Karpoš",subdivision:null},{code:"36",name:"Kavadarci",subdivision:null},{code:"39",name:"Kisela Voda",subdivision:null},{code:"40",name:"Kičevo",subdivision:null},{code:"41",name:"Konče",subdivision:null},{code:"42",name:"Kočani",subdivision:null},{code:"43",name:"Kratovo",subdivision:null},{code:"44",name:"Kriva Palanka",subdivision:null},{code:"45",name:"Krivogaštani",subdivision:null},{code:"46",name:"Kruševo",subdivision:null},{code:"47",name:"Kumanovo",subdivision:null},{code:"48",name:"Lipkovo",subdivision:null},{code:"49",name:"Lozovo",subdivision:null},{code:"51",name:"Makedonska Kamenica",subdivision:null},{code:"52",name:"Makedonski Brod",subdivision:null},{code:"50",name:"Mavrovo i Rostuša",subdivision:null},{code:"53",name:"Mogila",subdivision:null},{code:"54",name:"Negotino",subdivision:null},{code:"55",name:"Novaci",subdivision:null},{code:"56",name:"Novo Selo",subdivision:null},{code:"58",name:"Ohrid",subdivision:null},{code:"57",name:"Oslomej",subdivision:null},{code:"60",name:"Pehčevo",subdivision:null},{code:"59",name:"Petrovec",subdivision:null},{code:"61",name:"Plasnica",subdivision:null},{code:"62",name:"Prilep",subdivision:null},{code:"63",name:"Probištip",subdivision:null},{code:"64",name:"Radoviš",subdivision:null},{code:"65",name:"Rankovce",subdivision:null},{code:"66",name:"Resen",subdivision:null},{code:"67",name:"Rosoman",subdivision:null},{code:"68",name:"Saraj",subdivision:null},{code:"70",name:"Sopište",subdivision:null},{code:"71",name:"Staro Nagoričane",subdivision:null},{code:"72",name:"Struga",subdivision:null},{code:"73",name:"Strumica",subdivision:null},{code:"74",name:"Studeničani",subdivision:null},{code:"69",name:"Sveti Nikole",subdivision:null},{code:"75",name:"Tearce",subdivision:null},{code:"76",name:"Tetovo",subdivision:null},{code:"10",name:"Valandovo",subdivision:null},{code:"11",name:"Vasilevo",subdivision:null},{code:"13",name:"Veles",subdivision:null},{code:"12",name:"Vevčani",subdivision:null},{code:"14",name:"Vinica",subdivision:null},{code:"15",name:"Vraneštica",subdivision:null},{code:"16",name:"Vrapčište",subdivision:null},{code:"31",name:"Zajas",subdivision:null},{code:"32",name:"Zelenikovo",subdivision:null},{code:"33",name:"Zrnovci",subdivision:null},{code:"79",name:"Čair",subdivision:null},{code:"80",name:"Čaška",subdivision:null},{code:"81",name:"Češinovo-Obleševo",subdivision:null},{code:"82",name:"Čučer Sandevo",subdivision:null},{code:"83",name:"Štip",subdivision:null},{code:"84",name:"Šuto Orizari",subdivision:null},{code:"30",name:"Želino",subdivision:null}]},{code2:"MG",code3:"MDG",name:"Madagascar",capital:"Antananarivo",region:"Africa",subregion:"Eastern Africa",states:[{code:"T",name:"Antananarivo",subdivision:null},{code:"D",name:"Antsiranana",subdivision:null},{code:"F",name:"Fianarantsoa",subdivision:null},{code:"M",name:"Mahajanga",subdivision:null},{code:"A",name:"Toamasina",subdivision:null},{code:"U",name:"Toliara",subdivision:null}]},{code2:"MW",code3:"MWI",name:"Malawi",capital:"Lilongwe",region:"Africa",subregion:"Eastern Africa",states:[{code:"C",name:"Central Region",subdivision:null},{code:"N",name:"Northern Region",subdivision:null},{code:"S",name:"Southern Region",subdivision:null}]},{code2:"MY",code3:"MYS",name:"Malaysia",capital:"Kuala Lumpur",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"14",name:"Wilayah Persekutuan Kuala Lumpur",subdivision:"federal territory"},{code:"15",name:"Wilayah Persekutuan Labuan",subdivision:"federal territory"},{code:"16",name:"Wilayah Persekutuan Putrajaya",subdivision:"federal territory"},{code:"01",name:"Johor",subdivision:"state"},{code:"02",name:"Kedah",subdivision:"state"},{code:"03",name:"Kelantan",subdivision:"state"},{code:"04",name:"Melaka",subdivision:"state"},{code:"05",name:"Negeri Sembilan",subdivision:"state"},{code:"06",name:"Pahang",subdivision:"state"},{code:"08",name:"Perak",subdivision:"state"},{code:"09",name:"Perlis",subdivision:"state"},{code:"07",name:"Pulau Pinang",subdivision:"state"},{code:"12",name:"Sabah",subdivision:"state"},{code:"13",name:"Sarawak",subdivision:"state"},{code:"10",name:"Selangor",subdivision:"state"},{code:"11",name:"Terengganu",subdivision:"state"}]},{code2:"MV",code3:"MDV",name:"Maldives",capital:"Malé",region:"Asia",subregion:"Southern Asia",states:[{code:"CE",name:"Central",subdivision:null},{code:"MLE",name:"Male",subdivision:null},{code:"NO",name:"North",subdivision:null},{code:"NC",name:"North Central",subdivision:null},{code:"SU",name:"South",subdivision:null},{code:"SC",name:"South Central",subdivision:null},{code:"UN",name:"Upper North",subdivision:null},{code:"US",name:"Upper South",subdivision:null}]},{code2:"ML",code3:"MLI",name:"Mali",capital:"Bamako",region:"Africa",subregion:"Western Africa",states:[{code:"BKO",name:"Bamako",subdivision:null},{code:"7",name:"Gao",subdivision:null},{code:"1",name:"Kayes",subdivision:null},{code:"8",name:"Kidal",subdivision:null},{code:"2",name:"Koulikoro",subdivision:null},{code:"5",name:"Mopti",subdivision:null},{code:"3",name:"Sikasso",subdivision:null},{code:"4",name:"Ségou",subdivision:null},{code:"6",name:"Tombouctou",subdivision:null}]},{code2:"MT",code3:"MLT",name:"Malta",capital:"Valletta",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Attard",subdivision:null},{code:"02",name:"Balzan",subdivision:null},{code:"03",name:"Birgu",subdivision:null},{code:"04",name:"Birkirkara",subdivision:null},{code:"05",name:"Birżebbuġa",subdivision:null},{code:"06",name:"Bormla",subdivision:null},{code:"07",name:"Dingli",subdivision:null},{code:"08",name:"Fgura",subdivision:null},{code:"09",name:"Floriana",subdivision:null},{code:"10",name:"Fontana",subdivision:null},{code:"11",name:"Gudja",subdivision:null},{code:"13",name:"Għajnsielem",subdivision:null},{code:"14",name:"Għarb",subdivision:null},{code:"15",name:"Għargħur",subdivision:null},{code:"16",name:"Għasri",subdivision:null},{code:"17",name:"Għaxaq",subdivision:null},{code:"12",name:"Gżira",subdivision:null},{code:"19",name:"Iklin",subdivision:null},{code:"20",name:"Isla",subdivision:null},{code:"21",name:"Kalkara",subdivision:null},{code:"22",name:"Kerċem",subdivision:null},{code:"23",name:"Kirkop",subdivision:null},{code:"24",name:"Lija",subdivision:null},{code:"25",name:"Luqa",subdivision:null},{code:"26",name:"Marsa",subdivision:null},{code:"27",name:"Marsaskala",subdivision:null},{code:"28",name:"Marsaxlokk",subdivision:null},{code:"29",name:"Mdina",subdivision:null},{code:"30",name:"Mellieħa",subdivision:null},{code:"32",name:"Mosta",subdivision:null},{code:"33",name:"Mqabba",subdivision:null},{code:"34",name:"Msida",subdivision:null},{code:"35",name:"Mtarfa",subdivision:null},{code:"36",name:"Munxar",subdivision:null},{code:"31",name:"Mġarr",subdivision:null},{code:"37",name:"Nadur",subdivision:null},{code:"38",name:"Naxxar",subdivision:null},{code:"39",name:"Paola",subdivision:null},{code:"40",name:"Pembroke",subdivision:null},{code:"41",name:"Pietà",subdivision:null},{code:"42",name:"Qala",subdivision:null},{code:"43",name:"Qormi",subdivision:null},{code:"44",name:"Qrendi",subdivision:null},{code:"45",name:"Rabat Għawdex",subdivision:null},{code:"46",name:"Rabat Malta",subdivision:null},{code:"47",name:"Safi",subdivision:null},{code:"50",name:"San Lawrenz",subdivision:null},{code:"51",name:"San Pawl il-Baħar",subdivision:null},{code:"48",name:"San Ġiljan",subdivision:null},{code:"49",name:"San Ġwann",subdivision:null},{code:"52",name:"Sannat",subdivision:null},{code:"53",name:"Santa Luċija",subdivision:null},{code:"54",name:"Santa Venera",subdivision:null},{code:"55",name:"Siġġiewi",subdivision:null},{code:"56",name:"Sliema",subdivision:null},{code:"57",name:"Swieqi",subdivision:null},{code:"58",name:"Ta' Xbiex",subdivision:null},{code:"59",name:"Tarxien",subdivision:null},{code:"60",name:"Valletta",subdivision:null},{code:"61",name:"Xagħra",subdivision:null},{code:"62",name:"Xewkija",subdivision:null},{code:"63",name:"Xgħajra",subdivision:null},{code:"18",name:"Ħamrun",subdivision:null},{code:"64",name:"Żabbar",subdivision:null},{code:"65",name:"Żebbuġ Għawdex",subdivision:null},{code:"66",name:"Żebbuġ Malta",subdivision:null},{code:"67",name:"Żejtun",subdivision:null},{code:"68",name:"Żurrieq",subdivision:null}]},{code2:"MH",code3:"MHL",name:"Marshall Islands",capital:"Majuro",region:"Oceania",subregion:"Micronesia",states:[{code:"L",name:"Ralik chain",subdivision:null},{code:"T",name:"Ratak chain",subdivision:null}]},{code2:"MQ",code3:"MTQ",name:"Martinique",capital:"Fort-de-France",region:"Americas",subregion:"Caribbean",states:[]},{code2:"MR",code3:"MRT",name:"Mauritania",capital:"Nouakchott",region:"Africa",subregion:"Western Africa",states:[{code:"07",name:"Adrar",subdivision:null},{code:"03",name:"Assaba",subdivision:null},{code:"05",name:"Brakna",subdivision:null},{code:"08",name:"Dakhlet Nouâdhibou",subdivision:null},{code:"04",name:"Gorgol",subdivision:null},{code:"10",name:"Guidimaka",subdivision:null},{code:"01",name:"Hodh ech Chargui",subdivision:null},{code:"02",name:"Hodh el Gharbi",subdivision:null},{code:"12",name:"Inchiri",subdivision:null},{code:"NKC",name:"Nouakchott",subdivision:null},{code:"09",name:"Tagant",subdivision:null},{code:"11",name:"Tiris Zemmour",subdivision:null},{code:"06",name:"Trarza",subdivision:null}]},{code2:"MU",code3:"MUS",name:"Mauritius",capital:"Port Louis",region:"Africa",subregion:"Eastern Africa",states:[{code:"AG",name:"Agalega Islands",subdivision:null},{code:"BR",name:"Beau Bassin-Rose Hill",subdivision:null},{code:"BL",name:"Black River",subdivision:null},{code:"CC",name:"Cargados Carajos Shoals",subdivision:null},{code:"CU",name:"Curepipe",subdivision:null},{code:"FL",name:"Flacq",subdivision:null},{code:"GP",name:"Grand Port",subdivision:null},{code:"MO",name:"Moka",subdivision:null},{code:"PA",name:"Pamplemousses",subdivision:null},{code:"PW",name:"Plaines Wilhems",subdivision:null},{code:"PL",name:"Port Louis",subdivision:null},{code:"PU",name:"Port Louis",subdivision:null},{code:"QB",name:"Quatre Bornes",subdivision:null},{code:"RR",name:"Rivière du Rempart",subdivision:null},{code:"RO",name:"Rodrigues Island",subdivision:null},{code:"SA",name:"Savanne",subdivision:null},{code:"VP",name:"Vacoas-Phoenix",subdivision:null}]},{code2:"YT",code3:"MYT",name:"Mayotte",capital:"Mamoudzou",region:"Africa",subregion:"Eastern Africa",states:[]},{code2:"MX",code3:"MEX",name:"Mexico",capital:"Mexico City",region:"Americas",subregion:"Central America",states:[{code:"DIF",name:"Distrito Federal",subdivision:"federal district"},{code:"AGU",name:"Aguascalientes",subdivision:"state"},{code:"BCN",name:"Baja California",subdivision:"state"},{code:"BCS",name:"Baja California Sur",subdivision:"state"},{code:"CAM",name:"Campeche",subdivision:"state"},{code:"CHP",name:"Chiapas",subdivision:"state"},{code:"CHH",name:"Chihuahua",subdivision:"state"},{code:"COA",name:"Coahuila",subdivision:"state"},{code:"COL",name:"Colima",subdivision:"state"},{code:"DUR",name:"Durango",subdivision:"state"},{code:"GUA",name:"Guanajuato",subdivision:"state"},{code:"GRO",name:"Guerrero",subdivision:"state"},{code:"HID",name:"Hidalgo",subdivision:"state"},{code:"JAL",name:"Jalisco",subdivision:"state"},{code:"MIC",name:"Michoacán",subdivision:"state"},{code:"MOR",name:"Morelos",subdivision:"state"},{code:"MEX",name:"México",subdivision:"state"},{code:"NAY",name:"Nayarit",subdivision:"state"},{code:"NLE",name:"Nuevo León",subdivision:"state"},{code:"OAX",name:"Oaxaca",subdivision:"state"},{code:"PUE",name:"Puebla",subdivision:"state"},{code:"QUE",name:"Querétaro",subdivision:"state"},{code:"ROO",name:"Quintana Roo",subdivision:"state"},{code:"SLP",name:"San Luis Potosí",subdivision:"state"},{code:"SIN",name:"Sinaloa",subdivision:"state"},{code:"SON",name:"Sonora",subdivision:"state"},{code:"TAB",name:"Tabasco",subdivision:"state"},{code:"TAM",name:"Tamaulipas",subdivision:"state"},{code:"TLA",name:"Tlaxcala",subdivision:"state"},{code:"VER",name:"Veracruz",subdivision:"state"},{code:"YUC",name:"Yucatán",subdivision:"state"},{code:"ZAC",name:"Zacatecas",subdivision:"state"}]},{code2:"FM",code3:"FSM",name:"Federated States of Micronesia",capital:"Palikir",region:"Oceania",subregion:"Micronesia",states:[{code:"TRK",name:"Chuuk",subdivision:null},{code:"KSA",name:"Kosrae",subdivision:null},{code:"PNI",name:"Pohnpei",subdivision:null},{code:"YAP",name:"Yap",subdivision:null}]},{code2:"MD",code3:"MDA",name:"Moldova",capital:"Chișinău",region:"Europe",subregion:"Eastern Europe",states:[{code:"AN",name:"Anenii Noi",subdivision:null},{code:"BS",name:"Basarabeasca",subdivision:null},{code:"BR",name:"Briceni",subdivision:null},{code:"BA",name:"Bălţi",subdivision:null},{code:"CA",name:"Cahul",subdivision:null},{code:"CT",name:"Cantemir",subdivision:null},{code:"CU",name:"Chişinău",subdivision:null},{code:"CM",name:"Cimişlia",subdivision:null},{code:"CR",name:"Criuleni",subdivision:null},{code:"CL",name:"Călăraşi",subdivision:null},{code:"CS",name:"Căuşeni",subdivision:null},{code:"DO",name:"Donduşeni",subdivision:null},{code:"DR",name:"Drochia",subdivision:null},{code:"DU",name:"Dubăsari",subdivision:null},{code:"ED",name:"Edineţ",subdivision:null},{code:"FL",name:"Floreşti",subdivision:null},{code:"FA",name:"Făleşti",subdivision:null},{code:"GL",name:"Glodeni",subdivision:null},{code:"GA",name:"Găgăuzia, Unitatea teritorială autonomă",subdivision:null},{code:"HI",name:"Hînceşti",subdivision:null},{code:"IA",name:"Ialoveni",subdivision:null},{code:"LE",name:"Leova",subdivision:null},{code:"NI",name:"Nisporeni",subdivision:null},{code:"OC",name:"Ocniţa",subdivision:null},{code:"OR",name:"Orhei",subdivision:null},{code:"RE",name:"Rezina",subdivision:null},{code:"RI",name:"Rîşcani",subdivision:null},{code:"SO",name:"Soroca",subdivision:null},{code:"ST",name:"Străşeni",subdivision:null},{code:"SN",name:"Stînga Nistrului, unitatea teritorială din",subdivision:null},{code:"SI",name:"Sîngerei",subdivision:null},{code:"TA",name:"Taraclia",subdivision:null},{code:"TE",name:"Teleneşti",subdivision:null},{code:"BD",name:"Tighina",subdivision:null},{code:"UN",name:"Ungheni",subdivision:null},{code:"SD",name:"Şoldăneşti",subdivision:null},{code:"SV",name:"Ştefan Vodă",subdivision:null}]},{code2:"MC",code3:"MCO",name:"Monaco",capital:"Monaco",region:"Europe",subregion:"Western Europe",states:[{code:"FO",name:"Fontvieille",subdivision:null},{code:"JE",name:"Jardin Exotique",subdivision:null},{code:"CL",name:"La Colle",subdivision:null},{code:"CO",name:"La Condamine",subdivision:null},{code:"GA",name:"La Gare",subdivision:null},{code:"SO",name:"La Source",subdivision:null},{code:"LA",name:"Larvotto",subdivision:null},{code:"MA",name:"Malbousquet",subdivision:null},{code:"MO",name:"Monaco-Ville",subdivision:null},{code:"MG",name:"Moneghetti",subdivision:null},{code:"MC",name:"Monte-Carlo",subdivision:null},{code:"MU",name:"Moulins",subdivision:null},{code:"PH",name:"Port-Hercule",subdivision:null},{code:"SR",name:"Saint-Roman",subdivision:null},{code:"SD",name:"Sainte-Dévote",subdivision:null},{code:"SP",name:"Spélugues",subdivision:null},{code:"VR",name:"Vallon de la Rousse",subdivision:null}]},{code2:"MN",code3:"MNG",name:"Mongolia",capital:"Ulan Bator",region:"Asia",subregion:"Eastern Asia",states:[{code:"073",name:"Arhangay",subdivision:null},{code:"071",name:"Bayan-Ölgiy",subdivision:null},{code:"069",name:"Bayanhongor",subdivision:null},{code:"067",name:"Bulgan",subdivision:null},{code:"037",name:"Darhan uul",subdivision:null},{code:"061",name:"Dornod",subdivision:null},{code:"063",name:"Dornogovĭ",subdivision:null},{code:"059",name:"Dundgovĭ",subdivision:null},{code:"057",name:"Dzavhan",subdivision:null},{code:"065",name:"Govĭ-Altay",subdivision:null},{code:"064",name:"Govĭ-Sümber",subdivision:null},{code:"039",name:"Hentiy",subdivision:null},{code:"043",name:"Hovd",subdivision:null},{code:"041",name:"Hövsgöl",subdivision:null},{code:"035",name:"Orhon",subdivision:null},{code:"049",name:"Selenge",subdivision:null},{code:"051",name:"Sühbaatar",subdivision:null},{code:"047",name:"Töv",subdivision:null},{code:"1",name:"Ulaanbaatar",subdivision:null},{code:"046",name:"Uvs",subdivision:null},{code:"053",name:"Ömnögovĭ",subdivision:null},{code:"055",name:"Övörhangay",subdivision:null}]},{code2:"ME",code3:"MNE",name:"Montenegro",capital:"Podgorica",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Andrijevica",subdivision:null},{code:"02",name:"Bar",subdivision:null},{code:"03",name:"Berane",subdivision:null},{code:"04",name:"Bijelo Polje",subdivision:null},{code:"05",name:"Budva",subdivision:null},{code:"06",name:"Cetinje",subdivision:null},{code:"07",name:"Danilovgrad",subdivision:null},{code:"22",name:"Gusinje",subdivision:null},{code:"08",name:"Herceg-Novi",subdivision:null},{code:"09",name:"Kolašin",subdivision:null},{code:"10",name:"Kotor",subdivision:null},{code:"11",name:"Mojkovac",subdivision:null},{code:"12",name:"Nikšić",subdivision:null},{code:"23",name:"Petnjica",subdivision:null},{code:"13",name:"Plav",subdivision:null},{code:"14",name:"Pljevlja",subdivision:null},{code:"15",name:"Plužine",subdivision:null},{code:"16",name:"Podgorica",subdivision:null},{code:"17",name:"Rožaje",subdivision:null},{code:"19",name:"Tivat",subdivision:null},{code:"20",name:"Ulcinj",subdivision:null},{code:"18",name:"Šavnik",subdivision:null},{code:"21",name:"Žabljak",subdivision:null}]},{code2:"MS",code3:"MSR",name:"Montserrat",capital:"Plymouth",region:"Americas",subregion:"Caribbean",states:[]},{code2:"MA",code3:"MAR",name:"Morocco",capital:"Rabat",region:"Africa",subregion:"Northern Africa",states:[{code:"09",name:"Chaouia-Ouardigha",subdivision:null},{code:"10",name:"Doukhala-Abda",subdivision:null},{code:"05",name:"Fès-Boulemane",subdivision:null},{code:"02",name:"Gharb-Chrarda-Beni Hssen",subdivision:null},{code:"08",name:"Grand Casablanca",subdivision:null},{code:"14",name:"Guelmim-Es Smara",subdivision:null},{code:"04",name:"L'Oriental",subdivision:null},{code:"15",name:"Laâyoune-Boujdour-Sakia el Hamra",subdivision:null},{code:"11",name:"Marrakech-Tensift-Al Haouz",subdivision:null},{code:"06",name:"Meknès-Tafilalet",subdivision:null},{code:"16",name:"Oued ed Dahab-Lagouira",subdivision:null},{code:"07",name:"Rabat-Salé-Zemmour-Zaer",subdivision:null},{code:"13",name:"Souss-Massa-Drâa",subdivision:null},{code:"12",name:"Tadla-Azilal",subdivision:null},{code:"01",name:"Tanger-Tétouan",subdivision:null},{code:"03",name:"Taza-Al Hoceima-Taounate",subdivision:null}]},{code2:"MZ",code3:"MOZ",name:"Mozambique",capital:"Maputo",region:"Africa",subregion:"Eastern Africa",states:[{code:"P",name:"Cabo Delgado",subdivision:null},{code:"G",name:"Gaza",subdivision:null},{code:"I",name:"Inhambane",subdivision:null},{code:"B",name:"Manica",subdivision:null},{code:"MPM",name:"Maputo",subdivision:null},{code:"L",name:"Maputo",subdivision:null},{code:"N",name:"Nampula",subdivision:null},{code:"A",name:"Niassa",subdivision:null},{code:"S",name:"Sofala",subdivision:null},{code:"T",name:"Tete",subdivision:null},{code:"Q",name:"Zambézia",subdivision:null}]},{code2:"MM",code3:"MMR",name:"Myanmar",capital:"Naypyidaw",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"07",name:"Ayeyarwady",subdivision:null},{code:"02",name:"Bago",subdivision:null},{code:"14",name:"Chin",subdivision:null},{code:"11",name:"Kachin",subdivision:null},{code:"12",name:"Kayah",subdivision:null},{code:"13",name:"Kayin",subdivision:null},{code:"03",name:"Magway",subdivision:null},{code:"04",name:"Mandalay",subdivision:null},{code:"15",name:"Mon",subdivision:null},{code:"16",name:"Rakhine",subdivision:null},{code:"01",name:"Sagaing",subdivision:null},{code:"17",name:"Shan",subdivision:null},{code:"05",name:"Tanintharyi",subdivision:null},{code:"06",name:"Yangon",subdivision:null}]},{code2:"NA",code3:"NAM",name:"Namibia",capital:"Windhoek",region:"Africa",subregion:"Southern Africa",states:[{code:"ER",name:"Erongo",subdivision:null},{code:"HA",name:"Hardap",subdivision:null},{code:"KA",name:"Karas",subdivision:null},{code:"KE",name:"Kavango East",subdivision:null},{code:"KW",name:"Kavango West",subdivision:null},{code:"KH",name:"Khomas",subdivision:null},{code:"KU",name:"Kunene",subdivision:null},{code:"OW",name:"Ohangwena",subdivision:null},{code:"OH",name:"Omaheke",subdivision:null},{code:"OS",name:"Omusati",subdivision:null},{code:"ON",name:"Oshana",subdivision:null},{code:"OT",name:"Oshikoto",subdivision:null},{code:"OD",name:"Otjozondjupa",subdivision:null},{code:"CA",name:"Zambezi",subdivision:null}]},{code2:"NR",code3:"NRU",name:"Nauru",capital:"Yaren",region:"Oceania",subregion:"Micronesia",states:[{code:"01",name:"Aiwo",subdivision:null},{code:"02",name:"Anabar",subdivision:null},{code:"03",name:"Anetan",subdivision:null},{code:"04",name:"Anibare",subdivision:null},{code:"05",name:"Baiti",subdivision:null},{code:"06",name:"Boe",subdivision:null},{code:"07",name:"Buada",subdivision:null},{code:"08",name:"Denigomodu",subdivision:null},{code:"09",name:"Ewa",subdivision:null},{code:"10",name:"Ijuw",subdivision:null},{code:"11",name:"Meneng",subdivision:null},{code:"12",name:"Nibok",subdivision:null},{code:"13",name:"Uaboe",subdivision:null},{code:"14",name:"Yaren",subdivision:null}]},{code2:"NP",code3:"NPL",name:"Nepal",capital:"Kathmandu",region:"Asia",subregion:"Southern Asia",states:[{code:"2",name:"Madhya Pashchimanchal",subdivision:null},{code:"1",name:"Madhyamanchal",subdivision:null},{code:"3",name:"Pashchimanchal",subdivision:null},{code:"4",name:"Purwanchal",subdivision:null},{code:"5",name:"Sudur Pashchimanchal",subdivision:null}]},{code2:"NL",code3:"NLD",name:"Netherlands",capital:"Amsterdam",region:"Europe",subregion:"Western Europe",states:[{code:"DR",name:"Drenthe",subdivision:"Province"},{code:"FL",name:"Flevoland",subdivision:"Province"},{code:"FR",name:"Fryslân",subdivision:"Province"},{code:"GE",name:"Gelderland",subdivision:"Province"},{code:"GR",name:"Groningen",subdivision:"Province"},{code:"LI",name:"Limburg",subdivision:"Province"},{code:"NB",name:"Noord-Brabant",subdivision:"Province"},{code:"NH",name:"Noord-Holland",subdivision:"Province"},{code:"OV",name:"Overijssel",subdivision:"Province"},{code:"UT",name:"Utrecht",subdivision:"Province"},{code:"ZE",name:"Zeeland",subdivision:"Province"},{code:"ZH",name:"Zuid-Holland",subdivision:"Province"},{code:"AW",name:"Aruba",subdivision:"country"},{code:"CW",name:"Curaçao",subdivision:"country"},{code:"SX",name:"Sint Maarten",subdivision:"country"},{code:"BQ1",name:"Bonaire",subdivision:"special municipality"},{code:"BQ2",name:"Saba",subdivision:"special municipality"},{code:"BQ3",name:"Sint Eustatius",subdivision:"special municipality"}]},{code2:"NC",code3:"NCL",name:"New Caledonia",capital:"Nouméa",region:"Oceania",subregion:"Melanesia",states:[]},{code2:"NZ",code3:"NZL",name:"New Zealand",capital:"Wellington",region:"Oceania",subregion:"Australia and New Zealand",states:[{code:"N",name:"North Island",subdivision:"Island"},{code:"S",name:"South Island",subdivision:"Island"},{code:"AUK",name:"Auckland",subdivision:"regional council"},{code:"BOP",name:"Bay of Plenty",subdivision:"regional council"},{code:"CAN",name:"Canterbury",subdivision:"regional council"},{code:"HKB",name:"Hawke's Bay",subdivision:"regional council"},{code:"MWT",name:"Manawatu-Wanganui",subdivision:"regional council"},{code:"NTL",name:"Northland",subdivision:"regional council"},{code:"OTA",name:"Otago",subdivision:"regional council"},{code:"STL",name:"Southland",subdivision:"regional council"},{code:"TKI",name:"Taranaki",subdivision:"regional council"},{code:"WKO",name:"Waikato",subdivision:"regional council"},{code:"WGN",name:"Wellington",subdivision:"regional council"},{code:"WTC",name:"West Coast",subdivision:"regional council"},{code:"CIT",name:"Chatham Islands Territory",subdivision:"special island authority"},{code:"GIS",name:"Gisborne District",subdivision:"unitary authority"},{code:"MBH",name:"Marlborough District",subdivision:"unitary authority"},{code:"NSN",name:"Nelson City",subdivision:"unitary authority"},{code:"TAS",name:"Tasman District",subdivision:"unitary authority"}]},{code2:"NI",code3:"NIC",name:"Nicaragua",capital:"Managua",region:"Americas",subregion:"Central America",states:[{code:"AN",name:"Atlántico Norte",subdivision:null},{code:"AS",name:"Atlántico Sur",subdivision:null},{code:"BO",name:"Boaco",subdivision:null},{code:"CA",name:"Carazo",subdivision:null},{code:"CI",name:"Chinandega",subdivision:null},{code:"CO",name:"Chontales",subdivision:null},{code:"ES",name:"Estelí",subdivision:null},{code:"GR",name:"Granada",subdivision:null},{code:"JI",name:"Jinotega",subdivision:null},{code:"LE",name:"León",subdivision:null},{code:"MD",name:"Madriz",subdivision:null},{code:"MN",name:"Managua",subdivision:null},{code:"MS",name:"Masaya",subdivision:null},{code:"MT",name:"Matagalpa",subdivision:null},{code:"NS",name:"Nueva Segovia",subdivision:null},{code:"RI",name:"Rivas",subdivision:null},{code:"SJ",name:"Río San Juan",subdivision:null}]},{code2:"NE",code3:"NER",name:"Niger",capital:"Niamey",region:"Africa",subregion:"Western Africa",states:[{code:"1",name:"Agadez",subdivision:null},{code:"2",name:"Diffa",subdivision:null},{code:"3",name:"Dosso",subdivision:null},{code:"4",name:"Maradi",subdivision:null},{code:"8",name:"Niamey",subdivision:null},{code:"5",name:"Tahoua",subdivision:null},{code:"6",name:"Tillabéri",subdivision:null},{code:"7",name:"Zinder",subdivision:null}]},{code2:"NG",code3:"NGA",name:"Nigeria",capital:"Abuja",region:"Africa",subregion:"Western Africa",states:[{state:"Adamawa",alias:"adamawa",lgas:["Demsa","Fufure","Ganye","Gayuk","Gombi","Grie","Hong","Jada","Larmurde","Madagali","Maiha","Mayo Belwa","Michika","Mubi North","Mubi South","Numan","Shelleng","Song","Toungo","Yola North","Yola South"]},{state:"Akwa Ibom",alias:"akwa_ibom",lgas:["Abak","Eastern Obolo","Eket","Esit Eket","Essien Udim","Etim Ekpo","Etinan","Ibeno","Ibesikpo Asutan","Ibiono-Ibom","Ikot Abasi","Ika","Ikono","Ikot Ekpene","Ini","Mkpat-Enin","Itu","Mbo","Nsit-Atai","Nsit-Ibom","Nsit-Ubium","Obot Akara","Okobo","Onna","Oron","Udung-Uko","Ukanafun","Oruk Anam","Uruan","Urue-Offong/Oruko","Uyo"]},{state:"Anambra",alias:"anambra",lgas:["Aguata","Anambra East","Anaocha","Awka North","Anambra West","Awka South","Ayamelum","Dunukofia","Ekwusigo","Idemili North","Idemili South","Ihiala","Njikoka","Nnewi North","Nnewi South","Ogbaru","Onitsha North","Onitsha South","Orumba North","Orumba South","Oyi"]},{state:"Ogun",alias:"ogun",lgas:["Abeokuta North","Abeokuta South","Ado-Odo/Ota","Egbado North","Ewekoro","Egbado South","Ijebu North","Ijebu East","Ifo","Ijebu Ode","Ijebu North East","Imeko Afon","Ikenne","Ipokia","Odeda","Obafemi Owode","Odogbolu","Remo North","Ogun Waterside","Shagamu"]},{state:"Ondo",alias:"ondo",lgas:["Akoko North-East","Akoko North-West","Akoko South-West","Akoko South-East","Akure North","Akure South","Ese Odo","Idanre","Ifedore","Ilaje","Irele","Ile Oluji/Okeigbo","Odigbo","Okitipupa","Ondo West","Ose","Ondo East","Owo"]},{state:"Rivers",alias:"rivers",lgas:["Abua/Odual","Ahoada East","Ahoada West","Andoni","Akuku-Toru","Asari-Toru","Bonny","Degema","Emuoha","Eleme","Ikwerre","Etche","Gokana","Khana","Obio/Akpor","Ogba/Egbema/Ndoni","Ogu/Bolo","Okrika","Omuma","Opobo/Nkoro","Oyigbo","Port Harcourt","Tai"]},{state:"Bauchi",alias:"bauchi",lgas:["Alkaleri","Bauchi","Bogoro","Damban","Darazo","Dass","Gamawa","Ganjuwa","Giade","Itas/Gadau","Jama'are","Katagum","Kirfi","Misau","Ningi","Shira","Tafawa Balewa","Toro","Warji","Zaki"]},{state:"Benue",alias:"benue",lgas:["Agatu","Apa","Ado","Buruku","Gboko","Guma","Gwer East","Gwer West","Katsina-Ala","Konshisha","Kwande","Logo","Makurdi","Obi","Ogbadibo","Ohimini","Oju","Okpokwu","Oturkpo","Tarka","Ukum","Ushongo","Vandeikya"]},{state:"Borno",alias:"borno",lgas:["Abadam","Askira/Uba","Bama","Bayo","Biu","Chibok","Damboa","Dikwa","Guzamala","Gubio","Hawul","Gwoza","Jere","Kaga","Kala/Balge","Konduga","Kukawa","Kwaya Kusar","Mafa","Magumeri","Maiduguri","Mobbar","Marte","Monguno","Ngala","Nganzai","Shani"]},{state:"Bayelsa",alias:"bayelsa",lgas:["Brass","Ekeremor","Kolokuma/Opokuma","Nembe","Ogbia","Sagbama","Southern Ijaw","Yenagoa"]},{state:"Cross River",alias:"cross_river",lgas:["Abi","Akamkpa","Akpabuyo","Bakassi","Bekwarra","Biase","Boki","Calabar Municipal","Calabar South","Etung","Ikom","Obanliku","Obubra","Obudu","Odukpani","Ogoja","Yakuur","Yala"]},{state:"Delta",alias:"delta",lgas:["Aniocha North","Aniocha South","Bomadi","Burutu","Ethiope West","Ethiope East","Ika North East","Ika South","Isoko North","Isoko South","Ndokwa East","Ndokwa West","Okpe","Oshimili North","Oshimili South","Patani","Sapele","Udu","Ughelli North","Ukwuani","Ughelli South","Uvwie","Warri North","Warri South","Warri South West"]},{state:"Ebonyi",alias:"ebonyi",lgas:["Abakaliki","Afikpo North","Ebonyi","Afikpo South","Ezza North","Ikwo","Ezza South","Ivo","Ishielu","Izzi","Ohaozara","Ohaukwu","Onicha"]},{state:"Edo",alias:"edo",lgas:["Akoko-Edo","Egor","Esan Central","Esan North-East","Esan South-East","Esan West","Etsako Central","Etsako East","Etsako West","Igueben","Ikpoba Okha","Orhionmwon","Oredo","Ovia North-East","Ovia South-West","Owan East","Owan West","Uhunmwonde"]},{state:"Ekiti",alias:"ekiti",lgas:["Ado Ekiti","Efon","Ekiti East","Ekiti South-West","Ekiti West","Emure","Gbonyin","Ido Osi","Ijero","Ikere","Ilejemeje","Irepodun/Ifelodun","Ikole","Ise/Orun","Moba","Oye"]},{state:"Enugu",alias:"enugu",lgas:["Awgu","Aninri","Enugu East","Enugu North","Ezeagu","Enugu South","Igbo Etiti","Igbo Eze North","Igbo Eze South","Isi Uzo","Nkanu East","Nkanu West","Nsukka","Udenu","Oji River","Uzo Uwani","Udi"]},{state:"Federal Capital Territory",alias:"abuja",lgas:["Abaji","Bwari","Gwagwalada","Kuje","Kwali","Municipal Area Council"]},{state:"Gombe",alias:"gombe",lgas:["Akko","Balanga","Billiri","Dukku","Funakaye","Gombe","Kaltungo","Kwami","Nafada","Shongom","Yamaltu/Deba"]},{state:"Jigawa",alias:"jigawa",lgas:["Auyo","Babura","Buji","Biriniwa","Birnin Kudu","Dutse","Gagarawa","Garki","Gumel","Guri","Gwaram","Gwiwa","Hadejia","Jahun","Kafin Hausa","Kazaure","Kiri Kasama","Kiyawa","Kaugama","Maigatari","Malam Madori","Miga","Sule Tankarkar","Roni","Ringim","Yankwashi","Taura"]},{state:"Oyo",alias:"oyo",lgas:["Afijio","Akinyele","Atiba","Atisbo","Egbeda","Ibadan North","Ibadan North-East","Ibadan North-West","Ibadan South-East","Ibarapa Central","Ibadan South-West","Ibarapa East","Ido","Ibarapa North","Irepo","Iseyin","Itesiwaju","Iwajowa","Kajola","Lagelu","Ogbomosho North","Ogbomosho South","Ogo Oluwa","Olorunsogo","Oluyole","Ona Ara","Orelope","Ori Ire","Oyo","Oyo East","Saki East","Saki West","Surulere Oyo State"]},{state:"Imo",alias:"imo",lgas:["Aboh Mbaise","Ahiazu Mbaise","Ehime Mbano","Ezinihitte","Ideato North","Ideato South","Ihitte/Uboma","Ikeduru","Isiala Mbano","Mbaitoli","Isu","Ngor Okpala","Njaba","Nkwerre","Nwangele","Obowo","Oguta","Ohaji/Egbema","Okigwe","Orlu","Orsu","Oru East","Oru West","Owerri Municipal","Owerri North","Unuimo","Owerri West"]},{state:"Kaduna",alias:"kaduna",lgas:["Birnin Gwari","Chikun","Giwa","Ikara","Igabi","Jaba","Jema'a","Kachia","Kaduna North","Kaduna South","Kagarko","Kajuru","Kaura","Kauru","Kubau","Kudan","Lere","Makarfi","Sabon Gari","Sanga","Soba","Zangon Kataf","Zaria"]},{state:"Kebbi",alias:"kebbi",lgas:["Aleiro","Argungu","Arewa Dandi","Augie","Bagudo","Birnin Kebbi","Bunza","Dandi","Fakai","Gwandu","Jega","Kalgo","Koko/Besse","Maiyama","Ngaski","Shanga","Suru","Sakaba","Wasagu/Danko","Yauri","Zuru"]},{state:"Kano",alias:"kano",lgas:["Ajingi","Albasu","Bagwai","Bebeji","Bichi","Bunkure","Dala","Dambatta","Dawakin Kudu","Dawakin Tofa","Doguwa","Fagge","Gabasawa","Garko","Garun Mallam","Gezawa","Gaya","Gwale","Gwarzo","Kabo","Kano Municipal","Karaye","Kibiya","Kiru","Kumbotso","Kunchi","Kura","Madobi","Makoda","Minjibir","Nasarawa","Rano","Rimin Gado","Rogo","Shanono","Takai","Sumaila","Tarauni","Tofa","Tsanyawa","Tudun Wada","Ungogo","Warawa","Wudil"]},{state:"Kogi",alias:"kogi",lgas:["Ajaokuta","Adavi","Ankpa","Bassa","Dekina","Ibaji","Idah","Igalamela Odolu","Ijumu","Kogi","Kabba/Bunu","Lokoja","Ofu","Mopa Muro","Ogori/Magongo","Okehi","Okene","Olamaboro","Omala","Yagba East","Yagba West"]},{state:"Osun",alias:"osun",lgas:["Aiyedire","Atakunmosa West","Atakunmosa East","Aiyedaade","Boluwaduro","Boripe","Ife East","Ede South","Ife North","Ede North","Ife South","Ejigbo","Ife Central","Ifedayo","Egbedore","Ila","Ifelodun","Ilesa East","Ilesa West","Irepodun","Irewole","Isokan","Iwo","Obokun","Odo Otin","Ola Oluwa","Olorunda","Oriade","Orolu","Osogbo"]},{state:"Sokoto",alias:"sokoto",lgas:["Gudu","Gwadabawa","Illela","Isa","Kebbe","Kware","Rabah","Sabon Birni","Shagari","Silame","Sokoto North","Sokoto South","Tambuwal","Tangaza","Tureta","Wamako","Wurno","Yabo","Binji","Bodinga","Dange Shuni","Goronyo","Gada"]},{state:"Plateau",alias:"plateau",lgas:["Bokkos","Barkin Ladi","Bassa","Jos East","Jos North","Jos South","Kanam","Kanke","Langtang South","Langtang North","Mangu","Mikang","Pankshin","Qua'an Pan","Riyom","Shendam","Wase"]},{state:"Taraba",alias:"taraba",lgas:["Ardo Kola","Bali","Donga","Gashaka","Gassol","Ibi","Jalingo","Karim Lamido","Kumi","Lau","Sardauna","Takum","Ussa","Wukari","Yorro","Zing"]},{state:"Yobe",alias:"yobe",lgas:["Bade","Bursari","Damaturu","Fika","Fune","Geidam","Gujba","Gulani","Jakusko","Karasuwa","Machina","Nangere","Nguru","Potiskum","Tarmuwa","Yunusari","Yusufari"]},{state:"Zamfara",alias:"zamfara",lgas:["Anka","Birnin Magaji/Kiyaw","Bakura","Bukkuyum","Bungudu","Gummi","Gusau","Kaura Namoda","Maradun","Shinkafi","Maru","Talata Mafara","Tsafe","Zurmi"]},{state:"Lagos",alias:"lagos",lgas:["Agege","Ajeromi-Ifelodun","Alimosho","Amuwo-Odofin","Badagry","Apapa","Epe","Eti Osa","Ibeju-Lekki","Ifako-Ijaiye","Ikeja","Ikorodu","Kosofe","Lagos Island","Mushin","Lagos Mainland","Ojo","Oshodi-Isolo","Shomolu","Surulere Lagos State"]},{state:"Katsina",alias:"katsina",lgas:["Bakori","Batagarawa","Batsari","Baure","Bindawa","Charanchi","Danja","Dandume","Dan Musa","Daura","Dutsi","Dutsin Ma","Faskari","Funtua","Ingawa","Jibia","Kafur","Kaita","Kankara","Kankia","Katsina","Kurfi","Kusada","Mai'Adua","Malumfashi","Mani","Mashi","Matazu","Musawa","Rimi","Sabuwa","Safana","Sandamu","Zango"]},{state:"Kwara",alias:"kwara",lgas:["Asa","Baruten","Edu","Ilorin East","Ifelodun","Ilorin South","Ekiti Kwara State","Ilorin West","Irepodun","Isin","Kaiama","Moro","Offa","Oke Ero","Oyun","Pategi"]},{state:"Nasarawa",alias:"nasarawa",lgas:["Akwanga","Awe","Doma","Karu","Keana","Keffi","Lafia","Kokona","Nasarawa Egon","Nasarawa","Obi","Toto","Wamba"]},{state:"Niger",alias:"niger",lgas:["Agaie","Agwara","Bida","Borgu","Bosso","Chanchaga","Edati","Gbako","Gurara","Katcha","Kontagora","Lapai","Lavun","Mariga","Magama","Mokwa","Mashegu","Moya","Paikoro","Rafi","Rijau","Shiroro","Suleja","Tafa","Wushishi"]},{state:"Abia",alias:"abia",lgas:["Aba North","Arochukwu","Aba South","Bende","Isiala Ngwa North","Ikwuano","Isiala Ngwa South","Isuikwuato","Obi Ngwa","Ohafia","Osisioma","Ugwunagbo","Ukwa East","Ukwa West","Umuahia North","Umuahia South","Umu Nneochi"]}]},{code2:"NU",code3:"NIU",name:"Niue",capital:"Alofi",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"NF",code3:"NFK",name:"Norfolk Island",capital:"Kingston",region:"Oceania",subregion:"Australia and New Zealand",states:[]},{code2:"KP",code3:"PRK",name:"North Korea",capital:"Pyongyang",region:"Asia",subregion:"Eastern Asia",states:[{code:"04",name:"Chagang",subdivision:null},{code:"07",name:"Kangwon",subdivision:null},{code:"09",name:"North Hamgyong",subdivision:null},{code:"06",name:"North Hwanghae",subdivision:null},{code:"03",name:"North Pyongan",subdivision:null},{code:"01",name:"Pyongyang",subdivision:null},{code:"13",name:"Rason",subdivision:null},{code:"10",name:"Ryanggang",subdivision:null},{code:"08",name:"South Hamgyong",subdivision:null},{code:"05",name:"South Hwanghae",subdivision:null},{code:"02",name:"South Pyongan",subdivision:null}]},{code2:"MP",code3:"MNP",name:"Northern Mariana Islands",capital:"Saipan",region:"Oceania",subregion:"Micronesia",states:[]},{code2:"NO",code3:"NOR",name:"Norway",capital:"Oslo",region:"Europe",subregion:"Northern Europe",states:[{code:"02",name:"Akershus",subdivision:null},{code:"09",name:"Aust-Agder",subdivision:null},{code:"06",name:"Buskerud",subdivision:null},{code:"20",name:"Finnmark",subdivision:null},{code:"04",name:"Hedmark",subdivision:null},{code:"12",name:"Hordaland",subdivision:null},{code:"22",name:"Jan Mayen",subdivision:null},{code:"15",name:"Møre og Romsdal",subdivision:null},{code:"17",name:"Nord-Trøndelag",subdivision:null},{code:"18",name:"Nordland",subdivision:null},{code:"05",name:"Oppland",subdivision:null},{code:"03",name:"Oslo",subdivision:null},{code:"11",name:"Rogaland",subdivision:null},{code:"14",name:"Sogn og Fjordane",subdivision:null},{code:"21",name:"Svalbard",subdivision:null},{code:"16",name:"Sør-Trøndelag",subdivision:null},{code:"08",name:"Telemark",subdivision:null},{code:"19",name:"Troms",subdivision:null},{code:"10",name:"Vest-Agder",subdivision:null},{code:"07",name:"Vestfold",subdivision:null},{code:"01",name:"Østfold",subdivision:null}]},{code2:"OM",code3:"OMN",name:"Oman",capital:"Muscat",region:"Asia",subregion:"Western Asia",states:[{code:"DA",name:"Ad Dākhilīyah",subdivision:null},{code:"BU",name:"Al Buraymī",subdivision:null},{code:"BA",name:"Al Bāţinah",subdivision:null},{code:"WU",name:"Al Wusţá",subdivision:null},{code:"SH",name:"Ash Sharqīyah",subdivision:null},{code:"ZA",name:"Az̧ Z̧āhirah",subdivision:null},{code:"MA",name:"Masqaţ",subdivision:null},{code:"MU",name:"Musandam",subdivision:null},{code:"ZU",name:"Z̧ufār",subdivision:null}]},{code2:"PK",code3:"PAK",name:"Pakistan",capital:"Islamabad",region:"Asia",subregion:"Southern Asia",states:[{code:"JK",name:"Azad Kashmir",subdivision:null},{code:"BA",name:"Balochistan",subdivision:null},{code:"TA",name:"Federally Administered Tribal Areas",subdivision:null},{code:"GB",name:"Gilgit-Baltistan",subdivision:null},{code:"IS",name:"Islamabad",subdivision:null},{code:"KP",name:"Khyber Pakhtunkhwa",subdivision:null},{code:"PB",name:"Punjab",subdivision:null},{code:"SD",name:"Sindh",subdivision:null}]},{code2:"PW",code3:"PLW",name:"Palau",capital:"Ngerulmud",region:"Oceania",subregion:"Micronesia",states:[{code:"002",name:"Aimeliik",subdivision:null},{code:"004",name:"Airai",subdivision:null},{code:"010",name:"Angaur",subdivision:null},{code:"050",name:"Hatobohei",subdivision:null},{code:"100",name:"Kayangel",subdivision:null},{code:"150",name:"Koror",subdivision:null},{code:"212",name:"Melekeok",subdivision:null},{code:"214",name:"Ngaraard",subdivision:null},{code:"218",name:"Ngarchelong",subdivision:null},{code:"222",name:"Ngardmau",subdivision:null},{code:"224",name:"Ngatpang",subdivision:null},{code:"226",name:"Ngchesar",subdivision:null},{code:"227",name:"Ngeremlengui",subdivision:null},{code:"228",name:"Ngiwal",subdivision:null},{code:"350",name:"Peleliu",subdivision:null},{code:"370",name:"Sonsorol",subdivision:null}]},{code2:"PS",code3:"PSE",name:"Palestine",capital:"Ramallah",region:"Asia",subregion:"Western Asia",states:[{code:"BTH",name:"Bethlehem",subdivision:null},{code:"DEB",name:"Deir El Balah",subdivision:null},{code:"GZA",name:"Gaza",subdivision:null},{code:"HBN",name:"Hebron",subdivision:null},{code:"JEN",name:"Jenin",subdivision:null},{code:"JRH",name:"Jericho – Al Aghwar",subdivision:null},{code:"JEM",name:"Jerusalem",subdivision:null},{code:"KYS",name:"Khan Yunis",subdivision:null},{code:"NBS",name:"Nablus",subdivision:null},{code:"NGZ",name:"North Gaza",subdivision:null},{code:"QQA",name:"Qalqilya",subdivision:null},{code:"RFH",name:"Rafah",subdivision:null},{code:"RBH",name:"Ramallah",subdivision:null},{code:"SLT",name:"Salfit",subdivision:null},{code:"TBS",name:"Tubas",subdivision:null},{code:"TKM",name:"Tulkarm",subdivision:null}]},{code2:"PA",code3:"PAN",name:"Panama",capital:"Panama City",region:"Americas",subregion:"Central America",states:[{code:"1",name:"Bocas del Toro",subdivision:null},{code:"4",name:"Chiriquí",subdivision:null},{code:"2",name:"Coclé",subdivision:null},{code:"3",name:"Colón",subdivision:null},{code:"5",name:"Darién",subdivision:null},{code:"EM",name:"Emberá",subdivision:null},{code:"6",name:"Herrera",subdivision:null},{code:"KY",name:"Kuna Yala",subdivision:null},{code:"7",name:"Los Santos",subdivision:null},{code:"NB",name:"Ngöbe-Buglé",subdivision:null},{code:"8",name:"Panamá",subdivision:null},{code:"10",name:"Panamá Oeste",subdivision:null},{code:"9",name:"Veraguas",subdivision:null}]},{code2:"PG",code3:"PNG",name:"Papua New Guinea",capital:"Port Moresby",region:"Oceania",subregion:"Melanesia",states:[{code:"NSB",name:"Bougainville",subdivision:null},{code:"CPM",name:"Central",subdivision:null},{code:"CPK",name:"Chimbu",subdivision:null},{code:"EBR",name:"East New Britain",subdivision:null},{code:"ESW",name:"East Sepik",subdivision:null},{code:"EHG",name:"Eastern Highlands",subdivision:null},{code:"EPW",name:"Enga",subdivision:null},{code:"GPK",name:"Gulf",subdivision:null},{code:"MPM",name:"Madang",subdivision:null},{code:"MRL",name:"Manus",subdivision:null},{code:"MBA",name:"Milne Bay",subdivision:null},{code:"MPL",name:"Morobe",subdivision:null},{code:"NCD",name:"National Capital District",subdivision:null},{code:"NIK",name:"New Ireland",subdivision:null},{code:"NPP",name:"Northern",subdivision:null},{code:"SAN",name:"Sandaun",subdivision:null},{code:"SHM",name:"Southern Highlands",subdivision:null},{code:"WBK",name:"West New Britain",subdivision:null},{code:"WPD",name:"Western",subdivision:null},{code:"WHM",name:"Western Highlands",subdivision:null}]},{code2:"PY",code3:"PRY",name:"Paraguay",capital:"Asunción",region:"Americas",subregion:"South America",states:[{code:"16",name:"Alto Paraguay",subdivision:null},{code:"10",name:"Alto Paraná",subdivision:null},{code:"13",name:"Amambay",subdivision:null},{code:"ASU",name:"Asunción",subdivision:null},{code:"19",name:"Boquerón",subdivision:null},{code:"5",name:"Caaguazú",subdivision:null},{code:"6",name:"Caazapá",subdivision:null},{code:"14",name:"Canindeyú",subdivision:null},{code:"11",name:"Central",subdivision:null},{code:"1",name:"Concepción",subdivision:null},{code:"3",name:"Cordillera",subdivision:null},{code:"4",name:"Guairá",subdivision:null},{code:"7",name:"Itapúa",subdivision:null},{code:"8",name:"Misiones",subdivision:null},{code:"9",name:"Paraguarí",subdivision:null},{code:"15",name:"Presidente Hayes",subdivision:null},{code:"2",name:"San Pedro",subdivision:null},{code:"12",name:"Ñeembucú",subdivision:null}]},{code2:"PE",code3:"PER",name:"Peru",capital:"Lima",region:"Americas",subregion:"South America",states:[{code:"AMA",name:"Amazonas",subdivision:null},{code:"ANC",name:"Ancash",subdivision:null},{code:"APU",name:"Apurímac",subdivision:null},{code:"ARE",name:"Arequipa",subdivision:null},{code:"AYA",name:"Ayacucho",subdivision:null},{code:"CAJ",name:"Cajamarca",subdivision:null},{code:"CUS",name:"Cusco",subdivision:null},{code:"CAL",name:"El Callao",subdivision:null},{code:"HUV",name:"Huancavelica",subdivision:null},{code:"HUC",name:"Huánuco",subdivision:null},{code:"ICA",name:"Ica",subdivision:null},{code:"JUN",name:"Junín",subdivision:null},{code:"LAL",name:"La Libertad",subdivision:null},{code:"LAM",name:"Lambayeque",subdivision:null},{code:"LIM",name:"Lima",subdivision:null},{code:"LOR",name:"Loreto",subdivision:null},{code:"MDD",name:"Madre de Dios",subdivision:null},{code:"MOQ",name:"Moquegua",subdivision:null},{code:"LMA",name:"Municipalidad Metropolitana de Lima",subdivision:null},{code:"PAS",name:"Pasco",subdivision:null},{code:"PIU",name:"Piura",subdivision:null},{code:"PUN",name:"Puno",subdivision:null},{code:"SAM",name:"San Martín",subdivision:null},{code:"TAC",name:"Tacna",subdivision:null},{code:"TUM",name:"Tumbes",subdivision:null},{code:"UCA",name:"Ucayali",subdivision:null}]},{code2:"PH",code3:"PHL",name:"Philippines",capital:"Manila",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"14",name:"Autonomous Region in Muslim Mindanao",subdivision:null},{code:"05",name:"Bicol",subdivision:null},{code:"02",name:"Cagayan Valley",subdivision:null},{code:"40",name:"Calabarzon",subdivision:null},{code:"13",name:"Caraga",subdivision:null},{code:"03",name:"Central Luzon",subdivision:null},{code:"07",name:"Central Visayas",subdivision:null},{code:"15",name:"Cordillera Administrative Region",subdivision:null},{code:"11",name:"Davao",subdivision:null},{code:"08",name:"Eastern Visayas",subdivision:null},{code:"01",name:"Ilocos",subdivision:null},{code:"41",name:"Mimaropa",subdivision:null},{code:"00",name:"National Capital Region",subdivision:null},{code:"10",name:"Northern Mindanao",subdivision:null},{code:"12",name:"Soccsksargen",subdivision:null},{code:"06",name:"Western Visayas",subdivision:null},{code:"09",name:"Zamboanga Peninsula",subdivision:null}]},{code2:"PN",code3:"PCN",name:"Pitcairn Islands",capital:"Adamstown",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"PL",code3:"POL",name:"Poland",capital:"Warsaw",region:"Europe",subregion:"Eastern Europe",states:[{code:"DS",name:"Dolnośląskie",subdivision:null},{code:"KP",name:"Kujawsko-pomorskie",subdivision:null},{code:"LU",name:"Lubelskie",subdivision:null},{code:"LB",name:"Lubuskie",subdivision:null},{code:"MZ",name:"Mazowieckie",subdivision:null},{code:"MA",name:"Małopolskie",subdivision:null},{code:"OP",name:"Opolskie",subdivision:null},{code:"PK",name:"Podkarpackie",subdivision:null},{code:"PD",name:"Podlaskie",subdivision:null},{code:"PM",name:"Pomorskie",subdivision:null},{code:"WN",name:"Warmińsko-mazurskie",subdivision:null},{code:"WP",name:"Wielkopolskie",subdivision:null},{code:"ZP",name:"Zachodniopomorskie",subdivision:null},{code:"LD",name:"Łódzkie",subdivision:null},{code:"SL",name:"Śląskie",subdivision:null},{code:"SK",name:"Świętokrzyskie",subdivision:null}]},{code2:"PT",code3:"PRT",name:"Portugal",capital:"Lisbon",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Aveiro",subdivision:null},{code:"02",name:"Beja",subdivision:null},{code:"03",name:"Braga",subdivision:null},{code:"04",name:"Bragança",subdivision:null},{code:"05",name:"Castelo Branco",subdivision:null},{code:"06",name:"Coimbra",subdivision:null},{code:"08",name:"Faro",subdivision:null},{code:"09",name:"Guarda",subdivision:null},{code:"10",name:"Leiria",subdivision:null},{code:"11",name:"Lisboa",subdivision:null},{code:"12",name:"Portalegre",subdivision:null},{code:"13",name:"Porto",subdivision:null},{code:"30",name:"Região Autónoma da Madeira",subdivision:null},{code:"20",name:"Região Autónoma dos Açores",subdivision:null},{code:"14",name:"Santarém",subdivision:null},{code:"15",name:"Setúbal",subdivision:null},{code:"16",name:"Viana do Castelo",subdivision:null},{code:"17",name:"Vila Real",subdivision:null},{code:"18",name:"Viseu",subdivision:null},{code:"07",name:"Évora",subdivision:null}]},{code2:"PR",code3:"PRI",name:"Puerto Rico",capital:"San Juan",region:"Americas",subregion:"Caribbean",states:[]},{code2:"QA",code3:"QAT",name:"Qatar",capital:"Doha",region:"Asia",subregion:"Western Asia",states:[{code:"DA",name:"Ad Dawḩah",subdivision:null},{code:"KH",name:"Al Khawr wa adh Dhakhīrah",subdivision:null},{code:"WA",name:"Al Wakrah",subdivision:null},{code:"RA",name:"Ar Rayyān",subdivision:null},{code:"MS",name:"Ash Shamāl",subdivision:null},{code:"ZA",name:"Az̧ Za̧`āyin",subdivision:null},{code:"US",name:"Umm Şalāl",subdivision:null}]},{code2:"XK",code3:"KOS",name:"Republic of Kosovo",capital:"Pristina",region:"Europe",subregion:"Eastern Europe",states:[]},{code2:"RE",code3:"REU",name:"Réunion",capital:"Saint-Denis",region:"Africa",subregion:"Eastern Africa",states:[]},{code2:"RO",code3:"ROU",name:"Romania",capital:"Bucharest",region:"Europe",subregion:"Eastern Europe",states:[{code:"AB",name:"Alba",subdivision:null},{code:"AR",name:"Arad",subdivision:null},{code:"AG",name:"Argeș",subdivision:null},{code:"BC",name:"Bacău",subdivision:null},{code:"BH",name:"Bihor",subdivision:null},{code:"BN",name:"Bistrița-Năsăud",subdivision:null},{code:"BT",name:"Botoșani",subdivision:null},{code:"BV",name:"Brașov",subdivision:null},{code:"BR",name:"Brăila",subdivision:null},{code:"B",name:"București",subdivision:null},{code:"BZ",name:"Buzău",subdivision:null},{code:"CS",name:"Caraș-Severin",subdivision:null},{code:"CJ",name:"Cluj",subdivision:null},{code:"CT",name:"Constanța",subdivision:null},{code:"CV",name:"Covasna",subdivision:null},{code:"CL",name:"Călărași",subdivision:null},{code:"DJ",name:"Dolj",subdivision:null},{code:"DB",name:"Dâmbovița",subdivision:null},{code:"GL",name:"Galați",subdivision:null},{code:"GR",name:"Giurgiu",subdivision:null},{code:"GJ",name:"Gorj",subdivision:null},{code:"HR",name:"Harghita",subdivision:null},{code:"HD",name:"Hunedoara",subdivision:null},{code:"IL",name:"Ialomița",subdivision:null},{code:"IS",name:"Iași",subdivision:null},{code:"IF",name:"Ilfov",subdivision:null},{code:"MM",name:"Maramureș",subdivision:null},{code:"MH",name:"Mehedinți",subdivision:null},{code:"MS",name:"Mureș",subdivision:null},{code:"NT",name:"Neamț",subdivision:null},{code:"OT",name:"Olt",subdivision:null},{code:"PH",name:"Prahova",subdivision:null},{code:"SM",name:"Satu Mare",subdivision:null},{code:"SB",name:"Sibiu",subdivision:null},{code:"SV",name:"Suceava",subdivision:null},{code:"SJ",name:"Sălaj",subdivision:null},{code:"TR",name:"Teleorman",subdivision:null},{code:"TM",name:"Timiș",subdivision:null},{code:"TL",name:"Tulcea",subdivision:null},{code:"VS",name:"Vaslui",subdivision:null},{code:"VN",name:"Vrancea",subdivision:null},{code:"VL",name:"Vâlcea",subdivision:null}]},{code2:"RU",code3:"RUS",name:"Russia",capital:"Moscow",region:"Europe",subregion:"Eastern Europe",states:[{code:"AMU",name:"Amurskaya oblast'",subdivision:"administrative region"},{code:"ARK",name:"Arkhangel'skaya oblast'",subdivision:"administrative region"},{code:"AST",name:"Astrakhanskaya oblast'",subdivision:"administrative region"},{code:"BEL",name:"Belgorodskaya oblast'",subdivision:"administrative region"},{code:"BRY",name:"Bryanskaya oblast'",subdivision:"administrative region"},{code:"CHE",name:"Chelyabinskaya oblast'",subdivision:"administrative region"},{code:"IRK",name:"Irkutskaya oblast'",subdivision:"administrative region"},{code:"IVA",name:"Ivanovskaya oblast'",subdivision:"administrative region"},{code:"KGD",name:"Kaliningradskaya oblast'",subdivision:"administrative region"},{code:"KLU",name:"Kaluzhskaya oblast'",subdivision:"administrative region"},{code:"KEM",name:"Kemerovskaya oblast'",subdivision:"administrative region"},{code:"KIR",name:"Kirovskaya oblast'",subdivision:"administrative region"},{code:"KOS",name:"Kostromskaya oblast'",subdivision:"administrative region"},{code:"KGN",name:"Kurganskaya oblast'",subdivision:"administrative region"},{code:"KRS",name:"Kurskaya oblast'",subdivision:"administrative region"},{code:"LEN",name:"Leningradskaya oblast'",subdivision:"administrative region"},{code:"LIP",name:"Lipetskaya oblast'",subdivision:"administrative region"},{code:"MAG",name:"Magadanskaya oblast'",subdivision:"administrative region"},{code:"MOS",name:"Moskovskaya oblast'",subdivision:"administrative region"},{code:"MUR",name:"Murmanskaya oblast'",subdivision:"administrative region"},{code:"NIZ",name:"Nizhegorodskaya oblast'",subdivision:"administrative region"},{code:"NGR",name:"Novgorodskaya oblast'",subdivision:"administrative region"},{code:"NVS",name:"Novosibirskaya oblast'",subdivision:"administrative region"},{code:"OMS",name:"Omskaya oblast'",subdivision:"administrative region"},{code:"ORE",name:"Orenburgskaya oblast'",subdivision:"administrative region"},{code:"ORL",name:"Orlovskaya oblast'",subdivision:"administrative region"},{code:"PNZ",name:"Penzenskaya oblast'",subdivision:"administrative region"},{code:"PSK",name:"Pskovskaya oblast'",subdivision:"administrative region"},{code:"ROS",name:"Rostovskaya oblast'",subdivision:"administrative region"},{code:"RYA",name:"Ryazanskaya oblast'",subdivision:"administrative region"},{code:"SAK",name:"Sakhalinskaya oblast'",subdivision:"administrative region"},{code:"SAM",name:"Samarskaya oblast'",subdivision:"administrative region"},{code:"SAR",name:"Saratovskaya oblast'",subdivision:"administrative region"},{code:"SMO",name:"Smolenskaya oblast'",subdivision:"administrative region"},{code:"SVE",name:"Sverdlovskaya oblast'",subdivision:"administrative region"},{code:"TAM",name:"Tambovskaya oblast'",subdivision:"administrative region"},{code:"TOM",name:"Tomskaya oblast'",subdivision:"administrative region"},{code:"TUL",name:"Tul'skaya oblast'",subdivision:"administrative region"},{code:"TVE",name:"Tverskaya oblast'",subdivision:"administrative region"},{code:"TYU",name:"Tyumenskaya oblast'",subdivision:"administrative region"},{code:"ULY",name:"Ul'yanovskaya oblast'",subdivision:"administrative region"},{code:"VLA",name:"Vladimirskaya oblast'",subdivision:"administrative region"},{code:"VGG",name:"Volgogradskaya oblast'",subdivision:"administrative region"},{code:"VLG",name:"Vologodskaya oblast'",subdivision:"administrative region"},{code:"VOR",name:"Voronezhskaya oblast'",subdivision:"administrative region"},{code:"YAR",name:"Yaroslavskaya oblast'",subdivision:"administrative region"},{code:"ALT",name:"Altayskiy kray",subdivision:"administrative territory"},{code:"KAM",name:"Kamchatskiy kray",subdivision:"administrative territory"},{code:"KHA",name:"Khabarovskiy kray",subdivision:"administrative territory"},{code:"KDA",name:"Krasnodarskiy kray",subdivision:"administrative territory"},{code:"KYA",name:"Krasnoyarskiy kray",subdivision:"administrative territory"},{code:"PER",name:"Permskiy kray",subdivision:"administrative territory"},{code:"PRI",name:"Primorskiy kray",subdivision:"administrative territory"},{code:"STA",name:"Stavropol'skiy kray",subdivision:"administrative territory"},{code:"ZAB",name:"Zabaykal'skiy kray",subdivision:"administrative territory"},{code:"MOW",name:"Moskva",subdivision:"autonomous city"},{code:"SPE",name:"Sankt-Peterburg",subdivision:"autonomous city"},{code:"CHU",name:"Chukotskiy avtonomnyy okrug",subdivision:"autonomous district"},{code:"KHM",name:"Khanty-Mansiyskiy avtonomnyy okrug-Yugra",subdivision:"autonomous district"},{code:"NEN",name:"Nenetskiy avtonomnyy okrug",subdivision:"autonomous district"},{code:"YAN",name:"Yamalo-Nenetskiy avtonomnyy okrug",subdivision:"autonomous district"},{code:"YEV",name:"Yevreyskaya avtonomnaya oblast'",subdivision:"autonomous region"},{code:"AD",name:"Adygeya, Respublika",subdivision:"republic"},{code:"AL",name:"Altay, Respublika",subdivision:"republic"},{code:"BA",name:"Bashkortostan, Respublika",subdivision:"republic"},{code:"BU",name:"Buryatiya, Respublika",subdivision:"republic"},{code:"CE",name:"Chechenskaya Respublika",subdivision:"republic"},{code:"CU",name:"Chuvashskaya Respublika",subdivision:"republic"},{code:"DA",name:"Dagestan, Respublika",subdivision:"republic"},{code:"IN",name:"Ingushetiya, Respublika",subdivision:"republic"},{code:"KB",name:"Kabardino-Balkarskaya Respublika",subdivision:"republic"},{code:"KL",name:"Kalmykiya, Respublika",subdivision:"republic"},{code:"KC",name:"Karachayevo-Cherkesskaya Respublika",subdivision:"republic"},{code:"KR",name:"Kareliya, Respublika",subdivision:"republic"},{code:"KK",name:"Khakasiya, Respublika",subdivision:"republic"},{code:"KO",name:"Komi, Respublika",subdivision:"republic"},{code:"ME",name:"Mariy El, Respublika",subdivision:"republic"},{code:"MO",name:"Mordoviya, Respublika",subdivision:"republic"},{code:"SA",name:"Sakha, Respublika",subdivision:"republic"},{code:"SE",name:"Severnaya Osetiya-Alaniya, Respublika",subdivision:"republic"},{code:"TA",name:"Tatarstan, Respublika",subdivision:"republic"},{code:"TY",name:"Tyva, Respublika",subdivision:"republic"},{code:"UD",name:"Udmurtskaya Respublika",subdivision:"republic"}]},{code2:"RW",code3:"RWA",name:"Rwanda",capital:"Kigali",region:"Africa",subregion:"Eastern Africa",states:[{code:"02",name:"Est",subdivision:null},{code:"03",name:"Nord",subdivision:null},{code:"04",name:"Ouest",subdivision:null},{code:"05",name:"Sud",subdivision:null},{code:"01",name:"Ville de Kigali",subdivision:null}]},{code2:"BL",code3:"BLM",name:"Saint Barthélemy",capital:"Gustavia",region:"Americas",subregion:"Caribbean",states:[]},{code2:"SH",code3:"SHN",name:"Saint Helena",capital:"Jamestown",region:"Africa",subregion:"Western Africa",states:[{code:"AC",name:"Ascension",subdivision:null},{code:"HL",name:"Saint Helena",subdivision:null},{code:"TA",name:"Tristan da Cunha",subdivision:null}]},{code2:"KN",code3:"KNA",name:"Saint Kitts and Nevis",capital:"Basseterre",region:"Americas",subregion:"Caribbean",states:[{code:"N",name:"Nevis",subdivision:null},{code:"K",name:"Saint Kitts",subdivision:null}]},{code2:"LC",code3:"LCA",name:"Saint Lucia",capital:"Castries",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Anse la Raye",subdivision:null},{code:"02",name:"Castries",subdivision:null},{code:"03",name:"Choiseul",subdivision:null},{code:"04",name:"Dauphin",subdivision:null},{code:"05",name:"Dennery",subdivision:null},{code:"06",name:"Gros Islet",subdivision:null},{code:"07",name:"Laborie",subdivision:null},{code:"08",name:"Micoud",subdivision:null},{code:"09",name:"Praslin",subdivision:null},{code:"10",name:"Soufrière",subdivision:null},{code:"11",name:"Vieux Fort",subdivision:null}]},{code2:"MF",code3:"MAF",name:"Saint Martin",capital:"Marigot",region:"Americas",subregion:"Caribbean",states:[]},{code2:"PM",code3:"SPM",name:"Saint Pierre and Miquelon",capital:"Saint-Pierre",region:"Americas",subregion:"Northern America",states:[]},{code2:"VC",code3:"VCT",name:"Saint Vincent and the Grenadines",capital:"Kingstown",region:"Americas",subregion:"Caribbean",states:[{code:"01",name:"Charlotte",subdivision:null},{code:"06",name:"Grenadines",subdivision:null},{code:"02",name:"Saint Andrew",subdivision:null},{code:"03",name:"Saint David",subdivision:null},{code:"04",name:"Saint George",subdivision:null},{code:"05",name:"Saint Patrick",subdivision:null}]},{code2:"WS",code3:"WSM",name:"Samoa",capital:"Apia",region:"Oceania",subregion:"Polynesia",states:[{code:"AA",name:"A'ana",subdivision:null},{code:"AL",name:"Aiga-i-le-Tai",subdivision:null},{code:"AT",name:"Atua",subdivision:null},{code:"FA",name:"Fa'asaleleaga",subdivision:null},{code:"GE",name:"Gaga'emauga",subdivision:null},{code:"GI",name:"Gagaifomauga",subdivision:null},{code:"PA",name:"Palauli",subdivision:null},{code:"SA",name:"Satupa'itea",subdivision:null},{code:"TU",name:"Tuamasaga",subdivision:null},{code:"VF",name:"Va'a-o-Fonoti",subdivision:null},{code:"VS",name:"Vaisigano",subdivision:null}]},{code2:"SM",code3:"SMR",name:"San Marino",capital:"City of San Marino",region:"Europe",subregion:"Southern Europe",states:[{code:"01",name:"Acquaviva",subdivision:null},{code:"06",name:"Borgo Maggiore",subdivision:null},{code:"02",name:"Chiesanuova",subdivision:null},{code:"03",name:"Domagnano",subdivision:null},{code:"04",name:"Faetano",subdivision:null},{code:"05",name:"Fiorentino",subdivision:null},{code:"08",name:"Montegiardino",subdivision:null},{code:"07",name:"San Marino",subdivision:null},{code:"09",name:"Serravalle",subdivision:null}]},{code2:"ST",code3:"STP",name:"São Tomé and Príncipe",capital:"São Tomé",region:"Africa",subregion:"Middle Africa",states:[{code:"P",name:"Príncipe",subdivision:null},{code:"S",name:"São Tomé",subdivision:null}]},{code2:"SA",code3:"SAU",name:"Saudi Arabia",capital:"Riyadh",region:"Asia",subregion:"Western Asia",states:[{code:"11",name:"Al Bāḩah",subdivision:null},{code:"12",name:"Al Jawf",subdivision:null},{code:"03",name:"Al Madīnah",subdivision:null},{code:"05",name:"Al Qaşīm",subdivision:null},{code:"08",name:"Al Ḩudūd ash Shamālīyah",subdivision:null},{code:"01",name:"Ar Riyāḑ",subdivision:null},{code:"04",name:"Ash Sharqīyah",subdivision:null},{code:"09",name:"Jīzān",subdivision:null},{code:"02",name:"Makkah",subdivision:null},{code:"10",name:"Najrān",subdivision:null},{code:"07",name:"Tabūk",subdivision:null},{code:"14",name:"ٰĀsīr",subdivision:null},{code:"06",name:"Ḩā'il",subdivision:null}]},{code2:"SN",code3:"SEN",name:"Senegal",capital:"Dakar",region:"Africa",subregion:"Western Africa",states:[{code:"DK",name:"Dakar",subdivision:null},{code:"DB",name:"Diourbel",subdivision:null},{code:"FK",name:"Fatick",subdivision:null},{code:"KA",name:"Kaffrine",subdivision:null},{code:"KL",name:"Kaolack",subdivision:null},{code:"KD",name:"Kolda",subdivision:null},{code:"KE",name:"Kédougou",subdivision:null},{code:"LG",name:"Louga",subdivision:null},{code:"MT",name:"Matam",subdivision:null},{code:"SL",name:"Saint-Louis",subdivision:null},{code:"SE",name:"Sédhiou",subdivision:null},{code:"TC",name:"Tambacounda",subdivision:null},{code:"TH",name:"Thiès",subdivision:null},{code:"ZG",name:"Ziguinchor",subdivision:null}]},{code2:"RS",code3:"SRB",name:"Serbia",capital:"Belgrade",region:"Europe",subregion:"Southern Europe",states:[{code:"KM",name:"Kosovo-Metohija",subdivision:null},{code:"VO",name:"Vojvodina",subdivision:null}]},{code2:"SC",code3:"SYC",name:"Seychelles",capital:"Victoria",region:"Africa",subregion:"Eastern Africa",states:[{code:"02",name:"Anse Boileau",subdivision:null},{code:"03",name:"Anse Etoile",subdivision:null},{code:"05",name:"Anse Royale",subdivision:null},{code:"01",name:"Anse aux Pins",subdivision:null},{code:"04",name:"Au Cap",subdivision:null},{code:"06",name:"Baie Lazare",subdivision:null},{code:"07",name:"Baie Sainte Anne",subdivision:null},{code:"08",name:"Beau Vallon",subdivision:null},{code:"09",name:"Bel Air",subdivision:null},{code:"10",name:"Bel Ombre",subdivision:null},{code:"11",name:"Cascade",subdivision:null},{code:"16",name:"English River",subdivision:null},{code:"12",name:"Glacis",subdivision:null},{code:"13",name:"Grand Anse Mahe",subdivision:null},{code:"14",name:"Grand Anse Praslin",subdivision:null},{code:"15",name:"La Digue",subdivision:null},{code:"24",name:"Les Mamelles",subdivision:null},{code:"17",name:"Mont Buxton",subdivision:null},{code:"18",name:"Mont Fleuri",subdivision:null},{code:"19",name:"Plaisance",subdivision:null},{code:"20",name:"Pointe Larue",subdivision:null},{code:"21",name:"Port Glaud",subdivision:null},{code:"25",name:"Roche Caiman",subdivision:null},{code:"22",name:"Saint Louis",subdivision:null},{code:"23",name:"Takamaka",subdivision:null}]},{code2:"SL",code3:"SLE",name:"Sierra Leone",capital:"Freetown",region:"Africa",subregion:"Western Africa",states:[{code:"E",name:"Eastern",subdivision:null},{code:"N",name:"Northern",subdivision:null},{code:"S",name:"Southern",subdivision:null},{code:"W",name:"Western Area",subdivision:null}]},{code2:"SG",code3:"SGP",name:"Singapore",capital:"Singapore",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"01",name:"Central Singapore",subdivision:null},{code:"02",name:"North East",subdivision:null},{code:"03",name:"North West",subdivision:null},{code:"04",name:"South East",subdivision:null},{code:"05",name:"South West",subdivision:null}]},{code2:"SX",code3:"SXM",name:"Sint Maarten",capital:"Philipsburg",region:"Americas",subregion:"Caribbean",states:[]},{code2:"SK",code3:"SVK",name:"Slovakia",capital:"Bratislava",region:"Europe",subregion:"Eastern Europe",states:[{code:"BC",name:"Banskobystrický kraj",subdivision:null},{code:"BL",name:"Bratislavský kraj",subdivision:null},{code:"KI",name:"Košický kraj",subdivision:null},{code:"NI",name:"Nitriansky kraj",subdivision:null},{code:"PV",name:"Prešovský kraj",subdivision:null},{code:"TC",name:"Trenčiansky kraj",subdivision:null},{code:"TA",name:"Trnavský kraj",subdivision:null},{code:"ZI",name:"Žilinský kraj",subdivision:null}]},{code2:"SI",code3:"SVN",name:"Slovenia",capital:"Ljubljana",region:"Europe",subregion:"Southern Europe",states:[{code:"001",name:"Ajdovščina",subdivision:null},{code:"195",name:"Apače",subdivision:null},{code:"002",name:"Beltinci",subdivision:null},{code:"148",name:"Benedikt",subdivision:null},{code:"149",name:"Bistrica ob Sotli",subdivision:null},{code:"003",name:"Bled",subdivision:null},{code:"150",name:"Bloke",subdivision:null},{code:"004",name:"Bohinj",subdivision:null},{code:"005",name:"Borovnica",subdivision:null},{code:"006",name:"Bovec",subdivision:null},{code:"151",name:"Braslovče",subdivision:null},{code:"007",name:"Brda",subdivision:null},{code:"008",name:"Brezovica",subdivision:null},{code:"009",name:"Brežice",subdivision:null},{code:"152",name:"Cankova",subdivision:null},{code:"011",name:"Celje",subdivision:null},{code:"012",name:"Cerklje na Gorenjskem",subdivision:null},{code:"013",name:"Cerknica",subdivision:null},{code:"014",name:"Cerkno",subdivision:null},{code:"153",name:"Cerkvenjak",subdivision:null},{code:"196",name:"Cirkulane",subdivision:null},{code:"018",name:"Destrnik",subdivision:null},{code:"019",name:"Divača",subdivision:null},{code:"154",name:"Dobje",subdivision:null},{code:"020",name:"Dobrepolje",subdivision:null},{code:"155",name:"Dobrna",subdivision:null},{code:"021",name:"Dobrova–Polhov Gradec",subdivision:null},{code:"156",name:"Dobrovnik",subdivision:null},{code:"022",name:"Dol pri Ljubljani",subdivision:null},{code:"157",name:"Dolenjske Toplice",subdivision:null},{code:"023",name:"Domžale",subdivision:null},{code:"024",name:"Dornava",subdivision:null},{code:"025",name:"Dravograd",subdivision:null},{code:"026",name:"Duplek",subdivision:null},{code:"027",name:"Gorenja vas–Poljane",subdivision:null},{code:"028",name:"Gorišnica",subdivision:null},{code:"207",name:"Gorje",subdivision:null},{code:"029",name:"Gornja Radgona",subdivision:null},{code:"030",name:"Gornji Grad",subdivision:null},{code:"031",name:"Gornji Petrovci",subdivision:null},{code:"158",name:"Grad",subdivision:null},{code:"032",name:"Grosuplje",subdivision:null},{code:"159",name:"Hajdina",subdivision:null},{code:"161",name:"Hodoš",subdivision:null},{code:"162",name:"Horjul",subdivision:null},{code:"160",name:"Hoče–Slivnica",subdivision:null},{code:"034",name:"Hrastnik",subdivision:null},{code:"035",name:"Hrpelje-Kozina",subdivision:null},{code:"036",name:"Idrija",subdivision:null},{code:"037",name:"Ig",subdivision:null},{code:"038",name:"Ilirska Bistrica",subdivision:null},{code:"039",name:"Ivančna Gorica",subdivision:null},{code:"040",name:"Izola",subdivision:null},{code:"041",name:"Jesenice",subdivision:null},{code:"163",name:"Jezersko",subdivision:null},{code:"042",name:"Juršinci",subdivision:null},{code:"043",name:"Kamnik",subdivision:null},{code:"044",name:"Kanal",subdivision:null},{code:"045",name:"Kidričevo",subdivision:null},{code:"046",name:"Kobarid",subdivision:null},{code:"047",name:"Kobilje",subdivision:null},{code:"049",name:"Komen",subdivision:null},{code:"164",name:"Komenda",subdivision:null},{code:"050",name:"Koper",subdivision:null},{code:"197",name:"Kosanjevica na Krki",subdivision:null},{code:"165",name:"Kostel",subdivision:null},{code:"051",name:"Kozje",subdivision:null},{code:"048",name:"Kočevje",subdivision:null},{code:"052",name:"Kranj",subdivision:null},{code:"053",name:"Kranjska Gora",subdivision:null},{code:"166",name:"Križevci",subdivision:null},{code:"054",name:"Krško",subdivision:null},{code:"055",name:"Kungota",subdivision:null},{code:"056",name:"Kuzma",subdivision:null},{code:"057",name:"Laško",subdivision:null},{code:"058",name:"Lenart",subdivision:null},{code:"059",name:"Lendava",subdivision:null},{code:"060",name:"Litija",subdivision:null},{code:"061",name:"Ljubljana",subdivision:null},{code:"062",name:"Ljubno",subdivision:null},{code:"063",name:"Ljutomer",subdivision:null},{code:"208",name:"Log-Dragomer",subdivision:null},{code:"064",name:"Logatec",subdivision:null},{code:"167",name:"Lovrenc na Pohorju",subdivision:null},{code:"065",name:"Loška Dolina",subdivision:null},{code:"066",name:"Loški Potok",subdivision:null},{code:"068",name:"Lukovica",subdivision:null},{code:"067",name:"Luče",subdivision:null},{code:"069",name:"Majšperk",subdivision:null},{code:"198",name:"Makole",subdivision:null},{code:"070",name:"Maribor",subdivision:null},{code:"168",name:"Markovci",subdivision:null},{code:"071",name:"Medvode",subdivision:null},{code:"072",name:"Mengeš",subdivision:null},{code:"073",name:"Metlika",subdivision:null},{code:"074",name:"Mežica",subdivision:null},{code:"169",name:"Miklavž na Dravskem Polju",subdivision:null},{code:"075",name:"Miren–Kostanjevica",subdivision:null},{code:"170",name:"Mirna Peč",subdivision:null},{code:"076",name:"Mislinja",subdivision:null},{code:"199",name:"Mokronog–Trebelno",subdivision:null},{code:"078",name:"Moravske Toplice",subdivision:null},{code:"077",name:"Moravče",subdivision:null},{code:"079",name:"Mozirje",subdivision:null},{code:"080",name:"Murska Sobota",subdivision:null},{code:"081",name:"Muta",subdivision:null},{code:"082",name:"Naklo",subdivision:null},{code:"083",name:"Nazarje",subdivision:null},{code:"084",name:"Nova Gorica",subdivision:null},{code:"085",name:"Novo Mesto",subdivision:null},{code:"086",name:"Odranci",subdivision:null},{code:"171",name:"Oplotnica",subdivision:null},{code:"087",name:"Ormož",subdivision:null},{code:"088",name:"Osilnica",subdivision:null},{code:"089",name:"Pesnica",subdivision:null},{code:"090",name:"Piran",subdivision:null},{code:"091",name:"Pivka",subdivision:null},{code:"172",name:"Podlehnik",subdivision:null},{code:"093",name:"Podvelka",subdivision:null},{code:"092",name:"Podčetrtek",subdivision:null},{code:"200",name:"Poljčane",subdivision:null},{code:"173",name:"Polzela",subdivision:null},{code:"094",name:"Postojna",subdivision:null},{code:"174",name:"Prebold",subdivision:null},{code:"095",name:"Preddvor",subdivision:null},{code:"175",name:"Prevalje",subdivision:null},{code:"096",name:"Ptuj",subdivision:null},{code:"097",name:"Puconci",subdivision:null},{code:"100",name:"Radenci",subdivision:null},{code:"099",name:"Radeče",subdivision:null},{code:"101",name:"Radlje ob Dravi",subdivision:null},{code:"102",name:"Radovljica",subdivision:null},{code:"103",name:"Ravne na Koroškem",subdivision:null},{code:"176",name:"Razkrižje",subdivision:null},{code:"098",name:"Rače–Fram",subdivision:null},{code:"201",name:"Renče-Vogrsko",subdivision:null},{code:"209",name:"Rečica ob Savinji",subdivision:null},{code:"104",name:"Ribnica",subdivision:null},{code:"177",name:"Ribnica na Pohorju",subdivision:null},{code:"107",name:"Rogatec",subdivision:null},{code:"106",name:"Rogaška Slatina",subdivision:null},{code:"105",name:"Rogašovci",subdivision:null},{code:"108",name:"Ruše",subdivision:null},{code:"178",name:"Selnica ob Dravi",subdivision:null},{code:"109",name:"Semič",subdivision:null},{code:"110",name:"Sevnica",subdivision:null},{code:"111",name:"Sežana",subdivision:null},{code:"112",name:"Slovenj Gradec",subdivision:null},{code:"113",name:"Slovenska Bistrica",subdivision:null},{code:"114",name:"Slovenske Konjice",subdivision:null},{code:"179",name:"Sodražica",subdivision:null},{code:"180",name:"Solčava",subdivision:null},{code:"202",name:"Središče ob Dravi",subdivision:null},{code:"115",name:"Starše",subdivision:null},{code:"203",name:"Straža",subdivision:null},{code:"181",name:"Sveta Ana",subdivision:null},{code:"204",name:"Sveta Trojica v Slovenskih Goricah",subdivision:null},{code:"182",name:"Sveti Andraž v Slovenskih Goricah",subdivision:null},{code:"116",name:"Sveti Jurij",subdivision:null},{code:"210",name:"Sveti Jurij v Slovenskih Goricah",subdivision:null},{code:"205",name:"Sveti Tomaž",subdivision:null},{code:"184",name:"Tabor",subdivision:null},{code:"010",name:"Tišina",subdivision:null},{code:"128",name:"Tolmin",subdivision:null},{code:"129",name:"Trbovlje",subdivision:null},{code:"130",name:"Trebnje",subdivision:null},{code:"185",name:"Trnovska Vas",subdivision:null},{code:"186",name:"Trzin",subdivision:null},{code:"131",name:"Tržič",subdivision:null},{code:"132",name:"Turnišče",subdivision:null},{code:"133",name:"Velenje",subdivision:null},{code:"187",name:"Velika Polana",subdivision:null},{code:"134",name:"Velike Lašče",subdivision:null},{code:"188",name:"Veržej",subdivision:null},{code:"135",name:"Videm",subdivision:null},{code:"136",name:"Vipava",subdivision:null},{code:"137",name:"Vitanje",subdivision:null},{code:"138",name:"Vodice",subdivision:null},{code:"139",name:"Vojnik",subdivision:null},{code:"189",name:"Vransko",subdivision:null},{code:"140",name:"Vrhnika",subdivision:null},{code:"141",name:"Vuzenica",subdivision:null},{code:"142",name:"Zagorje ob Savi",subdivision:null},{code:"143",name:"Zavrč",subdivision:null},{code:"144",name:"Zreče",subdivision:null},{code:"015",name:"Črenšovci",subdivision:null},{code:"016",name:"Črna na Koroškem",subdivision:null},{code:"017",name:"Črnomelj",subdivision:null},{code:"033",name:"Šalovci",subdivision:null},{code:"183",name:"Šempeter–Vrtojba",subdivision:null},{code:"118",name:"Šentilj",subdivision:null},{code:"119",name:"Šentjernej",subdivision:null},{code:"120",name:"Šentjur",subdivision:null},{code:"211",name:"Šentrupert",subdivision:null},{code:"117",name:"Šenčur",subdivision:null},{code:"121",name:"Škocjan",subdivision:null},{code:"122",name:"Škofja Loka",subdivision:null},{code:"123",name:"Škofljica",subdivision:null},{code:"124",name:"Šmarje pri Jelšah",subdivision:null},{code:"206",name:"Šmarješke Toplice",subdivision:null},{code:"125",name:"Šmartno ob Paki",subdivision:null},{code:"194",name:"Šmartno pri Litiji",subdivision:null},{code:"126",name:"Šoštanj",subdivision:null},{code:"127",name:"Štore",subdivision:null},{code:"190",name:"Žalec",subdivision:null},{code:"146",name:"Železniki",subdivision:null},{code:"191",name:"Žetale",subdivision:null},{code:"147",name:"Žiri",subdivision:null},{code:"192",name:"Žirovnica",subdivision:null},{code:"193",name:"Žužemberk",subdivision:null}]},{code2:"SB",code3:"SLB",name:"Solomon Islands",capital:"Honiara",region:"Oceania",subregion:"Melanesia",states:[{code:"CT",name:"Capital Territory",subdivision:null},{code:"CE",name:"Central",subdivision:null},{code:"CH",name:"Choiseul",subdivision:null},{code:"GU",name:"Guadalcanal",subdivision:null},{code:"IS",name:"Isabel",subdivision:null},{code:"MK",name:"Makira-Ulawa",subdivision:null},{code:"ML",name:"Malaita",subdivision:null},{code:"RB",name:"Rennell and Bellona",subdivision:null},{code:"TE",name:"Temotu",subdivision:null},{code:"WE",name:"Western",subdivision:null}]},{code2:"SO",code3:"SOM",name:"Somalia",capital:"Mogadishu",region:"Africa",subregion:"Eastern Africa",states:[{code:"AW",name:"Awdal",subdivision:null},{code:"BK",name:"Bakool",subdivision:null},{code:"BN",name:"Banaadir",subdivision:null},{code:"BR",name:"Bari",subdivision:null},{code:"BY",name:"Bay",subdivision:null},{code:"GA",name:"Galguduud",subdivision:null},{code:"GE",name:"Gedo",subdivision:null},{code:"HI",name:"Hiiraan",subdivision:null},{code:"JD",name:"Jubbada Dhexe",subdivision:null},{code:"JH",name:"Jubbada Hoose",subdivision:null},{code:"MU",name:"Mudug",subdivision:null},{code:"NU",name:"Nugaal",subdivision:null},{code:"SA",name:"Sanaag",subdivision:null},{code:"SD",name:"Shabeellaha Dhexe",subdivision:null},{code:"SH",name:"Shabeellaha Hoose",subdivision:null},{code:"SO",name:"Sool",subdivision:null},{code:"TO",name:"Togdheer",subdivision:null},{code:"WO",name:"Woqooyi Galbeed",subdivision:null}]},{code2:"ZA",code3:"ZAF",name:"South Africa",capital:"Pretoria",region:"Africa",subregion:"Southern Africa",states:[{code:"EC",name:"Eastern Cape",subdivision:null},{code:"FS",name:"Free State",subdivision:null},{code:"GT",name:"Gauteng",subdivision:null},{code:"NL",name:"KwaZulu-Natal",subdivision:null},{code:"LP",name:"Limpopo",subdivision:null},{code:"MP",name:"Mpumalanga",subdivision:null},{code:"NW",name:"North West",subdivision:null},{code:"NC",name:"Northern Cape",subdivision:null},{code:"WC",name:"Western Cape",subdivision:null}]},{code2:"GS",code3:"SGS",name:"South Georgia",capital:"King Edward Point",region:"Americas",subregion:"South America",states:[]},{code2:"KR",code3:"KOR",name:"South Korea",capital:"Seoul",region:"Asia",subregion:"Eastern Asia",states:[{code:"26",name:"Busan-gwangyeoksi",subdivision:null},{code:"43",name:"Chungcheongbuk-do",subdivision:null},{code:"44",name:"Chungcheongnam-do",subdivision:null},{code:"27",name:"Daegu-gwangyeoksi",subdivision:null},{code:"30",name:"Daejeon-gwangyeoksi",subdivision:null},{code:"42",name:"Gangwon-do",subdivision:null},{code:"29",name:"Gwangju-gwangyeoksi",subdivision:null},{code:"41",name:"Gyeonggi-do",subdivision:null},{code:"47",name:"Gyeongsangbuk-do",subdivision:null},{code:"48",name:"Gyeongsangnam-do",subdivision:null},{code:"28",name:"Incheon-gwangyeoksi",subdivision:null},{code:"49",name:"Jeju-teukbyeoljachido",subdivision:null},{code:"45",name:"Jeollabuk-do",subdivision:null},{code:"46",name:"Jeollanam-do",subdivision:null},{code:"50",name:"Sejong",subdivision:null},{code:"11",name:"Seoul-teukbyeolsi",subdivision:null},{code:"31",name:"Ulsan-gwangyeoksi",subdivision:null}]},{code2:"SS",code3:"SSD",name:"South Sudan",capital:"Juba",region:"Africa",subregion:"Middle Africa",states:[{code:"EC",name:"Central Equatoria",subdivision:null},{code:"EE",name:"Eastern Equatoria",subdivision:null},{code:"JG",name:"Jonglei",subdivision:null},{code:"LK",name:"Lakes",subdivision:null},{code:"BN",name:"Northern Bahr el Ghazal",subdivision:null},{code:"UY",name:"Unity",subdivision:null},{code:"NU",name:"Upper Nile",subdivision:null},{code:"WR",name:"Warrap",subdivision:null},{code:"BW",name:"Western Bahr el Ghazal",subdivision:null},{code:"EW",name:"Western Equatoria",subdivision:null}]},{code2:"ES",code3:"ESP",name:"Spain",capital:"Madrid",region:"Europe",subregion:"Southern Europe",states:[{code:"C",name:"A Coruña",subdivision:"Province"},{code:"AB",name:"Albacete",subdivision:"Province"},{code:"A",name:"Alicante",subdivision:"Province"},{code:"AL",name:"Almería",subdivision:"Province"},{code:"O",name:"Asturias",subdivision:"Province"},{code:"BA",name:"Badajoz",subdivision:"Province"},{code:"PM",name:"Balears",subdivision:"Province"},{code:"B",name:"Barcelona",subdivision:"Province"},{code:"BU",name:"Burgos",subdivision:"Province"},{code:"S",name:"Cantabria",subdivision:"Province"},{code:"CS",name:"Castellón",subdivision:"Province"},{code:"CR",name:"Ciudad Real",subdivision:"Province"},{code:"CU",name:"Cuenca",subdivision:"Province"},{code:"CC",name:"Cáceres",subdivision:"Province"},{code:"CA",name:"Cádiz",subdivision:"Province"},{code:"CO",name:"Córdoba",subdivision:"Province"},{code:"GI",name:"Girona",subdivision:"Province"},{code:"GR",name:"Granada",subdivision:"Province"},{code:"GU",name:"Guadalajara",subdivision:"Province"},{code:"SS",name:"Guipúzcoa",subdivision:"Province"},{code:"H",name:"Huelva",subdivision:"Province"},{code:"HU",name:"Huesca",subdivision:"Province"},{code:"J",name:"Jaén",subdivision:"Province"},{code:"LO",name:"La Rioja",subdivision:"Province"},{code:"GC",name:"Las Palmas",subdivision:"Province"},{code:"LE",name:"León",subdivision:"Province"},{code:"L",name:"Lleida",subdivision:"Province"},{code:"LU",name:"Lugo",subdivision:"Province"},{code:"M",name:"Madrid",subdivision:"Province"},{code:"MU",name:"Murcia",subdivision:"Province"},{code:"MA",name:"Málaga",subdivision:"Province"},{code:"NA",name:"Navarra",subdivision:"Province"},{code:"OR",name:"Ourense",subdivision:"Province"},{code:"P",name:"Palencia",subdivision:"Province"},{code:"PO",name:"Pontevedra",subdivision:"Province"},{code:"SA",name:"Salamanca",subdivision:"Province"},{code:"TF",name:"Santa Cruz de Tenerife",subdivision:"Province"},{code:"SG",name:"Segovia",subdivision:"Province"},{code:"SE",name:"Sevilla",subdivision:"Province"},{code:"SO",name:"Soria",subdivision:"Province"},{code:"T",name:"Tarragona",subdivision:"Province"},{code:"TE",name:"Teruel",subdivision:"Province"},{code:"TO",name:"Toledo",subdivision:"Province"},{code:"V",name:"Valencia",subdivision:"Province"},{code:"VA",name:"Valladolid",subdivision:"Province"},{code:"BI",name:"Vizcaya",subdivision:"Province"},{code:"ZA",name:"Zamora",subdivision:"Province"},{code:"Z",name:"Zaragoza",subdivision:"Province"},{code:"VI",name:"Álava",subdivision:"Province"},{code:"AV",name:"Ávila",subdivision:"Province"},{code:"CE",name:"Ceuta",subdivision:"autonomous city in North Africa"},{code:"ML",name:"Melilla",subdivision:"autonomous city in North Africa"},{code:"AN",name:"Andalucía",subdivision:"autonomous community"},{code:"AR",name:"Aragón",subdivision:"autonomous community"},{code:"AS",name:"Asturias, Principado de",subdivision:"autonomous community"},{code:"CN",name:"Canarias",subdivision:"autonomous community"},{code:"CB",name:"Cantabria",subdivision:"autonomous community"},{code:"CL",name:"Castilla y León",subdivision:"autonomous community"},{code:"CM",name:"Castilla-La Mancha",subdivision:"autonomous community"},{code:"CT",name:"Catalunya",subdivision:"autonomous community"},{code:"EX",name:"Extremadura",subdivision:"autonomous community"},{code:"GA",name:"Galicia",subdivision:"autonomous community"},{code:"IB",name:"Illes Balears",subdivision:"autonomous community"},{code:"RI",name:"La Rioja",subdivision:"autonomous community"},{code:"MD",name:"Madrid, Comunidad de",subdivision:"autonomous community"},{code:"MC",name:"Murcia, Región de",subdivision:"autonomous community"},{code:"NC",name:"Navarra, Comunidad Foral de",subdivision:"autonomous community"},{code:"PV",name:"País Vasco",subdivision:"autonomous community"},{code:"VC",name:"Valenciana, Comunidad",subdivision:"autonomous community"}]},{code2:"LK",code3:"LKA",name:"Sri Lanka",capital:"Colombo",region:"Asia",subregion:"Southern Asia",states:[{code:"2",name:"Central Province",subdivision:null},{code:"5",name:"Eastern Province",subdivision:null},{code:"7",name:"North Central Province",subdivision:null},{code:"6",name:"North Western Province",subdivision:null},{code:"4",name:"Northern Province",subdivision:null},{code:"9",name:"Sabaragamuwa Province",subdivision:null},{code:"3",name:"Southern Province",subdivision:null},{code:"8",name:"Uva Province",subdivision:null},{code:"1",name:"Western Province",subdivision:null}]},{code2:"SD",code3:"SDN",name:"Sudan",capital:"Khartoum",region:"Africa",subregion:"Northern Africa",states:[{code:"RS",name:"Al Baḩr al Aḩmar",subdivision:null},{code:"GZ",name:"Al Jazīrah",subdivision:null},{code:"KH",name:"Al Kharţūm",subdivision:null},{code:"GD",name:"Al Qaḑārif",subdivision:null},{code:"NR",name:"An Nīl",subdivision:null},{code:"NW",name:"An Nīl al Abyaḑ",subdivision:null},{code:"NB",name:"An Nīl al Azraq",subdivision:null},{code:"NO",name:"Ash Shamālīyah",subdivision:null},{code:"DW",name:"Gharb Dārfūr",subdivision:null},{code:"DS",name:"Janūb Dārfūr",subdivision:null},{code:"KS",name:"Janūb Kurdufān",subdivision:null},{code:"KA",name:"Kassalā",subdivision:null},{code:"DN",name:"Shamāl Dārfūr",subdivision:null},{code:"KN",name:"Shamāl Kurdufān",subdivision:null},{code:"DE",name:"Sharq Dārfūr",subdivision:null},{code:"SI",name:"Sinnār",subdivision:null},{code:"DC",name:"Zalingei",subdivision:null}]},{code2:"SR",code3:"SUR",name:"Suriname",capital:"Paramaribo",region:"Americas",subregion:"South America",states:[{code:"BR",name:"Brokopondo",subdivision:null},{code:"CM",name:"Commewijne",subdivision:null},{code:"CR",name:"Coronie",subdivision:null},{code:"MA",name:"Marowijne",subdivision:null},{code:"NI",name:"Nickerie",subdivision:null},{code:"PR",name:"Para",subdivision:null},{code:"PM",name:"Paramaribo",subdivision:null},{code:"SA",name:"Saramacca",subdivision:null},{code:"SI",name:"Sipaliwini",subdivision:null},{code:"WA",name:"Wanica",subdivision:null}]},{code2:"SJ",code3:"SJM",name:"Svalbard and Jan Mayen",capital:"Longyearbyen",region:"Europe",subregion:"Northern Europe",states:[]},{code2:"SZ",code3:"SWZ",name:"Swaziland",capital:"Lobamba",region:"Africa",subregion:"Southern Africa",states:[{code:"HH",name:"Hhohho",subdivision:null},{code:"LU",name:"Lubombo",subdivision:null},{code:"MA",name:"Manzini",subdivision:null},{code:"SH",name:"Shiselweni",subdivision:null}]},{code2:"SE",code3:"SWE",name:"Sweden",capital:"Stockholm",region:"Europe",subregion:"Northern Europe",states:[{code:"K",name:"Blekinge län",subdivision:null},{code:"W",name:"Dalarnas län",subdivision:null},{code:"I",name:"Gotlands län",subdivision:null},{code:"X",name:"Gävleborgs län",subdivision:null},{code:"N",name:"Hallands län",subdivision:null},{code:"Z",name:"Jämtlands län",subdivision:null},{code:"F",name:"Jönköpings län",subdivision:null},{code:"H",name:"Kalmar län",subdivision:null},{code:"G",name:"Kronobergs län",subdivision:null},{code:"BD",name:"Norrbottens län",subdivision:null},{code:"M",name:"Skåne län",subdivision:null},{code:"AB",name:"Stockholms län",subdivision:null},{code:"D",name:"Södermanlands län",subdivision:null},{code:"C",name:"Uppsala län",subdivision:null},{code:"S",name:"Värmlands län",subdivision:null},{code:"AC",name:"Västerbottens län",subdivision:null},{code:"Y",name:"Västernorrlands län",subdivision:null},{code:"U",name:"Västmanlands län",subdivision:null},{code:"O",name:"Västra Götalands län",subdivision:null},{code:"T",name:"Örebro län",subdivision:null},{code:"E",name:"Östergötlands län",subdivision:null}]},{code2:"CH",code3:"CHE",name:"Switzerland",capital:"Bern",region:"Europe",subregion:"Western Europe",states:[{code:"AG",name:"Aargau",subdivision:null},{code:"AR",name:"Appenzell Ausserrhoden",subdivision:null},{code:"AI",name:"Appenzell Innerrhoden",subdivision:null},{code:"BL",name:"Basel-Landschaft",subdivision:null},{code:"BS",name:"Basel-Stadt",subdivision:null},{code:"BE",name:"Bern",subdivision:null},{code:"FR",name:"Fribourg",subdivision:null},{code:"GE",name:"Genève",subdivision:null},{code:"GL",name:"Glarus",subdivision:null},{code:"GR",name:"Graubünden",subdivision:null},{code:"JU",name:"Jura",subdivision:null},{code:"LU",name:"Luzern",subdivision:null},{code:"NE",name:"Neuchâtel",subdivision:null},{code:"NW",name:"Nidwalden",subdivision:null},{code:"OW",name:"Obwalden",subdivision:null},{code:"SG",name:"Sankt Gallen",subdivision:null},{code:"SH",name:"Schaffhausen",subdivision:null},{code:"SZ",name:"Schwyz",subdivision:null},{code:"SO",name:"Solothurn",subdivision:null},{code:"TG",name:"Thurgau",subdivision:null},{code:"TI",name:"Ticino",subdivision:null},{code:"UR",name:"Uri",subdivision:null},{code:"VS",name:"Valais",subdivision:null},{code:"VD",name:"Vaud",subdivision:null},{code:"ZG",name:"Zug",subdivision:null},{code:"ZH",name:"Zürich",subdivision:null}]},{code2:"SY",code3:"SYR",name:"Syria",capital:"Damascus",region:"Asia",subregion:"Western Asia",states:[{code:"LA",name:"Al Lādhiqīyah",subdivision:null},{code:"QU",name:"Al Qunayţirah",subdivision:null},{code:"HA",name:"Al Ḩasakah",subdivision:null},{code:"RA",name:"Ar Raqqah",subdivision:null},{code:"SU",name:"As Suwaydā'",subdivision:null},{code:"DR",name:"Darٰā",subdivision:null},{code:"DY",name:"Dayr az Zawr",subdivision:null},{code:"DI",name:"Dimashq",subdivision:null},{code:"ID",name:"Idlib",subdivision:null},{code:"RD",name:"Rīf Dimashq",subdivision:null},{code:"TA",name:"Ţarţūs",subdivision:null},{code:"HL",name:"Ḩalab",subdivision:null},{code:"HM",name:"Ḩamāh",subdivision:null},{code:"HI",name:"Ḩimş",subdivision:null}]},{code2:"TW",code3:"TWN",name:"Taiwan",capital:"Taipei",region:"Asia",subregion:"Eastern Asia",states:[{code:"CHA",name:"Changhua",subdivision:null},{code:"CYQ",name:"Chiayi",subdivision:null},{code:"CYI",name:"Chiayi",subdivision:null},{code:"HSZ",name:"Hsinchu",subdivision:null},{code:"HSQ",name:"Hsinchu",subdivision:null},{code:"HUA",name:"Hualien",subdivision:null},{code:"ILA",name:"Ilan",subdivision:null},{code:"KHQ",name:"Kaohsiung",subdivision:null},{code:"KHH",name:"Kaohsiung",subdivision:null},{code:"KEE",name:"Keelung",subdivision:null},{code:"MIA",name:"Miaoli",subdivision:null},{code:"NAN",name:"Nantou",subdivision:null},{code:"PEN",name:"Penghu",subdivision:null},{code:"PIF",name:"Pingtung",subdivision:null},{code:"TXG",name:"Taichung",subdivision:null},{code:"TXQ",name:"Taichung",subdivision:null},{code:"TNN",name:"Tainan",subdivision:null},{code:"TNQ",name:"Tainan",subdivision:null},{code:"TPE",name:"Taipei",subdivision:null},{code:"TPQ",name:"Taipei",subdivision:null},{code:"TTT",name:"Taitung",subdivision:null},{code:"TAO",name:"Taoyuan",subdivision:null},{code:"YUN",name:"Yunlin",subdivision:null}]},{code2:"TJ",code3:"TJK",name:"Tajikistan",capital:"Dushanbe",region:"Asia",subregion:"Central Asia",states:[{code:"DU",name:"Dushanbe",subdivision:null},{code:"KT",name:"Khatlon",subdivision:null},{code:"GB",name:"Kŭhistoni Badakhshon",subdivision:null},{code:"SU",name:"Sughd",subdivision:null}]},{code2:"TZ",code3:"TZA",name:"Tanzania",capital:"Dodoma",region:"Africa",subregion:"Eastern Africa",states:[{code:"01",name:"Arusha",subdivision:null},{code:"02",name:"Dar es Salaam",subdivision:null},{code:"03",name:"Dodoma",subdivision:null},{code:"04",name:"Iringa",subdivision:null},{code:"05",name:"Kagera",subdivision:null},{code:"06",name:"Kaskazini Pemba",subdivision:null},{code:"07",name:"Kaskazini Unguja",subdivision:null},{code:"08",name:"Kigoma",subdivision:null},{code:"09",name:"Kilimanjaro",subdivision:null},{code:"10",name:"Kusini Pemba",subdivision:null},{code:"11",name:"Kusini Unguja",subdivision:null},{code:"12",name:"Lindi",subdivision:null},{code:"26",name:"Manyara",subdivision:null},{code:"13",name:"Mara",subdivision:null},{code:"14",name:"Mbeya",subdivision:null},{code:"15",name:"Mjini Magharibi",subdivision:null},{code:"16",name:"Morogoro",subdivision:null},{code:"17",name:"Mtwara",subdivision:null},{code:"18",name:"Mwanza",subdivision:null},{code:"19",name:"Pwani",subdivision:null},{code:"20",name:"Rukwa",subdivision:null},{code:"21",name:"Ruvuma",subdivision:null},{code:"22",name:"Shinyanga",subdivision:null},{code:"23",name:"Singida",subdivision:null},{code:"24",name:"Tabora",subdivision:null},{code:"25",name:"Tanga",subdivision:null}]},{code2:"TH",code3:"THA",name:"Thailand",capital:"Bangkok",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"37",name:"Amnat Charoen",subdivision:null},{code:"15",name:"Ang Thong",subdivision:null},{code:"38",name:"Bueng Kan",subdivision:null},{code:"31",name:"Buri Ram",subdivision:null},{code:"24",name:"Chachoengsao",subdivision:null},{code:"18",name:"Chai Nat",subdivision:null},{code:"36",name:"Chaiyaphum",subdivision:null},{code:"22",name:"Chanthaburi",subdivision:null},{code:"50",name:"Chiang Mai",subdivision:null},{code:"57",name:"Chiang Rai",subdivision:null},{code:"20",name:"Chon Buri",subdivision:null},{code:"86",name:"Chumphon",subdivision:null},{code:"46",name:"Kalasin",subdivision:null},{code:"62",name:"Kamphaeng Phet",subdivision:null},{code:"71",name:"Kanchanaburi",subdivision:null},{code:"40",name:"Khon Kaen",subdivision:null},{code:"81",name:"Krabi",subdivision:null},{code:"10",name:"Krung Thep Maha Nakhon",subdivision:null},{code:"52",name:"Lampang",subdivision:null},{code:"51",name:"Lamphun",subdivision:null},{code:"42",name:"Loei",subdivision:null},{code:"16",name:"Lop Buri",subdivision:null},{code:"58",name:"Mae Hong Son",subdivision:null},{code:"44",name:"Maha Sarakham",subdivision:null},{code:"49",name:"Mukdahan",subdivision:null},{code:"26",name:"Nakhon Nayok",subdivision:null},{code:"73",name:"Nakhon Pathom",subdivision:null},{code:"48",name:"Nakhon Phanom",subdivision:null},{code:"30",name:"Nakhon Ratchasima",subdivision:null},{code:"60",name:"Nakhon Sawan",subdivision:null},{code:"80",name:"Nakhon Si Thammarat",subdivision:null},{code:"55",name:"Nan",subdivision:null},{code:"96",name:"Narathiwat",subdivision:null},{code:"39",name:"Nong Bua Lam Phu",subdivision:null},{code:"43",name:"Nong Khai",subdivision:null},{code:"12",name:"Nonthaburi",subdivision:null},{code:"13",name:"Pathum Thani",subdivision:null},{code:"94",name:"Pattani",subdivision:null},{code:"82",name:"Phangnga",subdivision:null},{code:"93",name:"Phatthalung",subdivision:null},{code:"S",name:"Phatthaya",subdivision:null},{code:"56",name:"Phayao",subdivision:null},{code:"67",name:"Phetchabun",subdivision:null},{code:"76",name:"Phetchaburi",subdivision:null},{code:"66",name:"Phichit",subdivision:null},{code:"65",name:"Phitsanulok",subdivision:null},{code:"14",name:"Phra Nakhon Si Ayutthaya",subdivision:null},{code:"54",name:"Phrae",subdivision:null},{code:"83",name:"Phuket",subdivision:null},{code:"25",name:"Prachin Buri",subdivision:null},{code:"77",name:"Prachuap Khiri Khan",subdivision:null},{code:"85",name:"Ranong",subdivision:null},{code:"70",name:"Ratchaburi",subdivision:null},{code:"21",name:"Rayong",subdivision:null},{code:"45",name:"Roi Et",subdivision:null},{code:"27",name:"Sa Kaeo",subdivision:null},{code:"47",name:"Sakon Nakhon",subdivision:null},{code:"11",name:"Samut Prakan",subdivision:null},{code:"74",name:"Samut Sakhon",subdivision:null},{code:"75",name:"Samut Songkhram",subdivision:null},{code:"19",name:"Saraburi",subdivision:null},{code:"91",name:"Satun",subdivision:null},{code:"33",name:"Si Sa Ket",subdivision:null},{code:"17",name:"Sing Buri",subdivision:null},{code:"90",name:"Songkhla",subdivision:null},{code:"64",name:"Sukhothai",subdivision:null},{code:"72",name:"Suphan Buri",subdivision:null},{code:"84",name:"Surat Thani",subdivision:null},{code:"32",name:"Surin",subdivision:null},{code:"63",name:"Tak",subdivision:null},{code:"92",name:"Trang",subdivision:null},{code:"23",name:"Trat",subdivision:null},{code:"34",name:"Ubon Ratchathani",subdivision:null},{code:"41",name:"Udon Thani",subdivision:null},{code:"61",name:"Uthai Thani",subdivision:null},{code:"53",name:"Uttaradit",subdivision:null},{code:"95",name:"Yala",subdivision:null},{code:"35",name:"Yasothon",subdivision:null}]},{code2:"TL",code3:"TLS",name:"East Timor",capital:"Dili",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"AL",name:"Aileu",subdivision:null},{code:"AN",name:"Ainaro",subdivision:null},{code:"BA",name:"Baucau",subdivision:null},{code:"BO",name:"Bobonaro",subdivision:null},{code:"CO",name:"Cova Lima",subdivision:null},{code:"DI",name:"Díli",subdivision:null},{code:"ER",name:"Ermera",subdivision:null},{code:"LA",name:"Lautem",subdivision:null},{code:"LI",name:"Liquiça",subdivision:null},{code:"MT",name:"Manatuto",subdivision:null},{code:"MF",name:"Manufahi",subdivision:null},{code:"OE",name:"Oecussi",subdivision:null},{code:"VI",name:"Viqueque",subdivision:null}]},{code2:"TG",code3:"TGO",name:"Togo",capital:"Lomé",region:"Africa",subregion:"Western Africa",states:[{code:"C",name:"Centre",subdivision:null},{code:"K",name:"Kara",subdivision:null},{code:"M",name:"Maritime",subdivision:null},{code:"P",name:"Plateaux",subdivision:null},{code:"S",name:"Savannes",subdivision:null}]},{code2:"TK",code3:"TKL",name:"Tokelau",capital:"Fakaofo",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"TO",code3:"TON",name:"Tonga",capital:"Nuku'alofa",region:"Oceania",subregion:"Polynesia",states:[{code:"01",name:"'Eua",subdivision:null},{code:"02",name:"Ha'apai",subdivision:null},{code:"03",name:"Niuas",subdivision:null},{code:"04",name:"Tongatapu",subdivision:null},{code:"05",name:"Vava'u",subdivision:null}]},{code2:"TT",code3:"TTO",name:"Trinidad and Tobago",capital:"Port of Spain",region:"Americas",subregion:"Caribbean",states:[{code:"ARI",name:"Arima",subdivision:null},{code:"CHA",name:"Chaguanas",subdivision:null},{code:"CTT",name:"Couva-Tabaquite-Talparo",subdivision:null},{code:"DMN",name:"Diego Martin",subdivision:null},{code:"ETO",name:"Eastern Tobago",subdivision:null},{code:"PED",name:"Penal-Debe",subdivision:null},{code:"PTF",name:"Point Fortin",subdivision:null},{code:"POS",name:"Port of Spain",subdivision:null},{code:"PRT",name:"Princes Town",subdivision:null},{code:"RCM",name:"Rio Claro-Mayaro",subdivision:null},{code:"SFO",name:"San Fernando",subdivision:null},{code:"SJL",name:"San Juan-Laventille",subdivision:null},{code:"SGE",name:"Sangre Grande",subdivision:null},{code:"SIP",name:"Siparia",subdivision:null},{code:"TUP",name:"Tunapuna-Piarco",subdivision:null},{code:"WTO",name:"Western Tobago",subdivision:null}]},{code2:"TN",code3:"TUN",name:"Tunisia",capital:"Tunis",region:"Africa",subregion:"Northern Africa",states:[{code:"12",name:"Ariana",subdivision:null},{code:"13",name:"Ben Arous",subdivision:null},{code:"23",name:"Bizerte",subdivision:null},{code:"31",name:"Béja",subdivision:null},{code:"81",name:"Gabès",subdivision:null},{code:"71",name:"Gafsa",subdivision:null},{code:"32",name:"Jendouba",subdivision:null},{code:"41",name:"Kairouan",subdivision:null},{code:"42",name:"Kasserine",subdivision:null},{code:"73",name:"Kebili",subdivision:null},{code:"14",name:"La Manouba",subdivision:null},{code:"33",name:"Le Kef",subdivision:null},{code:"53",name:"Mahdia",subdivision:null},{code:"82",name:"Medenine",subdivision:null},{code:"52",name:"Monastir",subdivision:null},{code:"21",name:"Nabeul",subdivision:null},{code:"61",name:"Sfax",subdivision:null},{code:"43",name:"Sidi Bouzid",subdivision:null},{code:"34",name:"Siliana",subdivision:null},{code:"51",name:"Sousse",subdivision:null},{code:"83",name:"Tataouine",subdivision:null},{code:"72",name:"Tozeur",subdivision:null},{code:"11",name:"Tunis",subdivision:null},{code:"22",name:"Zaghouan",subdivision:null}]},{code2:"TR",code3:"TUR",name:"Turkey",capital:"Ankara",region:"Asia",subregion:"Western Asia",states:[{code:"01",name:"Adana",subdivision:null},{code:"02",name:"Adıyaman",subdivision:null},{code:"03",name:"Afyonkarahisar",subdivision:null},{code:"68",name:"Aksaray",subdivision:null},{code:"05",name:"Amasya",subdivision:null},{code:"06",name:"Ankara",subdivision:null},{code:"07",name:"Antalya",subdivision:null},{code:"75",name:"Ardahan",subdivision:null},{code:"08",name:"Artvin",subdivision:null},{code:"09",name:"Aydın",subdivision:null},{code:"04",name:"Ağrı",subdivision:null},{code:"10",name:"Balıkesir",subdivision:null},{code:"74",name:"Bartın",subdivision:null},{code:"72",name:"Batman",subdivision:null},{code:"69",name:"Bayburt",subdivision:null},{code:"11",name:"Bilecik",subdivision:null},{code:"12",name:"Bingöl",subdivision:null},{code:"13",name:"Bitlis",subdivision:null},{code:"14",name:"Bolu",subdivision:null},{code:"15",name:"Burdur",subdivision:null},{code:"16",name:"Bursa",subdivision:null},{code:"20",name:"Denizli",subdivision:null},{code:"21",name:"Diyarbakır",subdivision:null},{code:"81",name:"Düzce",subdivision:null},{code:"22",name:"Edirne",subdivision:null},{code:"23",name:"Elazığ",subdivision:null},{code:"24",name:"Erzincan",subdivision:null},{code:"25",name:"Erzurum",subdivision:null},{code:"26",name:"Eskişehir",subdivision:null},{code:"27",name:"Gaziantep",subdivision:null},{code:"28",name:"Giresun",subdivision:null},{code:"29",name:"Gümüşhane",subdivision:null},{code:"30",name:"Hakkâri",subdivision:null},{code:"31",name:"Hatay",subdivision:null},{code:"32",name:"Isparta",subdivision:null},{code:"76",name:"Iğdır",subdivision:null},{code:"46",name:"Kahramanmaraş",subdivision:null},{code:"78",name:"Karabük",subdivision:null},{code:"70",name:"Karaman",subdivision:null},{code:"36",name:"Kars",subdivision:null},{code:"37",name:"Kastamonu",subdivision:null},{code:"38",name:"Kayseri",subdivision:null},{code:"79",name:"Kilis",subdivision:null},{code:"41",name:"Kocaeli",subdivision:null},{code:"42",name:"Konya",subdivision:null},{code:"43",name:"Kütahya",subdivision:null},{code:"39",name:"Kırklareli",subdivision:null},{code:"71",name:"Kırıkkale",subdivision:null},{code:"40",name:"Kırşehir",subdivision:null},{code:"44",name:"Malatya",subdivision:null},{code:"45",name:"Manisa",subdivision:null},{code:"47",name:"Mardin",subdivision:null},{code:"33",name:"Mersin",subdivision:null},{code:"48",name:"Muğla",subdivision:null},{code:"49",name:"Muş",subdivision:null},{code:"50",name:"Nevşehir",subdivision:null},{code:"51",name:"Niğde",subdivision:null},{code:"52",name:"Ordu",subdivision:null},{code:"80",name:"Osmaniye",subdivision:null},{code:"53",name:"Rize",subdivision:null},{code:"54",name:"Sakarya",subdivision:null},{code:"55",name:"Samsun",subdivision:null},{code:"56",name:"Siirt",subdivision:null},{code:"57",name:"Sinop",subdivision:null},{code:"58",name:"Sivas",subdivision:null},{code:"59",name:"Tekirdağ",subdivision:null},{code:"60",name:"Tokat",subdivision:null},{code:"61",name:"Trabzon",subdivision:null},{code:"62",name:"Tunceli",subdivision:null},{code:"64",name:"Uşak",subdivision:null},{code:"65",name:"Van",subdivision:null},{code:"77",name:"Yalova",subdivision:null},{code:"66",name:"Yozgat",subdivision:null},{code:"67",name:"Zonguldak",subdivision:null},{code:"17",name:"Çanakkale",subdivision:null},{code:"18",name:"Çankırı",subdivision:null},{code:"19",name:"Çorum",subdivision:null},{code:"34",name:"İstanbul",subdivision:null},{code:"35",name:"İzmir",subdivision:null},{code:"63",name:"Şanlıurfa",subdivision:null},{code:"73",name:"Şırnak",subdivision:null}]},{code2:"TM",code3:"TKM",name:"Turkmenistan",capital:"Ashgabat",region:"Asia",subregion:"Central Asia",states:[{code:"A",name:"Ahal",subdivision:null},{code:"S",name:"Aşgabat",subdivision:null},{code:"B",name:"Balkan",subdivision:null},{code:"D",name:"Daşoguz",subdivision:null},{code:"L",name:"Lebap",subdivision:null},{code:"M",name:"Mary",subdivision:null}]},{code2:"TC",code3:"TCA",name:"Turks and Caicos Islands",capital:"Cockburn Town",region:"Americas",subregion:"Caribbean",states:[]},{code2:"TV",code3:"TUV",name:"Tuvalu",capital:"Funafuti",region:"Oceania",subregion:"Polynesia",states:[{code:"FUN",name:"Funafuti",subdivision:null},{code:"NMG",name:"Nanumanga",subdivision:null},{code:"NMA",name:"Nanumea",subdivision:null},{code:"NIT",name:"Niutao",subdivision:null},{code:"NUI",name:"Nui",subdivision:null},{code:"NKF",name:"Nukufetau",subdivision:null},{code:"NKL",name:"Nukulaelae",subdivision:null},{code:"VAI",name:"Vaitupu",subdivision:null}]},{code2:"UG",code3:"UGA",name:"Uganda",capital:"Kampala",region:"Africa",subregion:"Eastern Africa",states:[{code:"C",name:"Central",subdivision:null},{code:"E",name:"Eastern",subdivision:null},{code:"N",name:"Northern",subdivision:null},{code:"W",name:"Western",subdivision:null}]},{code2:"UA",code3:"UKR",name:"Ukraine",capital:"Kiev",region:"Europe",subregion:"Eastern Europe",states:[{code:"43",name:"Avtonomna Respublika Krym",subdivision:null},{code:"71",name:"Cherkas'ka Oblast'",subdivision:null},{code:"74",name:"Chernihivs'ka Oblast'",subdivision:null},{code:"77",name:"Chernivets'ka Oblast'",subdivision:null},{code:"12",name:"Dnipropetrovs'ka Oblast'",subdivision:null},{code:"14",name:"Donets'ka Oblast'",subdivision:null},{code:"26",name:"Ivano-Frankivs'ka Oblast'",subdivision:null},{code:"63",name:"Kharkivs'ka Oblast'",subdivision:null},{code:"65",name:"Khersons'ka Oblast'",subdivision:null},{code:"68",name:"Khmel'nyts'ka Oblast'",subdivision:null},{code:"35",name:"Kirovohrads'ka Oblast'",subdivision:null},{code:"30",name:"Kyïv",subdivision:null},{code:"32",name:"Kyïvs'ka Oblast'",subdivision:null},{code:"46",name:"L'vivs'ka Oblast'",subdivision:null},{code:"09",name:"Luhans'ka Oblast'",subdivision:null},{code:"48",name:"Mykolaïvs'ka Oblast'",subdivision:null},{code:"51",name:"Odes'ka Oblast'",subdivision:null},{code:"53",name:"Poltavs'ka Oblast'",subdivision:null},{code:"56",name:"Rivnens'ka Oblast'",subdivision:null},{code:"40",name:"Sevastopol'",subdivision:null},{code:"59",name:"Sums'ka Oblast'",subdivision:null},{code:"61",name:"Ternopil's'ka Oblast'",subdivision:null},{code:"05",name:"Vinnyts'ka Oblast'",subdivision:null},{code:"07",name:"Volyns'ka Oblast'",subdivision:null},{code:"21",name:"Zakarpats'ka Oblast'",subdivision:null},{code:"23",name:"Zaporiz'ka Oblast'",subdivision:null},{code:"18",name:"Zhytomyrs'ka Oblast'",subdivision:null}]},{code2:"AE",code3:"ARE",name:"United Arab Emirates",capital:"Abu Dhabi",region:"Asia",subregion:"Western Asia",states:[{code:"AJ",name:"'Ajmān",subdivision:null},{code:"AZ",name:"Abū Z̧aby",subdivision:null},{code:"FU",name:"Al Fujayrah",subdivision:null},{code:"SH",name:"Ash Shāriqah",subdivision:null},{code:"DU",name:"Dubayy",subdivision:null},{code:"RK",name:"Ra's al Khaymah",subdivision:null},{code:"UQ",name:"Umm al Qaywayn",subdivision:null}]},{code2:"GB",code3:"GBR",name:"United Kingdom",capital:"London",region:"Europe",subregion:"Northern Europe",states:[{code:"BDG",name:"Barking and Dagenham",subdivision:"London borough"},{code:"BNE",name:"Barnet",subdivision:"London borough"},{code:"BEX",name:"Bexley",subdivision:"London borough"},{code:"BEN",name:"Brent",subdivision:"London borough"},{code:"BRY",name:"Bromley",subdivision:"London borough"},{code:"CMD",name:"Camden",subdivision:"London borough"},{code:"CRY",name:"Croydon",subdivision:"London borough"},{code:"EAL",name:"Ealing",subdivision:"London borough"},{code:"ENF",name:"Enfield",subdivision:"London borough"},{code:"GRE",name:"Greenwich",subdivision:"London borough"},{code:"HCK",name:"Hackney",subdivision:"London borough"},{code:"HMF",name:"Hammersmith and Fulham",subdivision:"London borough"},{code:"HRY",name:"Haringey",subdivision:"London borough"},{code:"HRW",name:"Harrow",subdivision:"London borough"},{code:"HAV",name:"Havering",subdivision:"London borough"},{code:"HIL",name:"Hillingdon",subdivision:"London borough"},{code:"HNS",name:"Hounslow",subdivision:"London borough"},{code:"ISL",name:"Islington",subdivision:"London borough"},{code:"KEC",name:"Kensington and Chelsea",subdivision:"London borough"},{code:"KTT",name:"Kingston upon Thames",subdivision:"London borough"},{code:"LBH",name:"Lambeth",subdivision:"London borough"},{code:"LEW",name:"Lewisham",subdivision:"London borough"},{code:"MRT",name:"Merton",subdivision:"London borough"},{code:"NWM",name:"Newham",subdivision:"London borough"},{code:"RDB",name:"Redbridge",subdivision:"London borough"},{code:"RIC",name:"Richmond upon Thames",subdivision:"London borough"},{code:"SWK",name:"Southwark",subdivision:"London borough"},{code:"STN",name:"Sutton",subdivision:"London borough"},{code:"TWH",name:"Tower Hamlets",subdivision:"London borough"},{code:"WFT",name:"Waltham Forest",subdivision:"London borough"},{code:"WND",name:"Wandsworth",subdivision:"London borough"},{code:"WSM",name:"Westminster",subdivision:"London borough"},{code:"EAW",name:"England and Wales",subdivision:"Nation"},{code:"GBN",name:"Great Britain",subdivision:"Nation"},{code:"UKM",name:"United Kingdom",subdivision:"Nation"},{code:"LND",name:"London, City of",subdivision:"city corporation"},{code:"ABE",name:"Aberdeen City",subdivision:"council area"},{code:"ABD",name:"Aberdeenshire",subdivision:"council area"},{code:"ANS",name:"Angus",subdivision:"council area"},{code:"AGB",name:"Argyll and Bute",subdivision:"council area"},{code:"CLK",name:"Clackmannanshire",subdivision:"council area"},{code:"DGY",name:"Dumfries and Galloway",subdivision:"council area"},{code:"DND",name:"Dundee City",subdivision:"council area"},{code:"EAY",name:"East Ayrshire",subdivision:"council area"},{code:"EDU",name:"East Dunbartonshire",subdivision:"council area"},{code:"ELN",name:"East Lothian",subdivision:"council area"},{code:"ERW",name:"East Renfrewshire",subdivision:"council area"},{code:"EDH",name:"Edinburgh, City of",subdivision:"council area"},{code:"ELS",name:"Eilean Siar",subdivision:"council area"},{code:"FAL",name:"Falkirk",subdivision:"council area"},{code:"FIF",name:"Fife",subdivision:"council area"},{code:"GLG",name:"Glasgow City",subdivision:"council area"},{code:"HLD",name:"Highland",subdivision:"council area"},{code:"IVC",name:"Inverclyde",subdivision:"council area"},{code:"MLN",name:"Midlothian",subdivision:"council area"},{code:"MRY",name:"Moray",subdivision:"council area"},{code:"NAY",name:"North Ayrshire",subdivision:"council area"},{code:"NLK",name:"North Lanarkshire",subdivision:"council area"},{code:"ORK",name:"Orkney Islands",subdivision:"council area"},{code:"PKN",name:"Perth and Kinross",subdivision:"council area"},{code:"RFW",name:"Renfrewshire",subdivision:"council area"},{code:"SCB",name:"Scottish Borders, The",subdivision:"council area"},{code:"ZET",name:"Shetland Islands",subdivision:"council area"},{code:"SAY",name:"South Ayrshire",subdivision:"council area"},{code:"SLK",name:"South Lanarkshire",subdivision:"council area"},{code:"STG",name:"Stirling",subdivision:"council area"},{code:"WDU",name:"West Dunbartonshire",subdivision:"council area"},{code:"WLN",name:"West Lothian",subdivision:"council area"},{code:"ENG",name:"England",subdivision:"country"},{code:"SCT",name:"Scotland",subdivision:"country"},{code:"WLS",name:"Wales",subdivision:"country"},{code:"ANT",name:"Antrim",subdivision:"district council area"},{code:"ARD",name:"Ards",subdivision:"district council area"},{code:"ARM",name:"Armagh",subdivision:"district council area"},{code:"BLA",name:"Ballymena",subdivision:"district council area"},{code:"BLY",name:"Ballymoney",subdivision:"district council area"},{code:"BNB",name:"Banbridge",subdivision:"district council area"},{code:"BFS",name:"Belfast",subdivision:"district council area"},{code:"CKF",name:"Carrickfergus",subdivision:"district council area"},{code:"CSR",name:"Castlereagh",subdivision:"district council area"},{code:"CLR",name:"Coleraine",subdivision:"district council area"},{code:"CKT",name:"Cookstown",subdivision:"district council area"},{code:"CGV",name:"Craigavon",subdivision:"district council area"},{code:"DRY",name:"Derry",subdivision:"district council area"},{code:"DOW",name:"Down",subdivision:"district council area"},{code:"DGN",name:"Dungannon and South Tyrone",subdivision:"district council area"},{code:"FER",name:"Fermanagh",subdivision:"district council area"},{code:"LRN",name:"Larne",subdivision:"district council area"},{code:"LMV",name:"Limavady",subdivision:"district council area"},{code:"LSB",name:"Lisburn",subdivision:"district council area"},{code:"MFT",name:"Magherafelt",subdivision:"district council area"},{code:"MYL",name:"Moyle",subdivision:"district council area"},{code:"NYM",name:"Newry and Mourne District",subdivision:"district council area"},{code:"NTA",name:"Newtownabbey",subdivision:"district council area"},{code:"NDN",name:"North Down",subdivision:"district council area"},{code:"OMH",name:"Omagh",subdivision:"district council area"},{code:"STB",name:"Strabane",subdivision:"district council area"},{code:"BNS",name:"Barnsley",subdivision:"metropolitan district"},{code:"BIR",name:"Birmingham",subdivision:"metropolitan district"},{code:"BOL",name:"Bolton",subdivision:"metropolitan district"},{code:"BRD",name:"Bradford",subdivision:"metropolitan district"},{code:"BUR",name:"Bury",subdivision:"metropolitan district"},{code:"CLD",name:"Calderdale",subdivision:"metropolitan district"},{code:"COV",name:"Coventry",subdivision:"metropolitan district"},{code:"DNC",name:"Doncaster",subdivision:"metropolitan district"},{code:"DUD",name:"Dudley",subdivision:"metropolitan district"},{code:"GAT",name:"Gateshead",subdivision:"metropolitan district"},{code:"KIR",name:"Kirklees",subdivision:"metropolitan district"},{code:"KWL",name:"Knowsley",subdivision:"metropolitan district"},{code:"LDS",name:"Leeds",subdivision:"metropolitan district"},{code:"LIV",name:"Liverpool",subdivision:"metropolitan district"},{code:"MAN",name:"Manchester",subdivision:"metropolitan district"},{code:"NET",name:"Newcastle upon Tyne",subdivision:"metropolitan district"},{code:"NTY",name:"North Tyneside",subdivision:"metropolitan district"},{code:"OLD",name:"Oldham",subdivision:"metropolitan district"},{code:"RCH",name:"Rochdale",subdivision:"metropolitan district"},{code:"ROT",name:"Rotherham",subdivision:"metropolitan district"},{code:"SLF",name:"Salford",subdivision:"metropolitan district"},{code:"SAW",name:"Sandwell",subdivision:"metropolitan district"},{code:"SFT",name:"Sefton",subdivision:"metropolitan district"},{code:"SHF",name:"Sheffield",subdivision:"metropolitan district"},{code:"SOL",name:"Solihull",subdivision:"metropolitan district"},{code:"STY",name:"South Tyneside",subdivision:"metropolitan district"},{code:"SHN",name:"St. Helens",subdivision:"metropolitan district"},{code:"SKP",name:"Stockport",subdivision:"metropolitan district"},{code:"SND",name:"Sunderland",subdivision:"metropolitan district"},{code:"TAM",name:"Tameside",subdivision:"metropolitan district"},{code:"TRF",name:"Trafford",subdivision:"metropolitan district"},{code:"WKF",name:"Wakefield",subdivision:"metropolitan district"},{code:"WLL",name:"Walsall",subdivision:"metropolitan district"},{code:"WGN",name:"Wigan",subdivision:"metropolitan district"},{code:"WRL",name:"Wirral",subdivision:"metropolitan district"},{code:"WLV",name:"Wolverhampton",subdivision:"metropolitan district"},{code:"NIR",name:"Northern Ireland",subdivision:"province"},{code:"BKM",name:"Buckinghamshire",subdivision:"two-tier county"},{code:"CAM",name:"Cambridgeshire",subdivision:"two-tier county"},{code:"CMA",name:"Cumbria",subdivision:"two-tier county"},{code:"DBY",name:"Derbyshire",subdivision:"two-tier county"},{code:"DEV",name:"Devon",subdivision:"two-tier county"},{code:"DOR",name:"Dorset",subdivision:"two-tier county"},{code:"ESX",name:"East Sussex",subdivision:"two-tier county"},{code:"ESS",name:"Essex",subdivision:"two-tier county"},{code:"GLS",name:"Gloucestershire",subdivision:"two-tier county"},{code:"HAM",name:"Hampshire",subdivision:"two-tier county"},{code:"HRT",name:"Hertfordshire",subdivision:"two-tier county"},{code:"KEN",name:"Kent",subdivision:"two-tier county"},{code:"LAN",name:"Lancashire",subdivision:"two-tier county"},{code:"LEC",name:"Leicestershire",subdivision:"two-tier county"},{code:"LIN",name:"Lincolnshire",subdivision:"two-tier county"},{code:"NFK",name:"Norfolk",subdivision:"two-tier county"},{code:"NYK",name:"North Yorkshire",subdivision:"two-tier county"},{code:"NTH",name:"Northamptonshire",subdivision:"two-tier county"},{code:"NTT",name:"Nottinghamshire",subdivision:"two-tier county"},{code:"OXF",name:"Oxfordshire",subdivision:"two-tier county"},{code:"SOM",name:"Somerset",subdivision:"two-tier county"},{code:"STS",name:"Staffordshire",subdivision:"two-tier county"},{code:"SFK",name:"Suffolk",subdivision:"two-tier county"},{code:"SRY",name:"Surrey",subdivision:"two-tier county"},{code:"WAR",name:"Warwickshire",subdivision:"two-tier county"},{code:"WSX",name:"West Sussex",subdivision:"two-tier county"},{code:"WOR",name:"Worcestershire",subdivision:"two-tier county"},{code:"BAS",name:"Bath and North East Somerset",subdivision:"unitary authority"},{code:"BDF",name:"Bedford",subdivision:"unitary authority"},{code:"BBD",name:"Blackburn with Darwen",subdivision:"unitary authority"},{code:"BPL",name:"Blackpool",subdivision:"unitary authority"},{code:"BGW",name:"Blaenau Gwent",subdivision:"unitary authority"},{code:"BMH",name:"Bournemouth",subdivision:"unitary authority"},{code:"BRC",name:"Bracknell Forest",subdivision:"unitary authority"},{code:"BGE",name:"Bridgend",subdivision:"unitary authority"},{code:"BNH",name:"Brighton and Hove",subdivision:"unitary authority"},{code:"BST",name:"Bristol, City of",subdivision:"unitary authority"},{code:"CAY",name:"Caerphilly",subdivision:"unitary authority"},{code:"CRF",name:"Cardiff",subdivision:"unitary authority"},{code:"CMN",name:"Carmarthenshire",subdivision:"unitary authority"},{code:"CBF",name:"Central Bedfordshire",subdivision:"unitary authority"},{code:"CGN",name:"Ceredigion",subdivision:"unitary authority"},{code:"CHE",name:"Cheshire East",subdivision:"unitary authority"},{code:"CHW",name:"Cheshire West and Chester",subdivision:"unitary authority"},{code:"CWY",name:"Conwy",subdivision:"unitary authority"},{code:"CON",name:"Cornwall",subdivision:"unitary authority"},{code:"DAL",name:"Darlington",subdivision:"unitary authority"},{code:"DEN",name:"Denbighshire",subdivision:"unitary authority"},{code:"DER",name:"Derby",subdivision:"unitary authority"},{code:"DUR",name:"Durham, County",subdivision:"unitary authority"},{code:"ERY",name:"East Riding of Yorkshire",subdivision:"unitary authority"},{code:"FLN",name:"Flintshire",subdivision:"unitary authority"},{code:"GWN",name:"Gwynedd",subdivision:"unitary authority"},{code:"HAL",name:"Halton",subdivision:"unitary authority"},{code:"HPL",name:"Hartlepool",subdivision:"unitary authority"},{code:"HEF",name:"Herefordshire",subdivision:"unitary authority"},{code:"AGY",name:"Isle of Anglesey",subdivision:"unitary authority"},{code:"IOW",name:"Isle of Wight",subdivision:"unitary authority"},{code:"IOS",name:"Isles of Scilly",subdivision:"unitary authority"},{code:"KHL",name:"Kingston upon Hull",subdivision:"unitary authority"},{code:"LCE",name:"Leicester",subdivision:"unitary authority"},{code:"LUT",name:"Luton",subdivision:"unitary authority"},{code:"MDW",name:"Medway",subdivision:"unitary authority"},{code:"MTY",name:"Merthyr Tydfil",subdivision:"unitary authority"},{code:"MDB",name:"Middlesbrough",subdivision:"unitary authority"},{code:"MIK",name:"Milton Keynes",subdivision:"unitary authority"},{code:"MON",name:"Monmouthshire",subdivision:"unitary authority"},{code:"NTL",name:"Neath Port Talbot",subdivision:"unitary authority"},{code:"NWP",name:"Newport",subdivision:"unitary authority"},{code:"NEL",name:"North East Lincolnshire",subdivision:"unitary authority"},{code:"NLN",name:"North Lincolnshire",subdivision:"unitary authority"},{code:"NSM",name:"North Somerset",subdivision:"unitary authority"},{code:"NBL",name:"Northumberland",subdivision:"unitary authority"},{code:"NGM",name:"Nottingham",subdivision:"unitary authority"},{code:"PEM",name:"Pembrokeshire",subdivision:"unitary authority"},{code:"PTE",name:"Peterborough",subdivision:"unitary authority"},{code:"PLY",name:"Plymouth",subdivision:"unitary authority"},{code:"POL",name:"Poole",subdivision:"unitary authority"},{code:"POR",name:"Portsmouth",subdivision:"unitary authority"},{code:"POW",name:"Powys",subdivision:"unitary authority"},{code:"RDG",name:"Reading",subdivision:"unitary authority"},{code:"RCC",name:"Redcar and Cleveland",subdivision:"unitary authority"},{code:"RCT",name:"Rhondda, Cynon, Taff",subdivision:"unitary authority"},{code:"RUT",name:"Rutland",subdivision:"unitary authority"},{code:"SHR",name:"Shropshire",subdivision:"unitary authority"},{code:"SLG",name:"Slough",subdivision:"unitary authority"},{code:"SGC",name:"South Gloucestershire",subdivision:"unitary authority"},{code:"STH",name:"Southampton",subdivision:"unitary authority"},{code:"SOS",name:"Southend-on-Sea",subdivision:"unitary authority"},{code:"STT",name:"Stockton-on-Tees",subdivision:"unitary authority"},{code:"STE",name:"Stoke-on-Trent",subdivision:"unitary authority"},{code:"SWA",name:"Swansea",subdivision:"unitary authority"},{code:"SWD",name:"Swindon",subdivision:"unitary authority"},{code:"TFW",name:"Telford and Wrekin",subdivision:"unitary authority"},{code:"THR",name:"Thurrock",subdivision:"unitary authority"},{code:"TOB",name:"Torbay",subdivision:"unitary authority"},{code:"TOF",name:"Torfaen",subdivision:"unitary authority"},{code:"VGL",name:"Vale of Glamorgan, The",subdivision:"unitary authority"},{code:"WRT",name:"Warrington",subdivision:"unitary authority"},{code:"WBK",name:"West Berkshire",subdivision:"unitary authority"},{code:"WIL",name:"Wiltshire",subdivision:"unitary authority"},{code:"WNM",name:"Windsor and Maidenhead",subdivision:"unitary authority"},{code:"WOK",name:"Wokingham",subdivision:"unitary authority"},{code:"WRX",name:"Wrexham",subdivision:"unitary authority"},{code:"YOR",name:"York",subdivision:"unitary authority"}]},{code2:"US",code3:"USA",name:"United States",capital:"Washington, D.C.",region:"Americas",subregion:"Northern America",states:[{code:"DC",name:"District of Columbia",subdivision:"district"},{code:"AS",name:"American Samoa",subdivision:"outlying territory"},{code:"GU",name:"Guam",subdivision:"outlying territory"},{code:"MP",name:"Northern Mariana Islands",subdivision:"outlying territory"},{code:"PR",name:"Puerto Rico",subdivision:"outlying territory"},{code:"UM",name:"United States Minor Outlying Islands",subdivision:"outlying territory"},{code:"VI",name:"Virgin Islands, U.S.",subdivision:"outlying territory"},{code:"AL",name:"Alabama",subdivision:"state"},{code:"AK",name:"Alaska",subdivision:"state"},{code:"AZ",name:"Arizona",subdivision:"state"},{code:"AR",name:"Arkansas",subdivision:"state"},{code:"CA",name:"California",subdivision:"state"},{code:"CO",name:"Colorado",subdivision:"state"},{code:"CT",name:"Connecticut",subdivision:"state"},{code:"DE",name:"Delaware",subdivision:"state"},{code:"FL",name:"Florida",subdivision:"state"},{code:"GA",name:"Georgia",subdivision:"state"},{code:"HI",name:"Hawaii",subdivision:"state"},{code:"ID",name:"Idaho",subdivision:"state"},{code:"IL",name:"Illinois",subdivision:"state"},{code:"IN",name:"Indiana",subdivision:"state"},{code:"IA",name:"Iowa",subdivision:"state"},{code:"KS",name:"Kansas",subdivision:"state"},{code:"KY",name:"Kentucky",subdivision:"state"},{code:"LA",name:"Louisiana",subdivision:"state"},{code:"ME",name:"Maine",subdivision:"state"},{code:"MD",name:"Maryland",subdivision:"state"},{code:"MA",name:"Massachusetts",subdivision:"state"},{code:"MI",name:"Michigan",subdivision:"state"},{code:"MN",name:"Minnesota",subdivision:"state"},{code:"MS",name:"Mississippi",subdivision:"state"},{code:"MO",name:"Missouri",subdivision:"state"},{code:"MT",name:"Montana",subdivision:"state"},{code:"NE",name:"Nebraska",subdivision:"state"},{code:"NV",name:"Nevada",subdivision:"state"},{code:"NH",name:"New Hampshire",subdivision:"state"},{code:"NJ",name:"New Jersey",subdivision:"state"},{code:"NM",name:"New Mexico",subdivision:"state"},{code:"NY",name:"New York",subdivision:"state"},{code:"NC",name:"North Carolina",subdivision:"state"},{code:"ND",name:"North Dakota",subdivision:"state"},{code:"OH",name:"Ohio",subdivision:"state"},{code:"OK",name:"Oklahoma",subdivision:"state"},{code:"OR",name:"Oregon",subdivision:"state"},{code:"PA",name:"Pennsylvania",subdivision:"state"},{code:"RI",name:"Rhode Island",subdivision:"state"},{code:"SC",name:"South Carolina",subdivision:"state"},{code:"SD",name:"South Dakota",subdivision:"state"},{code:"TN",name:"Tennessee",subdivision:"state"},{code:"TX",name:"Texas",subdivision:"state"},{code:"UT",name:"Utah",subdivision:"state"},{code:"VT",name:"Vermont",subdivision:"state"},{code:"VA",name:"Virginia",subdivision:"state"},{code:"WA",name:"Washington",subdivision:"state"},{code:"WV",name:"West Virginia",subdivision:"state"},{code:"WI",name:"Wisconsin",subdivision:"state"},{code:"WY",name:"Wyoming",subdivision:"state"}]},{code2:"UY",code3:"URY",name:"Uruguay",capital:"Montevideo",region:"Americas",subregion:"South America",states:[{code:"AR",name:"Artigas",subdivision:null},{code:"CA",name:"Canelones",subdivision:null},{code:"CL",name:"Cerro Largo",subdivision:null},{code:"CO",name:"Colonia",subdivision:null},{code:"DU",name:"Durazno",subdivision:null},{code:"FS",name:"Flores",subdivision:null},{code:"FD",name:"Florida",subdivision:null},{code:"LA",name:"Lavalleja",subdivision:null},{code:"MA",name:"Maldonado",subdivision:null},{code:"MO",name:"Montevideo",subdivision:null},{code:"PA",name:"Paysandú",subdivision:null},{code:"RV",name:"Rivera",subdivision:null},{code:"RO",name:"Rocha",subdivision:null},{code:"RN",name:"Río Negro",subdivision:null},{code:"SA",name:"Salto",subdivision:null},{code:"SJ",name:"San José",subdivision:null},{code:"SO",name:"Soriano",subdivision:null},{code:"TA",name:"Tacuarembó",subdivision:null},{code:"TT",name:"Treinta y Tres",subdivision:null}]},{code2:"UZ",code3:"UZB",name:"Uzbekistan",capital:"Tashkent",region:"Asia",subregion:"Central Asia",states:[{code:"AN",name:"Andijon",subdivision:null},{code:"BU",name:"Buxoro",subdivision:null},{code:"FA",name:"Farg‘ona",subdivision:null},{code:"JI",name:"Jizzax",subdivision:null},{code:"NG",name:"Namangan",subdivision:null},{code:"NW",name:"Navoiy",subdivision:null},{code:"QA",name:"Qashqadaryo",subdivision:null},{code:"QR",name:"Qoraqalpog‘iston Respublikasi",subdivision:null},{code:"SA",name:"Samarqand",subdivision:null},{code:"SI",name:"Sirdaryo",subdivision:null},{code:"SU",name:"Surxondaryo",subdivision:null},{code:"TO",name:"Toshkent",subdivision:null},{code:"TK",name:"Toshkent",subdivision:null},{code:"XO",name:"Xorazm",subdivision:null}]},{code2:"VU",code3:"VUT",name:"Vanuatu",capital:"Port Vila",region:"Oceania",subregion:"Melanesia",states:[{code:"MAP",name:"Malampa",subdivision:null},{code:"PAM",name:"Pénama",subdivision:null},{code:"SAM",name:"Sanma",subdivision:null},{code:"SEE",name:"Shéfa",subdivision:null},{code:"TAE",name:"Taféa",subdivision:null},{code:"TOB",name:"Torba",subdivision:null}]},{code2:"VE",code3:"VEN",name:"Venezuela",capital:"Caracas",region:"Americas",subregion:"South America",states:[{code:"Z",name:"Amazonas",subdivision:null},{code:"B",name:"Anzoátegui",subdivision:null},{code:"C",name:"Apure",subdivision:null},{code:"D",name:"Aragua",subdivision:null},{code:"E",name:"Barinas",subdivision:null},{code:"F",name:"Bolívar",subdivision:null},{code:"G",name:"Carabobo",subdivision:null},{code:"H",name:"Cojedes",subdivision:null},{code:"Y",name:"Delta Amacuro",subdivision:null},{code:"W",name:"Dependencias Federales",subdivision:null},{code:"A",name:"Distrito Capital",subdivision:null},{code:"I",name:"Falcón",subdivision:null},{code:"J",name:"Guárico",subdivision:null},{code:"K",name:"Lara",subdivision:null},{code:"M",name:"Miranda",subdivision:null},{code:"N",name:"Monagas",subdivision:null},{code:"L",name:"Mérida",subdivision:null},{code:"O",name:"Nueva Esparta",subdivision:null},{code:"P",name:"Portuguesa",subdivision:null},{code:"R",name:"Sucre",subdivision:null},{code:"T",name:"Trujillo",subdivision:null},{code:"S",name:"Táchira",subdivision:null},{code:"X",name:"Vargas",subdivision:null},{code:"U",name:"Yaracuy",subdivision:null},{code:"V",name:"Zulia",subdivision:null}]},{code2:"VN",code3:"VNM",name:"Vietnam",capital:"Hanoi",region:"Asia",subregion:"South-Eastern Asia",states:[{code:"44",name:"An Giang",subdivision:null},{code:"43",name:"Bà Rịa–Vũng Tàu",subdivision:null},{code:"57",name:"Bình Dương",subdivision:null},{code:"58",name:"Bình Phước",subdivision:null},{code:"40",name:"Bình Thuận",subdivision:null},{code:"31",name:"Bình Định",subdivision:null},{code:"55",name:"Bạc Liêu",subdivision:null},{code:"54",name:"Bắc Giang",subdivision:null},{code:"53",name:"Bắc Kạn",subdivision:null},{code:"56",name:"Bắc Ninh",subdivision:null},{code:"50",name:"Bến Tre",subdivision:null},{code:"04",name:"Cao Bằng",subdivision:null},{code:"59",name:"Cà Mau",subdivision:null},{code:"CT",name:"Cần Thơ",subdivision:null},{code:"30",name:"Gia Lai",subdivision:null},{code:"03",name:"Hà Giang",subdivision:null},{code:"63",name:"Hà Nam",subdivision:null},{code:"HN",name:"Hà Nội",subdivision:null},{code:"15",name:"Hà Tây",subdivision:null},{code:"23",name:"Hà Tĩnh",subdivision:null},{code:"14",name:"Hòa Bình",subdivision:null},{code:"66",name:"Hưng Yên",subdivision:null},{code:"61",name:"Hải Dương",subdivision:null},{code:"HP",name:"Hải Phòng",subdivision:null},{code:"73",name:"Hậu Giang",subdivision:null},{code:"SG",name:"Hồ Chí Minh",subdivision:null},{code:"34",name:"Khánh Hòa",subdivision:null},{code:"47",name:"Kiên Giang",subdivision:null},{code:"28",name:"Kon Tum",subdivision:null},{code:"01",name:"Lai Châu",subdivision:null},{code:"41",name:"Long An",subdivision:null},{code:"02",name:"Lào Cai",subdivision:null},{code:"35",name:"Lâm Đồng",subdivision:null},{code:"09",name:"Lạng Sơn",subdivision:null},{code:"67",name:"Nam Định",subdivision:null},{code:"22",name:"Nghệ An",subdivision:null},{code:"18",name:"Ninh Bình",subdivision:null},{code:"36",name:"Ninh Thuận",subdivision:null},{code:"68",name:"Phú Thọ",subdivision:null},{code:"32",name:"Phú Yên",subdivision:null},{code:"24",name:"Quảng Bình",subdivision:null},{code:"27",name:"Quảng Nam",subdivision:null},{code:"29",name:"Quảng Ngãi",subdivision:null},{code:"13",name:"Quảng Ninh",subdivision:null},{code:"25",name:"Quảng Trị",subdivision:null},{code:"52",name:"Sóc Trăng",subdivision:null},{code:"05",name:"Sơn La",subdivision:null},{code:"21",name:"Thanh Hóa",subdivision:null},{code:"20",name:"Thái Bình",subdivision:null},{code:"69",name:"Thái Nguyên",subdivision:null},{code:"26",name:"Thừa Thiên–Huế",subdivision:null},{code:"46",name:"Tiền Giang",subdivision:null},{code:"51",name:"Trà Vinh",subdivision:null},{code:"07",name:"Tuyên Quang",subdivision:null},{code:"37",name:"Tây Ninh",subdivision:null},{code:"49",name:"Vĩnh Long",subdivision:null},{code:"70",name:"Vĩnh Phúc",subdivision:null},{code:"06",name:"Yên Bái",subdivision:null},{code:"71",name:"Điện Biên",subdivision:null},{code:"DN",name:"Đà Nẵng",subdivision:null},{code:"33",name:"Đắk Lắk",subdivision:null},{code:"72",name:"Đắk Nông",subdivision:null},{code:"39",name:"Đồng Nai",subdivision:null},{code:"45",name:"Đồng Tháp",subdivision:null}]},{code2:"WF",code3:"WLF",name:"Wallis and Futuna",capital:"Mata-Utu",region:"Oceania",subregion:"Polynesia",states:[]},{code2:"EH",code3:"ESH",name:"Western Sahara",capital:"El Aaiún",region:"Africa",subregion:"Northern Africa",states:[]},{code2:"YE",code3:"YEM",name:"Yemen",capital:"Sana'a",region:"Asia",subregion:"Western Asia",states:[{code:"AD",name:"'Adan",subdivision:null},{code:"AM",name:"'Amrān",subdivision:null},{code:"AB",name:"Abyān",subdivision:null},{code:"BA",name:"Al Bayḑā'",subdivision:null},{code:"JA",name:"Al Jawf",subdivision:null},{code:"MR",name:"Al Mahrah",subdivision:null},{code:"MW",name:"Al Maḩwīt",subdivision:null},{code:"HU",name:"Al Ḩudaydah",subdivision:null},{code:"DA",name:"Aḑ Ḑāli'",subdivision:null},{code:"DH",name:"Dhamār",subdivision:null},{code:"IB",name:"Ibb",subdivision:null},{code:"LA",name:"Laḩij",subdivision:null},{code:"MA",name:"Ma'rib",subdivision:null},{code:"RA",name:"Raymah",subdivision:null},{code:"SH",name:"Shabwah",subdivision:null},{code:"TA",name:"Tā‘izz",subdivision:null},{code:"SA",name:"Şan‘ā'",subdivision:null},{code:"SN",name:"Şan‘ā'",subdivision:null},{code:"SD",name:"Şā‘dah",subdivision:null},{code:"HJ",name:"Ḩajjah",subdivision:null},{code:"HD",name:"Ḩaḑramawt",subdivision:null}]},{code2:"ZM",code3:"ZMB",name:"Zambia",capital:"Lusaka",region:"Africa",subregion:"Eastern Africa",states:[{code:"02",name:"Central",subdivision:null},{code:"08",name:"Copperbelt",subdivision:null},{code:"03",name:"Eastern",subdivision:null},{code:"04",name:"Luapula",subdivision:null},{code:"09",name:"Lusaka",subdivision:null},{code:"06",name:"North-Western",subdivision:null},{code:"05",name:"Northern",subdivision:null},{code:"07",name:"Southern",subdivision:null},{code:"01",name:"Western",subdivision:null}]},{code2:"ZW",code3:"ZWE",name:"Zimbabwe",capital:"Harare",region:"Africa",subregion:"Eastern Africa",states:[{code:"BU",name:"Bulawayo",subdivision:null},{code:"HA",name:"Harare",subdivision:null},{code:"MA",name:"Manicaland",subdivision:null},{code:"MC",name:"Mashonaland Central",subdivision:null},{code:"ME",name:"Mashonaland East",subdivision:null},{code:"MW",name:"Mashonaland West",subdivision:null},{code:"MV",name:"Masvingo",subdivision:null},{code:"MN",name:"Matabeleland North",subdivision:null},{code:"MS",name:"Matabeleland South",subdivision:null},{code:"MI",name:"Midlands",subdivision:null}]}]};class Ga{constructor(e){u(this,"container");u(this,"onAction");u(this,"contactDetails");u(this,"countries",[]);u(this,"states",[]);u(this,"translatedTexts");this.container=e.container,this.onAction=e.onAction,this.countries=Fa.countries.map(t=>({label:t.name,value:t.name,state:t.states.map(i=>(i==null?void 0:i.name)||(i==null?void 0:i.state)||"")})),this.contactDetails={address:"",country:"",city:"",state:"",code:""},this.translatedTexts=e.translatedTexts}attachListeners(){const e=this.container.querySelector("#billing-text"),t=this.container.querySelector("#address-text"),i=this.container.querySelector("#country-text"),s=this.container.querySelector("#state-text"),o=this.container.querySelector("#city-text"),a=this.container.querySelector("#zip-code-text"),l=this.container.querySelector("#avs-form-button-text"),c=this.container.querySelector("#certified-text");e&&(e.innerHTML=this.translatedTexts["billing-address"]),t&&(t.innerHTML=this.translatedTexts.address),i&&(i.innerHTML=this.translatedTexts.country),s&&(s.innerHTML=this.translatedTexts.state),o&&(o.innerHTML=this.translatedTexts.city),a&&(a.innerHTML=this.translatedTexts["zip-code"]),l&&(l.innerHTML=this.translatedTexts.submit),c&&(c.innerHTML=ue.certified);const v=this.container.querySelector("input[name='address']"),m=this.container.querySelector("select[name='country']"),f=this.container.querySelector("input[name='city']"),b=this.container.querySelector("select[name='state']"),g=this.container.querySelector("input[name='code']"),w=document.querySelector("#avs-form-button"),C=document.querySelector("#card-avs-form");v&&v.addEventListener("input",k=>this.handleInputChange(k,w)),f&&f.addEventListener("input",k=>this.handleInputChange(k,w)),b&&b.addEventListener("change",k=>this.handleInputChange(k,w)),m&&m.addEventListener("change",k=>{b?this.handleInputChange(k,w,b):this.handleInputChange(k,w)}),g&&g.addEventListener("input",k=>this.handleInputChange(k,w)),C&&C.addEventListener("submit",k=>{k.preventDefault(),this.onAction(k)({...this.contactDetails,address:this.contactDetails.address,country:this.contactDetails.country,city:this.contactDetails.city,state:this.contactDetails.state,code:this.contactDetails.code})})}handleInputChange(e,t,i){const s=e.target,{name:o,value:a}=s;let l=a;if(o==="address"&&(this.contactDetails.address=a),o==="country"){this.contactDetails.country=a;const c=this.countries.find(v=>v.value===this.contactDetails.country);c&&(this.states=c.state.map(v=>({label:v,value:v})),i&&(i.innerHTML="",this.contactDetails.state="",this.states.forEach(v=>{const m=new Option(v.label,v.value);i.appendChild(m)})))}if(o==="state"&&(this.contactDetails.state=a),o==="city"&&(this.contactDetails.city=a),o==="code"&&(this.contactDetails.code=_t(a),l=_t(a)),s.value=l,this.validateCard())t&&t.removeAttribute("disabled");else if(t){if(t.disabled)return;t.setAttribute("disabled","")}}validateCard(){return!!this.contactDetails.country&&!!this.contactDetails.address&&!!this.contactDetails.city&&!!this.contactDetails.state}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("select[name='country']"),t=this.container.querySelector("select[name='state']");if(e){const i=new Option("","",!0,!0);e.appendChild(i),this.countries.forEach(o=>{const a=new Option(o.label,o.value,o.value==="");e.appendChild(a)});const s=this.countries.find(o=>o.value===this.contactDetails.country);s&&(this.states=s.state.map(o=>({label:o,value:o})),t&&(t.innerHTML="",this.contactDetails.state="",this.states.forEach(o=>{const a=new Option(o.label,o.value);t.appendChild(a)})))}this.attachListeners()}render(){return Ka}}class ja{constructor({container:e,threeDSecureDetails:t,onAction:i,onSuccess:s}){u(this,"container");u(this,"threeDSecureDetails");u(this,"onAction");u(this,"onSuccess");this.container=e,this.threeDSecureDetails=t,this.onAction=i,this.onSuccess=s}attachListener(){const e=document.getElementById("threeDSecureForm");e&&e.addEventListener("submit",t=>{const i=window.open("","threeDSPopup","width=500,height=600");if(!i){alert(ue["enable-popup"]),t.preventDefault();return}const s=setInterval(()=>{try{this.onAction(6),i.location.href.includes("load-checkout")&&(clearInterval(s),i.close(),this.onSuccess())}catch{}i.closed&&(clearInterval(s),this.onSuccess())},500)})}renderComponent(){this.container.innerHTML=`
|
|
689
707
|
<div class="flex py-10 flex-col gap-7">
|
|
690
708
|
<h3 class="text-tone-100 font-semibold text-xl text-center">Kindly proceed to authentication with the button below </h3>
|
|
691
709
|
<div class="container-center" >
|
|
692
710
|
<form id="threeDSecureForm" action="${this.threeDSecureDetails.acsUrl}" method="post" target="threeDSPopup">
|
|
693
711
|
<input type="hidden" name="JWT" value="${this.threeDSecureDetails.jwt}" />
|
|
694
712
|
<input type="hidden" name="MD" value="${this.threeDSecureDetails.md}" />
|
|
695
|
-
<button class="button-fill w-60 text-sm" type="submit">${
|
|
713
|
+
<button class="button-fill w-60 text-sm" type="submit">${ue["proceed-3ds"]}</button>
|
|
696
714
|
</form>
|
|
697
715
|
</div>
|
|
698
716
|
</div>
|
|
699
|
-
`,this.attachListener()}}const
|
|
717
|
+
`,this.attachListener()}}const za=`<div class="py-3 w-full">
|
|
700
718
|
<div class="container-center flex-col gap-4 h-[40dvh]" id="loader-container">
|
|
701
719
|
<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
702
720
|
<path
|
|
@@ -710,7 +728,7 @@
|
|
|
710
728
|
</div>
|
|
711
729
|
</div>
|
|
712
730
|
</div>
|
|
713
|
-
</div>`;class
|
|
731
|
+
</div>`;class xe{constructor(e){u(this,"container");this.container=e}renderContent(){return this.container}mountLoader(e){if(this.container.innerHTML=this.render(),e){const t=this.container.querySelector("#loader-container");t&&(t.style.height=e)}}unmountLoader(){const e=this.container.querySelector("#loader-container");e&&e.classList.add("hidden")}updateMessage(e,t){const i=this.container.querySelector("#loader-message");if(i&&(i.textContent=e,i.classList.remove("hidden")),t){const s=this.container.querySelector("#loader-sub-message");s&&(s.textContent=t,s.classList.remove("hidden"))}}renderComponent(){}render(){return za}}const qa=`<div class="relative gap-3 pb-5" id="transaction-issues-form">
|
|
714
732
|
<div class="border-b border-tone-70 pb-3 container-center">
|
|
715
733
|
|
|
716
734
|
<svg width="84" height="24" viewBox="0 0 84 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -897,9 +915,9 @@
|
|
|
897
915
|
</div>
|
|
898
916
|
</form>
|
|
899
917
|
</div>
|
|
900
|
-
</div>`;class
|
|
918
|
+
</div>`;class Wa{constructor(e){u(this,"container");u(this,"formValues");u(this,"documents");u(this,"paymentResponse");u(this,"uploadEvidenceFile");u(this,"uploadRes");u(this,"onAction");this.container=e.container,this.formValues={reason:""},this.documents=[],this.uploadEvidenceFile=e.uploadEvidenceFile,this.onAction=e.onAction,this.paymentResponse=e.paymentResponse,this.uploadRes={message:"",status:"",url:""}}attachListener(){var k,x;const e=this.container.querySelector("#trans-reference"),t=this.container.querySelector("#full-name"),i=this.container.querySelector("#email"),s=this.container.querySelector("#reason"),o=this.container.querySelector("#debited-select-field"),a=this.container.querySelector("#debited-select-label"),l=this.container.querySelector("#type-select-field"),c=this.container.querySelector("#type-select-label"),v=this.container.querySelector("#filee"),m=this.container.querySelector("#file-label"),f=this.container.querySelector("#file-text"),b=this.container.querySelector("#file-icon"),g=this.container.querySelector("#file-button"),w=this.container.querySelector("#form-button"),C=document.querySelector("#transaction-issues-form");e&&(e.value=((k=this.paymentResponse)==null?void 0:k.reference)||""),t&&t.addEventListener("input",M=>{this.handleInputChange(M,w)}),i&&(i.value=((x=this.paymentResponse.customer)==null?void 0:x.email)||""),s&&s.addEventListener("input",M=>{this.handleInputChange(M,w)}),o&&(o.value||a&&(a.classList.add("top-1/2"),a.classList.remove("inset-y-4")),o==null||o.addEventListener("change",M=>{this.handleInputChange(M,w),o.value?a&&(a.classList.add("inset-y-4"),a.classList.remove("top-1/2")):a&&(a.classList.add("top-1/2"),a.classList.remove("inset-y-4"))})),l&&(l.value||c&&(c.classList.add("top-1/2"),c.classList.remove("inset-y-4")),l==null||l.addEventListener("change",M=>{this.handleInputChange(M,w),l.value?c&&(c.classList.add("inset-y-4"),c.classList.remove("top-1/2")):c&&(c.classList.add("top-1/2"),c.classList.remove("inset-y-4"))})),v&&v.addEventListener("change",M=>{var B;M.preventDefault();const L=v.files,P=/(\.jpg|\.jpeg|\.png|\.pdf)$/i;if(L&&L.length)if(P.exec(L[0].name)){const j=L[0];g&&(g.innerHTML=`<span class="bg-primary text-white text-sm font-semibold py-2 px-3 rounded-md" id="upload-btn-text">
|
|
901
919
|
Uploading...
|
|
902
|
-
</span>`),setTimeout(async()=>{var
|
|
920
|
+
</span>`),setTimeout(async()=>{var W;this.uploadRes=await this.uploadEvidenceFile(j),(W=this.uploadRes)!=null&&W.url&&this.documents.push(this.uploadRes.url),L[0].name&&(m&&(m.textContent=this.uploadRes.message),f&&(f.textContent=`${L[0].name} | ${Math.floor(L[0].size/1024)} KB . ${new Date().toLocaleString("en-us",{day:"numeric",year:"numeric",month:"short"})}`),b&&(this.uploadRes.status==="error"?b.innerHTML=`<svg width="30" height="30" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
903
921
|
<rect x="10" y="11.6667" width="20" height="18.3333" fill="white"/>
|
|
904
922
|
<path d="M19.9955 36.6666C15.5754 36.6706 11.3352 34.9161 8.20965 31.7898C5.08414 28.6635 3.33001 24.4222 3.33399 20.0009V19.6676C3.47026 12.9884 7.57901 7.0353 13.7747 4.54029C19.9704 2.04528 27.0568 3.49007 31.7819 8.21164C36.5512 12.9782 37.9786 20.1498 35.398 26.38C32.8174 32.6101 26.7375 36.6706 19.9955 36.6666ZM19.9955 22.3508L24.3109 26.6672L26.6601 24.3174L22.3448 20.0009L26.6601 15.6845L24.3109 13.3347L19.9955 17.6511L15.6802 13.3347L13.3309 15.6845L17.6463 20.0009L13.3309 24.3174L15.6802 26.6672L19.9955 22.3525V22.3508Z" fill="#D62020"/>
|
|
905
923
|
</svg>
|
|
@@ -907,22 +925,22 @@
|
|
|
907
925
|
<circle cx="16" cy="16" r="16" fill="#E7F6EC"/>
|
|
908
926
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 23.5C20.1421 23.5 23.5 20.1421 23.5 16C23.5 11.8579 20.1421 8.5 16 8.5C11.8579 8.5 8.5 11.8579 8.5 16C8.5 20.1421 11.8579 23.5 16 23.5ZM19.0628 14.9479C19.4022 14.637 19.4254 14.1099 19.1145 13.7705C18.8037 13.4311 18.2766 13.4079 17.9372 13.7188L14.8604 16.5366L14.0628 15.8062C13.7234 15.4953 13.1963 15.5185 12.8855 15.8579C12.5746 16.1973 12.5978 16.7244 12.9372 17.0352L14.2976 18.2812C14.6161 18.5729 15.1047 18.5729 15.4233 18.2812L19.0628 14.9479Z" fill="#0F973D"/>
|
|
909
927
|
</svg>
|
|
910
|
-
`),
|
|
928
|
+
`),g&&(g.innerHTML=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
911
929
|
<path d="M7.9161 1.4585C7.56972 1.4585 7.25945 1.67277 7.13678 1.99671L6.94545 2.50194C6.5353 2.46096 6.15741 2.42005 5.8515 2.3857C5.62282 2.36003 5.43484 2.33807 5.30427 2.32256L5.15364 2.30448L5.10249 2.29823C4.64574 2.24167 4.22898 2.56601 4.17242 3.02275C4.11586 3.4795 4.44027 3.89562 4.89702 3.95218L4.95268 3.95899L5.10766 3.97759C5.24128 3.99346 5.43284 4.01584 5.66553 4.04196C6.1305 4.09417 6.76158 4.16157 7.4237 4.22199C8.31685 4.30351 9.29587 4.37516 9.99944 4.37516C10.703 4.37516 11.682 4.30351 12.5752 4.22199C13.2373 4.16157 13.8684 4.09417 14.3333 4.04196C14.566 4.01584 14.7576 3.99346 14.8912 3.97759L15.0462 3.95899L15.1017 3.95219C15.5585 3.89563 15.883 3.4795 15.8265 3.02275C15.7699 2.56601 15.3538 2.24159 14.897 2.29814L14.8452 2.30448L14.6946 2.32256C14.564 2.33807 14.376 2.36003 14.1474 2.3857C13.8415 2.42005 13.4636 2.46096 13.0534 2.50194L12.8621 1.99671C12.7394 1.67277 12.4292 1.4585 12.0828 1.4585H7.9161Z" fill="#98A2B3"/>
|
|
912
930
|
<path d="M9.1661 9.79183C9.1661 9.33159 8.79301 8.9585 8.33277 8.9585C7.87253 8.9585 7.49944 9.33159 7.49944 9.79183V13.9585C7.49944 14.4187 7.87253 14.7918 8.33277 14.7918C8.79301 14.7918 9.1661 14.4187 9.1661 13.9585V9.79183Z" fill="#98A2B3"/>
|
|
913
931
|
<path d="M11.6661 8.9585C12.1263 8.9585 12.4994 9.33159 12.4994 9.79183V13.9585C12.4994 14.4187 12.1263 14.7918 11.6661 14.7918C11.2059 14.7918 10.8328 14.4187 10.8328 13.9585V9.79183C10.8328 9.33159 11.2059 8.9585 11.6661 8.9585Z" fill="#98A2B3"/>
|
|
914
932
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7575 6.70896C15.833 5.65166 14.9215 4.80402 13.8855 4.92374C12.8255 5.04625 11.1897 5.2085 9.99944 5.2085C8.80915 5.2085 7.17339 5.04625 6.11336 4.92374C5.07742 4.80402 4.16587 5.65165 4.24139 6.70896L4.95534 16.7042C5.00946 17.4619 5.57382 18.1025 6.34831 18.219C7.17881 18.3438 8.70272 18.5433 10.0004 18.5418C11.2821 18.5403 12.8122 18.3417 13.6464 18.218C14.4222 18.1029 14.9894 17.4618 15.0437 16.7019L15.7575 6.70896ZM14.0769 6.57939C14.0797 6.57906 14.082 6.57925 14.082 6.57925L14.0842 6.57976C14.086 6.5804 14.0889 6.58192 14.0918 6.58464C14.0937 6.58644 14.0951 6.58864 14.0951 6.58864L14.095 6.59022L13.382 16.5723C12.5565 16.6943 11.1415 16.8738 9.99847 16.8752C8.84301 16.8765 7.43683 16.6967 6.61695 16.5739L5.90382 6.59022L5.90376 6.58864C5.90376 6.58864 5.90518 6.58644 5.90708 6.58464C5.90995 6.58192 5.91286 6.5804 5.91471 6.57976L5.91691 6.57925C5.91691 6.57925 5.91913 6.57906 5.92202 6.57939C6.98392 6.70211 8.70397 6.87516 9.99944 6.87516C11.2949 6.87516 13.0149 6.70211 14.0769 6.57939Z" fill="#98A2B3"/>
|
|
915
933
|
</svg>
|
|
916
|
-
`))},1e3),
|
|
934
|
+
`))},1e3),g&&(B=v.files)!=null&&B.length&&g.addEventListener("click",()=>{v.value="",v.value||(b&&(b.innerHTML=`<svg width="32" height="32" viewBox="0 0 32 32" fill="none"
|
|
917
935
|
xmlns="http://www.w3.org/2000/svg">
|
|
918
936
|
<circle cx="16" cy="16" r="16" fill="#E6E6E7" />
|
|
919
937
|
<path
|
|
920
938
|
d="M13.334 18.6667L16.0007 16M16.0007 16L18.6673 18.6667M16.0007 16V22M21.334 19.1619C22.1483 18.4894 22.6673 17.472 22.6673 16.3333C22.6673 14.3083 21.0257 12.6667 19.0007 12.6667C18.855 12.6667 18.7187 12.5907 18.6447 12.4652C17.7754 10.9899 16.1703 10 14.334 10C11.5726 10 9.33398 12.2386 9.33398 15C9.33398 16.3774 9.89095 17.6247 10.792 18.529"
|
|
921
939
|
stroke="#86838A" stroke-width="1.5" stroke-linecap="round"
|
|
922
940
|
stroke-linejoin="round" />
|
|
923
|
-
</svg>`),
|
|
941
|
+
</svg>`),g.innerHTML=`<span class="bg-primary text-white text-sm font-semibold py-2 px-3 rounded-md" id="upload-btn-text">
|
|
924
942
|
Upload
|
|
925
|
-
</span>`,m&&(m.textContent="Tap to Upload"),
|
|
943
|
+
</span>`,m&&(m.textContent="Tap to Upload"),f&&(f.textContent="PDF, PNG, JPG | 10MB max."))})}else return}),C&&C.addEventListener("submit",M=>{var P;M.preventDefault();const{reason:L}=this.formValues;this.onAction({transactionReference:(P=this.paymentResponse)==null?void 0:P.reference,reportingReason:L,disputeSource:"CUSTOMER",supportingDocuments:this.documents})})}handleInputChange(e,t){const i=e.target,{name:s,value:o}=i;if(this.formValues={...this.formValues,[s]:o},this.validateForm())t&&t.removeAttribute("disabled");else if(t){if(t.disabled)return;t.setAttribute("disabled","")}}validateForm(){return Object.values(this.formValues).every(t=>!!t)}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return qa}}function Ze(n,e,t){const s=e.get("spf-redirect-url")||t;s&&setTimeout(()=>{const o=new URL(s);o.searchParams.append("status",n.status),o.searchParams.append("reference",n.reference),window.location.href=o.toString()},1800)}class ut{constructor(e){u(this,"container");u(this,"transactionIssuesForm");u(this,"_currentStep");u(this,"onAction");u(this,"url");u(this,"token");u(this,"rdtCode");u(this,"paymentResponse");u(this,"paymentResponseHeaders");u(this,"callbackUrl");this.container=e.container,this._currentStep=1,this.onAction=e.onAction,this.url=e.url||"",this.token=e.token,this.rdtCode=e.rdtCode||"",this.paymentResponse=e.paymentResponse,this.paymentResponseHeaders=e.paymentResponseHeaders,this.callbackUrl=e.callBackUrl}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderTransactionIssuesComponent()}attachListener(){const e=this.container.querySelector("#back"),t=document.querySelector("#main-header"),i=document.querySelector("#main-content"),s=document.querySelector("#main-footer");e&&e.addEventListener("click",()=>{this.onAction(),t.style.display="block",i.classList.add("box-container"),s.style.display="block"})}uploadEvidenceFile(e){const t=new FormData;return t.append("file",e),pa(this.token,t,this.rdtCode,this.url).then(i=>({message:"Upload successfully",status:"success",url:i.data})).catch(i=>({message:"Error uploading file. Please try again",status:"error",url:""}))}submitDisputeForm(e){va(this.token,e,this.rdtCode,this.url).then(i=>{this.container.innerHTML=this.renderSuccessComponent();const s=document.querySelector("#go-back-merchant");s&&s.addEventListener("click",()=>{Ze(this.paymentResponse,this.paymentResponseHeaders,this.callbackUrl)})}).catch(i=>{this.container.innerHTML=this.renderErrorComponent();const s=document.querySelector("#go-back-merchant");s&&s.addEventListener("click",()=>{Ze(this.paymentResponse,this.paymentResponseHeaders,this.callbackUrl)})})}renderSuccessComponent(){return`<div id="paymentSuccess">
|
|
926
944
|
<div class="container-center min-h-[40dvh]">
|
|
927
945
|
<div>
|
|
928
946
|
<div class="container-center mb-5">
|
|
@@ -963,9 +981,9 @@
|
|
|
963
981
|
|
|
964
982
|
</div>
|
|
965
983
|
</div>
|
|
966
|
-
</div>`}renderTransactionIssuesComponent(){const e=document.querySelector("#main-header"),t=document.querySelector("#main-content"),i=document.querySelector("#main-footer");switch(e&&(e.style.display="none"),t&&t.classList.remove("box-container"),i&&(i.style.display="none"),this.currentStep){case 1:this.transactionIssuesForm=new Ra({container:this.container,uploadEvidenceFile:this.uploadEvidenceFile.bind(this),onAction:this.submitDisputeForm.bind(this),paymentResponse:this.paymentResponse}),this.transactionIssuesForm.renderComponent();break}this.attachListener()}}var ve;(function(n){n[n.Document=0]="Document",n[n.DocumentType=1]="DocumentType",n[n.Element=2]="Element",n[n.Text=3]="Text",n[n.CDATA=4]="CDATA",n[n.Comment=5]="Comment"})(ve||(ve={}));function Oa(n){return n.nodeType===n.ELEMENT_NODE}function st(n){const e=n==null?void 0:n.host;return(e==null?void 0:e.shadowRoot)===n}function at(n){return Object.prototype.toString.call(n)==="[object ShadowRoot]"}function Va(n){return n.includes(" background-clip: text;")&&!n.includes(" -webkit-background-clip: text;")&&(n=n.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;")),n}function Ua(n){const{cssText:e}=n;if(e.split('"').length<3)return e;const t=["@import",`url(${JSON.stringify(n.href)})`];return n.layerName===""?t.push("layer"):n.layerName&&t.push(`layer(${n.layerName})`),n.supportsText&&t.push(`supports(${n.supportsText})`),n.media.length&&t.push(n.media.mediaText),t.join(" ")+";"}function Mt(n){try{const e=n.rules||n.cssRules;return e?Va(Array.from(e,vo).join("")):null}catch{return null}}function vo(n){let e;if(Ka(n))try{e=Mt(n.styleSheet)||Ua(n)}catch{}else if(Fa(n)&&n.selectorText.includes(":"))return ja(n.cssText);return e||n.cssText}function ja(n){const e=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return n.replace(e,"$1\\$2")}function Ka(n){return"styleSheet"in n}function Fa(n){return"selectorText"in n}class bo{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(e){var t;if(!e)return-1;const i=(t=this.getMeta(e))===null||t===void 0?void 0:t.id;return i??-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){const t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach(i=>this.removeNodeFromMap(i))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const i=t.id;this.idNodeMap.set(i,e),this.nodeMetaMap.set(e,t)}replace(e,t){const i=this.getNode(e);if(i){const o=this.nodeMetaMap.get(i);o&&this.nodeMetaMap.set(t,o)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function Ga(){return new bo}function Ci({element:n,maskInputOptions:e,tagName:t,type:i,value:o,maskInputFn:s}){let a=o||"";const l=i&&En(i);return(e[t.toLowerCase()]||l&&e[l])&&(s?a=s(a,n):a="*".repeat(a.length)),a}function En(n){return n.toLowerCase()}const fo="__rrweb_original__";function za(n){const e=n.getContext("2d");if(!e)return!0;const t=50;for(let i=0;i<n.width;i+=t)for(let o=0;o<n.height;o+=t){const s=e.getImageData,a=fo in s?s[fo]:s;if(new Uint32Array(a.call(e,i,o,Math.min(t,n.width-i),Math.min(t,n.height-o)).data.buffer).some(d=>d!==0))return!1}return!0}function ki(n){const e=n.type;return n.hasAttribute("data-rr-is-password")?"password":e?En(e):null}function go(n,e){var t;let i;try{i=new URL(n,e??window.location.href)}catch{return null}const o=/\.([0-9a-z]+)(?:$)/i,s=i.pathname.match(o);return(t=s==null?void 0:s[1])!==null&&t!==void 0?t:null}let qa=1;const Wa=new RegExp("[^a-z0-9-_:]"),rt=-2;function yo(){return qa++}function Za(n){if(n instanceof HTMLFormElement)return"form";const e=En(n.tagName);return Wa.test(e)?"div":e}function Ja(n){let e="";return n.indexOf("//")>-1?e=n.split("/").slice(0,3).join("/"):e=n.split("/")[0],e=e.split("?")[0],e}let Gn,wo;const $a=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,Ya=/^(?:[a-z+]+:)?\/\//i,Qa=/^www\..*/i,Xa=/^(data:)([^,]*),(.*)/i;function At(n,e){return(n||"").replace($a,(t,i,o,s,a,l)=>{const d=o||a||l,v=i||s||"";if(!d)return t;if(Ya.test(d)||Qa.test(d))return`url(${v}${d}${v})`;if(Xa.test(d))return`url(${v}${d}${v})`;if(d[0]==="/")return`url(${v}${Ja(e)+d}${v})`;const m=e.split("/"),g=d.split("/");m.pop();for(const b of g)b!=="."&&(b===".."?m.pop():m.push(b));return`url(${v}${m.join("/")}${v})`})}const er=/^[^ \t\n\r\u000c]+/,nr=/^[, \t\n\r\u000c]+/;function tr(n,e){if(e.trim()==="")return e;let t=0;function i(s){let a;const l=s.exec(e.substring(t));return l?(a=l[0],t+=a.length,a):""}const o=[];for(;i(nr),!(t>=e.length);){let s=i(er);if(s.slice(-1)===",")s=zn(n,s.substring(0,s.length-1)),o.push(s);else{let a="";s=zn(n,s);let l=!1;for(;;){const d=e.charAt(t);if(d===""){o.push((s+a).trim());break}else if(l)d===")"&&(l=!1);else if(d===","){t+=1,o.push((s+a).trim());break}else d==="("&&(l=!0);a+=d,t+=1}}}return o.join(", ")}function zn(n,e){if(!e||e.trim()==="")return e;const t=n.createElement("a");return t.href=e,t.href}function ir(n){return!!(n.tagName==="svg"||n.ownerSVGElement)}function Si(){const n=document.createElement("a");return n.href="",n.href}function Co(n,e,t,i){return i&&(t==="src"||t==="href"&&!(e==="use"&&i[0]==="#")||t==="xlink:href"&&i[0]!=="#"||t==="background"&&(e==="table"||e==="td"||e==="th")?zn(n,i):t==="srcset"?tr(n,i):t==="style"?At(i,Si()):e==="object"&&t==="data"?zn(n,i):i)}function ko(n,e,t){return(n==="video"||n==="audio")&&e==="autoplay"}function or(n,e,t){try{if(typeof e=="string"){if(n.classList.contains(e))return!0}else for(let i=n.classList.length;i--;){const o=n.classList[i];if(e.test(o))return!0}if(t)return n.matches(t)}catch{}return!1}function Tt(n,e,t){if(!n)return!1;if(n.nodeType!==n.ELEMENT_NODE)return t?Tt(n.parentNode,e,t):!1;for(let i=n.classList.length;i--;){const o=n.classList[i];if(e.test(o))return!0}return t?Tt(n.parentNode,e,t):!1}function So(n,e,t,i){try{const o=n.nodeType===n.ELEMENT_NODE?n:n.parentElement;if(o===null)return!1;if(typeof e=="string"){if(i){if(o.closest(`.${e}`))return!0}else if(o.classList.contains(e))return!0}else if(Tt(o,e,i))return!0;if(t){if(i){if(o.closest(t))return!0}else if(o.matches(t))return!0}}catch{}return!1}function sr(n,e,t){const i=n.contentWindow;if(!i)return;let o=!1,s;try{s=i.document.readyState}catch{return}if(s!=="complete"){const l=setTimeout(()=>{o||(e(),o=!0)},t);n.addEventListener("load",()=>{clearTimeout(l),o=!0,e()});return}const a="about:blank";if(i.location.href!==a||n.src===a||n.src==="")return setTimeout(e,0),n.addEventListener("load",e);n.addEventListener("load",e)}function ar(n,e,t){let i=!1,o;try{o=n.sheet}catch{return}if(o)return;const s=setTimeout(()=>{i||(e(),i=!0)},t);n.addEventListener("load",()=>{clearTimeout(s),i=!0,e()})}function rr(n,e){const{doc:t,mirror:i,blockClass:o,blockSelector:s,needsMask:a,inlineStylesheet:l,maskInputOptions:d={},maskTextFn:v,maskInputFn:m,dataURLOptions:g={},inlineImages:b,recordCanvas:f,keepIframeSrcFn:C,newlyAddedElement:w=!1}=e,k=lr(t,i);switch(n.nodeType){case n.DOCUMENT_NODE:return n.compatMode!=="CSS1Compat"?{type:ve.Document,childNodes:[],compatMode:n.compatMode}:{type:ve.Document,childNodes:[]};case n.DOCUMENT_TYPE_NODE:return{type:ve.DocumentType,name:n.name,publicId:n.publicId,systemId:n.systemId,rootId:k};case n.ELEMENT_NODE:return cr(n,{doc:t,blockClass:o,blockSelector:s,inlineStylesheet:l,maskInputOptions:d,maskInputFn:m,dataURLOptions:g,inlineImages:b,recordCanvas:f,keepIframeSrcFn:C,newlyAddedElement:w,rootId:k});case n.TEXT_NODE:return dr(n,{needsMask:a,maskTextFn:v,rootId:k});case n.CDATA_SECTION_NODE:return{type:ve.CDATA,textContent:"",rootId:k};case n.COMMENT_NODE:return{type:ve.Comment,textContent:n.textContent||"",rootId:k};default:return!1}}function lr(n,e){if(!e.hasNode(n))return;const t=e.getId(n);return t===1?void 0:t}function dr(n,e){var t;const{needsMask:i,maskTextFn:o,rootId:s}=e,a=n.parentNode&&n.parentNode.tagName;let l=n.textContent;const d=a==="STYLE"?!0:void 0,v=a==="SCRIPT"?!0:void 0;if(d&&l){try{n.nextSibling||n.previousSibling||!((t=n.parentNode.sheet)===null||t===void 0)&&t.cssRules&&(l=Mt(n.parentNode.sheet))}catch(m){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${m}`,n)}l=At(l,Si())}return v&&(l="SCRIPT_PLACEHOLDER"),!d&&!v&&l&&i&&(l=o?o(l,n.parentElement):l.replace(/[\S]/g,"*")),{type:ve.Text,textContent:l||"",isStyle:d,rootId:s}}function cr(n,e){const{doc:t,blockClass:i,blockSelector:o,inlineStylesheet:s,maskInputOptions:a={},maskInputFn:l,dataURLOptions:d={},inlineImages:v,recordCanvas:m,keepIframeSrcFn:g,newlyAddedElement:b=!1,rootId:f}=e,C=or(n,i,o),w=Za(n);let k={};const x=n.attributes.length;for(let _=0;_<x;_++){const E=n.attributes[_];ko(w,E.name,E.value)||(k[E.name]=Co(t,w,En(E.name),E.value))}if(w==="link"&&s){const _=Array.from(t.styleSheets).find(H=>H.href===n.href);let E=null;_&&(E=Mt(_)),E&&(delete k.rel,delete k.href,k._cssText=At(E,_.href))}if(w==="style"&&n.sheet&&!(n.innerText||n.textContent||"").trim().length){const _=Mt(n.sheet);_&&(k._cssText=At(_,Si()))}if(w==="input"||w==="textarea"||w==="select"){const _=n.value,E=n.checked;k.type!=="radio"&&k.type!=="checkbox"&&k.type!=="submit"&&k.type!=="button"&&_?k.value=Ci({element:n,type:ki(n),tagName:w,value:_,maskInputOptions:a,maskInputFn:l}):E&&(k.checked=E)}if(w==="option"&&(n.selected&&!a.select?k.selected=!0:delete k.selected),w==="canvas"&&m){if(n.__context==="2d")za(n)||(k.rr_dataURL=n.toDataURL(d.type,d.quality));else if(!("__context"in n)){const _=n.toDataURL(d.type,d.quality),E=document.createElement("canvas");E.width=n.width,E.height=n.height;const H=E.toDataURL(d.type,d.quality);_!==H&&(k.rr_dataURL=_)}}if(w==="img"&&v){Gn||(Gn=t.createElement("canvas"),wo=Gn.getContext("2d"));const _=n,E=_.crossOrigin;_.crossOrigin="anonymous";const H=()=>{_.removeEventListener("load",H);try{Gn.width=_.naturalWidth,Gn.height=_.naturalHeight,wo.drawImage(_,0,0),k.rr_dataURL=Gn.toDataURL(d.type,d.quality)}catch(G){console.warn(`Cannot inline img src=${_.currentSrc}! Error: ${G}`)}E?k.crossOrigin=E:_.removeAttribute("crossorigin")};_.complete&&_.naturalWidth!==0?H():_.addEventListener("load",H)}if(w==="audio"||w==="video"){const _=k;_.rr_mediaState=n.paused?"paused":"played",_.rr_mediaCurrentTime=n.currentTime,_.rr_mediaPlaybackRate=n.playbackRate,_.rr_mediaMuted=n.muted,_.rr_mediaLoop=n.loop,_.rr_mediaVolume=n.volume}if(b||(n.scrollLeft&&(k.rr_scrollLeft=n.scrollLeft),n.scrollTop&&(k.rr_scrollTop=n.scrollTop)),C){const{width:_,height:E}=n.getBoundingClientRect();k={class:k.class,rr_width:`${_}px`,rr_height:`${E}px`}}w==="iframe"&&!g(k.src)&&(n.contentDocument||(k.rr_src=k.src),delete k.src);let M;try{customElements.get(w)&&(M=!0)}catch{}return{type:ve.Element,tagName:w,attributes:k,childNodes:[],isSVG:ir(n)||void 0,needBlock:C,rootId:f,isCustom:M}}function se(n){return n==null?"":n.toLowerCase()}function ur(n,e){if(e.comment&&n.type===ve.Comment)return!0;if(n.type===ve.Element){if(e.script&&(n.tagName==="script"||n.tagName==="link"&&(n.attributes.rel==="preload"||n.attributes.rel==="modulepreload")&&n.attributes.as==="script"||n.tagName==="link"&&n.attributes.rel==="prefetch"&&typeof n.attributes.href=="string"&&go(n.attributes.href)==="js"))return!0;if(e.headFavicon&&(n.tagName==="link"&&n.attributes.rel==="shortcut icon"||n.tagName==="meta"&&(se(n.attributes.name).match(/^msapplication-tile(image|color)$/)||se(n.attributes.name)==="application-name"||se(n.attributes.rel)==="icon"||se(n.attributes.rel)==="apple-touch-icon"||se(n.attributes.rel)==="shortcut icon")))return!0;if(n.tagName==="meta"){if(e.headMetaDescKeywords&&se(n.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(se(n.attributes.property).match(/^(og|twitter|fb):/)||se(n.attributes.name).match(/^(og|twitter):/)||se(n.attributes.name)==="pinterest"))return!0;if(e.headMetaRobots&&(se(n.attributes.name)==="robots"||se(n.attributes.name)==="googlebot"||se(n.attributes.name)==="bingbot"))return!0;if(e.headMetaHttpEquiv&&n.attributes["http-equiv"]!==void 0)return!0;if(e.headMetaAuthorship&&(se(n.attributes.name)==="author"||se(n.attributes.name)==="generator"||se(n.attributes.name)==="framework"||se(n.attributes.name)==="publisher"||se(n.attributes.name)==="progid"||se(n.attributes.property).match(/^article:/)||se(n.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(se(n.attributes.name)==="google-site-verification"||se(n.attributes.name)==="yandex-verification"||se(n.attributes.name)==="csrf-token"||se(n.attributes.name)==="p:domain_verify"||se(n.attributes.name)==="verify-v1"||se(n.attributes.name)==="verification"||se(n.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function qn(n,e){const{doc:t,mirror:i,blockClass:o,blockSelector:s,maskTextClass:a,maskTextSelector:l,skipChild:d=!1,inlineStylesheet:v=!0,maskInputOptions:m={},maskTextFn:g,maskInputFn:b,slimDOMOptions:f,dataURLOptions:C={},inlineImages:w=!1,recordCanvas:k=!1,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:_=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:H=5e3,keepIframeSrcFn:G=()=>!1,newlyAddedElement:q=!1}=e;let{needsMask:j}=e,{preserveWhiteSpace:z=!0}=e;!j&&n.childNodes&&(j=So(n,a,l,j===void 0));const de=rr(n,{doc:t,mirror:i,blockClass:o,blockSelector:s,needsMask:j,inlineStylesheet:v,maskInputOptions:m,maskTextFn:g,maskInputFn:b,dataURLOptions:C,inlineImages:w,recordCanvas:k,keepIframeSrcFn:G,newlyAddedElement:q});if(!de)return console.warn(n,"not serialized"),null;let Se;i.hasNode(n)?Se=i.getId(n):ur(de,f)||!z&&de.type===ve.Text&&!de.isStyle&&!de.textContent.replace(/^\s+|\s+$/gm,"").length?Se=rt:Se=yo();const K=Object.assign(de,{id:Se});if(i.add(n,K),Se===rt)return null;x&&x(n);let Pe=!d;if(K.type===ve.Element){Pe=Pe&&!K.needBlock,delete K.needBlock;const ge=n.shadowRoot;ge&&at(ge)&&(K.isShadowHost=!0)}if((K.type===ve.Document||K.type===ve.Element)&&Pe){f.headWhitespace&&K.type===ve.Element&&K.tagName==="head"&&(z=!1);const ge={doc:t,mirror:i,blockClass:o,blockSelector:s,needsMask:j,maskTextClass:a,maskTextSelector:l,skipChild:d,inlineStylesheet:v,maskInputOptions:m,maskTextFn:g,maskInputFn:b,slimDOMOptions:f,dataURLOptions:C,inlineImages:w,recordCanvas:k,preserveWhiteSpace:z,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:_,onStylesheetLoad:E,stylesheetLoadTimeout:H,keepIframeSrcFn:G};if(!(K.type===ve.Element&&K.tagName==="textarea"&&K.attributes.value!==void 0))for(const De of Array.from(n.childNodes)){const Ie=qn(De,ge);Ie&&K.childNodes.push(Ie)}if(Oa(n)&&n.shadowRoot)for(const De of Array.from(n.shadowRoot.childNodes)){const Ie=qn(De,ge);Ie&&(at(n.shadowRoot)&&(Ie.isShadow=!0),K.childNodes.push(Ie))}}return n.parentNode&&st(n.parentNode)&&at(n.parentNode)&&(K.isShadow=!0),K.type===ve.Element&&K.tagName==="iframe"&&sr(n,()=>{const ge=n.contentDocument;if(ge&&M){const De=qn(ge,{doc:ge,mirror:i,blockClass:o,blockSelector:s,needsMask:j,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:m,maskTextFn:g,maskInputFn:b,slimDOMOptions:f,dataURLOptions:C,inlineImages:w,recordCanvas:k,preserveWhiteSpace:z,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:_,onStylesheetLoad:E,stylesheetLoadTimeout:H,keepIframeSrcFn:G});De&&M(n,De)}},_),K.type===ve.Element&&K.tagName==="link"&&typeof K.attributes.rel=="string"&&(K.attributes.rel==="stylesheet"||K.attributes.rel==="preload"&&typeof K.attributes.href=="string"&&go(K.attributes.href)==="css")&&ar(n,()=>{if(E){const ge=qn(n,{doc:t,mirror:i,blockClass:o,blockSelector:s,needsMask:j,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:m,maskTextFn:g,maskInputFn:b,slimDOMOptions:f,dataURLOptions:C,inlineImages:w,recordCanvas:k,preserveWhiteSpace:z,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:_,onStylesheetLoad:E,stylesheetLoadTimeout:H,keepIframeSrcFn:G});ge&&E(n,ge)}},H),K}function hr(n,e){const{mirror:t=new bo,blockClass:i="rr-block",blockSelector:o=null,maskTextClass:s="rr-mask",maskTextSelector:a=null,inlineStylesheet:l=!0,inlineImages:d=!1,recordCanvas:v=!1,maskAllInputs:m=!1,maskTextFn:g,maskInputFn:b,slimDOM:f=!1,dataURLOptions:C,preserveWhiteSpace:w,onSerialize:k,onIframeLoad:x,iframeLoadTimeout:M,onStylesheetLoad:_,stylesheetLoadTimeout:E,keepIframeSrcFn:H=()=>!1}=e||{};return qn(n,{doc:n,mirror:t,blockClass:i,blockSelector:o,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:l,maskInputOptions:m===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:m===!1?{password:!0}:m,maskTextFn:g,maskInputFn:b,slimDOMOptions:f===!0||f==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:f==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:f===!1?{}:f,dataURLOptions:C,inlineImages:d,recordCanvas:v,preserveWhiteSpace:w,onSerialize:k,onIframeLoad:x,iframeLoadTimeout:M,onStylesheetLoad:_,stylesheetLoadTimeout:E,keepIframeSrcFn:H,newlyAddedElement:!1})}function Le(n,e,t=document){const i={capture:!0,passive:!0};return t.addEventListener(n,e,i),()=>t.removeEventListener(n,e,i)}const Wn=`Please stop import mirror directly. Instead of that,\r
|
|
984
|
+
</div>`}renderTransactionIssuesComponent(){const e=document.querySelector("#main-header"),t=document.querySelector("#main-content"),i=document.querySelector("#main-footer");switch(e&&(e.style.display="none"),t&&t.classList.remove("box-container"),i&&(i.style.display="none"),this.currentStep){case 1:this.transactionIssuesForm=new Wa({container:this.container,uploadEvidenceFile:this.uploadEvidenceFile.bind(this),onAction:this.submitDisputeForm.bind(this),paymentResponse:this.paymentResponse}),this.transactionIssuesForm.renderComponent();break}this.attachListener()}}var ve;(function(n){n[n.Document=0]="Document",n[n.DocumentType=1]="DocumentType",n[n.Element=2]="Element",n[n.Text=3]="Text",n[n.CDATA=4]="CDATA",n[n.Comment=5]="Comment"})(ve||(ve={}));function Za(n){return n.nodeType===n.ELEMENT_NODE}function ht(n){const e=n==null?void 0:n.host;return(e==null?void 0:e.shadowRoot)===n}function mt(n){return Object.prototype.toString.call(n)==="[object ShadowRoot]"}function Qa(n){return n.includes(" background-clip: text;")&&!n.includes(" -webkit-background-clip: text;")&&(n=n.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;")),n}function Ja(n){const{cssText:e}=n;if(e.split('"').length<3)return e;const t=["@import",`url(${JSON.stringify(n.href)})`];return n.layerName===""?t.push("layer"):n.layerName&&t.push(`layer(${n.layerName})`),n.supportsText&&t.push(`supports(${n.supportsText})`),n.media.length&&t.push(n.media.mediaText),t.join(" ")+";"}function Pt(n){try{const e=n.rules||n.cssRules;return e?Qa(Array.from(e,Ss).join("")):null}catch{return null}}function Ss(n){let e;if(Xa(n))try{e=Pt(n.styleSheet)||Ja(n)}catch{}else if($a(n)&&n.selectorText.includes(":"))return Ya(n.cssText);return e||n.cssText}function Ya(n){const e=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return n.replace(e,"$1\\$2")}function Xa(n){return"styleSheet"in n}function $a(n){return"selectorText"in n}class xs{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(e){var t;if(!e)return-1;const i=(t=this.getMeta(e))===null||t===void 0?void 0:t.id;return i??-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){const t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach(i=>this.removeNodeFromMap(i))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const i=t.id;this.idNodeMap.set(i,e),this.nodeMetaMap.set(e,t)}replace(e,t){const i=this.getNode(e);if(i){const s=this.nodeMetaMap.get(i);s&&this.nodeMetaMap.set(t,s)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function er(){return new xs}function Di({element:n,maskInputOptions:e,tagName:t,type:i,value:s,maskInputFn:o}){let a=s||"";const l=i&&In(i);return(e[t.toLowerCase()]||l&&e[l])&&(o?a=o(a,n):a="*".repeat(a.length)),a}function In(n){return n.toLowerCase()}const As="__rrweb_original__";function nr(n){const e=n.getContext("2d");if(!e)return!0;const t=50;for(let i=0;i<n.width;i+=t)for(let s=0;s<n.height;s+=t){const o=e.getImageData,a=As in o?o[As]:o;if(new Uint32Array(a.call(e,i,s,Math.min(t,n.width-i),Math.min(t,n.height-s)).data.buffer).some(c=>c!==0))return!1}return!0}function Bi(n){const e=n.type;return n.hasAttribute("data-rr-is-password")?"password":e?In(e):null}function Ms(n,e){var t;let i;try{i=new URL(n,e??window.location.href)}catch{return null}const s=/\.([0-9a-z]+)(?:$)/i,o=i.pathname.match(s);return(t=o==null?void 0:o[1])!==null&&t!==void 0?t:null}let tr=1;const ir=new RegExp("[^a-z0-9-_:]"),pt=-2;function Ls(){return tr++}function sr(n){if(n instanceof HTMLFormElement)return"form";const e=In(n.tagName);return ir.test(e)?"div":e}function or(n){let e="";return n.indexOf("//")>-1?e=n.split("/").slice(0,3).join("/"):e=n.split("/")[0],e=e.split("?")[0],e}let Wn,Ts;const ar=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,rr=/^(?:[a-z+]+:)?\/\//i,lr=/^www\..*/i,cr=/^(data:)([^,]*),(.*)/i;function It(n,e){return(n||"").replace(ar,(t,i,s,o,a,l)=>{const c=s||a||l,v=i||o||"";if(!c)return t;if(rr.test(c)||lr.test(c))return`url(${v}${c}${v})`;if(cr.test(c))return`url(${v}${c}${v})`;if(c[0]==="/")return`url(${v}${or(e)+c}${v})`;const m=e.split("/"),f=c.split("/");m.pop();for(const b of f)b!=="."&&(b===".."?m.pop():m.push(b));return`url(${v}${m.join("/")}${v})`})}const dr=/^[^ \t\n\r\u000c]+/,ur=/^[, \t\n\r\u000c]+/;function hr(n,e){if(e.trim()==="")return e;let t=0;function i(o){let a;const l=o.exec(e.substring(t));return l?(a=l[0],t+=a.length,a):""}const s=[];for(;i(ur),!(t>=e.length);){let o=i(dr);if(o.slice(-1)===",")o=Zn(n,o.substring(0,o.length-1)),s.push(o);else{let a="";o=Zn(n,o);let l=!1;for(;;){const c=e.charAt(t);if(c===""){s.push((o+a).trim());break}else if(l)c===")"&&(l=!1);else if(c===","){t+=1,s.push((o+a).trim());break}else c==="("&&(l=!0);a+=c,t+=1}}}return s.join(", ")}function Zn(n,e){if(!e||e.trim()==="")return e;const t=n.createElement("a");return t.href=e,t.href}function mr(n){return!!(n.tagName==="svg"||n.ownerSVGElement)}function Ni(){const n=document.createElement("a");return n.href="",n.href}function _s(n,e,t,i){return i&&(t==="src"||t==="href"&&!(e==="use"&&i[0]==="#")||t==="xlink:href"&&i[0]!=="#"||t==="background"&&(e==="table"||e==="td"||e==="th")?Zn(n,i):t==="srcset"?hr(n,i):t==="style"?It(i,Ni()):e==="object"&&t==="data"?Zn(n,i):i)}function Es(n,e,t){return(n==="video"||n==="audio")&&e==="autoplay"}function pr(n,e,t){try{if(typeof e=="string"){if(n.classList.contains(e))return!0}else for(let i=n.classList.length;i--;){const s=n.classList[i];if(e.test(s))return!0}if(t)return n.matches(t)}catch{}return!1}function Dt(n,e,t){if(!n)return!1;if(n.nodeType!==n.ELEMENT_NODE)return t?Dt(n.parentNode,e,t):!1;for(let i=n.classList.length;i--;){const s=n.classList[i];if(e.test(s))return!0}return t?Dt(n.parentNode,e,t):!1}function Ps(n,e,t,i){try{const s=n.nodeType===n.ELEMENT_NODE?n:n.parentElement;if(s===null)return!1;if(typeof e=="string"){if(i){if(s.closest(`.${e}`))return!0}else if(s.classList.contains(e))return!0}else if(Dt(s,e,i))return!0;if(t){if(i){if(s.closest(t))return!0}else if(s.matches(t))return!0}}catch{}return!1}function vr(n,e,t){const i=n.contentWindow;if(!i)return;let s=!1,o;try{o=i.document.readyState}catch{return}if(o!=="complete"){const l=setTimeout(()=>{s||(e(),s=!0)},t);n.addEventListener("load",()=>{clearTimeout(l),s=!0,e()});return}const a="about:blank";if(i.location.href!==a||n.src===a||n.src==="")return setTimeout(e,0),n.addEventListener("load",e);n.addEventListener("load",e)}function br(n,e,t){let i=!1,s;try{s=n.sheet}catch{return}if(s)return;const o=setTimeout(()=>{i||(e(),i=!0)},t);n.addEventListener("load",()=>{clearTimeout(o),i=!0,e()})}function fr(n,e){const{doc:t,mirror:i,blockClass:s,blockSelector:o,needsMask:a,inlineStylesheet:l,maskInputOptions:c={},maskTextFn:v,maskInputFn:m,dataURLOptions:f={},inlineImages:b,recordCanvas:g,keepIframeSrcFn:w,newlyAddedElement:C=!1}=e,k=gr(t,i);switch(n.nodeType){case n.DOCUMENT_NODE:return n.compatMode!=="CSS1Compat"?{type:ve.Document,childNodes:[],compatMode:n.compatMode}:{type:ve.Document,childNodes:[]};case n.DOCUMENT_TYPE_NODE:return{type:ve.DocumentType,name:n.name,publicId:n.publicId,systemId:n.systemId,rootId:k};case n.ELEMENT_NODE:return Cr(n,{doc:t,blockClass:s,blockSelector:o,inlineStylesheet:l,maskInputOptions:c,maskInputFn:m,dataURLOptions:f,inlineImages:b,recordCanvas:g,keepIframeSrcFn:w,newlyAddedElement:C,rootId:k});case n.TEXT_NODE:return yr(n,{needsMask:a,maskTextFn:v,rootId:k});case n.CDATA_SECTION_NODE:return{type:ve.CDATA,textContent:"",rootId:k};case n.COMMENT_NODE:return{type:ve.Comment,textContent:n.textContent||"",rootId:k};default:return!1}}function gr(n,e){if(!e.hasNode(n))return;const t=e.getId(n);return t===1?void 0:t}function yr(n,e){var t;const{needsMask:i,maskTextFn:s,rootId:o}=e,a=n.parentNode&&n.parentNode.tagName;let l=n.textContent;const c=a==="STYLE"?!0:void 0,v=a==="SCRIPT"?!0:void 0;if(c&&l){try{n.nextSibling||n.previousSibling||!((t=n.parentNode.sheet)===null||t===void 0)&&t.cssRules&&(l=Pt(n.parentNode.sheet))}catch(m){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${m}`,n)}l=It(l,Ni())}return v&&(l="SCRIPT_PLACEHOLDER"),!c&&!v&&l&&i&&(l=s?s(l,n.parentElement):l.replace(/[\S]/g,"*")),{type:ve.Text,textContent:l||"",isStyle:c,rootId:o}}function Cr(n,e){const{doc:t,blockClass:i,blockSelector:s,inlineStylesheet:o,maskInputOptions:a={},maskInputFn:l,dataURLOptions:c={},inlineImages:v,recordCanvas:m,keepIframeSrcFn:f,newlyAddedElement:b=!1,rootId:g}=e,w=pr(n,i,s),C=sr(n);let k={};const x=n.attributes.length;for(let L=0;L<x;L++){const P=n.attributes[L];Es(C,P.name,P.value)||(k[P.name]=_s(t,C,In(P.name),P.value))}if(C==="link"&&o){const L=Array.from(t.styleSheets).find(B=>B.href===n.href);let P=null;L&&(P=Pt(L)),P&&(delete k.rel,delete k.href,k._cssText=It(P,L.href))}if(C==="style"&&n.sheet&&!(n.innerText||n.textContent||"").trim().length){const L=Pt(n.sheet);L&&(k._cssText=It(L,Ni()))}if(C==="input"||C==="textarea"||C==="select"){const L=n.value,P=n.checked;k.type!=="radio"&&k.type!=="checkbox"&&k.type!=="submit"&&k.type!=="button"&&L?k.value=Di({element:n,type:Bi(n),tagName:C,value:L,maskInputOptions:a,maskInputFn:l}):P&&(k.checked=P)}if(C==="option"&&(n.selected&&!a.select?k.selected=!0:delete k.selected),C==="canvas"&&m){if(n.__context==="2d")nr(n)||(k.rr_dataURL=n.toDataURL(c.type,c.quality));else if(!("__context"in n)){const L=n.toDataURL(c.type,c.quality),P=document.createElement("canvas");P.width=n.width,P.height=n.height;const B=P.toDataURL(c.type,c.quality);L!==B&&(k.rr_dataURL=L)}}if(C==="img"&&v){Wn||(Wn=t.createElement("canvas"),Ts=Wn.getContext("2d"));const L=n,P=L.crossOrigin;L.crossOrigin="anonymous";const B=()=>{L.removeEventListener("load",B);try{Wn.width=L.naturalWidth,Wn.height=L.naturalHeight,Ts.drawImage(L,0,0),k.rr_dataURL=Wn.toDataURL(c.type,c.quality)}catch(j){console.warn(`Cannot inline img src=${L.currentSrc}! Error: ${j}`)}P?k.crossOrigin=P:L.removeAttribute("crossorigin")};L.complete&&L.naturalWidth!==0?B():L.addEventListener("load",B)}if(C==="audio"||C==="video"){const L=k;L.rr_mediaState=n.paused?"paused":"played",L.rr_mediaCurrentTime=n.currentTime,L.rr_mediaPlaybackRate=n.playbackRate,L.rr_mediaMuted=n.muted,L.rr_mediaLoop=n.loop,L.rr_mediaVolume=n.volume}if(b||(n.scrollLeft&&(k.rr_scrollLeft=n.scrollLeft),n.scrollTop&&(k.rr_scrollTop=n.scrollTop)),w){const{width:L,height:P}=n.getBoundingClientRect();k={class:k.class,rr_width:`${L}px`,rr_height:`${P}px`}}C==="iframe"&&!f(k.src)&&(n.contentDocument||(k.rr_src=k.src),delete k.src);let M;try{customElements.get(C)&&(M=!0)}catch{}return{type:ve.Element,tagName:C,attributes:k,childNodes:[],isSVG:mr(n)||void 0,needBlock:w,rootId:g,isCustom:M}}function ae(n){return n==null?"":n.toLowerCase()}function wr(n,e){if(e.comment&&n.type===ve.Comment)return!0;if(n.type===ve.Element){if(e.script&&(n.tagName==="script"||n.tagName==="link"&&(n.attributes.rel==="preload"||n.attributes.rel==="modulepreload")&&n.attributes.as==="script"||n.tagName==="link"&&n.attributes.rel==="prefetch"&&typeof n.attributes.href=="string"&&Ms(n.attributes.href)==="js"))return!0;if(e.headFavicon&&(n.tagName==="link"&&n.attributes.rel==="shortcut icon"||n.tagName==="meta"&&(ae(n.attributes.name).match(/^msapplication-tile(image|color)$/)||ae(n.attributes.name)==="application-name"||ae(n.attributes.rel)==="icon"||ae(n.attributes.rel)==="apple-touch-icon"||ae(n.attributes.rel)==="shortcut icon")))return!0;if(n.tagName==="meta"){if(e.headMetaDescKeywords&&ae(n.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(ae(n.attributes.property).match(/^(og|twitter|fb):/)||ae(n.attributes.name).match(/^(og|twitter):/)||ae(n.attributes.name)==="pinterest"))return!0;if(e.headMetaRobots&&(ae(n.attributes.name)==="robots"||ae(n.attributes.name)==="googlebot"||ae(n.attributes.name)==="bingbot"))return!0;if(e.headMetaHttpEquiv&&n.attributes["http-equiv"]!==void 0)return!0;if(e.headMetaAuthorship&&(ae(n.attributes.name)==="author"||ae(n.attributes.name)==="generator"||ae(n.attributes.name)==="framework"||ae(n.attributes.name)==="publisher"||ae(n.attributes.name)==="progid"||ae(n.attributes.property).match(/^article:/)||ae(n.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(ae(n.attributes.name)==="google-site-verification"||ae(n.attributes.name)==="yandex-verification"||ae(n.attributes.name)==="csrf-token"||ae(n.attributes.name)==="p:domain_verify"||ae(n.attributes.name)==="verify-v1"||ae(n.attributes.name)==="verification"||ae(n.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Qn(n,e){const{doc:t,mirror:i,blockClass:s,blockSelector:o,maskTextClass:a,maskTextSelector:l,skipChild:c=!1,inlineStylesheet:v=!0,maskInputOptions:m={},maskTextFn:f,maskInputFn:b,slimDOMOptions:g,dataURLOptions:w={},inlineImages:C=!1,recordCanvas:k=!1,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:L=5e3,onStylesheetLoad:P,stylesheetLoadTimeout:B=5e3,keepIframeSrcFn:j=()=>!1,newlyAddedElement:W=!1}=e;let{needsMask:K}=e,{preserveWhiteSpace:z=!0}=e;!K&&n.childNodes&&(K=Ps(n,a,l,K===void 0));const de=fr(n,{doc:t,mirror:i,blockClass:s,blockSelector:o,needsMask:K,inlineStylesheet:v,maskInputOptions:m,maskTextFn:f,maskInputFn:b,dataURLOptions:w,inlineImages:C,recordCanvas:k,keepIframeSrcFn:j,newlyAddedElement:W});if(!de)return console.warn(n,"not serialized"),null;let Ae;i.hasNode(n)?Ae=i.getId(n):wr(de,g)||!z&&de.type===ve.Text&&!de.isStyle&&!de.textContent.replace(/^\s+|\s+$/gm,"").length?Ae=pt:Ae=Ls();const F=Object.assign(de,{id:Ae});if(i.add(n,F),Ae===pt)return null;x&&x(n);let Ie=!c;if(F.type===ve.Element){Ie=Ie&&!F.needBlock,delete F.needBlock;const ge=n.shadowRoot;ge&&mt(ge)&&(F.isShadowHost=!0)}if((F.type===ve.Document||F.type===ve.Element)&&Ie){g.headWhitespace&&F.type===ve.Element&&F.tagName==="head"&&(z=!1);const ge={doc:t,mirror:i,blockClass:s,blockSelector:o,needsMask:K,maskTextClass:a,maskTextSelector:l,skipChild:c,inlineStylesheet:v,maskInputOptions:m,maskTextFn:f,maskInputFn:b,slimDOMOptions:g,dataURLOptions:w,inlineImages:C,recordCanvas:k,preserveWhiteSpace:z,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:L,onStylesheetLoad:P,stylesheetLoadTimeout:B,keepIframeSrcFn:j};if(!(F.type===ve.Element&&F.tagName==="textarea"&&F.attributes.value!==void 0))for(const Re of Array.from(n.childNodes)){const De=Qn(Re,ge);De&&F.childNodes.push(De)}if(Za(n)&&n.shadowRoot)for(const Re of Array.from(n.shadowRoot.childNodes)){const De=Qn(Re,ge);De&&(mt(n.shadowRoot)&&(De.isShadow=!0),F.childNodes.push(De))}}return n.parentNode&&ht(n.parentNode)&&mt(n.parentNode)&&(F.isShadow=!0),F.type===ve.Element&&F.tagName==="iframe"&&vr(n,()=>{const ge=n.contentDocument;if(ge&&M){const Re=Qn(ge,{doc:ge,mirror:i,blockClass:s,blockSelector:o,needsMask:K,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:m,maskTextFn:f,maskInputFn:b,slimDOMOptions:g,dataURLOptions:w,inlineImages:C,recordCanvas:k,preserveWhiteSpace:z,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:L,onStylesheetLoad:P,stylesheetLoadTimeout:B,keepIframeSrcFn:j});Re&&M(n,Re)}},L),F.type===ve.Element&&F.tagName==="link"&&typeof F.attributes.rel=="string"&&(F.attributes.rel==="stylesheet"||F.attributes.rel==="preload"&&typeof F.attributes.href=="string"&&Ms(F.attributes.href)==="css")&&br(n,()=>{if(P){const ge=Qn(n,{doc:t,mirror:i,blockClass:s,blockSelector:o,needsMask:K,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:m,maskTextFn:f,maskInputFn:b,slimDOMOptions:g,dataURLOptions:w,inlineImages:C,recordCanvas:k,preserveWhiteSpace:z,onSerialize:x,onIframeLoad:M,iframeLoadTimeout:L,onStylesheetLoad:P,stylesheetLoadTimeout:B,keepIframeSrcFn:j});ge&&P(n,ge)}},B),F}function kr(n,e){const{mirror:t=new xs,blockClass:i="rr-block",blockSelector:s=null,maskTextClass:o="rr-mask",maskTextSelector:a=null,inlineStylesheet:l=!0,inlineImages:c=!1,recordCanvas:v=!1,maskAllInputs:m=!1,maskTextFn:f,maskInputFn:b,slimDOM:g=!1,dataURLOptions:w,preserveWhiteSpace:C,onSerialize:k,onIframeLoad:x,iframeLoadTimeout:M,onStylesheetLoad:L,stylesheetLoadTimeout:P,keepIframeSrcFn:B=()=>!1}=e||{};return Qn(n,{doc:n,mirror:t,blockClass:i,blockSelector:s,maskTextClass:o,maskTextSelector:a,skipChild:!1,inlineStylesheet:l,maskInputOptions:m===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:m===!1?{password:!0}:m,maskTextFn:f,maskInputFn:b,slimDOMOptions:g===!0||g==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:g==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:g===!1?{}:g,dataURLOptions:w,inlineImages:c,recordCanvas:v,preserveWhiteSpace:C,onSerialize:k,onIframeLoad:x,iframeLoadTimeout:M,onStylesheetLoad:L,stylesheetLoadTimeout:P,keepIframeSrcFn:B,newlyAddedElement:!1})}function Ee(n,e,t=document){const i={capture:!0,passive:!0};return t.addEventListener(n,e,i),()=>t.removeEventListener(n,e,i)}const Jn=`Please stop import mirror directly. Instead of that,\r
|
|
967
985
|
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
968
|
-
or you can use record.mirror to access the mirror instance during recording.`;let xo={map:{},getId(){return console.error(Wn),-1},getNode(){return console.error(Wn),null},removeNodeFromMap(){console.error(Wn)},has(){return console.error(Wn),!1},reset(){console.error(Wn)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(xo=new Proxy(xo,{get(n,e,t){return e==="map"&&console.error(Wn),Reflect.get(n,e,t)}}));function lt(n,e,t={}){let i=null,o=0;return function(...s){const a=Date.now();!o&&t.leading===!1&&(o=a);const l=e-(a-o),d=this;l<=0||l>e?(i&&(clearTimeout(i),i=null),o=a,n.apply(d,s)):!i&&t.trailing!==!1&&(i=setTimeout(()=>{o=t.leading===!1?0:Date.now(),i=null,n.apply(d,s)},l))}}function Lt(n,e,t,i,o=window){const s=o.Object.getOwnPropertyDescriptor(n,e);return o.Object.defineProperty(n,e,i?t:{set(a){setTimeout(()=>{t.set.call(this,a)},0),s&&s.set&&s.set.call(this,a)}}),()=>Lt(n,e,s||{},!0)}function Zn(n,e,t){try{if(!(e in n))return()=>{};const i=n[e],o=t(i);return typeof o=="function"&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:i}})),n[e]=o,()=>{n[e]=i}}catch{return()=>{}}}let Et=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Et=()=>new Date().getTime());function _o(n){var e,t,i,o,s,a;const l=n.document;return{left:l.scrollingElement?l.scrollingElement.scrollLeft:n.pageXOffset!==void 0?n.pageXOffset:(l==null?void 0:l.documentElement.scrollLeft)||((t=(e=l==null?void 0:l.body)===null||e===void 0?void 0:e.parentElement)===null||t===void 0?void 0:t.scrollLeft)||((i=l==null?void 0:l.body)===null||i===void 0?void 0:i.scrollLeft)||0,top:l.scrollingElement?l.scrollingElement.scrollTop:n.pageYOffset!==void 0?n.pageYOffset:(l==null?void 0:l.documentElement.scrollTop)||((s=(o=l==null?void 0:l.body)===null||o===void 0?void 0:o.parentElement)===null||s===void 0?void 0:s.scrollTop)||((a=l==null?void 0:l.body)===null||a===void 0?void 0:a.scrollTop)||0}}function Mo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Ao(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function To(n){return n?n.nodeType===n.ELEMENT_NODE?n:n.parentElement:null}function Ee(n,e,t,i){if(!n)return!1;const o=To(n);if(!o)return!1;try{if(typeof e=="string"){if(o.classList.contains(e)||i&&o.closest("."+e)!==null)return!0}else if(Tt(o,e,i))return!0}catch{}return!!(t&&(o.matches(t)||i&&o.closest(t)!==null))}function mr(n,e){return e.getId(n)!==-1}function xi(n,e){return e.getId(n)===rt}function Lo(n,e){if(st(n))return!1;const t=e.getId(n);return e.has(t)?n.parentNode&&n.parentNode.nodeType===n.DOCUMENT_NODE?!1:n.parentNode?Lo(n.parentNode,e):!0:!0}function _i(n){return!!n.changedTouches}function pr(n=window){"NodeList"in n&&!n.NodeList.prototype.forEach&&(n.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in n&&!n.DOMTokenList.prototype.forEach&&(n.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let t=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do if(this===t)return!0;while(t=t&&t.parentNode);return!1})}function Eo(n,e){return!!(n.nodeName==="IFRAME"&&e.getMeta(n))}function Po(n,e){return!!(n.nodeName==="LINK"&&n.nodeType===n.ELEMENT_NODE&&n.getAttribute&&n.getAttribute("rel")==="stylesheet"&&e.getMeta(n))}function Mi(n){return!!(n!=null&&n.shadowRoot)}class vr{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){var t;return(t=this.styleIDMap.get(e))!==null&&t!==void 0?t:-1}has(e){return this.styleIDMap.has(e)}add(e,t){if(this.has(e))return this.getId(e);let i;return t===void 0?i=this.id++:i=t,this.styleIDMap.set(e,i),this.idStyleMap.set(i,e),i}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function Do(n){var e,t;let i=null;return((t=(e=n.getRootNode)===null||e===void 0?void 0:e.call(n))===null||t===void 0?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&n.getRootNode().host&&(i=n.getRootNode().host),i}function br(n){let e=n,t;for(;t=Do(e);)e=t;return e}function fr(n){const e=n.ownerDocument;if(!e)return!1;const t=br(n);return e.contains(t)}function Io(n){const e=n.ownerDocument;return e?e.contains(n)||fr(n):!1}var Y=(n=>(n[n.DomContentLoaded=0]="DomContentLoaded",n[n.Load=1]="Load",n[n.FullSnapshot=2]="FullSnapshot",n[n.IncrementalSnapshot=3]="IncrementalSnapshot",n[n.Meta=4]="Meta",n[n.Custom=5]="Custom",n[n.Plugin=6]="Plugin",n))(Y||{}),Z=(n=>(n[n.Mutation=0]="Mutation",n[n.MouseMove=1]="MouseMove",n[n.MouseInteraction=2]="MouseInteraction",n[n.Scroll=3]="Scroll",n[n.ViewportResize=4]="ViewportResize",n[n.Input=5]="Input",n[n.TouchMove=6]="TouchMove",n[n.MediaInteraction=7]="MediaInteraction",n[n.StyleSheetRule=8]="StyleSheetRule",n[n.CanvasMutation=9]="CanvasMutation",n[n.Font=10]="Font",n[n.Log=11]="Log",n[n.Drag=12]="Drag",n[n.StyleDeclaration=13]="StyleDeclaration",n[n.Selection=14]="Selection",n[n.AdoptedStyleSheet=15]="AdoptedStyleSheet",n[n.CustomElement=16]="CustomElement",n))(Z||{}),Re=(n=>(n[n.MouseUp=0]="MouseUp",n[n.MouseDown=1]="MouseDown",n[n.Click=2]="Click",n[n.ContextMenu=3]="ContextMenu",n[n.DblClick=4]="DblClick",n[n.Focus=5]="Focus",n[n.Blur=6]="Blur",n[n.TouchStart=7]="TouchStart",n[n.TouchMove_Departed=8]="TouchMove_Departed",n[n.TouchEnd=9]="TouchEnd",n[n.TouchCancel=10]="TouchCancel",n))(Re||{}),on=(n=>(n[n.Mouse=0]="Mouse",n[n.Pen=1]="Pen",n[n.Touch=2]="Touch",n))(on||{}),Jn=(n=>(n[n["2D"]=0]="2D",n[n.WebGL=1]="WebGL",n[n.WebGL2=2]="WebGL2",n))(Jn||{});function Ho(n){return"__ln"in n}class gr{constructor(){this.length=0,this.head=null,this.tail=null}get(e){if(e>=this.length)throw new Error("Position outside of list range");let t=this.head;for(let i=0;i<e;i++)t=(t==null?void 0:t.next)||null;return t}addNode(e){const t={value:e,previous:null,next:null};if(e.__ln=t,e.previousSibling&&Ho(e.previousSibling)){const i=e.previousSibling.__ln.next;t.next=i,t.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=t,i&&(i.previous=t)}else if(e.nextSibling&&Ho(e.nextSibling)&&e.nextSibling.__ln.previous){const i=e.nextSibling.__ln.previous;t.previous=i,t.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=t,i&&(i.next=t)}else this.head&&(this.head.previous=t),t.next=this.head,this.head=t;t.next===null&&(this.tail=t),this.length++}removeNode(e){const t=e.__ln;this.head&&(t.previous?(t.previous.next=t.next,t.next?t.next.previous=t.previous:this.tail=t.previous):(this.head=t.next,this.head?this.head.previous=null:this.tail=null),e.__ln&&delete e.__ln,this.length--)}}const Bo=(n,e)=>`${n}@${e}`;class yr{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=e=>{e.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,i=new gr,o=d=>{let v=d,m=rt;for(;m===rt;)v=v&&v.nextSibling,m=v&&this.mirror.getId(v);return m},s=d=>{if(!d.parentNode||!Io(d)||d.parentNode.tagName==="TEXTAREA")return;const v=st(d.parentNode)?this.mirror.getId(Do(d)):this.mirror.getId(d.parentNode),m=o(d);if(v===-1||m===-1)return i.addNode(d);const g=qn(d,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:b=>{Eo(b,this.mirror)&&this.iframeManager.addIframe(b),Po(b,this.mirror)&&this.stylesheetManager.trackLinkElement(b),Mi(d)&&this.shadowDomManager.addShadowRoot(d.shadowRoot,this.doc)},onIframeLoad:(b,f)=>{this.iframeManager.attachIframe(b,f),this.shadowDomManager.observeAttachShadow(b)},onStylesheetLoad:(b,f)=>{this.stylesheetManager.attachLinkElement(b,f)}});g&&(e.push({parentId:v,nextId:m,node:g}),t.add(g.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const d of this.movedSet)No(this.removes,d,this.mirror)&&!this.movedSet.has(d.parentNode)||s(d);for(const d of this.addedSet)!Oo(this.droppedSet,d)&&!No(this.removes,d,this.mirror)||Oo(this.movedSet,d)?s(d):this.droppedSet.add(d);let a=null;for(;i.length;){let d=null;if(a){const v=this.mirror.getId(a.value.parentNode),m=o(a.value);v!==-1&&m!==-1&&(d=a)}if(!d){let v=i.tail;for(;v;){const m=v;if(v=v.previous,m){const g=this.mirror.getId(m.value.parentNode);if(o(m.value)===-1)continue;if(g!==-1){d=m;break}else{const f=m.value;if(f.parentNode&&f.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const C=f.parentNode.host;if(this.mirror.getId(C)!==-1){d=m;break}}}}}}if(!d){for(;i.head;)i.removeNode(i.head.value);break}a=d.previous,i.removeNode(d.value),s(d.value)}const l={texts:this.texts.map(d=>{const v=d.node;return v.parentNode&&v.parentNode.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(v.parentNode),{id:this.mirror.getId(v),value:d.value}}).filter(d=>!t.has(d.id)).filter(d=>this.mirror.has(d.id)),attributes:this.attributes.map(d=>{const{attributes:v}=d;if(typeof v.style=="string"){const m=JSON.stringify(d.styleDiff),g=JSON.stringify(d._unchangedStyles);m.length<v.style.length&&(m+g).split("var(").length===v.style.split("var(").length&&(v.style=d.styleDiff)}return{id:this.mirror.getId(d.node),attributes:v}}).filter(d=>!t.has(d.id)).filter(d=>this.mirror.has(d.id)),removes:this.removes,adds:e};!l.texts.length&&!l.attributes.length&&!l.removes.length&&!l.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(l))},this.genTextAreaValueMutation=e=>{let t=this.attributeMap.get(e);t||(t={node:e,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(t),this.attributeMap.set(e,t)),t.attributes.value=Array.from(e.childNodes,i=>i.textContent||"").join("")},this.processMutation=e=>{if(!xi(e.target,this.mirror))switch(e.type){case"characterData":{const t=e.target.textContent;!Ee(e.target,this.blockClass,this.blockSelector,!1)&&t!==e.oldValue&&this.texts.push({value:So(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,To(e.target)):t.replace(/[\S]/g,"*"):t,node:e.target});break}case"attributes":{const t=e.target;let i=e.attributeName,o=e.target.getAttribute(i);if(i==="value"){const a=ki(t);o=Ci({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:a,value:o,maskInputFn:this.maskInputFn})}if(Ee(e.target,this.blockClass,this.blockSelector,!1)||o===e.oldValue)return;let s=this.attributeMap.get(e.target);if(t.tagName==="IFRAME"&&i==="src"&&!this.keepIframeSrcFn(o))if(!t.contentDocument)i="rr_src";else return;if(s||(s={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(e.target,s)),i==="type"&&t.tagName==="INPUT"&&(e.oldValue||"").toLowerCase()==="password"&&t.setAttribute("data-rr-is-password","true"),!ko(t.tagName,i)&&(s.attributes[i]=Co(this.doc,En(t.tagName),En(i),o),i==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const a=this.unattachedDoc.createElement("span");e.oldValue&&a.setAttribute("style",e.oldValue);for(const l of Array.from(t.style)){const d=t.style.getPropertyValue(l),v=t.style.getPropertyPriority(l);d!==a.style.getPropertyValue(l)||v!==a.style.getPropertyPriority(l)?v===""?s.styleDiff[l]=d:s.styleDiff[l]=[d,v]:s._unchangedStyles[l]=[d,v]}for(const l of Array.from(a.style))t.style.getPropertyValue(l)===""&&(s.styleDiff[l]=!1)}break}case"childList":{if(Ee(e.target,this.blockClass,this.blockSelector,!0))return;if(e.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(e.target);return}e.addedNodes.forEach(t=>this.genAdds(t,e.target)),e.removedNodes.forEach(t=>{const i=this.mirror.getId(t),o=st(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);Ee(e.target,this.blockClass,this.blockSelector,!1)||xi(t,this.mirror)||!mr(t,this.mirror)||(this.addedSet.has(t)?(Ai(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&i===-1||Lo(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[Bo(i,o)]?Ai(this.movedSet,t):this.removes.push({parentId:o,id:i,isShadow:st(e.target)&&at(e.target)?!0:void 0})),this.mapRemoves.push(t))});break}}},this.genAdds=(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!(this.addedSet.has(e)||this.movedSet.has(e))){if(this.mirror.hasNode(e)){if(xi(e,this.mirror))return;this.movedSet.add(e);let i=null;t&&this.mirror.hasNode(t)&&(i=this.mirror.getId(t)),i&&i!==-1&&(this.movedMap[Bo(this.mirror.getId(e),i)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);Ee(e,this.blockClass,this.blockSelector,!1)||(e.childNodes.forEach(i=>this.genAdds(i)),Mi(e)&&e.shadowRoot.childNodes.forEach(i=>{this.processedNodeManager.add(i,this),this.genAdds(i,e)}))}}}init(e){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(t=>{this[t]=e[t]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function Ai(n,e){n.delete(e),e.childNodes.forEach(t=>Ai(n,t))}function No(n,e,t){return n.length===0?!1:Ro(n,e,t)}function Ro(n,e,t){const{parentNode:i}=e;if(!i)return!1;const o=t.getId(i);return n.some(s=>s.id===o)?!0:Ro(n,i,t)}function Oo(n,e){return n.size===0?!1:Vo(n,e)}function Vo(n,e){const{parentNode:t}=e;return t?n.has(t)?!0:Vo(n,t):!1}let dt;function wr(n){dt=n}function Cr(){dt=void 0}const J=n=>dt?(...t)=>{try{return n(...t)}catch(i){if(dt&&dt(i)===!0)return;throw i}}:n,Pn=[];function ct(n){try{if("composedPath"in n){const e=n.composedPath();if(e.length)return e[0]}else if("path"in n&&n.path.length)return n.path[0]}catch{}return n&&n.target}function Uo(n,e){var t,i;const o=new yr;Pn.push(o),o.init(n);let s=window.MutationObserver||window.__rrMutationObserver;const a=(i=(t=window==null?void 0:window.Zone)===null||t===void 0?void 0:t.__symbol__)===null||i===void 0?void 0:i.call(t,"MutationObserver");a&&window[a]&&(s=window[a]);const l=new s(J(o.processMutations.bind(o)));return l.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),l}function kr({mousemoveCb:n,sampling:e,doc:t,mirror:i}){if(e.mousemove===!1)return()=>{};const o=typeof e.mousemove=="number"?e.mousemove:50,s=typeof e.mousemoveCallback=="number"?e.mousemoveCallback:500;let a=[],l;const d=lt(J(g=>{const b=Date.now()-l;n(a.map(f=>(f.timeOffset-=b,f)),g),a=[],l=null}),s),v=J(lt(J(g=>{const b=ct(g),{clientX:f,clientY:C}=_i(g)?g.changedTouches[0]:g;l||(l=Et()),a.push({x:f,y:C,id:i.getId(b),timeOffset:Et()-l}),d(typeof DragEvent<"u"&&g instanceof DragEvent?Z.Drag:g instanceof MouseEvent?Z.MouseMove:Z.TouchMove)}),o,{trailing:!1})),m=[Le("mousemove",v,t),Le("touchmove",v,t),Le("drag",v,t)];return J(()=>{m.forEach(g=>g())})}function Sr({mouseInteractionCb:n,doc:e,mirror:t,blockClass:i,blockSelector:o,sampling:s}){if(s.mouseInteraction===!1)return()=>{};const a=s.mouseInteraction===!0||s.mouseInteraction===void 0?{}:s.mouseInteraction,l=[];let d=null;const v=m=>g=>{const b=ct(g);if(Ee(b,i,o,!0))return;let f=null,C=m;if("pointerType"in g){switch(g.pointerType){case"mouse":f=on.Mouse;break;case"touch":f=on.Touch;break;case"pen":f=on.Pen;break}f===on.Touch?Re[m]===Re.MouseDown?C="TouchStart":Re[m]===Re.MouseUp&&(C="TouchEnd"):on.Pen}else _i(g)&&(f=on.Touch);f!==null?(d=f,(C.startsWith("Touch")&&f===on.Touch||C.startsWith("Mouse")&&f===on.Mouse)&&(f=null)):Re[m]===Re.Click&&(f=d,d=null);const w=_i(g)?g.changedTouches[0]:g;if(!w)return;const k=t.getId(b),{clientX:x,clientY:M}=w;J(n)(Object.assign({type:Re[C],id:k,x,y:M},f!==null&&{pointerType:f}))};return Object.keys(Re).filter(m=>Number.isNaN(Number(m))&&!m.endsWith("_Departed")&&a[m]!==!1).forEach(m=>{let g=En(m);const b=v(m);if(window.PointerEvent)switch(Re[m]){case Re.MouseDown:case Re.MouseUp:g=g.replace("mouse","pointer");break;case Re.TouchStart:case Re.TouchEnd:return}l.push(Le(g,b,e))}),J(()=>{l.forEach(m=>m())})}function jo({scrollCb:n,doc:e,mirror:t,blockClass:i,blockSelector:o,sampling:s}){const a=J(lt(J(l=>{const d=ct(l);if(!d||Ee(d,i,o,!0))return;const v=t.getId(d);if(d===e&&e.defaultView){const m=_o(e.defaultView);n({id:v,x:m.left,y:m.top})}else n({id:v,x:d.scrollLeft,y:d.scrollTop})}),s.scroll||100));return Le("scroll",a,e)}function xr({viewportResizeCb:n},{win:e}){let t=-1,i=-1;const o=J(lt(J(()=>{const s=Mo(),a=Ao();(t!==s||i!==a)&&(n({width:Number(a),height:Number(s)}),t=s,i=a)}),200));return Le("resize",o,e)}const _r=["INPUT","TEXTAREA","SELECT"],Ko=new WeakMap;function Mr({inputCb:n,doc:e,mirror:t,blockClass:i,blockSelector:o,ignoreClass:s,ignoreSelector:a,maskInputOptions:l,maskInputFn:d,sampling:v,userTriggeredOnInput:m}){function g(M){let _=ct(M);const E=M.isTrusted,H=_&&_.tagName;if(_&&H==="OPTION"&&(_=_.parentElement),!_||!H||_r.indexOf(H)<0||Ee(_,i,o,!0)||_.classList.contains(s)||a&&_.matches(a))return;let G=_.value,q=!1;const j=ki(_)||"";j==="radio"||j==="checkbox"?q=_.checked:(l[H.toLowerCase()]||l[j])&&(G=Ci({element:_,maskInputOptions:l,tagName:H,type:j,value:G,maskInputFn:d})),b(_,m?{text:G,isChecked:q,userTriggered:E}:{text:G,isChecked:q});const z=_.name;j==="radio"&&z&&q&&e.querySelectorAll(`input[type="radio"][name="${z}"]`).forEach(de=>{if(de!==_){const Se=de.value;b(de,m?{text:Se,isChecked:!q,userTriggered:!1}:{text:Se,isChecked:!q})}})}function b(M,_){const E=Ko.get(M);if(!E||E.text!==_.text||E.isChecked!==_.isChecked){Ko.set(M,_);const H=t.getId(M);J(n)(Object.assign(Object.assign({},_),{id:H}))}}const C=(v.input==="last"?["change"]:["input","change"]).map(M=>Le(M,J(g),e)),w=e.defaultView;if(!w)return()=>{C.forEach(M=>M())};const k=w.Object.getOwnPropertyDescriptor(w.HTMLInputElement.prototype,"value"),x=[[w.HTMLInputElement.prototype,"value"],[w.HTMLInputElement.prototype,"checked"],[w.HTMLSelectElement.prototype,"value"],[w.HTMLTextAreaElement.prototype,"value"],[w.HTMLSelectElement.prototype,"selectedIndex"],[w.HTMLOptionElement.prototype,"selected"]];return k&&k.set&&C.push(...x.map(M=>Lt(M[0],M[1],{set(){J(g)({target:this,isTrusted:!1})}},!1,w))),J(()=>{C.forEach(M=>M())})}function Pt(n){const e=[];function t(i,o){if(Dt("CSSGroupingRule")&&i.parentRule instanceof CSSGroupingRule||Dt("CSSMediaRule")&&i.parentRule instanceof CSSMediaRule||Dt("CSSSupportsRule")&&i.parentRule instanceof CSSSupportsRule||Dt("CSSConditionRule")&&i.parentRule instanceof CSSConditionRule){const a=Array.from(i.parentRule.cssRules).indexOf(i);o.unshift(a)}else if(i.parentStyleSheet){const a=Array.from(i.parentStyleSheet.cssRules).indexOf(i);o.unshift(a)}return o}return t(n,e)}function fn(n,e,t){let i,o;return n?(n.ownerNode?i=e.getId(n.ownerNode):o=t.getId(n),{styleId:o,id:i}):{}}function Ar({styleSheetRuleCb:n,mirror:e,stylesheetManager:t},{win:i}){if(!i.CSSStyleSheet||!i.CSSStyleSheet.prototype)return()=>{};const o=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=new Proxy(o,{apply:J((m,g,b)=>{const[f,C]=b,{id:w,styleId:k}=fn(g,e,t.styleMirror);return(w&&w!==-1||k&&k!==-1)&&n({id:w,styleId:k,adds:[{rule:f,index:C}]}),m.apply(g,b)})});const s=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=new Proxy(s,{apply:J((m,g,b)=>{const[f]=b,{id:C,styleId:w}=fn(g,e,t.styleMirror);return(C&&C!==-1||w&&w!==-1)&&n({id:C,styleId:w,removes:[{index:f}]}),m.apply(g,b)})});let a;i.CSSStyleSheet.prototype.replace&&(a=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=new Proxy(a,{apply:J((m,g,b)=>{const[f]=b,{id:C,styleId:w}=fn(g,e,t.styleMirror);return(C&&C!==-1||w&&w!==-1)&&n({id:C,styleId:w,replace:f}),m.apply(g,b)})}));let l;i.CSSStyleSheet.prototype.replaceSync&&(l=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=new Proxy(l,{apply:J((m,g,b)=>{const[f]=b,{id:C,styleId:w}=fn(g,e,t.styleMirror);return(C&&C!==-1||w&&w!==-1)&&n({id:C,styleId:w,replaceSync:f}),m.apply(g,b)})}));const d={};It("CSSGroupingRule")?d.CSSGroupingRule=i.CSSGroupingRule:(It("CSSMediaRule")&&(d.CSSMediaRule=i.CSSMediaRule),It("CSSConditionRule")&&(d.CSSConditionRule=i.CSSConditionRule),It("CSSSupportsRule")&&(d.CSSSupportsRule=i.CSSSupportsRule));const v={};return Object.entries(d).forEach(([m,g])=>{v[m]={insertRule:g.prototype.insertRule,deleteRule:g.prototype.deleteRule},g.prototype.insertRule=new Proxy(v[m].insertRule,{apply:J((b,f,C)=>{const[w,k]=C,{id:x,styleId:M}=fn(f.parentStyleSheet,e,t.styleMirror);return(x&&x!==-1||M&&M!==-1)&&n({id:x,styleId:M,adds:[{rule:w,index:[...Pt(f),k||0]}]}),b.apply(f,C)})}),g.prototype.deleteRule=new Proxy(v[m].deleteRule,{apply:J((b,f,C)=>{const[w]=C,{id:k,styleId:x}=fn(f.parentStyleSheet,e,t.styleMirror);return(k&&k!==-1||x&&x!==-1)&&n({id:k,styleId:x,removes:[{index:[...Pt(f),w]}]}),b.apply(f,C)})})}),J(()=>{i.CSSStyleSheet.prototype.insertRule=o,i.CSSStyleSheet.prototype.deleteRule=s,a&&(i.CSSStyleSheet.prototype.replace=a),l&&(i.CSSStyleSheet.prototype.replaceSync=l),Object.entries(d).forEach(([m,g])=>{g.prototype.insertRule=v[m].insertRule,g.prototype.deleteRule=v[m].deleteRule})})}function Fo({mirror:n,stylesheetManager:e},t){var i,o,s;let a=null;t.nodeName==="#document"?a=n.getId(t):a=n.getId(t.host);const l=t.nodeName==="#document"?(i=t.defaultView)===null||i===void 0?void 0:i.Document:(s=(o=t.ownerDocument)===null||o===void 0?void 0:o.defaultView)===null||s===void 0?void 0:s.ShadowRoot,d=l!=null&&l.prototype?Object.getOwnPropertyDescriptor(l==null?void 0:l.prototype,"adoptedStyleSheets"):void 0;return a===null||a===-1||!l||!d?()=>{}:(Object.defineProperty(t,"adoptedStyleSheets",{configurable:d.configurable,enumerable:d.enumerable,get(){var v;return(v=d.get)===null||v===void 0?void 0:v.call(this)},set(v){var m;const g=(m=d.set)===null||m===void 0?void 0:m.call(this,v);if(a!==null&&a!==-1)try{e.adoptStyleSheets(v,a)}catch{}return g}}),J(()=>{Object.defineProperty(t,"adoptedStyleSheets",{configurable:d.configurable,enumerable:d.enumerable,get:d.get,set:d.set})}))}function Tr({styleDeclarationCb:n,mirror:e,ignoreCSSAttributes:t,stylesheetManager:i},{win:o}){const s=o.CSSStyleDeclaration.prototype.setProperty;o.CSSStyleDeclaration.prototype.setProperty=new Proxy(s,{apply:J((l,d,v)=>{var m;const[g,b,f]=v;if(t.has(g))return s.apply(d,[g,b,f]);const{id:C,styleId:w}=fn((m=d.parentRule)===null||m===void 0?void 0:m.parentStyleSheet,e,i.styleMirror);return(C&&C!==-1||w&&w!==-1)&&n({id:C,styleId:w,set:{property:g,value:b,priority:f},index:Pt(d.parentRule)}),l.apply(d,v)})});const a=o.CSSStyleDeclaration.prototype.removeProperty;return o.CSSStyleDeclaration.prototype.removeProperty=new Proxy(a,{apply:J((l,d,v)=>{var m;const[g]=v;if(t.has(g))return a.apply(d,[g]);const{id:b,styleId:f}=fn((m=d.parentRule)===null||m===void 0?void 0:m.parentStyleSheet,e,i.styleMirror);return(b&&b!==-1||f&&f!==-1)&&n({id:b,styleId:f,remove:{property:g},index:Pt(d.parentRule)}),l.apply(d,v)})}),J(()=>{o.CSSStyleDeclaration.prototype.setProperty=s,o.CSSStyleDeclaration.prototype.removeProperty=a})}function Lr({mediaInteractionCb:n,blockClass:e,blockSelector:t,mirror:i,sampling:o,doc:s}){const a=J(d=>lt(J(v=>{const m=ct(v);if(!m||Ee(m,e,t,!0))return;const{currentTime:g,volume:b,muted:f,playbackRate:C,loop:w}=m;n({type:d,id:i.getId(m),currentTime:g,volume:b,muted:f,playbackRate:C,loop:w})}),o.media||500)),l=[Le("play",a(0),s),Le("pause",a(1),s),Le("seeked",a(2),s),Le("volumechange",a(3),s),Le("ratechange",a(4),s)];return J(()=>{l.forEach(d=>d())})}function Er({fontCb:n,doc:e}){const t=e.defaultView;if(!t)return()=>{};const i=[],o=new WeakMap,s=t.FontFace;t.FontFace=function(d,v,m){const g=new s(d,v,m);return o.set(g,{family:d,buffer:typeof v!="string",descriptors:m,fontSource:typeof v=="string"?v:JSON.stringify(Array.from(new Uint8Array(v)))}),g};const a=Zn(e.fonts,"add",function(l){return function(d){return setTimeout(J(()=>{const v=o.get(d);v&&(n(v),o.delete(d))}),0),l.apply(this,[d])}});return i.push(()=>{t.FontFace=s}),i.push(a),J(()=>{i.forEach(l=>l())})}function Pr(n){const{doc:e,mirror:t,blockClass:i,blockSelector:o,selectionCb:s}=n;let a=!0;const l=J(()=>{const d=e.getSelection();if(!d||a&&(d!=null&&d.isCollapsed))return;a=d.isCollapsed||!1;const v=[],m=d.rangeCount||0;for(let g=0;g<m;g++){const b=d.getRangeAt(g),{startContainer:f,startOffset:C,endContainer:w,endOffset:k}=b;Ee(f,i,o,!0)||Ee(w,i,o,!0)||v.push({start:t.getId(f),startOffset:C,end:t.getId(w),endOffset:k})}s({ranges:v})});return l(),Le("selectionchange",l)}function Dr({doc:n,customElementCb:e}){const t=n.defaultView;return!t||!t.customElements?()=>{}:Zn(t.customElements,"define",function(o){return function(s,a,l){try{e({define:{name:s}})}catch{console.warn(`Custom element callback failed for ${s}`)}return o.apply(this,[s,a,l])}})}function Ir(n,e){const{mutationCb:t,mousemoveCb:i,mouseInteractionCb:o,scrollCb:s,viewportResizeCb:a,inputCb:l,mediaInteractionCb:d,styleSheetRuleCb:v,styleDeclarationCb:m,canvasMutationCb:g,fontCb:b,selectionCb:f,customElementCb:C}=n;n.mutationCb=(...w)=>{e.mutation&&e.mutation(...w),t(...w)},n.mousemoveCb=(...w)=>{e.mousemove&&e.mousemove(...w),i(...w)},n.mouseInteractionCb=(...w)=>{e.mouseInteraction&&e.mouseInteraction(...w),o(...w)},n.scrollCb=(...w)=>{e.scroll&&e.scroll(...w),s(...w)},n.viewportResizeCb=(...w)=>{e.viewportResize&&e.viewportResize(...w),a(...w)},n.inputCb=(...w)=>{e.input&&e.input(...w),l(...w)},n.mediaInteractionCb=(...w)=>{e.mediaInteaction&&e.mediaInteaction(...w),d(...w)},n.styleSheetRuleCb=(...w)=>{e.styleSheetRule&&e.styleSheetRule(...w),v(...w)},n.styleDeclarationCb=(...w)=>{e.styleDeclaration&&e.styleDeclaration(...w),m(...w)},n.canvasMutationCb=(...w)=>{e.canvasMutation&&e.canvasMutation(...w),g(...w)},n.fontCb=(...w)=>{e.font&&e.font(...w),b(...w)},n.selectionCb=(...w)=>{e.selection&&e.selection(...w),f(...w)},n.customElementCb=(...w)=>{e.customElement&&e.customElement(...w),C(...w)}}function Hr(n,e={}){const t=n.doc.defaultView;if(!t)return()=>{};Ir(n,e);let i;n.recordDOM&&(i=Uo(n,n.doc));const o=kr(n),s=Sr(n),a=jo(n),l=xr(n,{win:t}),d=Mr(n),v=Lr(n);let m=()=>{},g=()=>{},b=()=>{},f=()=>{};n.recordDOM&&(m=Ar(n,{win:t}),g=Fo(n,n.doc),b=Tr(n,{win:t}),n.collectFonts&&(f=Er(n)));const C=Pr(n),w=Dr(n),k=[];for(const x of n.plugins)k.push(x.observer(x.callback,t,x.options));return J(()=>{Pn.forEach(x=>x.reset()),i==null||i.disconnect(),o(),s(),a(),l(),d(),v(),m(),g(),b(),f(),C(),w(),k.forEach(x=>x())})}function Dt(n){return typeof window[n]<"u"}function It(n){return!!(typeof window[n]<"u"&&window[n].prototype&&"insertRule"in window[n].prototype&&"deleteRule"in window[n].prototype)}class Go{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,t,i,o){const s=i||this.getIdToRemoteIdMap(e),a=o||this.getRemoteIdToIdMap(e);let l=s.get(t);return l||(l=this.generateIdFn(),s.set(t,l),a.set(l,t)),l}getIds(e,t){const i=this.getIdToRemoteIdMap(e),o=this.getRemoteIdToIdMap(e);return t.map(s=>this.getId(e,s,i,o))}getRemoteId(e,t,i){const o=i||this.getRemoteIdToIdMap(e);if(typeof t!="number")return t;const s=o.get(t);return s||-1}getRemoteIds(e,t){const i=this.getRemoteIdToIdMap(e);return t.map(o=>this.getRemoteId(e,o,i))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class Br{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new Go(yo),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Go(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,t){var i;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(i=this.loadListener)===null||i===void 0||i.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&e.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets,this.mirror.getId(e.contentDocument))}handleMessage(e){const t=e;if(t.data.type!=="rrweb"||t.origin!==t.data.origin||!e.source)return;const o=this.crossOriginIframeMap.get(e.source);if(!o)return;const s=this.transformCrossOriginEvent(o,t.data.event);s&&this.wrappedEmit(s,t.data.isCheckout)}transformCrossOriginEvent(e,t){var i;switch(t.type){case Y.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);const o=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,o),this.patchRootIdOnNode(t.data.node,o),{timestamp:t.timestamp,type:Y.IncrementalSnapshot,data:{source:Z.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case Y.Meta:case Y.Load:case Y.DomContentLoaded:return!1;case Y.Plugin:return t;case Y.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case Y.IncrementalSnapshot:switch(t.data.source){case Z.Mutation:return t.data.adds.forEach(o=>{this.replaceIds(o,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(o.node,e);const s=this.crossOriginIframeRootIdMap.get(e);s&&this.patchRootIdOnNode(o.node,s)}),t.data.removes.forEach(o=>{this.replaceIds(o,e,["parentId","id"])}),t.data.attributes.forEach(o=>{this.replaceIds(o,e,["id"])}),t.data.texts.forEach(o=>{this.replaceIds(o,e,["id"])}),t;case Z.Drag:case Z.TouchMove:case Z.MouseMove:return t.data.positions.forEach(o=>{this.replaceIds(o,e,["id"])}),t;case Z.ViewportResize:return!1;case Z.MediaInteraction:case Z.MouseInteraction:case Z.Scroll:case Z.CanvasMutation:case Z.Input:return this.replaceIds(t.data,e,["id"]),t;case Z.StyleSheetRule:case Z.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case Z.Font:return t;case Z.Selection:return t.data.ranges.forEach(o=>{this.replaceIds(o,e,["start","end"])}),t;case Z.AdoptedStyleSheet:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleIds"]),(i=t.data.styles)===null||i===void 0||i.forEach(o=>{this.replaceStyleIds(o,e,["styleId"])}),t}}return!1}replace(e,t,i,o){for(const s of o)!Array.isArray(t[s])&&typeof t[s]!="number"||(Array.isArray(t[s])?t[s]=e.getIds(i,t[s]):t[s]=e.getId(i,t[s]));return t}replaceIds(e,t,i){return this.replace(this.crossOriginIframeMirror,e,t,i)}replaceStyleIds(e,t,i){return this.replace(this.crossOriginIframeStyleMirror,e,t,i)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(i=>{this.replaceIdOnNode(i,t)})}patchRootIdOnNode(e,t){e.type!==ve.Document&&!e.rootId&&(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(i=>{this.patchRootIdOnNode(i,t)})}}class Nr{constructor(e){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(e,t){if(!at(e)||this.shadowDoms.has(e))return;this.shadowDoms.add(e);const i=Uo(Object.assign(Object.assign({},this.bypassOptions),{doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e);this.restoreHandlers.push(()=>i.disconnect()),this.restoreHandlers.push(jo(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror}))),setTimeout(()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(e.host)),this.restoreHandlers.push(Fo({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))},0)}observeAttachShadow(e){!e.contentWindow||!e.contentDocument||this.patchAttachShadow(e.contentWindow.Element,e.contentDocument)}patchAttachShadow(e,t){const i=this;this.restoreHandlers.push(Zn(e.prototype,"attachShadow",function(o){return function(s){const a=o.call(this,s);return this.shadowRoot&&Io(this)&&i.addShadowRoot(this.shadowRoot,t),a}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}/*! *****************************************************************************
|
|
986
|
+
or you can use record.mirror to access the mirror instance during recording.`;let Is={map:{},getId(){return console.error(Jn),-1},getNode(){return console.error(Jn),null},removeNodeFromMap(){console.error(Jn)},has(){return console.error(Jn),!1},reset(){console.error(Jn)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Is=new Proxy(Is,{get(n,e,t){return e==="map"&&console.error(Jn),Reflect.get(n,e,t)}}));function vt(n,e,t={}){let i=null,s=0;return function(...o){const a=Date.now();!s&&t.leading===!1&&(s=a);const l=e-(a-s),c=this;l<=0||l>e?(i&&(clearTimeout(i),i=null),s=a,n.apply(c,o)):!i&&t.trailing!==!1&&(i=setTimeout(()=>{s=t.leading===!1?0:Date.now(),i=null,n.apply(c,o)},l))}}function Bt(n,e,t,i,s=window){const o=s.Object.getOwnPropertyDescriptor(n,e);return s.Object.defineProperty(n,e,i?t:{set(a){setTimeout(()=>{t.set.call(this,a)},0),o&&o.set&&o.set.call(this,a)}}),()=>Bt(n,e,o||{},!0)}function Yn(n,e,t){try{if(!(e in n))return()=>{};const i=n[e],s=t(i);return typeof s=="function"&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:i}})),n[e]=s,()=>{n[e]=i}}catch{return()=>{}}}let Nt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Nt=()=>new Date().getTime());function Ds(n){var e,t,i,s,o,a;const l=n.document;return{left:l.scrollingElement?l.scrollingElement.scrollLeft:n.pageXOffset!==void 0?n.pageXOffset:(l==null?void 0:l.documentElement.scrollLeft)||((t=(e=l==null?void 0:l.body)===null||e===void 0?void 0:e.parentElement)===null||t===void 0?void 0:t.scrollLeft)||((i=l==null?void 0:l.body)===null||i===void 0?void 0:i.scrollLeft)||0,top:l.scrollingElement?l.scrollingElement.scrollTop:n.pageYOffset!==void 0?n.pageYOffset:(l==null?void 0:l.documentElement.scrollTop)||((o=(s=l==null?void 0:l.body)===null||s===void 0?void 0:s.parentElement)===null||o===void 0?void 0:o.scrollTop)||((a=l==null?void 0:l.body)===null||a===void 0?void 0:a.scrollTop)||0}}function Bs(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Ns(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Hs(n){return n?n.nodeType===n.ELEMENT_NODE?n:n.parentElement:null}function Pe(n,e,t,i){if(!n)return!1;const s=Hs(n);if(!s)return!1;try{if(typeof e=="string"){if(s.classList.contains(e)||i&&s.closest("."+e)!==null)return!0}else if(Dt(s,e,i))return!0}catch{}return!!(t&&(s.matches(t)||i&&s.closest(t)!==null))}function Sr(n,e){return e.getId(n)!==-1}function Hi(n,e){return e.getId(n)===pt}function Rs(n,e){if(ht(n))return!1;const t=e.getId(n);return e.has(t)?n.parentNode&&n.parentNode.nodeType===n.DOCUMENT_NODE?!1:n.parentNode?Rs(n.parentNode,e):!0:!0}function Ri(n){return!!n.changedTouches}function xr(n=window){"NodeList"in n&&!n.NodeList.prototype.forEach&&(n.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in n&&!n.DOMTokenList.prototype.forEach&&(n.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let t=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do if(this===t)return!0;while(t=t&&t.parentNode);return!1})}function Os(n,e){return!!(n.nodeName==="IFRAME"&&e.getMeta(n))}function Us(n,e){return!!(n.nodeName==="LINK"&&n.nodeType===n.ELEMENT_NODE&&n.getAttribute&&n.getAttribute("rel")==="stylesheet"&&e.getMeta(n))}function Oi(n){return!!(n!=null&&n.shadowRoot)}class Ar{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){var t;return(t=this.styleIDMap.get(e))!==null&&t!==void 0?t:-1}has(e){return this.styleIDMap.has(e)}add(e,t){if(this.has(e))return this.getId(e);let i;return t===void 0?i=this.id++:i=t,this.styleIDMap.set(e,i),this.idStyleMap.set(i,e),i}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function Vs(n){var e,t;let i=null;return((t=(e=n.getRootNode)===null||e===void 0?void 0:e.call(n))===null||t===void 0?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&n.getRootNode().host&&(i=n.getRootNode().host),i}function Mr(n){let e=n,t;for(;t=Vs(e);)e=t;return e}function Lr(n){const e=n.ownerDocument;if(!e)return!1;const t=Mr(n);return e.contains(t)}function Ks(n){const e=n.ownerDocument;return e?e.contains(n)||Lr(n):!1}var X=(n=>(n[n.DomContentLoaded=0]="DomContentLoaded",n[n.Load=1]="Load",n[n.FullSnapshot=2]="FullSnapshot",n[n.IncrementalSnapshot=3]="IncrementalSnapshot",n[n.Meta=4]="Meta",n[n.Custom=5]="Custom",n[n.Plugin=6]="Plugin",n))(X||{}),J=(n=>(n[n.Mutation=0]="Mutation",n[n.MouseMove=1]="MouseMove",n[n.MouseInteraction=2]="MouseInteraction",n[n.Scroll=3]="Scroll",n[n.ViewportResize=4]="ViewportResize",n[n.Input=5]="Input",n[n.TouchMove=6]="TouchMove",n[n.MediaInteraction=7]="MediaInteraction",n[n.StyleSheetRule=8]="StyleSheetRule",n[n.CanvasMutation=9]="CanvasMutation",n[n.Font=10]="Font",n[n.Log=11]="Log",n[n.Drag=12]="Drag",n[n.StyleDeclaration=13]="StyleDeclaration",n[n.Selection=14]="Selection",n[n.AdoptedStyleSheet=15]="AdoptedStyleSheet",n[n.CustomElement=16]="CustomElement",n))(J||{}),He=(n=>(n[n.MouseUp=0]="MouseUp",n[n.MouseDown=1]="MouseDown",n[n.Click=2]="Click",n[n.ContextMenu=3]="ContextMenu",n[n.DblClick=4]="DblClick",n[n.Focus=5]="Focus",n[n.Blur=6]="Blur",n[n.TouchStart=7]="TouchStart",n[n.TouchMove_Departed=8]="TouchMove_Departed",n[n.TouchEnd=9]="TouchEnd",n[n.TouchCancel=10]="TouchCancel",n))(He||{}),cn=(n=>(n[n.Mouse=0]="Mouse",n[n.Pen=1]="Pen",n[n.Touch=2]="Touch",n))(cn||{}),Xn=(n=>(n[n["2D"]=0]="2D",n[n.WebGL=1]="WebGL",n[n.WebGL2=2]="WebGL2",n))(Xn||{});function Fs(n){return"__ln"in n}class Tr{constructor(){this.length=0,this.head=null,this.tail=null}get(e){if(e>=this.length)throw new Error("Position outside of list range");let t=this.head;for(let i=0;i<e;i++)t=(t==null?void 0:t.next)||null;return t}addNode(e){const t={value:e,previous:null,next:null};if(e.__ln=t,e.previousSibling&&Fs(e.previousSibling)){const i=e.previousSibling.__ln.next;t.next=i,t.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=t,i&&(i.previous=t)}else if(e.nextSibling&&Fs(e.nextSibling)&&e.nextSibling.__ln.previous){const i=e.nextSibling.__ln.previous;t.previous=i,t.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=t,i&&(i.next=t)}else this.head&&(this.head.previous=t),t.next=this.head,this.head=t;t.next===null&&(this.tail=t),this.length++}removeNode(e){const t=e.__ln;this.head&&(t.previous?(t.previous.next=t.next,t.next?t.next.previous=t.previous:this.tail=t.previous):(this.head=t.next,this.head?this.head.previous=null:this.tail=null),e.__ln&&delete e.__ln,this.length--)}}const Gs=(n,e)=>`${n}@${e}`;class _r{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=e=>{e.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,i=new Tr,s=c=>{let v=c,m=pt;for(;m===pt;)v=v&&v.nextSibling,m=v&&this.mirror.getId(v);return m},o=c=>{if(!c.parentNode||!Ks(c)||c.parentNode.tagName==="TEXTAREA")return;const v=ht(c.parentNode)?this.mirror.getId(Vs(c)):this.mirror.getId(c.parentNode),m=s(c);if(v===-1||m===-1)return i.addNode(c);const f=Qn(c,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:b=>{Os(b,this.mirror)&&this.iframeManager.addIframe(b),Us(b,this.mirror)&&this.stylesheetManager.trackLinkElement(b),Oi(c)&&this.shadowDomManager.addShadowRoot(c.shadowRoot,this.doc)},onIframeLoad:(b,g)=>{this.iframeManager.attachIframe(b,g),this.shadowDomManager.observeAttachShadow(b)},onStylesheetLoad:(b,g)=>{this.stylesheetManager.attachLinkElement(b,g)}});f&&(e.push({parentId:v,nextId:m,node:f}),t.add(f.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const c of this.movedSet)js(this.removes,c,this.mirror)&&!this.movedSet.has(c.parentNode)||o(c);for(const c of this.addedSet)!qs(this.droppedSet,c)&&!js(this.removes,c,this.mirror)||qs(this.movedSet,c)?o(c):this.droppedSet.add(c);let a=null;for(;i.length;){let c=null;if(a){const v=this.mirror.getId(a.value.parentNode),m=s(a.value);v!==-1&&m!==-1&&(c=a)}if(!c){let v=i.tail;for(;v;){const m=v;if(v=v.previous,m){const f=this.mirror.getId(m.value.parentNode);if(s(m.value)===-1)continue;if(f!==-1){c=m;break}else{const g=m.value;if(g.parentNode&&g.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const w=g.parentNode.host;if(this.mirror.getId(w)!==-1){c=m;break}}}}}}if(!c){for(;i.head;)i.removeNode(i.head.value);break}a=c.previous,i.removeNode(c.value),o(c.value)}const l={texts:this.texts.map(c=>{const v=c.node;return v.parentNode&&v.parentNode.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(v.parentNode),{id:this.mirror.getId(v),value:c.value}}).filter(c=>!t.has(c.id)).filter(c=>this.mirror.has(c.id)),attributes:this.attributes.map(c=>{const{attributes:v}=c;if(typeof v.style=="string"){const m=JSON.stringify(c.styleDiff),f=JSON.stringify(c._unchangedStyles);m.length<v.style.length&&(m+f).split("var(").length===v.style.split("var(").length&&(v.style=c.styleDiff)}return{id:this.mirror.getId(c.node),attributes:v}}).filter(c=>!t.has(c.id)).filter(c=>this.mirror.has(c.id)),removes:this.removes,adds:e};!l.texts.length&&!l.attributes.length&&!l.removes.length&&!l.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(l))},this.genTextAreaValueMutation=e=>{let t=this.attributeMap.get(e);t||(t={node:e,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(t),this.attributeMap.set(e,t)),t.attributes.value=Array.from(e.childNodes,i=>i.textContent||"").join("")},this.processMutation=e=>{if(!Hi(e.target,this.mirror))switch(e.type){case"characterData":{const t=e.target.textContent;!Pe(e.target,this.blockClass,this.blockSelector,!1)&&t!==e.oldValue&&this.texts.push({value:Ps(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,Hs(e.target)):t.replace(/[\S]/g,"*"):t,node:e.target});break}case"attributes":{const t=e.target;let i=e.attributeName,s=e.target.getAttribute(i);if(i==="value"){const a=Bi(t);s=Di({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:a,value:s,maskInputFn:this.maskInputFn})}if(Pe(e.target,this.blockClass,this.blockSelector,!1)||s===e.oldValue)return;let o=this.attributeMap.get(e.target);if(t.tagName==="IFRAME"&&i==="src"&&!this.keepIframeSrcFn(s))if(!t.contentDocument)i="rr_src";else return;if(o||(o={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(o),this.attributeMap.set(e.target,o)),i==="type"&&t.tagName==="INPUT"&&(e.oldValue||"").toLowerCase()==="password"&&t.setAttribute("data-rr-is-password","true"),!Es(t.tagName,i)&&(o.attributes[i]=_s(this.doc,In(t.tagName),In(i),s),i==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const a=this.unattachedDoc.createElement("span");e.oldValue&&a.setAttribute("style",e.oldValue);for(const l of Array.from(t.style)){const c=t.style.getPropertyValue(l),v=t.style.getPropertyPriority(l);c!==a.style.getPropertyValue(l)||v!==a.style.getPropertyPriority(l)?v===""?o.styleDiff[l]=c:o.styleDiff[l]=[c,v]:o._unchangedStyles[l]=[c,v]}for(const l of Array.from(a.style))t.style.getPropertyValue(l)===""&&(o.styleDiff[l]=!1)}break}case"childList":{if(Pe(e.target,this.blockClass,this.blockSelector,!0))return;if(e.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(e.target);return}e.addedNodes.forEach(t=>this.genAdds(t,e.target)),e.removedNodes.forEach(t=>{const i=this.mirror.getId(t),s=ht(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);Pe(e.target,this.blockClass,this.blockSelector,!1)||Hi(t,this.mirror)||!Sr(t,this.mirror)||(this.addedSet.has(t)?(Ui(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&i===-1||Rs(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[Gs(i,s)]?Ui(this.movedSet,t):this.removes.push({parentId:s,id:i,isShadow:ht(e.target)&&mt(e.target)?!0:void 0})),this.mapRemoves.push(t))});break}}},this.genAdds=(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!(this.addedSet.has(e)||this.movedSet.has(e))){if(this.mirror.hasNode(e)){if(Hi(e,this.mirror))return;this.movedSet.add(e);let i=null;t&&this.mirror.hasNode(t)&&(i=this.mirror.getId(t)),i&&i!==-1&&(this.movedMap[Gs(this.mirror.getId(e),i)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);Pe(e,this.blockClass,this.blockSelector,!1)||(e.childNodes.forEach(i=>this.genAdds(i)),Oi(e)&&e.shadowRoot.childNodes.forEach(i=>{this.processedNodeManager.add(i,this),this.genAdds(i,e)}))}}}init(e){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(t=>{this[t]=e[t]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function Ui(n,e){n.delete(e),e.childNodes.forEach(t=>Ui(n,t))}function js(n,e,t){return n.length===0?!1:zs(n,e,t)}function zs(n,e,t){const{parentNode:i}=e;if(!i)return!1;const s=t.getId(i);return n.some(o=>o.id===s)?!0:zs(n,i,t)}function qs(n,e){return n.size===0?!1:Ws(n,e)}function Ws(n,e){const{parentNode:t}=e;return t?n.has(t)?!0:Ws(n,t):!1}let bt;function Er(n){bt=n}function Pr(){bt=void 0}const Y=n=>bt?(...t)=>{try{return n(...t)}catch(i){if(bt&&bt(i)===!0)return;throw i}}:n,Dn=[];function ft(n){try{if("composedPath"in n){const e=n.composedPath();if(e.length)return e[0]}else if("path"in n&&n.path.length)return n.path[0]}catch{}return n&&n.target}function Zs(n,e){var t,i;const s=new _r;Dn.push(s),s.init(n);let o=window.MutationObserver||window.__rrMutationObserver;const a=(i=(t=window==null?void 0:window.Zone)===null||t===void 0?void 0:t.__symbol__)===null||i===void 0?void 0:i.call(t,"MutationObserver");a&&window[a]&&(o=window[a]);const l=new o(Y(s.processMutations.bind(s)));return l.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),l}function Ir({mousemoveCb:n,sampling:e,doc:t,mirror:i}){if(e.mousemove===!1)return()=>{};const s=typeof e.mousemove=="number"?e.mousemove:50,o=typeof e.mousemoveCallback=="number"?e.mousemoveCallback:500;let a=[],l;const c=vt(Y(f=>{const b=Date.now()-l;n(a.map(g=>(g.timeOffset-=b,g)),f),a=[],l=null}),o),v=Y(vt(Y(f=>{const b=ft(f),{clientX:g,clientY:w}=Ri(f)?f.changedTouches[0]:f;l||(l=Nt()),a.push({x:g,y:w,id:i.getId(b),timeOffset:Nt()-l}),c(typeof DragEvent<"u"&&f instanceof DragEvent?J.Drag:f instanceof MouseEvent?J.MouseMove:J.TouchMove)}),s,{trailing:!1})),m=[Ee("mousemove",v,t),Ee("touchmove",v,t),Ee("drag",v,t)];return Y(()=>{m.forEach(f=>f())})}function Dr({mouseInteractionCb:n,doc:e,mirror:t,blockClass:i,blockSelector:s,sampling:o}){if(o.mouseInteraction===!1)return()=>{};const a=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,l=[];let c=null;const v=m=>f=>{const b=ft(f);if(Pe(b,i,s,!0))return;let g=null,w=m;if("pointerType"in f){switch(f.pointerType){case"mouse":g=cn.Mouse;break;case"touch":g=cn.Touch;break;case"pen":g=cn.Pen;break}g===cn.Touch?He[m]===He.MouseDown?w="TouchStart":He[m]===He.MouseUp&&(w="TouchEnd"):cn.Pen}else Ri(f)&&(g=cn.Touch);g!==null?(c=g,(w.startsWith("Touch")&&g===cn.Touch||w.startsWith("Mouse")&&g===cn.Mouse)&&(g=null)):He[m]===He.Click&&(g=c,c=null);const C=Ri(f)?f.changedTouches[0]:f;if(!C)return;const k=t.getId(b),{clientX:x,clientY:M}=C;Y(n)(Object.assign({type:He[w],id:k,x,y:M},g!==null&&{pointerType:g}))};return Object.keys(He).filter(m=>Number.isNaN(Number(m))&&!m.endsWith("_Departed")&&a[m]!==!1).forEach(m=>{let f=In(m);const b=v(m);if(window.PointerEvent)switch(He[m]){case He.MouseDown:case He.MouseUp:f=f.replace("mouse","pointer");break;case He.TouchStart:case He.TouchEnd:return}l.push(Ee(f,b,e))}),Y(()=>{l.forEach(m=>m())})}function Qs({scrollCb:n,doc:e,mirror:t,blockClass:i,blockSelector:s,sampling:o}){const a=Y(vt(Y(l=>{const c=ft(l);if(!c||Pe(c,i,s,!0))return;const v=t.getId(c);if(c===e&&e.defaultView){const m=Ds(e.defaultView);n({id:v,x:m.left,y:m.top})}else n({id:v,x:c.scrollLeft,y:c.scrollTop})}),o.scroll||100));return Ee("scroll",a,e)}function Br({viewportResizeCb:n},{win:e}){let t=-1,i=-1;const s=Y(vt(Y(()=>{const o=Bs(),a=Ns();(t!==o||i!==a)&&(n({width:Number(a),height:Number(o)}),t=o,i=a)}),200));return Ee("resize",s,e)}const Nr=["INPUT","TEXTAREA","SELECT"],Js=new WeakMap;function Hr({inputCb:n,doc:e,mirror:t,blockClass:i,blockSelector:s,ignoreClass:o,ignoreSelector:a,maskInputOptions:l,maskInputFn:c,sampling:v,userTriggeredOnInput:m}){function f(M){let L=ft(M);const P=M.isTrusted,B=L&&L.tagName;if(L&&B==="OPTION"&&(L=L.parentElement),!L||!B||Nr.indexOf(B)<0||Pe(L,i,s,!0)||L.classList.contains(o)||a&&L.matches(a))return;let j=L.value,W=!1;const K=Bi(L)||"";K==="radio"||K==="checkbox"?W=L.checked:(l[B.toLowerCase()]||l[K])&&(j=Di({element:L,maskInputOptions:l,tagName:B,type:K,value:j,maskInputFn:c})),b(L,m?{text:j,isChecked:W,userTriggered:P}:{text:j,isChecked:W});const z=L.name;K==="radio"&&z&&W&&e.querySelectorAll(`input[type="radio"][name="${z}"]`).forEach(de=>{if(de!==L){const Ae=de.value;b(de,m?{text:Ae,isChecked:!W,userTriggered:!1}:{text:Ae,isChecked:!W})}})}function b(M,L){const P=Js.get(M);if(!P||P.text!==L.text||P.isChecked!==L.isChecked){Js.set(M,L);const B=t.getId(M);Y(n)(Object.assign(Object.assign({},L),{id:B}))}}const w=(v.input==="last"?["change"]:["input","change"]).map(M=>Ee(M,Y(f),e)),C=e.defaultView;if(!C)return()=>{w.forEach(M=>M())};const k=C.Object.getOwnPropertyDescriptor(C.HTMLInputElement.prototype,"value"),x=[[C.HTMLInputElement.prototype,"value"],[C.HTMLInputElement.prototype,"checked"],[C.HTMLSelectElement.prototype,"value"],[C.HTMLTextAreaElement.prototype,"value"],[C.HTMLSelectElement.prototype,"selectedIndex"],[C.HTMLOptionElement.prototype,"selected"]];return k&&k.set&&w.push(...x.map(M=>Bt(M[0],M[1],{set(){Y(f)({target:this,isTrusted:!1})}},!1,C))),Y(()=>{w.forEach(M=>M())})}function Ht(n){const e=[];function t(i,s){if(Rt("CSSGroupingRule")&&i.parentRule instanceof CSSGroupingRule||Rt("CSSMediaRule")&&i.parentRule instanceof CSSMediaRule||Rt("CSSSupportsRule")&&i.parentRule instanceof CSSSupportsRule||Rt("CSSConditionRule")&&i.parentRule instanceof CSSConditionRule){const a=Array.from(i.parentRule.cssRules).indexOf(i);s.unshift(a)}else if(i.parentStyleSheet){const a=Array.from(i.parentStyleSheet.cssRules).indexOf(i);s.unshift(a)}return s}return t(n,e)}function yn(n,e,t){let i,s;return n?(n.ownerNode?i=e.getId(n.ownerNode):s=t.getId(n),{styleId:s,id:i}):{}}function Rr({styleSheetRuleCb:n,mirror:e,stylesheetManager:t},{win:i}){if(!i.CSSStyleSheet||!i.CSSStyleSheet.prototype)return()=>{};const s=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=new Proxy(s,{apply:Y((m,f,b)=>{const[g,w]=b,{id:C,styleId:k}=yn(f,e,t.styleMirror);return(C&&C!==-1||k&&k!==-1)&&n({id:C,styleId:k,adds:[{rule:g,index:w}]}),m.apply(f,b)})});const o=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=new Proxy(o,{apply:Y((m,f,b)=>{const[g]=b,{id:w,styleId:C}=yn(f,e,t.styleMirror);return(w&&w!==-1||C&&C!==-1)&&n({id:w,styleId:C,removes:[{index:g}]}),m.apply(f,b)})});let a;i.CSSStyleSheet.prototype.replace&&(a=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=new Proxy(a,{apply:Y((m,f,b)=>{const[g]=b,{id:w,styleId:C}=yn(f,e,t.styleMirror);return(w&&w!==-1||C&&C!==-1)&&n({id:w,styleId:C,replace:g}),m.apply(f,b)})}));let l;i.CSSStyleSheet.prototype.replaceSync&&(l=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=new Proxy(l,{apply:Y((m,f,b)=>{const[g]=b,{id:w,styleId:C}=yn(f,e,t.styleMirror);return(w&&w!==-1||C&&C!==-1)&&n({id:w,styleId:C,replaceSync:g}),m.apply(f,b)})}));const c={};Ot("CSSGroupingRule")?c.CSSGroupingRule=i.CSSGroupingRule:(Ot("CSSMediaRule")&&(c.CSSMediaRule=i.CSSMediaRule),Ot("CSSConditionRule")&&(c.CSSConditionRule=i.CSSConditionRule),Ot("CSSSupportsRule")&&(c.CSSSupportsRule=i.CSSSupportsRule));const v={};return Object.entries(c).forEach(([m,f])=>{v[m]={insertRule:f.prototype.insertRule,deleteRule:f.prototype.deleteRule},f.prototype.insertRule=new Proxy(v[m].insertRule,{apply:Y((b,g,w)=>{const[C,k]=w,{id:x,styleId:M}=yn(g.parentStyleSheet,e,t.styleMirror);return(x&&x!==-1||M&&M!==-1)&&n({id:x,styleId:M,adds:[{rule:C,index:[...Ht(g),k||0]}]}),b.apply(g,w)})}),f.prototype.deleteRule=new Proxy(v[m].deleteRule,{apply:Y((b,g,w)=>{const[C]=w,{id:k,styleId:x}=yn(g.parentStyleSheet,e,t.styleMirror);return(k&&k!==-1||x&&x!==-1)&&n({id:k,styleId:x,removes:[{index:[...Ht(g),C]}]}),b.apply(g,w)})})}),Y(()=>{i.CSSStyleSheet.prototype.insertRule=s,i.CSSStyleSheet.prototype.deleteRule=o,a&&(i.CSSStyleSheet.prototype.replace=a),l&&(i.CSSStyleSheet.prototype.replaceSync=l),Object.entries(c).forEach(([m,f])=>{f.prototype.insertRule=v[m].insertRule,f.prototype.deleteRule=v[m].deleteRule})})}function Ys({mirror:n,stylesheetManager:e},t){var i,s,o;let a=null;t.nodeName==="#document"?a=n.getId(t):a=n.getId(t.host);const l=t.nodeName==="#document"?(i=t.defaultView)===null||i===void 0?void 0:i.Document:(o=(s=t.ownerDocument)===null||s===void 0?void 0:s.defaultView)===null||o===void 0?void 0:o.ShadowRoot,c=l!=null&&l.prototype?Object.getOwnPropertyDescriptor(l==null?void 0:l.prototype,"adoptedStyleSheets"):void 0;return a===null||a===-1||!l||!c?()=>{}:(Object.defineProperty(t,"adoptedStyleSheets",{configurable:c.configurable,enumerable:c.enumerable,get(){var v;return(v=c.get)===null||v===void 0?void 0:v.call(this)},set(v){var m;const f=(m=c.set)===null||m===void 0?void 0:m.call(this,v);if(a!==null&&a!==-1)try{e.adoptStyleSheets(v,a)}catch{}return f}}),Y(()=>{Object.defineProperty(t,"adoptedStyleSheets",{configurable:c.configurable,enumerable:c.enumerable,get:c.get,set:c.set})}))}function Or({styleDeclarationCb:n,mirror:e,ignoreCSSAttributes:t,stylesheetManager:i},{win:s}){const o=s.CSSStyleDeclaration.prototype.setProperty;s.CSSStyleDeclaration.prototype.setProperty=new Proxy(o,{apply:Y((l,c,v)=>{var m;const[f,b,g]=v;if(t.has(f))return o.apply(c,[f,b,g]);const{id:w,styleId:C}=yn((m=c.parentRule)===null||m===void 0?void 0:m.parentStyleSheet,e,i.styleMirror);return(w&&w!==-1||C&&C!==-1)&&n({id:w,styleId:C,set:{property:f,value:b,priority:g},index:Ht(c.parentRule)}),l.apply(c,v)})});const a=s.CSSStyleDeclaration.prototype.removeProperty;return s.CSSStyleDeclaration.prototype.removeProperty=new Proxy(a,{apply:Y((l,c,v)=>{var m;const[f]=v;if(t.has(f))return a.apply(c,[f]);const{id:b,styleId:g}=yn((m=c.parentRule)===null||m===void 0?void 0:m.parentStyleSheet,e,i.styleMirror);return(b&&b!==-1||g&&g!==-1)&&n({id:b,styleId:g,remove:{property:f},index:Ht(c.parentRule)}),l.apply(c,v)})}),Y(()=>{s.CSSStyleDeclaration.prototype.setProperty=o,s.CSSStyleDeclaration.prototype.removeProperty=a})}function Ur({mediaInteractionCb:n,blockClass:e,blockSelector:t,mirror:i,sampling:s,doc:o}){const a=Y(c=>vt(Y(v=>{const m=ft(v);if(!m||Pe(m,e,t,!0))return;const{currentTime:f,volume:b,muted:g,playbackRate:w,loop:C}=m;n({type:c,id:i.getId(m),currentTime:f,volume:b,muted:g,playbackRate:w,loop:C})}),s.media||500)),l=[Ee("play",a(0),o),Ee("pause",a(1),o),Ee("seeked",a(2),o),Ee("volumechange",a(3),o),Ee("ratechange",a(4),o)];return Y(()=>{l.forEach(c=>c())})}function Vr({fontCb:n,doc:e}){const t=e.defaultView;if(!t)return()=>{};const i=[],s=new WeakMap,o=t.FontFace;t.FontFace=function(c,v,m){const f=new o(c,v,m);return s.set(f,{family:c,buffer:typeof v!="string",descriptors:m,fontSource:typeof v=="string"?v:JSON.stringify(Array.from(new Uint8Array(v)))}),f};const a=Yn(e.fonts,"add",function(l){return function(c){return setTimeout(Y(()=>{const v=s.get(c);v&&(n(v),s.delete(c))}),0),l.apply(this,[c])}});return i.push(()=>{t.FontFace=o}),i.push(a),Y(()=>{i.forEach(l=>l())})}function Kr(n){const{doc:e,mirror:t,blockClass:i,blockSelector:s,selectionCb:o}=n;let a=!0;const l=Y(()=>{const c=e.getSelection();if(!c||a&&(c!=null&&c.isCollapsed))return;a=c.isCollapsed||!1;const v=[],m=c.rangeCount||0;for(let f=0;f<m;f++){const b=c.getRangeAt(f),{startContainer:g,startOffset:w,endContainer:C,endOffset:k}=b;Pe(g,i,s,!0)||Pe(C,i,s,!0)||v.push({start:t.getId(g),startOffset:w,end:t.getId(C),endOffset:k})}o({ranges:v})});return l(),Ee("selectionchange",l)}function Fr({doc:n,customElementCb:e}){const t=n.defaultView;return!t||!t.customElements?()=>{}:Yn(t.customElements,"define",function(s){return function(o,a,l){try{e({define:{name:o}})}catch{console.warn(`Custom element callback failed for ${o}`)}return s.apply(this,[o,a,l])}})}function Gr(n,e){const{mutationCb:t,mousemoveCb:i,mouseInteractionCb:s,scrollCb:o,viewportResizeCb:a,inputCb:l,mediaInteractionCb:c,styleSheetRuleCb:v,styleDeclarationCb:m,canvasMutationCb:f,fontCb:b,selectionCb:g,customElementCb:w}=n;n.mutationCb=(...C)=>{e.mutation&&e.mutation(...C),t(...C)},n.mousemoveCb=(...C)=>{e.mousemove&&e.mousemove(...C),i(...C)},n.mouseInteractionCb=(...C)=>{e.mouseInteraction&&e.mouseInteraction(...C),s(...C)},n.scrollCb=(...C)=>{e.scroll&&e.scroll(...C),o(...C)},n.viewportResizeCb=(...C)=>{e.viewportResize&&e.viewportResize(...C),a(...C)},n.inputCb=(...C)=>{e.input&&e.input(...C),l(...C)},n.mediaInteractionCb=(...C)=>{e.mediaInteaction&&e.mediaInteaction(...C),c(...C)},n.styleSheetRuleCb=(...C)=>{e.styleSheetRule&&e.styleSheetRule(...C),v(...C)},n.styleDeclarationCb=(...C)=>{e.styleDeclaration&&e.styleDeclaration(...C),m(...C)},n.canvasMutationCb=(...C)=>{e.canvasMutation&&e.canvasMutation(...C),f(...C)},n.fontCb=(...C)=>{e.font&&e.font(...C),b(...C)},n.selectionCb=(...C)=>{e.selection&&e.selection(...C),g(...C)},n.customElementCb=(...C)=>{e.customElement&&e.customElement(...C),w(...C)}}function jr(n,e={}){const t=n.doc.defaultView;if(!t)return()=>{};Gr(n,e);let i;n.recordDOM&&(i=Zs(n,n.doc));const s=Ir(n),o=Dr(n),a=Qs(n),l=Br(n,{win:t}),c=Hr(n),v=Ur(n);let m=()=>{},f=()=>{},b=()=>{},g=()=>{};n.recordDOM&&(m=Rr(n,{win:t}),f=Ys(n,n.doc),b=Or(n,{win:t}),n.collectFonts&&(g=Vr(n)));const w=Kr(n),C=Fr(n),k=[];for(const x of n.plugins)k.push(x.observer(x.callback,t,x.options));return Y(()=>{Dn.forEach(x=>x.reset()),i==null||i.disconnect(),s(),o(),a(),l(),c(),v(),m(),f(),b(),g(),w(),C(),k.forEach(x=>x())})}function Rt(n){return typeof window[n]<"u"}function Ot(n){return!!(typeof window[n]<"u"&&window[n].prototype&&"insertRule"in window[n].prototype&&"deleteRule"in window[n].prototype)}class Xs{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,t,i,s){const o=i||this.getIdToRemoteIdMap(e),a=s||this.getRemoteIdToIdMap(e);let l=o.get(t);return l||(l=this.generateIdFn(),o.set(t,l),a.set(l,t)),l}getIds(e,t){const i=this.getIdToRemoteIdMap(e),s=this.getRemoteIdToIdMap(e);return t.map(o=>this.getId(e,o,i,s))}getRemoteId(e,t,i){const s=i||this.getRemoteIdToIdMap(e);if(typeof t!="number")return t;const o=s.get(t);return o||-1}getRemoteIds(e,t){const i=this.getRemoteIdToIdMap(e);return t.map(s=>this.getRemoteId(e,s,i))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class zr{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new Xs(Ls),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Xs(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,t){var i;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(i=this.loadListener)===null||i===void 0||i.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&e.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets,this.mirror.getId(e.contentDocument))}handleMessage(e){const t=e;if(t.data.type!=="rrweb"||t.origin!==t.data.origin||!e.source)return;const s=this.crossOriginIframeMap.get(e.source);if(!s)return;const o=this.transformCrossOriginEvent(s,t.data.event);o&&this.wrappedEmit(o,t.data.isCheckout)}transformCrossOriginEvent(e,t){var i;switch(t.type){case X.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);const s=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,s),this.patchRootIdOnNode(t.data.node,s),{timestamp:t.timestamp,type:X.IncrementalSnapshot,data:{source:J.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case X.Meta:case X.Load:case X.DomContentLoaded:return!1;case X.Plugin:return t;case X.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case X.IncrementalSnapshot:switch(t.data.source){case J.Mutation:return t.data.adds.forEach(s=>{this.replaceIds(s,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,e);const o=this.crossOriginIframeRootIdMap.get(e);o&&this.patchRootIdOnNode(s.node,o)}),t.data.removes.forEach(s=>{this.replaceIds(s,e,["parentId","id"])}),t.data.attributes.forEach(s=>{this.replaceIds(s,e,["id"])}),t.data.texts.forEach(s=>{this.replaceIds(s,e,["id"])}),t;case J.Drag:case J.TouchMove:case J.MouseMove:return t.data.positions.forEach(s=>{this.replaceIds(s,e,["id"])}),t;case J.ViewportResize:return!1;case J.MediaInteraction:case J.MouseInteraction:case J.Scroll:case J.CanvasMutation:case J.Input:return this.replaceIds(t.data,e,["id"]),t;case J.StyleSheetRule:case J.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case J.Font:return t;case J.Selection:return t.data.ranges.forEach(s=>{this.replaceIds(s,e,["start","end"])}),t;case J.AdoptedStyleSheet:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleIds"]),(i=t.data.styles)===null||i===void 0||i.forEach(s=>{this.replaceStyleIds(s,e,["styleId"])}),t}}return!1}replace(e,t,i,s){for(const o of s)!Array.isArray(t[o])&&typeof t[o]!="number"||(Array.isArray(t[o])?t[o]=e.getIds(i,t[o]):t[o]=e.getId(i,t[o]));return t}replaceIds(e,t,i){return this.replace(this.crossOriginIframeMirror,e,t,i)}replaceStyleIds(e,t,i){return this.replace(this.crossOriginIframeStyleMirror,e,t,i)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(i=>{this.replaceIdOnNode(i,t)})}patchRootIdOnNode(e,t){e.type!==ve.Document&&!e.rootId&&(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(i=>{this.patchRootIdOnNode(i,t)})}}class qr{constructor(e){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(e,t){if(!mt(e)||this.shadowDoms.has(e))return;this.shadowDoms.add(e);const i=Zs(Object.assign(Object.assign({},this.bypassOptions),{doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e);this.restoreHandlers.push(()=>i.disconnect()),this.restoreHandlers.push(Qs(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror}))),setTimeout(()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(e.host)),this.restoreHandlers.push(Ys({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))},0)}observeAttachShadow(e){!e.contentWindow||!e.contentDocument||this.patchAttachShadow(e.contentWindow.Element,e.contentDocument)}patchAttachShadow(e,t){const i=this;this.restoreHandlers.push(Yn(e.prototype,"attachShadow",function(s){return function(o){const a=s.call(this,o);return this.shadowRoot&&Ks(this)&&i.addShadowRoot(this.shadowRoot,t),a}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}/*! *****************************************************************************
|
|
969
987
|
Copyright (c) Microsoft Corporation.
|
|
970
988
|
|
|
971
989
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -978,9 +996,9 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
978
996
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
979
997
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
980
998
|
PERFORMANCE OF THIS SOFTWARE.
|
|
981
|
-
***************************************************************************** */function
|
|
982
|
-
`);i.pop(),i.shift();for(var
|
|
983
|
-
`;return i}function
|
|
999
|
+
***************************************************************************** */function Wr(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(n);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(n,i[s])&&(t[i[s]]=n[i[s]]);return t}function Zr(n,e,t,i){function s(o){return o instanceof t?o:new t(function(a){a(o)})}return new(t||(t=Promise))(function(o,a){function l(m){try{v(i.next(m))}catch(f){a(f)}}function c(m){try{v(i.throw(m))}catch(f){a(f)}}function v(m){m.done?o(m.value):s(m.value).then(l,c)}v((i=i.apply(n,[])).next())})}for(var $n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qr=typeof Uint8Array>"u"?[]:new Uint8Array(256),Ut=0;Ut<$n.length;Ut++)Qr[$n.charCodeAt(Ut)]=Ut;var Jr=function(n){var e=new Uint8Array(n),t,i=e.length,s="";for(t=0;t<i;t+=3)s+=$n[e[t]>>2],s+=$n[(e[t]&3)<<4|e[t+1]>>4],s+=$n[(e[t+1]&15)<<2|e[t+2]>>6],s+=$n[e[t+2]&63];return i%3===2?s=s.substring(0,s.length-1)+"=":i%3===1&&(s=s.substring(0,s.length-2)+"=="),s};const $s=new Map;function Yr(n,e){let t=$s.get(n);return t||(t=new Map,$s.set(n,t)),t.has(e)||t.set(e,[]),t.get(e)}const eo=(n,e,t)=>{if(!n||!(to(n,e)||typeof n=="object"))return;const i=n.constructor.name,s=Yr(t,i);let o=s.indexOf(n);return o===-1&&(o=s.length,s.push(n)),o};function Vt(n,e,t){if(n instanceof Array)return n.map(i=>Vt(i,e,t));if(n===null)return n;if(n instanceof Float32Array||n instanceof Float64Array||n instanceof Int32Array||n instanceof Uint32Array||n instanceof Uint8Array||n instanceof Uint16Array||n instanceof Int16Array||n instanceof Int8Array||n instanceof Uint8ClampedArray)return{rr_type:n.constructor.name,args:[Object.values(n)]};if(n instanceof ArrayBuffer){const i=n.constructor.name,s=Jr(n);return{rr_type:i,base64:s}}else{if(n instanceof DataView)return{rr_type:n.constructor.name,args:[Vt(n.buffer,e,t),n.byteOffset,n.byteLength]};if(n instanceof HTMLImageElement){const i=n.constructor.name,{src:s}=n;return{rr_type:i,src:s}}else if(n instanceof HTMLCanvasElement){const i="HTMLImageElement",s=n.toDataURL();return{rr_type:i,src:s}}else{if(n instanceof ImageData)return{rr_type:n.constructor.name,args:[Vt(n.data,e,t),n.width,n.height]};if(to(n,e)||typeof n=="object"){const i=n.constructor.name,s=eo(n,e,t);return{rr_type:i,index:s}}}}return n}const no=(n,e,t)=>n.map(i=>Vt(i,e,t)),to=(n,e)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(s=>typeof e[s]=="function").find(s=>n instanceof e[s]);function Xr(n,e,t,i){const s=[],o=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(const a of o)try{if(typeof e.CanvasRenderingContext2D.prototype[a]!="function")continue;const l=Yn(e.CanvasRenderingContext2D.prototype,a,function(c){return function(...v){return Pe(this.canvas,t,i,!0)||setTimeout(()=>{const m=no(v,e,this);n(this.canvas,{type:Xn["2D"],property:a,args:m})},0),c.apply(this,v)}});s.push(l)}catch{const c=Bt(e.CanvasRenderingContext2D.prototype,a,{set(v){n(this.canvas,{type:Xn["2D"],property:a,args:[v],setter:!0})}});s.push(c)}return()=>{s.forEach(a=>a())}}function $r(n){return n==="experimental-webgl"?"webgl":n}function io(n,e,t,i){const s=[];try{const o=Yn(n.HTMLCanvasElement.prototype,"getContext",function(a){return function(l,...c){if(!Pe(this,e,t,!0)){const v=$r(l);if("__context"in this||(this.__context=v),i&&["webgl","webgl2"].includes(v))if(c[0]&&typeof c[0]=="object"){const m=c[0];m.preserveDrawingBuffer||(m.preserveDrawingBuffer=!0)}else c.splice(0,1,{preserveDrawingBuffer:!0})}return a.apply(this,[l,...c])}});s.push(o)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{s.forEach(o=>o())}}function so(n,e,t,i,s,o,a){const l=[],c=Object.getOwnPropertyNames(n);for(const v of c)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(v))try{if(typeof n[v]!="function")continue;const m=Yn(n,v,function(f){return function(...b){const g=f.apply(this,b);if(eo(g,a,this),"tagName"in this.canvas&&!Pe(this.canvas,i,s,!0)){const w=no(b,a,this),C={type:e,property:v,args:w};t(this.canvas,C)}return g}});l.push(m)}catch{const f=Bt(n,v,{set(b){t(this.canvas,{type:e,property:v,args:[b],setter:!0})}});l.push(f)}return l}function el(n,e,t,i,s){const o=[];return o.push(...so(e.WebGLRenderingContext.prototype,Xn.WebGL,n,t,i,s,e)),typeof e.WebGL2RenderingContext<"u"&&o.push(...so(e.WebGL2RenderingContext.prototype,Xn.WebGL2,n,t,i,s,e)),()=>{o.forEach(a=>a())}}function nl(n,e){var t=n.toString(),i=t.split(`
|
|
1000
|
+
`);i.pop(),i.shift();for(var s=i[0].search(/\S/),o=/(['"])__worker_loader_strict__(['"])/g,a=0,l=i.length;a<l;++a)i[a]=i[a].substring(s).replace(o,"$1use strict$2")+`
|
|
1001
|
+
`;return i}function tl(n,e){var t=nl(n),i=new Blob(t,{type:"application/javascript"});return URL.createObjectURL(i)}function il(n,e){var t;return function(s){return t=t||tl(n),new Worker(t,s)}}var sl=il(function(){(function(){"__worker_loader_strict__";/*! *****************************************************************************
|
|
984
1002
|
Copyright (c) Microsoft Corporation.
|
|
985
1003
|
|
|
986
1004
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -993,13 +1011,13 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
993
1011
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
994
1012
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
995
1013
|
PERFORMANCE OF THIS SOFTWARE.
|
|
996
|
-
***************************************************************************** */function n(v,m,g,b){function f(C){return C instanceof g?C:new g(function(w){w(C)})}return new(g||(g=Promise))(function(C,w){function k(_){try{M(b.next(_))}catch(E){w(E)}}function x(_){try{M(b.throw(_))}catch(E){w(E)}}function M(_){_.done?C(_.value):f(_.value).then(k,x)}M((b=b.apply(v,[])).next())})}for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=typeof Uint8Array>"u"?[]:new Uint8Array(256),i=0;i<e.length;i++)t[e.charCodeAt(i)]=i;var o=function(v){var m=new Uint8Array(v),g,b=m.length,f="";for(g=0;g<b;g+=3)f+=e[m[g]>>2],f+=e[(m[g]&3)<<4|m[g+1]>>4],f+=e[(m[g+1]&15)<<2|m[g+2]>>6],f+=e[m[g+2]&63];return b%3===2?f=f.substring(0,f.length-1)+"=":b%3===1&&(f=f.substring(0,f.length-2)+"=="),f};const s=new Map,a=new Map;function l(v,m,g){return n(this,void 0,void 0,function*(){const b=`${v}-${m}`;if("OffscreenCanvas"in globalThis){if(a.has(b))return a.get(b);const f=new OffscreenCanvas(v,m);f.getContext("2d");const w=yield(yield f.convertToBlob(g)).arrayBuffer(),k=o(w);return a.set(b,k),k}else return""})}const d=self;d.onmessage=function(v){return n(this,void 0,void 0,function*(){if("OffscreenCanvas"in globalThis){const{id:m,bitmap:g,width:b,height:f,dataURLOptions:C}=v.data,w=l(b,f,C),k=new OffscreenCanvas(b,f);k.getContext("2d").drawImage(g,0,0),g.close();const M=yield k.convertToBlob(C),_=M.type,E=yield M.arrayBuffer(),H=o(E);if(!s.has(m)&&(yield w)===H)return s.set(m,H),d.postMessage({id:m});if(s.get(m)===H)return d.postMessage({id:m});d.postMessage({id:m,type:_,base64:H,width:b,height:f}),s.set(m,H)}else return d.postMessage({id:v.data.id})})}})()});class Jr{reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(d,v)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(d)||this.pendingCanvasMutations.set(d,[]),this.pendingCanvasMutations.get(d).push(v)};const{sampling:t="all",win:i,blockClass:o,blockSelector:s,recordCanvas:a,dataURLOptions:l}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&t==="all"&&this.initCanvasMutationObserver(i,o,s),a&&typeof t=="number"&&this.initCanvasFPSObserver(t,i,o,s,{dataURLOptions:l})}initCanvasFPSObserver(e,t,i,o,s){const a=Jo(t,i,o,!0),l=new Map,d=new Zr;d.onmessage=C=>{const{id:w}=C.data;if(l.set(w,!1),!("base64"in C.data))return;const{base64:k,type:x,width:M,height:_}=C.data;this.mutationCb({id:w,type:Jn["2D"],commands:[{property:"clearRect",args:[0,0,M,_]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:k}],type:x}]},0,0]}]})};const v=1e3/e;let m=0,g;const b=()=>{const C=[];return t.document.querySelectorAll("canvas").forEach(w=>{Ee(w,i,o,!0)||C.push(w)}),C},f=C=>{if(m&&C-m<v){g=requestAnimationFrame(f);return}m=C,b().forEach(w=>Or(this,void 0,void 0,function*(){var k;const x=this.mirror.getId(w);if(l.get(x)||w.width===0||w.height===0)return;if(l.set(x,!0),["webgl","webgl2"].includes(w.__context)){const _=w.getContext(w.__context);((k=_==null?void 0:_.getContextAttributes())===null||k===void 0?void 0:k.preserveDrawingBuffer)===!1&&_.clear(_.COLOR_BUFFER_BIT)}const M=yield createImageBitmap(w);d.postMessage({id:x,bitmap:M,width:w.width,height:w.height,dataURLOptions:s.dataURLOptions},[M])})),g=requestAnimationFrame(f)};g=requestAnimationFrame(f),this.resetObservers=()=>{a(),cancelAnimationFrame(g)}}initCanvasMutationObserver(e,t,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const o=Jo(e,t,i,!1),s=Kr(this.processMutation.bind(this),e,t,i),a=Gr(this.processMutation.bind(this),e,t,i,this.mirror);this.resetObservers=()=>{o(),s(),a()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{const i=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const i=this.pendingCanvasMutations.get(e);if(!i||t===-1)return;const o=i.map(a=>Rr(a,["type"])),{type:s}=i[0];this.mutationCb({id:t,type:s,commands:o}),this.pendingCanvasMutations.delete(e)}}class $r{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new vr,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){"_cssText"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(e.length===0)return;const i={id:t,styleIds:[]},o=[];for(const s of e){let a;this.styleMirror.has(s)?a=this.styleMirror.getId(s):(a=this.styleMirror.add(s),o.push({styleId:a,rules:Array.from(s.rules||CSSRule,(l,d)=>({rule:vo(l),index:d}))})),i.styleIds.push(a)}o.length>0&&(i.styles=o),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class Yr{constructor(){this.nodeMap=new WeakMap,this.loop=!0,this.periodicallyClear()}periodicallyClear(){requestAnimationFrame(()=>{this.clear(),this.loop&&this.periodicallyClear()})}inOtherBuffer(e,t){const i=this.nodeMap.get(e);return i&&Array.from(i).some(o=>o!==t)}add(e,t){this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(t))}clear(){this.nodeMap=new WeakMap}destroy(){this.loop=!1}}function be(n){return Object.assign(Object.assign({},n),{timestamp:Et()})}let ue,Nt,Ti,Rt=!1;const We=Ga();function ut(n={}){const{emit:e,checkoutEveryNms:t,checkoutEveryNth:i,blockClass:o="rr-block",blockSelector:s=null,ignoreClass:a="rr-ignore",ignoreSelector:l=null,maskTextClass:d="rr-mask",maskTextSelector:v=null,inlineStylesheet:m=!0,maskAllInputs:g,maskInputOptions:b,slimDOMOptions:f,maskInputFn:C,maskTextFn:w,hooks:k,packFn:x,sampling:M={},dataURLOptions:_={},mousemoveWait:E,recordDOM:H=!0,recordCanvas:G=!1,recordCrossOriginIframes:q=!1,recordAfter:j=n.recordAfter==="DOMContentLoaded"?n.recordAfter:"load",userTriggeredOnInput:z=!1,collectFonts:de=!1,inlineImages:Se=!1,plugins:K,keepIframeSrcFn:Pe=()=>!1,ignoreCSSAttributes:ge=new Set([]),errorHandler:De}=n;wr(De);const Ie=q?window.parent===window:!0;let dn=!1;if(!Ie)try{window.parent.document&&(dn=!1)}catch{dn=!0}if(Ie&&!e)throw new Error("emit function is required");E!==void 0&&M.mousemove===void 0&&(M.mousemove=E),We.reset();const Mn=g===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:b!==void 0?b:{password:!0},cn=f===!0||f==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:f==="all",headMetaDescKeywords:f==="all"}:f||{};pr();let Bn,An=0;const Oe=N=>{for(const ye of K||[])ye.eventProcessor&&(N=ye.eventProcessor(N));return x&&!dn&&(N=x(N)),N};ue=(N,ye)=>{var te;if(!((te=Pn[0])===null||te===void 0)&&te.isFrozen()&&N.type!==Y.FullSnapshot&&!(N.type===Y.IncrementalSnapshot&&N.data.source===Z.Mutation)&&Pn.forEach(we=>we.unfreeze()),Ie)e==null||e(Oe(N),ye);else if(dn){const we={type:"rrweb",event:Oe(N),origin:window.location.origin,isCheckout:ye};window.parent.postMessage(we,"*")}if(N.type===Y.FullSnapshot)Bn=N,An=0;else if(N.type===Y.IncrementalSnapshot){if(N.data.source===Z.Mutation&&N.data.isAttachIframe)return;An++;const we=i&&An>=i,Ue=t&&N.timestamp-Bn.timestamp>t;(we||Ue)&&Nt(!0)}};const un=N=>{ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.Mutation},N)}))},Nn=N=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.Scroll},N)})),he=N=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.CanvasMutation},N)})),ke=N=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.AdoptedStyleSheet},N)})),qe=new $r({mutationCb:un,adoptedStyleSheetCb:ke}),Ve=new Br({mirror:We,mutationCb:un,stylesheetManager:qe,recordCrossOriginIframes:q,wrappedEmit:ue});for(const N of K||[])N.getMirror&&N.getMirror({nodeMirror:We,crossOriginIframeMirror:Ve.crossOriginIframeMirror,crossOriginIframeStyleMirror:Ve.crossOriginIframeStyleMirror});const Me=new Yr;Ti=new Jr({recordCanvas:G,mutationCb:he,win:window,blockClass:o,blockSelector:s,mirror:We,sampling:M.canvas,dataURLOptions:_});const en=new Nr({mutationCb:un,scrollCb:Nn,bypassOptions:{blockClass:o,blockSelector:s,maskTextClass:d,maskTextSelector:v,inlineStylesheet:m,maskInputOptions:Mn,dataURLOptions:_,maskTextFn:w,maskInputFn:C,recordCanvas:G,inlineImages:Se,sampling:M,slimDOMOptions:cn,iframeManager:Ve,stylesheetManager:qe,canvasManager:Ti,keepIframeSrcFn:Pe,processedNodeManager:Me},mirror:We});Nt=(N=!1)=>{if(!H)return;ue(be({type:Y.Meta,data:{href:window.location.href,width:Ao(),height:Mo()}}),N),qe.reset(),en.init(),Pn.forEach(te=>te.lock());const ye=hr(document,{mirror:We,blockClass:o,blockSelector:s,maskTextClass:d,maskTextSelector:v,inlineStylesheet:m,maskAllInputs:Mn,maskTextFn:w,slimDOM:cn,dataURLOptions:_,recordCanvas:G,inlineImages:Se,onSerialize:te=>{Eo(te,We)&&Ve.addIframe(te),Po(te,We)&&qe.trackLinkElement(te),Mi(te)&&en.addShadowRoot(te.shadowRoot,document)},onIframeLoad:(te,we)=>{Ve.attachIframe(te,we),en.observeAttachShadow(te)},onStylesheetLoad:(te,we)=>{qe.attachLinkElement(te,we)},keepIframeSrcFn:Pe});if(!ye)return console.warn("Failed to snapshot the document");ue(be({type:Y.FullSnapshot,data:{node:ye,initialOffset:_o(window)}}),N),Pn.forEach(te=>te.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&qe.adoptStyleSheets(document.adoptedStyleSheets,We.getId(document))};try{const N=[],ye=we=>{var Ue;return J(Hr)({mutationCb:un,mousemoveCb:(ee,Tn)=>ue(be({type:Y.IncrementalSnapshot,data:{source:Tn,positions:ee}})),mouseInteractionCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.MouseInteraction},ee)})),scrollCb:Nn,viewportResizeCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.ViewportResize},ee)})),inputCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.Input},ee)})),mediaInteractionCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.MediaInteraction},ee)})),styleSheetRuleCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.StyleSheetRule},ee)})),styleDeclarationCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.StyleDeclaration},ee)})),canvasMutationCb:he,fontCb:ee=>ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.Font},ee)})),selectionCb:ee=>{ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.Selection},ee)}))},customElementCb:ee=>{ue(be({type:Y.IncrementalSnapshot,data:Object.assign({source:Z.CustomElement},ee)}))},blockClass:o,ignoreClass:a,ignoreSelector:l,maskTextClass:d,maskTextSelector:v,maskInputOptions:Mn,inlineStylesheet:m,sampling:M,recordDOM:H,recordCanvas:G,inlineImages:Se,userTriggeredOnInput:z,collectFonts:de,doc:we,maskInputFn:C,maskTextFn:w,keepIframeSrcFn:Pe,blockSelector:s,slimDOMOptions:cn,dataURLOptions:_,mirror:We,iframeManager:Ve,stylesheetManager:qe,shadowDomManager:en,processedNodeManager:Me,canvasManager:Ti,ignoreCSSAttributes:ge,plugins:((Ue=K==null?void 0:K.filter(ee=>ee.observer))===null||Ue===void 0?void 0:Ue.map(ee=>({observer:ee.observer,options:ee.options,callback:Tn=>ue(be({type:Y.Plugin,data:{plugin:ee.name,payload:Tn}}))})))||[]},k)};Ve.addLoadListener(we=>{try{N.push(ye(we.contentDocument))}catch(Ue){console.warn(Ue)}});const te=()=>{Nt(),N.push(ye(document)),Rt=!0};return document.readyState==="interactive"||document.readyState==="complete"?te():(N.push(Le("DOMContentLoaded",()=>{ue(be({type:Y.DomContentLoaded,data:{}})),j==="DOMContentLoaded"&&te()})),N.push(Le("load",()=>{ue(be({type:Y.Load,data:{}})),j==="load"&&te()},window))),()=>{N.forEach(we=>we()),Me.destroy(),Rt=!1,Cr()}}catch(N){console.warn(N)}}ut.addCustomEvent=(n,e)=>{if(!Rt)throw new Error("please add custom event after start recording");ue(be({type:Y.Custom,data:{tag:n,payload:e}}))},ut.freezePage=()=>{Pn.forEach(n=>n.freeze())},ut.takeFullSnapshot=n=>{if(!Rt)throw new Error("please take full snapshot after start recording");Nt(n)},ut.mirror=We;var Yo=(n=>(n[n.DomContentLoaded=0]="DomContentLoaded",n[n.Load=1]="Load",n[n.FullSnapshot=2]="FullSnapshot",n[n.IncrementalSnapshot=3]="IncrementalSnapshot",n[n.Meta=4]="Meta",n[n.Custom=5]="Custom",n[n.Plugin=6]="Plugin",n))(Yo||{}),Ye=(n=>(n[n.Mutation=0]="Mutation",n[n.MouseMove=1]="MouseMove",n[n.MouseInteraction=2]="MouseInteraction",n[n.Scroll=3]="Scroll",n[n.ViewportResize=4]="ViewportResize",n[n.Input=5]="Input",n[n.TouchMove=6]="TouchMove",n[n.MediaInteraction=7]="MediaInteraction",n[n.StyleSheetRule=8]="StyleSheetRule",n[n.CanvasMutation=9]="CanvasMutation",n[n.Font=10]="Font",n[n.Log=11]="Log",n[n.Drag=12]="Drag",n[n.StyleDeclaration=13]="StyleDeclaration",n[n.Selection=14]="Selection",n[n.AdoptedStyleSheet=15]="AdoptedStyleSheet",n[n.CustomElement=16]="CustomElement",n))(Ye||{}),sn={DEBUG:!1,LIB_VERSION:"2.55.1"},R;if(typeof window>"u"){var Qo={hostname:""};R={navigator:{userAgent:"",onLine:!0},document:{location:Qo,referrer:""},screen:{width:0,height:0},location:Qo}}else R=window;var ht=24*60*60*1e3,Li=8*1e3,Ot=Array.prototype,Qr=Function.prototype,Xo=Object.prototype,gn=Ot.slice,mt=Xo.toString,Vt=Xo.hasOwnProperty,fe=R.console,yn=R.navigator,oe=R.document,Ut=R.opera,jt=R.screen,Qe=yn.userAgent,Ei=Qr.bind,es=Ot.forEach,ns=Ot.indexOf,ts=Ot.map,Xr=Array.isArray,Pi={},p={trim:function(n){return n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},X={log:function(){if(sn.DEBUG&&!p.isUndefined(fe)&&fe)try{fe.log.apply(fe,arguments)}catch{p.each(arguments,function(e){fe.log(e)})}},warn:function(){if(sn.DEBUG&&!p.isUndefined(fe)&&fe){var n=["Mixpanel warning:"].concat(p.toArray(arguments));try{fe.warn.apply(fe,n)}catch{p.each(n,function(t){fe.warn(t)})}}},error:function(){if(sn.DEBUG&&!p.isUndefined(fe)&&fe){var n=["Mixpanel error:"].concat(p.toArray(arguments));try{fe.error.apply(fe,n)}catch{p.each(n,function(t){fe.error(t)})}}},critical:function(){if(!p.isUndefined(fe)&&fe){var n=["Mixpanel error:"].concat(p.toArray(arguments));try{fe.error.apply(fe,n)}catch{p.each(n,function(t){fe.error(t)})}}}},Di=function(n,e){return function(){return arguments[0]="["+e+"] "+arguments[0],n.apply(X,arguments)}},Kt=function(n){return{log:Di(X.log,n),error:Di(X.error,n),critical:Di(X.critical,n)}};p.bind=function(n,e){var t,i;if(Ei&&n.bind===Ei)return Ei.apply(n,gn.call(arguments,1));if(!p.isFunction(n))throw new TypeError;return t=gn.call(arguments,2),i=function(){if(!(this instanceof i))return n.apply(e,t.concat(gn.call(arguments)));var o={};o.prototype=n.prototype;var s=new o;o.prototype=null;var a=n.apply(s,t.concat(gn.call(arguments)));return Object(a)===a?a:s},i},p.each=function(n,e,t){if(n!=null){if(es&&n.forEach===es)n.forEach(e,t);else if(n.length===+n.length){for(var i=0,o=n.length;i<o;i++)if(i in n&&e.call(t,n[i],i,n)===Pi)return}else for(var s in n)if(Vt.call(n,s)&&e.call(t,n[s],s,n)===Pi)return}},p.extend=function(n){return p.each(gn.call(arguments,1),function(e){for(var t in e)e[t]!==void 0&&(n[t]=e[t])}),n},p.isArray=Xr||function(n){return mt.call(n)==="[object Array]"},p.isFunction=function(n){try{return/^\s*\bfunction\b/.test(n)}catch{return!1}},p.isArguments=function(n){return!!(n&&Vt.call(n,"callee"))},p.toArray=function(n){return n?n.toArray?n.toArray():p.isArray(n)||p.isArguments(n)?gn.call(n):p.values(n):[]},p.map=function(n,e,t){if(ts&&n.map===ts)return n.map(e,t);var i=[];return p.each(n,function(o){i.push(e.call(t,o))}),i},p.keys=function(n){var e=[];return n===null||p.each(n,function(t,i){e[e.length]=i}),e},p.values=function(n){var e=[];return n===null||p.each(n,function(t){e[e.length]=t}),e},p.include=function(n,e){var t=!1;return n===null?t:ns&&n.indexOf===ns?n.indexOf(e)!=-1:(p.each(n,function(i){if(t||(t=i===e))return Pi}),t)},p.includes=function(n,e){return n.indexOf(e)!==-1},p.inherit=function(n,e){return n.prototype=new e,n.prototype.constructor=n,n.superclass=e.prototype,n},p.isObject=function(n){return n===Object(n)&&!p.isArray(n)},p.isEmptyObject=function(n){if(p.isObject(n)){for(var e in n)if(Vt.call(n,e))return!1;return!0}return!1},p.isUndefined=function(n){return n===void 0},p.isString=function(n){return mt.call(n)=="[object String]"},p.isDate=function(n){return mt.call(n)=="[object Date]"},p.isNumber=function(n){return mt.call(n)=="[object Number]"},p.isElement=function(n){return!!(n&&n.nodeType===1)},p.encodeDates=function(n){return p.each(n,function(e,t){p.isDate(e)?n[t]=p.formatDate(e):p.isObject(e)&&(n[t]=p.encodeDates(e))}),n},p.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},p.formatDate=function(n){function e(t){return t<10?"0"+t:t}return n.getUTCFullYear()+"-"+e(n.getUTCMonth()+1)+"-"+e(n.getUTCDate())+"T"+e(n.getUTCHours())+":"+e(n.getUTCMinutes())+":"+e(n.getUTCSeconds())},p.strip_empty_properties=function(n){var e={};return p.each(n,function(t,i){p.isString(t)&&t.length>0&&(e[i]=t)}),e},p.truncate=function(n,e){var t;return typeof n=="string"?t=n.slice(0,e):p.isArray(n)?(t=[],p.each(n,function(i){t.push(p.truncate(i,e))})):p.isObject(n)?(t={},p.each(n,function(i,o){t[o]=p.truncate(i,e)})):t=n,t},p.JSONEncode=function(){return function(n){var e=n,t=function(o){var s=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,a={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return s.lastIndex=0,s.test(o)?'"'+o.replace(s,function(l){var d=a[l];return typeof d=="string"?d:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+o+'"'},i=function(o,s){var a="",l=" ",d=0,v="",m="",g=0,b=a,f=[],C=s[o];switch(C&&typeof C=="object"&&typeof C.toJSON=="function"&&(C=C.toJSON(o)),typeof C){case"string":return t(C);case"number":return isFinite(C)?String(C):"null";case"boolean":case"null":return String(C);case"object":if(!C)return"null";if(a+=l,f=[],mt.apply(C)==="[object Array]"){for(g=C.length,d=0;d<g;d+=1)f[d]=i(d,C)||"null";return m=f.length===0?"[]":a?`[
|
|
997
|
-
`+a+
|
|
1014
|
+
***************************************************************************** */function n(v,m,f,b){function g(w){return w instanceof f?w:new f(function(C){C(w)})}return new(f||(f=Promise))(function(w,C){function k(L){try{M(b.next(L))}catch(P){C(P)}}function x(L){try{M(b.throw(L))}catch(P){C(P)}}function M(L){L.done?w(L.value):g(L.value).then(k,x)}M((b=b.apply(v,[])).next())})}for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=typeof Uint8Array>"u"?[]:new Uint8Array(256),i=0;i<e.length;i++)t[e.charCodeAt(i)]=i;var s=function(v){var m=new Uint8Array(v),f,b=m.length,g="";for(f=0;f<b;f+=3)g+=e[m[f]>>2],g+=e[(m[f]&3)<<4|m[f+1]>>4],g+=e[(m[f+1]&15)<<2|m[f+2]>>6],g+=e[m[f+2]&63];return b%3===2?g=g.substring(0,g.length-1)+"=":b%3===1&&(g=g.substring(0,g.length-2)+"=="),g};const o=new Map,a=new Map;function l(v,m,f){return n(this,void 0,void 0,function*(){const b=`${v}-${m}`;if("OffscreenCanvas"in globalThis){if(a.has(b))return a.get(b);const g=new OffscreenCanvas(v,m);g.getContext("2d");const C=yield(yield g.convertToBlob(f)).arrayBuffer(),k=s(C);return a.set(b,k),k}else return""})}const c=self;c.onmessage=function(v){return n(this,void 0,void 0,function*(){if("OffscreenCanvas"in globalThis){const{id:m,bitmap:f,width:b,height:g,dataURLOptions:w}=v.data,C=l(b,g,w),k=new OffscreenCanvas(b,g);k.getContext("2d").drawImage(f,0,0),f.close();const M=yield k.convertToBlob(w),L=M.type,P=yield M.arrayBuffer(),B=s(P);if(!o.has(m)&&(yield C)===B)return o.set(m,B),c.postMessage({id:m});if(o.get(m)===B)return c.postMessage({id:m});c.postMessage({id:m,type:L,base64:B,width:b,height:g}),o.set(m,B)}else return c.postMessage({id:v.data.id})})}})()});class ol{reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(c,v)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(c)||this.pendingCanvasMutations.set(c,[]),this.pendingCanvasMutations.get(c).push(v)};const{sampling:t="all",win:i,blockClass:s,blockSelector:o,recordCanvas:a,dataURLOptions:l}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&t==="all"&&this.initCanvasMutationObserver(i,s,o),a&&typeof t=="number"&&this.initCanvasFPSObserver(t,i,s,o,{dataURLOptions:l})}initCanvasFPSObserver(e,t,i,s,o){const a=io(t,i,s,!0),l=new Map,c=new sl;c.onmessage=w=>{const{id:C}=w.data;if(l.set(C,!1),!("base64"in w.data))return;const{base64:k,type:x,width:M,height:L}=w.data;this.mutationCb({id:C,type:Xn["2D"],commands:[{property:"clearRect",args:[0,0,M,L]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:k}],type:x}]},0,0]}]})};const v=1e3/e;let m=0,f;const b=()=>{const w=[];return t.document.querySelectorAll("canvas").forEach(C=>{Pe(C,i,s,!0)||w.push(C)}),w},g=w=>{if(m&&w-m<v){f=requestAnimationFrame(g);return}m=w,b().forEach(C=>Zr(this,void 0,void 0,function*(){var k;const x=this.mirror.getId(C);if(l.get(x)||C.width===0||C.height===0)return;if(l.set(x,!0),["webgl","webgl2"].includes(C.__context)){const L=C.getContext(C.__context);((k=L==null?void 0:L.getContextAttributes())===null||k===void 0?void 0:k.preserveDrawingBuffer)===!1&&L.clear(L.COLOR_BUFFER_BIT)}const M=yield createImageBitmap(C);c.postMessage({id:x,bitmap:M,width:C.width,height:C.height,dataURLOptions:o.dataURLOptions},[M])})),f=requestAnimationFrame(g)};f=requestAnimationFrame(g),this.resetObservers=()=>{a(),cancelAnimationFrame(f)}}initCanvasMutationObserver(e,t,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const s=io(e,t,i,!1),o=Xr(this.processMutation.bind(this),e,t,i),a=el(this.processMutation.bind(this),e,t,i,this.mirror);this.resetObservers=()=>{s(),o(),a()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{const i=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const i=this.pendingCanvasMutations.get(e);if(!i||t===-1)return;const s=i.map(a=>Wr(a,["type"])),{type:o}=i[0];this.mutationCb({id:t,type:o,commands:s}),this.pendingCanvasMutations.delete(e)}}class al{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new Ar,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){"_cssText"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(e.length===0)return;const i={id:t,styleIds:[]},s=[];for(const o of e){let a;this.styleMirror.has(o)?a=this.styleMirror.getId(o):(a=this.styleMirror.add(o),s.push({styleId:a,rules:Array.from(o.rules||CSSRule,(l,c)=>({rule:Ss(l),index:c}))})),i.styleIds.push(a)}s.length>0&&(i.styles=s),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class rl{constructor(){this.nodeMap=new WeakMap,this.loop=!0,this.periodicallyClear()}periodicallyClear(){requestAnimationFrame(()=>{this.clear(),this.loop&&this.periodicallyClear()})}inOtherBuffer(e,t){const i=this.nodeMap.get(e);return i&&Array.from(i).some(s=>s!==t)}add(e,t){this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(t))}clear(){this.nodeMap=new WeakMap}destroy(){this.loop=!1}}function be(n){return Object.assign(Object.assign({},n),{timestamp:Nt()})}let he,Kt,Vi,Ft=!1;const Qe=er();function gt(n={}){const{emit:e,checkoutEveryNms:t,checkoutEveryNth:i,blockClass:s="rr-block",blockSelector:o=null,ignoreClass:a="rr-ignore",ignoreSelector:l=null,maskTextClass:c="rr-mask",maskTextSelector:v=null,inlineStylesheet:m=!0,maskAllInputs:f,maskInputOptions:b,slimDOMOptions:g,maskInputFn:w,maskTextFn:C,hooks:k,packFn:x,sampling:M={},dataURLOptions:L={},mousemoveWait:P,recordDOM:B=!0,recordCanvas:j=!1,recordCrossOriginIframes:W=!1,recordAfter:K=n.recordAfter==="DOMContentLoaded"?n.recordAfter:"load",userTriggeredOnInput:z=!1,collectFonts:de=!1,inlineImages:Ae=!1,plugins:F,keepIframeSrcFn:Ie=()=>!1,ignoreCSSAttributes:ge=new Set([]),errorHandler:Re}=n;Er(Re);const De=W?window.parent===window:!0;let $e=!1;if(!De)try{window.parent.document&&($e=!1)}catch{$e=!0}if(De&&!e)throw new Error("emit function is required");P!==void 0&&M.mousemove===void 0&&(M.mousemove=P),Qe.reset();const Tn=f===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:b!==void 0?b:{password:!0},pn=g===!0||g==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:g==="all",headMetaDescKeywords:g==="all"}:g||{};xr();let Rn,_n=0;const Oe=H=>{for(const ye of F||[])ye.eventProcessor&&(H=ye.eventProcessor(H));return x&&!$e&&(H=x(H)),H};he=(H,ye)=>{var te;if(!((te=Dn[0])===null||te===void 0)&&te.isFrozen()&&H.type!==X.FullSnapshot&&!(H.type===X.IncrementalSnapshot&&H.data.source===J.Mutation)&&Dn.forEach(Ce=>Ce.unfreeze()),De)e==null||e(Oe(H),ye);else if($e){const Ce={type:"rrweb",event:Oe(H),origin:window.location.origin,isCheckout:ye};window.parent.postMessage(Ce,"*")}if(H.type===X.FullSnapshot)Rn=H,_n=0;else if(H.type===X.IncrementalSnapshot){if(H.data.source===J.Mutation&&H.data.isAttachIframe)return;_n++;const Ce=i&&_n>=i,Ve=t&&H.timestamp-Rn.timestamp>t;(Ce||Ve)&&Kt(!0)}};const vn=H=>{he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.Mutation},H)}))},On=H=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.Scroll},H)})),me=H=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.CanvasMutation},H)})),ke=H=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.AdoptedStyleSheet},H)})),qe=new al({mutationCb:vn,adoptedStyleSheetCb:ke}),Ue=new zr({mirror:Qe,mutationCb:vn,stylesheetManager:qe,recordCrossOriginIframes:W,wrappedEmit:he});for(const H of F||[])H.getMirror&&H.getMirror({nodeMirror:Qe,crossOriginIframeMirror:Ue.crossOriginIframeMirror,crossOriginIframeStyleMirror:Ue.crossOriginIframeStyleMirror});const Te=new rl;Vi=new ol({recordCanvas:j,mutationCb:me,win:window,blockClass:s,blockSelector:o,mirror:Qe,sampling:M.canvas,dataURLOptions:L});const sn=new qr({mutationCb:vn,scrollCb:On,bypassOptions:{blockClass:s,blockSelector:o,maskTextClass:c,maskTextSelector:v,inlineStylesheet:m,maskInputOptions:Tn,dataURLOptions:L,maskTextFn:C,maskInputFn:w,recordCanvas:j,inlineImages:Ae,sampling:M,slimDOMOptions:pn,iframeManager:Ue,stylesheetManager:qe,canvasManager:Vi,keepIframeSrcFn:Ie,processedNodeManager:Te},mirror:Qe});Kt=(H=!1)=>{if(!B)return;he(be({type:X.Meta,data:{href:window.location.href,width:Ns(),height:Bs()}}),H),qe.reset(),sn.init(),Dn.forEach(te=>te.lock());const ye=kr(document,{mirror:Qe,blockClass:s,blockSelector:o,maskTextClass:c,maskTextSelector:v,inlineStylesheet:m,maskAllInputs:Tn,maskTextFn:C,slimDOM:pn,dataURLOptions:L,recordCanvas:j,inlineImages:Ae,onSerialize:te=>{Os(te,Qe)&&Ue.addIframe(te),Us(te,Qe)&&qe.trackLinkElement(te),Oi(te)&&sn.addShadowRoot(te.shadowRoot,document)},onIframeLoad:(te,Ce)=>{Ue.attachIframe(te,Ce),sn.observeAttachShadow(te)},onStylesheetLoad:(te,Ce)=>{qe.attachLinkElement(te,Ce)},keepIframeSrcFn:Ie});if(!ye)return console.warn("Failed to snapshot the document");he(be({type:X.FullSnapshot,data:{node:ye,initialOffset:Ds(window)}}),H),Dn.forEach(te=>te.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&qe.adoptStyleSheets(document.adoptedStyleSheets,Qe.getId(document))};try{const H=[],ye=Ce=>{var Ve;return Y(jr)({mutationCb:vn,mousemoveCb:(ne,En)=>he(be({type:X.IncrementalSnapshot,data:{source:En,positions:ne}})),mouseInteractionCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.MouseInteraction},ne)})),scrollCb:On,viewportResizeCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.ViewportResize},ne)})),inputCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.Input},ne)})),mediaInteractionCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.MediaInteraction},ne)})),styleSheetRuleCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.StyleSheetRule},ne)})),styleDeclarationCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.StyleDeclaration},ne)})),canvasMutationCb:me,fontCb:ne=>he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.Font},ne)})),selectionCb:ne=>{he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.Selection},ne)}))},customElementCb:ne=>{he(be({type:X.IncrementalSnapshot,data:Object.assign({source:J.CustomElement},ne)}))},blockClass:s,ignoreClass:a,ignoreSelector:l,maskTextClass:c,maskTextSelector:v,maskInputOptions:Tn,inlineStylesheet:m,sampling:M,recordDOM:B,recordCanvas:j,inlineImages:Ae,userTriggeredOnInput:z,collectFonts:de,doc:Ce,maskInputFn:w,maskTextFn:C,keepIframeSrcFn:Ie,blockSelector:o,slimDOMOptions:pn,dataURLOptions:L,mirror:Qe,iframeManager:Ue,stylesheetManager:qe,shadowDomManager:sn,processedNodeManager:Te,canvasManager:Vi,ignoreCSSAttributes:ge,plugins:((Ve=F==null?void 0:F.filter(ne=>ne.observer))===null||Ve===void 0?void 0:Ve.map(ne=>({observer:ne.observer,options:ne.options,callback:En=>he(be({type:X.Plugin,data:{plugin:ne.name,payload:En}}))})))||[]},k)};Ue.addLoadListener(Ce=>{try{H.push(ye(Ce.contentDocument))}catch(Ve){console.warn(Ve)}});const te=()=>{Kt(),H.push(ye(document)),Ft=!0};return document.readyState==="interactive"||document.readyState==="complete"?te():(H.push(Ee("DOMContentLoaded",()=>{he(be({type:X.DomContentLoaded,data:{}})),K==="DOMContentLoaded"&&te()})),H.push(Ee("load",()=>{he(be({type:X.Load,data:{}})),K==="load"&&te()},window))),()=>{H.forEach(Ce=>Ce()),Te.destroy(),Ft=!1,Pr()}}catch(H){console.warn(H)}}gt.addCustomEvent=(n,e)=>{if(!Ft)throw new Error("please add custom event after start recording");he(be({type:X.Custom,data:{tag:n,payload:e}}))},gt.freezePage=()=>{Dn.forEach(n=>n.freeze())},gt.takeFullSnapshot=n=>{if(!Ft)throw new Error("please take full snapshot after start recording");Kt(n)},gt.mirror=Qe;var oo=(n=>(n[n.DomContentLoaded=0]="DomContentLoaded",n[n.Load=1]="Load",n[n.FullSnapshot=2]="FullSnapshot",n[n.IncrementalSnapshot=3]="IncrementalSnapshot",n[n.Meta=4]="Meta",n[n.Custom=5]="Custom",n[n.Plugin=6]="Plugin",n))(oo||{}),en=(n=>(n[n.Mutation=0]="Mutation",n[n.MouseMove=1]="MouseMove",n[n.MouseInteraction=2]="MouseInteraction",n[n.Scroll=3]="Scroll",n[n.ViewportResize=4]="ViewportResize",n[n.Input=5]="Input",n[n.TouchMove=6]="TouchMove",n[n.MediaInteraction=7]="MediaInteraction",n[n.StyleSheetRule=8]="StyleSheetRule",n[n.CanvasMutation=9]="CanvasMutation",n[n.Font=10]="Font",n[n.Log=11]="Log",n[n.Drag=12]="Drag",n[n.StyleDeclaration=13]="StyleDeclaration",n[n.Selection=14]="Selection",n[n.AdoptedStyleSheet=15]="AdoptedStyleSheet",n[n.CustomElement=16]="CustomElement",n))(en||{}),dn={DEBUG:!1,LIB_VERSION:"2.55.1"},R;if(typeof window>"u"){var ao={hostname:""};R={navigator:{userAgent:"",onLine:!0},document:{location:ao,referrer:""},screen:{width:0,height:0},location:ao}}else R=window;var yt=24*60*60*1e3,Ki=8*1e3,Gt=Array.prototype,ll=Function.prototype,ro=Object.prototype,Cn=Gt.slice,Ct=ro.toString,jt=ro.hasOwnProperty,fe=R.console,wn=R.navigator,oe=R.document,zt=R.opera,qt=R.screen,nn=wn.userAgent,Fi=ll.bind,lo=Gt.forEach,co=Gt.indexOf,uo=Gt.map,cl=Array.isArray,Gi={},p={trim:function(n){return n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},ee={log:function(){if(dn.DEBUG&&!p.isUndefined(fe)&&fe)try{fe.log.apply(fe,arguments)}catch{p.each(arguments,function(e){fe.log(e)})}},warn:function(){if(dn.DEBUG&&!p.isUndefined(fe)&&fe){var n=["Mixpanel warning:"].concat(p.toArray(arguments));try{fe.warn.apply(fe,n)}catch{p.each(n,function(t){fe.warn(t)})}}},error:function(){if(dn.DEBUG&&!p.isUndefined(fe)&&fe){var n=["Mixpanel error:"].concat(p.toArray(arguments));try{fe.error.apply(fe,n)}catch{p.each(n,function(t){fe.error(t)})}}},critical:function(){if(!p.isUndefined(fe)&&fe){var n=["Mixpanel error:"].concat(p.toArray(arguments));try{fe.error.apply(fe,n)}catch{p.each(n,function(t){fe.error(t)})}}}},ji=function(n,e){return function(){return arguments[0]="["+e+"] "+arguments[0],n.apply(ee,arguments)}},Wt=function(n){return{log:ji(ee.log,n),error:ji(ee.error,n),critical:ji(ee.critical,n)}};p.bind=function(n,e){var t,i;if(Fi&&n.bind===Fi)return Fi.apply(n,Cn.call(arguments,1));if(!p.isFunction(n))throw new TypeError;return t=Cn.call(arguments,2),i=function(){if(!(this instanceof i))return n.apply(e,t.concat(Cn.call(arguments)));var s={};s.prototype=n.prototype;var o=new s;s.prototype=null;var a=n.apply(o,t.concat(Cn.call(arguments)));return Object(a)===a?a:o},i},p.each=function(n,e,t){if(n!=null){if(lo&&n.forEach===lo)n.forEach(e,t);else if(n.length===+n.length){for(var i=0,s=n.length;i<s;i++)if(i in n&&e.call(t,n[i],i,n)===Gi)return}else for(var o in n)if(jt.call(n,o)&&e.call(t,n[o],o,n)===Gi)return}},p.extend=function(n){return p.each(Cn.call(arguments,1),function(e){for(var t in e)e[t]!==void 0&&(n[t]=e[t])}),n},p.isArray=cl||function(n){return Ct.call(n)==="[object Array]"},p.isFunction=function(n){try{return/^\s*\bfunction\b/.test(n)}catch{return!1}},p.isArguments=function(n){return!!(n&&jt.call(n,"callee"))},p.toArray=function(n){return n?n.toArray?n.toArray():p.isArray(n)||p.isArguments(n)?Cn.call(n):p.values(n):[]},p.map=function(n,e,t){if(uo&&n.map===uo)return n.map(e,t);var i=[];return p.each(n,function(s){i.push(e.call(t,s))}),i},p.keys=function(n){var e=[];return n===null||p.each(n,function(t,i){e[e.length]=i}),e},p.values=function(n){var e=[];return n===null||p.each(n,function(t){e[e.length]=t}),e},p.include=function(n,e){var t=!1;return n===null?t:co&&n.indexOf===co?n.indexOf(e)!=-1:(p.each(n,function(i){if(t||(t=i===e))return Gi}),t)},p.includes=function(n,e){return n.indexOf(e)!==-1},p.inherit=function(n,e){return n.prototype=new e,n.prototype.constructor=n,n.superclass=e.prototype,n},p.isObject=function(n){return n===Object(n)&&!p.isArray(n)},p.isEmptyObject=function(n){if(p.isObject(n)){for(var e in n)if(jt.call(n,e))return!1;return!0}return!1},p.isUndefined=function(n){return n===void 0},p.isString=function(n){return Ct.call(n)=="[object String]"},p.isDate=function(n){return Ct.call(n)=="[object Date]"},p.isNumber=function(n){return Ct.call(n)=="[object Number]"},p.isElement=function(n){return!!(n&&n.nodeType===1)},p.encodeDates=function(n){return p.each(n,function(e,t){p.isDate(e)?n[t]=p.formatDate(e):p.isObject(e)&&(n[t]=p.encodeDates(e))}),n},p.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},p.formatDate=function(n){function e(t){return t<10?"0"+t:t}return n.getUTCFullYear()+"-"+e(n.getUTCMonth()+1)+"-"+e(n.getUTCDate())+"T"+e(n.getUTCHours())+":"+e(n.getUTCMinutes())+":"+e(n.getUTCSeconds())},p.strip_empty_properties=function(n){var e={};return p.each(n,function(t,i){p.isString(t)&&t.length>0&&(e[i]=t)}),e},p.truncate=function(n,e){var t;return typeof n=="string"?t=n.slice(0,e):p.isArray(n)?(t=[],p.each(n,function(i){t.push(p.truncate(i,e))})):p.isObject(n)?(t={},p.each(n,function(i,s){t[s]=p.truncate(i,e)})):t=n,t},p.JSONEncode=function(){return function(n){var e=n,t=function(s){var o=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,a={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return o.lastIndex=0,o.test(s)?'"'+s.replace(o,function(l){var c=a[l];return typeof c=="string"?c:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+s+'"'},i=function(s,o){var a="",l=" ",c=0,v="",m="",f=0,b=a,g=[],w=o[s];switch(w&&typeof w=="object"&&typeof w.toJSON=="function"&&(w=w.toJSON(s)),typeof w){case"string":return t(w);case"number":return isFinite(w)?String(w):"null";case"boolean":case"null":return String(w);case"object":if(!w)return"null";if(a+=l,g=[],Ct.apply(w)==="[object Array]"){for(f=w.length,c=0;c<f;c+=1)g[c]=i(c,w)||"null";return m=g.length===0?"[]":a?`[
|
|
1015
|
+
`+a+g.join(`,
|
|
998
1016
|
`+a)+`
|
|
999
|
-
`+b+"]":"["+
|
|
1000
|
-
`,r:"\r",t:" "},i,
|
|
1017
|
+
`+b+"]":"["+g.join(",")+"]",a=b,m}for(v in w)jt.call(w,v)&&(m=i(v,w),m&&g.push(t(v)+(a?": ":":")+m));return m=g.length===0?"{}":a?"{"+g.join(",")+b+"}":"{"+g.join(",")+"}",a=b,m}};return i("",{"":e})}}(),p.JSONDecode=function(){var n,e,t={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
1018
|
+
`,r:"\r",t:" "},i,s=function(g){var w=new SyntaxError(g);throw w.at=n,w.text=i,w},o=function(g){return g&&g!==e&&s("Expected '"+g+"' instead of '"+e+"'"),e=i.charAt(n),n+=1,e},a=function(){var g,w="";for(e==="-"&&(w="-",o("-"));e>="0"&&e<="9";)w+=e,o();if(e===".")for(w+=".";o()&&e>="0"&&e<="9";)w+=e;if(e==="e"||e==="E")for(w+=e,o(),(e==="-"||e==="+")&&(w+=e,o());e>="0"&&e<="9";)w+=e,o();if(g=+w,!isFinite(g))s("Bad number");else return g},l=function(){var g,w,C="",k;if(e==='"')for(;o();){if(e==='"')return o(),C;if(e==="\\")if(o(),e==="u"){for(k=0,w=0;w<4&&(g=parseInt(o(),16),!!isFinite(g));w+=1)k=k*16+g;C+=String.fromCharCode(k)}else if(typeof t[e]=="string")C+=t[e];else break;else C+=e}s("Bad string")},c=function(){for(;e&&e<=" ";)o()},v=function(){switch(e){case"t":return o("t"),o("r"),o("u"),o("e"),!0;case"f":return o("f"),o("a"),o("l"),o("s"),o("e"),!1;case"n":return o("n"),o("u"),o("l"),o("l"),null}s('Unexpected "'+e+'"')},m,f=function(){var g=[];if(e==="["){if(o("["),c(),e==="]")return o("]"),g;for(;e;){if(g.push(m()),c(),e==="]")return o("]"),g;o(","),c()}}s("Bad array")},b=function(){var g,w={};if(e==="{"){if(o("{"),c(),e==="}")return o("}"),w;for(;e;){if(g=l(),c(),o(":"),Object.hasOwnProperty.call(w,g)&&s('Duplicate key "'+g+'"'),w[g]=m(),c(),e==="}")return o("}"),w;o(","),c()}}s("Bad object")};return m=function(){switch(c(),e){case"{":return b();case"[":return f();case'"':return l();case"-":return a();default:return e>="0"&&e<="9"?a():v()}},function(g){var w;return i=g,n=0,e=" ",w=m(),c(),e&&s("Syntax error"),w}}(),p.base64Encode=function(n){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t,i,s,o,a,l,c,v,m=0,f=0,b="",g=[];if(!n)return n;n=p.utf8Encode(n);do t=n.charCodeAt(m++),i=n.charCodeAt(m++),s=n.charCodeAt(m++),v=t<<16|i<<8|s,o=v>>18&63,a=v>>12&63,l=v>>6&63,c=v&63,g[f++]=e.charAt(o)+e.charAt(a)+e.charAt(l)+e.charAt(c);while(m<n.length);switch(b=g.join(""),n.length%3){case 1:b=b.slice(0,-2)+"==";break;case 2:b=b.slice(0,-1)+"=";break}return b},p.utf8Encode=function(n){n=(n+"").replace(/\r\n/g,`
|
|
1001
1019
|
`).replace(/\r/g,`
|
|
1002
|
-
`);var e="",t,i,o=0,s;for(t=i=0,o=n.length,s=0;s<o;s++){var a=n.charCodeAt(s),l=null;a<128?i++:a>127&&a<2048?l=String.fromCharCode(a>>6|192,a&63|128):l=String.fromCharCode(a>>12|224,a>>6&63|128,a&63|128),l!==null&&(i>t&&(e+=n.substring(t,i)),e+=l,t=i=s+1)}return i>t&&(e+=n.substring(t,n.length)),e},p.UUID=function(){var n=function(){var i=1*new Date,o;if(R.performance&&R.performance.now)o=R.performance.now();else for(o=0;i==1*new Date;)o++;return i.toString(16)+Math.floor(o).toString(16)},e=function(){return Math.random().toString(16).replace(".","")},t=function(){var i=Qe,o,s,a=[],l=0;function d(v,m){var g,b=0;for(g=0;g<m.length;g++)b|=a[g]<<g*8;return v^b}for(o=0;o<i.length;o++)s=i.charCodeAt(o),a.unshift(s&255),a.length>=4&&(l=d(l,a),a=[]);return a.length>0&&(l=d(l,a)),l.toString(16)};return function(){var i=(jt.height*jt.width).toString(16);return n()+"-"+e()+"-"+t()+"-"+i+"-"+n()}}();var is=["ahrefsbot","ahrefssiteaudit","baiduspider","bingbot","bingpreview","chrome-lighthouse","facebookexternal","petalbot","pinterest","screaming frog","yahoo! slurp","yandexbot","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleweblight","mediapartners-google","storebot-google"];p.isBlockedUA=function(n){var e;for(n=n.toLowerCase(),e=0;e<is.length;e++)if(n.indexOf(is[e])!==-1)return!0;return!1},p.HTTPBuildQuery=function(n,e){var t,i,o=[];return p.isUndefined(e)&&(e="&"),p.each(n,function(s,a){t=encodeURIComponent(s.toString()),i=encodeURIComponent(a),o[o.length]=i+"="+t}),o.join(e)},p.getQueryParam=function(n,e){e=e.replace(/[[]/g,"\\[").replace(/[\]]/g,"\\]");var t="[\\?&]"+e+"=([^&#]*)",i=new RegExp(t),o=i.exec(n);if(o===null||o&&typeof o[1]!="string"&&o[1].length)return"";var s=o[1];try{s=decodeURIComponent(s)}catch{X.error("Skipping decoding for malformed query param: "+s)}return s.replace(/\+/g," ")},p.cookie={get:function(n){for(var e=n+"=",t=oe.cookie.split(";"),i=0;i<t.length;i++){for(var o=t[i];o.charAt(0)==" ";)o=o.substring(1,o.length);if(o.indexOf(e)===0)return decodeURIComponent(o.substring(e.length,o.length))}return null},parse:function(n){var e;try{e=p.JSONDecode(p.cookie.get(n))||{}}catch{}return e},set_seconds:function(n,e,t,i,o,s,a){var l="",d="",v="";if(a)l="; domain="+a;else if(i){var m=os(oe.location.hostname);l=m?"; domain=."+m:""}if(t){var g=new Date;g.setTime(g.getTime()+t*1e3),d="; expires="+g.toGMTString()}s&&(o=!0,v="; SameSite=None"),o&&(v+="; secure"),oe.cookie=n+"="+encodeURIComponent(e)+d+"; path=/"+l+v},set:function(n,e,t,i,o,s,a){var l="",d="",v="";if(a)l="; domain="+a;else if(i){var m=os(oe.location.hostname);l=m?"; domain=."+m:""}if(t){var g=new Date;g.setTime(g.getTime()+t*24*60*60*1e3),d="; expires="+g.toGMTString()}s&&(o=!0,v="; SameSite=None"),o&&(v+="; secure");var b=n+"="+encodeURIComponent(e)+d+"; path=/"+l+v;return oe.cookie=b,b},remove:function(n,e,t){p.cookie.set(n,"",-1,e,!1,!1,t)}};var Ii=null,Ft=function(n,e){if(Ii!==null&&!e)return Ii;var t=!0;try{n=n||window.localStorage;var i="__mplss_"+Hi(8),o="xyz";n.setItem(i,o),n.getItem(i)!==o&&(t=!1),n.removeItem(i)}catch{t=!1}return Ii=t,t};p.localStorage={is_supported:function(n){var e=Ft(null,n);return e||X.error("localStorage unsupported; falling back to cookie store"),e},error:function(n){X.error("localStorage error: "+n)},get:function(n){try{return window.localStorage.getItem(n)}catch(e){p.localStorage.error(e)}return null},parse:function(n){try{return p.JSONDecode(p.localStorage.get(n))||{}}catch{}return null},set:function(n,e){try{window.localStorage.setItem(n,e)}catch(t){p.localStorage.error(t)}},remove:function(n){try{window.localStorage.removeItem(n)}catch(e){p.localStorage.error(e)}}},p.register_event=function(){var n=function(i,o,s,a,l){if(!i){X.error("No valid element provided to register_event");return}if(i.addEventListener&&!a)i.addEventListener(o,s,!!l);else{var d="on"+o,v=i[d];i[d]=e(i,s,v)}};function e(i,o,s){var a=function(l){if(l=l||t(window.event),!!l){var d=!0,v,m;return p.isFunction(s)&&(v=s(l)),m=o.call(i,l),(v===!1||m===!1)&&(d=!1),d}};return a}function t(i){return i&&(i.preventDefault=t.preventDefault,i.stopPropagation=t.stopPropagation),i}return t.preventDefault=function(){this.returnValue=!1},t.stopPropagation=function(){this.cancelBubble=!0},n}();var el=new RegExp('^(\\w*)\\[(\\w+)([=~\\|\\^\\$\\*]?)=?"?([^\\]"]*)"?\\]$');p.dom_query=function(){function n(o){return o.all?o.all:o.getElementsByTagName("*")}var e=/[\t\r\n]/g;function t(o,s){var a=" "+s+" ";return(" "+o.className+" ").replace(e," ").indexOf(a)>=0}function i(o){if(!oe.getElementsByTagName)return[];var s=o.split(" "),a,l,d,v,m,g,b,f,C,w,k=[oe];for(g=0;g<s.length;g++){if(a=s[g].replace(/^\s+/,"").replace(/\s+$/,""),a.indexOf("#")>-1){l=a.split("#"),d=l[0];var x=l[1],M=oe.getElementById(x);if(!M||d&&M.nodeName.toLowerCase()!=d)return[];k=[M];continue}if(a.indexOf(".")>-1){l=a.split("."),d=l[0];var _=l[1];for(d||(d="*"),v=[],m=0,b=0;b<k.length;b++)for(d=="*"?C=n(k[b]):C=k[b].getElementsByTagName(d),f=0;f<C.length;f++)v[m++]=C[f];for(k=[],w=0,b=0;b<v.length;b++)v[b].className&&p.isString(v[b].className)&&t(v[b],_)&&(k[w++]=v[b]);continue}var E=a.match(el);if(E){d=E[1];var H=E[2],G=E[3],q=E[4];for(d||(d="*"),v=[],m=0,b=0;b<k.length;b++)for(d=="*"?C=n(k[b]):C=k[b].getElementsByTagName(d),f=0;f<C.length;f++)v[m++]=C[f];k=[],w=0;var j;switch(G){case"=":j=function(z){return z.getAttribute(H)==q};break;case"~":j=function(z){return z.getAttribute(H).match(new RegExp("\\b"+q+"\\b"))};break;case"|":j=function(z){return z.getAttribute(H).match(new RegExp("^"+q+"-?"))};break;case"^":j=function(z){return z.getAttribute(H).indexOf(q)===0};break;case"$":j=function(z){return z.getAttribute(H).lastIndexOf(q)==z.getAttribute(H).length-q.length};break;case"*":j=function(z){return z.getAttribute(H).indexOf(q)>-1};break;default:j=function(z){return z.getAttribute(H)}}for(k=[],w=0,b=0;b<v.length;b++)j(v[b])&&(k[w++]=v[b]);continue}for(d=a,v=[],m=0,b=0;b<k.length;b++)for(C=k[b].getElementsByTagName(d),f=0;f<C.length;f++)v[m++]=C[f];k=v}return k}return function(o){return p.isElement(o)?[o]:p.isObject(o)&&!p.isUndefined(o.length)?o:i.call(this,o)}}();var nl=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_source_platform","utm_campaign_id","utm_creative_format","utm_marketing_tactic"],tl=["dclid","fbclid","gclid","ko_click_id","li_fat_id","msclkid","sccid","ttclid","twclid","wbraid"];p.info={campaignParams:function(n){var e="",t={};return p.each(nl,function(i){e=p.getQueryParam(oe.URL,i),e.length?t[i]=e:n!==void 0&&(t[i]=n)}),t},clickParams:function(){var n="",e={};return p.each(tl,function(t){n=p.getQueryParam(oe.URL,t),n.length&&(e[t]=n)}),e},marketingParams:function(){return p.extend(p.info.campaignParams(),p.info.clickParams())},searchEngine:function(n){return n.search("https?://(.*)google.([^/?]*)")===0?"google":n.search("https?://(.*)bing.com")===0?"bing":n.search("https?://(.*)yahoo.com")===0?"yahoo":n.search("https?://(.*)duckduckgo.com")===0?"duckduckgo":null},searchInfo:function(n){var e=p.info.searchEngine(n),t=e!="yahoo"?"q":"p",i={};if(e!==null){i.$search_engine=e;var o=p.getQueryParam(n,t);o.length&&(i.mp_keyword=o)}return i},browser:function(n,e,t){return e=e||"",t||p.includes(n," OPR/")?p.includes(n,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":p.includes(n,"IEMobile")||p.includes(n,"WPDesktop")?"Internet Explorer Mobile":p.includes(n,"SamsungBrowser/")?"Samsung Internet":p.includes(n,"Edge")||p.includes(n,"Edg/")?"Microsoft Edge":p.includes(n,"FBIOS")?"Facebook Mobile":p.includes(n,"Chrome")?"Chrome":p.includes(n,"CriOS")?"Chrome iOS":p.includes(n,"UCWEB")||p.includes(n,"UCBrowser")?"UC Browser":p.includes(n,"FxiOS")?"Firefox iOS":p.includes(e,"Apple")?p.includes(n,"Mobile")?"Mobile Safari":"Safari":p.includes(n,"Android")?"Android Mobile":p.includes(n,"Konqueror")?"Konqueror":p.includes(n,"Firefox")?"Firefox":p.includes(n,"MSIE")||p.includes(n,"Trident/")?"Internet Explorer":p.includes(n,"Gecko")?"Mozilla":""},browserVersion:function(n,e,t){var i=p.info.browser(n,e,t),o={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/},s=o[i];if(s===void 0)return null;var a=n.match(s);return a?parseFloat(a[a.length-2]):null},os:function(){var n=Qe;return/Windows/i.test(n)?/Phone/.test(n)||/WPDesktop/.test(n)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(n)?"iOS":/Android/.test(n)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":/Mac/i.test(n)?"Mac OS X":/Linux/.test(n)?"Linux":/CrOS/.test(n)?"Chrome OS":""},device:function(n){return/Windows Phone/i.test(n)||/WPDesktop/.test(n)?"Windows Phone":/iPad/.test(n)?"iPad":/iPod/.test(n)?"iPod Touch":/iPhone/.test(n)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":/Android/.test(n)?"Android":""},referringDomain:function(n){var e=n.split("/");return e.length>=3?e[2]:""},currentUrl:function(){return R.location.href},properties:function(n){return typeof n!="object"&&(n={}),p.extend(p.strip_empty_properties({$os:p.info.os(),$browser:p.info.browser(Qe,yn.vendor,Ut),$referrer:oe.referrer,$referring_domain:p.info.referringDomain(oe.referrer),$device:p.info.device(Qe)}),{$current_url:p.info.currentUrl(),$browser_version:p.info.browserVersion(Qe,yn.vendor,Ut),$screen_height:jt.height,$screen_width:jt.width,mp_lib:"web",$lib_version:sn.LIB_VERSION,$insert_id:Hi(),time:p.timestamp()/1e3},p.strip_empty_properties(n))},people_properties:function(){return p.extend(p.strip_empty_properties({$os:p.info.os(),$browser:p.info.browser(Qe,yn.vendor,Ut)}),{$browser_version:p.info.browserVersion(Qe,yn.vendor,Ut)})},mpPageViewProperties:function(){return p.strip_empty_properties({current_page_title:oe.title,current_domain:R.location.hostname,current_url_path:R.location.pathname,current_url_protocol:R.location.protocol,current_url_search:R.location.search})}};var Hi=function(n){var e=Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10);return n?e.substring(0,n):e},il=/[a-z0-9][a-z0-9-]*\.[a-z]+$/i,ol=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i,os=function(n){var e=ol,t=n.split("."),i=t[t.length-1];(i.length>4||i==="com"||i==="org")&&(e=il);var o=n.match(e);return o?o[0]:""},sl=function(){var n=R.navigator.onLine;return p.isUndefined(n)||n},Gt=null,zt=null;typeof JSON<"u"&&(Gt=JSON.stringify,zt=JSON.parse),Gt=Gt||p.JSONEncode,zt=zt||p.JSONDecode,p.toArray=p.toArray,p.isObject=p.isObject,p.JSONEncode=p.JSONEncode,p.JSONDecode=p.JSONDecode,p.isBlockedUA=p.isBlockedUA,p.isEmptyObject=p.isEmptyObject,p.info=p.info,p.info.device=p.info.device,p.info.browser=p.info.browser,p.info.browserVersion=p.info.browserVersion,p.info.properties=p.info.properties;var al="__mp_opt_in_out_";function rl(n,e){rs(!0,n,e)}function ll(n,e){rs(!1,n,e)}function dl(n,e){return as(n,e)==="1"}function ss(n,e){if(ul(e))return X.warn('This browser has "Do Not Track" enabled. This will prevent the Mixpanel SDK from sending any data. To ignore the "Do Not Track" browser setting, initialize the Mixpanel instance with the config "ignore_dnt: true"'),!0;var t=as(n,e)==="0";return t&&X.warn("You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data."),t}function wn(n){return Ri(n,function(e){return this.get_config(e)})}function Cn(n){return Ri(n,function(e){return this._get_config(e)})}function Yn(n){return Ri(n,function(e){return this._get_config(e)})}function cl(n,e){e=e||{},Bi(e).remove(Ni(n,e),!!e.crossSubdomainCookie,e.cookieDomain)}function Bi(n){return n=n||{},n.persistenceType==="localStorage"?p.localStorage:p.cookie}function Ni(n,e){return e=e||{},(e.persistencePrefix||al)+n}function as(n,e){return Bi(e).get(Ni(n,e))}function ul(n){if(n&&n.ignoreDnt)return!1;var e=n&&n.window||R,t=e.navigator||{},i=!1;return p.each([t.doNotTrack,t.msDoNotTrack,e.doNotTrack],function(o){p.includes([!0,1,"1","yes"],o)&&(i=!0)}),i}function rs(n,e,t){if(!p.isString(e)||!e.length){X.error("gdpr."+(n?"optIn":"optOut")+" called with an invalid token");return}t=t||{},Bi(t).set(Ni(e,t),n?1:0,p.isNumber(t.cookieExpiration)?t.cookieExpiration:null,!!t.crossSubdomainCookie,!!t.secureCookie,!!t.crossSiteCookie,t.cookieDomain),t.track&&n&&t.track(t.trackEventName||"$opt_in",t.trackProperties,{send_immediately:!0})}function Ri(n,e){return function(){var t=!1;try{var i=e.call(this,"token"),o=e.call(this,"ignore_dnt"),s=e.call(this,"opt_out_tracking_persistence_type"),a=e.call(this,"opt_out_tracking_cookie_prefix"),l=e.call(this,"window");i&&(t=ss(i,{ignoreDnt:o,persistenceType:s,persistencePrefix:a,window:l}))}catch(v){X.error("Unexpected error when checking tracking opt-out status: "+v)}if(!t)return n.apply(this,arguments);var d=arguments[arguments.length-1];typeof d=="function"&&d(0)}}var hl=Kt("lock"),ls=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.pollIntervalMS=e.pollIntervalMS||100,this.timeoutMS=e.timeoutMS||2e3};ls.prototype.withLock=function(n,e,t){!t&&typeof e!="function"&&(t=e,e=null);var i=t||new Date().getTime()+"|"+Math.random(),o=new Date().getTime(),s=this.storageKey,a=this.pollIntervalMS,l=this.timeoutMS,d=this.storage,v=s+":X",m=s+":Y",g=s+":Z",b=function(M){e&&e(M)},f=function(M){if(new Date().getTime()-o>l){hl.error("Timeout waiting for mutex on "+s+"; clearing lock. ["+i+"]"),d.removeItem(g),d.removeItem(m),k();return}setTimeout(function(){try{M()}catch(_){b(_)}},a*(Math.random()+.1))},C=function(M,_){M()?_():f(function(){C(M,_)})},w=function(){var M=d.getItem(m);if(M&&M!==i)return!1;if(d.setItem(m,i),d.getItem(m)===i)return!0;if(!Ft(d,!0))throw new Error("localStorage support dropped while acquiring lock");return!1},k=function(){d.setItem(v,i),C(w,function(){if(d.getItem(v)===i){x();return}f(function(){if(d.getItem(m)!==i){k();return}C(function(){return!d.getItem(g)},x)})})},x=function(){d.setItem(g,"1");try{n()}finally{d.removeItem(g),d.getItem(m)===i&&d.removeItem(m),d.getItem(v)===i&&d.removeItem(v)}};try{if(Ft(d,!0))k();else throw new Error("localStorage support check failed")}catch(M){b(M)}};var ds=Kt("batch"),kn=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.reportError=e.errorReporter||p.bind(ds.error,ds),this.lock=new ls(n,{storage:this.storage}),this.usePersistence=e.usePersistence,this.pid=e.pid||null,this.memQueue=[]};kn.prototype.enqueue=function(n,e,t){var i={id:Hi(),flushAfter:new Date().getTime()+e*2,payload:n};this.usePersistence?this.lock.withLock(p.bind(function(){var s;try{var a=this.readFromStorage();a.push(i),s=this.saveToStorage(a),s&&this.memQueue.push(i)}catch{this.reportError("Error enqueueing item",n),s=!1}t&&t(s)},this),p.bind(function(s){this.reportError("Error acquiring storage lock",s),t&&t(!1)},this),this.pid):(this.memQueue.push(i),t&&t(!0))},kn.prototype.fillBatch=function(n){var e=this.memQueue.slice(0,n);if(this.usePersistence&&e.length<n){var t=this.readFromStorage();if(t.length){var i={};p.each(e,function(a){i[a.id]=!0});for(var o=0;o<t.length;o++){var s=t[o];if(new Date().getTime()>s.flushAfter&&!i[s.id]&&(s.orphaned=!0,e.push(s),e.length>=n))break}}}return e};var cs=function(n,e){var t=[];return p.each(n,function(i){i.id&&!e[i.id]&&t.push(i)}),t};kn.prototype.removeItemsByID=function(n,e){var t={};if(p.each(n,function(o){t[o]=!0}),this.memQueue=cs(this.memQueue,t),!this.usePersistence)e&&e(!0);else{var i=p.bind(function(){var o;try{var s=this.readFromStorage();if(s=cs(s,t),o=this.saveToStorage(s),o){s=this.readFromStorage();for(var a=0;a<s.length;a++){var l=s[a];if(l.id&&t[l.id])return this.reportError("Item not removed from storage"),!1}}}catch{this.reportError("Error removing items",n),o=!1}return o},this);this.lock.withLock(function(){var s=i();e&&e(s)},p.bind(function(s){var a=!1;if(this.reportError("Error acquiring storage lock",s),!Ft(this.storage,!0)&&(a=i(),!a))try{this.storage.removeItem(this.storageKey)}catch(l){this.reportError("Error clearing queue",l)}e&&e(a)},this),this.pid)}};var us=function(n,e){var t=[];return p.each(n,function(i){var o=i.id;if(o in e){var s=e[o];s!==null&&(i.payload=s,t.push(i))}else t.push(i)}),t};kn.prototype.updatePayloads=function(n,e){this.memQueue=us(this.memQueue,n),this.usePersistence?this.lock.withLock(p.bind(function(){var i;try{var o=this.readFromStorage();o=us(o,n),i=this.saveToStorage(o)}catch{this.reportError("Error updating items",n),i=!1}e&&e(i)},this),p.bind(function(i){this.reportError("Error acquiring storage lock",i),e&&e(!1)},this),this.pid):e&&e(!0)},kn.prototype.readFromStorage=function(){var n;try{n=this.storage.getItem(this.storageKey),n&&(n=zt(n),p.isArray(n)||(this.reportError("Invalid storage entry:",n),n=null))}catch(e){this.reportError("Error retrieving queue",e),n=null}return n||[]},kn.prototype.saveToStorage=function(n){try{return this.storage.setItem(this.storageKey,Gt(n)),!0}catch(e){return this.reportError("Error saving queue",e),!1}},kn.prototype.clear=function(){this.memQueue=[],this.usePersistence&&this.storage.removeItem(this.storageKey)};var ml=10*60*1e3,pt=Kt("batch"),Ze=function(n,e){this.errorReporter=e.errorReporter,this.queue=new kn(n,{errorReporter:p.bind(this.reportError,this),storage:e.storage,usePersistence:e.usePersistence}),this.libConfig=e.libConfig,this.sendRequest=e.sendRequestFunc,this.beforeSendHook=e.beforeSendHook,this.stopAllBatching=e.stopAllBatchingFunc,this.batchSize=this.libConfig.batch_size,this.flushInterval=this.libConfig.batch_flush_interval_ms,this.stopped=!this.libConfig.batch_autostart,this.consecutiveRemovalFailures=0,this.itemIdsSentSuccessfully={},this.flushOnlyOnInterval=e.flushOnlyOnInterval||!1};Ze.prototype.enqueue=function(n,e){this.queue.enqueue(n,this.flushInterval,e)},Ze.prototype.start=function(){this.stopped=!1,this.consecutiveRemovalFailures=0,this.flush()},Ze.prototype.stop=function(){this.stopped=!0,this.timeoutID&&(clearTimeout(this.timeoutID),this.timeoutID=null)},Ze.prototype.clear=function(){this.queue.clear()},Ze.prototype.resetBatchSize=function(){this.batchSize=this.libConfig.batch_size},Ze.prototype.resetFlush=function(){this.scheduleFlush(this.libConfig.batch_flush_interval_ms)},Ze.prototype.scheduleFlush=function(n){this.flushInterval=n,this.stopped||(this.timeoutID=setTimeout(p.bind(function(){this.stopped||this.flush()},this),this.flushInterval))},Ze.prototype.flush=function(n){try{if(this.requestInProgress){pt.log("Flush: Request already in progress");return}n=n||{};var e=this.libConfig.batch_request_timeout_ms,t=new Date().getTime(),i=this.batchSize,o=this.queue.fillBatch(i),s=o.length===i,a=[],l={};if(p.each(o,function(m){var g=m.payload;if(this.beforeSendHook&&!m.orphaned&&(g=this.beforeSendHook(g)),g){g.event&&g.properties&&(g.properties=p.extend({},g.properties,{mp_sent_by_lib_version:sn.LIB_VERSION}));var b=!0,f=m.id;f?(this.itemIdsSentSuccessfully[f]||0)>5&&(this.reportError("[dupe] item ID sent too many times, not sending",{item:m,batchSize:o.length,timesSent:this.itemIdsSentSuccessfully[f]}),b=!1):this.reportError("[dupe] found item with no ID",{item:m}),b&&a.push(g)}l[m.id]=g},this),a.length<1){this.resetFlush();return}this.requestInProgress=!0;var d=p.bind(function(m){this.requestInProgress=!1;try{var g=!1;if(n.unloading)this.queue.updatePayloads(l);else if(p.isObject(m)&&m.error==="timeout"&&new Date().getTime()-t>=e)this.reportError("Network timeout; retrying"),this.flush();else if(p.isObject(m)&&(m.httpStatusCode>=500||m.httpStatusCode===429||m.httpStatusCode<=0&&!sl()||m.error==="timeout")){var b=this.flushInterval*2;m.retryAfter&&(b=parseInt(m.retryAfter,10)*1e3||b),b=Math.min(ml,b),this.reportError("Error; retry in "+b+" ms"),this.scheduleFlush(b)}else if(p.isObject(m)&&m.httpStatusCode===413)if(o.length>1){var f=Math.max(1,Math.floor(i/2));this.batchSize=Math.min(this.batchSize,f,o.length-1),this.reportError("413 response; reducing batch size to "+this.batchSize),this.resetFlush()}else this.reportError("Single-event request too large; dropping",o),this.resetBatchSize(),g=!0;else g=!0;g&&(this.queue.removeItemsByID(p.map(o,function(C){return C.id}),p.bind(function(C){C?(this.consecutiveRemovalFailures=0,this.flushOnlyOnInterval&&!s?this.resetFlush():this.flush()):(this.reportError("Failed to remove items from queue"),++this.consecutiveRemovalFailures>5?(this.reportError("Too many queue failures; disabling batching system."),this.stopAllBatching()):this.resetFlush())},this)),p.each(o,p.bind(function(C){var w=C.id;w?(this.itemIdsSentSuccessfully[w]=this.itemIdsSentSuccessfully[w]||0,this.itemIdsSentSuccessfully[w]++,this.itemIdsSentSuccessfully[w]>5&&this.reportError("[dupe] item ID sent too many times",{item:C,batchSize:o.length,timesSent:this.itemIdsSentSuccessfully[w]})):this.reportError("[dupe] found item with no ID while removing",{item:C})},this)))}catch(C){this.reportError("Error handling API response",C),this.resetFlush()}},this),v={method:"POST",verbose:!0,ignore_json_errors:!0,timeout_ms:e};n.unloading&&(v.transport="sendBeacon"),pt.log("MIXPANEL REQUEST:",a),this.sendRequest(a,v,d)}catch(m){this.reportError("Error flushing request queue",m),this.resetFlush()}},Ze.prototype.reportError=function(n,e){if(pt.error.apply(pt.error,arguments),this.errorReporter)try{e instanceof Error||(e=new Error(n)),this.errorReporter(n,e)}catch(t){pt.error(t)}};var Dn=Kt("recorder"),hs=R.CompressionStream,pl={batch_size:1e3,batch_flush_interval_ms:10*1e3,batch_request_timeout_ms:90*1e3,batch_autostart:!0},vl=new Set([Ye.MouseMove,Ye.MouseInteraction,Ye.Scroll,Ye.ViewportResize,Ye.Input,Ye.TouchMove,Ye.MediaInteraction,Ye.Drag,Ye.Selection]);function bl(n){return n.type===Yo.IncrementalSnapshot&&vl.has(n.data.source)}var Je=function(n){this._mixpanel=n,this._stopRecording=null,this.recEvents=[],this.seqNo=0,this.replayId=null,this.replayStartTime=null,this.sendBatchId=null,this.idleTimeoutId=null,this.maxTimeoutId=null,this.recordMaxMs=ht,this.recordMinMs=0,this._initBatcher()};Je.prototype._initBatcher=function(){this.batcher=new Ze("__mprec",{libConfig:pl,sendRequestFunc:p.bind(this.flushEventsWithOptOut,this),errorReporter:p.bind(this.reportError,this),flushOnlyOnInterval:!0,usePersistence:!1})},Je.prototype.get_config=function(n){return this._mixpanel.get_config(n)},Je.prototype.startRecording=function(n){if(this._stopRecording!==null){Dn.log("Recording already in progress, skipping startRecording.");return}this.recordMaxMs=this.get_config("record_max_ms"),this.recordMaxMs>ht&&(this.recordMaxMs=ht,Dn.critical("record_max_ms cannot be greater than "+ht+"ms. Capping value.")),this.recordMinMs=this.get_config("record_min_ms"),this.recordMinMs>Li&&(this.recordMinMs=Li,Dn.critical("record_min_ms cannot be greater than "+Li+"ms. Capping value.")),this.recEvents=[],this.seqNo=0,this.replayStartTime=new Date().getTime(),this.replayId=p.UUID(),n||this.recordMinMs>0?this.batcher.stop():this.batcher.start();var e=p.bind(function(){clearTimeout(this.idleTimeoutId),this.idleTimeoutId=setTimeout(p.bind(function(){Dn.log("Idle timeout reached, restarting recording."),this.resetRecording()},this),this.get_config("record_idle_timeout_ms"))},this),t=this.get_config("record_block_selector");(t===""||t===null)&&(t=void 0),this._stopRecording=ut({emit:p.bind(function(i){this.batcher.enqueue(i),bl(i)&&(this.batcher.stopped&&new Date().getTime()-this.replayStartTime>=this.recordMinMs&&this.batcher.start(),e())},this),blockClass:this.get_config("record_block_class"),blockSelector:t,collectFonts:this.get_config("record_collect_fonts"),inlineImages:this.get_config("record_inline_images"),maskAllInputs:!0,maskTextClass:this.get_config("record_mask_text_class"),maskTextSelector:this.get_config("record_mask_text_selector")}),e(),this.maxTimeoutId=setTimeout(p.bind(this.resetRecording,this),this.recordMaxMs)},Je.prototype.resetRecording=function(){this.stopRecording(),this.startRecording(!0)},Je.prototype.stopRecording=function(){this._stopRecording!==null&&(this._stopRecording(),this._stopRecording=null),this.batcher.stopped?this.batcher.clear():(this.batcher.flush(),this.batcher.stop()),this.replayId=null,clearTimeout(this.idleTimeoutId),clearTimeout(this.maxTimeoutId)},Je.prototype.flushEventsWithOptOut=function(n,e,t){this._flushEvents(n,e,t,p.bind(this._onOptOut,this))},Je.prototype._onOptOut=function(n){n===0&&(this.recEvents=[],this.stopRecording())},Je.prototype._sendRequest=function(n,e,t,i){var o=p.bind(function(s,a){s.status===200&&this.replayId===n&&this.seqNo++,i({status:0,httpStatusCode:s.status,responseBody:a,retryAfter:s.headers.get("Retry-After")})},this);R.fetch(this.get_config("api_host")+"/"+this.get_config("api_routes").record+"?"+new URLSearchParams(e),{method:"POST",headers:{Authorization:"Basic "+btoa(this.get_config("token")+":"),"Content-Type":"application/octet-stream"},body:t}).then(function(s){s.json().then(function(a){o(s,a)}).catch(function(a){i({error:a})})}).catch(function(s){i({error:s,httpStatusCode:0})})},Je.prototype._flushEvents=wn(function(n,e,t){const i=n.length;if(i>0){var o=this.replayId,s=n[0].timestamp;(this.seqNo===0||!this.replayStartTime)&&(this.seqNo!==0&&this.reportError("Replay start time not set but seqNo is not 0. Using current batch start time as a fallback."),this.replayStartTime=s);var a=n[i-1].timestamp-this.replayStartTime,l={distinct_id:String(this._mixpanel.get_distinct_id()),seq:this.seqNo,batch_start_time:s/1e3,replay_id:o,replay_length_ms:a,replay_start_time:this.replayStartTime/1e3},d=p.JSONEncode(n),v=this._mixpanel.get_property("$device_id");v&&(l.$device_id=v);var m=this._mixpanel.get_property("$user_id");if(m&&(l.$user_id=m),hs){var g=new Blob([d],{type:"application/json"}).stream(),b=g.pipeThrough(new hs("gzip"));new Response(b).blob().then(p.bind(function(f){l.format="gzip",this._sendRequest(o,l,f,t)},this))}else l.format="body",this._sendRequest(o,l,d,t)}}),Je.prototype.reportError=function(n,e){Dn.error.apply(Dn.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(t){Dn.error(t)}},R.__mp_recorder=Je;var an=function(){};an.prototype.create_properties=function(){},an.prototype.event_handler=function(){},an.prototype.after_track_handler=function(){},an.prototype.init=function(n){return this.mp=n,this},an.prototype.track=function(n,e,t,i){var o=this,s=p.dom_query(n);if(s.length===0){X.error("The DOM query ("+n+") returned 0 elements");return}return p.each(s,function(a){p.register_event(a,this.override_event,function(l){var d={},v=o.create_properties(t,this),m=o.mp.get_config("track_links_timeout");o.event_handler(l,this,d),window.setTimeout(o.track_callback(i,v,d,!0),m),o.mp.track(e,v,o.track_callback(i,v,d))})},this),!0},an.prototype.track_callback=function(n,e,t,i){i=i||!1;var o=this;return function(){t.callback_fired||(t.callback_fired=!0,!(n&&n(i,e)===!1)&&o.after_track_handler(e,t,i))}},an.prototype.create_properties=function(n,e){var t;return typeof n=="function"?t=n(e):t=p.extend({},n),t};var Qn=function(){this.override_event="click"};p.inherit(Qn,an),Qn.prototype.create_properties=function(n,e){var t=Qn.superclass.create_properties.apply(this,arguments);return e.href&&(t.url=e.href),t},Qn.prototype.event_handler=function(n,e,t){t.new_tab=n.which===2||n.metaKey||n.ctrlKey||e.target==="_blank",t.href=e.href,t.new_tab||n.preventDefault()},Qn.prototype.after_track_handler=function(n,e){e.new_tab||setTimeout(function(){window.location=e.href},0)};var qt=function(){this.override_event="submit"};p.inherit(qt,an),qt.prototype.event_handler=function(n,e,t){t.element=e,n.preventDefault()},qt.prototype.after_track_handler=function(n,e){setTimeout(function(){e.element.submit()},0)};var Sn="$set",Xn="$set_once",$e="$unset",In="$add",Xe="$append",Hn="$union",rn="$remove",fl="$delete",ms={set_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(o,s){this._is_reserved_property(s)||(i[s]=o)},this):i[n]=e,t[Sn]=i,t},unset_action:function(n){var e={},t=[];return p.isArray(n)||(n=[n]),p.each(n,function(i){this._is_reserved_property(i)||t.push(i)},this),e[$e]=t,e},set_once_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(o,s){this._is_reserved_property(s)||(i[s]=o)},this):i[n]=e,t[Xn]=i,t},union_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(o,s){this._is_reserved_property(s)||(i[s]=p.isArray(o)?o:[o])},this):i[n]=p.isArray(e)?e:[e],t[Hn]=i,t},append_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(o,s){this._is_reserved_property(s)||(i[s]=o)},this):i[n]=e,t[Xe]=i,t},remove_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(o,s){this._is_reserved_property(s)||(i[s]=o)},this):i[n]=e,t[rn]=i,t},delete_action:function(){var n={};return n[fl]="",n}},re=function(){};p.extend(re.prototype,ms),re.prototype._init=function(n,e,t){this._mixpanel=n,this._group_key=e,this._group_id=t},re.prototype.set=Yn(function(n,e,t){var i=this.set_action(n,e);return p.isObject(n)&&(t=e),this._send_request(i,t)}),re.prototype.set_once=Yn(function(n,e,t){var i=this.set_once_action(n,e);return p.isObject(n)&&(t=e),this._send_request(i,t)}),re.prototype.unset=Yn(function(n,e){var t=this.unset_action(n);return this._send_request(t,e)}),re.prototype.union=Yn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.union_action(n,e);return this._send_request(i,t)}),re.prototype.delete=Yn(function(n){var e=this.delete_action();return this._send_request(e,n)}),re.prototype.remove=Yn(function(n,e,t){var i=this.remove_action(n,e);return this._send_request(i,t)}),re.prototype._send_request=function(n,e){n.$group_key=this._group_key,n.$group_id=this._group_id,n.$token=this._get_config("token");var t=p.encodeDates(n);return this._mixpanel._track_or_batch({type:"groups",data:t,endpoint:this._get_config("api_host")+"/"+this._get_config("api_routes").groups,batcher:this._mixpanel.request_batchers.groups},e)},re.prototype._is_reserved_property=function(n){return n==="$group_key"||n==="$group_id"},re.prototype._get_config=function(n){return this._mixpanel.get_config(n)},re.prototype.toString=function(){return this._mixpanel.toString()+".group."+this._group_key+"."+this._group_id},re.prototype.remove=re.prototype.remove,re.prototype.set=re.prototype.set,re.prototype.set_once=re.prototype.set_once,re.prototype.union=re.prototype.union,re.prototype.unset=re.prototype.unset,re.prototype.toString=re.prototype.toString;var O=function(){};p.extend(O.prototype,ms),O.prototype._init=function(n){this._mixpanel=n},O.prototype.set=Cn(function(n,e,t){var i=this.set_action(n,e);return p.isObject(n)&&(t=e),this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),i[Sn]=p.extend({},p.info.people_properties(),i[Sn]),this._send_request(i,t)}),O.prototype.set_once=Cn(function(n,e,t){var i=this.set_once_action(n,e);return p.isObject(n)&&(t=e),this._send_request(i,t)}),O.prototype.unset=Cn(function(n,e){var t=this.unset_action(n);return this._send_request(t,e)}),O.prototype.increment=Cn(function(n,e,t){var i={},o={};return p.isObject(n)?(p.each(n,function(s,a){if(!this._is_reserved_property(a))if(isNaN(parseFloat(s))){X.error("Invalid increment value passed to mixpanel.people.increment - must be a number");return}else o[a]=s},this),t=e):(p.isUndefined(e)&&(e=1),o[n]=e),i[In]=o,this._send_request(i,t)}),O.prototype.append=Cn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.append_action(n,e);return this._send_request(i,t)}),O.prototype.remove=Cn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.remove_action(n,e);return this._send_request(i,t)}),O.prototype.union=Cn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.union_action(n,e);return this._send_request(i,t)}),O.prototype.track_charge=Cn(function(n,e,t){if(!p.isNumber(n)&&(n=parseFloat(n),isNaN(n))){X.error("Invalid value passed to mixpanel.people.track_charge - must be a number");return}return this.append("$transactions",p.extend({$amount:n},e),t)}),O.prototype.clear_charges=function(n){return this.set("$transactions",[],n)},O.prototype.delete_user=function(){if(!this._identify_called()){X.error("mixpanel.people.delete_user() requires you to call identify() first");return}var n={$delete:this._mixpanel.get_distinct_id()};return this._send_request(n)},O.prototype.toString=function(){return this._mixpanel.toString()+".people"},O.prototype._send_request=function(n,e){n.$token=this._get_config("token"),n.$distinct_id=this._mixpanel.get_distinct_id();var t=this._mixpanel.get_property("$device_id"),i=this._mixpanel.get_property("$user_id"),o=this._mixpanel.get_property("$had_persisted_distinct_id");t&&(n.$device_id=t),i&&(n.$user_id=i),o&&(n.$had_persisted_distinct_id=o);var s=p.encodeDates(n);return this._identify_called()?this._mixpanel._track_or_batch({type:"people",data:s,endpoint:this._get_config("api_host")+"/"+this._get_config("api_routes").engage,batcher:this._mixpanel.request_batchers.people},e):(this._enqueue(n),p.isUndefined(e)||(this._get_config("verbose")?e({status:-1,error:null}):e(-1)),p.truncate(s,255))},O.prototype._get_config=function(n){return this._mixpanel.get_config(n)},O.prototype._identify_called=function(){return this._mixpanel._flags.identify_called===!0},O.prototype._enqueue=function(n){Sn in n?this._mixpanel.persistence._add_to_people_queue(Sn,n):Xn in n?this._mixpanel.persistence._add_to_people_queue(Xn,n):$e in n?this._mixpanel.persistence._add_to_people_queue($e,n):In in n?this._mixpanel.persistence._add_to_people_queue(In,n):Xe in n?this._mixpanel.persistence._add_to_people_queue(Xe,n):rn in n?this._mixpanel.persistence._add_to_people_queue(rn,n):Hn in n?this._mixpanel.persistence._add_to_people_queue(Hn,n):X.error("Invalid call to _enqueue():",n)},O.prototype._flush_one_queue=function(n,e,t,i){var o=this,s=p.extend({},this._mixpanel.persistence.load_queue(n)),a=s;!p.isUndefined(s)&&p.isObject(s)&&!p.isEmptyObject(s)&&(o._mixpanel.persistence._pop_from_people_queue(n,s),o._mixpanel.persistence.save(),i&&(a=i(s)),e.call(o,a,function(l,d){l===0&&o._mixpanel.persistence._add_to_people_queue(n,s),p.isUndefined(t)||t(l,d)}))},O.prototype._flush=function(n,e,t,i,o,s,a){var l=this;this._flush_one_queue(Sn,this.set,n),this._flush_one_queue(Xn,this.set_once,i),this._flush_one_queue($e,this.unset,s,function(k){return p.keys(k)}),this._flush_one_queue(In,this.increment,e),this._flush_one_queue(Hn,this.union,o);var d=this._mixpanel.persistence.load_queue(Xe);if(!p.isUndefined(d)&&p.isArray(d)&&d.length)for(var v,m=function(k,x){k===0&&l._mixpanel.persistence._add_to_people_queue(Xe,v),p.isUndefined(t)||t(k,x)},g=d.length-1;g>=0;g--)d=this._mixpanel.persistence.load_queue(Xe),v=d.pop(),l._mixpanel.persistence.save(),p.isEmptyObject(v)||l.append(v,m);var b=this._mixpanel.persistence.load_queue(rn);if(!p.isUndefined(b)&&p.isArray(b)&&b.length)for(var f,C=function(k,x){k===0&&l._mixpanel.persistence._add_to_people_queue(rn,f),p.isUndefined(a)||a(k,x)},w=b.length-1;w>=0;w--)b=this._mixpanel.persistence.load_queue(rn),f=b.pop(),l._mixpanel.persistence.save(),p.isEmptyObject(f)||l.remove(f,C)},O.prototype._is_reserved_property=function(n){return n==="$distinct_id"||n==="$token"||n==="$device_id"||n==="$user_id"||n==="$had_persisted_distinct_id"},O.prototype.set=O.prototype.set,O.prototype.set_once=O.prototype.set_once,O.prototype.unset=O.prototype.unset,O.prototype.increment=O.prototype.increment,O.prototype.append=O.prototype.append,O.prototype.remove=O.prototype.remove,O.prototype.union=O.prototype.union,O.prototype.track_charge=O.prototype.track_charge,O.prototype.clear_charges=O.prototype.clear_charges,O.prototype.delete_user=O.prototype.delete_user,O.prototype.toString=O.prototype.toString;var Oi="__mps",Vi="__mpso",Ui="__mpus",ji="__mpa",Ki="__mpap",Fi="__mpr",Gi="__mpu",ps="$people_distinct_id",Wt="__alias",vt="__timers",gl=[Oi,Vi,Ui,ji,Ki,Fi,Gi,ps,Wt,vt],F=function(n){this.props={},this.campaign_params_saved=!1,n.persistence_name?this.name="mp_"+n.persistence_name:this.name="mp_"+n.token+"_mixpanel";var e=n.persistence;e!=="cookie"&&e!=="localStorage"&&(X.critical("Unknown persistence type "+e+"; falling back to cookie"),e=n.persistence="cookie"),e==="localStorage"&&p.localStorage.is_supported()?this.storage=p.localStorage:this.storage=p.cookie,this.load(),this.update_config(n),this.upgrade(),this.save()};F.prototype.properties=function(){var n={};return this.load(),p.each(this.props,function(e,t){p.include(gl,t)||(n[t]=e)}),n},F.prototype.load=function(){if(!this.disabled){var n=this.storage.parse(this.name);n&&(this.props=p.extend({},n))}},F.prototype.upgrade=function(){var n,e;this.storage===p.localStorage?(n=p.cookie.parse(this.name),p.cookie.remove(this.name),p.cookie.remove(this.name,!0),n&&this.register_once(n)):this.storage===p.cookie&&(e=p.localStorage.parse(this.name),p.localStorage.remove(this.name),e&&this.register_once(e))},F.prototype.save=function(){this.disabled||this.storage.set(this.name,p.JSONEncode(this.props),this.expire_days,this.cross_subdomain,this.secure,this.cross_site,this.cookie_domain)},F.prototype.load_prop=function(n){return this.load(),this.props[n]},F.prototype.remove=function(){this.storage.remove(this.name,!1,this.cookie_domain),this.storage.remove(this.name,!0,this.cookie_domain)},F.prototype.clear=function(){this.remove(),this.props={}},F.prototype.register_once=function(n,e,t){return p.isObject(n)?(typeof e>"u"&&(e="None"),this.expire_days=typeof t>"u"?this.default_expiry:t,this.load(),p.each(n,function(i,o){(!this.props.hasOwnProperty(o)||this.props[o]===e)&&(this.props[o]=i)},this),this.save(),!0):!1},F.prototype.register=function(n,e){return p.isObject(n)?(this.expire_days=typeof e>"u"?this.default_expiry:e,this.load(),p.extend(this.props,n),this.save(),!0):!1},F.prototype.unregister=function(n){this.load(),n in this.props&&(delete this.props[n],this.save())},F.prototype.update_search_keyword=function(n){this.register(p.info.searchInfo(n))},F.prototype.update_referrer_info=function(n){this.register_once({$initial_referrer:n||"$direct",$initial_referring_domain:p.info.referringDomain(n)||"$direct"},"")},F.prototype.get_referrer_info=function(){return p.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},F.prototype.update_config=function(n){this.default_expiry=this.expire_days=n.cookie_expiration,this.set_disabled(n.disable_persistence),this.set_cookie_domain(n.cookie_domain),this.set_cross_site(n.cross_site_cookie),this.set_cross_subdomain(n.cross_subdomain_cookie),this.set_secure(n.secure_cookie)},F.prototype.set_disabled=function(n){this.disabled=n,this.disabled?this.remove():this.save()},F.prototype.set_cookie_domain=function(n){n!==this.cookie_domain&&(this.remove(),this.cookie_domain=n,this.save())},F.prototype.set_cross_site=function(n){n!==this.cross_site&&(this.cross_site=n,this.remove(),this.save())},F.prototype.set_cross_subdomain=function(n){n!==this.cross_subdomain&&(this.cross_subdomain=n,this.remove(),this.save())},F.prototype.get_cross_subdomain=function(){return this.cross_subdomain},F.prototype.set_secure=function(n){n!==this.secure&&(this.secure=!!n,this.remove(),this.save())},F.prototype._add_to_people_queue=function(n,e){var t=this._get_queue_key(n),i=e[n],o=this._get_or_create_queue(Sn),s=this._get_or_create_queue(Xn),a=this._get_or_create_queue($e),l=this._get_or_create_queue(In),d=this._get_or_create_queue(Hn),v=this._get_or_create_queue(rn,[]),m=this._get_or_create_queue(Xe,[]);t===Oi?(p.extend(o,i),this._pop_from_people_queue(In,i),this._pop_from_people_queue(Hn,i),this._pop_from_people_queue($e,i)):t===Vi?(p.each(i,function(g,b){b in s||(s[b]=g)}),this._pop_from_people_queue($e,i)):t===Ui?p.each(i,function(g){p.each([o,s,l,d],function(b){g in b&&delete b[g]}),p.each(m,function(b){g in b&&delete b[g]}),a[g]=!0}):t===ji?(p.each(i,function(g,b){b in o?o[b]+=g:(b in l||(l[b]=0),l[b]+=g)},this),this._pop_from_people_queue($e,i)):t===Gi?(p.each(i,function(g,b){p.isArray(g)&&(b in d||(d[b]=[]),d[b]=d[b].concat(g))}),this._pop_from_people_queue($e,i)):t===Fi?(v.push(i),this._pop_from_people_queue(Xe,i)):t===Ki&&(m.push(i),this._pop_from_people_queue($e,i)),X.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),X.log(e),this.save()},F.prototype._pop_from_people_queue=function(n,e){var t=this.props[this._get_queue_key(n)];p.isUndefined(t)||p.each(e,function(i,o){n===Xe||n===rn?p.each(t,function(s){s[o]===i&&delete s[o]}):delete t[o]},this)},F.prototype.load_queue=function(n){return this.load_prop(this._get_queue_key(n))},F.prototype._get_queue_key=function(n){if(n===Sn)return Oi;if(n===Xn)return Vi;if(n===$e)return Ui;if(n===In)return ji;if(n===Xe)return Ki;if(n===rn)return Fi;if(n===Hn)return Gi;X.error("Invalid queue:",n)},F.prototype._get_or_create_queue=function(n,e){var t=this._get_queue_key(n);return e=p.isUndefined(e)?{}:e,this.props[t]||(this.props[t]=e)},F.prototype.set_event_timer=function(n,e){var t=this.load_prop(vt)||{};t[n]=e,this.props[vt]=t,this.save()},F.prototype.remove_event_timer=function(n){var e=this.load_prop(vt)||{},t=e[n];return p.isUndefined(t)||(delete this.props[vt][n],this.save()),t};var zi,vs=function(n,e){throw new Error(n+" not available in this build.")},_e,bs=0,yl=1,wl=function(n){return n},bt=function(){},ze="mixpanel",fs="base64",Cl="json",qi="$device:",et=R.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,gs=!et&&Qe.indexOf("MSIE")===-1&&Qe.indexOf("Mozilla")===-1,Zt=null;yn.sendBeacon&&(Zt=function(){return yn.sendBeacon.apply(yn,arguments)});var ys={track:"track/",engage:"engage/",groups:"groups/",record:"record/"},ws={api_host:"https://api-js.mixpanel.com",api_routes:ys,api_method:"POST",api_transport:"XHR",api_payload_format:fs,app_host:"https://mixpanel.com",cdn:"https://cdn.mxpnl.com",cross_site_cookie:!1,cross_subdomain_cookie:!0,error_reporter:bt,persistence:"cookie",persistence_name:"",cookie_domain:"",cookie_name:"",loaded:bt,mp_loader:null,track_marketing:!0,track_pageview:!1,skip_first_touch_marketing:!1,store_google:!0,stop_utm_persistence:!1,save_referrer:!0,test:!1,verbose:!1,img:!1,debug:!1,track_links_timeout:300,cookie_expiration:365,upgrade:!1,disable_persistence:!1,disable_cookie:!1,secure_cookie:!1,ip:!0,opt_out_tracking_by_default:!1,opt_out_persistence_by_default:!1,opt_out_tracking_persistence_type:"localStorage",opt_out_tracking_cookie_prefix:null,property_blacklist:[],xhr_headers:{},ignore_dnt:!1,batch_requests:!0,batch_size:50,batch_flush_interval_ms:5e3,batch_request_timeout_ms:9e4,batch_autostart:!0,hooks:{},record_block_class:new RegExp("^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$"),record_block_selector:"img, video",record_collect_fonts:!1,record_idle_timeout_ms:30*60*1e3,record_inline_images:!1,record_mask_text_class:new RegExp("^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$"),record_mask_text_selector:"*",record_max_ms:ht,record_min_ms:0,record_sessions_percent:0,recorder_src:"https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js"},Cs=!1,T=function(){},Wi=function(n,e,t){var i,o=t===ze?_e:_e[t];if(o&&zi===bs)i=o;else{if(o&&!p.isArray(o)){X.error("You have already initialized "+t);return}i=new T}if(i._cached_groups={},i._init(n,e,t),i.people=new O,i.people._init(i),!i.get_config("skip_first_touch_marketing")){var s=p.info.campaignParams(null),a={},l=!1;p.each(s,function(d,v){a["initial_"+v]=d,d&&(l=!0)}),l&&i.people.set_once(a)}return sn.DEBUG=sn.DEBUG||i.get_config("debug"),!p.isUndefined(o)&&p.isArray(o)&&(i._execute_array.call(i.people,o.people),i._execute_array(o)),i};T.prototype.init=function(n,e,t){if(p.isUndefined(t)){this.report_error("You must name your new library: init(token, config, name)");return}if(t===ze){this.report_error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");return}var i=Wi(n,e,t);return _e[t]=i,i._loaded(),i},T.prototype._init=function(n,e,t){e=e||{},this.__loaded=!0,this.config={};var i={};if(!("api_payload_format"in e)){var o=e.api_host||ws.api_host;o.match(/\.mixpanel\.com/)&&(i.api_payload_format=Cl)}if(this.set_config(p.extend({},ws,i,e,{name:t,token:n,callback_fn:(t===ze?t:ze+"."+t)+"._jsc"})),this._jsc=bt,this.__dom_loaded_queue=[],this.__request_queue=[],this.__disabled_events=[],this._flags={disable_all_events:!1,identify_called:!1},this.request_batchers={},this._batch_requests=this.get_config("batch_requests"),this._batch_requests){if(!p.localStorage.is_supported(!0)||!et)this._batch_requests=!1,X.log("Turning off Mixpanel request-queueing; needs XHR and localStorage support"),p.each(this.get_batcher_configs(),function(d){X.log("Clearing batch queue "+d.queue_key),p.localStorage.remove(d.queue_key)});else if(this.init_batchers(),Zt&&R.addEventListener){var s=p.bind(function(){this.request_batchers.events.stopped||this.request_batchers.events.flush({unloading:!0})},this);R.addEventListener("pagehide",function(d){d.persisted&&s()}),R.addEventListener("visibilitychange",function(){oe.visibilityState==="hidden"&&s()})}}this.persistence=this.cookie=new F(this.config),this.unpersisted_superprops={},this._gdpr_init();var a=p.UUID();this.get_distinct_id()||this.register_once({distinct_id:qi+a,$device_id:a},"");var l=this.get_config("track_pageview");l&&this._init_url_change_tracking(l),this.get_config("record_sessions_percent")>0&&Math.random()*100<=this.get_config("record_sessions_percent")&&this.start_session_recording()},T.prototype.start_session_recording=wn(function(){if(!R.MutationObserver){X.critical("Browser does not support MutationObserver; skipping session recording");return}var n=p.bind(function(){this._recorder=this._recorder||new R.__mp_recorder(this),this._recorder.startRecording()},this);p.isUndefined(R.__mp_recorder)?vs(this.get_config("recorder_src"),n):n()}),T.prototype.stop_session_recording=function(){this._recorder?this._recorder.stopRecording():X.critical("Session recorder module not loaded")},T.prototype.get_session_recording_properties=function(){var n={};if(this._recorder){var e=this._recorder.replayId;e&&(n.$mp_replay_id=e)}return n},T.prototype._loaded=function(){if(this.get_config("loaded")(this),this._set_default_superprops(),this.people.set_once(this.persistence.get_referrer_info()),this.get_config("store_google")&&this.get_config("stop_utm_persistence")){var n=p.info.campaignParams(null);p.each(n,(function(e,t){this.unregister(t)}).bind(this))}},T.prototype._set_default_superprops=function(){this.persistence.update_search_keyword(oe.referrer),this.get_config("store_google")&&!this.get_config("stop_utm_persistence")&&this.register(p.info.campaignParams()),this.get_config("save_referrer")&&this.persistence.update_referrer_info(oe.referrer)},T.prototype._dom_loaded=function(){p.each(this.__dom_loaded_queue,function(n){this._track_dom.apply(this,n)},this),this.has_opted_out_tracking()||p.each(this.__request_queue,function(n){this._send_request.apply(this,n)},this),delete this.__dom_loaded_queue,delete this.__request_queue},T.prototype._track_dom=function(n,e){if(this.get_config("img"))return this.report_error("You can't use DOM tracking functions with img = true."),!1;if(!Cs)return this.__dom_loaded_queue.push([n,e]),!1;var t=new n().init(this);return t.track.apply(t,e)},T.prototype._init_url_change_tracking=function(n){var e="",t=this.track_pageview();if(t&&(e=p.info.currentUrl()),p.include(["full-url","url-with-path-and-query-string","url-with-path"],n)){R.addEventListener("popstate",function(){R.dispatchEvent(new Event("mp_locationchange"))}),R.addEventListener("hashchange",function(){R.dispatchEvent(new Event("mp_locationchange"))});var i=R.history.pushState;typeof i=="function"&&(R.history.pushState=function(s,a,l){i.call(R.history,s,a,l),R.dispatchEvent(new Event("mp_locationchange"))});var o=R.history.replaceState;typeof o=="function"&&(R.history.replaceState=function(s,a,l){o.call(R.history,s,a,l),R.dispatchEvent(new Event("mp_locationchange"))}),R.addEventListener("mp_locationchange",(function(){var s=p.info.currentUrl(),a=!1;if(n==="full-url"?a=s!==e:n==="url-with-path-and-query-string"?a=s.split("#")[0]!==e.split("#")[0]:n==="url-with-path"&&(a=s.split("#")[0].split("?")[0]!==e.split("#")[0].split("?")[0]),a){var l=this.track_pageview();l&&(e=s)}}).bind(this))}},T.prototype._prepare_callback=function(n,e){if(p.isUndefined(n))return null;if(et){var t=function(a){n(a,e)};return t}else{var i=this._jsc,o=""+Math.floor(Math.random()*1e8),s=this.get_config("callback_fn")+"["+o+"]";return i[o]=function(a){delete i[o],n(a,e)},s}},T.prototype._send_request=function(n,e,t,i){var o=!0;if(gs)return this.__request_queue.push(arguments),o;var s={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")},a=null;!i&&(p.isFunction(t)||typeof t=="string")&&(i=t,t=null),t=p.extend(s,t||{}),et||(t.method="GET");var l=t.method==="POST",d=Zt&&l&&t.transport.toLowerCase()==="sendbeacon",v=t.verbose;e.verbose&&(v=!0),this.get_config("test")&&(e.test=1),v&&(e.verbose=1),this.get_config("img")&&(e.img=1),et||(i?e.callback=i:(v||this.get_config("test"))&&(e.callback="(function(){})")),e.ip=this.get_config("ip")?1:0,e._=new Date().getTime().toString(),l&&(a="data="+encodeURIComponent(e.data),delete e.data),n+="?"+p.HTTPBuildQuery(e);var m=this;if("img"in e){var g=oe.createElement("img");g.src=n,oe.body.appendChild(g)}else if(d){try{o=Zt(n,a)}catch(x){m.report_error(x),o=!1}try{i&&i(o?1:0)}catch(x){m.report_error(x)}}else if(et)try{var b=new XMLHttpRequest;b.open(t.method,n,!0);var f=this.get_config("xhr_headers");if(l&&(f["Content-Type"]="application/x-www-form-urlencoded"),p.each(f,function(x,M){b.setRequestHeader(M,x)}),t.timeout_ms&&typeof b.timeout<"u"){b.timeout=t.timeout_ms;var C=new Date().getTime()}b.withCredentials=!0,b.onreadystatechange=function(){if(b.readyState===4)if(b.status===200){if(i)if(v){var x;try{x=p.JSONDecode(b.responseText)}catch(E){if(m.report_error(E),t.ignore_json_errors)x=b.responseText;else return}i(x)}else i(Number(b.responseText))}else{var M;if(b.timeout&&!b.status&&new Date().getTime()-C>=b.timeout?M="timeout":M="Bad HTTP status: "+b.status+" "+b.statusText,m.report_error(M),i)if(v){var _=b.responseHeaders||{};i({status:0,httpStatusCode:b.status,error:M,retryAfter:_["Retry-After"]})}else i(0)}},b.send(a)}catch(x){m.report_error(x),o=!1}else{var w=oe.createElement("script");w.type="text/javascript",w.async=!0,w.defer=!0,w.src=n;var k=oe.getElementsByTagName("script")[0];k.parentNode.insertBefore(w,k)}return o},T.prototype._execute_array=function(n){var e,t=[],i=[],o=[];p.each(n,function(a){a&&(e=a[0],p.isArray(e)?o.push(a):typeof a=="function"?a.call(this):p.isArray(a)&&e==="alias"?t.push(a):p.isArray(a)&&e.indexOf("track")!==-1&&typeof this[e]=="function"?o.push(a):i.push(a))},this);var s=function(a,l){p.each(a,function(d){if(p.isArray(d[0])){var v=l;p.each(d,function(m){v=v[m[0]].apply(v,m.slice(1))})}else this[d[0]].apply(this,d.slice(1))},l)};s(t,this),s(i,this),s(o,this)},T.prototype.are_batchers_initialized=function(){return!!this.request_batchers.events},T.prototype.get_batcher_configs=function(){var n="__mpq_"+this.get_config("token"),e=this.get_config("api_routes");return this._batcher_configs=this._batcher_configs||{events:{type:"events",endpoint:"/"+e.track,queue_key:n+"_ev"},people:{type:"people",endpoint:"/"+e.engage,queue_key:n+"_pp"},groups:{type:"groups",endpoint:"/"+e.groups,queue_key:n+"_gr"}},this._batcher_configs},T.prototype.init_batchers=function(){if(!this.are_batchers_initialized()){var n=p.bind(function(t){return new Ze(t.queue_key,{libConfig:this.config,errorReporter:this.get_config("error_reporter"),sendRequestFunc:p.bind(function(i,o,s){this._send_request(this.get_config("api_host")+t.endpoint,this._encode_data_for_request(i),o,this._prepare_callback(s,i))},this),beforeSendHook:p.bind(function(i){return this._run_hook("before_send_"+t.type,i)},this),stopAllBatchingFunc:p.bind(this.stop_batch_senders,this),usePersistence:!0})},this),e=this.get_batcher_configs();this.request_batchers={events:n(e.events),people:n(e.people),groups:n(e.groups)}}this.get_config("batch_autostart")&&this.start_batch_senders()},T.prototype.start_batch_senders=function(){this._batchers_were_started=!0,this.are_batchers_initialized()&&(this._batch_requests=!0,p.each(this.request_batchers,function(n){n.start()}))},T.prototype.stop_batch_senders=function(){this._batch_requests=!1,p.each(this.request_batchers,function(n){n.stop(),n.clear()})},T.prototype.push=function(n){this._execute_array([n])},T.prototype.disable=function(n){typeof n>"u"?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(n)},T.prototype._encode_data_for_request=function(n){var e=p.JSONEncode(n);return this.get_config("api_payload_format")===fs&&(e=p.base64Encode(e)),{data:e}},T.prototype._track_or_batch=function(n,e){var t=p.truncate(n.data,255),i=n.endpoint,o=n.batcher,s=n.should_send_immediately,a=n.send_request_options||{};e=e||bt;var l=!0,d=p.bind(function(){return a.skip_hooks||(t=this._run_hook("before_send_"+n.type,t)),t?(X.log("MIXPANEL REQUEST:"),X.log(t),this._send_request(i,this._encode_data_for_request(t),a,this._prepare_callback(e,t))):null},this);return this._batch_requests&&!s?o.enqueue(t,function(v){v?e(1,t):d()}):l=d(),l&&t},T.prototype.track=wn(function(n,e,t,i){!i&&typeof t=="function"&&(i=t,t=null),t=t||{};var o=t.transport;o&&(t.transport=o);var s=t.send_immediately;if(typeof i!="function"&&(i=bt),p.isUndefined(n)){this.report_error("No event name provided to mixpanel.track");return}if(this._event_is_disabled(n)){i(0);return}e=p.extend({},e),e.token=this.get_config("token");var a=this.persistence.remove_event_timer(n);if(!p.isUndefined(a)){var l=new Date().getTime()-a;e.$duration=parseFloat((l/1e3).toFixed(3))}this._set_default_superprops();var d=this.get_config("track_marketing")?p.info.marketingParams():{};e=p.extend({},p.info.properties({mp_loader:this.get_config("mp_loader")}),d,this.persistence.properties(),this.unpersisted_superprops,this.get_session_recording_properties(),e);var v=this.get_config("property_blacklist");p.isArray(v)?p.each(v,function(b){delete e[b]}):this.report_error("Invalid value for property_blacklist config: "+v);var m={event:n,properties:e},g=this._track_or_batch({type:"events",data:m,endpoint:this.get_config("api_host")+"/"+this.get_config("api_routes").track,batcher:this.request_batchers.events,should_send_immediately:s,send_request_options:t},i);return g}),T.prototype.set_group=wn(function(n,e,t){p.isArray(e)||(e=[e]);var i={};return i[n]=e,this.register(i),this.people.set(n,e,t)}),T.prototype.add_group=wn(function(n,e,t){var i=this.get_property(n),o={};return i===void 0?(o[n]=[e],this.register(o)):i.indexOf(e)===-1&&(i.push(e),o[n]=i,this.register(o)),this.people.union(n,e,t)}),T.prototype.remove_group=wn(function(n,e,t){var i=this.get_property(n);if(i!==void 0){var o=i.indexOf(e);o>-1&&(i.splice(o,1),this.register({group_key:i})),i.length===0&&this.unregister(n)}return this.people.remove(n,e,t)}),T.prototype.track_with_groups=wn(function(n,e,t,i){var o=p.extend({},e||{});return p.each(t,function(s,a){s!=null&&(o[a]=s)}),this.track(n,o,i)}),T.prototype._create_map_key=function(n,e){return n+"_"+JSON.stringify(e)},T.prototype._remove_group_from_cache=function(n,e){delete this._cached_groups[this._create_map_key(n,e)]},T.prototype.get_group=function(n,e){var t=this._create_map_key(n,e),i=this._cached_groups[t];return(i===void 0||i._group_key!==n||i._group_id!==e)&&(i=new re,i._init(this,n,e),this._cached_groups[t]=i),i},T.prototype.track_pageview=wn(function(n,e){typeof n!="object"&&(n={}),e=e||{};var t=e.event_name||"$mp_web_page_view",i=p.extend(p.info.mpPageViewProperties(),p.info.campaignParams(),p.info.clickParams()),o=p.extend({},i,n);return this.track(t,o)}),T.prototype.track_links=function(){return this._track_dom.call(this,Qn,arguments)},T.prototype.track_forms=function(){return this._track_dom.call(this,qt,arguments)},T.prototype.time_event=function(n){if(p.isUndefined(n)){this.report_error("No event name provided to mixpanel.time_event");return}this._event_is_disabled(n)||this.persistence.set_event_timer(n,new Date().getTime())};var kl={persistent:!0},Zi=function(n){var e;return p.isObject(n)?e=n:p.isUndefined(n)?e={}:e={days:n},p.extend({},kl,e)};T.prototype.register=function(n,e){var t=Zi(e);t.persistent?this.persistence.register(n,t.days):p.extend(this.unpersisted_superprops,n)},T.prototype.register_once=function(n,e,t){var i=Zi(t);i.persistent?this.persistence.register_once(n,e,i.days):(typeof e>"u"&&(e="None"),p.each(n,function(o,s){(!this.unpersisted_superprops.hasOwnProperty(s)||this.unpersisted_superprops[s]===e)&&(this.unpersisted_superprops[s]=o)},this))},T.prototype.unregister=function(n,e){e=Zi(e),e.persistent?this.persistence.unregister(n):delete this.unpersisted_superprops[n]},T.prototype._register_single=function(n,e){var t={};t[n]=e,this.register(t)},T.prototype.identify=function(n,e,t,i,o,s,a,l){var d=this.get_distinct_id();if(n&&d!==n){if(typeof n=="string"&&n.indexOf(qi)===0)return this.report_error("distinct_id cannot have $device: prefix"),-1;this.register({$user_id:n})}if(!this.get_property("$device_id")){var v=d;this.register_once({$had_persisted_distinct_id:!0,$device_id:v},"")}n!==d&&n!==this.get_property(Wt)&&(this.unregister(Wt),this.register({distinct_id:n})),this._flags.identify_called=!0,this.people._flush(e,t,i,o,s,a,l),n!==d&&this.track("$identify",{distinct_id:n,$anon_distinct_id:d},{skip_hooks:!0})},T.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1;var n=p.UUID();this.register_once({distinct_id:qi+n,$device_id:n},"")},T.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},T.prototype.alias=function(n,e){if(n===this.get_property(ps))return this.report_error("Attempting to create alias for existing People user - aborting."),-2;var t=this;return p.isUndefined(e)&&(e=this.get_distinct_id()),n!==e?(this._register_single(Wt,n),this.track("$create_alias",{alias:n,distinct_id:e},{skip_hooks:!0},function(){t.identify(n)})):(this.report_error("alias matches current distinct_id - skipping api call."),this.identify(n),-1)},T.prototype.name_tag=function(n){this._register_single("mp_name_tag",n)},T.prototype.set_config=function(n){if(p.isObject(n)){p.extend(this.config,n);var e=n.batch_size;e&&p.each(this.request_batchers,function(t){t.resetBatchSize()}),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),sn.DEBUG=sn.DEBUG||this.get_config("debug")}},T.prototype.get_config=function(n){return this.config[n]},T.prototype._run_hook=function(n){var e=(this.config.hooks[n]||wl).apply(this,gn.call(arguments,1));return typeof e>"u"&&(this.report_error(n+" hook did not return a value"),e=null),e},T.prototype.get_property=function(n){return this.persistence.load_prop([n])},T.prototype.toString=function(){var n=this.get_config("name");return n!==ze&&(n=ze+"."+n),n},T.prototype._event_is_disabled=function(n){return p.isBlockedUA(Qe)||this._flags.disable_all_events||p.include(this.__disabled_events,n)},T.prototype._gdpr_init=function(){var n=this.get_config("opt_out_tracking_persistence_type")==="localStorage";n&&p.localStorage.is_supported()&&(!this.has_opted_in_tracking()&&this.has_opted_in_tracking({persistence_type:"cookie"})&&this.opt_in_tracking({enable_persistence:!1}),!this.has_opted_out_tracking()&&this.has_opted_out_tracking({persistence_type:"cookie"})&&this.opt_out_tracking({clear_persistence:!1}),this.clear_opt_in_out_tracking({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_tracking()?this._gdpr_update_persistence({clear_persistence:!0}):!this.has_opted_in_tracking()&&(this.get_config("opt_out_tracking_by_default")||p.cookie.get("mp_optout"))&&(p.cookie.remove("mp_optout"),this.opt_out_tracking({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},T.prototype._gdpr_update_persistence=function(n){var e;if(n&&n.clear_persistence)e=!0;else if(n&&n.enable_persistence)e=!1;else return;!this.get_config("disable_persistence")&&this.persistence.disabled!==e&&this.persistence.set_disabled(e),e?this.stop_batch_senders():this._batchers_were_started&&this.start_batch_senders()},T.prototype._gdpr_call_func=function(n,e){return e=p.extend({track:p.bind(this.track,this),persistence_type:this.get_config("opt_out_tracking_persistence_type"),cookie_prefix:this.get_config("opt_out_tracking_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_site_cookie:this.get_config("cross_site_cookie"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),cookie_domain:this.get_config("cookie_domain"),secure_cookie:this.get_config("secure_cookie"),ignore_dnt:this.get_config("ignore_dnt")},e),p.localStorage.is_supported()||(e.persistence_type="cookie"),n(this.get_config("token"),{track:e.track,trackEventName:e.track_event_name,trackProperties:e.track_properties,persistenceType:e.persistence_type,persistencePrefix:e.cookie_prefix,cookieDomain:e.cookie_domain,cookieExpiration:e.cookie_expiration,crossSiteCookie:e.cross_site_cookie,crossSubdomainCookie:e.cross_subdomain_cookie,secureCookie:e.secure_cookie,ignoreDnt:e.ignore_dnt})},T.prototype.opt_in_tracking=function(n){n=p.extend({enable_persistence:!0},n),this._gdpr_call_func(rl,n),this._gdpr_update_persistence(n)},T.prototype.opt_out_tracking=function(n){n=p.extend({clear_persistence:!0,delete_user:!0},n),n.delete_user&&this.people&&this.people._identify_called()&&(this.people.delete_user(),this.people.clear_charges()),this._gdpr_call_func(ll,n),this._gdpr_update_persistence(n)},T.prototype.has_opted_in_tracking=function(n){return this._gdpr_call_func(dl,n)},T.prototype.has_opted_out_tracking=function(n){return this._gdpr_call_func(ss,n)},T.prototype.clear_opt_in_out_tracking=function(n){n=p.extend({enable_persistence:!0},n),this._gdpr_call_func(cl,n),this._gdpr_update_persistence(n)},T.prototype.report_error=function(n,e){X.error.apply(X.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(t){X.error(t)}},T.prototype.init=T.prototype.init,T.prototype.reset=T.prototype.reset,T.prototype.disable=T.prototype.disable,T.prototype.time_event=T.prototype.time_event,T.prototype.track=T.prototype.track,T.prototype.track_links=T.prototype.track_links,T.prototype.track_forms=T.prototype.track_forms,T.prototype.track_pageview=T.prototype.track_pageview,T.prototype.register=T.prototype.register,T.prototype.register_once=T.prototype.register_once,T.prototype.unregister=T.prototype.unregister,T.prototype.identify=T.prototype.identify,T.prototype.alias=T.prototype.alias,T.prototype.name_tag=T.prototype.name_tag,T.prototype.set_config=T.prototype.set_config,T.prototype.get_config=T.prototype.get_config,T.prototype.get_property=T.prototype.get_property,T.prototype.get_distinct_id=T.prototype.get_distinct_id,T.prototype.toString=T.prototype.toString,T.prototype.opt_out_tracking=T.prototype.opt_out_tracking,T.prototype.opt_in_tracking=T.prototype.opt_in_tracking,T.prototype.has_opted_out_tracking=T.prototype.has_opted_out_tracking,T.prototype.has_opted_in_tracking=T.prototype.has_opted_in_tracking,T.prototype.clear_opt_in_out_tracking=T.prototype.clear_opt_in_out_tracking,T.prototype.get_group=T.prototype.get_group,T.prototype.set_group=T.prototype.set_group,T.prototype.add_group=T.prototype.add_group,T.prototype.remove_group=T.prototype.remove_group,T.prototype.track_with_groups=T.prototype.track_with_groups,T.prototype.start_batch_senders=T.prototype.start_batch_senders,T.prototype.stop_batch_senders=T.prototype.stop_batch_senders,T.prototype.start_session_recording=T.prototype.start_session_recording,T.prototype.stop_session_recording=T.prototype.stop_session_recording,T.prototype.get_session_recording_properties=T.prototype.get_session_recording_properties,T.prototype.DEFAULT_API_ROUTES=ys,F.prototype.properties=F.prototype.properties,F.prototype.update_search_keyword=F.prototype.update_search_keyword,F.prototype.update_referrer_info=F.prototype.update_referrer_info,F.prototype.get_cross_subdomain=F.prototype.get_cross_subdomain,F.prototype.clear=F.prototype.clear;var nt={},Sl=function(){p.each(nt,function(n,e){e!==ze&&(_e[e]=n)}),_e._=p},xl=function(){_e.init=function(n,e,t){if(t)return _e[t]||(_e[t]=nt[t]=Wi(n,e,t),_e[t]._loaded()),_e[t];var i=_e;nt[ze]?i=nt[ze]:n&&(i=Wi(n,e,ze),i._loaded(),nt[ze]=i),_e=i,zi===yl&&(R[ze]=_e),Sl()}},_l=function(){function n(){n.done||(n.done=!0,Cs=!0,gs=!1,p.each(nt,function(i){i._dom_loaded()}))}function e(){try{oe.documentElement.doScroll("left")}catch{setTimeout(e,1);return}n()}if(oe.addEventListener)oe.readyState==="complete"?n():oe.addEventListener("DOMContentLoaded",n,!1);else if(oe.attachEvent){oe.attachEvent("onreadystatechange",n);var t=!1;try{t=R.frameElement===null}catch{}oe.documentElement.doScroll&&t&&e()}p.register_event(R,"load",n,!0)};function Ml(n){return vs=n,zi=bs,_e=new T,xl(),_e.init(),_l(),_e}function Al(n,e){e()}var P=Ml(Al);const ks=`<div id="checkoutConfirmationEnd">
|
|
1020
|
+
`);var e="",t,i,s=0,o;for(t=i=0,s=n.length,o=0;o<s;o++){var a=n.charCodeAt(o),l=null;a<128?i++:a>127&&a<2048?l=String.fromCharCode(a>>6|192,a&63|128):l=String.fromCharCode(a>>12|224,a>>6&63|128,a&63|128),l!==null&&(i>t&&(e+=n.substring(t,i)),e+=l,t=i=o+1)}return i>t&&(e+=n.substring(t,n.length)),e},p.UUID=function(){var n=function(){var i=1*new Date,s;if(R.performance&&R.performance.now)s=R.performance.now();else for(s=0;i==1*new Date;)s++;return i.toString(16)+Math.floor(s).toString(16)},e=function(){return Math.random().toString(16).replace(".","")},t=function(){var i=nn,s,o,a=[],l=0;function c(v,m){var f,b=0;for(f=0;f<m.length;f++)b|=a[f]<<f*8;return v^b}for(s=0;s<i.length;s++)o=i.charCodeAt(s),a.unshift(o&255),a.length>=4&&(l=c(l,a),a=[]);return a.length>0&&(l=c(l,a)),l.toString(16)};return function(){var i=(qt.height*qt.width).toString(16);return n()+"-"+e()+"-"+t()+"-"+i+"-"+n()}}();var ho=["ahrefsbot","ahrefssiteaudit","baiduspider","bingbot","bingpreview","chrome-lighthouse","facebookexternal","petalbot","pinterest","screaming frog","yahoo! slurp","yandexbot","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleweblight","mediapartners-google","storebot-google"];p.isBlockedUA=function(n){var e;for(n=n.toLowerCase(),e=0;e<ho.length;e++)if(n.indexOf(ho[e])!==-1)return!0;return!1},p.HTTPBuildQuery=function(n,e){var t,i,s=[];return p.isUndefined(e)&&(e="&"),p.each(n,function(o,a){t=encodeURIComponent(o.toString()),i=encodeURIComponent(a),s[s.length]=i+"="+t}),s.join(e)},p.getQueryParam=function(n,e){e=e.replace(/[[]/g,"\\[").replace(/[\]]/g,"\\]");var t="[\\?&]"+e+"=([^&#]*)",i=new RegExp(t),s=i.exec(n);if(s===null||s&&typeof s[1]!="string"&&s[1].length)return"";var o=s[1];try{o=decodeURIComponent(o)}catch{ee.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},p.cookie={get:function(n){for(var e=n+"=",t=oe.cookie.split(";"),i=0;i<t.length;i++){for(var s=t[i];s.charAt(0)==" ";)s=s.substring(1,s.length);if(s.indexOf(e)===0)return decodeURIComponent(s.substring(e.length,s.length))}return null},parse:function(n){var e;try{e=p.JSONDecode(p.cookie.get(n))||{}}catch{}return e},set_seconds:function(n,e,t,i,s,o,a){var l="",c="",v="";if(a)l="; domain="+a;else if(i){var m=mo(oe.location.hostname);l=m?"; domain=."+m:""}if(t){var f=new Date;f.setTime(f.getTime()+t*1e3),c="; expires="+f.toGMTString()}o&&(s=!0,v="; SameSite=None"),s&&(v+="; secure"),oe.cookie=n+"="+encodeURIComponent(e)+c+"; path=/"+l+v},set:function(n,e,t,i,s,o,a){var l="",c="",v="";if(a)l="; domain="+a;else if(i){var m=mo(oe.location.hostname);l=m?"; domain=."+m:""}if(t){var f=new Date;f.setTime(f.getTime()+t*24*60*60*1e3),c="; expires="+f.toGMTString()}o&&(s=!0,v="; SameSite=None"),s&&(v+="; secure");var b=n+"="+encodeURIComponent(e)+c+"; path=/"+l+v;return oe.cookie=b,b},remove:function(n,e,t){p.cookie.set(n,"",-1,e,!1,!1,t)}};var zi=null,Zt=function(n,e){if(zi!==null&&!e)return zi;var t=!0;try{n=n||window.localStorage;var i="__mplss_"+qi(8),s="xyz";n.setItem(i,s),n.getItem(i)!==s&&(t=!1),n.removeItem(i)}catch{t=!1}return zi=t,t};p.localStorage={is_supported:function(n){var e=Zt(null,n);return e||ee.error("localStorage unsupported; falling back to cookie store"),e},error:function(n){ee.error("localStorage error: "+n)},get:function(n){try{return window.localStorage.getItem(n)}catch(e){p.localStorage.error(e)}return null},parse:function(n){try{return p.JSONDecode(p.localStorage.get(n))||{}}catch{}return null},set:function(n,e){try{window.localStorage.setItem(n,e)}catch(t){p.localStorage.error(t)}},remove:function(n){try{window.localStorage.removeItem(n)}catch(e){p.localStorage.error(e)}}},p.register_event=function(){var n=function(i,s,o,a,l){if(!i){ee.error("No valid element provided to register_event");return}if(i.addEventListener&&!a)i.addEventListener(s,o,!!l);else{var c="on"+s,v=i[c];i[c]=e(i,o,v)}};function e(i,s,o){var a=function(l){if(l=l||t(window.event),!!l){var c=!0,v,m;return p.isFunction(o)&&(v=o(l)),m=s.call(i,l),(v===!1||m===!1)&&(c=!1),c}};return a}function t(i){return i&&(i.preventDefault=t.preventDefault,i.stopPropagation=t.stopPropagation),i}return t.preventDefault=function(){this.returnValue=!1},t.stopPropagation=function(){this.cancelBubble=!0},n}();var dl=new RegExp('^(\\w*)\\[(\\w+)([=~\\|\\^\\$\\*]?)=?"?([^\\]"]*)"?\\]$');p.dom_query=function(){function n(s){return s.all?s.all:s.getElementsByTagName("*")}var e=/[\t\r\n]/g;function t(s,o){var a=" "+o+" ";return(" "+s.className+" ").replace(e," ").indexOf(a)>=0}function i(s){if(!oe.getElementsByTagName)return[];var o=s.split(" "),a,l,c,v,m,f,b,g,w,C,k=[oe];for(f=0;f<o.length;f++){if(a=o[f].replace(/^\s+/,"").replace(/\s+$/,""),a.indexOf("#")>-1){l=a.split("#"),c=l[0];var x=l[1],M=oe.getElementById(x);if(!M||c&&M.nodeName.toLowerCase()!=c)return[];k=[M];continue}if(a.indexOf(".")>-1){l=a.split("."),c=l[0];var L=l[1];for(c||(c="*"),v=[],m=0,b=0;b<k.length;b++)for(c=="*"?w=n(k[b]):w=k[b].getElementsByTagName(c),g=0;g<w.length;g++)v[m++]=w[g];for(k=[],C=0,b=0;b<v.length;b++)v[b].className&&p.isString(v[b].className)&&t(v[b],L)&&(k[C++]=v[b]);continue}var P=a.match(dl);if(P){c=P[1];var B=P[2],j=P[3],W=P[4];for(c||(c="*"),v=[],m=0,b=0;b<k.length;b++)for(c=="*"?w=n(k[b]):w=k[b].getElementsByTagName(c),g=0;g<w.length;g++)v[m++]=w[g];k=[],C=0;var K;switch(j){case"=":K=function(z){return z.getAttribute(B)==W};break;case"~":K=function(z){return z.getAttribute(B).match(new RegExp("\\b"+W+"\\b"))};break;case"|":K=function(z){return z.getAttribute(B).match(new RegExp("^"+W+"-?"))};break;case"^":K=function(z){return z.getAttribute(B).indexOf(W)===0};break;case"$":K=function(z){return z.getAttribute(B).lastIndexOf(W)==z.getAttribute(B).length-W.length};break;case"*":K=function(z){return z.getAttribute(B).indexOf(W)>-1};break;default:K=function(z){return z.getAttribute(B)}}for(k=[],C=0,b=0;b<v.length;b++)K(v[b])&&(k[C++]=v[b]);continue}for(c=a,v=[],m=0,b=0;b<k.length;b++)for(w=k[b].getElementsByTagName(c),g=0;g<w.length;g++)v[m++]=w[g];k=v}return k}return function(s){return p.isElement(s)?[s]:p.isObject(s)&&!p.isUndefined(s.length)?s:i.call(this,s)}}();var ul=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_source_platform","utm_campaign_id","utm_creative_format","utm_marketing_tactic"],hl=["dclid","fbclid","gclid","ko_click_id","li_fat_id","msclkid","sccid","ttclid","twclid","wbraid"];p.info={campaignParams:function(n){var e="",t={};return p.each(ul,function(i){e=p.getQueryParam(oe.URL,i),e.length?t[i]=e:n!==void 0&&(t[i]=n)}),t},clickParams:function(){var n="",e={};return p.each(hl,function(t){n=p.getQueryParam(oe.URL,t),n.length&&(e[t]=n)}),e},marketingParams:function(){return p.extend(p.info.campaignParams(),p.info.clickParams())},searchEngine:function(n){return n.search("https?://(.*)google.([^/?]*)")===0?"google":n.search("https?://(.*)bing.com")===0?"bing":n.search("https?://(.*)yahoo.com")===0?"yahoo":n.search("https?://(.*)duckduckgo.com")===0?"duckduckgo":null},searchInfo:function(n){var e=p.info.searchEngine(n),t=e!="yahoo"?"q":"p",i={};if(e!==null){i.$search_engine=e;var s=p.getQueryParam(n,t);s.length&&(i.mp_keyword=s)}return i},browser:function(n,e,t){return e=e||"",t||p.includes(n," OPR/")?p.includes(n,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":p.includes(n,"IEMobile")||p.includes(n,"WPDesktop")?"Internet Explorer Mobile":p.includes(n,"SamsungBrowser/")?"Samsung Internet":p.includes(n,"Edge")||p.includes(n,"Edg/")?"Microsoft Edge":p.includes(n,"FBIOS")?"Facebook Mobile":p.includes(n,"Chrome")?"Chrome":p.includes(n,"CriOS")?"Chrome iOS":p.includes(n,"UCWEB")||p.includes(n,"UCBrowser")?"UC Browser":p.includes(n,"FxiOS")?"Firefox iOS":p.includes(e,"Apple")?p.includes(n,"Mobile")?"Mobile Safari":"Safari":p.includes(n,"Android")?"Android Mobile":p.includes(n,"Konqueror")?"Konqueror":p.includes(n,"Firefox")?"Firefox":p.includes(n,"MSIE")||p.includes(n,"Trident/")?"Internet Explorer":p.includes(n,"Gecko")?"Mozilla":""},browserVersion:function(n,e,t){var i=p.info.browser(n,e,t),s={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/},o=s[i];if(o===void 0)return null;var a=n.match(o);return a?parseFloat(a[a.length-2]):null},os:function(){var n=nn;return/Windows/i.test(n)?/Phone/.test(n)||/WPDesktop/.test(n)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(n)?"iOS":/Android/.test(n)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":/Mac/i.test(n)?"Mac OS X":/Linux/.test(n)?"Linux":/CrOS/.test(n)?"Chrome OS":""},device:function(n){return/Windows Phone/i.test(n)||/WPDesktop/.test(n)?"Windows Phone":/iPad/.test(n)?"iPad":/iPod/.test(n)?"iPod Touch":/iPhone/.test(n)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":/Android/.test(n)?"Android":""},referringDomain:function(n){var e=n.split("/");return e.length>=3?e[2]:""},currentUrl:function(){return R.location.href},properties:function(n){return typeof n!="object"&&(n={}),p.extend(p.strip_empty_properties({$os:p.info.os(),$browser:p.info.browser(nn,wn.vendor,zt),$referrer:oe.referrer,$referring_domain:p.info.referringDomain(oe.referrer),$device:p.info.device(nn)}),{$current_url:p.info.currentUrl(),$browser_version:p.info.browserVersion(nn,wn.vendor,zt),$screen_height:qt.height,$screen_width:qt.width,mp_lib:"web",$lib_version:dn.LIB_VERSION,$insert_id:qi(),time:p.timestamp()/1e3},p.strip_empty_properties(n))},people_properties:function(){return p.extend(p.strip_empty_properties({$os:p.info.os(),$browser:p.info.browser(nn,wn.vendor,zt)}),{$browser_version:p.info.browserVersion(nn,wn.vendor,zt)})},mpPageViewProperties:function(){return p.strip_empty_properties({current_page_title:oe.title,current_domain:R.location.hostname,current_url_path:R.location.pathname,current_url_protocol:R.location.protocol,current_url_search:R.location.search})}};var qi=function(n){var e=Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10);return n?e.substring(0,n):e},ml=/[a-z0-9][a-z0-9-]*\.[a-z]+$/i,pl=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i,mo=function(n){var e=pl,t=n.split("."),i=t[t.length-1];(i.length>4||i==="com"||i==="org")&&(e=ml);var s=n.match(e);return s?s[0]:""},vl=function(){var n=R.navigator.onLine;return p.isUndefined(n)||n},Qt=null,Jt=null;typeof JSON<"u"&&(Qt=JSON.stringify,Jt=JSON.parse),Qt=Qt||p.JSONEncode,Jt=Jt||p.JSONDecode,p.toArray=p.toArray,p.isObject=p.isObject,p.JSONEncode=p.JSONEncode,p.JSONDecode=p.JSONDecode,p.isBlockedUA=p.isBlockedUA,p.isEmptyObject=p.isEmptyObject,p.info=p.info,p.info.device=p.info.device,p.info.browser=p.info.browser,p.info.browserVersion=p.info.browserVersion,p.info.properties=p.info.properties;var bl="__mp_opt_in_out_";function fl(n,e){bo(!0,n,e)}function gl(n,e){bo(!1,n,e)}function yl(n,e){return vo(n,e)==="1"}function po(n,e){if(wl(e))return ee.warn('This browser has "Do Not Track" enabled. This will prevent the Mixpanel SDK from sending any data. To ignore the "Do Not Track" browser setting, initialize the Mixpanel instance with the config "ignore_dnt: true"'),!0;var t=vo(n,e)==="0";return t&&ee.warn("You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data."),t}function kn(n){return Qi(n,function(e){return this.get_config(e)})}function Sn(n){return Qi(n,function(e){return this._get_config(e)})}function et(n){return Qi(n,function(e){return this._get_config(e)})}function Cl(n,e){e=e||{},Wi(e).remove(Zi(n,e),!!e.crossSubdomainCookie,e.cookieDomain)}function Wi(n){return n=n||{},n.persistenceType==="localStorage"?p.localStorage:p.cookie}function Zi(n,e){return e=e||{},(e.persistencePrefix||bl)+n}function vo(n,e){return Wi(e).get(Zi(n,e))}function wl(n){if(n&&n.ignoreDnt)return!1;var e=n&&n.window||R,t=e.navigator||{},i=!1;return p.each([t.doNotTrack,t.msDoNotTrack,e.doNotTrack],function(s){p.includes([!0,1,"1","yes"],s)&&(i=!0)}),i}function bo(n,e,t){if(!p.isString(e)||!e.length){ee.error("gdpr."+(n?"optIn":"optOut")+" called with an invalid token");return}t=t||{},Wi(t).set(Zi(e,t),n?1:0,p.isNumber(t.cookieExpiration)?t.cookieExpiration:null,!!t.crossSubdomainCookie,!!t.secureCookie,!!t.crossSiteCookie,t.cookieDomain),t.track&&n&&t.track(t.trackEventName||"$opt_in",t.trackProperties,{send_immediately:!0})}function Qi(n,e){return function(){var t=!1;try{var i=e.call(this,"token"),s=e.call(this,"ignore_dnt"),o=e.call(this,"opt_out_tracking_persistence_type"),a=e.call(this,"opt_out_tracking_cookie_prefix"),l=e.call(this,"window");i&&(t=po(i,{ignoreDnt:s,persistenceType:o,persistencePrefix:a,window:l}))}catch(v){ee.error("Unexpected error when checking tracking opt-out status: "+v)}if(!t)return n.apply(this,arguments);var c=arguments[arguments.length-1];typeof c=="function"&&c(0)}}var kl=Wt("lock"),fo=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.pollIntervalMS=e.pollIntervalMS||100,this.timeoutMS=e.timeoutMS||2e3};fo.prototype.withLock=function(n,e,t){!t&&typeof e!="function"&&(t=e,e=null);var i=t||new Date().getTime()+"|"+Math.random(),s=new Date().getTime(),o=this.storageKey,a=this.pollIntervalMS,l=this.timeoutMS,c=this.storage,v=o+":X",m=o+":Y",f=o+":Z",b=function(M){e&&e(M)},g=function(M){if(new Date().getTime()-s>l){kl.error("Timeout waiting for mutex on "+o+"; clearing lock. ["+i+"]"),c.removeItem(f),c.removeItem(m),k();return}setTimeout(function(){try{M()}catch(L){b(L)}},a*(Math.random()+.1))},w=function(M,L){M()?L():g(function(){w(M,L)})},C=function(){var M=c.getItem(m);if(M&&M!==i)return!1;if(c.setItem(m,i),c.getItem(m)===i)return!0;if(!Zt(c,!0))throw new Error("localStorage support dropped while acquiring lock");return!1},k=function(){c.setItem(v,i),w(C,function(){if(c.getItem(v)===i){x();return}g(function(){if(c.getItem(m)!==i){k();return}w(function(){return!c.getItem(f)},x)})})},x=function(){c.setItem(f,"1");try{n()}finally{c.removeItem(f),c.getItem(m)===i&&c.removeItem(m),c.getItem(v)===i&&c.removeItem(v)}};try{if(Zt(c,!0))k();else throw new Error("localStorage support check failed")}catch(M){b(M)}};var go=Wt("batch"),xn=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.reportError=e.errorReporter||p.bind(go.error,go),this.lock=new fo(n,{storage:this.storage}),this.usePersistence=e.usePersistence,this.pid=e.pid||null,this.memQueue=[]};xn.prototype.enqueue=function(n,e,t){var i={id:qi(),flushAfter:new Date().getTime()+e*2,payload:n};this.usePersistence?this.lock.withLock(p.bind(function(){var o;try{var a=this.readFromStorage();a.push(i),o=this.saveToStorage(a),o&&this.memQueue.push(i)}catch{this.reportError("Error enqueueing item",n),o=!1}t&&t(o)},this),p.bind(function(o){this.reportError("Error acquiring storage lock",o),t&&t(!1)},this),this.pid):(this.memQueue.push(i),t&&t(!0))},xn.prototype.fillBatch=function(n){var e=this.memQueue.slice(0,n);if(this.usePersistence&&e.length<n){var t=this.readFromStorage();if(t.length){var i={};p.each(e,function(a){i[a.id]=!0});for(var s=0;s<t.length;s++){var o=t[s];if(new Date().getTime()>o.flushAfter&&!i[o.id]&&(o.orphaned=!0,e.push(o),e.length>=n))break}}}return e};var yo=function(n,e){var t=[];return p.each(n,function(i){i.id&&!e[i.id]&&t.push(i)}),t};xn.prototype.removeItemsByID=function(n,e){var t={};if(p.each(n,function(s){t[s]=!0}),this.memQueue=yo(this.memQueue,t),!this.usePersistence)e&&e(!0);else{var i=p.bind(function(){var s;try{var o=this.readFromStorage();if(o=yo(o,t),s=this.saveToStorage(o),s){o=this.readFromStorage();for(var a=0;a<o.length;a++){var l=o[a];if(l.id&&t[l.id])return this.reportError("Item not removed from storage"),!1}}}catch{this.reportError("Error removing items",n),s=!1}return s},this);this.lock.withLock(function(){var o=i();e&&e(o)},p.bind(function(o){var a=!1;if(this.reportError("Error acquiring storage lock",o),!Zt(this.storage,!0)&&(a=i(),!a))try{this.storage.removeItem(this.storageKey)}catch(l){this.reportError("Error clearing queue",l)}e&&e(a)},this),this.pid)}};var Co=function(n,e){var t=[];return p.each(n,function(i){var s=i.id;if(s in e){var o=e[s];o!==null&&(i.payload=o,t.push(i))}else t.push(i)}),t};xn.prototype.updatePayloads=function(n,e){this.memQueue=Co(this.memQueue,n),this.usePersistence?this.lock.withLock(p.bind(function(){var i;try{var s=this.readFromStorage();s=Co(s,n),i=this.saveToStorage(s)}catch{this.reportError("Error updating items",n),i=!1}e&&e(i)},this),p.bind(function(i){this.reportError("Error acquiring storage lock",i),e&&e(!1)},this),this.pid):e&&e(!0)},xn.prototype.readFromStorage=function(){var n;try{n=this.storage.getItem(this.storageKey),n&&(n=Jt(n),p.isArray(n)||(this.reportError("Invalid storage entry:",n),n=null))}catch(e){this.reportError("Error retrieving queue",e),n=null}return n||[]},xn.prototype.saveToStorage=function(n){try{return this.storage.setItem(this.storageKey,Qt(n)),!0}catch(e){return this.reportError("Error saving queue",e),!1}},xn.prototype.clear=function(){this.memQueue=[],this.usePersistence&&this.storage.removeItem(this.storageKey)};var Sl=10*60*1e3,wt=Wt("batch"),Je=function(n,e){this.errorReporter=e.errorReporter,this.queue=new xn(n,{errorReporter:p.bind(this.reportError,this),storage:e.storage,usePersistence:e.usePersistence}),this.libConfig=e.libConfig,this.sendRequest=e.sendRequestFunc,this.beforeSendHook=e.beforeSendHook,this.stopAllBatching=e.stopAllBatchingFunc,this.batchSize=this.libConfig.batch_size,this.flushInterval=this.libConfig.batch_flush_interval_ms,this.stopped=!this.libConfig.batch_autostart,this.consecutiveRemovalFailures=0,this.itemIdsSentSuccessfully={},this.flushOnlyOnInterval=e.flushOnlyOnInterval||!1};Je.prototype.enqueue=function(n,e){this.queue.enqueue(n,this.flushInterval,e)},Je.prototype.start=function(){this.stopped=!1,this.consecutiveRemovalFailures=0,this.flush()},Je.prototype.stop=function(){this.stopped=!0,this.timeoutID&&(clearTimeout(this.timeoutID),this.timeoutID=null)},Je.prototype.clear=function(){this.queue.clear()},Je.prototype.resetBatchSize=function(){this.batchSize=this.libConfig.batch_size},Je.prototype.resetFlush=function(){this.scheduleFlush(this.libConfig.batch_flush_interval_ms)},Je.prototype.scheduleFlush=function(n){this.flushInterval=n,this.stopped||(this.timeoutID=setTimeout(p.bind(function(){this.stopped||this.flush()},this),this.flushInterval))},Je.prototype.flush=function(n){try{if(this.requestInProgress){wt.log("Flush: Request already in progress");return}n=n||{};var e=this.libConfig.batch_request_timeout_ms,t=new Date().getTime(),i=this.batchSize,s=this.queue.fillBatch(i),o=s.length===i,a=[],l={};if(p.each(s,function(m){var f=m.payload;if(this.beforeSendHook&&!m.orphaned&&(f=this.beforeSendHook(f)),f){f.event&&f.properties&&(f.properties=p.extend({},f.properties,{mp_sent_by_lib_version:dn.LIB_VERSION}));var b=!0,g=m.id;g?(this.itemIdsSentSuccessfully[g]||0)>5&&(this.reportError("[dupe] item ID sent too many times, not sending",{item:m,batchSize:s.length,timesSent:this.itemIdsSentSuccessfully[g]}),b=!1):this.reportError("[dupe] found item with no ID",{item:m}),b&&a.push(f)}l[m.id]=f},this),a.length<1){this.resetFlush();return}this.requestInProgress=!0;var c=p.bind(function(m){this.requestInProgress=!1;try{var f=!1;if(n.unloading)this.queue.updatePayloads(l);else if(p.isObject(m)&&m.error==="timeout"&&new Date().getTime()-t>=e)this.reportError("Network timeout; retrying"),this.flush();else if(p.isObject(m)&&(m.httpStatusCode>=500||m.httpStatusCode===429||m.httpStatusCode<=0&&!vl()||m.error==="timeout")){var b=this.flushInterval*2;m.retryAfter&&(b=parseInt(m.retryAfter,10)*1e3||b),b=Math.min(Sl,b),this.reportError("Error; retry in "+b+" ms"),this.scheduleFlush(b)}else if(p.isObject(m)&&m.httpStatusCode===413)if(s.length>1){var g=Math.max(1,Math.floor(i/2));this.batchSize=Math.min(this.batchSize,g,s.length-1),this.reportError("413 response; reducing batch size to "+this.batchSize),this.resetFlush()}else this.reportError("Single-event request too large; dropping",s),this.resetBatchSize(),f=!0;else f=!0;f&&(this.queue.removeItemsByID(p.map(s,function(w){return w.id}),p.bind(function(w){w?(this.consecutiveRemovalFailures=0,this.flushOnlyOnInterval&&!o?this.resetFlush():this.flush()):(this.reportError("Failed to remove items from queue"),++this.consecutiveRemovalFailures>5?(this.reportError("Too many queue failures; disabling batching system."),this.stopAllBatching()):this.resetFlush())},this)),p.each(s,p.bind(function(w){var C=w.id;C?(this.itemIdsSentSuccessfully[C]=this.itemIdsSentSuccessfully[C]||0,this.itemIdsSentSuccessfully[C]++,this.itemIdsSentSuccessfully[C]>5&&this.reportError("[dupe] item ID sent too many times",{item:w,batchSize:s.length,timesSent:this.itemIdsSentSuccessfully[C]})):this.reportError("[dupe] found item with no ID while removing",{item:w})},this)))}catch(w){this.reportError("Error handling API response",w),this.resetFlush()}},this),v={method:"POST",verbose:!0,ignore_json_errors:!0,timeout_ms:e};n.unloading&&(v.transport="sendBeacon"),wt.log("MIXPANEL REQUEST:",a),this.sendRequest(a,v,c)}catch(m){this.reportError("Error flushing request queue",m),this.resetFlush()}},Je.prototype.reportError=function(n,e){if(wt.error.apply(wt.error,arguments),this.errorReporter)try{e instanceof Error||(e=new Error(n)),this.errorReporter(n,e)}catch(t){wt.error(t)}};var Bn=Wt("recorder"),wo=R.CompressionStream,xl={batch_size:1e3,batch_flush_interval_ms:10*1e3,batch_request_timeout_ms:90*1e3,batch_autostart:!0},Al=new Set([en.MouseMove,en.MouseInteraction,en.Scroll,en.ViewportResize,en.Input,en.TouchMove,en.MediaInteraction,en.Drag,en.Selection]);function Ml(n){return n.type===oo.IncrementalSnapshot&&Al.has(n.data.source)}var Ye=function(n){this._mixpanel=n,this._stopRecording=null,this.recEvents=[],this.seqNo=0,this.replayId=null,this.replayStartTime=null,this.sendBatchId=null,this.idleTimeoutId=null,this.maxTimeoutId=null,this.recordMaxMs=yt,this.recordMinMs=0,this._initBatcher()};Ye.prototype._initBatcher=function(){this.batcher=new Je("__mprec",{libConfig:xl,sendRequestFunc:p.bind(this.flushEventsWithOptOut,this),errorReporter:p.bind(this.reportError,this),flushOnlyOnInterval:!0,usePersistence:!1})},Ye.prototype.get_config=function(n){return this._mixpanel.get_config(n)},Ye.prototype.startRecording=function(n){if(this._stopRecording!==null){Bn.log("Recording already in progress, skipping startRecording.");return}this.recordMaxMs=this.get_config("record_max_ms"),this.recordMaxMs>yt&&(this.recordMaxMs=yt,Bn.critical("record_max_ms cannot be greater than "+yt+"ms. Capping value.")),this.recordMinMs=this.get_config("record_min_ms"),this.recordMinMs>Ki&&(this.recordMinMs=Ki,Bn.critical("record_min_ms cannot be greater than "+Ki+"ms. Capping value.")),this.recEvents=[],this.seqNo=0,this.replayStartTime=new Date().getTime(),this.replayId=p.UUID(),n||this.recordMinMs>0?this.batcher.stop():this.batcher.start();var e=p.bind(function(){clearTimeout(this.idleTimeoutId),this.idleTimeoutId=setTimeout(p.bind(function(){Bn.log("Idle timeout reached, restarting recording."),this.resetRecording()},this),this.get_config("record_idle_timeout_ms"))},this),t=this.get_config("record_block_selector");(t===""||t===null)&&(t=void 0),this._stopRecording=gt({emit:p.bind(function(i){this.batcher.enqueue(i),Ml(i)&&(this.batcher.stopped&&new Date().getTime()-this.replayStartTime>=this.recordMinMs&&this.batcher.start(),e())},this),blockClass:this.get_config("record_block_class"),blockSelector:t,collectFonts:this.get_config("record_collect_fonts"),inlineImages:this.get_config("record_inline_images"),maskAllInputs:!0,maskTextClass:this.get_config("record_mask_text_class"),maskTextSelector:this.get_config("record_mask_text_selector")}),e(),this.maxTimeoutId=setTimeout(p.bind(this.resetRecording,this),this.recordMaxMs)},Ye.prototype.resetRecording=function(){this.stopRecording(),this.startRecording(!0)},Ye.prototype.stopRecording=function(){this._stopRecording!==null&&(this._stopRecording(),this._stopRecording=null),this.batcher.stopped?this.batcher.clear():(this.batcher.flush(),this.batcher.stop()),this.replayId=null,clearTimeout(this.idleTimeoutId),clearTimeout(this.maxTimeoutId)},Ye.prototype.flushEventsWithOptOut=function(n,e,t){this._flushEvents(n,e,t,p.bind(this._onOptOut,this))},Ye.prototype._onOptOut=function(n){n===0&&(this.recEvents=[],this.stopRecording())},Ye.prototype._sendRequest=function(n,e,t,i){var s=p.bind(function(o,a){o.status===200&&this.replayId===n&&this.seqNo++,i({status:0,httpStatusCode:o.status,responseBody:a,retryAfter:o.headers.get("Retry-After")})},this);R.fetch(this.get_config("api_host")+"/"+this.get_config("api_routes").record+"?"+new URLSearchParams(e),{method:"POST",headers:{Authorization:"Basic "+btoa(this.get_config("token")+":"),"Content-Type":"application/octet-stream"},body:t}).then(function(o){o.json().then(function(a){s(o,a)}).catch(function(a){i({error:a})})}).catch(function(o){i({error:o,httpStatusCode:0})})},Ye.prototype._flushEvents=kn(function(n,e,t){const i=n.length;if(i>0){var s=this.replayId,o=n[0].timestamp;(this.seqNo===0||!this.replayStartTime)&&(this.seqNo!==0&&this.reportError("Replay start time not set but seqNo is not 0. Using current batch start time as a fallback."),this.replayStartTime=o);var a=n[i-1].timestamp-this.replayStartTime,l={distinct_id:String(this._mixpanel.get_distinct_id()),seq:this.seqNo,batch_start_time:o/1e3,replay_id:s,replay_length_ms:a,replay_start_time:this.replayStartTime/1e3},c=p.JSONEncode(n),v=this._mixpanel.get_property("$device_id");v&&(l.$device_id=v);var m=this._mixpanel.get_property("$user_id");if(m&&(l.$user_id=m),wo){var f=new Blob([c],{type:"application/json"}).stream(),b=f.pipeThrough(new wo("gzip"));new Response(b).blob().then(p.bind(function(g){l.format="gzip",this._sendRequest(s,l,g,t)},this))}else l.format="body",this._sendRequest(s,l,c,t)}}),Ye.prototype.reportError=function(n,e){Bn.error.apply(Bn.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(t){Bn.error(t)}},R.__mp_recorder=Ye;var un=function(){};un.prototype.create_properties=function(){},un.prototype.event_handler=function(){},un.prototype.after_track_handler=function(){},un.prototype.init=function(n){return this.mp=n,this},un.prototype.track=function(n,e,t,i){var s=this,o=p.dom_query(n);if(o.length===0){ee.error("The DOM query ("+n+") returned 0 elements");return}return p.each(o,function(a){p.register_event(a,this.override_event,function(l){var c={},v=s.create_properties(t,this),m=s.mp.get_config("track_links_timeout");s.event_handler(l,this,c),window.setTimeout(s.track_callback(i,v,c,!0),m),s.mp.track(e,v,s.track_callback(i,v,c))})},this),!0},un.prototype.track_callback=function(n,e,t,i){i=i||!1;var s=this;return function(){t.callback_fired||(t.callback_fired=!0,!(n&&n(i,e)===!1)&&s.after_track_handler(e,t,i))}},un.prototype.create_properties=function(n,e){var t;return typeof n=="function"?t=n(e):t=p.extend({},n),t};var nt=function(){this.override_event="click"};p.inherit(nt,un),nt.prototype.create_properties=function(n,e){var t=nt.superclass.create_properties.apply(this,arguments);return e.href&&(t.url=e.href),t},nt.prototype.event_handler=function(n,e,t){t.new_tab=n.which===2||n.metaKey||n.ctrlKey||e.target==="_blank",t.href=e.href,t.new_tab||n.preventDefault()},nt.prototype.after_track_handler=function(n,e){e.new_tab||setTimeout(function(){window.location=e.href},0)};var Yt=function(){this.override_event="submit"};p.inherit(Yt,un),Yt.prototype.event_handler=function(n,e,t){t.element=e,n.preventDefault()},Yt.prototype.after_track_handler=function(n,e){setTimeout(function(){e.element.submit()},0)};var An="$set",tt="$set_once",Xe="$unset",Nn="$add",tn="$append",Hn="$union",hn="$remove",Ll="$delete",ko={set_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(s,o){this._is_reserved_property(o)||(i[o]=s)},this):i[n]=e,t[An]=i,t},unset_action:function(n){var e={},t=[];return p.isArray(n)||(n=[n]),p.each(n,function(i){this._is_reserved_property(i)||t.push(i)},this),e[Xe]=t,e},set_once_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(s,o){this._is_reserved_property(o)||(i[o]=s)},this):i[n]=e,t[tt]=i,t},union_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(s,o){this._is_reserved_property(o)||(i[o]=p.isArray(s)?s:[s])},this):i[n]=p.isArray(e)?e:[e],t[Hn]=i,t},append_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(s,o){this._is_reserved_property(o)||(i[o]=s)},this):i[n]=e,t[tn]=i,t},remove_action:function(n,e){var t={},i={};return p.isObject(n)?p.each(n,function(s,o){this._is_reserved_property(o)||(i[o]=s)},this):i[n]=e,t[hn]=i,t},delete_action:function(){var n={};return n[Ll]="",n}},le=function(){};p.extend(le.prototype,ko),le.prototype._init=function(n,e,t){this._mixpanel=n,this._group_key=e,this._group_id=t},le.prototype.set=et(function(n,e,t){var i=this.set_action(n,e);return p.isObject(n)&&(t=e),this._send_request(i,t)}),le.prototype.set_once=et(function(n,e,t){var i=this.set_once_action(n,e);return p.isObject(n)&&(t=e),this._send_request(i,t)}),le.prototype.unset=et(function(n,e){var t=this.unset_action(n);return this._send_request(t,e)}),le.prototype.union=et(function(n,e,t){p.isObject(n)&&(t=e);var i=this.union_action(n,e);return this._send_request(i,t)}),le.prototype.delete=et(function(n){var e=this.delete_action();return this._send_request(e,n)}),le.prototype.remove=et(function(n,e,t){var i=this.remove_action(n,e);return this._send_request(i,t)}),le.prototype._send_request=function(n,e){n.$group_key=this._group_key,n.$group_id=this._group_id,n.$token=this._get_config("token");var t=p.encodeDates(n);return this._mixpanel._track_or_batch({type:"groups",data:t,endpoint:this._get_config("api_host")+"/"+this._get_config("api_routes").groups,batcher:this._mixpanel.request_batchers.groups},e)},le.prototype._is_reserved_property=function(n){return n==="$group_key"||n==="$group_id"},le.prototype._get_config=function(n){return this._mixpanel.get_config(n)},le.prototype.toString=function(){return this._mixpanel.toString()+".group."+this._group_key+"."+this._group_id},le.prototype.remove=le.prototype.remove,le.prototype.set=le.prototype.set,le.prototype.set_once=le.prototype.set_once,le.prototype.union=le.prototype.union,le.prototype.unset=le.prototype.unset,le.prototype.toString=le.prototype.toString;var O=function(){};p.extend(O.prototype,ko),O.prototype._init=function(n){this._mixpanel=n},O.prototype.set=Sn(function(n,e,t){var i=this.set_action(n,e);return p.isObject(n)&&(t=e),this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),i[An]=p.extend({},p.info.people_properties(),i[An]),this._send_request(i,t)}),O.prototype.set_once=Sn(function(n,e,t){var i=this.set_once_action(n,e);return p.isObject(n)&&(t=e),this._send_request(i,t)}),O.prototype.unset=Sn(function(n,e){var t=this.unset_action(n);return this._send_request(t,e)}),O.prototype.increment=Sn(function(n,e,t){var i={},s={};return p.isObject(n)?(p.each(n,function(o,a){if(!this._is_reserved_property(a))if(isNaN(parseFloat(o))){ee.error("Invalid increment value passed to mixpanel.people.increment - must be a number");return}else s[a]=o},this),t=e):(p.isUndefined(e)&&(e=1),s[n]=e),i[Nn]=s,this._send_request(i,t)}),O.prototype.append=Sn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.append_action(n,e);return this._send_request(i,t)}),O.prototype.remove=Sn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.remove_action(n,e);return this._send_request(i,t)}),O.prototype.union=Sn(function(n,e,t){p.isObject(n)&&(t=e);var i=this.union_action(n,e);return this._send_request(i,t)}),O.prototype.track_charge=Sn(function(n,e,t){if(!p.isNumber(n)&&(n=parseFloat(n),isNaN(n))){ee.error("Invalid value passed to mixpanel.people.track_charge - must be a number");return}return this.append("$transactions",p.extend({$amount:n},e),t)}),O.prototype.clear_charges=function(n){return this.set("$transactions",[],n)},O.prototype.delete_user=function(){if(!this._identify_called()){ee.error("mixpanel.people.delete_user() requires you to call identify() first");return}var n={$delete:this._mixpanel.get_distinct_id()};return this._send_request(n)},O.prototype.toString=function(){return this._mixpanel.toString()+".people"},O.prototype._send_request=function(n,e){n.$token=this._get_config("token"),n.$distinct_id=this._mixpanel.get_distinct_id();var t=this._mixpanel.get_property("$device_id"),i=this._mixpanel.get_property("$user_id"),s=this._mixpanel.get_property("$had_persisted_distinct_id");t&&(n.$device_id=t),i&&(n.$user_id=i),s&&(n.$had_persisted_distinct_id=s);var o=p.encodeDates(n);return this._identify_called()?this._mixpanel._track_or_batch({type:"people",data:o,endpoint:this._get_config("api_host")+"/"+this._get_config("api_routes").engage,batcher:this._mixpanel.request_batchers.people},e):(this._enqueue(n),p.isUndefined(e)||(this._get_config("verbose")?e({status:-1,error:null}):e(-1)),p.truncate(o,255))},O.prototype._get_config=function(n){return this._mixpanel.get_config(n)},O.prototype._identify_called=function(){return this._mixpanel._flags.identify_called===!0},O.prototype._enqueue=function(n){An in n?this._mixpanel.persistence._add_to_people_queue(An,n):tt in n?this._mixpanel.persistence._add_to_people_queue(tt,n):Xe in n?this._mixpanel.persistence._add_to_people_queue(Xe,n):Nn in n?this._mixpanel.persistence._add_to_people_queue(Nn,n):tn in n?this._mixpanel.persistence._add_to_people_queue(tn,n):hn in n?this._mixpanel.persistence._add_to_people_queue(hn,n):Hn in n?this._mixpanel.persistence._add_to_people_queue(Hn,n):ee.error("Invalid call to _enqueue():",n)},O.prototype._flush_one_queue=function(n,e,t,i){var s=this,o=p.extend({},this._mixpanel.persistence.load_queue(n)),a=o;!p.isUndefined(o)&&p.isObject(o)&&!p.isEmptyObject(o)&&(s._mixpanel.persistence._pop_from_people_queue(n,o),s._mixpanel.persistence.save(),i&&(a=i(o)),e.call(s,a,function(l,c){l===0&&s._mixpanel.persistence._add_to_people_queue(n,o),p.isUndefined(t)||t(l,c)}))},O.prototype._flush=function(n,e,t,i,s,o,a){var l=this;this._flush_one_queue(An,this.set,n),this._flush_one_queue(tt,this.set_once,i),this._flush_one_queue(Xe,this.unset,o,function(k){return p.keys(k)}),this._flush_one_queue(Nn,this.increment,e),this._flush_one_queue(Hn,this.union,s);var c=this._mixpanel.persistence.load_queue(tn);if(!p.isUndefined(c)&&p.isArray(c)&&c.length)for(var v,m=function(k,x){k===0&&l._mixpanel.persistence._add_to_people_queue(tn,v),p.isUndefined(t)||t(k,x)},f=c.length-1;f>=0;f--)c=this._mixpanel.persistence.load_queue(tn),v=c.pop(),l._mixpanel.persistence.save(),p.isEmptyObject(v)||l.append(v,m);var b=this._mixpanel.persistence.load_queue(hn);if(!p.isUndefined(b)&&p.isArray(b)&&b.length)for(var g,w=function(k,x){k===0&&l._mixpanel.persistence._add_to_people_queue(hn,g),p.isUndefined(a)||a(k,x)},C=b.length-1;C>=0;C--)b=this._mixpanel.persistence.load_queue(hn),g=b.pop(),l._mixpanel.persistence.save(),p.isEmptyObject(g)||l.remove(g,w)},O.prototype._is_reserved_property=function(n){return n==="$distinct_id"||n==="$token"||n==="$device_id"||n==="$user_id"||n==="$had_persisted_distinct_id"},O.prototype.set=O.prototype.set,O.prototype.set_once=O.prototype.set_once,O.prototype.unset=O.prototype.unset,O.prototype.increment=O.prototype.increment,O.prototype.append=O.prototype.append,O.prototype.remove=O.prototype.remove,O.prototype.union=O.prototype.union,O.prototype.track_charge=O.prototype.track_charge,O.prototype.clear_charges=O.prototype.clear_charges,O.prototype.delete_user=O.prototype.delete_user,O.prototype.toString=O.prototype.toString;var Ji="__mps",Yi="__mpso",Xi="__mpus",$i="__mpa",es="__mpap",ns="__mpr",ts="__mpu",So="$people_distinct_id",Xt="__alias",kt="__timers",Tl=[Ji,Yi,Xi,$i,es,ns,ts,So,Xt,kt],G=function(n){this.props={},this.campaign_params_saved=!1,n.persistence_name?this.name="mp_"+n.persistence_name:this.name="mp_"+n.token+"_mixpanel";var e=n.persistence;e!=="cookie"&&e!=="localStorage"&&(ee.critical("Unknown persistence type "+e+"; falling back to cookie"),e=n.persistence="cookie"),e==="localStorage"&&p.localStorage.is_supported()?this.storage=p.localStorage:this.storage=p.cookie,this.load(),this.update_config(n),this.upgrade(),this.save()};G.prototype.properties=function(){var n={};return this.load(),p.each(this.props,function(e,t){p.include(Tl,t)||(n[t]=e)}),n},G.prototype.load=function(){if(!this.disabled){var n=this.storage.parse(this.name);n&&(this.props=p.extend({},n))}},G.prototype.upgrade=function(){var n,e;this.storage===p.localStorage?(n=p.cookie.parse(this.name),p.cookie.remove(this.name),p.cookie.remove(this.name,!0),n&&this.register_once(n)):this.storage===p.cookie&&(e=p.localStorage.parse(this.name),p.localStorage.remove(this.name),e&&this.register_once(e))},G.prototype.save=function(){this.disabled||this.storage.set(this.name,p.JSONEncode(this.props),this.expire_days,this.cross_subdomain,this.secure,this.cross_site,this.cookie_domain)},G.prototype.load_prop=function(n){return this.load(),this.props[n]},G.prototype.remove=function(){this.storage.remove(this.name,!1,this.cookie_domain),this.storage.remove(this.name,!0,this.cookie_domain)},G.prototype.clear=function(){this.remove(),this.props={}},G.prototype.register_once=function(n,e,t){return p.isObject(n)?(typeof e>"u"&&(e="None"),this.expire_days=typeof t>"u"?this.default_expiry:t,this.load(),p.each(n,function(i,s){(!this.props.hasOwnProperty(s)||this.props[s]===e)&&(this.props[s]=i)},this),this.save(),!0):!1},G.prototype.register=function(n,e){return p.isObject(n)?(this.expire_days=typeof e>"u"?this.default_expiry:e,this.load(),p.extend(this.props,n),this.save(),!0):!1},G.prototype.unregister=function(n){this.load(),n in this.props&&(delete this.props[n],this.save())},G.prototype.update_search_keyword=function(n){this.register(p.info.searchInfo(n))},G.prototype.update_referrer_info=function(n){this.register_once({$initial_referrer:n||"$direct",$initial_referring_domain:p.info.referringDomain(n)||"$direct"},"")},G.prototype.get_referrer_info=function(){return p.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},G.prototype.update_config=function(n){this.default_expiry=this.expire_days=n.cookie_expiration,this.set_disabled(n.disable_persistence),this.set_cookie_domain(n.cookie_domain),this.set_cross_site(n.cross_site_cookie),this.set_cross_subdomain(n.cross_subdomain_cookie),this.set_secure(n.secure_cookie)},G.prototype.set_disabled=function(n){this.disabled=n,this.disabled?this.remove():this.save()},G.prototype.set_cookie_domain=function(n){n!==this.cookie_domain&&(this.remove(),this.cookie_domain=n,this.save())},G.prototype.set_cross_site=function(n){n!==this.cross_site&&(this.cross_site=n,this.remove(),this.save())},G.prototype.set_cross_subdomain=function(n){n!==this.cross_subdomain&&(this.cross_subdomain=n,this.remove(),this.save())},G.prototype.get_cross_subdomain=function(){return this.cross_subdomain},G.prototype.set_secure=function(n){n!==this.secure&&(this.secure=!!n,this.remove(),this.save())},G.prototype._add_to_people_queue=function(n,e){var t=this._get_queue_key(n),i=e[n],s=this._get_or_create_queue(An),o=this._get_or_create_queue(tt),a=this._get_or_create_queue(Xe),l=this._get_or_create_queue(Nn),c=this._get_or_create_queue(Hn),v=this._get_or_create_queue(hn,[]),m=this._get_or_create_queue(tn,[]);t===Ji?(p.extend(s,i),this._pop_from_people_queue(Nn,i),this._pop_from_people_queue(Hn,i),this._pop_from_people_queue(Xe,i)):t===Yi?(p.each(i,function(f,b){b in o||(o[b]=f)}),this._pop_from_people_queue(Xe,i)):t===Xi?p.each(i,function(f){p.each([s,o,l,c],function(b){f in b&&delete b[f]}),p.each(m,function(b){f in b&&delete b[f]}),a[f]=!0}):t===$i?(p.each(i,function(f,b){b in s?s[b]+=f:(b in l||(l[b]=0),l[b]+=f)},this),this._pop_from_people_queue(Xe,i)):t===ts?(p.each(i,function(f,b){p.isArray(f)&&(b in c||(c[b]=[]),c[b]=c[b].concat(f))}),this._pop_from_people_queue(Xe,i)):t===ns?(v.push(i),this._pop_from_people_queue(tn,i)):t===es&&(m.push(i),this._pop_from_people_queue(Xe,i)),ee.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),ee.log(e),this.save()},G.prototype._pop_from_people_queue=function(n,e){var t=this.props[this._get_queue_key(n)];p.isUndefined(t)||p.each(e,function(i,s){n===tn||n===hn?p.each(t,function(o){o[s]===i&&delete o[s]}):delete t[s]},this)},G.prototype.load_queue=function(n){return this.load_prop(this._get_queue_key(n))},G.prototype._get_queue_key=function(n){if(n===An)return Ji;if(n===tt)return Yi;if(n===Xe)return Xi;if(n===Nn)return $i;if(n===tn)return es;if(n===hn)return ns;if(n===Hn)return ts;ee.error("Invalid queue:",n)},G.prototype._get_or_create_queue=function(n,e){var t=this._get_queue_key(n);return e=p.isUndefined(e)?{}:e,this.props[t]||(this.props[t]=e)},G.prototype.set_event_timer=function(n,e){var t=this.load_prop(kt)||{};t[n]=e,this.props[kt]=t,this.save()},G.prototype.remove_event_timer=function(n){var e=this.load_prop(kt)||{},t=e[n];return p.isUndefined(t)||(delete this.props[kt][n],this.save()),t};var is,xo=function(n,e){throw new Error(n+" not available in this build.")},Le,Ao=0,_l=1,El=function(n){return n},St=function(){},ze="mixpanel",Mo="base64",Pl="json",ss="$device:",it=R.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,Lo=!it&&nn.indexOf("MSIE")===-1&&nn.indexOf("Mozilla")===-1,$t=null;wn.sendBeacon&&($t=function(){return wn.sendBeacon.apply(wn,arguments)});var To={track:"track/",engage:"engage/",groups:"groups/",record:"record/"},_o={api_host:"https://api-js.mixpanel.com",api_routes:To,api_method:"POST",api_transport:"XHR",api_payload_format:Mo,app_host:"https://mixpanel.com",cdn:"https://cdn.mxpnl.com",cross_site_cookie:!1,cross_subdomain_cookie:!0,error_reporter:St,persistence:"cookie",persistence_name:"",cookie_domain:"",cookie_name:"",loaded:St,mp_loader:null,track_marketing:!0,track_pageview:!1,skip_first_touch_marketing:!1,store_google:!0,stop_utm_persistence:!1,save_referrer:!0,test:!1,verbose:!1,img:!1,debug:!1,track_links_timeout:300,cookie_expiration:365,upgrade:!1,disable_persistence:!1,disable_cookie:!1,secure_cookie:!1,ip:!0,opt_out_tracking_by_default:!1,opt_out_persistence_by_default:!1,opt_out_tracking_persistence_type:"localStorage",opt_out_tracking_cookie_prefix:null,property_blacklist:[],xhr_headers:{},ignore_dnt:!1,batch_requests:!0,batch_size:50,batch_flush_interval_ms:5e3,batch_request_timeout_ms:9e4,batch_autostart:!0,hooks:{},record_block_class:new RegExp("^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$"),record_block_selector:"img, video",record_collect_fonts:!1,record_idle_timeout_ms:30*60*1e3,record_inline_images:!1,record_mask_text_class:new RegExp("^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$"),record_mask_text_selector:"*",record_max_ms:yt,record_min_ms:0,record_sessions_percent:0,recorder_src:"https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js"},Eo=!1,T=function(){},os=function(n,e,t){var i,s=t===ze?Le:Le[t];if(s&&is===Ao)i=s;else{if(s&&!p.isArray(s)){ee.error("You have already initialized "+t);return}i=new T}if(i._cached_groups={},i._init(n,e,t),i.people=new O,i.people._init(i),!i.get_config("skip_first_touch_marketing")){var o=p.info.campaignParams(null),a={},l=!1;p.each(o,function(c,v){a["initial_"+v]=c,c&&(l=!0)}),l&&i.people.set_once(a)}return dn.DEBUG=dn.DEBUG||i.get_config("debug"),!p.isUndefined(s)&&p.isArray(s)&&(i._execute_array.call(i.people,s.people),i._execute_array(s)),i};T.prototype.init=function(n,e,t){if(p.isUndefined(t)){this.report_error("You must name your new library: init(token, config, name)");return}if(t===ze){this.report_error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");return}var i=os(n,e,t);return Le[t]=i,i._loaded(),i},T.prototype._init=function(n,e,t){e=e||{},this.__loaded=!0,this.config={};var i={};if(!("api_payload_format"in e)){var s=e.api_host||_o.api_host;s.match(/\.mixpanel\.com/)&&(i.api_payload_format=Pl)}if(this.set_config(p.extend({},_o,i,e,{name:t,token:n,callback_fn:(t===ze?t:ze+"."+t)+"._jsc"})),this._jsc=St,this.__dom_loaded_queue=[],this.__request_queue=[],this.__disabled_events=[],this._flags={disable_all_events:!1,identify_called:!1},this.request_batchers={},this._batch_requests=this.get_config("batch_requests"),this._batch_requests){if(!p.localStorage.is_supported(!0)||!it)this._batch_requests=!1,ee.log("Turning off Mixpanel request-queueing; needs XHR and localStorage support"),p.each(this.get_batcher_configs(),function(c){ee.log("Clearing batch queue "+c.queue_key),p.localStorage.remove(c.queue_key)});else if(this.init_batchers(),$t&&R.addEventListener){var o=p.bind(function(){this.request_batchers.events.stopped||this.request_batchers.events.flush({unloading:!0})},this);R.addEventListener("pagehide",function(c){c.persisted&&o()}),R.addEventListener("visibilitychange",function(){oe.visibilityState==="hidden"&&o()})}}this.persistence=this.cookie=new G(this.config),this.unpersisted_superprops={},this._gdpr_init();var a=p.UUID();this.get_distinct_id()||this.register_once({distinct_id:ss+a,$device_id:a},"");var l=this.get_config("track_pageview");l&&this._init_url_change_tracking(l),this.get_config("record_sessions_percent")>0&&Math.random()*100<=this.get_config("record_sessions_percent")&&this.start_session_recording()},T.prototype.start_session_recording=kn(function(){if(!R.MutationObserver){ee.critical("Browser does not support MutationObserver; skipping session recording");return}var n=p.bind(function(){this._recorder=this._recorder||new R.__mp_recorder(this),this._recorder.startRecording()},this);p.isUndefined(R.__mp_recorder)?xo(this.get_config("recorder_src"),n):n()}),T.prototype.stop_session_recording=function(){this._recorder?this._recorder.stopRecording():ee.critical("Session recorder module not loaded")},T.prototype.get_session_recording_properties=function(){var n={};if(this._recorder){var e=this._recorder.replayId;e&&(n.$mp_replay_id=e)}return n},T.prototype._loaded=function(){if(this.get_config("loaded")(this),this._set_default_superprops(),this.people.set_once(this.persistence.get_referrer_info()),this.get_config("store_google")&&this.get_config("stop_utm_persistence")){var n=p.info.campaignParams(null);p.each(n,(function(e,t){this.unregister(t)}).bind(this))}},T.prototype._set_default_superprops=function(){this.persistence.update_search_keyword(oe.referrer),this.get_config("store_google")&&!this.get_config("stop_utm_persistence")&&this.register(p.info.campaignParams()),this.get_config("save_referrer")&&this.persistence.update_referrer_info(oe.referrer)},T.prototype._dom_loaded=function(){p.each(this.__dom_loaded_queue,function(n){this._track_dom.apply(this,n)},this),this.has_opted_out_tracking()||p.each(this.__request_queue,function(n){this._send_request.apply(this,n)},this),delete this.__dom_loaded_queue,delete this.__request_queue},T.prototype._track_dom=function(n,e){if(this.get_config("img"))return this.report_error("You can't use DOM tracking functions with img = true."),!1;if(!Eo)return this.__dom_loaded_queue.push([n,e]),!1;var t=new n().init(this);return t.track.apply(t,e)},T.prototype._init_url_change_tracking=function(n){var e="",t=this.track_pageview();if(t&&(e=p.info.currentUrl()),p.include(["full-url","url-with-path-and-query-string","url-with-path"],n)){R.addEventListener("popstate",function(){R.dispatchEvent(new Event("mp_locationchange"))}),R.addEventListener("hashchange",function(){R.dispatchEvent(new Event("mp_locationchange"))});var i=R.history.pushState;typeof i=="function"&&(R.history.pushState=function(o,a,l){i.call(R.history,o,a,l),R.dispatchEvent(new Event("mp_locationchange"))});var s=R.history.replaceState;typeof s=="function"&&(R.history.replaceState=function(o,a,l){s.call(R.history,o,a,l),R.dispatchEvent(new Event("mp_locationchange"))}),R.addEventListener("mp_locationchange",(function(){var o=p.info.currentUrl(),a=!1;if(n==="full-url"?a=o!==e:n==="url-with-path-and-query-string"?a=o.split("#")[0]!==e.split("#")[0]:n==="url-with-path"&&(a=o.split("#")[0].split("?")[0]!==e.split("#")[0].split("?")[0]),a){var l=this.track_pageview();l&&(e=o)}}).bind(this))}},T.prototype._prepare_callback=function(n,e){if(p.isUndefined(n))return null;if(it){var t=function(a){n(a,e)};return t}else{var i=this._jsc,s=""+Math.floor(Math.random()*1e8),o=this.get_config("callback_fn")+"["+s+"]";return i[s]=function(a){delete i[s],n(a,e)},o}},T.prototype._send_request=function(n,e,t,i){var s=!0;if(Lo)return this.__request_queue.push(arguments),s;var o={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")},a=null;!i&&(p.isFunction(t)||typeof t=="string")&&(i=t,t=null),t=p.extend(o,t||{}),it||(t.method="GET");var l=t.method==="POST",c=$t&&l&&t.transport.toLowerCase()==="sendbeacon",v=t.verbose;e.verbose&&(v=!0),this.get_config("test")&&(e.test=1),v&&(e.verbose=1),this.get_config("img")&&(e.img=1),it||(i?e.callback=i:(v||this.get_config("test"))&&(e.callback="(function(){})")),e.ip=this.get_config("ip")?1:0,e._=new Date().getTime().toString(),l&&(a="data="+encodeURIComponent(e.data),delete e.data),n+="?"+p.HTTPBuildQuery(e);var m=this;if("img"in e){var f=oe.createElement("img");f.src=n,oe.body.appendChild(f)}else if(c){try{s=$t(n,a)}catch(x){m.report_error(x),s=!1}try{i&&i(s?1:0)}catch(x){m.report_error(x)}}else if(it)try{var b=new XMLHttpRequest;b.open(t.method,n,!0);var g=this.get_config("xhr_headers");if(l&&(g["Content-Type"]="application/x-www-form-urlencoded"),p.each(g,function(x,M){b.setRequestHeader(M,x)}),t.timeout_ms&&typeof b.timeout<"u"){b.timeout=t.timeout_ms;var w=new Date().getTime()}b.withCredentials=!0,b.onreadystatechange=function(){if(b.readyState===4)if(b.status===200){if(i)if(v){var x;try{x=p.JSONDecode(b.responseText)}catch(P){if(m.report_error(P),t.ignore_json_errors)x=b.responseText;else return}i(x)}else i(Number(b.responseText))}else{var M;if(b.timeout&&!b.status&&new Date().getTime()-w>=b.timeout?M="timeout":M="Bad HTTP status: "+b.status+" "+b.statusText,m.report_error(M),i)if(v){var L=b.responseHeaders||{};i({status:0,httpStatusCode:b.status,error:M,retryAfter:L["Retry-After"]})}else i(0)}},b.send(a)}catch(x){m.report_error(x),s=!1}else{var C=oe.createElement("script");C.type="text/javascript",C.async=!0,C.defer=!0,C.src=n;var k=oe.getElementsByTagName("script")[0];k.parentNode.insertBefore(C,k)}return s},T.prototype._execute_array=function(n){var e,t=[],i=[],s=[];p.each(n,function(a){a&&(e=a[0],p.isArray(e)?s.push(a):typeof a=="function"?a.call(this):p.isArray(a)&&e==="alias"?t.push(a):p.isArray(a)&&e.indexOf("track")!==-1&&typeof this[e]=="function"?s.push(a):i.push(a))},this);var o=function(a,l){p.each(a,function(c){if(p.isArray(c[0])){var v=l;p.each(c,function(m){v=v[m[0]].apply(v,m.slice(1))})}else this[c[0]].apply(this,c.slice(1))},l)};o(t,this),o(i,this),o(s,this)},T.prototype.are_batchers_initialized=function(){return!!this.request_batchers.events},T.prototype.get_batcher_configs=function(){var n="__mpq_"+this.get_config("token"),e=this.get_config("api_routes");return this._batcher_configs=this._batcher_configs||{events:{type:"events",endpoint:"/"+e.track,queue_key:n+"_ev"},people:{type:"people",endpoint:"/"+e.engage,queue_key:n+"_pp"},groups:{type:"groups",endpoint:"/"+e.groups,queue_key:n+"_gr"}},this._batcher_configs},T.prototype.init_batchers=function(){if(!this.are_batchers_initialized()){var n=p.bind(function(t){return new Je(t.queue_key,{libConfig:this.config,errorReporter:this.get_config("error_reporter"),sendRequestFunc:p.bind(function(i,s,o){this._send_request(this.get_config("api_host")+t.endpoint,this._encode_data_for_request(i),s,this._prepare_callback(o,i))},this),beforeSendHook:p.bind(function(i){return this._run_hook("before_send_"+t.type,i)},this),stopAllBatchingFunc:p.bind(this.stop_batch_senders,this),usePersistence:!0})},this),e=this.get_batcher_configs();this.request_batchers={events:n(e.events),people:n(e.people),groups:n(e.groups)}}this.get_config("batch_autostart")&&this.start_batch_senders()},T.prototype.start_batch_senders=function(){this._batchers_were_started=!0,this.are_batchers_initialized()&&(this._batch_requests=!0,p.each(this.request_batchers,function(n){n.start()}))},T.prototype.stop_batch_senders=function(){this._batch_requests=!1,p.each(this.request_batchers,function(n){n.stop(),n.clear()})},T.prototype.push=function(n){this._execute_array([n])},T.prototype.disable=function(n){typeof n>"u"?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(n)},T.prototype._encode_data_for_request=function(n){var e=p.JSONEncode(n);return this.get_config("api_payload_format")===Mo&&(e=p.base64Encode(e)),{data:e}},T.prototype._track_or_batch=function(n,e){var t=p.truncate(n.data,255),i=n.endpoint,s=n.batcher,o=n.should_send_immediately,a=n.send_request_options||{};e=e||St;var l=!0,c=p.bind(function(){return a.skip_hooks||(t=this._run_hook("before_send_"+n.type,t)),t?(ee.log("MIXPANEL REQUEST:"),ee.log(t),this._send_request(i,this._encode_data_for_request(t),a,this._prepare_callback(e,t))):null},this);return this._batch_requests&&!o?s.enqueue(t,function(v){v?e(1,t):c()}):l=c(),l&&t},T.prototype.track=kn(function(n,e,t,i){!i&&typeof t=="function"&&(i=t,t=null),t=t||{};var s=t.transport;s&&(t.transport=s);var o=t.send_immediately;if(typeof i!="function"&&(i=St),p.isUndefined(n)){this.report_error("No event name provided to mixpanel.track");return}if(this._event_is_disabled(n)){i(0);return}e=p.extend({},e),e.token=this.get_config("token");var a=this.persistence.remove_event_timer(n);if(!p.isUndefined(a)){var l=new Date().getTime()-a;e.$duration=parseFloat((l/1e3).toFixed(3))}this._set_default_superprops();var c=this.get_config("track_marketing")?p.info.marketingParams():{};e=p.extend({},p.info.properties({mp_loader:this.get_config("mp_loader")}),c,this.persistence.properties(),this.unpersisted_superprops,this.get_session_recording_properties(),e);var v=this.get_config("property_blacklist");p.isArray(v)?p.each(v,function(b){delete e[b]}):this.report_error("Invalid value for property_blacklist config: "+v);var m={event:n,properties:e},f=this._track_or_batch({type:"events",data:m,endpoint:this.get_config("api_host")+"/"+this.get_config("api_routes").track,batcher:this.request_batchers.events,should_send_immediately:o,send_request_options:t},i);return f}),T.prototype.set_group=kn(function(n,e,t){p.isArray(e)||(e=[e]);var i={};return i[n]=e,this.register(i),this.people.set(n,e,t)}),T.prototype.add_group=kn(function(n,e,t){var i=this.get_property(n),s={};return i===void 0?(s[n]=[e],this.register(s)):i.indexOf(e)===-1&&(i.push(e),s[n]=i,this.register(s)),this.people.union(n,e,t)}),T.prototype.remove_group=kn(function(n,e,t){var i=this.get_property(n);if(i!==void 0){var s=i.indexOf(e);s>-1&&(i.splice(s,1),this.register({group_key:i})),i.length===0&&this.unregister(n)}return this.people.remove(n,e,t)}),T.prototype.track_with_groups=kn(function(n,e,t,i){var s=p.extend({},e||{});return p.each(t,function(o,a){o!=null&&(s[a]=o)}),this.track(n,s,i)}),T.prototype._create_map_key=function(n,e){return n+"_"+JSON.stringify(e)},T.prototype._remove_group_from_cache=function(n,e){delete this._cached_groups[this._create_map_key(n,e)]},T.prototype.get_group=function(n,e){var t=this._create_map_key(n,e),i=this._cached_groups[t];return(i===void 0||i._group_key!==n||i._group_id!==e)&&(i=new le,i._init(this,n,e),this._cached_groups[t]=i),i},T.prototype.track_pageview=kn(function(n,e){typeof n!="object"&&(n={}),e=e||{};var t=e.event_name||"$mp_web_page_view",i=p.extend(p.info.mpPageViewProperties(),p.info.campaignParams(),p.info.clickParams()),s=p.extend({},i,n);return this.track(t,s)}),T.prototype.track_links=function(){return this._track_dom.call(this,nt,arguments)},T.prototype.track_forms=function(){return this._track_dom.call(this,Yt,arguments)},T.prototype.time_event=function(n){if(p.isUndefined(n)){this.report_error("No event name provided to mixpanel.time_event");return}this._event_is_disabled(n)||this.persistence.set_event_timer(n,new Date().getTime())};var Il={persistent:!0},as=function(n){var e;return p.isObject(n)?e=n:p.isUndefined(n)?e={}:e={days:n},p.extend({},Il,e)};T.prototype.register=function(n,e){var t=as(e);t.persistent?this.persistence.register(n,t.days):p.extend(this.unpersisted_superprops,n)},T.prototype.register_once=function(n,e,t){var i=as(t);i.persistent?this.persistence.register_once(n,e,i.days):(typeof e>"u"&&(e="None"),p.each(n,function(s,o){(!this.unpersisted_superprops.hasOwnProperty(o)||this.unpersisted_superprops[o]===e)&&(this.unpersisted_superprops[o]=s)},this))},T.prototype.unregister=function(n,e){e=as(e),e.persistent?this.persistence.unregister(n):delete this.unpersisted_superprops[n]},T.prototype._register_single=function(n,e){var t={};t[n]=e,this.register(t)},T.prototype.identify=function(n,e,t,i,s,o,a,l){var c=this.get_distinct_id();if(n&&c!==n){if(typeof n=="string"&&n.indexOf(ss)===0)return this.report_error("distinct_id cannot have $device: prefix"),-1;this.register({$user_id:n})}if(!this.get_property("$device_id")){var v=c;this.register_once({$had_persisted_distinct_id:!0,$device_id:v},"")}n!==c&&n!==this.get_property(Xt)&&(this.unregister(Xt),this.register({distinct_id:n})),this._flags.identify_called=!0,this.people._flush(e,t,i,s,o,a,l),n!==c&&this.track("$identify",{distinct_id:n,$anon_distinct_id:c},{skip_hooks:!0})},T.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1;var n=p.UUID();this.register_once({distinct_id:ss+n,$device_id:n},"")},T.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},T.prototype.alias=function(n,e){if(n===this.get_property(So))return this.report_error("Attempting to create alias for existing People user - aborting."),-2;var t=this;return p.isUndefined(e)&&(e=this.get_distinct_id()),n!==e?(this._register_single(Xt,n),this.track("$create_alias",{alias:n,distinct_id:e},{skip_hooks:!0},function(){t.identify(n)})):(this.report_error("alias matches current distinct_id - skipping api call."),this.identify(n),-1)},T.prototype.name_tag=function(n){this._register_single("mp_name_tag",n)},T.prototype.set_config=function(n){if(p.isObject(n)){p.extend(this.config,n);var e=n.batch_size;e&&p.each(this.request_batchers,function(t){t.resetBatchSize()}),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),dn.DEBUG=dn.DEBUG||this.get_config("debug")}},T.prototype.get_config=function(n){return this.config[n]},T.prototype._run_hook=function(n){var e=(this.config.hooks[n]||El).apply(this,Cn.call(arguments,1));return typeof e>"u"&&(this.report_error(n+" hook did not return a value"),e=null),e},T.prototype.get_property=function(n){return this.persistence.load_prop([n])},T.prototype.toString=function(){var n=this.get_config("name");return n!==ze&&(n=ze+"."+n),n},T.prototype._event_is_disabled=function(n){return p.isBlockedUA(nn)||this._flags.disable_all_events||p.include(this.__disabled_events,n)},T.prototype._gdpr_init=function(){var n=this.get_config("opt_out_tracking_persistence_type")==="localStorage";n&&p.localStorage.is_supported()&&(!this.has_opted_in_tracking()&&this.has_opted_in_tracking({persistence_type:"cookie"})&&this.opt_in_tracking({enable_persistence:!1}),!this.has_opted_out_tracking()&&this.has_opted_out_tracking({persistence_type:"cookie"})&&this.opt_out_tracking({clear_persistence:!1}),this.clear_opt_in_out_tracking({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_tracking()?this._gdpr_update_persistence({clear_persistence:!0}):!this.has_opted_in_tracking()&&(this.get_config("opt_out_tracking_by_default")||p.cookie.get("mp_optout"))&&(p.cookie.remove("mp_optout"),this.opt_out_tracking({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},T.prototype._gdpr_update_persistence=function(n){var e;if(n&&n.clear_persistence)e=!0;else if(n&&n.enable_persistence)e=!1;else return;!this.get_config("disable_persistence")&&this.persistence.disabled!==e&&this.persistence.set_disabled(e),e?this.stop_batch_senders():this._batchers_were_started&&this.start_batch_senders()},T.prototype._gdpr_call_func=function(n,e){return e=p.extend({track:p.bind(this.track,this),persistence_type:this.get_config("opt_out_tracking_persistence_type"),cookie_prefix:this.get_config("opt_out_tracking_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_site_cookie:this.get_config("cross_site_cookie"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),cookie_domain:this.get_config("cookie_domain"),secure_cookie:this.get_config("secure_cookie"),ignore_dnt:this.get_config("ignore_dnt")},e),p.localStorage.is_supported()||(e.persistence_type="cookie"),n(this.get_config("token"),{track:e.track,trackEventName:e.track_event_name,trackProperties:e.track_properties,persistenceType:e.persistence_type,persistencePrefix:e.cookie_prefix,cookieDomain:e.cookie_domain,cookieExpiration:e.cookie_expiration,crossSiteCookie:e.cross_site_cookie,crossSubdomainCookie:e.cross_subdomain_cookie,secureCookie:e.secure_cookie,ignoreDnt:e.ignore_dnt})},T.prototype.opt_in_tracking=function(n){n=p.extend({enable_persistence:!0},n),this._gdpr_call_func(fl,n),this._gdpr_update_persistence(n)},T.prototype.opt_out_tracking=function(n){n=p.extend({clear_persistence:!0,delete_user:!0},n),n.delete_user&&this.people&&this.people._identify_called()&&(this.people.delete_user(),this.people.clear_charges()),this._gdpr_call_func(gl,n),this._gdpr_update_persistence(n)},T.prototype.has_opted_in_tracking=function(n){return this._gdpr_call_func(yl,n)},T.prototype.has_opted_out_tracking=function(n){return this._gdpr_call_func(po,n)},T.prototype.clear_opt_in_out_tracking=function(n){n=p.extend({enable_persistence:!0},n),this._gdpr_call_func(Cl,n),this._gdpr_update_persistence(n)},T.prototype.report_error=function(n,e){ee.error.apply(ee.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(t){ee.error(t)}},T.prototype.init=T.prototype.init,T.prototype.reset=T.prototype.reset,T.prototype.disable=T.prototype.disable,T.prototype.time_event=T.prototype.time_event,T.prototype.track=T.prototype.track,T.prototype.track_links=T.prototype.track_links,T.prototype.track_forms=T.prototype.track_forms,T.prototype.track_pageview=T.prototype.track_pageview,T.prototype.register=T.prototype.register,T.prototype.register_once=T.prototype.register_once,T.prototype.unregister=T.prototype.unregister,T.prototype.identify=T.prototype.identify,T.prototype.alias=T.prototype.alias,T.prototype.name_tag=T.prototype.name_tag,T.prototype.set_config=T.prototype.set_config,T.prototype.get_config=T.prototype.get_config,T.prototype.get_property=T.prototype.get_property,T.prototype.get_distinct_id=T.prototype.get_distinct_id,T.prototype.toString=T.prototype.toString,T.prototype.opt_out_tracking=T.prototype.opt_out_tracking,T.prototype.opt_in_tracking=T.prototype.opt_in_tracking,T.prototype.has_opted_out_tracking=T.prototype.has_opted_out_tracking,T.prototype.has_opted_in_tracking=T.prototype.has_opted_in_tracking,T.prototype.clear_opt_in_out_tracking=T.prototype.clear_opt_in_out_tracking,T.prototype.get_group=T.prototype.get_group,T.prototype.set_group=T.prototype.set_group,T.prototype.add_group=T.prototype.add_group,T.prototype.remove_group=T.prototype.remove_group,T.prototype.track_with_groups=T.prototype.track_with_groups,T.prototype.start_batch_senders=T.prototype.start_batch_senders,T.prototype.stop_batch_senders=T.prototype.stop_batch_senders,T.prototype.start_session_recording=T.prototype.start_session_recording,T.prototype.stop_session_recording=T.prototype.stop_session_recording,T.prototype.get_session_recording_properties=T.prototype.get_session_recording_properties,T.prototype.DEFAULT_API_ROUTES=To,G.prototype.properties=G.prototype.properties,G.prototype.update_search_keyword=G.prototype.update_search_keyword,G.prototype.update_referrer_info=G.prototype.update_referrer_info,G.prototype.get_cross_subdomain=G.prototype.get_cross_subdomain,G.prototype.clear=G.prototype.clear;var st={},Dl=function(){p.each(st,function(n,e){e!==ze&&(Le[e]=n)}),Le._=p},Bl=function(){Le.init=function(n,e,t){if(t)return Le[t]||(Le[t]=st[t]=os(n,e,t),Le[t]._loaded()),Le[t];var i=Le;st[ze]?i=st[ze]:n&&(i=os(n,e,ze),i._loaded(),st[ze]=i),Le=i,is===_l&&(R[ze]=Le),Dl()}},Nl=function(){function n(){n.done||(n.done=!0,Eo=!0,Lo=!1,p.each(st,function(i){i._dom_loaded()}))}function e(){try{oe.documentElement.doScroll("left")}catch{setTimeout(e,1);return}n()}if(oe.addEventListener)oe.readyState==="complete"?n():oe.addEventListener("DOMContentLoaded",n,!1);else if(oe.attachEvent){oe.attachEvent("onreadystatechange",n);var t=!1;try{t=R.frameElement===null}catch{}oe.documentElement.doScroll&&t&&e()}p.register_event(R,"load",n,!0)};function Hl(n){return xo=n,is=Ao,Le=new T,Bl(),Le.init(),Nl(),Le}function Rl(n,e){e()}var E=Hl(Rl);const Po=`<div id="checkoutConfirmationEnd">
|
|
1003
1021
|
<div class="w-full">
|
|
1004
1022
|
<div id="otp-content" class=" grid gap-4">
|
|
1005
1023
|
<h5 class="text-black" id="otp-message">
|
|
@@ -1025,7 +1043,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1025
1043
|
</div>
|
|
1026
1044
|
</div>
|
|
1027
1045
|
</div>
|
|
1028
|
-
</div>`;class
|
|
1046
|
+
</div>`;class Io{constructor(e){u(this,"container");u(this,"onAction");u(this,"callBackUrl");u(this,"paymentResponse");u(this,"paymentResponseHeaders");u(this,"paymentMethod");this.container=e.container,this.onAction=e.onAction,this.callBackUrl=e.callBackUrl,this.paymentResponse=e.paymentResponse,this.paymentResponseHeaders=e.paymentResponseHeaders,this.paymentMethod=e.paymentMethod}attachListeners(){const e=this.container.querySelector("#goback-to-merchant"),t=this.container.querySelector("#mobile-money-button-text"),i=this.container.querySelector("#long-processing-text"),s=this.container.querySelector("#confirmed-text");i&&(i.innerHTML=D["long-processing"]),s&&(s.innerHTML=D["once-confirmed"]),t&&(t.innerHTML=Q["merchant-back"]),e&&e.addEventListener("click",()=>{var o;E.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(o=this.paymentResponse)==null?void 0:o.status}),Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)})}renderComponent(){var e;this.container.innerHTML=this.render(),E.track("payment_timeout",{payment_method:this.paymentMethod,status:(e=this.paymentResponse)==null?void 0:e.status}),this.attachListeners()}render(){return Po}}const Ol=`<div id="confirmationProgress">
|
|
1029
1047
|
<div class="min-h-[20dvh]">
|
|
1030
1048
|
<div>
|
|
1031
1049
|
<div class="grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
@@ -1054,7 +1072,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1054
1072
|
|
|
1055
1073
|
</div>
|
|
1056
1074
|
</div>
|
|
1057
|
-
</div>`;class
|
|
1075
|
+
</div>`;class Ul{constructor(e){u(this,"container");u(this,"onAction");u(this,"onSuccess");u(this,"ref");u(this,"token");u(this,"initialTime",300);u(this,"abortController");u(this,"timeLeft");u(this,"timer");u(this,"timerId",null);u(this,"rdtCode");u(this,"url");u(this,"callBackUrl");u(this,"setPaymentResponses");u(this,"step");u(this,"paymentMethod");this.container=e.container,this.timeLeft=this.initialTime,this.onAction=e.onAction,this.ref=e.ref,this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.onSuccess=e.onSuccess,this.callBackUrl=e.callBackUrl,this.setPaymentResponses=e.setPaymentResponses,this.step=e.step,this.paymentMethod=e.paymentMethod}attachListeners(){const e=this.container.querySelector("#confirming-txn-status"),t=this.container.querySelector("#confirming-txn-status-end-text"),i=this.container.querySelector("#please-wait-text"),s=this.container.querySelector("#minutes-text");e&&(e.innerHTML=D["confirming-txn-status"]),t&&(t.innerHTML=D["few-minutes"]),i&&(i.innerHTML=D["please-wait-for"]),s&&(s.innerHTML=D.minutes),this.initialTime=300,this.timeLeft=this.initialTime;const o=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyCardPayment(this.token,o,({data:a,headers:l})=>{this.onAction(this.step.success),this.redirectTo(a,l,"success")},()=>{this.onAction(this.step.failed)})},5e3),this.startTimer()}async verifyCardPayment(e,t,i,s){let o=0,a=t,l=!0,c;this.abortController&&(c=this.abortController.signal);const v=async()=>{if(this.timeLeft<=0){l=!1,this.onAction(this.step.end);return}o+=1;try{const m=await on(e,this.ref,c,this.rdtCode,this.url);m.data.status==="failed"&&(l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),this.setPaymentResponses(m.data,m.headers),E.track("verify_payment",{payment_method:this.paymentMethod,verification_status:"Failed"}),s(m)),m.data.status==="inProgress"&&(l&&(a=t*(o+1),this.timer=setTimeout(v,a)),this.setPaymentResponses(m.data,m.headers)),(m.data.status==="success"||m.data.status==="successful")&&(this.setPaymentResponses(m.data,m.headers),l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),E.track("verify_payment",{payment_method:this.paymentMethod,verification_status:"Success"}),i(m))}catch{l&&(a=t*(o+1),this.timer=setTimeout(v,a))}};v()}redirectTo(e,t,i){const s=t.get("spf-redirect-url");this.callBackUrl=s||this.callBackUrl,this.callBackUrl?setTimeout(()=>{const o=new URL(this.callBackUrl);o.searchParams.append("status",e.status),o.searchParams.append("reference",e.reference),window.location.href=o.toString()},1800):i==="success"&&this.onSuccess(e)}startTimer(){const e=this.container.querySelector("#ctd-timer");this.stopTimer(),this.timerId=window.setInterval(()=>{this.timeLeft>0?(this.timeLeft-=1,e&&(e.innerHTML=dt(this.timeLeft),this.startTimer())):(this.stopTimer(),this.onAction(this.step.end))},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}renderComponent(){this.container.innerHTML=this.render(),this.attachListeners()}render(){return Ol}}const Vl=`<div class="flex items-center justify-center md:justify-between w-full text-xxs mt-5">
|
|
1058
1076
|
<div class="text-tone-60"><span id="powered-by-text"></span> <span class="font-bold">Spotflow</span></div>
|
|
1059
1077
|
<div class="align-center text-tone-60 hidden md:flex gap-4">
|
|
1060
1078
|
<span id="test-cards-link" class="hover:font-bold"></span>
|
|
@@ -1062,7 +1080,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1062
1080
|
<a href="https://spotflowone.notion.site/Privacy-Policy-Spotflow-3997ee8d923d4cd39a3dc43b7249b713?pvs=73" target="_blank" class="hover:font-bold" id="privacy-text"></a>
|
|
1063
1081
|
<a href="mailto:hello@spotflow.one" class="hover:font-bold" id="contact-text"></a>
|
|
1064
1082
|
</div>
|
|
1065
|
-
</div>`,
|
|
1083
|
+
</div>`,Kl=`<div class="box-container flex-1">
|
|
1066
1084
|
<!-- test-cards.html -->
|
|
1067
1085
|
<div class="bg-gray-100 py-2 px-4 rounded-lg mt-4 relative">
|
|
1068
1086
|
<div class="flex items-start gap-4 mb-4">
|
|
@@ -1396,15 +1414,15 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1396
1414
|
</div>
|
|
1397
1415
|
</div>
|
|
1398
1416
|
</div>
|
|
1399
|
-
</div>`;let A={};const
|
|
1417
|
+
</div>`;let A={};const Do=(n,e)=>{const t=gn.find(i=>i.name===(e||n));return A=t||gn[0],t};class Bo{constructor({container:e,closeCallback:t}){u(this,"container");u(this,"closeCallback");u(this,"mainLoader");this.container=e,this.closeCallback=t}render(){return Kl}attachListener(){const e=this.container.querySelector("#close-test-card");e==null||e.addEventListener("click",()=>this.closeCallback());const t=this.container.querySelectorAll("#test-card-tabs .tab-btn"),i=this.container.querySelector("#no-auth-text"),s=this.container.querySelectorAll(".number-text"),o=this.container.querySelectorAll(".expiry-text"),a=this.container.querySelector("#address-text"),l=this.container.querySelector("#city-text"),c=this.container.querySelector("#state-text"),v=this.container.querySelector("#country-text"),m=this.container.querySelector("#zip-text");i&&(i.innerHTML=rn["no-auth"]),s.forEach(g=>{g.innerHTML=rn.number}),o.forEach(g=>{g.innerHTML=rn.expiry}),a&&(a.innerHTML=rn.address),l&&(l.innerHTML=rn.city),c&&(c.innerHTML=rn.state),v&&(v.innerHTML=rn.country),m&&(m.innerHTML=rn.zip);const f=this.container.querySelectorAll(".tab-content");t.forEach(g=>{g.addEventListener("click",()=>{t.forEach(C=>C.classList.remove("active-tab")),g.classList.add("active-tab");const w=g.getAttribute("data-target");f.forEach(C=>{C.id===w?C.classList.remove("hidden"):C.classList.add("hidden")})})}),this.container.querySelectorAll(".copy-btn").forEach(g=>{g.addEventListener("click",async w=>{const k=w.currentTarget.previousElementSibling.getAttribute("data-copy-value")||"";k&&(await navigator.clipboard.writeText(k),g.innerHTML='<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H7V13H3.5C3.22386 13 3 12.7761 3 12.5V2.5C3 2.22386 3.22386 2 3.5 2H4V2.25C4 2.66421 4.33579 3 4.75 3H10.25C10.6642 3 11 2.66421 11 2.25V2H11.5C11.7761 2 12 2.22386 12 2.5V7H13V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM9 8.5C9 8.77614 8.77614 9 8.5 9C8.22386 9 8 8.77614 8 8.5C8 8.22386 8.22386 8 8.5 8C8.77614 8 9 8.22386 9 8.5ZM10.5 9C10.7761 9 11 8.77614 11 8.5C11 8.22386 10.7761 8 10.5 8C10.2239 8 10 8.22386 10 8.5C10 8.77614 10.2239 9 10.5 9ZM13 8.5C13 8.77614 12.7761 9 12.5 9C12.2239 9 12 8.77614 12 8.5C12 8.22386 12.2239 8 12.5 8C12.7761 8 13 8.22386 13 8.5ZM14.5 9C14.7761 9 15 8.77614 15 8.5C15 8.2239 14.7761 8 14.5 8C14.2239 8 14 8.22386 14 8.5C14 8.77614 14.2239 9 14.5 9ZM15 10.5C15 10.7761 14.7761 11 14.5 11C14.2239 11 14 10.7761 14 10.5C14 10.2239 14.2239 10 14.5 10C14.7761 10 15 10.2239 15 10.5ZM14.5 13C14.7761 13 15 12.7761 15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5C14 12.7761 14.2239 13 14.5 13ZM14.5 15C14.7761 15 15 14.7761 15 14.5C15 14.2239 14.7761 14 14.5 14C14.2239 14 14 14.2239 14 14.5C14 14.7761 14.2239 15 14.5 15ZM8.5 11C8.77614 11 9 10.7761 9 10.5C9 10.2239 8.77614 10 8.5 10C8.22386 10 8 10.2239 8 10.5C8 10.7761 8.22386 11 8.5 11ZM9 12.5C9 12.7761 8.77614 13 8.5 13C8.22386 13 8 12.7761 8 12.5C8 12.2239 8.22386 12 8.5 12C8.77614 12 9 12.2239 9 12.5ZM8.5 15C8.77614 15 9 14.7761 9 14.5C9 14.2239 8.77614 14 8.5 14C8.22386 14 8 14.2239 8 14.5C8 14.7761 8.22386 15 8.5 15ZM11 14.5C11 14.7761 10.7761 15 10.5 15C10.2239 15 10 14.7761 10 14.5C10 14.2239 10.2239 14 10.5 14C10.7761 14 11 14.2239 11 14.5ZM12.5 15C12.7761 15 13 14.7761 13 14.5C13 14.2239 12.7761 14 12.5 14C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg>',setTimeout(()=>{g.innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1400
1418
|
<path
|
|
1401
1419
|
d="M4.66667 3.99992V1.99992C4.66667 1.82311 4.7369 1.65354 4.86193 1.52851C4.98695 1.40349 5.15652 1.33325 5.33333 1.33325H13.3333C13.5101 1.33325 13.6797 1.40349 13.8047 1.52851C13.9298 1.65354 14 1.82311 14 1.99992V11.3333C14 11.5101 13.9298 11.6796 13.8047 11.8047C13.6797 11.9297 13.5101 11.9999 13.3333 11.9999H11.3333V13.9999C11.3333 14.3679 11.0333 14.6666 10.662 14.6666H2.67133C2.58342 14.6671 2.49626 14.6503 2.41488 14.617C2.3335 14.5837 2.25949 14.5347 2.19711 14.4728C2.13472 14.4108 2.0852 14.3372 2.05137 14.256C2.01754 14.1749 2.00009 14.0878 2 13.9999L2.002 4.66659C2.002 4.29859 2.302 3.99992 2.67333 3.99992H4.66667ZM3.33533 5.33325L3.33333 13.3333H10V5.33325H3.33533ZM6 3.99992H11.3333V10.6666H12.6667V2.66659H6V3.99992Z"
|
|
1402
1420
|
fill="#0D0716" />
|
|
1403
|
-
</svg>`},1e3))})})}renderComponent(e){(A==null?void 0:A.language)!=="en"&&e===1?(this.mainLoader=new Te(this.container),this.mainLoader.mountLoader("15dvh"),this.renderTranslatedText().then(()=>{this.mainLoader.unmountLoader(),this.container.innerHTML=this.render(),this.attachListener()})):(this.container.innerHTML=this.render(),this.attachListener())}async renderTranslatedText(){await Ca(A==null?void 0:A.language)}}function Dl(n){n.classList.remove("hidden"),requestAnimationFrame(()=>{n.classList.remove("opacity-0","scale-95")})}function Jt(n){n.classList.add("opacity-0","scale-95"),n.addEventListener("transitionend",()=>n.classList.add("hidden"),{once:!0})}class Ms{constructor({container:e,testCardContainer:t,keyEnvironment:i}){h(this,"container");h(this,"testCardContainer");h(this,"testCardInstance",null);h(this,"keyEnvironment",null);h(this,"isVisible",!1);h(this,"mainLoader");h(this,"testCardClicks");this.container=e,this.testCardContainer=t,this.keyEnvironment=i,this.isVisible=!1,this.testCardClicks=0}attachListener(){const e=this.container.querySelector("#test-cards-link"),t=this.container.querySelector("#terms-text"),i=this.container.querySelector("#privacy-text"),o=this.container.querySelector("#contact-text"),s=this.container.querySelector("#powered-by-text");if(t&&(t.innerHTML=ne.terms),i&&(i.innerHTML=ne.privacy),o&&(o.innerHTML=ne.contact),s&&(s.innerHTML=ne.powered),!!e){if(e.innerHTML=ne["test-card"],this.keyEnvironment!=="test"){e.classList.add("hidden");return}e.addEventListener("click",async()=>{this.testCardClicks=this.testCardClicks+1,this.testCardInstance||(this.testCardInstance=new _s({container:this.testCardContainer,closeCallback:()=>{this.testCardContainer.innerHTML="",Jt(this.testCardContainer),e.classList.remove("text-tone-100","font-bold"),this.isVisible=!1}})),this.testCardInstance.renderComponent(this.testCardClicks),Dl(this.testCardContainer),e.classList.add("text-tone-100","font-bold"),this.isVisible=!0})}}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return El}}function $t(){return{httpBrowserLanguage:navigator.language||"en-US",httpBrowserJavaEnabled:!1,httpBrowserJavaScriptEnabled:!0,httpBrowserColorDepth:window.screen.colorDepth.toString(),httpBrowserScreenHeight:window.screen.height.toString(),httpBrowserScreenWidth:window.screen.width.toString(),httpBrowserTimeDifference:(-new Date().getTimezoneOffset()).toString(),userAgentBrowserValue:navigator.userAgent,deviceChannel:"Browser"}}function xn(n,e){return e&&e!==n?e:n}class Il{constructor({amount:e,totalAmount:t,container:i,customer:o,encryption:s,planId:a,token:l,currency:d,rdtCode:v,url:m,reference:g,onSuccess:b,callBackUrl:f,metadata:C,localCurrency:w,hidePaymentMethods:k,showPaymentMethods:x,onClose:M,restartTransactionProcess:_,retryingPayment:E,keys:H,testcardIsVisible:G}){h(this,"contents");h(this,"cardDetailForm");h(this,"cardOtpValidationForm");h(this,"merchantPlanDetail",{});h(this,"cardPinForm");h(this,"avsForm");h(this,"isw3dsForm");h(this,"successScreen");h(this,"pageLoader");h(this,"warningScreen");h(this,"transactionIssuesScreen");h(this,"container");h(this,"onSuccess");h(this,"planId","");h(this,"customer");h(this,"token");h(this,"amount");h(this,"totalAmount");h(this,"encryption");h(this,"currency");h(this,"_currentStep");h(this,"activeRef");h(this,"rdtCode");h(this,"url");h(this,"reference");h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"hidePaymentMethods");h(this,"showPaymentMethods");h(this,"onClose");h(this,"cardResponse");h(this,"cardResponseHeader");h(this,"confirmationEnd");h(this,"confirmationProgress");h(this,"restartTransactionProcess");h(this,"retryingPayment");h(this,"isMaxRetriesReached");h(this,"isCancelledPlan");h(this,"isMobile",!1);h(this,"keys");h(this,"testcardIsVisible",!1);h(this,"errorText");h(this,"otpMessage");h(this,"rawAvsData");h(this,"translatedAvsData");this.currency=d,this.onSuccess=b||(()=>null),this.keys=H,this.testcardIsVisible=G,this.container=i,this.encryption=s,this.token=l,this.customer=o,this.planId=a,this.amount=e,this.totalAmount=t,this.rdtCode=v,this.url=m,this.reference=g,this.callBackUrl=f,this.metadata=C,this.localCurrency=w,this._currentStep=1,this.activeRef="",this.contents=this.container.querySelector("#payment-content-view"),this.cardResponse={},this.cardResponseHeader={},this.hidePaymentMethods=k,this.showPaymentMethods=x,this.onClose=M,this.restartTransactionProcess=_,this.retryingPayment=E,this.isMaxRetriesReached=!1,this.isCancelledPlan=!1,this.errorText="",this.otpMessage="",this.renderCardContent(),this.rawAvsData={"billing-address":"Billing address",address:"Address",city:"City",state:"State",country:"Country","zip-code":"Zip code",submit:"Submit"},this.translatedAvsData=this.rawAvsData,P.track("card_opens",{payment_method:"Card"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderCardContent()}fetchCurrentRegionDetails(){const e=this.localCurrency?this.localCurrency!==this.currency?this.localCurrency:this.currency:this.currency;return xs(e)}cancellledPlanAction(){if(this.rdtCode)window.history.back();else{const e=document.getElementById("checkout-modal");e&&e.remove()}}async renderTranslatedText(e){if(Array.isArray(e)){const t=await $(e,A==null?void 0:A.language);this.translatedAvsData=t.reduce((i,o,s)=>{const a=Object.keys(this.rawAvsData)[s];return i[a]=o,i},{})}else if(e){const t=await $(e,A==null?void 0:A.language);this.otpMessage=t}else this.otpMessage=""}showLoader(){this.pageLoader=new Te(this.contents),this.pageLoader.mountLoader()}async submitCardDetails(e,t){e.preventDefault(),P.track("input_cardDetails",{payment_method:"Card",authentication_type:"None"});const i=this.container.querySelector(".spinner"),o=this.container.querySelector("#details-form-button-text"),s=await _a(JSON.stringify(t),this.encryption);i&&o&&(i.classList.remove("hidden"),o.classList.add("hidden"));const a=$t();(()=>{var d;if(this.retryingPayment){const v={channel:"card",reference:this.reference,encryptedCard:s};return Ct(this.token,v,this.rdtCode,this.url)}else{const v={amount:this.amount,channel:"card",currency:this.currency,planId:this.planId,customer:this.customer,reference:this.reference,encryptedCard:s,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((d=this.merchantPlanDetail)==null?void 0:d.taxQuoteId)&&{taxQuoteId:this.merchantPlanDetail.taxQuoteId},deviceInformation:a};return na(this.token,v,this.rdtCode,this.url)}})().then(async({data:d,headers:v})=>{var m,g,b,f,C,w,k,x;if(d.providerMessage){const M=await $(d.providerMessage,A==null?void 0:A.language);this.errorText=M}if(d.status==="failed")this.currentStep=4,this.reference=d.reference,P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"None"}),this.cardResponse=d,this.cardResponseHeader=v,d.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue();else if(!["success","successful"].includes(d.status)&&d.status!=="failed")if(this.cardResponse=d,this.cardResponseHeader=v,d!=null&&d.authorization){if(this.activeRef=d.reference,((m=d==null?void 0:d.authorization)==null?void 0:m.mode)==="pin"){this.currentStep=2;return}if(((g=d==null?void 0:d.authorization)==null?void 0:g.mode)==="3DS"){(b=d==null?void 0:d.authorization)!=null&&b.redirectUrl&&this.redirectTo3DS((f=d==null?void 0:d.authorization)==null?void 0:f.redirectUrl),(C=d==null?void 0:d.authorization)!=null&&C.embeddedHtml&&this.redirectToPreciumDoc((w=d==null?void 0:d.authorization)==null?void 0:w.embeddedHtml);return}if(((k=d==null?void 0:d.authorization)==null?void 0:k.mode)==="otp"){this.cardResponse=d,this.currentStep=3;return}if(((x=d==null?void 0:d.authorization)==null?void 0:x.mode)==="avs"){if((A==null?void 0:A.language)!=="en"){this.showLoader();const M=Object.values(this.rawAvsData);this.renderTranslatedText(M).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=7})}else this.currentStep=7;return}}else this.currentStep=4,d.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["error-with-payment"]),this.warningScreen.hideReportIssue();else["success","successful"].includes(d.status)&&(this.currentStep=5,this.cardResponse=d,this.cardResponseHeader=v,P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"None"}),this.redirectTo(d,v,"success"))}).catch(async d=>{if(P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"None"}),d.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,P.track("max_retries_reached",{payment_method:"Card"}),this.warningScreen.setPaymentError(I["maximum-retries"],I["maximum-retries-desc"],ne["merchant-back"]);else{if(d.message){const v=await $(d.message,A==null?void 0:A.language);this.errorText=v,d.code==="7137"?(this.isCancelledPlan=!0,this.currentStep=4,P.track("cancelled_plan",{payment_method:"Card"}),this.warningScreen.setPaymentError(this.errorText,"",ne["merchant-back"])):(this.currentStep=4,this.warningScreen.setPaymentError(this.errorText))}else this.currentStep=4,this.warningScreen.setPaymentError(I["payment-failed"]);this.warningScreen.hideReportIssue()}}).finally(()=>{i&&o&&(i.classList.add("hidden"),o.classList.remove("hidden"))})}handlePinRequest(e){if(e.length===4){const t={authorization:{pin:e},reference:this.activeRef};P.track("input_cardPin",{payment_method:"Card",authentication_type:"PIN"}),setTimeout(()=>{const i=this.container.querySelector("#pin-loader"),o=this.container.querySelector("#cancel-payment");i&&(i.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1421
|
+
</svg>`},1e3))})})}renderComponent(e){(A==null?void 0:A.language)!=="en"&&e===1?(this.mainLoader=new xe(this.container),this.mainLoader.mountLoader("15dvh"),this.renderTranslatedText().then(()=>{this.mainLoader.unmountLoader(),this.container.innerHTML=this.render(),this.attachListener()})):(this.container.innerHTML=this.render(),this.attachListener())}async renderTranslatedText(){await Ea(A==null?void 0:A.language)}}function Fl(n){n.classList.remove("hidden"),requestAnimationFrame(()=>{n.classList.remove("opacity-0","scale-95")})}function ei(n){n.classList.add("opacity-0","scale-95"),n.addEventListener("transitionend",()=>n.classList.add("hidden"),{once:!0})}class No{constructor({container:e,testCardContainer:t,keyEnvironment:i}){u(this,"container");u(this,"testCardContainer");u(this,"testCardInstance",null);u(this,"keyEnvironment",null);u(this,"isVisible",!1);u(this,"mainLoader");u(this,"testCardClicks");this.container=e,this.testCardContainer=t,this.keyEnvironment=i,this.isVisible=!1,this.testCardClicks=0}attachListener(){const e=this.container.querySelector("#test-cards-link"),t=this.container.querySelector("#terms-text"),i=this.container.querySelector("#privacy-text"),s=this.container.querySelector("#contact-text"),o=this.container.querySelector("#powered-by-text");if(t&&(t.innerHTML=Q.terms),i&&(i.innerHTML=Q.privacy),s&&(s.innerHTML=Q.contact),o&&(o.innerHTML=Q.powered),!!e){if(e.innerHTML=Q["test-card"],this.keyEnvironment!=="test"){e.classList.add("hidden");return}e.addEventListener("click",async()=>{this.testCardClicks=this.testCardClicks+1,this.testCardInstance||(this.testCardInstance=new Bo({container:this.testCardContainer,closeCallback:()=>{this.testCardContainer.innerHTML="",ei(this.testCardContainer),e.classList.remove("text-tone-100","font-bold"),this.isVisible=!1}})),this.testCardInstance.renderComponent(this.testCardClicks),Fl(this.testCardContainer),e.classList.add("text-tone-100","font-bold"),this.isVisible=!0})}}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return Vl}}function xt(){return{httpBrowserLanguage:navigator.language||"en-US",httpBrowserJavaEnabled:!1,httpBrowserJavaScriptEnabled:!0,httpBrowserColorDepth:window.screen.colorDepth.toString(),httpBrowserScreenHeight:window.screen.height.toString(),httpBrowserScreenWidth:window.screen.width.toString(),httpBrowserTimeDifference:(-new Date().getTimezoneOffset()).toString(),userAgentBrowserValue:navigator.userAgent,deviceChannel:"Browser"}}function Mn(n,e){return e&&e!==n?e:n}class Gl{constructor({amount:e,totalAmount:t,container:i,customer:s,encryption:o,planId:a,token:l,currency:c,rdtCode:v,url:m,reference:f,onSuccess:b,callBackUrl:g,metadata:w,localCurrency:C,hidePaymentMethods:k,showPaymentMethods:x,onClose:M,restartTransactionProcess:L,retryingPayment:P,keys:B,testcardIsVisible:j}){u(this,"contents");u(this,"cardDetailForm");u(this,"cardOtpValidationForm");u(this,"merchantPlanDetail",{});u(this,"cardPinForm");u(this,"avsForm");u(this,"isw3dsForm");u(this,"successScreen");u(this,"pageLoader");u(this,"warningScreen");u(this,"transactionIssuesScreen");u(this,"container");u(this,"onSuccess");u(this,"planId","");u(this,"customer");u(this,"token");u(this,"amount");u(this,"totalAmount");u(this,"encryption");u(this,"currency");u(this,"_currentStep");u(this,"activeRef");u(this,"rdtCode");u(this,"url");u(this,"reference");u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"hidePaymentMethods");u(this,"showPaymentMethods");u(this,"onClose");u(this,"cardResponse");u(this,"cardResponseHeader");u(this,"confirmationEnd");u(this,"confirmationProgress");u(this,"restartTransactionProcess");u(this,"retryingPayment");u(this,"isMaxRetriesReached");u(this,"isCancelledPlan");u(this,"isMobile",!1);u(this,"keys");u(this,"testcardIsVisible",!1);u(this,"errorText");u(this,"otpMessage");u(this,"rawAvsData");u(this,"translatedAvsData");this.currency=c,this.onSuccess=b||(()=>null),this.keys=B,this.testcardIsVisible=j,this.container=i,this.encryption=o,this.token=l,this.customer=s,this.planId=a,this.amount=e,this.totalAmount=t,this.rdtCode=v,this.url=m,this.reference=f,this.callBackUrl=g,this.metadata=w,this.localCurrency=C,this._currentStep=1,this.activeRef="",this.contents=this.container.querySelector("#payment-content-view"),this.cardResponse={},this.cardResponseHeader={},this.hidePaymentMethods=k,this.showPaymentMethods=x,this.onClose=M,this.restartTransactionProcess=L,this.retryingPayment=P,this.isMaxRetriesReached=!1,this.isCancelledPlan=!1,this.errorText="",this.otpMessage="",this.renderCardContent(),this.rawAvsData={"billing-address":"Billing address",address:"Address",city:"City",state:"State",country:"Country","zip-code":"Zip code",submit:"Submit"},this.translatedAvsData=this.rawAvsData,E.track("card_opens",{payment_method:"Card"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderCardContent()}fetchCurrentRegionDetails(){const e=this.localCurrency?this.localCurrency!==this.currency?this.localCurrency:this.currency:this.currency;return Do(e)}cancellledPlanAction(){if(this.rdtCode)window.history.back();else{const e=document.getElementById("checkout-modal");e&&e.remove()}}async renderTranslatedText(e){if(Array.isArray(e)){const t=await q(e,A==null?void 0:A.language);this.translatedAvsData=t.reduce((i,s,o)=>{const a=Object.keys(this.rawAvsData)[o];return i[a]=s,i},{})}else if(e){const t=await q(e,A==null?void 0:A.language);this.otpMessage=t}else this.otpMessage=""}showLoader(){this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader()}async submitCardDetails(e,t){e.preventDefault(),E.track("input_cardDetails",{payment_method:"Card",authentication_type:"None"});const i=this.container.querySelector(".spinner"),s=this.container.querySelector("#details-form-button-text"),o=await Na(JSON.stringify(t),this.encryption);i&&s&&(i.classList.remove("hidden"),s.classList.add("hidden"));const a=xt();(()=>{var c,v,m,f,b;if(this.retryingPayment){const g={channel:"card",reference:this.reference,encryptedCard:o};return lt(this.token,g,this.rdtCode,this.url)}else{const g={amount:((f=(m=(v=(c=this.merchantPlanDetail)==null?void 0:c.plan)==null?void 0:v.trial)==null?void 0:m.pricingList[0])==null?void 0:f.amount)??this.amount,channel:"card",applyDiscount:!0,currency:this.currency,planId:this.planId,customer:this.customer,reference:this.reference,encryptedCard:o,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((b=this.merchantPlanDetail)==null?void 0:b.taxQuoteId)&&{taxQuoteId:this.merchantPlanDetail.taxQuoteId},deviceInformation:a};return da(this.token,g,this.rdtCode,this.url)}})().then(async({data:c,headers:v})=>{var m,f,b,g,w,C,k,x;if(c.providerMessage){const M=await q(c.providerMessage,A==null?void 0:A.language);this.errorText=M}if(c.status==="failed")this.currentStep=4,this.reference=c.reference,E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"None"}),this.cardResponse=c,this.cardResponseHeader=v,c.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue();else if(!["success","successful"].includes(c.status)&&c.status!=="failed")if(this.cardResponse=c,this.cardResponseHeader=v,c!=null&&c.authorization){if(this.activeRef=c.reference,((m=c==null?void 0:c.authorization)==null?void 0:m.mode)==="pin"){this.currentStep=2;return}if(((f=c==null?void 0:c.authorization)==null?void 0:f.mode)==="3DS"){(b=c==null?void 0:c.authorization)!=null&&b.redirectUrl&&this.redirectTo3DS((g=c==null?void 0:c.authorization)==null?void 0:g.redirectUrl),(w=c==null?void 0:c.authorization)!=null&&w.embeddedHtml&&this.redirectToPreciumDoc((C=c==null?void 0:c.authorization)==null?void 0:C.embeddedHtml);return}if(((k=c==null?void 0:c.authorization)==null?void 0:k.mode)==="otp"){this.cardResponse=c,this.currentStep=3;return}if(((x=c==null?void 0:c.authorization)==null?void 0:x.mode)==="avs"){if((A==null?void 0:A.language)!=="en"){this.showLoader();const M=Object.values(this.rawAvsData);this.renderTranslatedText(M).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=7})}else this.currentStep=7;return}}else this.currentStep=4,c.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["error-with-payment"]),this.warningScreen.hideReportIssue();else["success","successful"].includes(c.status)&&(this.currentStep=5,this.cardResponse=c,this.cardResponseHeader=v,E.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"None"}),this.redirectTo(c,v,"success"))}).catch(async c=>{if(E.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"None"}),c.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,E.track("max_retries_reached",{payment_method:"Card"}),this.warningScreen.setPaymentError(D["maximum-retries"],D["maximum-retries-desc"],Q["merchant-back"]);else{if(c.message){const v=await q(c.message,A==null?void 0:A.language);this.errorText=v,c.code==="7137"?(this.isCancelledPlan=!0,this.currentStep=4,E.track("cancelled_plan",{payment_method:"Card"}),this.warningScreen.setPaymentError(this.errorText,"",Q["merchant-back"])):(this.currentStep=4,this.warningScreen.setPaymentError(this.errorText))}else this.currentStep=4,this.warningScreen.setPaymentError(D["payment-failed"]);this.warningScreen.hideReportIssue()}}).finally(()=>{i&&s&&(i.classList.add("hidden"),s.classList.remove("hidden"))})}handlePinRequest(e){if(e.length===4){const t={authorization:{pin:e},reference:this.activeRef};E.track("input_cardPin",{payment_method:"Card",authentication_type:"PIN"}),setTimeout(()=>{const i=this.container.querySelector("#pin-loader"),s=this.container.querySelector("#cancel-payment");i&&(i.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1404
1422
|
<path
|
|
1405
1423
|
d="M62 32C62 38.6156 59.8132 45.0457 55.78 50.2897C51.7468 55.5336 46.0932 59.2974 39.6992 60.9952C33.3052 62.693 26.5293 62.2297 20.4258 59.6774C14.3224 57.1251 9.2338 52.6268 5.95186 46.8827C2.66993 41.1385 1.37873 34.4707 2.2792 27.9166C3.17967 21.3626 6.22129 15.29 10.9308 10.6438C15.6402 5.9976 21.7534 3.0384 28.3191 2.22668C34.8847 1.41496 41.5345 2.79623 47.2337 6.15557"
|
|
1406
1424
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
1407
|
-
</svg>`),o&&o.classList.add("hidden"),wt(this.token,t,this.rdtCode,this.url).then(async({data:a,headers:l})=>{var d,v,m,g,b,f,C,w,k,x;if(a.providerMessage){const M=await $(a.providerMessage,A==null?void 0:A.language);this.errorText=M}if(a.status==="failed")P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN"}),this.currentStep=4,a.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue();else if(["success","successful","failed"].includes(a.status))this.currentStep=5,this.redirectTo(a,l,"success"),P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"PIN"});else{if(((d=a==null?void 0:a.authorization)==null?void 0:d.mode)==="3DS"){(v=a==null?void 0:a.authorization)!=null&&v.redirectUrl&&this.redirectTo3DS((m=a==null?void 0:a.authorization)==null?void 0:m.redirectUrl),(g=a==null?void 0:a.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((b=a==null?void 0:a.authorization)==null?void 0:b.embeddedHtml),(f=a==null?void 0:a.authorization)!=null&&f.jwt&&((C=a==null?void 0:a.authorization)!=null&&C.acsUrl)&&((w=a==null?void 0:a.authorization)!=null&&w.md)&&(this.cardResponse=a,this.currentStep=11);return}if(((k=a==null?void 0:a.authorization)==null?void 0:k.mode)==="otp"){this.cardResponse=a,(A==null?void 0:A.language)!=="en"?(this.showLoader(),this.renderTranslatedText(a==null?void 0:a.providerMessage).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=3})):this.currentStep=3;return}if(((x=a==null?void 0:a.authorization)==null?void 0:x.mode)==="avs"){if((A==null?void 0:A.language)!=="en"){this.showLoader();const M=Object.values(this.rawAvsData);this.renderTranslatedText(M).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=7})}else this.currentStep=7;return}this.currentStep=10}}).catch(async a=>{if(P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"PIN"}),a.message){const l=await $(a.message,A==null?void 0:A.language);this.errorText=l,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(I["payment-failed"]);this.warningScreen.hideReportIssue()})},300)}}validatedAVS(e,t){e.stopPropagation(),e.preventDefault();const i=this.container.querySelector(".spinner"),o=this.container.querySelector("#avs-form-button-text"),s={authorization:{avs:{state:t==null?void 0:t.state,city:t==null?void 0:t.city,country:t==null?void 0:t.country,address:t==null?void 0:t.address,zipCode:(t==null?void 0:t.code)||"-"}},reference:this.activeRef};P.track("input_address",{payment_method:"Card",authentication_type:"AVS"}),i&&o&&(i.classList.remove("hidden"),o.classList.add("hidden")),wt(this.token,s,this.rdtCode,this.url).then(async({data:l,headers:d})=>{var v,m,g,b,f,C,w;if(l.providerMessage){const k=await $(l.providerMessage,A==null?void 0:A.language);this.errorText=k}if(l.status==="failed")this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"AVS"}),l.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue();else if(["success","successful","failed"].includes(l.status))["success","successful"].includes(l.status)&&(this.currentStep=5,this.redirectTo(l,d,"success"),P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"AVS"}));else{if(((v=l==null?void 0:l.authorization)==null?void 0:v.mode)==="pin"){this.currentStep=2;return}if(((m=l==null?void 0:l.authorization)==null?void 0:m.mode)==="3DS"){(g=l==null?void 0:l.authorization)!=null&&g.redirectUrl&&this.redirectTo3DS((b=l==null?void 0:l.authorization)==null?void 0:b.redirectUrl),(f=l==null?void 0:l.authorization)!=null&&f.embeddedHtml&&this.redirectToPreciumDoc((C=l==null?void 0:l.authorization)==null?void 0:C.embeddedHtml);return}if(((w=l==null?void 0:l.authorization)==null?void 0:w.mode)==="otp"){this.cardResponse=l,this.currentStep=3;return}this.currentStep=10}}).catch(async l=>{if(P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"AVS"}),l.message){const d=await $(l.message,A==null?void 0:A.language);this.errorText=d,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(I["payment-failed"]);this.warningScreen.hideReportIssue()}).finally(()=>{i&&o&&(i.classList.add("hidden"),o.classList.remove("hidden"))})}submitOtp(e,t){e.preventDefault();const i={authorization:{otp:t},reference:this.activeRef};this.currentStep=6,this.showLoader(),P.track("input_cardOTP",{payment_method:"Card",authentication_type:"PIN+0TP"}),wt(this.token,i,this.rdtCode,this.url).then(async({data:s,headers:a})=>{var l,d,v,m,g,b,f;if(s.providerMessage){const C=await $(s.providerMessage,A==null?void 0:A.language);this.errorText=C}if(s.status==="failed")this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN+0TP"}),s.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue();else if(["success","successful","failed"].includes(s.status))["success","successful"].includes(s.status)&&(this.currentStep=5,this.redirectTo(s,a,"success"),P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"PIN+0TP"}));else{if(this.activeRef=s.reference,((l=s==null?void 0:s.authorization)==null?void 0:l.mode)==="pin"){this.currentStep=2;return}if(((d=s==null?void 0:s.authorization)==null?void 0:d.mode)==="3DS"){(v=s==null?void 0:s.authorization)!=null&&v.redirectUrl&&this.redirectTo3DS((m=s==null?void 0:s.authorization)==null?void 0:m.redirectUrl),(g=s==null?void 0:s.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((b=s==null?void 0:s.authorization)==null?void 0:b.embeddedHtml);return}if(((f=s==null?void 0:s.authorization)==null?void 0:f.mode)==="avs"){if((A==null?void 0:A.language)!=="en"){this.showLoader();const C=Object.values(this.rawAvsData);this.renderTranslatedText(C).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=7})}else this.currentStep=7;return}this.currentStep=10}}).catch(async s=>{if(P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN+0TP"}),s!=null&&s.message){const a=await $(s.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(I["payment-failed"]);this.warningScreen.hideReportIssue()})}redirectTo3DS(e){const t=window.open("","_blank");if(!t){alert(ce["enable-popup"]);return}t.location.href=e,P.track("auth_redirect",{payment_method:"Card",authentication_type:"3DS"}),this.currentStep=6,this.showLoader();const i=setInterval(()=>{t.closed&&(clearInterval(i),this.verifyPayment(({data:o,headers:s})=>{this.currentStep=5,P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"3DS"}),this.redirectTo(o,s,"success")},async({data:o})=>{if(o.providerMessage){const s=await $(o.providerMessage,A==null?void 0:A.language);this.errorText=s}this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue(),P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}redirectToPreciumDoc(e){const t=atob(e),i=new Blob([t],{type:"text/html"}),o=URL.createObjectURL(i),s=window.open(o,"_blank");if(s){s.document.close(),P.track("auth_redirect",{payment_method:"Card",authentication_type:"3DS"}),this.currentStep=6,this.showLoader();const a=setInterval(()=>{s.closed&&(clearInterval(a),this.verifyPayment(({data:l,headers:d})=>{this.currentStep=5,P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"3DS"}),this.redirectTo(l,d,"success")},async({data:l})=>{if(l.providerMessage){const d=await $(l.providerMessage,A==null?void 0:A.language);this.errorText=d}this.currentStep=4,l.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue(),P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}else alert(ce["enable-popup"])}async verifyPayment(e,t){try{const i=await pn(this.token,this.activeRef,void 0,this.rdtCode,this.url);i.data.status==="failed"?t(i):(["success","successful"].includes(i.data.status)&&e(i),i.data.status==="inProgress"&&(this.currentStep=10))}catch{this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"3DS"}),this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue()}}async verifyPaymentProcess(){try{const e=await pn(this.token,this.reference,void 0,this.rdtCode,this.url);this.cardResponse=e.data,this.cardResponseHeader=e.headers}catch{this.currentStep=4}}charge3DSPayment(){const e=la(this.token,this.reference,this.rdtCode,this.url);P.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS"}),e.then(async({data:t,headers:i})=>{if(this.cardResponse=t,this.cardResponseHeader=i,t.providerMessage){const o=await $(t.providerMessage,A==null?void 0:A.language);this.errorText=o}t.status==="failed"?(this.currentStep=4,P.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Failed"}),t.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue()):["success","successful"].includes(t.status)?(this.currentStep=5,P.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Success"}),this.redirectTo(t,i,"success")):t.status==="inProgress"?this.currentStep=10:(this.currentStep=4,P.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Null"}),t.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue())}).catch(async t=>{if(P.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Null"}),t.message){const i=await $(t.message,A==null?void 0:A.language);this.errorText=i,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(I["payment-failed"]);this.warningScreen.hideReportIssue()})}goBackToMerchant(){if(this.isCancelledPlan){this.cancellledPlanAction();return}this.redirectTo(this.cardResponse,this.cardResponseHeader,this.callBackUrl)}renderCardContent(e){var s,a,l,d,v,m,g;e&&(this.merchantPlanDetail=e);const t=document.getElementById("test-container"),i=this.container.querySelector("#test-cards-link"),o=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),o==null||o.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents){switch(this.currentStep){case 1:this.cardDetailForm=new mo({container:this.contents,onAction:f=>C=>this.submitCardDetails.bind(this)(f,C),merchantName:this.merchantPlanDetail.merchantName,currency:xn(this.currency,this.localCurrency)}),this.cardDetailForm.renderContent();break;case 2:this.cardPinForm=new Ea({container:this.contents,onClose:this.onClose,onAction:f=>this.handlePinRequest.bind(this)(f)}),this.cardPinForm.renderComponent();break;case 3:this.cardOtpValidationForm=new Ta({container:this.contents,onClose:this.onClose,onAction:f=>C=>this.submitOtp.bind(this)(f,C),otpMessage:this.otpMessage||I["Payment failed"]}),this.cardOtpValidationForm.renderComponent();break;case 4:this.warningScreen=new Ln({container:this.contents,onAction:this.isMaxRetriesReached||this.isCancelledPlan?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=8}),this.testcardIsVisible&&(Jt(t),i.classList.remove("text-tone-100","font-bold")),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.successScreen=new ot({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(s=this.merchantPlanDetail)==null?void 0:s.rate.rate}),this.testcardIsVisible&&(Jt(t),i.classList.remove("text-tone-100","font-bold")),this.successScreen.renderComponent();break;case 6:this.pageLoader=new Te(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 7:this.avsForm=new Ia({container:this.contents,onAction:f=>C=>this.validatedAVS.bind(this)(f,C),translatedTexts:this.translatedAvsData}),this.avsForm.renderComponent();break;case 8:this.transactionIssuesScreen=new _t({container:this.contents,onAction:async()=>{var f,C;if((f=this.cardResponse)!=null&&f.providerMessage){const w=await $((C=this.cardResponse)==null?void 0:C.providerMessage,A==null?void 0:A.language);this.errorText=w}this.currentStep=4,this.warningScreen.setPaymentError(this.errorText||I["payment-failed"])},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"card",callBackUrl:this.callBackUrl,paymentResponse:this.cardResponse,paymentResponseHeaders:this.cardResponseHeader}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break;case 9:this.confirmationEnd=new Ss({container:this.contents,onAction:f=>{this.currentStep=f},ref:this.reference,token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,paymentResponse:this.cardResponse,paymentResponseHeaders:this.cardResponseHeader,paymentMethod:"Card"}),this.confirmationEnd.renderComponent();break;case 10:this.confirmationProgress=new Ll({container:this.contents,onAction:f=>{this.currentStep=f},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(f,C)=>{this.cardResponse=f,this.cardResponseHeader=C},step:{failed:4,success:5,end:9},paymentMethod:"Card"}),this.testcardIsVisible&&(Jt(t),i.classList.remove("text-tone-100","font-bold")),this.confirmationProgress.renderComponent();break;case 11:this.isw3dsForm=new Ha({container:this.contents,threeDSecureDetails:{jwt:((l=(a=this.cardResponse)==null?void 0:a.authorization)==null?void 0:l.jwt)||"",md:((v=(d=this.cardResponse)==null?void 0:d.authorization)==null?void 0:v.md)||"",acsUrl:((g=(m=this.cardResponse)==null?void 0:m.authorization)==null?void 0:g.acsUrl)||""},onAction:f=>{this.currentStep=f,f===6&&this.showLoader()},onSuccess:this.charge3DSPayment.bind(this)}),this.isw3dsForm.renderComponent();break;default:this.cardDetailForm=new mo({container:this.contents,onAction:f=>C=>this.submitCardDetails.bind(this)(f,C),merchantName:this.merchantPlanDetail.merchantName,currency:xn(this.currency,this.localCurrency)}),this.cardDetailForm.renderContent();break}this.displayButtonText();const b=this.container.querySelector("#card-currency");b&&(b.textContent=`${xn(this.currency,this.localCurrency)} ${ce.card}`)}}redirectTo(e,t,i){const o=t.get("spf-redirect-url");this.callBackUrl=o||this.callBackUrl,this.callBackUrl?setTimeout(()=>{const s=new URL(this.callBackUrl);s.searchParams.append("status",e.status),s.searchParams.append("reference",e.reference),window.location.href=s.toString()},1800):i==="success"&&this.onSuccess(e)}displayButtonText(e){var i,o,s,a;const t=this.container.querySelector("#details-form-button-text");if(t){const l=xn(this.currency,this.localCurrency),d=l==="USD"?(o=(i=this.merchantPlanDetail)==null?void 0:i.rate)==null?void 0:o.from:l;e?t.textContent=e:t.textContent=`${ce["continue-to"]} ${d} ${Ne(this.totalAmount!==this.amount?this.totalAmount:(this.amount||0)*(this.currency==="USD"?(a=(s=this.merchantPlanDetail)==null?void 0:s.rate)==null?void 0:a.rate:1),2)}`}}}const Hl=`<div>
|
|
1425
|
+
</svg>`),s&&s.classList.add("hidden"),Tt(this.token,t,this.rdtCode,this.url).then(async({data:a,headers:l})=>{var c,v,m,f,b,g,w,C,k,x;if(a.providerMessage){const M=await q(a.providerMessage,A==null?void 0:A.language);this.errorText=M}if(a.status==="failed")E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN"}),this.currentStep=4,a.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue();else if(["success","successful","failed"].includes(a.status))this.currentStep=5,this.redirectTo(a,l,"success"),E.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"PIN"});else{if(((c=a==null?void 0:a.authorization)==null?void 0:c.mode)==="3DS"){(v=a==null?void 0:a.authorization)!=null&&v.redirectUrl&&this.redirectTo3DS((m=a==null?void 0:a.authorization)==null?void 0:m.redirectUrl),(f=a==null?void 0:a.authorization)!=null&&f.embeddedHtml&&this.redirectToPreciumDoc((b=a==null?void 0:a.authorization)==null?void 0:b.embeddedHtml),(g=a==null?void 0:a.authorization)!=null&&g.jwt&&((w=a==null?void 0:a.authorization)!=null&&w.acsUrl)&&((C=a==null?void 0:a.authorization)!=null&&C.md)&&(this.cardResponse=a,this.currentStep=11);return}if(((k=a==null?void 0:a.authorization)==null?void 0:k.mode)==="otp"){this.cardResponse=a,(A==null?void 0:A.language)!=="en"?(this.showLoader(),this.renderTranslatedText(a==null?void 0:a.providerMessage).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=3})):this.currentStep=3;return}if(((x=a==null?void 0:a.authorization)==null?void 0:x.mode)==="avs"){if((A==null?void 0:A.language)!=="en"){this.showLoader();const M=Object.values(this.rawAvsData);this.renderTranslatedText(M).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=7})}else this.currentStep=7;return}this.currentStep=10}}).catch(async a=>{if(E.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"PIN"}),a.message){const l=await q(a.message,A==null?void 0:A.language);this.errorText=l,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(D["payment-failed"]);this.warningScreen.hideReportIssue()})},300)}}validatedAVS(e,t){e.stopPropagation(),e.preventDefault();const i=this.container.querySelector(".spinner"),s=this.container.querySelector("#avs-form-button-text"),o={authorization:{avs:{state:t==null?void 0:t.state,city:t==null?void 0:t.city,country:t==null?void 0:t.country,address:t==null?void 0:t.address,zipCode:(t==null?void 0:t.code)||"-"}},reference:this.activeRef};E.track("input_address",{payment_method:"Card",authentication_type:"AVS"}),i&&s&&(i.classList.remove("hidden"),s.classList.add("hidden")),Tt(this.token,o,this.rdtCode,this.url).then(async({data:l,headers:c})=>{var v,m,f,b,g,w,C;if(l.providerMessage){const k=await q(l.providerMessage,A==null?void 0:A.language);this.errorText=k}if(l.status==="failed")this.currentStep=4,E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"AVS"}),l.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue();else if(["success","successful","failed"].includes(l.status))["success","successful"].includes(l.status)&&(this.currentStep=5,this.redirectTo(l,c,"success"),E.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"AVS"}));else{if(((v=l==null?void 0:l.authorization)==null?void 0:v.mode)==="pin"){this.currentStep=2;return}if(((m=l==null?void 0:l.authorization)==null?void 0:m.mode)==="3DS"){(f=l==null?void 0:l.authorization)!=null&&f.redirectUrl&&this.redirectTo3DS((b=l==null?void 0:l.authorization)==null?void 0:b.redirectUrl),(g=l==null?void 0:l.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((w=l==null?void 0:l.authorization)==null?void 0:w.embeddedHtml);return}if(((C=l==null?void 0:l.authorization)==null?void 0:C.mode)==="otp"){this.cardResponse=l,this.currentStep=3;return}this.currentStep=10}}).catch(async l=>{if(E.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"AVS"}),l.message){const c=await q(l.message,A==null?void 0:A.language);this.errorText=c,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(D["payment-failed"]);this.warningScreen.hideReportIssue()}).finally(()=>{i&&s&&(i.classList.add("hidden"),s.classList.remove("hidden"))})}submitOtp(e,t){e.preventDefault();const i={authorization:{otp:t},reference:this.activeRef};this.currentStep=6,this.showLoader(),E.track("input_cardOTP",{payment_method:"Card",authentication_type:"PIN+0TP"}),Tt(this.token,i,this.rdtCode,this.url).then(async({data:o,headers:a})=>{var l,c,v,m,f,b,g;if(o.providerMessage){const w=await q(o.providerMessage,A==null?void 0:A.language);this.errorText=w}if(o.status==="failed")this.currentStep=4,E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN+0TP"}),o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue();else if(["success","successful","failed"].includes(o.status))["success","successful"].includes(o.status)&&(this.currentStep=5,this.redirectTo(o,a,"success"),E.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"PIN+0TP"}));else{if(this.activeRef=o.reference,((l=o==null?void 0:o.authorization)==null?void 0:l.mode)==="pin"){this.currentStep=2;return}if(((c=o==null?void 0:o.authorization)==null?void 0:c.mode)==="3DS"){(v=o==null?void 0:o.authorization)!=null&&v.redirectUrl&&this.redirectTo3DS((m=o==null?void 0:o.authorization)==null?void 0:m.redirectUrl),(f=o==null?void 0:o.authorization)!=null&&f.embeddedHtml&&this.redirectToPreciumDoc((b=o==null?void 0:o.authorization)==null?void 0:b.embeddedHtml);return}if(((g=o==null?void 0:o.authorization)==null?void 0:g.mode)==="avs"){if((A==null?void 0:A.language)!=="en"){this.showLoader();const w=Object.values(this.rawAvsData);this.renderTranslatedText(w).then(()=>{this.pageLoader.unmountLoader(),this.currentStep=7})}else this.currentStep=7;return}this.currentStep=10}}).catch(async o=>{if(E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN+0TP"}),o!=null&&o.message){const a=await q(o.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(D["payment-failed"]);this.warningScreen.hideReportIssue()})}redirectTo3DS(e){const t=window.open("","_blank");if(!t){alert(ue["enable-popup"]);return}t.location.href=e,E.track("auth_redirect",{payment_method:"Card",authentication_type:"3DS"}),this.currentStep=6,this.showLoader();const i=setInterval(()=>{t.closed&&(clearInterval(i),this.verifyPayment(({data:s,headers:o})=>{this.currentStep=5,E.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"3DS"}),this.redirectTo(s,o,"success")},async({data:s})=>{if(s.providerMessage){const o=await q(s.providerMessage,A==null?void 0:A.language);this.errorText=o}this.currentStep=4,s.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue(),E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}redirectToPreciumDoc(e){const t=atob(e),i=new Blob([t],{type:"text/html"}),s=URL.createObjectURL(i),o=window.open(s,"_blank");if(o){o.document.close(),E.track("auth_redirect",{payment_method:"Card",authentication_type:"3DS"}),this.currentStep=6,this.showLoader();const a=setInterval(()=>{o.closed&&(clearInterval(a),this.verifyPayment(({data:l,headers:c})=>{this.currentStep=5,E.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"3DS"}),this.redirectTo(l,c,"success")},async({data:l})=>{if(l.providerMessage){const c=await q(l.providerMessage,A==null?void 0:A.language);this.errorText=c}this.currentStep=4,l.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue(),E.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}else alert(ue["enable-popup"])}async verifyPayment(e,t){try{const i=await on(this.token,this.activeRef,void 0,this.rdtCode,this.url);i.data.status==="failed"?t(i):(["success","successful"].includes(i.data.status)&&e(i),i.data.status==="inProgress"&&(this.currentStep=10))}catch{this.currentStep=4,E.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"3DS"}),this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue()}}async verifyPaymentProcess(){try{const e=await on(this.token,this.reference,void 0,this.rdtCode,this.url);this.cardResponse=e.data,this.cardResponseHeader=e.headers}catch{this.currentStep=4}}charge3DSPayment(){const e=fa(this.token,this.reference,this.rdtCode,this.url);E.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS"}),e.then(async({data:t,headers:i})=>{if(this.cardResponse=t,this.cardResponseHeader=i,t.providerMessage){const s=await q(t.providerMessage,A==null?void 0:A.language);this.errorText=s}t.status==="failed"?(this.currentStep=4,E.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Failed"}),t.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue()):["success","successful"].includes(t.status)?(this.currentStep=5,E.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Success"}),this.redirectTo(t,i,"success")):t.status==="inProgress"?this.currentStep=10:(this.currentStep=4,E.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Null"}),t.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue())}).catch(async t=>{if(E.track("charge_3ds_payment",{payment_method:"Card",authentication_type:"3DS",verification_status:"Null"}),t.message){const i=await q(t.message,A==null?void 0:A.language);this.errorText=i,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(D["payment-failed"]);this.warningScreen.hideReportIssue()})}goBackToMerchant(){if(this.isCancelledPlan){this.cancellledPlanAction();return}this.redirectTo(this.cardResponse,this.cardResponseHeader,this.callBackUrl)}renderCardContent(e){var o,a,l,c,v,m,f,b,g,w,C;e&&(this.merchantPlanDetail=e);const t=document.getElementById("test-container"),i=this.container.querySelector("#test-cards-link"),s=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),s==null||s.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents){switch(this.currentStep){case 1:this.cardDetailForm=new ws({container:this.contents,onAction:x=>M=>this.submitCardDetails.bind(this)(x,M),merchantName:this.merchantPlanDetail.merchantName,currency:Mn(this.currency,this.localCurrency)}),this.cardDetailForm.renderContent();break;case 2:this.cardPinForm=new Va({container:this.contents,onClose:this.onClose,onAction:x=>this.handlePinRequest.bind(this)(x)}),this.cardPinForm.renderComponent();break;case 3:this.cardOtpValidationForm=new Oa({container:this.contents,onClose:this.onClose,onAction:x=>M=>this.submitOtp.bind(this)(x,M),otpMessage:this.otpMessage||D["Payment failed"]}),this.cardOtpValidationForm.renderComponent();break;case 4:this.warningScreen=new ln({container:this.contents,onAction:this.isMaxRetriesReached||this.isCancelledPlan?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=8}),this.testcardIsVisible&&(ei(t),i.classList.remove("text-tone-100","font-bold")),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.successScreen=new qn({container:this.contents,amount:((c=(l=(a=(o=this.merchantPlanDetail)==null?void 0:o.plan)==null?void 0:a.trial)==null?void 0:l.pricingList[0])==null?void 0:c.amount)??this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(v=this.merchantPlanDetail)==null?void 0:v.rate.rate}),this.testcardIsVisible&&(ei(t),i.classList.remove("text-tone-100","font-bold")),this.successScreen.renderComponent();break;case 6:this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 7:this.avsForm=new Ga({container:this.contents,onAction:x=>M=>this.validatedAVS.bind(this)(x,M),translatedTexts:this.translatedAvsData}),this.avsForm.renderComponent();break;case 8:this.transactionIssuesScreen=new ut({container:this.contents,onAction:async()=>{var x,M;if((x=this.cardResponse)!=null&&x.providerMessage){const L=await q((M=this.cardResponse)==null?void 0:M.providerMessage,A==null?void 0:A.language);this.errorText=L}this.currentStep=4,this.warningScreen.setPaymentError(this.errorText||D["payment-failed"])},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"card",callBackUrl:this.callBackUrl,paymentResponse:this.cardResponse,paymentResponseHeaders:this.cardResponseHeader}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break;case 9:this.confirmationEnd=new Io({container:this.contents,onAction:x=>{this.currentStep=x},ref:this.reference,token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,paymentResponse:this.cardResponse,paymentResponseHeaders:this.cardResponseHeader,paymentMethod:"Card"}),this.confirmationEnd.renderComponent();break;case 10:this.confirmationProgress=new Ul({container:this.contents,onAction:x=>{this.currentStep=x},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(x,M)=>{this.cardResponse=x,this.cardResponseHeader=M},step:{failed:4,success:5,end:9},paymentMethod:"Card"}),this.testcardIsVisible&&(ei(t),i.classList.remove("text-tone-100","font-bold")),this.confirmationProgress.renderComponent();break;case 11:this.isw3dsForm=new ja({container:this.contents,threeDSecureDetails:{jwt:((f=(m=this.cardResponse)==null?void 0:m.authorization)==null?void 0:f.jwt)||"",md:((g=(b=this.cardResponse)==null?void 0:b.authorization)==null?void 0:g.md)||"",acsUrl:((C=(w=this.cardResponse)==null?void 0:w.authorization)==null?void 0:C.acsUrl)||""},onAction:x=>{this.currentStep=x,x===6&&this.showLoader()},onSuccess:this.charge3DSPayment.bind(this)}),this.isw3dsForm.renderComponent();break;default:this.cardDetailForm=new ws({container:this.contents,onAction:x=>M=>this.submitCardDetails.bind(this)(x,M),merchantName:this.merchantPlanDetail.merchantName,currency:Mn(this.currency,this.localCurrency)}),this.cardDetailForm.renderContent();break}this.displayButtonText();const k=this.container.querySelector("#card-currency");k&&(k.textContent=`${Mn(this.currency,this.localCurrency)} ${ue.card}`)}}redirectTo(e,t,i){const s=t.get("spf-redirect-url");this.callBackUrl=s||this.callBackUrl,this.callBackUrl?setTimeout(()=>{const o=new URL(this.callBackUrl);o.searchParams.append("status",e.status),o.searchParams.append("reference",e.reference),window.location.href=o.toString()},1800):i==="success"&&this.onSuccess(e)}displayButtonText(e){var i,s,o,a,l,c,v,m,f,b;const t=this.container.querySelector("#details-form-button-text");if(t){const g=(s=(i=this==null?void 0:this.merchantPlanDetail)==null?void 0:i.plan)==null?void 0:s.trial,w=(c=(l=(a=(o=this==null?void 0:this.merchantPlanDetail)==null?void 0:o.plan)==null?void 0:a.trial)==null?void 0:l.pricingList[0])==null?void 0:c.amount,C=Mn(this.currency,this.localCurrency),k=C==="USD"?(m=(v=this.merchantPlanDetail)==null?void 0:v.rate)==null?void 0:m.from:C;e?t.textContent=e:t.textContent=`${ue["continue-to"]} ${k} ${Se(g&&w!=null?w:this.totalAmount!==this.amount?this.totalAmount:(this.amount||0)*(this.currency==="USD"?(b=(f=this.merchantPlanDetail)==null?void 0:f.rate)==null?void 0:b.rate:1),2)}`}}}const jl=`<div>
|
|
1408
1426
|
<div class="container-center h-[40vh] hidden" id="loader">
|
|
1409
1427
|
<img src="" alt="loader gif" />
|
|
1410
1428
|
</div>
|
|
@@ -1493,14 +1511,14 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1493
1511
|
</div>
|
|
1494
1512
|
</div>
|
|
1495
1513
|
</div>
|
|
1496
|
-
</div>`;function
|
|
1514
|
+
</div>`;function zl(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ho={exports:{}};/*!
|
|
1497
1515
|
* Pusher JavaScript Library v8.4.0
|
|
1498
1516
|
* https://pusher.com/
|
|
1499
1517
|
*
|
|
1500
1518
|
* Copyright 2020, Pusher
|
|
1501
1519
|
* Released under the MIT licence.
|
|
1502
|
-
*/(function(n,e){(function(i,o){n.exports=o()})(window,function(){return function(t){var i={};function o(s){if(i[s])return i[s].exports;var a=i[s]={i:s,l:!1,exports:{}};return t[s].call(a.exports,a,a.exports,o),a.l=!0,a.exports}return o.m=t,o.c=i,o.d=function(s,a,l){o.o(s,a)||Object.defineProperty(s,a,{enumerable:!0,get:l})},o.r=function(s){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},o.t=function(s,a){if(a&1&&(s=o(s)),a&8||a&4&&typeof s=="object"&&s&&s.__esModule)return s;var l=Object.create(null);if(o.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:s}),a&2&&typeof s!="string")for(var d in s)o.d(l,d,(function(v){return s[v]}).bind(null,d));return l},o.n=function(s){var a=s&&s.__esModule?function(){return s.default}:function(){return s};return o.d(a,"a",a),a},o.o=function(s,a){return Object.prototype.hasOwnProperty.call(s,a)},o.p="",o(o.s=2)}([function(t,i,o){var s=this&&this.__extends||function(){var w=function(k,x){return w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(M,_){M.__proto__=_}||function(M,_){for(var E in _)_.hasOwnProperty(E)&&(M[E]=_[E])},w(k,x)};return function(k,x){w(k,x);function M(){this.constructor=k}k.prototype=x===null?Object.create(x):(M.prototype=x.prototype,new M)}}();Object.defineProperty(i,"__esModule",{value:!0});var a=256,l=function(){function w(k){k===void 0&&(k="="),this._paddingCharacter=k}return w.prototype.encodedLength=function(k){return this._paddingCharacter?(k+2)/3*4|0:(k*8+5)/6|0},w.prototype.encode=function(k){for(var x="",M=0;M<k.length-2;M+=3){var _=k[M]<<16|k[M+1]<<8|k[M+2];x+=this._encodeByte(_>>>3*6&63),x+=this._encodeByte(_>>>2*6&63),x+=this._encodeByte(_>>>1*6&63),x+=this._encodeByte(_>>>0*6&63)}var E=k.length-M;if(E>0){var _=k[M]<<16|(E===2?k[M+1]<<8:0);x+=this._encodeByte(_>>>3*6&63),x+=this._encodeByte(_>>>2*6&63),E===2?x+=this._encodeByte(_>>>1*6&63):x+=this._paddingCharacter||"",x+=this._paddingCharacter||""}return x},w.prototype.maxDecodedLength=function(k){return this._paddingCharacter?k/4*3|0:(k*6+7)/8|0},w.prototype.decodedLength=function(k){return this.maxDecodedLength(k.length-this._getPaddingLength(k))},w.prototype.decode=function(k){if(k.length===0)return new Uint8Array(0);for(var x=this._getPaddingLength(k),M=k.length-x,_=new Uint8Array(this.maxDecodedLength(M)),E=0,H=0,G=0,q=0,j=0,z=0,de=0;H<M-4;H+=4)q=this._decodeChar(k.charCodeAt(H+0)),j=this._decodeChar(k.charCodeAt(H+1)),z=this._decodeChar(k.charCodeAt(H+2)),de=this._decodeChar(k.charCodeAt(H+3)),_[E++]=q<<2|j>>>4,_[E++]=j<<4|z>>>2,_[E++]=z<<6|de,G|=q&a,G|=j&a,G|=z&a,G|=de&a;if(H<M-1&&(q=this._decodeChar(k.charCodeAt(H)),j=this._decodeChar(k.charCodeAt(H+1)),_[E++]=q<<2|j>>>4,G|=q&a,G|=j&a),H<M-2&&(z=this._decodeChar(k.charCodeAt(H+2)),_[E++]=j<<4|z>>>2,G|=z&a),H<M-3&&(de=this._decodeChar(k.charCodeAt(H+3)),_[E++]=z<<6|de,G|=de&a),G!==0)throw new Error("Base64Coder: incorrect characters for decoding");return _},w.prototype._encodeByte=function(k){var x=k;return x+=65,x+=25-k>>>8&6,x+=51-k>>>8&-75,x+=61-k>>>8&-15,x+=62-k>>>8&3,String.fromCharCode(x)},w.prototype._decodeChar=function(k){var x=a;return x+=(42-k&k-44)>>>8&-a+k-43+62,x+=(46-k&k-48)>>>8&-a+k-47+63,x+=(47-k&k-58)>>>8&-a+k-48+52,x+=(64-k&k-91)>>>8&-a+k-65+0,x+=(96-k&k-123)>>>8&-a+k-97+26,x},w.prototype._getPaddingLength=function(k){var x=0;if(this._paddingCharacter){for(var M=k.length-1;M>=0&&k[M]===this._paddingCharacter;M--)x++;if(k.length<4||x>2)throw new Error("Base64Coder: incorrect padding")}return x},w}();i.Coder=l;var d=new l;function v(w){return d.encode(w)}i.encode=v;function m(w){return d.decode(w)}i.decode=m;var g=function(w){s(k,w);function k(){return w!==null&&w.apply(this,arguments)||this}return k.prototype._encodeByte=function(x){var M=x;return M+=65,M+=25-x>>>8&6,M+=51-x>>>8&-75,M+=61-x>>>8&-13,M+=62-x>>>8&49,String.fromCharCode(M)},k.prototype._decodeChar=function(x){var M=a;return M+=(44-x&x-46)>>>8&-a+x-45+62,M+=(94-x&x-96)>>>8&-a+x-95+63,M+=(47-x&x-58)>>>8&-a+x-48+52,M+=(64-x&x-91)>>>8&-a+x-65+0,M+=(96-x&x-123)>>>8&-a+x-97+26,M},k}(l);i.URLSafeCoder=g;var b=new g;function f(w){return b.encode(w)}i.encodeURLSafe=f;function C(w){return b.decode(w)}i.decodeURLSafe=C,i.encodedLength=function(w){return d.encodedLength(w)},i.maxDecodedLength=function(w){return d.maxDecodedLength(w)},i.decodedLength=function(w){return d.decodedLength(w)}},function(t,i,o){Object.defineProperty(i,"__esModule",{value:!0});var s="utf8: invalid string",a="utf8: invalid source encoding";function l(m){for(var g=new Uint8Array(d(m)),b=0,f=0;f<m.length;f++){var C=m.charCodeAt(f);C<128?g[b++]=C:C<2048?(g[b++]=192|C>>6,g[b++]=128|C&63):C<55296?(g[b++]=224|C>>12,g[b++]=128|C>>6&63,g[b++]=128|C&63):(f++,C=(C&1023)<<10,C|=m.charCodeAt(f)&1023,C+=65536,g[b++]=240|C>>18,g[b++]=128|C>>12&63,g[b++]=128|C>>6&63,g[b++]=128|C&63)}return g}i.encode=l;function d(m){for(var g=0,b=0;b<m.length;b++){var f=m.charCodeAt(b);if(f<128)g+=1;else if(f<2048)g+=2;else if(f<55296)g+=3;else if(f<=57343){if(b>=m.length-1)throw new Error(s);b++,g+=4}else throw new Error(s)}return g}i.encodedLength=d;function v(m){for(var g=[],b=0;b<m.length;b++){var f=m[b];if(f&128){var C=void 0;if(f<224){if(b>=m.length)throw new Error(a);var w=m[++b];if((w&192)!==128)throw new Error(a);f=(f&31)<<6|w&63,C=128}else if(f<240){if(b>=m.length-1)throw new Error(a);var w=m[++b],k=m[++b];if((w&192)!==128||(k&192)!==128)throw new Error(a);f=(f&15)<<12|(w&63)<<6|k&63,C=2048}else if(f<248){if(b>=m.length-2)throw new Error(a);var w=m[++b],k=m[++b],x=m[++b];if((w&192)!==128||(k&192)!==128||(x&192)!==128)throw new Error(a);f=(f&15)<<18|(w&63)<<12|(k&63)<<6|x&63,C=65536}else throw new Error(a);if(f<C||f>=55296&&f<=57343)throw new Error(a);if(f>=65536){if(f>1114111)throw new Error(a);f-=65536,g.push(String.fromCharCode(55296|f>>10)),f=56320|f&1023}}g.push(String.fromCharCode(f))}return g.join("")}i.decode=v},function(t,i,o){t.exports=o(3).default},function(t,i,o){o.r(i);class s{constructor(r,c){this.lastId=0,this.prefix=r,this.name=c}create(r){this.lastId++;var c=this.lastId,y=this.prefix+c,S=this.name+"["+c+"]",L=!1,D=function(){L||(r.apply(null,arguments),L=!0)};return this[c]=D,{number:c,id:y,name:S,callback:D}}remove(r){delete this[r.number]}}var a=new s("_pusher_script_","Pusher.ScriptReceivers"),l={VERSION:"8.4.0",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,userAuthentication:{endpoint:"/pusher/user-auth",transport:"ajax"},channelAuthorization:{endpoint:"/pusher/auth",transport:"ajax"},cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},d=l;class v{constructor(r){this.options=r,this.receivers=r.receivers||a,this.loading={}}load(r,c,y){var S=this;if(S.loading[r]&&S.loading[r].length>0)S.loading[r].push(y);else{S.loading[r]=[y];var L=U.createScriptRequest(S.getPath(r,c)),D=S.receivers.create(function(B){if(S.receivers.remove(D),S.loading[r]){var V=S.loading[r];delete S.loading[r];for(var Q=function(Ce){Ce||L.cleanup()},ie=0;ie<V.length;ie++)V[ie](B,Q)}});L.send(D)}}getRoot(r){var c,y=U.getDocument().location.protocol;return r&&r.useTLS||y==="https:"?c=this.options.cdn_https:c=this.options.cdn_http,c.replace(/\/*$/,"")+"/"+this.options.version}getPath(r,c){return this.getRoot(c)+"/"+r+this.options.suffix+".js"}}var m=new s("_pusher_dependencies","Pusher.DependenciesReceivers"),g=new v({cdn_http:d.cdn_http,cdn_https:d.cdn_https,version:d.VERSION,suffix:d.dependency_suffix,receivers:m});const b={baseUrl:"https://pusher.com",urls:{authenticationEndpoint:{path:"/docs/channels/server_api/authenticating_users"},authorizationEndpoint:{path:"/docs/channels/server_api/authorizing-users/"},javascriptQuickStart:{path:"/docs/javascript_quick_start"},triggeringClientEvents:{path:"/docs/client_api_guide/client_events#trigger-events"},encryptedChannelSupport:{fullUrl:"https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support"}}};var C={buildLogSuffix:function(u){const r="See:",c=b.urls[u];if(!c)return"";let y;return c.fullUrl?y=c.fullUrl:c.path&&(y=b.baseUrl+c.path),y?`${r} ${y}`:""}},w;(function(u){u.UserAuthentication="user-authentication",u.ChannelAuthorization="channel-authorization"})(w||(w={}));class k extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class x extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class M extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class _ extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class E extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class H extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class G extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class q extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class j extends Error{constructor(r,c){super(c),this.status=r,Object.setPrototypeOf(this,new.target.prototype)}}var de=function(u,r,c,y,S){const L=U.createXHR();L.open("POST",c.endpoint,!0),L.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var D in c.headers)L.setRequestHeader(D,c.headers[D]);if(c.headersProvider!=null){let B=c.headersProvider();for(var D in B)L.setRequestHeader(D,B[D])}return L.onreadystatechange=function(){if(L.readyState===4)if(L.status===200){let B,V=!1;try{B=JSON.parse(L.responseText),V=!0}catch{S(new j(200,`JSON returned from ${y.toString()} endpoint was invalid, yet status code was 200. Data was: ${L.responseText}`),null)}V&&S(null,B)}else{let B="";switch(y){case w.UserAuthentication:B=C.buildLogSuffix("authenticationEndpoint");break;case w.ChannelAuthorization:B=`Clients must be authorized to join private or presence channels. ${C.buildLogSuffix("authorizationEndpoint")}`;break}S(new j(L.status,`Unable to retrieve auth string from ${y.toString()} endpoint - received status: ${L.status} from ${c.endpoint}. ${B}`),null)}},L.send(r),L};function Se(u){return dn(De(u))}var K=String.fromCharCode,Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ge=function(u){var r=u.charCodeAt(0);return r<128?u:r<2048?K(192|r>>>6)+K(128|r&63):K(224|r>>>12&15)+K(128|r>>>6&63)+K(128|r&63)},De=function(u){return u.replace(/[^\x00-\x7F]/g,ge)},Ie=function(u){var r=[0,2,1][u.length%3],c=u.charCodeAt(0)<<16|(u.length>1?u.charCodeAt(1):0)<<8|(u.length>2?u.charCodeAt(2):0),y=[Pe.charAt(c>>>18),Pe.charAt(c>>>12&63),r>=2?"=":Pe.charAt(c>>>6&63),r>=1?"=":Pe.charAt(c&63)];return y.join("")},dn=window.btoa||function(u){return u.replace(/[\s\S]{1,3}/g,Ie)};class Mn{constructor(r,c,y,S){this.clear=c,this.timer=r(()=>{this.timer&&(this.timer=S(this.timer))},y)}isRunning(){return this.timer!==null}ensureAborted(){this.timer&&(this.clear(this.timer),this.timer=null)}}var cn=Mn;function Bn(u){window.clearTimeout(u)}function An(u){window.clearInterval(u)}class Oe extends cn{constructor(r,c){super(setTimeout,Bn,r,function(y){return c(),null})}}class un extends cn{constructor(r,c){super(setInterval,An,r,function(y){return c(),y})}}var Nn={now(){return Date.now?Date.now():new Date().valueOf()},defer(u){return new Oe(0,u)},method(u,...r){var c=Array.prototype.slice.call(arguments,1);return function(y){return y[u].apply(y,c.concat(arguments))}}},he=Nn;function ke(u,...r){for(var c=0;c<r.length;c++){var y=r[c];for(var S in y)y[S]&&y[S].constructor&&y[S].constructor===Object?u[S]=ke(u[S]||{},y[S]):u[S]=y[S]}return u}function qe(){for(var u=["Pusher"],r=0;r<arguments.length;r++)typeof arguments[r]=="string"?u.push(arguments[r]):u.push(Rn(arguments[r]));return u.join(" : ")}function Ve(u,r){var c=Array.prototype.indexOf;if(u===null)return-1;if(c&&u.indexOf===c)return u.indexOf(r);for(var y=0,S=u.length;y<S;y++)if(u[y]===r)return y;return-1}function Me(u,r){for(var c in u)Object.prototype.hasOwnProperty.call(u,c)&&r(u[c],c,u)}function en(u){var r=[];return Me(u,function(c,y){r.push(y)}),r}function N(u){var r=[];return Me(u,function(c){r.push(c)}),r}function ye(u,r,c){for(var y=0;y<u.length;y++)r.call(c||window,u[y],y,u)}function te(u,r){for(var c=[],y=0;y<u.length;y++)c.push(r(u[y],y,u,c));return c}function we(u,r){var c={};return Me(u,function(y,S){c[S]=r(y)}),c}function Ue(u,r){r=r||function(S){return!!S};for(var c=[],y=0;y<u.length;y++)r(u[y],y,u,c)&&c.push(u[y]);return c}function ee(u,r){var c={};return Me(u,function(y,S){(r&&r(y,S,u,c)||y)&&(c[S]=y)}),c}function Tn(u){var r=[];return Me(u,function(c,y){r.push([y,c])}),r}function ft(u,r){for(var c=0;c<u.length;c++)if(r(u[c],c,u))return!0;return!1}function Qt(u,r){for(var c=0;c<u.length;c++)if(!r(u[c],c,u))return!1;return!0}function Xt(u){return we(u,function(r){return typeof r=="object"&&(r=Rn(r)),encodeURIComponent(Se(r.toString()))})}function ei(u){var r=ee(u,function(y){return y!==void 0}),c=te(Tn(Xt(r)),he.method("join","=")).join("&");return c}function ni(u){var r=[],c=[];return function y(S,L){var D,B,V;switch(typeof S){case"object":if(!S)return null;for(D=0;D<r.length;D+=1)if(r[D]===S)return{$ref:c[D]};if(r.push(S),c.push(L),Object.prototype.toString.apply(S)==="[object Array]")for(V=[],D=0;D<S.length;D+=1)V[D]=y(S[D],L+"["+D+"]");else{V={};for(B in S)Object.prototype.hasOwnProperty.call(S,B)&&(V[B]=y(S[B],L+"["+JSON.stringify(B)+"]"))}return V;case"number":case"string":case"boolean":return S}}(u,"$")}function Rn(u){try{return JSON.stringify(u)}catch{return JSON.stringify(ni(u))}}class ti{constructor(){this.globalLog=r=>{window.console&&window.console.log&&window.console.log(r)}}debug(...r){this.log(this.globalLog,r)}warn(...r){this.log(this.globalLogWarn,r)}error(...r){this.log(this.globalLogError,r)}globalLogWarn(r){window.console&&window.console.warn?window.console.warn(r):this.globalLog(r)}globalLogError(r){window.console&&window.console.error?window.console.error(r):this.globalLogWarn(r)}log(r,...c){var y=qe.apply(this,arguments);ao.log?ao.log(y):ao.logToConsole&&r.bind(this)(y)}}var ae=new ti,ii=function(u,r,c,y,S){(c.headers!==void 0||c.headersProvider!=null)&&ae.warn(`To send headers with the ${y.toString()} request, you must use AJAX, rather than JSONP.`);var L=u.nextAuthCallbackID.toString();u.nextAuthCallbackID++;var D=u.getDocument(),B=D.createElement("script");u.auth_callbacks[L]=function(ie){S(null,ie)};var V="Pusher.auth_callbacks['"+L+"']";B.src=c.endpoint+"?callback="+encodeURIComponent(V)+"&"+r;var Q=D.getElementsByTagName("head")[0]||D.documentElement;Q.insertBefore(B,Q.firstChild)},oi=ii;class si{constructor(r){this.src=r}send(r){var c=this,y="Error loading "+c.src;c.script=document.createElement("script"),c.script.id=r.id,c.script.src=c.src,c.script.type="text/javascript",c.script.charset="UTF-8",c.script.addEventListener?(c.script.onerror=function(){r.callback(y)},c.script.onload=function(){r.callback(null)}):c.script.onreadystatechange=function(){(c.script.readyState==="loaded"||c.script.readyState==="complete")&&r.callback(null)},c.script.async===void 0&&document.attachEvent&&/opera/i.test(navigator.userAgent)?(c.errorScript=document.createElement("script"),c.errorScript.id=r.id+"_error",c.errorScript.text=r.name+"('"+y+"');",c.script.async=c.errorScript.async=!1):c.script.async=!0;var S=document.getElementsByTagName("head")[0];S.insertBefore(c.script,S.firstChild),c.errorScript&&S.insertBefore(c.errorScript,c.script.nextSibling)}cleanup(){this.script&&(this.script.onload=this.script.onerror=null,this.script.onreadystatechange=null),this.script&&this.script.parentNode&&this.script.parentNode.removeChild(this.script),this.errorScript&&this.errorScript.parentNode&&this.errorScript.parentNode.removeChild(this.errorScript),this.script=null,this.errorScript=null}}class ai{constructor(r,c){this.url=r,this.data=c}send(r){if(!this.request){var c=ei(this.data),y=this.url+"/"+r.number+"?"+c;this.request=U.createScriptRequest(y),this.request.send(r)}}cleanup(){this.request&&this.request.cleanup()}}var ri=function(u,r){return function(c,y){var S="http"+(r?"s":"")+"://",L=S+(u.host||u.options.host)+u.options.path,D=U.createJSONPRequest(L,c),B=U.ScriptReceivers.create(function(V,Q){a.remove(B),D.cleanup(),Q&&Q.host&&(u.host=Q.host),y&&y(V,Q)});D.send(B)}},li={name:"jsonp",getAgent:ri},di=li;function On(u,r,c){var y=u+(r.useTLS?"s":""),S=r.useTLS?r.hostTLS:r.hostNonTLS;return y+"://"+S+c}function Yi(u,r){var c="/app/"+u,y="?protocol="+d.PROTOCOL+"&client=js&version="+d.VERSION+(r?"&"+r:"");return c+y}var vd={getInitial:function(u,r){var c=(r.httpPath||"")+Yi(u,"flash=false");return On("ws",r,c)}},bd={getInitial:function(u,r){var c=(r.httpPath||"/pusher")+Yi(u);return On("http",r,c)}},fd={getInitial:function(u,r){return On("http",r,r.httpPath||"/pusher")},getPath:function(u,r){return Yi(u)}};class gd{constructor(){this._callbacks={}}get(r){return this._callbacks[Qi(r)]}add(r,c,y){var S=Qi(r);this._callbacks[S]=this._callbacks[S]||[],this._callbacks[S].push({fn:c,context:y})}remove(r,c,y){if(!r&&!c&&!y){this._callbacks={};return}var S=r?[Qi(r)]:en(this._callbacks);c||y?this.removeCallback(S,c,y):this.removeAllCallbacks(S)}removeCallback(r,c,y){ye(r,function(S){this._callbacks[S]=Ue(this._callbacks[S]||[],function(L){return c&&c!==L.fn||y&&y!==L.context}),this._callbacks[S].length===0&&delete this._callbacks[S]},this)}removeAllCallbacks(r){ye(r,function(c){delete this._callbacks[c]},this)}}function Qi(u){return"_"+u}class hn{constructor(r){this.callbacks=new gd,this.global_callbacks=[],this.failThrough=r}bind(r,c,y){return this.callbacks.add(r,c,y),this}bind_global(r){return this.global_callbacks.push(r),this}unbind(r,c,y){return this.callbacks.remove(r,c,y),this}unbind_global(r){return r?(this.global_callbacks=Ue(this.global_callbacks||[],c=>c!==r),this):(this.global_callbacks=[],this)}unbind_all(){return this.unbind(),this.unbind_global(),this}emit(r,c,y){for(var S=0;S<this.global_callbacks.length;S++)this.global_callbacks[S](r,c);var L=this.callbacks.get(r),D=[];if(y?D.push(c,y):c&&D.push(c),L&&L.length>0)for(var S=0;S<L.length;S++)L[S].fn.apply(L[S].context||window,D);else this.failThrough&&this.failThrough(r,c);return this}}class yd extends hn{constructor(r,c,y,S,L){super(),this.initialize=U.transportConnectionInitializer,this.hooks=r,this.name=c,this.priority=y,this.key=S,this.options=L,this.state="new",this.timeline=L.timeline,this.activityTimeout=L.activityTimeout,this.id=this.timeline.generateUniqueID()}handlesActivityChecks(){return!!this.hooks.handlesActivityChecks}supportsPing(){return!!this.hooks.supportsPing}connect(){if(this.socket||this.state!=="initialized")return!1;var r=this.hooks.urls.getInitial(this.key,this.options);try{this.socket=this.hooks.getSocket(r,this.options)}catch(c){return he.defer(()=>{this.onError(c),this.changeState("closed")}),!1}return this.bindListeners(),ae.debug("Connecting",{transport:this.name,url:r}),this.changeState("connecting"),!0}close(){return this.socket?(this.socket.close(),!0):!1}send(r){return this.state==="open"?(he.defer(()=>{this.socket&&this.socket.send(r)}),!0):!1}ping(){this.state==="open"&&this.supportsPing()&&this.socket.ping()}onOpen(){this.hooks.beforeOpen&&this.hooks.beforeOpen(this.socket,this.hooks.urls.getPath(this.key,this.options)),this.changeState("open"),this.socket.onopen=void 0}onError(r){this.emit("error",{type:"WebSocketError",error:r}),this.timeline.error(this.buildTimelineMessage({error:r.toString()}))}onClose(r){r?this.changeState("closed",{code:r.code,reason:r.reason,wasClean:r.wasClean}):this.changeState("closed"),this.unbindListeners(),this.socket=void 0}onMessage(r){this.emit("message",r)}onActivity(){this.emit("activity")}bindListeners(){this.socket.onopen=()=>{this.onOpen()},this.socket.onerror=r=>{this.onError(r)},this.socket.onclose=r=>{this.onClose(r)},this.socket.onmessage=r=>{this.onMessage(r)},this.supportsPing()&&(this.socket.onactivity=()=>{this.onActivity()})}unbindListeners(){this.socket&&(this.socket.onopen=void 0,this.socket.onerror=void 0,this.socket.onclose=void 0,this.socket.onmessage=void 0,this.supportsPing()&&(this.socket.onactivity=void 0))}changeState(r,c){this.state=r,this.timeline.info(this.buildTimelineMessage({state:r,params:c})),this.emit(r,c)}buildTimelineMessage(r){return ke({cid:this.id},r)}}class tt{constructor(r){this.hooks=r}isSupported(r){return this.hooks.isSupported(r)}createConnection(r,c,y,S){return new yd(this.hooks,r,c,y,S)}}var wd=new tt({urls:vd,handlesActivityChecks:!1,supportsPing:!1,isInitialized:function(){return!!U.getWebSocketAPI()},isSupported:function(){return!!U.getWebSocketAPI()},getSocket:function(u){return U.createWebSocket(u)}}),Hs={urls:bd,handlesActivityChecks:!1,supportsPing:!0,isInitialized:function(){return!0}},Bs=ke({getSocket:function(u){return U.HTTPFactory.createStreamingSocket(u)}},Hs),Ns=ke({getSocket:function(u){return U.HTTPFactory.createPollingSocket(u)}},Hs),Rs={isSupported:function(){return U.isXHRSupported()}},Cd=new tt(ke({},Bs,Rs)),kd=new tt(ke({},Ns,Rs)),Sd={ws:wd,xhr_streaming:Cd,xhr_polling:kd},ci=Sd,xd=new tt({file:"sockjs",urls:fd,handlesActivityChecks:!0,supportsPing:!1,isSupported:function(){return!0},isInitialized:function(){return window.SockJS!==void 0},getSocket:function(u,r){return new window.SockJS(u,null,{js_path:g.getPath("sockjs",{useTLS:r.useTLS}),ignore_null_origin:r.ignoreNullOrigin})},beforeOpen:function(u,r){u.send(JSON.stringify({path:r}))}}),Os={isSupported:function(u){var r=U.isXDRSupported(u.useTLS);return r}},_d=new tt(ke({},Bs,Os)),Md=new tt(ke({},Ns,Os));ci.xdr_streaming=_d,ci.xdr_polling=Md,ci.sockjs=xd;var Ad=ci;class Td extends hn{constructor(){super();var r=this;window.addEventListener!==void 0&&(window.addEventListener("online",function(){r.emit("online")},!1),window.addEventListener("offline",function(){r.emit("offline")},!1))}isOnline(){return window.navigator.onLine===void 0?!0:window.navigator.onLine}}var Ld=new Td;class Ed{constructor(r,c,y){this.manager=r,this.transport=c,this.minPingDelay=y.minPingDelay,this.maxPingDelay=y.maxPingDelay,this.pingDelay=void 0}createConnection(r,c,y,S){S=ke({},S,{activityTimeout:this.pingDelay});var L=this.transport.createConnection(r,c,y,S),D=null,B=function(){L.unbind("open",B),L.bind("closed",V),D=he.now()},V=Q=>{if(L.unbind("closed",V),Q.code===1002||Q.code===1003)this.manager.reportDeath();else if(!Q.wasClean&&D){var ie=he.now()-D;ie<2*this.maxPingDelay&&(this.manager.reportDeath(),this.pingDelay=Math.max(ie/2,this.minPingDelay))}};return L.bind("open",B),L}isSupported(r){return this.manager.isAlive()&&this.transport.isSupported(r)}}const Vs={decodeMessage:function(u){try{var r=JSON.parse(u.data),c=r.data;if(typeof c=="string")try{c=JSON.parse(r.data)}catch{}var y={event:r.event,channel:r.channel,data:c};return r.user_id&&(y.user_id=r.user_id),y}catch(S){throw{type:"MessageParseError",error:S,data:u.data}}},encodeMessage:function(u){return JSON.stringify(u)},processHandshake:function(u){var r=Vs.decodeMessage(u);if(r.event==="pusher:connection_established"){if(!r.data.activity_timeout)throw"No activity timeout specified in handshake";return{action:"connected",id:r.data.socket_id,activityTimeout:r.data.activity_timeout*1e3}}else{if(r.event==="pusher:error")return{action:this.getCloseAction(r.data),error:this.getCloseError(r.data)};throw"Invalid handshake"}},getCloseAction:function(u){return u.code<4e3?u.code>=1002&&u.code<=1004?"backoff":null:u.code===4e3?"tls_only":u.code<4100?"refused":u.code<4200?"backoff":u.code<4300?"retry":"refused"},getCloseError:function(u){return u.code!==1e3&&u.code!==1001?{type:"PusherError",data:{code:u.code,message:u.reason||u.message}}:null}};var Vn=Vs;class Pd extends hn{constructor(r,c){super(),this.id=r,this.transport=c,this.activityTimeout=c.activityTimeout,this.bindListeners()}handlesActivityChecks(){return this.transport.handlesActivityChecks()}send(r){return this.transport.send(r)}send_event(r,c,y){var S={event:r,data:c};return y&&(S.channel=y),ae.debug("Event sent",S),this.send(Vn.encodeMessage(S))}ping(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})}close(){this.transport.close()}bindListeners(){var r={message:y=>{var S;try{S=Vn.decodeMessage(y)}catch(L){this.emit("error",{type:"MessageParseError",error:L,data:y.data})}if(S!==void 0){switch(ae.debug("Event recd",S),S.event){case"pusher:error":this.emit("error",{type:"PusherError",data:S.data});break;case"pusher:ping":this.emit("ping");break;case"pusher:pong":this.emit("pong");break}this.emit("message",S)}},activity:()=>{this.emit("activity")},error:y=>{this.emit("error",y)},closed:y=>{c(),y&&y.code&&this.handleCloseEvent(y),this.transport=null,this.emit("closed")}},c=()=>{Me(r,(y,S)=>{this.transport.unbind(S,y)})};Me(r,(y,S)=>{this.transport.bind(S,y)})}handleCloseEvent(r){var c=Vn.getCloseAction(r),y=Vn.getCloseError(r);y&&this.emit("error",y),c&&this.emit(c,{action:c,error:y})}}class Dd{constructor(r,c){this.transport=r,this.callback=c,this.bindListeners()}close(){this.unbindListeners(),this.transport.close()}bindListeners(){this.onMessage=r=>{this.unbindListeners();var c;try{c=Vn.processHandshake(r)}catch(y){this.finish("error",{error:y}),this.transport.close();return}c.action==="connected"?this.finish("connected",{connection:new Pd(c.id,this.transport),activityTimeout:c.activityTimeout}):(this.finish(c.action,{error:c.error}),this.transport.close())},this.onClosed=r=>{this.unbindListeners();var c=Vn.getCloseAction(r)||"backoff",y=Vn.getCloseError(r);this.finish(c,{error:y})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)}unbindListeners(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)}finish(r,c){this.callback(ke({transport:this.transport,action:r},c))}}class Id{constructor(r,c){this.timeline=r,this.options=c||{}}send(r,c){this.timeline.isEmpty()||this.timeline.send(U.TimelineTransport.getAgent(this,r),c)}}class Xi extends hn{constructor(r,c){super(function(y,S){ae.debug("No callbacks on "+r+" for "+y)}),this.name=r,this.pusher=c,this.subscribed=!1,this.subscriptionPending=!1,this.subscriptionCancelled=!1}authorize(r,c){return c(null,{auth:""})}trigger(r,c){if(r.indexOf("client-")!==0)throw new k("Event '"+r+"' does not start with 'client-'");if(!this.subscribed){var y=C.buildLogSuffix("triggeringClientEvents");ae.warn(`Client event triggered before channel 'subscription_succeeded' event . ${y}`)}return this.pusher.send_event(r,c,this.name)}disconnect(){this.subscribed=!1,this.subscriptionPending=!1}handleEvent(r){var c=r.event,y=r.data;if(c==="pusher_internal:subscription_succeeded")this.handleSubscriptionSucceededEvent(r);else if(c==="pusher_internal:subscription_count")this.handleSubscriptionCountEvent(r);else if(c.indexOf("pusher_internal:")!==0){var S={};this.emit(c,y,S)}}handleSubscriptionSucceededEvent(r){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",r.data)}handleSubscriptionCountEvent(r){r.data.subscription_count&&(this.subscriptionCount=r.data.subscription_count),this.emit("pusher:subscription_count",r.data)}subscribe(){this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,(r,c)=>{r?(this.subscriptionPending=!1,ae.error(r.toString()),this.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof j?{status:r.status}:{}))):this.pusher.send_event("pusher:subscribe",{auth:c.auth,channel_data:c.channel_data,channel:this.name})}))}unsubscribe(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})}cancelSubscription(){this.subscriptionCancelled=!0}reinstateSubscription(){this.subscriptionCancelled=!1}}class eo extends Xi{authorize(r,c){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:r},c)}}class Hd{constructor(){this.reset()}get(r){return Object.prototype.hasOwnProperty.call(this.members,r)?{id:r,info:this.members[r]}:null}each(r){Me(this.members,(c,y)=>{r(this.get(y))})}setMyID(r){this.myID=r}onSubscription(r){this.members=r.presence.hash,this.count=r.presence.count,this.me=this.get(this.myID)}addMember(r){return this.get(r.user_id)===null&&this.count++,this.members[r.user_id]=r.user_info,this.get(r.user_id)}removeMember(r){var c=this.get(r.user_id);return c&&(delete this.members[r.user_id],this.count--),c}reset(){this.members={},this.count=0,this.myID=null,this.me=null}}var Bd=function(u,r,c,y){function S(L){return L instanceof c?L:new c(function(D){D(L)})}return new(c||(c=Promise))(function(L,D){function B(ie){try{Q(y.next(ie))}catch(Ce){D(Ce)}}function V(ie){try{Q(y.throw(ie))}catch(Ce){D(Ce)}}function Q(ie){ie.done?L(ie.value):S(ie.value).then(B,V)}Q((y=y.apply(u,r||[])).next())})};class Nd extends eo{constructor(r,c){super(r,c),this.members=new Hd}authorize(r,c){super.authorize(r,(y,S)=>Bd(this,void 0,void 0,function*(){if(!y)if(S=S,S.channel_data!=null){var L=JSON.parse(S.channel_data);this.members.setMyID(L.user_id)}else if(yield this.pusher.user.signinDonePromise,this.pusher.user.user_data!=null)this.members.setMyID(this.pusher.user.user_data.id);else{let D=C.buildLogSuffix("authorizationEndpoint");ae.error(`Invalid auth response for channel '${this.name}', expected 'channel_data' field. ${D}, or the user should be signed in.`),c("Invalid auth response");return}c(y,S)}))}handleEvent(r){var c=r.event;if(c.indexOf("pusher_internal:")===0)this.handleInternalEvent(r);else{var y=r.data,S={};r.user_id&&(S.user_id=r.user_id),this.emit(c,y,S)}}handleInternalEvent(r){var c=r.event,y=r.data;switch(c){case"pusher_internal:subscription_succeeded":this.handleSubscriptionSucceededEvent(r);break;case"pusher_internal:subscription_count":this.handleSubscriptionCountEvent(r);break;case"pusher_internal:member_added":var S=this.members.addMember(y);this.emit("pusher:member_added",S);break;case"pusher_internal:member_removed":var L=this.members.removeMember(y);L&&this.emit("pusher:member_removed",L);break}}handleSubscriptionSucceededEvent(r){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):(this.members.onSubscription(r.data),this.emit("pusher:subscription_succeeded",this.members))}disconnect(){this.members.reset(),super.disconnect()}}var Rd=o(1),no=o(0);class Od extends eo{constructor(r,c,y){super(r,c),this.key=null,this.nacl=y}authorize(r,c){super.authorize(r,(y,S)=>{if(y){c(y,S);return}let L=S.shared_secret;if(!L){c(new Error(`No shared_secret key in auth payload for encrypted channel: ${this.name}`),null);return}this.key=Object(no.decode)(L),delete S.shared_secret,c(null,S)})}trigger(r,c){throw new H("Client events are not currently supported for encrypted channels")}handleEvent(r){var c=r.event,y=r.data;if(c.indexOf("pusher_internal:")===0||c.indexOf("pusher:")===0){super.handleEvent(r);return}this.handleEncryptedEvent(c,y)}handleEncryptedEvent(r,c){if(!this.key){ae.debug("Received encrypted event before key has been retrieved from the authEndpoint");return}if(!c.ciphertext||!c.nonce){ae.error("Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: "+c);return}let y=Object(no.decode)(c.ciphertext);if(y.length<this.nacl.secretbox.overheadLength){ae.error(`Expected encrypted event ciphertext length to be ${this.nacl.secretbox.overheadLength}, got: ${y.length}`);return}let S=Object(no.decode)(c.nonce);if(S.length<this.nacl.secretbox.nonceLength){ae.error(`Expected encrypted event nonce length to be ${this.nacl.secretbox.nonceLength}, got: ${S.length}`);return}let L=this.nacl.secretbox.open(y,S,this.key);if(L===null){ae.debug("Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint..."),this.authorize(this.pusher.connection.socket_id,(D,B)=>{if(D){ae.error(`Failed to make a request to the authEndpoint: ${B}. Unable to fetch new key, so dropping encrypted event`);return}if(L=this.nacl.secretbox.open(y,S,this.key),L===null){ae.error("Failed to decrypt event with new key. Dropping encrypted event");return}this.emit(r,this.getDataToEmit(L))});return}this.emit(r,this.getDataToEmit(L))}getDataToEmit(r){let c=Object(Rd.decode)(r);try{return JSON.parse(c)}catch{return c}}}class Vd extends hn{constructor(r,c){super(),this.state="initialized",this.connection=null,this.key=r,this.options=c,this.timeline=this.options.timeline,this.usingTLS=this.options.useTLS,this.errorCallbacks=this.buildErrorCallbacks(),this.connectionCallbacks=this.buildConnectionCallbacks(this.errorCallbacks),this.handshakeCallbacks=this.buildHandshakeCallbacks(this.errorCallbacks);var y=U.getNetwork();y.bind("online",()=>{this.timeline.info({netinfo:"online"}),(this.state==="connecting"||this.state==="unavailable")&&this.retryIn(0)}),y.bind("offline",()=>{this.timeline.info({netinfo:"offline"}),this.connection&&this.sendActivityCheck()}),this.updateStrategy()}connect(){if(!(this.connection||this.runner)){if(!this.strategy.isSupported()){this.updateState("failed");return}this.updateState("connecting"),this.startConnecting(),this.setUnavailableTimer()}}send(r){return this.connection?this.connection.send(r):!1}send_event(r,c,y){return this.connection?this.connection.send_event(r,c,y):!1}disconnect(){this.disconnectInternally(),this.updateState("disconnected")}isUsingTLS(){return this.usingTLS}startConnecting(){var r=(c,y)=>{c?this.runner=this.strategy.connect(0,r):y.action==="error"?(this.emit("error",{type:"HandshakeError",error:y.error}),this.timeline.error({handshakeError:y.error})):(this.abortConnecting(),this.handshakeCallbacks[y.action](y))};this.runner=this.strategy.connect(0,r)}abortConnecting(){this.runner&&(this.runner.abort(),this.runner=null)}disconnectInternally(){if(this.abortConnecting(),this.clearRetryTimer(),this.clearUnavailableTimer(),this.connection){var r=this.abandonConnection();r.close()}}updateStrategy(){this.strategy=this.options.getStrategy({key:this.key,timeline:this.timeline,useTLS:this.usingTLS})}retryIn(r){this.timeline.info({action:"retry",delay:r}),r>0&&this.emit("connecting_in",Math.round(r/1e3)),this.retryTimer=new Oe(r||0,()=>{this.disconnectInternally(),this.connect()})}clearRetryTimer(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)}setUnavailableTimer(){this.unavailableTimer=new Oe(this.options.unavailableTimeout,()=>{this.updateState("unavailable")})}clearUnavailableTimer(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()}sendActivityCheck(){this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Oe(this.options.pongTimeout,()=>{this.timeline.error({pong_timed_out:this.options.pongTimeout}),this.retryIn(0)})}resetActivityCheck(){this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new Oe(this.activityTimeout,()=>{this.sendActivityCheck()}))}stopActivityCheck(){this.activityTimer&&this.activityTimer.ensureAborted()}buildConnectionCallbacks(r){return ke({},r,{message:c=>{this.resetActivityCheck(),this.emit("message",c)},ping:()=>{this.send_event("pusher:pong",{})},activity:()=>{this.resetActivityCheck()},error:c=>{this.emit("error",c)},closed:()=>{this.abandonConnection(),this.shouldRetry()&&this.retryIn(1e3)}})}buildHandshakeCallbacks(r){return ke({},r,{connected:c=>{this.activityTimeout=Math.min(this.options.activityTimeout,c.activityTimeout,c.connection.activityTimeout||1/0),this.clearUnavailableTimer(),this.setConnection(c.connection),this.socket_id=this.connection.id,this.updateState("connected",{socket_id:this.socket_id})}})}buildErrorCallbacks(){let r=c=>y=>{y.error&&this.emit("error",{type:"WebSocketError",error:y.error}),c(y)};return{tls_only:r(()=>{this.usingTLS=!0,this.updateStrategy(),this.retryIn(0)}),refused:r(()=>{this.disconnect()}),backoff:r(()=>{this.retryIn(1e3)}),retry:r(()=>{this.retryIn(0)})}}setConnection(r){this.connection=r;for(var c in this.connectionCallbacks)this.connection.bind(c,this.connectionCallbacks[c]);this.resetActivityCheck()}abandonConnection(){if(this.connection){this.stopActivityCheck();for(var r in this.connectionCallbacks)this.connection.unbind(r,this.connectionCallbacks[r]);var c=this.connection;return this.connection=null,c}}updateState(r,c){var y=this.state;if(this.state=r,y!==r){var S=r;S==="connected"&&(S+=" with new socket ID "+c.socket_id),ae.debug("State changed",y+" -> "+S),this.timeline.info({state:r,params:c}),this.emit("state_change",{previous:y,current:r}),this.emit(r,c)}}shouldRetry(){return this.state==="connecting"||this.state==="connected"}}class Ud{constructor(){this.channels={}}add(r,c){return this.channels[r]||(this.channels[r]=jd(r,c)),this.channels[r]}all(){return N(this.channels)}find(r){return this.channels[r]}remove(r){var c=this.channels[r];return delete this.channels[r],c}disconnect(){Me(this.channels,function(r){r.disconnect()})}}function jd(u,r){if(u.indexOf("private-encrypted-")===0){if(r.config.nacl)return mn.createEncryptedChannel(u,r,r.config.nacl);let c="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",y=C.buildLogSuffix("encryptedChannelSupport");throw new H(`${c}. ${y}`)}else{if(u.indexOf("private-")===0)return mn.createPrivateChannel(u,r);if(u.indexOf("presence-")===0)return mn.createPresenceChannel(u,r);if(u.indexOf("#")===0)throw new x('Cannot create a channel with name "'+u+'".');return mn.createChannel(u,r)}}var Kd={createChannels(){return new Ud},createConnectionManager(u,r){return new Vd(u,r)},createChannel(u,r){return new Xi(u,r)},createPrivateChannel(u,r){return new eo(u,r)},createPresenceChannel(u,r){return new Nd(u,r)},createEncryptedChannel(u,r,c){return new Od(u,r,c)},createTimelineSender(u,r){return new Id(u,r)},createHandshake(u,r){return new Dd(u,r)},createAssistantToTheTransportManager(u,r,c){return new Ed(u,r,c)}},mn=Kd;class Us{constructor(r){this.options=r||{},this.livesLeft=this.options.lives||1/0}getAssistant(r){return mn.createAssistantToTheTransportManager(this,r,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})}isAlive(){return this.livesLeft>0}reportDeath(){this.livesLeft-=1}}class Un{constructor(r,c){this.strategies=r,this.loop=!!c.loop,this.failFast=!!c.failFast,this.timeout=c.timeout,this.timeoutLimit=c.timeoutLimit}isSupported(){return ft(this.strategies,he.method("isSupported"))}connect(r,c){var y=this.strategies,S=0,L=this.timeout,D=null,B=(V,Q)=>{Q?c(null,Q):(S=S+1,this.loop&&(S=S%y.length),S<y.length?(L&&(L=L*2,this.timeoutLimit&&(L=Math.min(L,this.timeoutLimit))),D=this.tryStrategy(y[S],r,{timeout:L,failFast:this.failFast},B)):c(!0))};return D=this.tryStrategy(y[S],r,{timeout:L,failFast:this.failFast},B),{abort:function(){D.abort()},forceMinPriority:function(V){r=V,D&&D.forceMinPriority(V)}}}tryStrategy(r,c,y,S){var L=null,D=null;return y.timeout>0&&(L=new Oe(y.timeout,function(){D.abort(),S(!0)})),D=r.connect(c,function(B,V){B&&L&&L.isRunning()&&!y.failFast||(L&&L.ensureAborted(),S(B,V))}),{abort:function(){L&&L.ensureAborted(),D.abort()},forceMinPriority:function(B){D.forceMinPriority(B)}}}}class to{constructor(r){this.strategies=r}isSupported(){return ft(this.strategies,he.method("isSupported"))}connect(r,c){return Fd(this.strategies,r,function(y,S){return function(L,D){if(S[y].error=L,L){Gd(S)&&c(!0);return}ye(S,function(B){B.forceMinPriority(D.transport.priority)}),c(null,D)}})}}function Fd(u,r,c){var y=te(u,function(S,L,D,B){return S.connect(r,c(L,B))});return{abort:function(){ye(y,zd)},forceMinPriority:function(S){ye(y,function(L){L.forceMinPriority(S)})}}}function Gd(u){return Qt(u,function(r){return!!r.error})}function zd(u){!u.error&&!u.aborted&&(u.abort(),u.aborted=!0)}class qd{constructor(r,c,y){this.strategy=r,this.transports=c,this.ttl=y.ttl||1800*1e3,this.usingTLS=y.useTLS,this.timeline=y.timeline}isSupported(){return this.strategy.isSupported()}connect(r,c){var y=this.usingTLS,S=Wd(y),L=S&&S.cacheSkipCount?S.cacheSkipCount:0,D=[this.strategy];if(S&&S.timestamp+this.ttl>=he.now()){var B=this.transports[S.transport];B&&(["ws","wss"].includes(S.transport)||L>3?(this.timeline.info({cached:!0,transport:S.transport,latency:S.latency}),D.push(new Un([B],{timeout:S.latency*2+1e3,failFast:!0}))):L++)}var V=he.now(),Q=D.pop().connect(r,function ie(Ce,mi){Ce?(js(y),D.length>0?(V=he.now(),Q=D.pop().connect(r,ie)):c(Ce)):(Zd(y,mi.transport.name,he.now()-V,L),c(null,mi))});return{abort:function(){Q.abort()},forceMinPriority:function(ie){r=ie,Q&&Q.forceMinPriority(ie)}}}}function io(u){return"pusherTransport"+(u?"TLS":"NonTLS")}function Wd(u){var r=U.getLocalStorage();if(r)try{var c=r[io(u)];if(c)return JSON.parse(c)}catch{js(u)}return null}function Zd(u,r,c,y){var S=U.getLocalStorage();if(S)try{S[io(u)]=Rn({timestamp:he.now(),transport:r,latency:c,cacheSkipCount:y})}catch{}}function js(u){var r=U.getLocalStorage();if(r)try{delete r[io(u)]}catch{}}class ui{constructor(r,{delay:c}){this.strategy=r,this.options={delay:c}}isSupported(){return this.strategy.isSupported()}connect(r,c){var y=this.strategy,S,L=new Oe(this.options.delay,function(){S=y.connect(r,c)});return{abort:function(){L.ensureAborted(),S&&S.abort()},forceMinPriority:function(D){r=D,S&&S.forceMinPriority(D)}}}}class gt{constructor(r,c,y){this.test=r,this.trueBranch=c,this.falseBranch=y}isSupported(){var r=this.test()?this.trueBranch:this.falseBranch;return r.isSupported()}connect(r,c){var y=this.test()?this.trueBranch:this.falseBranch;return y.connect(r,c)}}class Jd{constructor(r){this.strategy=r}isSupported(){return this.strategy.isSupported()}connect(r,c){var y=this.strategy.connect(r,function(S,L){L&&y.abort(),c(S,L)});return y}}function yt(u){return function(){return u.isSupported()}}var $d=function(u,r,c){var y={};function S(Qs,Jc,$c,Yc,Qc){var Xs=c(u,Qs,Jc,$c,Yc,Qc);return y[Qs]=Xs,Xs}var L=Object.assign({},r,{hostNonTLS:u.wsHost+":"+u.wsPort,hostTLS:u.wsHost+":"+u.wssPort,httpPath:u.wsPath}),D=Object.assign({},L,{useTLS:!0}),B=Object.assign({},r,{hostNonTLS:u.httpHost+":"+u.httpPort,hostTLS:u.httpHost+":"+u.httpsPort,httpPath:u.httpPath}),V={loop:!0,timeout:15e3,timeoutLimit:6e4},Q=new Us({minPingDelay:1e4,maxPingDelay:u.activityTimeout}),ie=new Us({lives:2,minPingDelay:1e4,maxPingDelay:u.activityTimeout}),Ce=S("ws","ws",3,L,Q),mi=S("wss","ws",3,D,Q),Gc=S("sockjs","sockjs",1,B),qs=S("xhr_streaming","xhr_streaming",1,B,ie),zc=S("xdr_streaming","xdr_streaming",1,B,ie),Ws=S("xhr_polling","xhr_polling",1,B),qc=S("xdr_polling","xdr_polling",1,B),Zs=new Un([Ce],V),Wc=new Un([mi],V),Zc=new Un([Gc],V),Js=new Un([new gt(yt(qs),qs,zc)],V),$s=new Un([new gt(yt(Ws),Ws,qc)],V),Ys=new Un([new gt(yt(Js),new to([Js,new ui($s,{delay:4e3})]),$s)],V),ro=new gt(yt(Ys),Ys,Zc),lo;return r.useTLS?lo=new to([Zs,new ui(ro,{delay:2e3})]):lo=new to([Zs,new ui(Wc,{delay:2e3}),new ui(ro,{delay:5e3})]),new qd(new Jd(new gt(yt(Ce),lo,ro)),y,{ttl:18e5,timeline:r.timeline,useTLS:r.useTLS})},Yd=$d,Qd=function(){var u=this;u.timeline.info(u.buildTimelineMessage({transport:u.name+(u.options.useTLS?"s":"")})),u.hooks.isInitialized()?u.changeState("initialized"):u.hooks.file?(u.changeState("initializing"),g.load(u.hooks.file,{useTLS:u.options.useTLS},function(r,c){u.hooks.isInitialized()?(u.changeState("initialized"),c(!0)):(r&&u.onError(r),u.onClose(),c(!1))})):u.onClose()},Xd={getRequest:function(u){var r=new window.XDomainRequest;return r.ontimeout=function(){u.emit("error",new M),u.close()},r.onerror=function(c){u.emit("error",c),u.close()},r.onprogress=function(){r.responseText&&r.responseText.length>0&&u.onChunk(200,r.responseText)},r.onload=function(){r.responseText&&r.responseText.length>0&&u.onChunk(200,r.responseText),u.emit("finished",200),u.close()},r},abortRequest:function(u){u.ontimeout=u.onerror=u.onprogress=u.onload=null,u.abort()}},ec=Xd;const nc=256*1024;class tc extends hn{constructor(r,c,y){super(),this.hooks=r,this.method=c,this.url=y}start(r){this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=()=>{this.close()},U.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(r)}close(){this.unloader&&(U.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)}onChunk(r,c){for(;;){var y=this.advanceBuffer(c);if(y)this.emit("chunk",{status:r,data:y});else break}this.isBufferTooLong(c)&&this.emit("buffer_too_long")}advanceBuffer(r){var c=r.slice(this.position),y=c.indexOf(`
|
|
1503
|
-
`);return y!==-1?(this.position+=y+1,c.slice(0,y)):null}isBufferTooLong(r){return this.position===r.length&&r.length>nc}}var oo;(function(u){u[u.CONNECTING=0]="CONNECTING",u[u.OPEN=1]="OPEN",u[u.CLOSED=3]="CLOSED"})(oo||(oo={}));var jn=oo,ic=1;class oc{constructor(r,c){this.hooks=r,this.session=Fs(1e3)+"/"+lc(8),this.location=sc(c),this.readyState=jn.CONNECTING,this.openStream()}send(r){return this.sendRaw(JSON.stringify([r]))}ping(){this.hooks.sendHeartbeat(this)}close(r,c){this.onClose(r,c,!0)}sendRaw(r){if(this.readyState===jn.OPEN)try{return U.createSocketRequest("POST",Ks(ac(this.location,this.session))).start(r),!0}catch{return!1}else return!1}reconnect(){this.closeStream(),this.openStream()}onClose(r,c,y){this.closeStream(),this.readyState=jn.CLOSED,this.onclose&&this.onclose({code:r,reason:c,wasClean:y})}onChunk(r){if(r.status===200){this.readyState===jn.OPEN&&this.onActivity();var c,y=r.data.slice(0,1);switch(y){case"o":c=JSON.parse(r.data.slice(1)||"{}"),this.onOpen(c);break;case"a":c=JSON.parse(r.data.slice(1)||"[]");for(var S=0;S<c.length;S++)this.onEvent(c[S]);break;case"m":c=JSON.parse(r.data.slice(1)||"null"),this.onEvent(c);break;case"h":this.hooks.onHeartbeat(this);break;case"c":c=JSON.parse(r.data.slice(1)||"[]"),this.onClose(c[0],c[1],!0);break}}}onOpen(r){this.readyState===jn.CONNECTING?(r&&r.hostname&&(this.location.base=rc(this.location.base,r.hostname)),this.readyState=jn.OPEN,this.onopen&&this.onopen()):this.onClose(1006,"Server lost session",!0)}onEvent(r){this.readyState===jn.OPEN&&this.onmessage&&this.onmessage({data:r})}onActivity(){this.onactivity&&this.onactivity()}onError(r){this.onerror&&this.onerror(r)}openStream(){this.stream=U.createSocketRequest("POST",Ks(this.hooks.getReceiveURL(this.location,this.session))),this.stream.bind("chunk",r=>{this.onChunk(r)}),this.stream.bind("finished",r=>{this.hooks.onFinished(this,r)}),this.stream.bind("buffer_too_long",()=>{this.reconnect()});try{this.stream.start()}catch(r){he.defer(()=>{this.onError(r),this.onClose(1006,"Could not start streaming",!1)})}}closeStream(){this.stream&&(this.stream.unbind_all(),this.stream.close(),this.stream=null)}}function sc(u){var r=/([^\?]*)\/*(\??.*)/.exec(u);return{base:r[1],queryString:r[2]}}function ac(u,r){return u.base+"/"+r+"/xhr_send"}function Ks(u){var r=u.indexOf("?")===-1?"?":"&";return u+r+"t="+ +new Date+"&n="+ic++}function rc(u,r){var c=/(https?:\/\/)([^\/:]+)((\/|:)?.*)/.exec(u);return c[1]+r+c[3]}function Fs(u){return U.randomInt(u)}function lc(u){for(var r=[],c=0;c<u;c++)r.push(Fs(32).toString(32));return r.join("")}var dc=oc,cc={getReceiveURL:function(u,r){return u.base+"/"+r+"/xhr_streaming"+u.queryString},onHeartbeat:function(u){u.sendRaw("[]")},sendHeartbeat:function(u){u.sendRaw("[]")},onFinished:function(u,r){u.onClose(1006,"Connection interrupted ("+r+")",!1)}},uc=cc,hc={getReceiveURL:function(u,r){return u.base+"/"+r+"/xhr"+u.queryString},onHeartbeat:function(){},sendHeartbeat:function(u){u.sendRaw("[]")},onFinished:function(u,r){r===200?u.reconnect():u.onClose(1006,"Connection interrupted ("+r+")",!1)}},mc=hc,pc={getRequest:function(u){var r=U.getXHRAPI(),c=new r;return c.onreadystatechange=c.onprogress=function(){switch(c.readyState){case 3:c.responseText&&c.responseText.length>0&&u.onChunk(c.status,c.responseText);break;case 4:c.responseText&&c.responseText.length>0&&u.onChunk(c.status,c.responseText),u.emit("finished",c.status),u.close();break}},c},abortRequest:function(u){u.onreadystatechange=null,u.abort()}},vc=pc,bc={createStreamingSocket(u){return this.createSocket(uc,u)},createPollingSocket(u){return this.createSocket(mc,u)},createSocket(u,r){return new dc(u,r)},createXHR(u,r){return this.createRequest(vc,u,r)},createRequest(u,r,c){return new tc(u,r,c)}},Gs=bc;Gs.createXDR=function(u,r){return this.createRequest(ec,u,r)};var fc=Gs,gc={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:a,DependenciesReceivers:m,getDefaultStrategy:Yd,Transports:Ad,transportConnectionInitializer:Qd,HTTPFactory:fc,TimelineTransport:di,getXHRAPI(){return window.XMLHttpRequest},getWebSocketAPI(){return window.WebSocket||window.MozWebSocket},setup(u){window.Pusher=u;var r=()=>{this.onDocumentBody(u.ready)};window.JSON?r():g.load("json2",{},r)},getDocument(){return document},getProtocol(){return this.getDocument().location.protocol},getAuthorizers(){return{ajax:de,jsonp:oi}},onDocumentBody(u){document.body?u():setTimeout(()=>{this.onDocumentBody(u)},0)},createJSONPRequest(u,r){return new ai(u,r)},createScriptRequest(u){return new si(u)},getLocalStorage(){try{return window.localStorage}catch{return}},createXHR(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest(){var u=this.getXHRAPI();return new u},createMicrosoftXHR(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork(){return Ld},createWebSocket(u){var r=this.getWebSocketAPI();return new r(u)},createSocketRequest(u,r){if(this.isXHRSupported())return this.HTTPFactory.createXHR(u,r);if(this.isXDRSupported(r.indexOf("https:")===0))return this.HTTPFactory.createXDR(u,r);throw"Cross-origin HTTP requests are not supported"},isXHRSupported(){var u=this.getXHRAPI();return!!u&&new u().withCredentials!==void 0},isXDRSupported(u){var r=u?"https:":"http:",c=this.getProtocol();return!!window.XDomainRequest&&c===r},addUnloadListener(u){window.addEventListener!==void 0?window.addEventListener("unload",u,!1):window.attachEvent!==void 0&&window.attachEvent("onunload",u)},removeUnloadListener(u){window.addEventListener!==void 0?window.removeEventListener("unload",u,!1):window.detachEvent!==void 0&&window.detachEvent("onunload",u)},randomInt(u){return Math.floor(function(){return(window.crypto||window.msCrypto).getRandomValues(new Uint32Array(1))[0]/Math.pow(2,32)}()*u)}},U=gc,so;(function(u){u[u.ERROR=3]="ERROR",u[u.INFO=6]="INFO",u[u.DEBUG=7]="DEBUG"})(so||(so={}));var hi=so;class yc{constructor(r,c,y){this.key=r,this.session=c,this.events=[],this.options=y||{},this.sent=0,this.uniqueID=0}log(r,c){r<=this.options.level&&(this.events.push(ke({},c,{timestamp:he.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())}error(r){this.log(hi.ERROR,r)}info(r){this.log(hi.INFO,r)}debug(r){this.log(hi.DEBUG,r)}isEmpty(){return this.events.length===0}send(r,c){var y=ke({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],r(y,(S,L)=>{S||this.sent++,c&&c(S,L)}),!0}generateUniqueID(){return this.uniqueID++,this.uniqueID}}class wc{constructor(r,c,y,S){this.name=r,this.priority=c,this.transport=y,this.options=S||{}}isSupported(){return this.transport.isSupported({useTLS:this.options.useTLS})}connect(r,c){if(this.isSupported()){if(this.priority<r)return zs(new _,c)}else return zs(new q,c);var y=!1,S=this.transport.createConnection(this.name,this.priority,this.options.key,this.options),L=null,D=function(){S.unbind("initialized",D),S.connect()},B=function(){L=mn.createHandshake(S,function(Ce){y=!0,ie(),c(null,Ce)})},V=function(Ce){ie(),c(Ce)},Q=function(){ie();var Ce;Ce=Rn(S),c(new E(Ce))},ie=function(){S.unbind("initialized",D),S.unbind("open",B),S.unbind("error",V),S.unbind("closed",Q)};return S.bind("initialized",D),S.bind("open",B),S.bind("error",V),S.bind("closed",Q),S.initialize(),{abort:()=>{y||(ie(),L?L.close():S.close())},forceMinPriority:Ce=>{y||this.priority<Ce&&(L?L.close():S.close())}}}}function zs(u,r){return he.defer(function(){r(u)}),{abort:function(){},forceMinPriority:function(){}}}const{Transports:Cc}=U;var kc=function(u,r,c,y,S,L){var D=Cc[c];if(!D)throw new G(c);var B=(!u.enabledTransports||Ve(u.enabledTransports,r)!==-1)&&(!u.disabledTransports||Ve(u.disabledTransports,r)===-1),V;return B?(S=Object.assign({ignoreNullOrigin:u.ignoreNullOrigin},S),V=new wc(r,y,L?L.getAssistant(D):D,S)):V=Sc,V},Sc={isSupported:function(){return!1},connect:function(u,r){var c=he.defer(function(){r(new q)});return{abort:function(){c.ensureAborted()},forceMinPriority:function(){}}}};function xc(u){if(u==null)throw"You must pass an options object";if(u.cluster==null)throw"Options object must provide a cluster";"disableStats"in u&&ae.warn("The disableStats option is deprecated in favor of enableStats")}const _c=(u,r)=>{var c="socket_id="+encodeURIComponent(u.socketId);for(var y in r.params)c+="&"+encodeURIComponent(y)+"="+encodeURIComponent(r.params[y]);if(r.paramsProvider!=null){let S=r.paramsProvider();for(var y in S)c+="&"+encodeURIComponent(y)+"="+encodeURIComponent(S[y])}return c};var Mc=u=>{if(typeof U.getAuthorizers()[u.transport]>"u")throw`'${u.transport}' is not a recognized auth transport`;return(r,c)=>{const y=_c(r,u);U.getAuthorizers()[u.transport](U,y,u,w.UserAuthentication,c)}};const Ac=(u,r)=>{var c="socket_id="+encodeURIComponent(u.socketId);c+="&channel_name="+encodeURIComponent(u.channelName);for(var y in r.params)c+="&"+encodeURIComponent(y)+"="+encodeURIComponent(r.params[y]);if(r.paramsProvider!=null){let S=r.paramsProvider();for(var y in S)c+="&"+encodeURIComponent(y)+"="+encodeURIComponent(S[y])}return c};var Tc=u=>{if(typeof U.getAuthorizers()[u.transport]>"u")throw`'${u.transport}' is not a recognized auth transport`;return(r,c)=>{const y=Ac(r,u);U.getAuthorizers()[u.transport](U,y,u,w.ChannelAuthorization,c)}};const Lc=(u,r,c)=>{const y={authTransport:r.transport,authEndpoint:r.endpoint,auth:{params:r.params,headers:r.headers}};return(S,L)=>{const D=u.channel(S.channelName);c(D,y).authorize(S.socketId,L)}};function Ec(u,r){let c={activityTimeout:u.activityTimeout||d.activityTimeout,cluster:u.cluster,httpPath:u.httpPath||d.httpPath,httpPort:u.httpPort||d.httpPort,httpsPort:u.httpsPort||d.httpsPort,pongTimeout:u.pongTimeout||d.pongTimeout,statsHost:u.statsHost||d.stats_host,unavailableTimeout:u.unavailableTimeout||d.unavailableTimeout,wsPath:u.wsPath||d.wsPath,wsPort:u.wsPort||d.wsPort,wssPort:u.wssPort||d.wssPort,enableStats:Bc(u),httpHost:Pc(u),useTLS:Hc(u),wsHost:Dc(u),userAuthenticator:Nc(u),channelAuthorizer:Oc(u,r)};return"disabledTransports"in u&&(c.disabledTransports=u.disabledTransports),"enabledTransports"in u&&(c.enabledTransports=u.enabledTransports),"ignoreNullOrigin"in u&&(c.ignoreNullOrigin=u.ignoreNullOrigin),"timelineParams"in u&&(c.timelineParams=u.timelineParams),"nacl"in u&&(c.nacl=u.nacl),c}function Pc(u){return u.httpHost?u.httpHost:u.cluster?`sockjs-${u.cluster}.pusher.com`:d.httpHost}function Dc(u){return u.wsHost?u.wsHost:Ic(u.cluster)}function Ic(u){return`ws-${u}.pusher.com`}function Hc(u){return U.getProtocol()==="https:"?!0:u.forceTLS!==!1}function Bc(u){return"enableStats"in u?u.enableStats:"disableStats"in u?!u.disableStats:!1}function Nc(u){const r=Object.assign(Object.assign({},d.userAuthentication),u.userAuthentication);return"customHandler"in r&&r.customHandler!=null?r.customHandler:Mc(r)}function Rc(u,r){let c;return"channelAuthorization"in u?c=Object.assign(Object.assign({},d.channelAuthorization),u.channelAuthorization):(c={transport:u.authTransport||d.authTransport,endpoint:u.authEndpoint||d.authEndpoint},"auth"in u&&("params"in u.auth&&(c.params=u.auth.params),"headers"in u.auth&&(c.headers=u.auth.headers)),"authorizer"in u&&(c.customHandler=Lc(r,c,u.authorizer))),c}function Oc(u,r){const c=Rc(u,r);return"customHandler"in c&&c.customHandler!=null?c.customHandler:Tc(c)}class Vc extends hn{constructor(r){super(function(c,y){ae.debug(`No callbacks on watchlist events for ${c}`)}),this.pusher=r,this.bindWatchlistInternalEvent()}handleEvent(r){r.data.events.forEach(c=>{this.emit(c.name,c)})}bindWatchlistInternalEvent(){this.pusher.connection.bind("message",r=>{var c=r.event;c==="pusher_internal:watchlist_events"&&this.handleEvent(r)})}}function Uc(){let u,r;return{promise:new Promise((y,S)=>{u=y,r=S}),resolve:u,reject:r}}var jc=Uc;class Kc extends hn{constructor(r){super(function(c,y){ae.debug("No callbacks on user for "+c)}),this.signin_requested=!1,this.user_data=null,this.serverToUserChannel=null,this.signinDonePromise=null,this._signinDoneResolve=null,this._onAuthorize=(c,y)=>{if(c){ae.warn(`Error during signin: ${c}`),this._cleanup();return}this.pusher.send_event("pusher:signin",{auth:y.auth,user_data:y.user_data})},this.pusher=r,this.pusher.connection.bind("state_change",({previous:c,current:y})=>{c!=="connected"&&y==="connected"&&this._signin(),c==="connected"&&y!=="connected"&&(this._cleanup(),this._newSigninPromiseIfNeeded())}),this.watchlist=new Vc(r),this.pusher.connection.bind("message",c=>{var y=c.event;y==="pusher:signin_success"&&this._onSigninSuccess(c.data),this.serverToUserChannel&&this.serverToUserChannel.name===c.channel&&this.serverToUserChannel.handleEvent(c)})}signin(){this.signin_requested||(this.signin_requested=!0,this._signin())}_signin(){this.signin_requested&&(this._newSigninPromiseIfNeeded(),this.pusher.connection.state==="connected"&&this.pusher.config.userAuthenticator({socketId:this.pusher.connection.socket_id},this._onAuthorize))}_onSigninSuccess(r){try{this.user_data=JSON.parse(r.user_data)}catch{ae.error(`Failed parsing user data after signin: ${r.user_data}`),this._cleanup();return}if(typeof this.user_data.id!="string"||this.user_data.id===""){ae.error(`user_data doesn't contain an id. user_data: ${this.user_data}`),this._cleanup();return}this._signinDoneResolve(),this._subscribeChannels()}_subscribeChannels(){const r=c=>{c.subscriptionPending&&c.subscriptionCancelled?c.reinstateSubscription():!c.subscriptionPending&&this.pusher.connection.state==="connected"&&c.subscribe()};this.serverToUserChannel=new Xi(`#server-to-user-${this.user_data.id}`,this.pusher),this.serverToUserChannel.bind_global((c,y)=>{c.indexOf("pusher_internal:")===0||c.indexOf("pusher:")===0||this.emit(c,y)}),r(this.serverToUserChannel)}_cleanup(){this.user_data=null,this.serverToUserChannel&&(this.serverToUserChannel.unbind_all(),this.serverToUserChannel.disconnect(),this.serverToUserChannel=null),this.signin_requested&&this._signinDoneResolve()}_newSigninPromiseIfNeeded(){if(!this.signin_requested||this.signinDonePromise&&!this.signinDonePromise.done)return;const{promise:r,resolve:c,reject:y}=jc();r.done=!1;const S=()=>{r.done=!0};r.then(S).catch(S),this.signinDonePromise=r,this._signinDoneResolve=c}}class xe{static ready(){xe.isReady=!0;for(var r=0,c=xe.instances.length;r<c;r++)xe.instances[r].connect()}static getClientFeatures(){return en(ee({ws:U.Transports.ws},function(r){return r.isSupported({})}))}constructor(r,c){Fc(r),xc(c),this.key=r,this.config=Ec(c,this),this.channels=mn.createChannels(),this.global_emitter=new hn,this.sessionID=U.randomInt(1e9),this.timeline=new yc(this.key,this.sessionID,{cluster:this.config.cluster,features:xe.getClientFeatures(),params:this.config.timelineParams||{},limit:50,level:hi.INFO,version:d.VERSION}),this.config.enableStats&&(this.timelineSender=mn.createTimelineSender(this.timeline,{host:this.config.statsHost,path:"/timeline/v2/"+U.TimelineTransport.name}));var y=S=>U.getDefaultStrategy(this.config,S,kc);this.connection=mn.createConnectionManager(this.key,{getStrategy:y,timeline:this.timeline,activityTimeout:this.config.activityTimeout,pongTimeout:this.config.pongTimeout,unavailableTimeout:this.config.unavailableTimeout,useTLS:!!this.config.useTLS}),this.connection.bind("connected",()=>{this.subscribeAll(),this.timelineSender&&this.timelineSender.send(this.connection.isUsingTLS())}),this.connection.bind("message",S=>{var L=S.event,D=L.indexOf("pusher_internal:")===0;if(S.channel){var B=this.channel(S.channel);B&&B.handleEvent(S)}D||this.global_emitter.emit(S.event,S.data)}),this.connection.bind("connecting",()=>{this.channels.disconnect()}),this.connection.bind("disconnected",()=>{this.channels.disconnect()}),this.connection.bind("error",S=>{ae.warn(S)}),xe.instances.push(this),this.timeline.info({instances:xe.instances.length}),this.user=new Kc(this),xe.isReady&&this.connect()}channel(r){return this.channels.find(r)}allChannels(){return this.channels.all()}connect(){if(this.connection.connect(),this.timelineSender&&!this.timelineSenderTimer){var r=this.connection.isUsingTLS(),c=this.timelineSender;this.timelineSenderTimer=new un(6e4,function(){c.send(r)})}}disconnect(){this.connection.disconnect(),this.timelineSenderTimer&&(this.timelineSenderTimer.ensureAborted(),this.timelineSenderTimer=null)}bind(r,c,y){return this.global_emitter.bind(r,c,y),this}unbind(r,c,y){return this.global_emitter.unbind(r,c,y),this}bind_global(r){return this.global_emitter.bind_global(r),this}unbind_global(r){return this.global_emitter.unbind_global(r),this}unbind_all(r){return this.global_emitter.unbind_all(),this}subscribeAll(){var r;for(r in this.channels.channels)this.channels.channels.hasOwnProperty(r)&&this.subscribe(r)}subscribe(r){var c=this.channels.add(r,this);return c.subscriptionPending&&c.subscriptionCancelled?c.reinstateSubscription():!c.subscriptionPending&&this.connection.state==="connected"&&c.subscribe(),c}unsubscribe(r){var c=this.channels.find(r);c&&c.subscriptionPending?c.cancelSubscription():(c=this.channels.remove(r),c&&c.subscribed&&c.unsubscribe())}send_event(r,c,y){return this.connection.send_event(r,c,y)}shouldUseTLS(){return this.config.useTLS}signin(){this.user.signin()}}xe.instances=[],xe.isReady=!1,xe.logToConsole=!1,xe.Runtime=U,xe.ScriptReceivers=U.ScriptReceivers,xe.DependenciesReceivers=U.DependenciesReceivers,xe.auth_callbacks=U.auth_callbacks;var ao=i.default=xe;function Fc(u){if(u==null)throw"You must pass your app key when you instantiate Pusher."}U.setup(xe)}])})})(As);var Nl=As.exports;const Rl=Bl(Nl);class Ts{constructor(e){h(this,"container");h(this,"onAction");h(this,"onFail");h(this,"initialTime");h(this,"timeLeft");h(this,"timerId");h(this,"payment");this.container=e.container,this.onAction=e.onAction,this.onFail=e.onFail,this.initialTime=1800,this.timeLeft=this.initialTime,this.timerId=null}attachListener(){const e=this.container.querySelector("#transfer-acn"),t=this.container.querySelector("#transfer-bank"),i=this.container.querySelector("#copy-acn"),o=this.container.querySelector("#acn-tooltip"),s=this.container.querySelector("#transfer-amount"),a=this.container.querySelector("#copy-amount"),l=this.container.querySelector("#amount-tooltip"),d=this.container.querySelector("#transfer-button"),v=this.container.querySelector("#transfer-header-text"),m=this.container.querySelector("#bank-name-text"),g=this.container.querySelector("#beneficiary-text"),b=this.container.querySelector("#amount-text"),f=this.container.querySelectorAll(".copy-text"),C=this.container.querySelector("#account-number-text"),w=this.container.querySelector("#expiration-text");v&&(v.innerHTML=Ge["transfer-header"]),b&&(b.innerHTML=ne.amount),f.forEach(k=>{k.innerHTML=I.copy}),C&&(C.innerHTML=Ge["account-number"]),m&&(m.innerHTML=Ge["bank-name"]),g&&(g.innerHTML=Ge.beneficiary),w&&(w.innerHTML=Ge["expiration-text"]),i&&e&&i.addEventListener("click",()=>{o&&(t&&P.track("copy_transferBank",{payment_method:"Transfer",payment_process:"Payment Started",account_number:e.innerHTML,bank_name:t.innerHTML}),this.copyToClipboard(e.innerHTML,o))}),a&&s&&a.addEventListener("click",()=>{l&&(P.track("copy_transferAmount",{payment_method:"Transfer",amount:s.innerHTML.split(" ")[1].replace(/,/g,"")}),this.copyToClipboard(s.innerHTML.split(" ")[1].replace(/,/g,""),l))}),d&&(d.innerHTML=Ge["made-transfer"],d.addEventListener("click",()=>{this.onAction(5),P.track("initiate_payment_verification",{payment_method:"Transfer"})}))}startTimer(e){this.stopTimer(),this.timerId=window.setInterval(()=>{if(this.timeLeft>0){this.timeLeft-=1;const t=this.container.querySelector("#time-left");t&&(t.innerHTML=it(this.timeLeft))}else this.stopTimer(),e==="check"&&this.onAction(2)},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}copyToClipboard(e,t){navigator.clipboard.writeText(e).then(()=>{t.innerHTML=I.copied}).catch(()=>{t.innerHTML=I["copy-fail"]})}renderComponent(e){var g,b,f,C,w,k;e&&(this.payment=e),this.container.innerHTML=this.render();const t=this.container.querySelector("#transfer-amount"),i=this.container.querySelector("#transfer-bank"),o=this.container.querySelector("#account-name"),s=this.container.querySelector("#transfer-acn"),a=this.container.querySelector("#time-left"),l=((g=this.payment)==null?void 0:g.currency)||"USD",d=l==="USD"?(b=this.payment)==null?void 0:b.localCurrency:l;if(t&&(t.innerHTML=`${d} ${Ne(this.payment.totalTaxAmount?this.payment.totalLocalAmount:l==="USD"?(f=this.payment)==null?void 0:f.localAmount:(C=this.payment)==null?void 0:C.amount,2)}`),i&&this.payment.bankDetails&&(i.innerHTML=(w=this.payment.bankDetails)==null?void 0:w.bankName),o&&this.payment.bankDetails&&(o.innerHTML=(k=this.payment.bankDetails)==null?void 0:k.accountName),s&&this.payment.bankDetails&&(s.innerHTML=this.payment.bankDetails.accountNumber),a&&(a.innerHTML=it(this.initialTime)),this.startTimer("poll"),e.status==="inProgress"){const x="45654f3ce4c9512ea9a4",M="us2";var v=new Rl(x,{cluster:M}),m=v.subscribe(e.reference);m.bind("payment_status",_=>{_.status==="successful"?(clearInterval(this.timerId||void 0),this.onAction(6),P.track("verify_payment",{payment_method:"Transfer",verification_status:"Success"}),_!=null&&_.redirectUrl&&setTimeout(()=>{const E=new URL(_.redirectUrl);E.searchParams.append("status",_.status),E.searchParams.append("reference",_.reference),window.location.href=E.toString()},1800)):_.status==="failed"&&(clearInterval(this.timerId||void 0),this.onFail(7,"Transfer failed"),P.track("verify_payment",{payment_method:"Transfer",verification_status:"Failed"}))})}this.attachListener()}render(){return Hl}}const Ol=`<div id="trasferConfirmationProgress">
|
|
1520
|
+
*/(function(n,e){(function(i,s){n.exports=s()})(window,function(){return function(t){var i={};function s(o){if(i[o])return i[o].exports;var a=i[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,s),a.l=!0,a.exports}return s.m=t,s.c=i,s.d=function(o,a,l){s.o(o,a)||Object.defineProperty(o,a,{enumerable:!0,get:l})},s.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},s.t=function(o,a){if(a&1&&(o=s(o)),a&8||a&4&&typeof o=="object"&&o&&o.__esModule)return o;var l=Object.create(null);if(s.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:o}),a&2&&typeof o!="string")for(var c in o)s.d(l,c,(function(v){return o[v]}).bind(null,c));return l},s.n=function(o){var a=o&&o.__esModule?function(){return o.default}:function(){return o};return s.d(a,"a",a),a},s.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},s.p="",s(s.s=2)}([function(t,i,s){var o=this&&this.__extends||function(){var C=function(k,x){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(M,L){M.__proto__=L}||function(M,L){for(var P in L)L.hasOwnProperty(P)&&(M[P]=L[P])},C(k,x)};return function(k,x){C(k,x);function M(){this.constructor=k}k.prototype=x===null?Object.create(x):(M.prototype=x.prototype,new M)}}();Object.defineProperty(i,"__esModule",{value:!0});var a=256,l=function(){function C(k){k===void 0&&(k="="),this._paddingCharacter=k}return C.prototype.encodedLength=function(k){return this._paddingCharacter?(k+2)/3*4|0:(k*8+5)/6|0},C.prototype.encode=function(k){for(var x="",M=0;M<k.length-2;M+=3){var L=k[M]<<16|k[M+1]<<8|k[M+2];x+=this._encodeByte(L>>>3*6&63),x+=this._encodeByte(L>>>2*6&63),x+=this._encodeByte(L>>>1*6&63),x+=this._encodeByte(L>>>0*6&63)}var P=k.length-M;if(P>0){var L=k[M]<<16|(P===2?k[M+1]<<8:0);x+=this._encodeByte(L>>>3*6&63),x+=this._encodeByte(L>>>2*6&63),P===2?x+=this._encodeByte(L>>>1*6&63):x+=this._paddingCharacter||"",x+=this._paddingCharacter||""}return x},C.prototype.maxDecodedLength=function(k){return this._paddingCharacter?k/4*3|0:(k*6+7)/8|0},C.prototype.decodedLength=function(k){return this.maxDecodedLength(k.length-this._getPaddingLength(k))},C.prototype.decode=function(k){if(k.length===0)return new Uint8Array(0);for(var x=this._getPaddingLength(k),M=k.length-x,L=new Uint8Array(this.maxDecodedLength(M)),P=0,B=0,j=0,W=0,K=0,z=0,de=0;B<M-4;B+=4)W=this._decodeChar(k.charCodeAt(B+0)),K=this._decodeChar(k.charCodeAt(B+1)),z=this._decodeChar(k.charCodeAt(B+2)),de=this._decodeChar(k.charCodeAt(B+3)),L[P++]=W<<2|K>>>4,L[P++]=K<<4|z>>>2,L[P++]=z<<6|de,j|=W&a,j|=K&a,j|=z&a,j|=de&a;if(B<M-1&&(W=this._decodeChar(k.charCodeAt(B)),K=this._decodeChar(k.charCodeAt(B+1)),L[P++]=W<<2|K>>>4,j|=W&a,j|=K&a),B<M-2&&(z=this._decodeChar(k.charCodeAt(B+2)),L[P++]=K<<4|z>>>2,j|=z&a),B<M-3&&(de=this._decodeChar(k.charCodeAt(B+3)),L[P++]=z<<6|de,j|=de&a),j!==0)throw new Error("Base64Coder: incorrect characters for decoding");return L},C.prototype._encodeByte=function(k){var x=k;return x+=65,x+=25-k>>>8&6,x+=51-k>>>8&-75,x+=61-k>>>8&-15,x+=62-k>>>8&3,String.fromCharCode(x)},C.prototype._decodeChar=function(k){var x=a;return x+=(42-k&k-44)>>>8&-a+k-43+62,x+=(46-k&k-48)>>>8&-a+k-47+63,x+=(47-k&k-58)>>>8&-a+k-48+52,x+=(64-k&k-91)>>>8&-a+k-65+0,x+=(96-k&k-123)>>>8&-a+k-97+26,x},C.prototype._getPaddingLength=function(k){var x=0;if(this._paddingCharacter){for(var M=k.length-1;M>=0&&k[M]===this._paddingCharacter;M--)x++;if(k.length<4||x>2)throw new Error("Base64Coder: incorrect padding")}return x},C}();i.Coder=l;var c=new l;function v(C){return c.encode(C)}i.encode=v;function m(C){return c.decode(C)}i.decode=m;var f=function(C){o(k,C);function k(){return C!==null&&C.apply(this,arguments)||this}return k.prototype._encodeByte=function(x){var M=x;return M+=65,M+=25-x>>>8&6,M+=51-x>>>8&-75,M+=61-x>>>8&-13,M+=62-x>>>8&49,String.fromCharCode(M)},k.prototype._decodeChar=function(x){var M=a;return M+=(44-x&x-46)>>>8&-a+x-45+62,M+=(94-x&x-96)>>>8&-a+x-95+63,M+=(47-x&x-58)>>>8&-a+x-48+52,M+=(64-x&x-91)>>>8&-a+x-65+0,M+=(96-x&x-123)>>>8&-a+x-97+26,M},k}(l);i.URLSafeCoder=f;var b=new f;function g(C){return b.encode(C)}i.encodeURLSafe=g;function w(C){return b.decode(C)}i.decodeURLSafe=w,i.encodedLength=function(C){return c.encodedLength(C)},i.maxDecodedLength=function(C){return c.maxDecodedLength(C)},i.decodedLength=function(C){return c.decodedLength(C)}},function(t,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o="utf8: invalid string",a="utf8: invalid source encoding";function l(m){for(var f=new Uint8Array(c(m)),b=0,g=0;g<m.length;g++){var w=m.charCodeAt(g);w<128?f[b++]=w:w<2048?(f[b++]=192|w>>6,f[b++]=128|w&63):w<55296?(f[b++]=224|w>>12,f[b++]=128|w>>6&63,f[b++]=128|w&63):(g++,w=(w&1023)<<10,w|=m.charCodeAt(g)&1023,w+=65536,f[b++]=240|w>>18,f[b++]=128|w>>12&63,f[b++]=128|w>>6&63,f[b++]=128|w&63)}return f}i.encode=l;function c(m){for(var f=0,b=0;b<m.length;b++){var g=m.charCodeAt(b);if(g<128)f+=1;else if(g<2048)f+=2;else if(g<55296)f+=3;else if(g<=57343){if(b>=m.length-1)throw new Error(o);b++,f+=4}else throw new Error(o)}return f}i.encodedLength=c;function v(m){for(var f=[],b=0;b<m.length;b++){var g=m[b];if(g&128){var w=void 0;if(g<224){if(b>=m.length)throw new Error(a);var C=m[++b];if((C&192)!==128)throw new Error(a);g=(g&31)<<6|C&63,w=128}else if(g<240){if(b>=m.length-1)throw new Error(a);var C=m[++b],k=m[++b];if((C&192)!==128||(k&192)!==128)throw new Error(a);g=(g&15)<<12|(C&63)<<6|k&63,w=2048}else if(g<248){if(b>=m.length-2)throw new Error(a);var C=m[++b],k=m[++b],x=m[++b];if((C&192)!==128||(k&192)!==128||(x&192)!==128)throw new Error(a);g=(g&15)<<18|(C&63)<<12|(k&63)<<6|x&63,w=65536}else throw new Error(a);if(g<w||g>=55296&&g<=57343)throw new Error(a);if(g>=65536){if(g>1114111)throw new Error(a);g-=65536,f.push(String.fromCharCode(55296|g>>10)),g=56320|g&1023}}f.push(String.fromCharCode(g))}return f.join("")}i.decode=v},function(t,i,s){t.exports=s(3).default},function(t,i,s){s.r(i);class o{constructor(r,d){this.lastId=0,this.prefix=r,this.name=d}create(r){this.lastId++;var d=this.lastId,y=this.prefix+d,S=this.name+"["+d+"]",_=!1,I=function(){_||(r.apply(null,arguments),_=!0)};return this[d]=I,{number:d,id:y,name:S,callback:I}}remove(r){delete this[r.number]}}var a=new o("_pusher_script_","Pusher.ScriptReceivers"),l={VERSION:"8.4.0",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,userAuthentication:{endpoint:"/pusher/user-auth",transport:"ajax"},channelAuthorization:{endpoint:"/pusher/auth",transport:"ajax"},cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},c=l;class v{constructor(r){this.options=r,this.receivers=r.receivers||a,this.loading={}}load(r,d,y){var S=this;if(S.loading[r]&&S.loading[r].length>0)S.loading[r].push(y);else{S.loading[r]=[y];var _=V.createScriptRequest(S.getPath(r,d)),I=S.receivers.create(function(N){if(S.receivers.remove(I),S.loading[r]){var U=S.loading[r];delete S.loading[r];for(var $=function(we){we||_.cleanup()},ie=0;ie<U.length;ie++)U[ie](N,$)}});_.send(I)}}getRoot(r){var d,y=V.getDocument().location.protocol;return r&&r.useTLS||y==="https:"?d=this.options.cdn_https:d=this.options.cdn_http,d.replace(/\/*$/,"")+"/"+this.options.version}getPath(r,d){return this.getRoot(d)+"/"+r+this.options.suffix+".js"}}var m=new o("_pusher_dependencies","Pusher.DependenciesReceivers"),f=new v({cdn_http:c.cdn_http,cdn_https:c.cdn_https,version:c.VERSION,suffix:c.dependency_suffix,receivers:m});const b={baseUrl:"https://pusher.com",urls:{authenticationEndpoint:{path:"/docs/channels/server_api/authenticating_users"},authorizationEndpoint:{path:"/docs/channels/server_api/authorizing-users/"},javascriptQuickStart:{path:"/docs/javascript_quick_start"},triggeringClientEvents:{path:"/docs/client_api_guide/client_events#trigger-events"},encryptedChannelSupport:{fullUrl:"https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support"}}};var w={buildLogSuffix:function(h){const r="See:",d=b.urls[h];if(!d)return"";let y;return d.fullUrl?y=d.fullUrl:d.path&&(y=b.baseUrl+d.path),y?`${r} ${y}`:""}},C;(function(h){h.UserAuthentication="user-authentication",h.ChannelAuthorization="channel-authorization"})(C||(C={}));class k extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class x extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class M extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class L extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class P extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class B extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class j extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class W extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class K extends Error{constructor(r,d){super(d),this.status=r,Object.setPrototypeOf(this,new.target.prototype)}}var de=function(h,r,d,y,S){const _=V.createXHR();_.open("POST",d.endpoint,!0),_.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var I in d.headers)_.setRequestHeader(I,d.headers[I]);if(d.headersProvider!=null){let N=d.headersProvider();for(var I in N)_.setRequestHeader(I,N[I])}return _.onreadystatechange=function(){if(_.readyState===4)if(_.status===200){let N,U=!1;try{N=JSON.parse(_.responseText),U=!0}catch{S(new K(200,`JSON returned from ${y.toString()} endpoint was invalid, yet status code was 200. Data was: ${_.responseText}`),null)}U&&S(null,N)}else{let N="";switch(y){case C.UserAuthentication:N=w.buildLogSuffix("authenticationEndpoint");break;case C.ChannelAuthorization:N=`Clients must be authorized to join private or presence channels. ${w.buildLogSuffix("authorizationEndpoint")}`;break}S(new K(_.status,`Unable to retrieve auth string from ${y.toString()} endpoint - received status: ${_.status} from ${d.endpoint}. ${N}`),null)}},_.send(r),_};function Ae(h){return $e(Re(h))}var F=String.fromCharCode,Ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ge=function(h){var r=h.charCodeAt(0);return r<128?h:r<2048?F(192|r>>>6)+F(128|r&63):F(224|r>>>12&15)+F(128|r>>>6&63)+F(128|r&63)},Re=function(h){return h.replace(/[^\x00-\x7F]/g,ge)},De=function(h){var r=[0,2,1][h.length%3],d=h.charCodeAt(0)<<16|(h.length>1?h.charCodeAt(1):0)<<8|(h.length>2?h.charCodeAt(2):0),y=[Ie.charAt(d>>>18),Ie.charAt(d>>>12&63),r>=2?"=":Ie.charAt(d>>>6&63),r>=1?"=":Ie.charAt(d&63)];return y.join("")},$e=window.btoa||function(h){return h.replace(/[\s\S]{1,3}/g,De)};class Tn{constructor(r,d,y,S){this.clear=d,this.timer=r(()=>{this.timer&&(this.timer=S(this.timer))},y)}isRunning(){return this.timer!==null}ensureAborted(){this.timer&&(this.clear(this.timer),this.timer=null)}}var pn=Tn;function Rn(h){window.clearTimeout(h)}function _n(h){window.clearInterval(h)}class Oe extends pn{constructor(r,d){super(setTimeout,Rn,r,function(y){return d(),null})}}class vn extends pn{constructor(r,d){super(setInterval,_n,r,function(y){return d(),y})}}var On={now(){return Date.now?Date.now():new Date().valueOf()},defer(h){return new Oe(0,h)},method(h,...r){var d=Array.prototype.slice.call(arguments,1);return function(y){return y[h].apply(y,d.concat(arguments))}}},me=On;function ke(h,...r){for(var d=0;d<r.length;d++){var y=r[d];for(var S in y)y[S]&&y[S].constructor&&y[S].constructor===Object?h[S]=ke(h[S]||{},y[S]):h[S]=y[S]}return h}function qe(){for(var h=["Pusher"],r=0;r<arguments.length;r++)typeof arguments[r]=="string"?h.push(arguments[r]):h.push(Un(arguments[r]));return h.join(" : ")}function Ue(h,r){var d=Array.prototype.indexOf;if(h===null)return-1;if(d&&h.indexOf===d)return h.indexOf(r);for(var y=0,S=h.length;y<S;y++)if(h[y]===r)return y;return-1}function Te(h,r){for(var d in h)Object.prototype.hasOwnProperty.call(h,d)&&r(h[d],d,h)}function sn(h){var r=[];return Te(h,function(d,y){r.push(y)}),r}function H(h){var r=[];return Te(h,function(d){r.push(d)}),r}function ye(h,r,d){for(var y=0;y<h.length;y++)r.call(d||window,h[y],y,h)}function te(h,r){for(var d=[],y=0;y<h.length;y++)d.push(r(h[y],y,h,d));return d}function Ce(h,r){var d={};return Te(h,function(y,S){d[S]=r(y)}),d}function Ve(h,r){r=r||function(S){return!!S};for(var d=[],y=0;y<h.length;y++)r(h[y],y,h,d)&&d.push(h[y]);return d}function ne(h,r){var d={};return Te(h,function(y,S){(r&&r(y,S,h,d)||y)&&(d[S]=y)}),d}function En(h){var r=[];return Te(h,function(d,y){r.push([y,d])}),r}function At(h,r){for(var d=0;d<h.length;d++)if(r(h[d],d,h))return!0;return!1}function ti(h,r){for(var d=0;d<h.length;d++)if(!r(h[d],d,h))return!1;return!0}function ii(h){return Ce(h,function(r){return typeof r=="object"&&(r=Un(r)),encodeURIComponent(Ae(r.toString()))})}function si(h){var r=ne(h,function(y){return y!==void 0}),d=te(En(ii(r)),me.method("join","=")).join("&");return d}function oi(h){var r=[],d=[];return function y(S,_){var I,N,U;switch(typeof S){case"object":if(!S)return null;for(I=0;I<r.length;I+=1)if(r[I]===S)return{$ref:d[I]};if(r.push(S),d.push(_),Object.prototype.toString.apply(S)==="[object Array]")for(U=[],I=0;I<S.length;I+=1)U[I]=y(S[I],_+"["+I+"]");else{U={};for(N in S)Object.prototype.hasOwnProperty.call(S,N)&&(U[N]=y(S[N],_+"["+JSON.stringify(N)+"]"))}return U;case"number":case"string":case"boolean":return S}}(h,"$")}function Un(h){try{return JSON.stringify(h)}catch{return JSON.stringify(oi(h))}}class ai{constructor(){this.globalLog=r=>{window.console&&window.console.log&&window.console.log(r)}}debug(...r){this.log(this.globalLog,r)}warn(...r){this.log(this.globalLogWarn,r)}error(...r){this.log(this.globalLogError,r)}globalLogWarn(r){window.console&&window.console.warn?window.console.warn(r):this.globalLog(r)}globalLogError(r){window.console&&window.console.error?window.console.error(r):this.globalLogWarn(r)}log(r,...d){var y=qe.apply(this,arguments);bs.log?bs.log(y):bs.logToConsole&&r.bind(this)(y)}}var re=new ai,ri=function(h,r,d,y,S){(d.headers!==void 0||d.headersProvider!=null)&&re.warn(`To send headers with the ${y.toString()} request, you must use AJAX, rather than JSONP.`);var _=h.nextAuthCallbackID.toString();h.nextAuthCallbackID++;var I=h.getDocument(),N=I.createElement("script");h.auth_callbacks[_]=function(ie){S(null,ie)};var U="Pusher.auth_callbacks['"+_+"']";N.src=d.endpoint+"?callback="+encodeURIComponent(U)+"&"+r;var $=I.getElementsByTagName("head")[0]||I.documentElement;$.insertBefore(N,$.firstChild)},li=ri;class ci{constructor(r){this.src=r}send(r){var d=this,y="Error loading "+d.src;d.script=document.createElement("script"),d.script.id=r.id,d.script.src=d.src,d.script.type="text/javascript",d.script.charset="UTF-8",d.script.addEventListener?(d.script.onerror=function(){r.callback(y)},d.script.onload=function(){r.callback(null)}):d.script.onreadystatechange=function(){(d.script.readyState==="loaded"||d.script.readyState==="complete")&&r.callback(null)},d.script.async===void 0&&document.attachEvent&&/opera/i.test(navigator.userAgent)?(d.errorScript=document.createElement("script"),d.errorScript.id=r.id+"_error",d.errorScript.text=r.name+"('"+y+"');",d.script.async=d.errorScript.async=!1):d.script.async=!0;var S=document.getElementsByTagName("head")[0];S.insertBefore(d.script,S.firstChild),d.errorScript&&S.insertBefore(d.errorScript,d.script.nextSibling)}cleanup(){this.script&&(this.script.onload=this.script.onerror=null,this.script.onreadystatechange=null),this.script&&this.script.parentNode&&this.script.parentNode.removeChild(this.script),this.errorScript&&this.errorScript.parentNode&&this.errorScript.parentNode.removeChild(this.errorScript),this.script=null,this.errorScript=null}}class di{constructor(r,d){this.url=r,this.data=d}send(r){if(!this.request){var d=si(this.data),y=this.url+"/"+r.number+"?"+d;this.request=V.createScriptRequest(y),this.request.send(r)}}cleanup(){this.request&&this.request.cleanup()}}var ui=function(h,r){return function(d,y){var S="http"+(r?"s":"")+"://",_=S+(h.host||h.options.host)+h.options.path,I=V.createJSONPRequest(_,d),N=V.ScriptReceivers.create(function(U,$){a.remove(N),I.cleanup(),$&&$.host&&(h.host=$.host),y&&y(U,$)});I.send(N)}},hi={name:"jsonp",getAgent:ui},mi=hi;function ot(h,r,d){var y=h+(r.useTLS?"s":""),S=r.useTLS?r.hostTLS:r.hostNonTLS;return y+"://"+S+d}function at(h,r){var d="/app/"+h,y="?protocol="+c.PROTOCOL+"&client=js&version="+c.VERSION+(r?"&"+r:"");return d+y}var pi={getInitial:function(h,r){var d=(r.httpPath||"")+at(h,"flash=false");return ot("ws",r,d)}},vi={getInitial:function(h,r){var d=(r.httpPath||"/pusher")+at(h);return ot("http",r,d)}},bi={getInitial:function(h,r){return ot("http",r,r.httpPath||"/pusher")},getPath:function(h,r){return at(h)}};class fi{constructor(){this._callbacks={}}get(r){return this._callbacks[rt(r)]}add(r,d,y){var S=rt(r);this._callbacks[S]=this._callbacks[S]||[],this._callbacks[S].push({fn:d,context:y})}remove(r,d,y){if(!r&&!d&&!y){this._callbacks={};return}var S=r?[rt(r)]:sn(this._callbacks);d||y?this.removeCallback(S,d,y):this.removeAllCallbacks(S)}removeCallback(r,d,y){ye(r,function(S){this._callbacks[S]=Ve(this._callbacks[S]||[],function(_){return d&&d!==_.fn||y&&y!==_.context}),this._callbacks[S].length===0&&delete this._callbacks[S]},this)}removeAllCallbacks(r){ye(r,function(d){delete this._callbacks[d]},this)}}function rt(h){return"_"+h}class We{constructor(r){this.callbacks=new fi,this.global_callbacks=[],this.failThrough=r}bind(r,d,y){return this.callbacks.add(r,d,y),this}bind_global(r){return this.global_callbacks.push(r),this}unbind(r,d,y){return this.callbacks.remove(r,d,y),this}unbind_global(r){return r?(this.global_callbacks=Ve(this.global_callbacks||[],d=>d!==r),this):(this.global_callbacks=[],this)}unbind_all(){return this.unbind(),this.unbind_global(),this}emit(r,d,y){for(var S=0;S<this.global_callbacks.length;S++)this.global_callbacks[S](r,d);var _=this.callbacks.get(r),I=[];if(y?I.push(d,y):d&&I.push(d),_&&_.length>0)for(var S=0;S<_.length;S++)_[S].fn.apply(_[S].context||window,I);else this.failThrough&&this.failThrough(r,d);return this}}class gi extends We{constructor(r,d,y,S,_){super(),this.initialize=V.transportConnectionInitializer,this.hooks=r,this.name=d,this.priority=y,this.key=S,this.options=_,this.state="new",this.timeline=_.timeline,this.activityTimeout=_.activityTimeout,this.id=this.timeline.generateUniqueID()}handlesActivityChecks(){return!!this.hooks.handlesActivityChecks}supportsPing(){return!!this.hooks.supportsPing}connect(){if(this.socket||this.state!=="initialized")return!1;var r=this.hooks.urls.getInitial(this.key,this.options);try{this.socket=this.hooks.getSocket(r,this.options)}catch(d){return me.defer(()=>{this.onError(d),this.changeState("closed")}),!1}return this.bindListeners(),re.debug("Connecting",{transport:this.name,url:r}),this.changeState("connecting"),!0}close(){return this.socket?(this.socket.close(),!0):!1}send(r){return this.state==="open"?(me.defer(()=>{this.socket&&this.socket.send(r)}),!0):!1}ping(){this.state==="open"&&this.supportsPing()&&this.socket.ping()}onOpen(){this.hooks.beforeOpen&&this.hooks.beforeOpen(this.socket,this.hooks.urls.getPath(this.key,this.options)),this.changeState("open"),this.socket.onopen=void 0}onError(r){this.emit("error",{type:"WebSocketError",error:r}),this.timeline.error(this.buildTimelineMessage({error:r.toString()}))}onClose(r){r?this.changeState("closed",{code:r.code,reason:r.reason,wasClean:r.wasClean}):this.changeState("closed"),this.unbindListeners(),this.socket=void 0}onMessage(r){this.emit("message",r)}onActivity(){this.emit("activity")}bindListeners(){this.socket.onopen=()=>{this.onOpen()},this.socket.onerror=r=>{this.onError(r)},this.socket.onclose=r=>{this.onClose(r)},this.socket.onmessage=r=>{this.onMessage(r)},this.supportsPing()&&(this.socket.onactivity=()=>{this.onActivity()})}unbindListeners(){this.socket&&(this.socket.onopen=void 0,this.socket.onerror=void 0,this.socket.onclose=void 0,this.socket.onmessage=void 0,this.supportsPing()&&(this.socket.onactivity=void 0))}changeState(r,d){this.state=r,this.timeline.info(this.buildTimelineMessage({state:r,params:d})),this.emit(r,d)}buildTimelineMessage(r){return ke({cid:this.id},r)}}class bn{constructor(r){this.hooks=r}isSupported(r){return this.hooks.isSupported(r)}createConnection(r,d,y,S){return new gi(this.hooks,r,d,y,S)}}var Pn=new bn({urls:pi,handlesActivityChecks:!1,supportsPing:!1,isInitialized:function(){return!!V.getWebSocketAPI()},isSupported:function(){return!!V.getWebSocketAPI()},getSocket:function(h){return V.createWebSocket(h)}}),yi={urls:vi,handlesActivityChecks:!1,supportsPing:!0,isInitialized:function(){return!0}},jo=ke({getSocket:function(h){return V.HTTPFactory.createStreamingSocket(h)}},yi),zo=ke({getSocket:function(h){return V.HTTPFactory.createPollingSocket(h)}},yi),qo={isSupported:function(){return V.isXHRSupported()}},Lc=new bn(ke({},jo,qo)),Tc=new bn(ke({},zo,qo)),_c={ws:Pn,xhr_streaming:Lc,xhr_polling:Tc},Ci=_c,Ec=new bn({file:"sockjs",urls:bi,handlesActivityChecks:!0,supportsPing:!1,isSupported:function(){return!0},isInitialized:function(){return window.SockJS!==void 0},getSocket:function(h,r){return new window.SockJS(h,null,{js_path:f.getPath("sockjs",{useTLS:r.useTLS}),ignore_null_origin:r.ignoreNullOrigin})},beforeOpen:function(h,r){h.send(JSON.stringify({path:r}))}}),Wo={isSupported:function(h){var r=V.isXDRSupported(h.useTLS);return r}},Pc=new bn(ke({},jo,Wo)),Ic=new bn(ke({},zo,Wo));Ci.xdr_streaming=Pc,Ci.xdr_polling=Ic,Ci.sockjs=Ec;var Dc=Ci;class Bc extends We{constructor(){super();var r=this;window.addEventListener!==void 0&&(window.addEventListener("online",function(){r.emit("online")},!1),window.addEventListener("offline",function(){r.emit("offline")},!1))}isOnline(){return window.navigator.onLine===void 0?!0:window.navigator.onLine}}var Nc=new Bc;class Hc{constructor(r,d,y){this.manager=r,this.transport=d,this.minPingDelay=y.minPingDelay,this.maxPingDelay=y.maxPingDelay,this.pingDelay=void 0}createConnection(r,d,y,S){S=ke({},S,{activityTimeout:this.pingDelay});var _=this.transport.createConnection(r,d,y,S),I=null,N=function(){_.unbind("open",N),_.bind("closed",U),I=me.now()},U=$=>{if(_.unbind("closed",U),$.code===1002||$.code===1003)this.manager.reportDeath();else if(!$.wasClean&&I){var ie=me.now()-I;ie<2*this.maxPingDelay&&(this.manager.reportDeath(),this.pingDelay=Math.max(ie/2,this.minPingDelay))}};return _.bind("open",N),_}isSupported(r){return this.manager.isAlive()&&this.transport.isSupported(r)}}const Zo={decodeMessage:function(h){try{var r=JSON.parse(h.data),d=r.data;if(typeof d=="string")try{d=JSON.parse(r.data)}catch{}var y={event:r.event,channel:r.channel,data:d};return r.user_id&&(y.user_id=r.user_id),y}catch(S){throw{type:"MessageParseError",error:S,data:h.data}}},encodeMessage:function(h){return JSON.stringify(h)},processHandshake:function(h){var r=Zo.decodeMessage(h);if(r.event==="pusher:connection_established"){if(!r.data.activity_timeout)throw"No activity timeout specified in handshake";return{action:"connected",id:r.data.socket_id,activityTimeout:r.data.activity_timeout*1e3}}else{if(r.event==="pusher:error")return{action:this.getCloseAction(r.data),error:this.getCloseError(r.data)};throw"Invalid handshake"}},getCloseAction:function(h){return h.code<4e3?h.code>=1002&&h.code<=1004?"backoff":null:h.code===4e3?"tls_only":h.code<4100?"refused":h.code<4200?"backoff":h.code<4300?"retry":"refused"},getCloseError:function(h){return h.code!==1e3&&h.code!==1001?{type:"PusherError",data:{code:h.code,message:h.reason||h.message}}:null}};var Vn=Zo;class Rc extends We{constructor(r,d){super(),this.id=r,this.transport=d,this.activityTimeout=d.activityTimeout,this.bindListeners()}handlesActivityChecks(){return this.transport.handlesActivityChecks()}send(r){return this.transport.send(r)}send_event(r,d,y){var S={event:r,data:d};return y&&(S.channel=y),re.debug("Event sent",S),this.send(Vn.encodeMessage(S))}ping(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})}close(){this.transport.close()}bindListeners(){var r={message:y=>{var S;try{S=Vn.decodeMessage(y)}catch(_){this.emit("error",{type:"MessageParseError",error:_,data:y.data})}if(S!==void 0){switch(re.debug("Event recd",S),S.event){case"pusher:error":this.emit("error",{type:"PusherError",data:S.data});break;case"pusher:ping":this.emit("ping");break;case"pusher:pong":this.emit("pong");break}this.emit("message",S)}},activity:()=>{this.emit("activity")},error:y=>{this.emit("error",y)},closed:y=>{d(),y&&y.code&&this.handleCloseEvent(y),this.transport=null,this.emit("closed")}},d=()=>{Te(r,(y,S)=>{this.transport.unbind(S,y)})};Te(r,(y,S)=>{this.transport.bind(S,y)})}handleCloseEvent(r){var d=Vn.getCloseAction(r),y=Vn.getCloseError(r);y&&this.emit("error",y),d&&this.emit(d,{action:d,error:y})}}class Oc{constructor(r,d){this.transport=r,this.callback=d,this.bindListeners()}close(){this.unbindListeners(),this.transport.close()}bindListeners(){this.onMessage=r=>{this.unbindListeners();var d;try{d=Vn.processHandshake(r)}catch(y){this.finish("error",{error:y}),this.transport.close();return}d.action==="connected"?this.finish("connected",{connection:new Rc(d.id,this.transport),activityTimeout:d.activityTimeout}):(this.finish(d.action,{error:d.error}),this.transport.close())},this.onClosed=r=>{this.unbindListeners();var d=Vn.getCloseAction(r)||"backoff",y=Vn.getCloseError(r);this.finish(d,{error:y})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)}unbindListeners(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)}finish(r,d){this.callback(ke({transport:this.transport,action:r},d))}}class Uc{constructor(r,d){this.timeline=r,this.options=d||{}}send(r,d){this.timeline.isEmpty()||this.timeline.send(V.TimelineTransport.getAgent(this,r),d)}}class cs extends We{constructor(r,d){super(function(y,S){re.debug("No callbacks on "+r+" for "+y)}),this.name=r,this.pusher=d,this.subscribed=!1,this.subscriptionPending=!1,this.subscriptionCancelled=!1}authorize(r,d){return d(null,{auth:""})}trigger(r,d){if(r.indexOf("client-")!==0)throw new k("Event '"+r+"' does not start with 'client-'");if(!this.subscribed){var y=w.buildLogSuffix("triggeringClientEvents");re.warn(`Client event triggered before channel 'subscription_succeeded' event . ${y}`)}return this.pusher.send_event(r,d,this.name)}disconnect(){this.subscribed=!1,this.subscriptionPending=!1}handleEvent(r){var d=r.event,y=r.data;if(d==="pusher_internal:subscription_succeeded")this.handleSubscriptionSucceededEvent(r);else if(d==="pusher_internal:subscription_count")this.handleSubscriptionCountEvent(r);else if(d.indexOf("pusher_internal:")!==0){var S={};this.emit(d,y,S)}}handleSubscriptionSucceededEvent(r){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",r.data)}handleSubscriptionCountEvent(r){r.data.subscription_count&&(this.subscriptionCount=r.data.subscription_count),this.emit("pusher:subscription_count",r.data)}subscribe(){this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,(r,d)=>{r?(this.subscriptionPending=!1,re.error(r.toString()),this.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof K?{status:r.status}:{}))):this.pusher.send_event("pusher:subscribe",{auth:d.auth,channel_data:d.channel_data,channel:this.name})}))}unsubscribe(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})}cancelSubscription(){this.subscriptionCancelled=!0}reinstateSubscription(){this.subscriptionCancelled=!1}}class ds extends cs{authorize(r,d){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:r},d)}}class Vc{constructor(){this.reset()}get(r){return Object.prototype.hasOwnProperty.call(this.members,r)?{id:r,info:this.members[r]}:null}each(r){Te(this.members,(d,y)=>{r(this.get(y))})}setMyID(r){this.myID=r}onSubscription(r){this.members=r.presence.hash,this.count=r.presence.count,this.me=this.get(this.myID)}addMember(r){return this.get(r.user_id)===null&&this.count++,this.members[r.user_id]=r.user_info,this.get(r.user_id)}removeMember(r){var d=this.get(r.user_id);return d&&(delete this.members[r.user_id],this.count--),d}reset(){this.members={},this.count=0,this.myID=null,this.me=null}}var Kc=function(h,r,d,y){function S(_){return _ instanceof d?_:new d(function(I){I(_)})}return new(d||(d=Promise))(function(_,I){function N(ie){try{$(y.next(ie))}catch(we){I(we)}}function U(ie){try{$(y.throw(ie))}catch(we){I(we)}}function $(ie){ie.done?_(ie.value):S(ie.value).then(N,U)}$((y=y.apply(h,r||[])).next())})};class Fc extends ds{constructor(r,d){super(r,d),this.members=new Vc}authorize(r,d){super.authorize(r,(y,S)=>Kc(this,void 0,void 0,function*(){if(!y)if(S=S,S.channel_data!=null){var _=JSON.parse(S.channel_data);this.members.setMyID(_.user_id)}else if(yield this.pusher.user.signinDonePromise,this.pusher.user.user_data!=null)this.members.setMyID(this.pusher.user.user_data.id);else{let I=w.buildLogSuffix("authorizationEndpoint");re.error(`Invalid auth response for channel '${this.name}', expected 'channel_data' field. ${I}, or the user should be signed in.`),d("Invalid auth response");return}d(y,S)}))}handleEvent(r){var d=r.event;if(d.indexOf("pusher_internal:")===0)this.handleInternalEvent(r);else{var y=r.data,S={};r.user_id&&(S.user_id=r.user_id),this.emit(d,y,S)}}handleInternalEvent(r){var d=r.event,y=r.data;switch(d){case"pusher_internal:subscription_succeeded":this.handleSubscriptionSucceededEvent(r);break;case"pusher_internal:subscription_count":this.handleSubscriptionCountEvent(r);break;case"pusher_internal:member_added":var S=this.members.addMember(y);this.emit("pusher:member_added",S);break;case"pusher_internal:member_removed":var _=this.members.removeMember(y);_&&this.emit("pusher:member_removed",_);break}}handleSubscriptionSucceededEvent(r){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):(this.members.onSubscription(r.data),this.emit("pusher:subscription_succeeded",this.members))}disconnect(){this.members.reset(),super.disconnect()}}var Gc=s(1),us=s(0);class jc extends ds{constructor(r,d,y){super(r,d),this.key=null,this.nacl=y}authorize(r,d){super.authorize(r,(y,S)=>{if(y){d(y,S);return}let _=S.shared_secret;if(!_){d(new Error(`No shared_secret key in auth payload for encrypted channel: ${this.name}`),null);return}this.key=Object(us.decode)(_),delete S.shared_secret,d(null,S)})}trigger(r,d){throw new B("Client events are not currently supported for encrypted channels")}handleEvent(r){var d=r.event,y=r.data;if(d.indexOf("pusher_internal:")===0||d.indexOf("pusher:")===0){super.handleEvent(r);return}this.handleEncryptedEvent(d,y)}handleEncryptedEvent(r,d){if(!this.key){re.debug("Received encrypted event before key has been retrieved from the authEndpoint");return}if(!d.ciphertext||!d.nonce){re.error("Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: "+d);return}let y=Object(us.decode)(d.ciphertext);if(y.length<this.nacl.secretbox.overheadLength){re.error(`Expected encrypted event ciphertext length to be ${this.nacl.secretbox.overheadLength}, got: ${y.length}`);return}let S=Object(us.decode)(d.nonce);if(S.length<this.nacl.secretbox.nonceLength){re.error(`Expected encrypted event nonce length to be ${this.nacl.secretbox.nonceLength}, got: ${S.length}`);return}let _=this.nacl.secretbox.open(y,S,this.key);if(_===null){re.debug("Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint..."),this.authorize(this.pusher.connection.socket_id,(I,N)=>{if(I){re.error(`Failed to make a request to the authEndpoint: ${N}. Unable to fetch new key, so dropping encrypted event`);return}if(_=this.nacl.secretbox.open(y,S,this.key),_===null){re.error("Failed to decrypt event with new key. Dropping encrypted event");return}this.emit(r,this.getDataToEmit(_))});return}this.emit(r,this.getDataToEmit(_))}getDataToEmit(r){let d=Object(Gc.decode)(r);try{return JSON.parse(d)}catch{return d}}}class zc extends We{constructor(r,d){super(),this.state="initialized",this.connection=null,this.key=r,this.options=d,this.timeline=this.options.timeline,this.usingTLS=this.options.useTLS,this.errorCallbacks=this.buildErrorCallbacks(),this.connectionCallbacks=this.buildConnectionCallbacks(this.errorCallbacks),this.handshakeCallbacks=this.buildHandshakeCallbacks(this.errorCallbacks);var y=V.getNetwork();y.bind("online",()=>{this.timeline.info({netinfo:"online"}),(this.state==="connecting"||this.state==="unavailable")&&this.retryIn(0)}),y.bind("offline",()=>{this.timeline.info({netinfo:"offline"}),this.connection&&this.sendActivityCheck()}),this.updateStrategy()}connect(){if(!(this.connection||this.runner)){if(!this.strategy.isSupported()){this.updateState("failed");return}this.updateState("connecting"),this.startConnecting(),this.setUnavailableTimer()}}send(r){return this.connection?this.connection.send(r):!1}send_event(r,d,y){return this.connection?this.connection.send_event(r,d,y):!1}disconnect(){this.disconnectInternally(),this.updateState("disconnected")}isUsingTLS(){return this.usingTLS}startConnecting(){var r=(d,y)=>{d?this.runner=this.strategy.connect(0,r):y.action==="error"?(this.emit("error",{type:"HandshakeError",error:y.error}),this.timeline.error({handshakeError:y.error})):(this.abortConnecting(),this.handshakeCallbacks[y.action](y))};this.runner=this.strategy.connect(0,r)}abortConnecting(){this.runner&&(this.runner.abort(),this.runner=null)}disconnectInternally(){if(this.abortConnecting(),this.clearRetryTimer(),this.clearUnavailableTimer(),this.connection){var r=this.abandonConnection();r.close()}}updateStrategy(){this.strategy=this.options.getStrategy({key:this.key,timeline:this.timeline,useTLS:this.usingTLS})}retryIn(r){this.timeline.info({action:"retry",delay:r}),r>0&&this.emit("connecting_in",Math.round(r/1e3)),this.retryTimer=new Oe(r||0,()=>{this.disconnectInternally(),this.connect()})}clearRetryTimer(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)}setUnavailableTimer(){this.unavailableTimer=new Oe(this.options.unavailableTimeout,()=>{this.updateState("unavailable")})}clearUnavailableTimer(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()}sendActivityCheck(){this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Oe(this.options.pongTimeout,()=>{this.timeline.error({pong_timed_out:this.options.pongTimeout}),this.retryIn(0)})}resetActivityCheck(){this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new Oe(this.activityTimeout,()=>{this.sendActivityCheck()}))}stopActivityCheck(){this.activityTimer&&this.activityTimer.ensureAborted()}buildConnectionCallbacks(r){return ke({},r,{message:d=>{this.resetActivityCheck(),this.emit("message",d)},ping:()=>{this.send_event("pusher:pong",{})},activity:()=>{this.resetActivityCheck()},error:d=>{this.emit("error",d)},closed:()=>{this.abandonConnection(),this.shouldRetry()&&this.retryIn(1e3)}})}buildHandshakeCallbacks(r){return ke({},r,{connected:d=>{this.activityTimeout=Math.min(this.options.activityTimeout,d.activityTimeout,d.connection.activityTimeout||1/0),this.clearUnavailableTimer(),this.setConnection(d.connection),this.socket_id=this.connection.id,this.updateState("connected",{socket_id:this.socket_id})}})}buildErrorCallbacks(){let r=d=>y=>{y.error&&this.emit("error",{type:"WebSocketError",error:y.error}),d(y)};return{tls_only:r(()=>{this.usingTLS=!0,this.updateStrategy(),this.retryIn(0)}),refused:r(()=>{this.disconnect()}),backoff:r(()=>{this.retryIn(1e3)}),retry:r(()=>{this.retryIn(0)})}}setConnection(r){this.connection=r;for(var d in this.connectionCallbacks)this.connection.bind(d,this.connectionCallbacks[d]);this.resetActivityCheck()}abandonConnection(){if(this.connection){this.stopActivityCheck();for(var r in this.connectionCallbacks)this.connection.unbind(r,this.connectionCallbacks[r]);var d=this.connection;return this.connection=null,d}}updateState(r,d){var y=this.state;if(this.state=r,y!==r){var S=r;S==="connected"&&(S+=" with new socket ID "+d.socket_id),re.debug("State changed",y+" -> "+S),this.timeline.info({state:r,params:d}),this.emit("state_change",{previous:y,current:r}),this.emit(r,d)}}shouldRetry(){return this.state==="connecting"||this.state==="connected"}}class qc{constructor(){this.channels={}}add(r,d){return this.channels[r]||(this.channels[r]=Wc(r,d)),this.channels[r]}all(){return H(this.channels)}find(r){return this.channels[r]}remove(r){var d=this.channels[r];return delete this.channels[r],d}disconnect(){Te(this.channels,function(r){r.disconnect()})}}function Wc(h,r){if(h.indexOf("private-encrypted-")===0){if(r.config.nacl)return fn.createEncryptedChannel(h,r,r.config.nacl);let d="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",y=w.buildLogSuffix("encryptedChannelSupport");throw new B(`${d}. ${y}`)}else{if(h.indexOf("private-")===0)return fn.createPrivateChannel(h,r);if(h.indexOf("presence-")===0)return fn.createPresenceChannel(h,r);if(h.indexOf("#")===0)throw new x('Cannot create a channel with name "'+h+'".');return fn.createChannel(h,r)}}var Zc={createChannels(){return new qc},createConnectionManager(h,r){return new zc(h,r)},createChannel(h,r){return new cs(h,r)},createPrivateChannel(h,r){return new ds(h,r)},createPresenceChannel(h,r){return new Fc(h,r)},createEncryptedChannel(h,r,d){return new jc(h,r,d)},createTimelineSender(h,r){return new Uc(h,r)},createHandshake(h,r){return new Oc(h,r)},createAssistantToTheTransportManager(h,r,d){return new Hc(h,r,d)}},fn=Zc;class Qo{constructor(r){this.options=r||{},this.livesLeft=this.options.lives||1/0}getAssistant(r){return fn.createAssistantToTheTransportManager(this,r,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})}isAlive(){return this.livesLeft>0}reportDeath(){this.livesLeft-=1}}class Kn{constructor(r,d){this.strategies=r,this.loop=!!d.loop,this.failFast=!!d.failFast,this.timeout=d.timeout,this.timeoutLimit=d.timeoutLimit}isSupported(){return At(this.strategies,me.method("isSupported"))}connect(r,d){var y=this.strategies,S=0,_=this.timeout,I=null,N=(U,$)=>{$?d(null,$):(S=S+1,this.loop&&(S=S%y.length),S<y.length?(_&&(_=_*2,this.timeoutLimit&&(_=Math.min(_,this.timeoutLimit))),I=this.tryStrategy(y[S],r,{timeout:_,failFast:this.failFast},N)):d(!0))};return I=this.tryStrategy(y[S],r,{timeout:_,failFast:this.failFast},N),{abort:function(){I.abort()},forceMinPriority:function(U){r=U,I&&I.forceMinPriority(U)}}}tryStrategy(r,d,y,S){var _=null,I=null;return y.timeout>0&&(_=new Oe(y.timeout,function(){I.abort(),S(!0)})),I=r.connect(d,function(N,U){N&&_&&_.isRunning()&&!y.failFast||(_&&_.ensureAborted(),S(N,U))}),{abort:function(){_&&_.ensureAborted(),I.abort()},forceMinPriority:function(N){I.forceMinPriority(N)}}}}class hs{constructor(r){this.strategies=r}isSupported(){return At(this.strategies,me.method("isSupported"))}connect(r,d){return Qc(this.strategies,r,function(y,S){return function(_,I){if(S[y].error=_,_){Jc(S)&&d(!0);return}ye(S,function(N){N.forceMinPriority(I.transport.priority)}),d(null,I)}})}}function Qc(h,r,d){var y=te(h,function(S,_,I,N){return S.connect(r,d(_,N))});return{abort:function(){ye(y,Yc)},forceMinPriority:function(S){ye(y,function(_){_.forceMinPriority(S)})}}}function Jc(h){return ti(h,function(r){return!!r.error})}function Yc(h){!h.error&&!h.aborted&&(h.abort(),h.aborted=!0)}class Xc{constructor(r,d,y){this.strategy=r,this.transports=d,this.ttl=y.ttl||1800*1e3,this.usingTLS=y.useTLS,this.timeline=y.timeline}isSupported(){return this.strategy.isSupported()}connect(r,d){var y=this.usingTLS,S=$c(y),_=S&&S.cacheSkipCount?S.cacheSkipCount:0,I=[this.strategy];if(S&&S.timestamp+this.ttl>=me.now()){var N=this.transports[S.transport];N&&(["ws","wss"].includes(S.transport)||_>3?(this.timeline.info({cached:!0,transport:S.transport,latency:S.latency}),I.push(new Kn([N],{timeout:S.latency*2+1e3,failFast:!0}))):_++)}var U=me.now(),$=I.pop().connect(r,function ie(we,Si){we?(Jo(y),I.length>0?(U=me.now(),$=I.pop().connect(r,ie)):d(we)):(ed(y,Si.transport.name,me.now()-U,_),d(null,Si))});return{abort:function(){$.abort()},forceMinPriority:function(ie){r=ie,$&&$.forceMinPriority(ie)}}}}function ms(h){return"pusherTransport"+(h?"TLS":"NonTLS")}function $c(h){var r=V.getLocalStorage();if(r)try{var d=r[ms(h)];if(d)return JSON.parse(d)}catch{Jo(h)}return null}function ed(h,r,d,y){var S=V.getLocalStorage();if(S)try{S[ms(h)]=Un({timestamp:me.now(),transport:r,latency:d,cacheSkipCount:y})}catch{}}function Jo(h){var r=V.getLocalStorage();if(r)try{delete r[ms(h)]}catch{}}class wi{constructor(r,{delay:d}){this.strategy=r,this.options={delay:d}}isSupported(){return this.strategy.isSupported()}connect(r,d){var y=this.strategy,S,_=new Oe(this.options.delay,function(){S=y.connect(r,d)});return{abort:function(){_.ensureAborted(),S&&S.abort()},forceMinPriority:function(I){r=I,S&&S.forceMinPriority(I)}}}}class Mt{constructor(r,d,y){this.test=r,this.trueBranch=d,this.falseBranch=y}isSupported(){var r=this.test()?this.trueBranch:this.falseBranch;return r.isSupported()}connect(r,d){var y=this.test()?this.trueBranch:this.falseBranch;return y.connect(r,d)}}class nd{constructor(r){this.strategy=r}isSupported(){return this.strategy.isSupported()}connect(r,d){var y=this.strategy.connect(r,function(S,_){_&&y.abort(),d(S,_)});return y}}function Lt(h){return function(){return h.isSupported()}}var td=function(h,r,d){var y={};function S(ra,nu,tu,iu,su){var la=d(h,ra,nu,tu,iu,su);return y[ra]=la,la}var _=Object.assign({},r,{hostNonTLS:h.wsHost+":"+h.wsPort,hostTLS:h.wsHost+":"+h.wssPort,httpPath:h.wsPath}),I=Object.assign({},_,{useTLS:!0}),N=Object.assign({},r,{hostNonTLS:h.httpHost+":"+h.httpPort,hostTLS:h.httpHost+":"+h.httpsPort,httpPath:h.httpPath}),U={loop:!0,timeout:15e3,timeoutLimit:6e4},$=new Qo({minPingDelay:1e4,maxPingDelay:h.activityTimeout}),ie=new Qo({lives:2,minPingDelay:1e4,maxPingDelay:h.activityTimeout}),we=S("ws","ws",3,_,$),Si=S("wss","ws",3,I,$),Jd=S("sockjs","sockjs",1,N),na=S("xhr_streaming","xhr_streaming",1,N,ie),Yd=S("xdr_streaming","xdr_streaming",1,N,ie),ta=S("xhr_polling","xhr_polling",1,N),Xd=S("xdr_polling","xdr_polling",1,N),ia=new Kn([we],U),$d=new Kn([Si],U),eu=new Kn([Jd],U),sa=new Kn([new Mt(Lt(na),na,Yd)],U),oa=new Kn([new Mt(Lt(ta),ta,Xd)],U),aa=new Kn([new Mt(Lt(sa),new hs([sa,new wi(oa,{delay:4e3})]),oa)],U),fs=new Mt(Lt(aa),aa,eu),gs;return r.useTLS?gs=new hs([ia,new wi(fs,{delay:2e3})]):gs=new hs([ia,new wi($d,{delay:2e3}),new wi(fs,{delay:5e3})]),new Xc(new nd(new Mt(Lt(we),gs,fs)),y,{ttl:18e5,timeline:r.timeline,useTLS:r.useTLS})},id=td,sd=function(){var h=this;h.timeline.info(h.buildTimelineMessage({transport:h.name+(h.options.useTLS?"s":"")})),h.hooks.isInitialized()?h.changeState("initialized"):h.hooks.file?(h.changeState("initializing"),f.load(h.hooks.file,{useTLS:h.options.useTLS},function(r,d){h.hooks.isInitialized()?(h.changeState("initialized"),d(!0)):(r&&h.onError(r),h.onClose(),d(!1))})):h.onClose()},od={getRequest:function(h){var r=new window.XDomainRequest;return r.ontimeout=function(){h.emit("error",new M),h.close()},r.onerror=function(d){h.emit("error",d),h.close()},r.onprogress=function(){r.responseText&&r.responseText.length>0&&h.onChunk(200,r.responseText)},r.onload=function(){r.responseText&&r.responseText.length>0&&h.onChunk(200,r.responseText),h.emit("finished",200),h.close()},r},abortRequest:function(h){h.ontimeout=h.onerror=h.onprogress=h.onload=null,h.abort()}},ad=od;const rd=256*1024;class ld extends We{constructor(r,d,y){super(),this.hooks=r,this.method=d,this.url=y}start(r){this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=()=>{this.close()},V.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(r)}close(){this.unloader&&(V.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)}onChunk(r,d){for(;;){var y=this.advanceBuffer(d);if(y)this.emit("chunk",{status:r,data:y});else break}this.isBufferTooLong(d)&&this.emit("buffer_too_long")}advanceBuffer(r){var d=r.slice(this.position),y=d.indexOf(`
|
|
1521
|
+
`);return y!==-1?(this.position+=y+1,d.slice(0,y)):null}isBufferTooLong(r){return this.position===r.length&&r.length>rd}}var ps;(function(h){h[h.CONNECTING=0]="CONNECTING",h[h.OPEN=1]="OPEN",h[h.CLOSED=3]="CLOSED"})(ps||(ps={}));var Fn=ps,cd=1;class dd{constructor(r,d){this.hooks=r,this.session=Xo(1e3)+"/"+pd(8),this.location=ud(d),this.readyState=Fn.CONNECTING,this.openStream()}send(r){return this.sendRaw(JSON.stringify([r]))}ping(){this.hooks.sendHeartbeat(this)}close(r,d){this.onClose(r,d,!0)}sendRaw(r){if(this.readyState===Fn.OPEN)try{return V.createSocketRequest("POST",Yo(hd(this.location,this.session))).start(r),!0}catch{return!1}else return!1}reconnect(){this.closeStream(),this.openStream()}onClose(r,d,y){this.closeStream(),this.readyState=Fn.CLOSED,this.onclose&&this.onclose({code:r,reason:d,wasClean:y})}onChunk(r){if(r.status===200){this.readyState===Fn.OPEN&&this.onActivity();var d,y=r.data.slice(0,1);switch(y){case"o":d=JSON.parse(r.data.slice(1)||"{}"),this.onOpen(d);break;case"a":d=JSON.parse(r.data.slice(1)||"[]");for(var S=0;S<d.length;S++)this.onEvent(d[S]);break;case"m":d=JSON.parse(r.data.slice(1)||"null"),this.onEvent(d);break;case"h":this.hooks.onHeartbeat(this);break;case"c":d=JSON.parse(r.data.slice(1)||"[]"),this.onClose(d[0],d[1],!0);break}}}onOpen(r){this.readyState===Fn.CONNECTING?(r&&r.hostname&&(this.location.base=md(this.location.base,r.hostname)),this.readyState=Fn.OPEN,this.onopen&&this.onopen()):this.onClose(1006,"Server lost session",!0)}onEvent(r){this.readyState===Fn.OPEN&&this.onmessage&&this.onmessage({data:r})}onActivity(){this.onactivity&&this.onactivity()}onError(r){this.onerror&&this.onerror(r)}openStream(){this.stream=V.createSocketRequest("POST",Yo(this.hooks.getReceiveURL(this.location,this.session))),this.stream.bind("chunk",r=>{this.onChunk(r)}),this.stream.bind("finished",r=>{this.hooks.onFinished(this,r)}),this.stream.bind("buffer_too_long",()=>{this.reconnect()});try{this.stream.start()}catch(r){me.defer(()=>{this.onError(r),this.onClose(1006,"Could not start streaming",!1)})}}closeStream(){this.stream&&(this.stream.unbind_all(),this.stream.close(),this.stream=null)}}function ud(h){var r=/([^\?]*)\/*(\??.*)/.exec(h);return{base:r[1],queryString:r[2]}}function hd(h,r){return h.base+"/"+r+"/xhr_send"}function Yo(h){var r=h.indexOf("?")===-1?"?":"&";return h+r+"t="+ +new Date+"&n="+cd++}function md(h,r){var d=/(https?:\/\/)([^\/:]+)((\/|:)?.*)/.exec(h);return d[1]+r+d[3]}function Xo(h){return V.randomInt(h)}function pd(h){for(var r=[],d=0;d<h;d++)r.push(Xo(32).toString(32));return r.join("")}var vd=dd,bd={getReceiveURL:function(h,r){return h.base+"/"+r+"/xhr_streaming"+h.queryString},onHeartbeat:function(h){h.sendRaw("[]")},sendHeartbeat:function(h){h.sendRaw("[]")},onFinished:function(h,r){h.onClose(1006,"Connection interrupted ("+r+")",!1)}},fd=bd,gd={getReceiveURL:function(h,r){return h.base+"/"+r+"/xhr"+h.queryString},onHeartbeat:function(){},sendHeartbeat:function(h){h.sendRaw("[]")},onFinished:function(h,r){r===200?h.reconnect():h.onClose(1006,"Connection interrupted ("+r+")",!1)}},yd=gd,Cd={getRequest:function(h){var r=V.getXHRAPI(),d=new r;return d.onreadystatechange=d.onprogress=function(){switch(d.readyState){case 3:d.responseText&&d.responseText.length>0&&h.onChunk(d.status,d.responseText);break;case 4:d.responseText&&d.responseText.length>0&&h.onChunk(d.status,d.responseText),h.emit("finished",d.status),h.close();break}},d},abortRequest:function(h){h.onreadystatechange=null,h.abort()}},wd=Cd,kd={createStreamingSocket(h){return this.createSocket(fd,h)},createPollingSocket(h){return this.createSocket(yd,h)},createSocket(h,r){return new vd(h,r)},createXHR(h,r){return this.createRequest(wd,h,r)},createRequest(h,r,d){return new ld(h,r,d)}},$o=kd;$o.createXDR=function(h,r){return this.createRequest(ad,h,r)};var Sd=$o,xd={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:a,DependenciesReceivers:m,getDefaultStrategy:id,Transports:Dc,transportConnectionInitializer:sd,HTTPFactory:Sd,TimelineTransport:mi,getXHRAPI(){return window.XMLHttpRequest},getWebSocketAPI(){return window.WebSocket||window.MozWebSocket},setup(h){window.Pusher=h;var r=()=>{this.onDocumentBody(h.ready)};window.JSON?r():f.load("json2",{},r)},getDocument(){return document},getProtocol(){return this.getDocument().location.protocol},getAuthorizers(){return{ajax:de,jsonp:li}},onDocumentBody(h){document.body?h():setTimeout(()=>{this.onDocumentBody(h)},0)},createJSONPRequest(h,r){return new di(h,r)},createScriptRequest(h){return new ci(h)},getLocalStorage(){try{return window.localStorage}catch{return}},createXHR(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest(){var h=this.getXHRAPI();return new h},createMicrosoftXHR(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork(){return Nc},createWebSocket(h){var r=this.getWebSocketAPI();return new r(h)},createSocketRequest(h,r){if(this.isXHRSupported())return this.HTTPFactory.createXHR(h,r);if(this.isXDRSupported(r.indexOf("https:")===0))return this.HTTPFactory.createXDR(h,r);throw"Cross-origin HTTP requests are not supported"},isXHRSupported(){var h=this.getXHRAPI();return!!h&&new h().withCredentials!==void 0},isXDRSupported(h){var r=h?"https:":"http:",d=this.getProtocol();return!!window.XDomainRequest&&d===r},addUnloadListener(h){window.addEventListener!==void 0?window.addEventListener("unload",h,!1):window.attachEvent!==void 0&&window.attachEvent("onunload",h)},removeUnloadListener(h){window.addEventListener!==void 0?window.removeEventListener("unload",h,!1):window.detachEvent!==void 0&&window.detachEvent("onunload",h)},randomInt(h){return Math.floor(function(){return(window.crypto||window.msCrypto).getRandomValues(new Uint32Array(1))[0]/Math.pow(2,32)}()*h)}},V=xd,vs;(function(h){h[h.ERROR=3]="ERROR",h[h.INFO=6]="INFO",h[h.DEBUG=7]="DEBUG"})(vs||(vs={}));var ki=vs;class Ad{constructor(r,d,y){this.key=r,this.session=d,this.events=[],this.options=y||{},this.sent=0,this.uniqueID=0}log(r,d){r<=this.options.level&&(this.events.push(ke({},d,{timestamp:me.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())}error(r){this.log(ki.ERROR,r)}info(r){this.log(ki.INFO,r)}debug(r){this.log(ki.DEBUG,r)}isEmpty(){return this.events.length===0}send(r,d){var y=ke({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],r(y,(S,_)=>{S||this.sent++,d&&d(S,_)}),!0}generateUniqueID(){return this.uniqueID++,this.uniqueID}}class Md{constructor(r,d,y,S){this.name=r,this.priority=d,this.transport=y,this.options=S||{}}isSupported(){return this.transport.isSupported({useTLS:this.options.useTLS})}connect(r,d){if(this.isSupported()){if(this.priority<r)return ea(new L,d)}else return ea(new W,d);var y=!1,S=this.transport.createConnection(this.name,this.priority,this.options.key,this.options),_=null,I=function(){S.unbind("initialized",I),S.connect()},N=function(){_=fn.createHandshake(S,function(we){y=!0,ie(),d(null,we)})},U=function(we){ie(),d(we)},$=function(){ie();var we;we=Un(S),d(new P(we))},ie=function(){S.unbind("initialized",I),S.unbind("open",N),S.unbind("error",U),S.unbind("closed",$)};return S.bind("initialized",I),S.bind("open",N),S.bind("error",U),S.bind("closed",$),S.initialize(),{abort:()=>{y||(ie(),_?_.close():S.close())},forceMinPriority:we=>{y||this.priority<we&&(_?_.close():S.close())}}}}function ea(h,r){return me.defer(function(){r(h)}),{abort:function(){},forceMinPriority:function(){}}}const{Transports:Ld}=V;var Td=function(h,r,d,y,S,_){var I=Ld[d];if(!I)throw new j(d);var N=(!h.enabledTransports||Ue(h.enabledTransports,r)!==-1)&&(!h.disabledTransports||Ue(h.disabledTransports,r)===-1),U;return N?(S=Object.assign({ignoreNullOrigin:h.ignoreNullOrigin},S),U=new Md(r,y,_?_.getAssistant(I):I,S)):U=_d,U},_d={isSupported:function(){return!1},connect:function(h,r){var d=me.defer(function(){r(new W)});return{abort:function(){d.ensureAborted()},forceMinPriority:function(){}}}};function Ed(h){if(h==null)throw"You must pass an options object";if(h.cluster==null)throw"Options object must provide a cluster";"disableStats"in h&&re.warn("The disableStats option is deprecated in favor of enableStats")}const Pd=(h,r)=>{var d="socket_id="+encodeURIComponent(h.socketId);for(var y in r.params)d+="&"+encodeURIComponent(y)+"="+encodeURIComponent(r.params[y]);if(r.paramsProvider!=null){let S=r.paramsProvider();for(var y in S)d+="&"+encodeURIComponent(y)+"="+encodeURIComponent(S[y])}return d};var Id=h=>{if(typeof V.getAuthorizers()[h.transport]>"u")throw`'${h.transport}' is not a recognized auth transport`;return(r,d)=>{const y=Pd(r,h);V.getAuthorizers()[h.transport](V,y,h,C.UserAuthentication,d)}};const Dd=(h,r)=>{var d="socket_id="+encodeURIComponent(h.socketId);d+="&channel_name="+encodeURIComponent(h.channelName);for(var y in r.params)d+="&"+encodeURIComponent(y)+"="+encodeURIComponent(r.params[y]);if(r.paramsProvider!=null){let S=r.paramsProvider();for(var y in S)d+="&"+encodeURIComponent(y)+"="+encodeURIComponent(S[y])}return d};var Bd=h=>{if(typeof V.getAuthorizers()[h.transport]>"u")throw`'${h.transport}' is not a recognized auth transport`;return(r,d)=>{const y=Dd(r,h);V.getAuthorizers()[h.transport](V,y,h,C.ChannelAuthorization,d)}};const Nd=(h,r,d)=>{const y={authTransport:r.transport,authEndpoint:r.endpoint,auth:{params:r.params,headers:r.headers}};return(S,_)=>{const I=h.channel(S.channelName);d(I,y).authorize(S.socketId,_)}};function Hd(h,r){let d={activityTimeout:h.activityTimeout||c.activityTimeout,cluster:h.cluster,httpPath:h.httpPath||c.httpPath,httpPort:h.httpPort||c.httpPort,httpsPort:h.httpsPort||c.httpsPort,pongTimeout:h.pongTimeout||c.pongTimeout,statsHost:h.statsHost||c.stats_host,unavailableTimeout:h.unavailableTimeout||c.unavailableTimeout,wsPath:h.wsPath||c.wsPath,wsPort:h.wsPort||c.wsPort,wssPort:h.wssPort||c.wssPort,enableStats:Kd(h),httpHost:Rd(h),useTLS:Vd(h),wsHost:Od(h),userAuthenticator:Fd(h),channelAuthorizer:jd(h,r)};return"disabledTransports"in h&&(d.disabledTransports=h.disabledTransports),"enabledTransports"in h&&(d.enabledTransports=h.enabledTransports),"ignoreNullOrigin"in h&&(d.ignoreNullOrigin=h.ignoreNullOrigin),"timelineParams"in h&&(d.timelineParams=h.timelineParams),"nacl"in h&&(d.nacl=h.nacl),d}function Rd(h){return h.httpHost?h.httpHost:h.cluster?`sockjs-${h.cluster}.pusher.com`:c.httpHost}function Od(h){return h.wsHost?h.wsHost:Ud(h.cluster)}function Ud(h){return`ws-${h}.pusher.com`}function Vd(h){return V.getProtocol()==="https:"?!0:h.forceTLS!==!1}function Kd(h){return"enableStats"in h?h.enableStats:"disableStats"in h?!h.disableStats:!1}function Fd(h){const r=Object.assign(Object.assign({},c.userAuthentication),h.userAuthentication);return"customHandler"in r&&r.customHandler!=null?r.customHandler:Id(r)}function Gd(h,r){let d;return"channelAuthorization"in h?d=Object.assign(Object.assign({},c.channelAuthorization),h.channelAuthorization):(d={transport:h.authTransport||c.authTransport,endpoint:h.authEndpoint||c.authEndpoint},"auth"in h&&("params"in h.auth&&(d.params=h.auth.params),"headers"in h.auth&&(d.headers=h.auth.headers)),"authorizer"in h&&(d.customHandler=Nd(r,d,h.authorizer))),d}function jd(h,r){const d=Gd(h,r);return"customHandler"in d&&d.customHandler!=null?d.customHandler:Bd(d)}class zd extends We{constructor(r){super(function(d,y){re.debug(`No callbacks on watchlist events for ${d}`)}),this.pusher=r,this.bindWatchlistInternalEvent()}handleEvent(r){r.data.events.forEach(d=>{this.emit(d.name,d)})}bindWatchlistInternalEvent(){this.pusher.connection.bind("message",r=>{var d=r.event;d==="pusher_internal:watchlist_events"&&this.handleEvent(r)})}}function qd(){let h,r;return{promise:new Promise((y,S)=>{h=y,r=S}),resolve:h,reject:r}}var Wd=qd;class Zd extends We{constructor(r){super(function(d,y){re.debug("No callbacks on user for "+d)}),this.signin_requested=!1,this.user_data=null,this.serverToUserChannel=null,this.signinDonePromise=null,this._signinDoneResolve=null,this._onAuthorize=(d,y)=>{if(d){re.warn(`Error during signin: ${d}`),this._cleanup();return}this.pusher.send_event("pusher:signin",{auth:y.auth,user_data:y.user_data})},this.pusher=r,this.pusher.connection.bind("state_change",({previous:d,current:y})=>{d!=="connected"&&y==="connected"&&this._signin(),d==="connected"&&y!=="connected"&&(this._cleanup(),this._newSigninPromiseIfNeeded())}),this.watchlist=new zd(r),this.pusher.connection.bind("message",d=>{var y=d.event;y==="pusher:signin_success"&&this._onSigninSuccess(d.data),this.serverToUserChannel&&this.serverToUserChannel.name===d.channel&&this.serverToUserChannel.handleEvent(d)})}signin(){this.signin_requested||(this.signin_requested=!0,this._signin())}_signin(){this.signin_requested&&(this._newSigninPromiseIfNeeded(),this.pusher.connection.state==="connected"&&this.pusher.config.userAuthenticator({socketId:this.pusher.connection.socket_id},this._onAuthorize))}_onSigninSuccess(r){try{this.user_data=JSON.parse(r.user_data)}catch{re.error(`Failed parsing user data after signin: ${r.user_data}`),this._cleanup();return}if(typeof this.user_data.id!="string"||this.user_data.id===""){re.error(`user_data doesn't contain an id. user_data: ${this.user_data}`),this._cleanup();return}this._signinDoneResolve(),this._subscribeChannels()}_subscribeChannels(){const r=d=>{d.subscriptionPending&&d.subscriptionCancelled?d.reinstateSubscription():!d.subscriptionPending&&this.pusher.connection.state==="connected"&&d.subscribe()};this.serverToUserChannel=new cs(`#server-to-user-${this.user_data.id}`,this.pusher),this.serverToUserChannel.bind_global((d,y)=>{d.indexOf("pusher_internal:")===0||d.indexOf("pusher:")===0||this.emit(d,y)}),r(this.serverToUserChannel)}_cleanup(){this.user_data=null,this.serverToUserChannel&&(this.serverToUserChannel.unbind_all(),this.serverToUserChannel.disconnect(),this.serverToUserChannel=null),this.signin_requested&&this._signinDoneResolve()}_newSigninPromiseIfNeeded(){if(!this.signin_requested||this.signinDonePromise&&!this.signinDonePromise.done)return;const{promise:r,resolve:d,reject:y}=Wd();r.done=!1;const S=()=>{r.done=!0};r.then(S).catch(S),this.signinDonePromise=r,this._signinDoneResolve=d}}class Me{static ready(){Me.isReady=!0;for(var r=0,d=Me.instances.length;r<d;r++)Me.instances[r].connect()}static getClientFeatures(){return sn(ne({ws:V.Transports.ws},function(r){return r.isSupported({})}))}constructor(r,d){Qd(r),Ed(d),this.key=r,this.config=Hd(d,this),this.channels=fn.createChannels(),this.global_emitter=new We,this.sessionID=V.randomInt(1e9),this.timeline=new Ad(this.key,this.sessionID,{cluster:this.config.cluster,features:Me.getClientFeatures(),params:this.config.timelineParams||{},limit:50,level:ki.INFO,version:c.VERSION}),this.config.enableStats&&(this.timelineSender=fn.createTimelineSender(this.timeline,{host:this.config.statsHost,path:"/timeline/v2/"+V.TimelineTransport.name}));var y=S=>V.getDefaultStrategy(this.config,S,Td);this.connection=fn.createConnectionManager(this.key,{getStrategy:y,timeline:this.timeline,activityTimeout:this.config.activityTimeout,pongTimeout:this.config.pongTimeout,unavailableTimeout:this.config.unavailableTimeout,useTLS:!!this.config.useTLS}),this.connection.bind("connected",()=>{this.subscribeAll(),this.timelineSender&&this.timelineSender.send(this.connection.isUsingTLS())}),this.connection.bind("message",S=>{var _=S.event,I=_.indexOf("pusher_internal:")===0;if(S.channel){var N=this.channel(S.channel);N&&N.handleEvent(S)}I||this.global_emitter.emit(S.event,S.data)}),this.connection.bind("connecting",()=>{this.channels.disconnect()}),this.connection.bind("disconnected",()=>{this.channels.disconnect()}),this.connection.bind("error",S=>{re.warn(S)}),Me.instances.push(this),this.timeline.info({instances:Me.instances.length}),this.user=new Zd(this),Me.isReady&&this.connect()}channel(r){return this.channels.find(r)}allChannels(){return this.channels.all()}connect(){if(this.connection.connect(),this.timelineSender&&!this.timelineSenderTimer){var r=this.connection.isUsingTLS(),d=this.timelineSender;this.timelineSenderTimer=new vn(6e4,function(){d.send(r)})}}disconnect(){this.connection.disconnect(),this.timelineSenderTimer&&(this.timelineSenderTimer.ensureAborted(),this.timelineSenderTimer=null)}bind(r,d,y){return this.global_emitter.bind(r,d,y),this}unbind(r,d,y){return this.global_emitter.unbind(r,d,y),this}bind_global(r){return this.global_emitter.bind_global(r),this}unbind_global(r){return this.global_emitter.unbind_global(r),this}unbind_all(r){return this.global_emitter.unbind_all(),this}subscribeAll(){var r;for(r in this.channels.channels)this.channels.channels.hasOwnProperty(r)&&this.subscribe(r)}subscribe(r){var d=this.channels.add(r,this);return d.subscriptionPending&&d.subscriptionCancelled?d.reinstateSubscription():!d.subscriptionPending&&this.connection.state==="connected"&&d.subscribe(),d}unsubscribe(r){var d=this.channels.find(r);d&&d.subscriptionPending?d.cancelSubscription():(d=this.channels.remove(r),d&&d.subscribed&&d.unsubscribe())}send_event(r,d,y){return this.connection.send_event(r,d,y)}shouldUseTLS(){return this.config.useTLS}signin(){this.user.signin()}}Me.instances=[],Me.isReady=!1,Me.logToConsole=!1,Me.Runtime=V,Me.ScriptReceivers=V.ScriptReceivers,Me.DependenciesReceivers=V.DependenciesReceivers,Me.auth_callbacks=V.auth_callbacks;var bs=i.default=Me;function Qd(h){if(h==null)throw"You must pass your app key when you instantiate Pusher."}V.setup(Me)}])})})(Ho);var ql=Ho.exports;const Wl=zl(ql);class Ro{constructor(e){u(this,"container");u(this,"onAction");u(this,"onFail");u(this,"initialTime");u(this,"timeLeft");u(this,"timerId");u(this,"payment");this.container=e.container,this.onAction=e.onAction,this.onFail=e.onFail,this.initialTime=1800,this.timeLeft=this.initialTime,this.timerId=null}attachListener(){const e=this.container.querySelector("#transfer-acn"),t=this.container.querySelector("#transfer-bank"),i=this.container.querySelector("#copy-acn"),s=this.container.querySelector("#acn-tooltip"),o=this.container.querySelector("#transfer-amount"),a=this.container.querySelector("#copy-amount"),l=this.container.querySelector("#amount-tooltip"),c=this.container.querySelector("#transfer-button"),v=this.container.querySelector("#transfer-header-text"),m=this.container.querySelector("#bank-name-text"),f=this.container.querySelector("#beneficiary-text"),b=this.container.querySelector("#amount-text"),g=this.container.querySelectorAll(".copy-text"),w=this.container.querySelector("#account-number-text"),C=this.container.querySelector("#expiration-text");v&&(v.innerHTML=je["transfer-header"]),b&&(b.innerHTML=Q.amount),g.forEach(k=>{k.innerHTML=D.copy}),w&&(w.innerHTML=je["account-number"]),m&&(m.innerHTML=je["bank-name"]),f&&(f.innerHTML=je.beneficiary),C&&(C.innerHTML=je["expiration-text"]),i&&e&&i.addEventListener("click",()=>{s&&(t&&E.track("copy_transferBank",{payment_method:"Transfer",payment_process:"Payment Started",account_number:e.innerHTML,bank_name:t.innerHTML}),this.copyToClipboard(e.innerHTML,s))}),a&&o&&a.addEventListener("click",()=>{l&&(E.track("copy_transferAmount",{payment_method:"Transfer",amount:o.innerHTML.split(" ")[1].replace(/,/g,"")}),this.copyToClipboard(o.innerHTML.split(" ")[1].replace(/,/g,""),l))}),c&&(c.innerHTML=je["made-transfer"],c.addEventListener("click",()=>{this.onAction(5),E.track("initiate_payment_verification",{payment_method:"Transfer"})}))}startTimer(e){this.stopTimer(),this.timerId=window.setInterval(()=>{if(this.timeLeft>0){this.timeLeft-=1;const t=this.container.querySelector("#time-left");t&&(t.innerHTML=dt(this.timeLeft))}else this.stopTimer(),e==="check"&&this.onAction(2)},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}copyToClipboard(e,t){navigator.clipboard.writeText(e).then(()=>{t.innerHTML=D.copied}).catch(()=>{t.innerHTML=D["copy-fail"]})}renderComponent(e){var f,b,g,w,C,k;e&&(this.payment=e),this.container.innerHTML=this.render();const t=this.container.querySelector("#transfer-amount"),i=this.container.querySelector("#transfer-bank"),s=this.container.querySelector("#account-name"),o=this.container.querySelector("#transfer-acn"),a=this.container.querySelector("#time-left"),l=((f=this.payment)==null?void 0:f.currency)||"USD",c=l==="USD"?(b=this.payment)==null?void 0:b.localCurrency:l;if(t&&(t.innerHTML=`${c} ${Se(this.payment.totalTaxAmount?this.payment.totalLocalAmount:l==="USD"?(g=this.payment)==null?void 0:g.localAmount:(w=this.payment)==null?void 0:w.amount,2)}`),i&&this.payment.bankDetails&&(i.innerHTML=(C=this.payment.bankDetails)==null?void 0:C.bankName),s&&this.payment.bankDetails&&(s.innerHTML=(k=this.payment.bankDetails)==null?void 0:k.accountName),o&&this.payment.bankDetails&&(o.innerHTML=this.payment.bankDetails.accountNumber),a&&(a.innerHTML=dt(this.initialTime)),this.startTimer("poll"),e.status==="inProgress"){const x="45654f3ce4c9512ea9a4",M="us2";var v=new Wl(x,{cluster:M}),m=v.subscribe(e.reference);m.bind("payment_status",L=>{L.status==="successful"?(clearInterval(this.timerId||void 0),this.onAction(6),E.track("verify_payment",{payment_method:"Transfer",verification_status:"Success"}),L!=null&&L.redirectUrl&&setTimeout(()=>{const P=new URL(L.redirectUrl);P.searchParams.append("status",L.status),P.searchParams.append("reference",L.reference),window.location.href=P.toString()},1800)):L.status==="failed"&&(clearInterval(this.timerId||void 0),this.onFail(7,"Transfer failed"),E.track("verify_payment",{payment_method:"Transfer",verification_status:"Failed"}))})}this.attachListener()}render(){return jl}}const Zl=`<div id="trasferConfirmationProgress">
|
|
1504
1522
|
<div>
|
|
1505
1523
|
<div>
|
|
1506
1524
|
<div class=" grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
@@ -1583,7 +1601,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1583
1601
|
</div>
|
|
1584
1602
|
</div>
|
|
1585
1603
|
</div>
|
|
1586
|
-
</div>`;class
|
|
1604
|
+
</div>`;class Ql{constructor(e){u(this,"container");u(this,"onAction");u(this,"ref");u(this,"token");u(this,"initialTime",300);u(this,"abortController");u(this,"timeLeft");u(this,"timer");u(this,"timerId",null);u(this,"rdtCode");u(this,"url");u(this,"callBackUrl");u(this,"payment");u(this,"setPaymentResponses");this.container=e.container,this.timeLeft=this.initialTime,this.onAction=e.onAction,this.ref=e.ref,this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.callBackUrl=e.callBackUrl,this.setPaymentResponses=e.setPaymentResponses}attachListeners(){const e=this.container.querySelector("#confirming-txn-status"),t=this.container.querySelector("#confirming-txn-status-end-text"),i=this.container.querySelector("#account-details-text"),s=this.container.querySelector("#please-wait-text"),o=this.container.querySelector("#minutes-text"),a=this.container.querySelector("#bankname-text"),l=this.container.querySelector("#beneficiary-text"),c=this.container.querySelector("#transfer-bank"),v=this.container.querySelector("#transfer-acn-pr"),m=this.container.querySelector("#copy-acn-pr"),f=this.container.querySelector("#acn-tooltip-pr");e&&(e.innerHTML=D["confirming-txn-status"]),t&&(t.innerHTML=D["few-minutes"]),s&&(s.innerHTML=D["please-wait-for"]),o&&(o.innerHTML=D.minutes),a&&(a.innerHTML=je["bank-name"]),l&&(l.innerHTML=je.beneficiary),i&&(i.innerHTML=je["account-details"]);const b=this.container.querySelector("#show-acn");b&&b.addEventListener("click",()=>{this.onAction(1),clearTimeout(this.timer)}),m&&v&&m.addEventListener("click",()=>{E.track("copy_transferBank",{payment_method:"Transfer",payment_process:"Payment Verification",account_number:v.innerHTML,bank_name:c==null?void 0:c.innerHTML}),f&&(f.innerHTML=D.copy,this.copyToClipboard(v.innerHTML,f))}),this.initialTime=300,this.timeLeft=this.initialTime;const g=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyTransfer(this.token,g,({data:w,headers:C})=>{this.onAction(6),this.redirectTo(w,C)})},5e3),this.startTimer()}updateProgressTimerContent(){const t=2*Math.PI*40,s=(this.initialTime-this.timeLeft)/this.initialTime*100/100*t,o=this.container.querySelector(".circle-progress");o&&(o.setAttribute("stroke-dasharray",`${t}`),o.setAttribute("stroke-dashoffset",`${s}`))}async verifyTransfer(e,t,i){let s=0,o=t,a=!0,l;this.abortController&&(l=this.abortController.signal);const c=async()=>{if(this.timeLeft<=0){a=!1,this.onAction(8);return}s+=1;try{const v=await on(e,this.ref,l,this.rdtCode,this.url);v.data.status==="inProgress"?(a&&(o=t*(s+1),this.timer=setTimeout(c,o)),this.setPaymentResponses(v.data,v.headers)):v.data.status==="successful"||v.data.status==="success"?(this.setPaymentResponses(v.data,v.headers),a=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),E.track("verify_payment",{payment_method:"Transfer",verification_status:"Success"}),i(v)):v.data.status==="failed"&&(this.setPaymentResponses(v.data,v.headers),a=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),this.onAction(7,"Transfer failed"),E.track("verify_payment",{payment_method:"Transfer",verification_status:"Failed"}))}catch{a&&(o=t*(s+1),this.timer=setTimeout(c,o))}};c()}redirectTo(e,t){const i=t.get("spf-redirect-url");this.callBackUrl=i||this.callBackUrl,this.callBackUrl&&setTimeout(()=>{const s=new URL(this.callBackUrl);s.searchParams.append("status",e.status),s.searchParams.append("reference",e.reference),window.location.href=s.toString()},1800)}startTimer(){const e=this.container.querySelector("#ctd-timer");this.stopTimer(),this.timerId=window.setInterval(()=>{this.timeLeft>0?(this.timeLeft-=1,e&&(e.innerHTML=dt(this.timeLeft),this.startTimer()),this.updateProgressTimerContent()):(this.stopTimer(),this.onAction(8))},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}renderTransferDetailsComponent(e){var o,a;e&&(this.payment=e),this.container.innerHTML=this.render();const t=this.container.querySelector("#transfer-bank"),i=this.container.querySelector("#transfer-acn-pr"),s=this.container.querySelector("#account-name");t&&e.bankDetails&&(t.innerHTML=(o=e.bankDetails)==null?void 0:o.bankName),i&&e.bankDetails&&(i.innerHTML=e.bankDetails.accountNumber),s&&e.bankDetails&&(s.innerHTML=(a=e.bankDetails)==null?void 0:a.accountName)}copyToClipboard(e,t){navigator.clipboard.writeText(e).then(()=>{t.innerHTML=D.copied}).catch(()=>{t.innerHTML=D["copy-fail"]})}renderComponent(e){this.container.innerHTML=this.render(),this.renderTransferDetailsComponent(e),this.attachListeners()}render(){return Zl}}const Jl=`<div id="paymentExpired">
|
|
1587
1605
|
<div class="container-center min-h-[30dvh]">
|
|
1588
1606
|
<div>
|
|
1589
1607
|
<div class="container-center mb-5">
|
|
@@ -1606,7 +1624,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1606
1624
|
</div> -->
|
|
1607
1625
|
</div>
|
|
1608
1626
|
</div>
|
|
1609
|
-
</div>`;class jl{constructor(e){h(this,"container");this.container=e.container}attachListeners(){const e=this.container.querySelector("#payment-warning-text"),t=this.container.querySelector("#payment-warning-desc");e&&(e.innerHTML=Ge["account-expired"]),t&&(t.innerHTML=Ge["account-expired-desc"])}renderComponent(){this.container.innerHTML=this.render()}render(){return Ul}}class Kl{constructor({amount:e,totalAmount:t,closeModal:i,container:o,customer:s,token:a,currency:l,rdtCode:d,url:v,reference:m,callBackUrl:g,metadata:b,localCurrency:f,disablePaymentMethods:C,restartTransactionProcess:w,hidePaymentMethods:k,retryingPayment:x}){h(this,"container");h(this,"contents");h(this,"closeModal");h(this,"customer");h(this,"transferDetails");h(this,"transferConfirmationProgress");h(this,"transferConfirmationEnd");h(this,"transferExpired");h(this,"mainLoader");h(this,"warningScreen");h(this,"successScreen");h(this,"merchantPlanDetail",{});h(this,"token");h(this,"currency");h(this,"amount");h(this,"totalAmount");h(this,"rdtCode");h(this,"url");h(this,"reference");h(this,"_currentStep");h(this,"activeRef");h(this,"paymentResponse");h(this,"timerId");h(this,"abortController",null);h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"transactionIssuesScreen");h(this,"disablePaymentMethods");h(this,"paymentResponseHeaders");h(this,"restartTransactionProcess");h(this,"hidePaymentMethods");h(this,"retryingPayment");h(this,"isMaxRetriesReached");h(this,"isMobile",!1);h(this,"errorText");this.currency=l,this.container=o,this.contents=this.container.querySelector("#payment-content-view"),this.closeModal=i,this.token=a,this.customer=s,this.amount=e,this.totalAmount=t,this.rdtCode=d,this.url=v,this.reference=m,this._currentStep=1,this.callBackUrl=g,this.metadata=b,this.localCurrency=f,this.disablePaymentMethods=C,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=w,this.hidePaymentMethods=k,this.retryingPayment=x,this.isMaxRetriesReached=!1,this.renderTransferContent(),this.paymentResponse={},this.activeRef="",this.timerId=null,this.errorText="",this.mainLoader=new Te(this.contents),this.mainLoader.mountLoader("25dvh"),this.currentStep===1&&(this.abortController=new AbortController,this.createTransfer()),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderTransferContent(),e===1&&this.createTransfer()}attachInputListeners(){const e=this.container.querySelector("#transfer-try-again"),t=this.container.querySelector("#transfer-sent"),i=this.container.querySelector(".success-button");e&&e.addEventListener("click",()=>{this.currentStep=1}),t&&t.addEventListener("click",()=>{this.abortController&&(this.abortController.abort(),this.currentStep=5)}),i&&i.addEventListener("click",()=>{this.closeModal(),P.track("checkout_closes")})}onSentVerify(e){e!==2?this.abortController&&(this.abortController.abort(),this.currentStep=e):this.currentStep=2}async verifyTransfer(){try{const e=await pn(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers}catch{this.currentStep=7}}async createTransfer(){requestAnimationFrame(()=>{const e=this.container.querySelector("#loader"),t=this.container.querySelector("#details-content");t&&(this.mainLoader=new Te(this.contents),this.mainLoader.mountLoader("25dvh"),t.classList.add("hidden")),P.track("start_payment",{payment_method:"Transfer"});const i=$t();(()=>{var s,a;if(this.retryingPayment){const l={channel:"bank_transfer",reference:this.reference};return Ct(this.token,l,this.rdtCode,this.url)}else{const l={amount:this.amount,channel:"bank_transfer",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((s=this.merchantPlanDetail)==null?void 0:s.taxQuoteId)&&{taxQuoteId:(a=this.merchantPlanDetail)==null?void 0:a.taxQuoteId},deviceInformation:i};return co(this.token,l,this.rdtCode,this.url)}})().then(async({data:s,headers:a})=>{if(this.paymentResponse=s,this.paymentResponseHeaders=a,s.providerMessage){const l=await $(s.providerMessage,A==null?void 0:A.language);this.errorText=l}if(s.status==="failed")this.currentStep=7,P.track("stop_transferProcess",{payment_method:"Transfer",verification_status:"Failed"}),s.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue();else if(e&&t&&(e.classList.add("hidden"),t.classList.remove("hidden")),this.activeRef=s.reference,this.paymentResponse=s,s.bankDetails&&s.bankDetails.accountNumber)this.transferDetails=new Ts({container:this.contents,onAction:l=>{this.onSentVerify.bind(this)(l)},onFail:async(l,d)=>{if(this.currentStep=l,l===7&&d){const v=await $(d,A==null?void 0:A.language);this.errorText=v,this.warningScreen.setPaymentError(this.errorText)}}}),this.transferDetails.renderComponent(this.paymentResponse||s);else if(s.providerMessage){const l=await $(s.providerMessage,A==null?void 0:A.language);this.errorText=l,this.currentStep=7,this.warningScreen.setPaymentError(this.errorText)}else{const l=await $("Error fetching bank details",A==null?void 0:A.language);this.currentStep=7,this.warningScreen.setPaymentError(l)}}).catch(async s=>{if(P.track("verify_payment",{payment_method:"Transfer",verification_status:"Null"}),s.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyTransfer(),this.currentStep=7,P.track("max_retries_reached",{payment_method:"Transfer"}),this.warningScreen.setPaymentError(I["maximum-retries"],I["maximum-retries-desc"],ne["merchant-back"]);else if(s!=null&&s.message){const a=await $(s.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=7,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=7,this.warningScreen.setPaymentError(I["payment-failed"]);this.warningScreen.hideReportIssue()})})}goBackToMerchant(){tn(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}renderTransferContent(e){var i;e&&(this.merchantPlanDetail=e);const t=document.getElementById("go-back");if(this.isMobile&&this.hidePaymentMethods(),this.currentStep!==1?(t==null||t.classList.add("hidden"),this.disablePaymentMethods("bank_transfer")):t==null||t.addEventListener("click",()=>{this.restartTransactionProcess()}),this.contents){switch(this.currentStep){case 1:this.transferDetails=new Ts({container:this.contents,onAction:o=>{this.onSentVerify.bind(this)(o)},onFail:async(o,s)=>{if(this.currentStep=o,o===7&&s){const a=await $(s,A==null?void 0:A.language);this.errorText=a,this.warningScreen.setPaymentError(this.errorText)}}});break;case 2:this.transferExpired=new jl({container:this.contents}),this.transferExpired.renderComponent();break;case 5:this.transferConfirmationProgress=new Vl({container:this.contents,onAction:async(o,s)=>{if(this.currentStep=o,o===7&&s){const a=await $(s,A==null?void 0:A.language);this.errorText=a,this.warningScreen.setPaymentError(this.errorText)}},ref:this.activeRef,token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(o,s)=>{this.paymentResponse=o,this.paymentResponseHeaders=s}}),this.transferConfirmationProgress.renderComponent(this.paymentResponse);break;case 6:this.successScreen=new ot({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(i=this.merchantPlanDetail)==null?void 0:i.rate.rate}),this.successScreen.renderComponent();break;case 7:this.warningScreen=new Ln({container:this.contents,onReportIssue:()=>this.currentStep=8,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this)}),this.contents.innerHTML=this.warningScreen.render();break;case 8:this.transferConfirmationEnd=new Ss({container:this.contents,onAction:o=>{this.currentStep=o},ref:this.reference,token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders,paymentMethod:"Transfer"}),this.transferConfirmationEnd.renderComponent();break;case 9:this.transactionIssuesScreen=new _t({container:this.contents,onAction:async()=>{var o,s;if(this.currentStep=7,(o=this.paymentResponse)!=null&&o.providerMessage){const a=await $((s=this.paymentResponse)==null?void 0:s.providerMessage,A==null?void 0:A.language);this.errorText=a}this.warningScreen.setPaymentError(this.errorText||I["payment-failed"])},token:this.token,rdtCode:this.rdtCode,url:this.url,paymentChannel:"bank_transfer",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break}this.attachInputListeners()}}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}stopProgressBar(){const e=this.container.querySelector(".progress-bar");e&&(e.style.animationPlayState="paused")}copyToClipboard(e,t){navigator.clipboard.writeText(e).then(()=>{t.innerHTML=I.copied}).catch(()=>{t.innerHTML=I["copy-fail"]})}destroyTimer(){this.stopTimer()}stopPolling(){this.abortController&&this.abortController.abort()}}function Ls(){return function(n,e){let t=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:()=>t,set:s=>{t=s}})}}class le extends Error{constructor(e,t){super(e),this.status=t,this.name="FetchError"}}class ln extends Error{constructor(e){super(e),this.name="AuthorizationError"}}class Ji{constructor(e){h(this,"token");h(this,"baseurl","https://api.spotflow.co/api/v1");h(this,"headers");h(this,"rdtCode");h(this,"url");h(this,"getHeaders",(e,t)=>{if(!e)throw new ln("Missing authorization token");const i=new Headers;return i.append("Content-Type","application/json"),i.append("Authorization",`Bearer ${e}`),t&&i.append("Spotflow-Payment-Code",t),i});this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.headers=this.getHeaders(this.token,this.rdtCode)}}class Es extends Ji{constructor(e){super(e)}async createCardPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const o=await t.json();throw o.message?new le(o.message,t.status):new le("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof le?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof ln?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async createUssdPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const o=await t.json();throw o.message?new le(o.message,t.status):new le("Network response was not ok",t.status)}return{data:await t.json(),headers:t.headers}}catch(t){throw t instanceof le?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof ln?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async validateCardPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments/validate`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const o=await t.json();throw o.message?new le(o.message,t.status):new le("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof le?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof ln?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async authorizeCardPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments/authorize`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const o=await t.json();throw o.message?new le(o.message,t.status):new le("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof le?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof ln?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async createTransferPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const o=await t.json();throw o.message?new le(o.message,t.status):new le("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof le?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof ln?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async verifyPayment(e,t){try{const i=await fetch(`${pe(this.baseurl,this.url)}/payments/verify?reference=${e}`,{method:"GET",headers:this.headers,signal:t});if(!i.ok){const s=await i.json();throw s.message?new le(s.message,i.status):new le("Network response was not ok",i.status)}return{data:await i.json(),headers:i.headers}}catch(i){throw i instanceof le?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof ln?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}}class Fl extends Ji{constructor(e){super(e)}async getMerchantConfig(e,t){try{const i=await fetch(`${pe(this.baseurl,this.url)}/checkout-configurations?currency=${t}&planId=${e||""}`,{headers:this.headers,method:"GET"});if(!i.ok){const o=await i.json();throw o.message?new le(o.message,i.status):new le("Network response was not ok",i.status)}return i.json()}catch(i){throw i instanceof le?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof ln?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}}class Gl extends Ji{constructor(e){super(e)}async getBankList(){try{const e=await fetch(`${pe(this.baseurl,this.url)}/banks?ussd=true`,{headers:this.headers,method:"GET"});if(!e.ok){const t=await e.json();throw t.message?new le(t.message,e.status):new le("Network response was not ok",e.status)}return e.json()}catch(e){throw e instanceof le?(xt.showToast(e.message,"error",9e3),console.error(`FetchError: ${e.message} (status: ${e.status})`)):e instanceof ln?console.error(`AuthorizationError: ${e.message}`):console.error(`Unexpected error: ${e}`),e}}}const zl=`<form id="ussdBanks">
|
|
1627
|
+
</div>`;class Yl{constructor(e){u(this,"container");this.container=e.container}attachListeners(){const e=this.container.querySelector("#payment-warning-text"),t=this.container.querySelector("#payment-warning-desc");e&&(e.innerHTML=je["account-expired"]),t&&(t.innerHTML=je["account-expired-desc"])}renderComponent(){this.container.innerHTML=this.render()}render(){return Jl}}class Xl{constructor({amount:e,totalAmount:t,closeModal:i,container:s,customer:o,token:a,currency:l,rdtCode:c,url:v,reference:m,callBackUrl:f,metadata:b,localCurrency:g,disablePaymentMethods:w,restartTransactionProcess:C,hidePaymentMethods:k,retryingPayment:x}){u(this,"container");u(this,"contents");u(this,"closeModal");u(this,"customer");u(this,"transferDetails");u(this,"transferConfirmationProgress");u(this,"transferConfirmationEnd");u(this,"transferExpired");u(this,"mainLoader");u(this,"warningScreen");u(this,"successScreen");u(this,"merchantPlanDetail",{});u(this,"token");u(this,"currency");u(this,"amount");u(this,"totalAmount");u(this,"rdtCode");u(this,"url");u(this,"reference");u(this,"_currentStep");u(this,"activeRef");u(this,"paymentResponse");u(this,"timerId");u(this,"abortController",null);u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"transactionIssuesScreen");u(this,"disablePaymentMethods");u(this,"paymentResponseHeaders");u(this,"restartTransactionProcess");u(this,"hidePaymentMethods");u(this,"retryingPayment");u(this,"isMaxRetriesReached");u(this,"isMobile",!1);u(this,"errorText");this.currency=l,this.container=s,this.contents=this.container.querySelector("#payment-content-view"),this.closeModal=i,this.token=a,this.customer=o,this.amount=e,this.totalAmount=t,this.rdtCode=c,this.url=v,this.reference=m,this._currentStep=1,this.callBackUrl=f,this.metadata=b,this.localCurrency=g,this.disablePaymentMethods=w,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=C,this.hidePaymentMethods=k,this.retryingPayment=x,this.isMaxRetriesReached=!1,this.renderTransferContent(),this.paymentResponse={},this.activeRef="",this.timerId=null,this.errorText="",this.mainLoader=new xe(this.contents),this.mainLoader.mountLoader("25dvh"),this.currentStep===1&&(this.abortController=new AbortController,this.createTransfer()),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderTransferContent(),e===1&&this.createTransfer()}attachInputListeners(){const e=this.container.querySelector("#transfer-try-again"),t=this.container.querySelector("#transfer-sent"),i=this.container.querySelector(".success-button");e&&e.addEventListener("click",()=>{this.currentStep=1}),t&&t.addEventListener("click",()=>{this.abortController&&(this.abortController.abort(),this.currentStep=5)}),i&&i.addEventListener("click",()=>{this.closeModal(),E.track("checkout_closes")})}onSentVerify(e){e!==2?this.abortController&&(this.abortController.abort(),this.currentStep=e):this.currentStep=2}async verifyTransfer(){try{const e=await on(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers}catch{this.currentStep=7}}async createTransfer(){requestAnimationFrame(()=>{const e=this.container.querySelector("#loader"),t=this.container.querySelector("#details-content");t&&(this.mainLoader=new xe(this.contents),this.mainLoader.mountLoader("25dvh"),t.classList.add("hidden")),E.track("start_payment",{payment_method:"Transfer"});const i=xt();(()=>{var o,a;if(this.retryingPayment){const l={channel:"bank_transfer",reference:this.reference};return lt(this.token,l,this.rdtCode,this.url)}else{const l={amount:this.amount,channel:"bank_transfer",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((o=this.merchantPlanDetail)==null?void 0:o.taxQuoteId)&&{taxQuoteId:(a=this.merchantPlanDetail)==null?void 0:a.taxQuoteId},deviceInformation:i};return xi(this.token,l,this.rdtCode,this.url)}})().then(async({data:o,headers:a})=>{if(this.paymentResponse=o,this.paymentResponseHeaders=a,o.providerMessage){const l=await q(o.providerMessage,A==null?void 0:A.language);this.errorText=l}if(o.status==="failed")this.currentStep=7,E.track("stop_transferProcess",{payment_method:"Transfer",verification_status:"Failed"}),o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue();else if(e&&t&&(e.classList.add("hidden"),t.classList.remove("hidden")),this.activeRef=o.reference,this.paymentResponse=o,o.bankDetails&&o.bankDetails.accountNumber)this.transferDetails=new Ro({container:this.contents,onAction:l=>{this.onSentVerify.bind(this)(l)},onFail:async(l,c)=>{if(this.currentStep=l,l===7&&c){const v=await q(c,A==null?void 0:A.language);this.errorText=v,this.warningScreen.setPaymentError(this.errorText)}}}),this.transferDetails.renderComponent(this.paymentResponse||o);else if(o.providerMessage){const l=await q(o.providerMessage,A==null?void 0:A.language);this.errorText=l,this.currentStep=7,this.warningScreen.setPaymentError(this.errorText)}else{const l=await q("Error fetching bank details",A==null?void 0:A.language);this.currentStep=7,this.warningScreen.setPaymentError(l)}}).catch(async o=>{if(E.track("verify_payment",{payment_method:"Transfer",verification_status:"Null"}),o.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyTransfer(),this.currentStep=7,E.track("max_retries_reached",{payment_method:"Transfer"}),this.warningScreen.setPaymentError(D["maximum-retries"],D["maximum-retries-desc"],Q["merchant-back"]);else if(o!=null&&o.message){const a=await q(o.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=7,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=7,this.warningScreen.setPaymentError(D["payment-failed"]);this.warningScreen.hideReportIssue()})})}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}renderTransferContent(e){var i;e&&(this.merchantPlanDetail=e);const t=document.getElementById("go-back");if(this.isMobile&&this.hidePaymentMethods(),this.currentStep!==1?(t==null||t.classList.add("hidden"),this.disablePaymentMethods("bank_transfer")):t==null||t.addEventListener("click",()=>{this.restartTransactionProcess()}),this.contents){switch(this.currentStep){case 1:this.transferDetails=new Ro({container:this.contents,onAction:s=>{this.onSentVerify.bind(this)(s)},onFail:async(s,o)=>{if(this.currentStep=s,s===7&&o){const a=await q(o,A==null?void 0:A.language);this.errorText=a,this.warningScreen.setPaymentError(this.errorText)}}});break;case 2:this.transferExpired=new Yl({container:this.contents}),this.transferExpired.renderComponent();break;case 5:this.transferConfirmationProgress=new Ql({container:this.contents,onAction:async(s,o)=>{if(this.currentStep=s,s===7&&o){const a=await q(o,A==null?void 0:A.language);this.errorText=a,this.warningScreen.setPaymentError(this.errorText)}},ref:this.activeRef,token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(s,o)=>{this.paymentResponse=s,this.paymentResponseHeaders=o}}),this.transferConfirmationProgress.renderComponent(this.paymentResponse);break;case 6:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(i=this.merchantPlanDetail)==null?void 0:i.rate.rate}),this.successScreen.renderComponent();break;case 7:this.warningScreen=new ln({container:this.contents,onReportIssue:()=>this.currentStep=8,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this)}),this.contents.innerHTML=this.warningScreen.render();break;case 8:this.transferConfirmationEnd=new Io({container:this.contents,onAction:s=>{this.currentStep=s},ref:this.reference,token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders,paymentMethod:"Transfer"}),this.transferConfirmationEnd.renderComponent();break;case 9:this.transactionIssuesScreen=new ut({container:this.contents,onAction:async()=>{var s,o;if(this.currentStep=7,(s=this.paymentResponse)!=null&&s.providerMessage){const a=await q((o=this.paymentResponse)==null?void 0:o.providerMessage,A==null?void 0:A.language);this.errorText=a}this.warningScreen.setPaymentError(this.errorText||D["payment-failed"])},token:this.token,rdtCode:this.rdtCode,url:this.url,paymentChannel:"bank_transfer",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break}this.attachInputListeners()}}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}stopProgressBar(){const e=this.container.querySelector(".progress-bar");e&&(e.style.animationPlayState="paused")}copyToClipboard(e,t){navigator.clipboard.writeText(e).then(()=>{t.innerHTML=D.copied}).catch(()=>{t.innerHTML=D["copy-fail"]})}destroyTimer(){this.stopTimer()}stopPolling(){this.abortController&&this.abortController.abort()}}function Oo(){return function(n,e){let t=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:()=>t,set:o=>{t=o}})}}class ce extends Error{constructor(e,t){super(e),this.status=t,this.name="FetchError"}}class mn extends Error{constructor(e){super(e),this.name="AuthorizationError"}}class rs{constructor(e){u(this,"token");u(this,"baseurl","https://api.spotflow.co/api/v1");u(this,"headers");u(this,"rdtCode");u(this,"url");u(this,"getHeaders",(e,t)=>{if(!e)throw new mn("Missing authorization token");const i=new Headers;return i.append("Content-Type","application/json"),i.append("Authorization",`Bearer ${e}`),t&&i.append("Spotflow-Payment-Code",t),i});this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.headers=this.getHeaders(this.token,this.rdtCode)}}class Uo extends rs{constructor(e){super(e)}async createCardPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const s=await t.json();throw s.message?new ce(s.message,t.status):new ce("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof ce?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof mn?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async createUssdPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const s=await t.json();throw s.message?new ce(s.message,t.status):new ce("Network response was not ok",t.status)}return{data:await t.json(),headers:t.headers}}catch(t){throw t instanceof ce?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof mn?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async validateCardPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments/validate`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const s=await t.json();throw s.message?new ce(s.message,t.status):new ce("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof ce?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof mn?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async authorizeCardPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments/authorize`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const s=await t.json();throw s.message?new ce(s.message,t.status):new ce("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof ce?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof mn?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async createTransferPayment(e){try{const t=await fetch(`${pe(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!t.ok){const s=await t.json();throw s.message?new ce(s.message,t.status):new ce("Network response was not ok",t.status)}return await t.json()}catch(t){throw t instanceof ce?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof mn?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}async verifyPayment(e,t){try{const i=await fetch(`${pe(this.baseurl,this.url)}/payments/verify?reference=${e}`,{method:"GET",headers:this.headers,signal:t});if(!i.ok){const o=await i.json();throw o.message?new ce(o.message,i.status):new ce("Network response was not ok",i.status)}return{data:await i.json(),headers:i.headers}}catch(i){throw i instanceof ce?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof mn?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}}class $l extends rs{constructor(e){super(e)}async getMerchantConfig(e,t){try{const i=await fetch(`${pe(this.baseurl,this.url)}/checkout-configurations?currency=${t}&planId=${e||""}`,{headers:this.headers,method:"GET"});if(!i.ok){const s=await i.json();throw s.message?new ce(s.message,i.status):new ce("Network response was not ok",i.status)}return i.json()}catch(i){throw i instanceof ce?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof mn?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}}class ec extends rs{constructor(e){super(e)}async getBankList(){try{const e=await fetch(`${pe(this.baseurl,this.url)}/banks?ussd=true`,{headers:this.headers,method:"GET"});if(!e.ok){const t=await e.json();throw t.message?new ce(t.message,e.status):new ce("Network response was not ok",e.status)}return e.json()}catch(e){throw e instanceof ce?(Et.showToast(e.message,"error",9e3),console.error(`FetchError: ${e.message} (status: ${e.status})`)):e instanceof mn?console.error(`AuthorizationError: ${e.message}`):console.error(`Unexpected error: ${e}`),e}}}const nc=`<form id="ussdBanks">
|
|
1610
1628
|
<div>
|
|
1611
1629
|
<h5 class="text-grey-400 font-semibold text-sm">Please choose your bank to begin payment</h5>
|
|
1612
1630
|
<div class="mt-2">
|
|
@@ -1641,7 +1659,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1641
1659
|
</div>
|
|
1642
1660
|
</div>
|
|
1643
1661
|
</div>
|
|
1644
|
-
</form>`;class
|
|
1662
|
+
</form>`;class Vo{constructor(e){u(this,"container");u(this,"bank_service");u(this,"bank_list");u(this,"onAction");u(this,"selectedBank");u(this,"currency");u(this,"localCurrency");u(this,"rate");u(this,"amount");u(this,"totalAmount");this.container=e.container,this.currency=e.currency,this.localCurrency=e.localCurrency,this.rate=e.rate,this.amount=e.amount,this.totalAmount=e.totalAmount,this.bank_list=[],this.bank_service=new ec({token:e.merchantKey,rdtCode:e.rdtCode,url:e.url}),this.selectedBank={code:"",name:""},this.onAction=e.onAction?e.onAction:()=>null}attachListerner(){const e=document.getElementById("bank-search-input"),t=document.querySelectorAll(".select-option-tag"),i=document.querySelector("#ussd-bank-button"),s=document.querySelector("#ussdBanks");e&&e.addEventListener("change",o=>{var a,l;if(o.stopPropagation(),this.selectedBank={code:e.value,name:((l=(a=this.bank_list.filter(c=>c.code==e.value))==null?void 0:a[0])==null?void 0:l.name)||""},this.validateForm())i&&i.removeAttribute("disabled");else if(i){if(i.disabled)return;i.setAttribute("disabled","")}}),t&&Array.from(t).forEach(a=>{a.addEventListener("click",function(l){E.track("select_bank",{payment_method:"USSD"}),l.stopPropagation()})}),s&&s.addEventListener("submit",o=>{o.preventDefault(),this.onAction(this.selectedBank)})}validateForm(){return!!this.selectedBank.code}displayButtonText(e){const t=this.container.querySelector("#ussd-bank-button-text");if(t){const i=this.localCurrency?this.localCurrency:this.currency;t.textContent=`Continue to pay ${i} ${Se(this.totalAmount!==this.amount?this.totalAmount:this.amount*(this.rate?this.rate:1),2)}`}}renderContent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#bank-search-input");if(e){const t=new Option("Select your bank","",!0,!0);t.disabled=!0,e.appendChild(t),e.classList.remove("text-tone-100"),e.classList.add("text-tone-50")}this.bank_service.getBankList().then(t=>{this.bank_list=t,e&&t.forEach(i=>{const s=new Option(i.name,i.code);e.appendChild(s),e.classList.remove("text-tone-50"),e.classList.add("text-tone-100")})}),this.displayButtonText(),this.attachListerner()}render(){return nc}}const tc=`<div id="viewCode">
|
|
1645
1663
|
<div class="grid gap-4">
|
|
1646
1664
|
<div class="text-center">
|
|
1647
1665
|
<div class="md:w-4/5 mx-auto grid gap-3">
|
|
@@ -1678,7 +1696,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1678
1696
|
payment</button>
|
|
1679
1697
|
</div>
|
|
1680
1698
|
</div>
|
|
1681
|
-
</div>`;class
|
|
1699
|
+
</div>`;class ic{constructor(e){u(this,"container");u(this,"selected");u(this,"secret");u(this,"onAction");u(this,"paymentService");u(this,"currency");u(this,"amount");u(this,"ussd_detail");u(this,"reference");u(this,"customer");u(this,"activeRef","");u(this,"pageLoader");u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"onError");this.container=e.container,this.selected=e.selected,this.onAction=e.onAction,this.secret=e.secret,this.paymentService=new Uo({token:this.secret,rdtCode:e.rdtCode,url:e.url}),this.currency=e.currency,this.amount=e.amount||0,this.customer=e.customer,this.reference=e.reference,this.callBackUrl=e.callBackUrl,this.metadata=e.metadata,this.localCurrency=e.localCurrency,this.onError=e.onError??(()=>null),this.pageLoader=new xe(this.container),this.pageLoader.mountLoader("25dvh"),this.pageLoader.updateMessage("Fetching selected bank code detail")}makePayment(){var e;E.track("start_ussdProcess",{payment_method:"USSD"}),this.paymentService.createUssdPayment({amount:this.amount,currency:this.currency,channel:"ussd",customer:this.customer,bank:{code:((e=this.selected)==null?void 0:e.code)||""},reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0}).then(({data:t,headers:i})=>{var s;if(this.ussd_detail=t.ussd,this.activeRef=t.reference||"",t.status==="failed"){this.onError(t.providerMessage||"Payment failed"),E.track("stop_ussdProcess",{payment_method:"USSD"});const o=i.get("spf-redirect-url");this.callBackUrl=o||this.callBackUrl,this.callBackUrl&&setTimeout(()=>{const a=new URL(this.callBackUrl);a.searchParams.append("status",t.status),a.searchParams.append("reference",t.reference),window.location.href=a.toString()},1800);return}else if(t.status!=="success")if(t.ussd){this.container.innerHTML=this.render();const o=this.container.querySelectorAll(".bank-dial-code"),a=this.container.querySelector("#bank-dial-code");a&&(a.innerHTML=((s=t==null?void 0:t.ussd)==null?void 0:s.paymentCode)||"");const l=this.container.querySelector("#bank-name-ussd");l&&(l.innerHTML=this.selected.name),Array.from(o).forEach(v=>{var m;v.innerHTML=((m=t==null?void 0:t.ussd)==null?void 0:m.code)||""}),this.attachListener();return}else if(t.providerMessage){this.onError(t.providerMessage);return}else{this.onError("Unable to fetch bank details");return}this.container.innerHTML=this.render(),this.attachListener()}).catch(t=>{t!=null&&t.message?this.onError(t.message):this.onError("Payment failed")})}attachListener(){const e=this.container.querySelectorAll(".copy-code-button"),t=this.container.querySelectorAll(".copy-code-button-1"),i=this.container.querySelector("#bank-completed-payment");Array.from(e).forEach(a=>{a.addEventListener("click",l=>{var c;E.track("copy_ussdCode",{payment_method:"USSD"}),window.navigator.clipboard.writeText(((c=this.ussd_detail)==null?void 0:c.code)||"")})}),Array.from(t).forEach(a=>{a.addEventListener("click",l=>{var c;E.track("copy_ussdCode",{payment_method:"USSD"}),window.navigator.clipboard.writeText(((c=this.ussd_detail)==null?void 0:c.code)||"")})}),i&&i.addEventListener("click",a=>{a.preventDefault(),this.onAction(this.selected,this.activeRef)})}renderComponent(){this.makePayment(),this.attachListener()}render(){return tc}}var sc=Object.defineProperty,oc=(n,e,t,i)=>{for(var s=void 0,o=n.length-1,a;o>=0;o--)(a=n[o])&&(s=a(e,t,s)||s);return s&&sc(e,t,s),s};class Ko{constructor({container:e,onSuccess:t,secret:i,amount:s,totalAmount:o,currency:a,customer:l,reference:c,rdtCode:v,url:m,callBackUrl:f,metadata:b,localCurrency:g,hidePaymentMethods:w,showPaymentMethods:C,disablePaymentMethods:k}){u(this,"contents");u(this,"selectedCode");u(this,"secret");u(this,"amount");u(this,"totalAmount");u(this,"currency");u(this,"customer");u(this,"pageLoader");u(this,"reference");u(this,"onSuccess");u(this,"warningScreen");u(this,"bankDetail");u(this,"viewUssdCode");u(this,"_currentStep");u(this,"container");u(this,"paymentService");u(this,"successScreen");u(this,"activeRef","");u(this,"abortController");u(this,"_retry_count",10);u(this,"intervalPayment");u(this,"rdtCode");u(this,"url");u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"merchantDetails");u(this,"hidePaymentMethods");u(this,"showPaymentMethods");u(this,"disablePaymentMethods");this.onSuccess=t||(()=>null),this.container=e,this.secret=i,this.amount=s,this.totalAmount=o,this.currency=a,this.reference=c,this.customer=l,this.rdtCode=v,this.url=m,this.callBackUrl=f,this.metadata=b,this.localCurrency=g,this.merchantDetails={},this.hidePaymentMethods=w,this.showPaymentMethods=C,this.disablePaymentMethods=k,this.contents=this.container.querySelector("#payment-content-view"),this._currentStep=1,this.paymentService=new Uo({token:this.secret,rdtCode:this.rdtCode,url:this.url}),E.track("ussd_opens",{payment_method:"USSD"})}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderUssdContent()}onCodeSelect(e){this.selectedCode=e||"",this.currentStep=2}validate(){let e;if(this.abortController?e=this.abortController.signal:(this.abortController=new AbortController,e=this.abortController.signal),this._retry_count<=0){clearInterval(this.intervalPayment),this.currentStep=3;return}this.paymentService.verifyPayment(this.activeRef,e||this.abortController.signal).then(({data:t,headers:i})=>{t.status==="failed"?(this.currentStep=3,clearInterval(this.intervalPayment),this.redirectTo(t,i,"failed")):["successful","failed"].includes(t.status)?t.status==="inProgress"?this._retry_count-=1:["success","successful"].includes(t.status)&&(this.currentStep=5,clearInterval(this.intervalPayment),E.track("verify_payment",{payment_method:"USSD",verification_status:"Success"}),this.redirectTo(t,i,"success")):this._retry_count-=1}).catch(t=>{t.message?this.warningScreen.setPaymentError(t.message):this.warningScreen.setPaymentError("Payment failed"),this.currentStep=3,clearInterval(this.intervalPayment),E.track("verify_payment",{payment_method:"USSD",verification_status:"Failed"})})}redirectTo(e,t,i){const s=t.get("spf-redirect-url");this.callBackUrl=s||this.callBackUrl,this.callBackUrl?setTimeout(()=>{const o=new URL(this.callBackUrl);o.searchParams.append("status",e.status),o.searchParams.append("reference",e.reference),window.location.href=o.toString()},1800):i==="success"&&this.onSuccess(e)}renderUssdContent(e){var t;if(e&&(this.merchantDetails=e),this.currentStep===3||this.currentStep===5?this.hidePaymentMethods():this.showPaymentMethods(),this.currentStep===2&&this.disablePaymentMethods("ussd"),this.currentStep!==1){const i=document.getElementById("go-back");i&&(i.classList.remove("flex","items-center","gap-2","mb-2"),i.innerHTML="")}switch(this.currentStep){case 1:this.bankDetail=new Vo({container:this.contents,merchantKey:this.secret,onAction:this.onCodeSelect.bind(this),rdtCode:this.rdtCode,url:this.url,currency:this.currency,localCurrency:this.localCurrency,rate:e==null?void 0:e.rate.rate,amount:this.amount,totalAmount:this.totalAmount}),this.bankDetail.renderContent();break;case 2:this.viewUssdCode=new ic({container:this.contents,onAction:(i,s)=>{this.activeRef=s,this.currentStep=4,this.intervalPayment=setInterval(()=>{this.validate()},5e3)},selected:this.selectedCode||{},secret:this.secret,amount:this.amount,totalAmount:this.totalAmount,currency:this.currency,customer:this.customer,onError:i=>{this.currentStep=3,this.warningScreen.setPaymentError(i)},reference:this.reference,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency}),this.viewUssdCode.renderComponent();break;case 3:this.contents.innerHTML=ks,this.warningScreen=new ln({container:this.contents});break;case 4:this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader("25vh"),this.pageLoader.updateMessage("We are confirming transaction status. This might take a few seconds.","Please do not refresh this page");break;case 5:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(t=this.merchantDetails)==null?void 0:t.rate.rate}),this.successScreen.renderComponent();break;default:this.bankDetail=new Vo({container:this.contents,merchantKey:this.secret,onAction:this.onCodeSelect.bind(this),rdtCode:this.rdtCode,url:this.url,currency:this.currency,localCurrency:this.localCurrency,rate:e==null?void 0:e.rate.rate,amount:this.amount,totalAmount:this.totalAmount}),this.bankDetail.renderContent();break}}handleSelectChange(e){setTimeout(()=>{this.currentStep=2},400),this.currentStep=2}}oc([Oo(),Oo()],Ko.prototype,"selectedCode");const ac={NGN:"Nigerian Naira",USD:"US Dollar",GHS:"Ghanaian Cedi",GBP:"Pounds",ZAF:"South African Rand",USDT:"Tether",KSH:"Kenyan Shilling"},rc=n=>n==null?void 0:n.replace(/_/g," ");function lc(n){return n.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ")}const ni=n=>{if(n){const e=rc(n);return lc(e)}return""},cc=`<div>
|
|
1682
1700
|
<button id="go-back" class="md:hidden" aria-label="Go back">
|
|
1683
1701
|
</button>
|
|
1684
1702
|
</div>
|
|
@@ -1695,7 +1713,17 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1695
1713
|
|
|
1696
1714
|
</button> -->
|
|
1697
1715
|
</div>
|
|
1716
|
+
<div class="hidden" id="trial-info">
|
|
1717
|
+
<div>
|
|
1718
|
+
<p class="text-sm font-medium mt-1 mb-1">Today's total = <span id="todays-total-amount">0</span></p>
|
|
1719
|
+
</div>
|
|
1720
|
+
<div class="text-sm bg-[#FBF2CB] text-[#C8811A] rounded-[20px] px-2 inline-block self-start">
|
|
1721
|
+
After trial ends
|
|
1722
|
+
</div>
|
|
1723
|
+
<div>
|
|
1698
1724
|
|
|
1725
|
+
</div>
|
|
1726
|
+
</div>
|
|
1699
1727
|
<div class="py-5 md:py-3 border-b border-b-grey-faint" id="payment-details-header">
|
|
1700
1728
|
<div class="hidden md:block" id="payment-details">
|
|
1701
1729
|
<div class="container-between gap-3">
|
|
@@ -1808,7 +1836,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1808
1836
|
|
|
1809
1837
|
<!-- Tab options -->
|
|
1810
1838
|
</div>
|
|
1811
|
-
</div>`;class
|
|
1839
|
+
</div>`;class dc{constructor(e){u(this,"container");u(this,"email");u(this,"amount",0);u(this,"metadata");u(this,"currency");u(this,"localCurrency");u(this,"mainLoader");u(this,"trialAmount");u(this,"trial");u(this,"merchantDetail");u(this,"onAction");u(this,"isMobile");u(this,"onClose");u(this,"currentPaymentMethod");this.container=e.container,this.email=e.email,this.amount=e.amount||0,this.metadata=e.metadata,this.currency=e.currency,this.localCurrency=e.localCurrency,this.merchantDetail=e.merchantDetail,this.onAction=e.onAction,this.isMobile=e.isMobile,this.trial=e.trial,this.onClose=e.onClose,this.trialAmount=e.trialAmount,this.currentPaymentMethod=e.currentPaymentMethod}attachListeners(){const e=this.container.querySelectorAll(".tab-button");Array.from(e).forEach(o=>{const a=o.dataset.name||"",l=o.querySelector(".tab-button-icon"),c=o.querySelector(".tab-button-label");l&&(l.innerHTML=se[a].icon),c&&(c.textContent=se[a].label),o.addEventListener("click",v=>{v.preventDefault(),this.onAction(a)})});const i=this.container.querySelector("#close-btn");i&&i.addEventListener("click",()=>{this.onClose(!0)});const s=document.getElementById("go-back");s==null||s.addEventListener("click",()=>{this.onAction("")})}renderComponent(){var Tn,pn,Rn,_n,Oe,vn,On,me,ke,qe,Ue,Te,sn,H,ye,te,Ce,Ve,ne,En,At,ti,ii,si,oi,Un,ai,re,ri,li,ci,di,ui,hi,mi,ot,at,pi,vi,bi,fi,rt,We,gi,bn;this.container.innerHTML=this.render(),this.mainLoader=new xe(this.container),this.amount=this.amount;const e=this.container.querySelector("#merchant-logo-container"),t=this.container.querySelector("#merchant-logo"),i=this.container.querySelector("#merchant-email"),s=this.container.querySelector("#merchant-email-mob"),o=this.container.querySelector("#trial-info"),a=this.container.querySelector("#todays-total-amount"),l=this.container.querySelector("#plan-name"),c=this.container.querySelector("#plan-name-mob"),v=this.container.querySelector("#payment-fees"),m=this.container.querySelector("#currency-cursor"),f=this.container.querySelector("#currency-cursor-mob"),b=this.container.querySelector("#payment-rate-display"),g=this.container.querySelector("#payment-rate-display-mob"),w=this.container.querySelector("#designated-rate"),C=this.container.querySelector("#designated-rate-mob"),k=this.container.querySelector("#designated-rate-no-plan"),x=this.container.querySelector("#source-rate"),M=this.container.querySelector("#source-rate-mob"),L=this.container.querySelector("#tax-rate"),P=this.container.querySelector("#tax-rate-mob"),B=this.container.querySelector("#tooltip-localCurrency"),j=this.container.querySelector("#tooltip-localCurrency-mob"),W=this.container.querySelector("#select-payment-method-text"),K=this.container.querySelector("#amount-text"),z=this.container.querySelector("#what-is-this"),de=this.container.querySelector("#reflect"),Ae=this.container.querySelector("#please-note"),F=this.container.querySelector("#what-is-this-mob"),Ie=this.container.querySelector("#reflect-mob"),ge=this.container.querySelector("#please-note-mob"),Re=this.container.querySelector("#to-pay-text");if(W&&(W.innerHTML=Q.select_payment_method_text),K&&(K.innerHTML=`${Q.amount}:`),Re&&(Re.innerHTML=`${Q["to-pay"]}:`),z&&(z.innerHTML=D["what-is-this"]),de&&(de.innerHTML=D["rate-reflect-note"]),Ae&&(Ae.innerHTML=D["rate-please-note"]),F&&(F.innerHTML=D["what-is-this"]),Ie&&(Ie.innerHTML=D["rate-reflect-note"]),ge&&(ge.innerHTML=D["rate-please-note"]),(Tn=this.merchantDetail)!=null&&Tn.merchantLogo?t&&t.setAttribute("src",(pn=this.merchantDetail)==null?void 0:pn.merchantLogo):e&&(t==null||t.remove(),e.innerHTML=`<div class="font-semibold text-tone-100 rounded-2xl w-8 h-8 bg-tone-10 container-center uppercase">${this.merchantDetail.merchantName[0]}</div>`),i&&(i.innerHTML=this.email),s&&(s.innerHTML=this.email),l){if((_n=(Rn=this.merchantDetail)==null?void 0:Rn.plan)!=null&&_n.title){const Pn=((vn=(Oe=this.merchantDetail)==null?void 0:Oe.plan)==null?void 0:vn.title)||"";l.textContent=ni(Pn)}(On=this.metadata)!=null&&On.productName&&(l.textContent=ni(this.metadata.productName))}if(c){if((ke=(me=this.merchantDetail)==null?void 0:me.plan)!=null&&ke.title){const Pn=((Ue=(qe=this.merchantDetail)==null?void 0:qe.plan)==null?void 0:Ue.title)||"";c.textContent=ni(Pn)}(Te=this.metadata)!=null&&Te.productName&&(c.textContent=ni(this.metadata.productName))}if(m&&(this.currency==="USD"?b&&(b.innerHTML=`1 ${((H=(sn=this.merchantDetail)==null?void 0:sn.rate)==null?void 0:H.to)||"-"} = ${((te=(ye=this.merchantDetail)==null?void 0:ye.rate)==null?void 0:te.from)||"-"} ${Se(((Ce=this.merchantDetail.rate)==null?void 0:Ce.rate)||1,2)} `):m.innerHTML=""),f&&(this.currency==="USD"?g&&(g.innerHTML=`1 ${((ne=(Ve=this.merchantDetail)==null?void 0:Ve.rate)==null?void 0:ne.to)||"-"} = ${((At=(En=this.merchantDetail)==null?void 0:En.rate)==null?void 0:At.from)||"-"} ${Se(((ti=this.merchantDetail.rate)==null?void 0:ti.rate)||1,2)} `):f.innerHTML=""),(si=(ii=this.merchantDetail)==null?void 0:ii.plan)!=null&&si.title||(oi=this.metadata)!=null&&oi.productName?w&&(((ai=(Un=this.merchantDetail)==null?void 0:Un.plan)==null?void 0:ai.trial)?(o==null||o.classList.remove("hidden"),w.innerHTML=`${this.currency} ${Se(this.amount,2)}`):(w.innerHTML=`${this.currency} ${Se(this.amount,2)}`,o==null||o.classList.add("hidden"))):(k&&(k.innerHTML=`<span> ${this.currency} ${Se(this.amount,2)} </span>`),l&&c&&(l.remove(),c==null||c.remove()),this.localCurrency?w==null||w.remove():v&&v.remove()),C){const Pn=(ri=(re=this.merchantDetail)==null?void 0:re.plan)==null?void 0:ri.trial,yi=(ui=(di=(ci=(li=this.merchantDetail)==null?void 0:li.plan)==null?void 0:ci.trial)==null?void 0:di.pricingList[0])==null?void 0:ui.amount;Pn&&a?(a.textContent=`${this.currency} ${Se(yi,2)}`,C.innerHTML=`${this.currency} ${Se(this.amount,2)}`):C.innerHTML=`${this.currency} ${Se(this.amount,2)}`}x&&(this.localCurrency&&this.localCurrency!==this.currency?x.children[1].innerHTML=`${this.localCurrency} ${Se(this.amount*(((mi=(hi=this.merchantDetail)==null?void 0:hi.rate)==null?void 0:mi.rate)||1),2)}`:x.remove()),M&&(this.localCurrency&&this.localCurrency!==this.currency?M.children[1].innerHTML=`${this.localCurrency} ${Se(this.amount*(((at=(ot=this.merchantDetail)==null?void 0:ot.rate)==null?void 0:at.rate)||1),2)}`:M.remove());const De=this.localCurrency!==this.currency?this.amount*(((vi=(pi=this.merchantDetail)==null?void 0:pi.rate)==null?void 0:vi.rate)||1):this.amount;L&&(bi=this.merchantDetail)!=null&&bi.taxQuoteId&&(fi=this.merchantDetail)!=null&&fi.totalAmount&&(L.classList.remove("hidden"),L.children[1].innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${Se(((rt=this.merchantDetail)==null?void 0:rt.totalAmount)-De,2)}`),P&&(We=this.merchantDetail)!=null&&We.taxQuoteId&&(gi=this.merchantDetail)!=null&&gi.totalAmount&&(P.classList.remove("hidden"),P.children[1].innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${Se(((bn=this.merchantDetail)==null?void 0:bn.totalAmount)-De,2)}`);const $e=ac[this.localCurrency];B&&this.localCurrency&&(B.innerHTML=$e?`${$e} (${this.localCurrency})`:this.localCurrency),j&&this.localCurrency&&(j.innerHTML=$e?`${$e} (${this.localCurrency})`:this.localCurrency),this.renderPaymentOptions(this.container),this.attachListeners()}async translate(e){const s=await(await fetch("http://localhost:5002/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({q:e,source:"en",target:"fr"})})).json();return s==null?void 0:s.translatedText}renderPaymentOptions(e){const t=e.querySelector(".payment-options"),i=Mn(this.currency,this.localCurrency);if(t){const s=this.merchantDetail.plan?[se.card]:this.merchantDetail.paymentMethods.filter(o=>o!=="ussd").map(o=>se[o]);if(this.isMobile){let o='<div class="">';s.forEach(a=>{o+=`
|
|
1812
1840
|
<div key=${a.key}>
|
|
1813
1841
|
<button class="tab-button gap-2 mb-4 group" data-name="${a.key}">
|
|
1814
1842
|
<div class="lg:block">${a.icon}</div>
|
|
@@ -1818,7 +1846,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1818
1846
|
</div>
|
|
1819
1847
|
</button>
|
|
1820
1848
|
</div>
|
|
1821
|
-
`}),
|
|
1849
|
+
`}),o+="</div>",t.innerHTML=o}else{const o=s.length%2===0;let a='<div class="grid gap-2">';if(o)a+='<div class="grid grid-cols-2 gap-2">',s.forEach(l=>{a+=`
|
|
1822
1850
|
<div key=${l.key}>
|
|
1823
1851
|
<button class="tab-button gap-2 group" data-name="${l.key}">
|
|
1824
1852
|
<div class="md:container-center lg:block">${l.icon}</div>
|
|
@@ -1830,25 +1858,25 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1830
1858
|
</div>
|
|
1831
1859
|
`}),a+="</div>";else{if(a+=`
|
|
1832
1860
|
<div>
|
|
1833
|
-
<button class="tab-button gap-2 group" data-name="${
|
|
1834
|
-
<div class="md:container-center lg:block"> ${
|
|
1861
|
+
<button class="tab-button gap-2 group" data-name="${s[0].key}">
|
|
1862
|
+
<div class="md:container-center lg:block"> ${s[0].icon}</div>
|
|
1835
1863
|
<div class="flex items-center gap-2">
|
|
1836
|
-
<span>${
|
|
1837
|
-
${
|
|
1864
|
+
<span>${s[0].label} </span>
|
|
1865
|
+
${s[0].key==="card"?` <div class="bg-tone-100 rounded-[40px] h-[22px] text-xxs text-white align-center px-2"> ${i} ${(A==null?void 0:A.language)==="en"?"Card":""} </div>`:""}
|
|
1838
1866
|
</div>
|
|
1839
1867
|
</button>
|
|
1840
1868
|
</div>
|
|
1841
|
-
`,
|
|
1869
|
+
`,s.length>1){a+='<div class="grid grid-cols-2 gap-2">';for(let l=1;l<s.length;l++)a+=`
|
|
1842
1870
|
<div>
|
|
1843
|
-
<button class="tab-button gap-2 group" data-name="${
|
|
1844
|
-
<div class="md:container-center lg:block">${
|
|
1871
|
+
<button class="tab-button gap-2 group" data-name="${s[l].key}">
|
|
1872
|
+
<div class="md:container-center lg:block">${s[l].icon}</div>
|
|
1845
1873
|
<div class="flex items-center gap-2">
|
|
1846
|
-
<span>${
|
|
1847
|
-
${
|
|
1874
|
+
<span>${s[l].label} </span>
|
|
1875
|
+
${s[l].key==="card"?` <div class="bg-tone-100 rounded-[40px] h-[22px] text-xxs text-white align-center px-2"> ${i} ${(A==null?void 0:A.language)==="en"?"Card":""} </div>`:""}
|
|
1848
1876
|
</div>
|
|
1849
1877
|
</button>
|
|
1850
1878
|
</div>
|
|
1851
|
-
`;a+="</div>"}a+="</div>"}a+="</div>",t.innerHTML=a}}}render(){return
|
|
1879
|
+
`;a+="</div>"}a+="</div>"}a+="</div>",t.innerHTML=a}}}render(){return cc}}const uc=`<div id="mobileConfirmationProgress">
|
|
1852
1880
|
<div>
|
|
1853
1881
|
<div>
|
|
1854
1882
|
<div class=" grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
@@ -1888,7 +1916,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1888
1916
|
|
|
1889
1917
|
</div>
|
|
1890
1918
|
</div>
|
|
1891
|
-
</div>`;class
|
|
1919
|
+
</div>`;class hc{constructor(e){u(this,"container");u(this,"onAction");u(this,"onSuccess");u(this,"ref");u(this,"token");u(this,"initialTime",300);u(this,"abortController");u(this,"timeLeft");u(this,"timer");u(this,"timerId",null);u(this,"rdtCode");u(this,"url");u(this,"callBackUrl");u(this,"setPaymentResponses");this.container=e.container,this.timeLeft=this.initialTime,this.onAction=e.onAction,this.ref=e.ref,this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.onSuccess=e.onSuccess,this.callBackUrl=e.callBackUrl,this.setPaymentResponses=e.setPaymentResponses}attachListeners(){const e=this.container.querySelector("#confirming-txn-status"),t=this.container.querySelector("#confirming-txn-status-end-text"),i=this.container.querySelector("#please-wait-text"),s=this.container.querySelector("#minutes-text");e&&(e.innerHTML=D["confirming-txn-status"]),t&&(t.innerHTML=D["few-minutes"]),i&&(i.innerHTML=D["please-wait-for"]),s&&(s.innerHTML=D.minutes),this.initialTime=300,this.timeLeft=this.initialTime;const o=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyMobileMoney(this.token,o,({data:a,headers:l})=>{this.onAction(4),this.redirectTo(a,l,"success")},()=>{this.onAction(5)})},5e3),this.startTimer()}async verifyMobileMoney(e,t,i,s){let o=0,a=t,l=!0,c;this.abortController&&(c=this.abortController.signal);const v=async()=>{if(this.timeLeft<=0){l=!1,this.onAction(8);return}o+=1;try{const m=await on(e,this.ref,c,this.rdtCode,this.url);m.data.status==="failed"&&(l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),this.setPaymentResponses(m.data,m.headers),E.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed"}),s(m)),m.data.status==="inProgress"&&(l&&(a=t*(o+1),this.timer=setTimeout(v,a)),this.setPaymentResponses(m.data,m.headers)),(m.data.status==="success"||m.data.status==="successful")&&(this.setPaymentResponses(m.data,m.headers),l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),E.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Success"}),i(m))}catch{l&&(a=t*(o+1),this.timer=setTimeout(v,a))}};v()}redirectTo(e,t,i){const s=t.get("spf-redirect-url");this.callBackUrl=s||this.callBackUrl,this.callBackUrl?setTimeout(()=>{const o=new URL(this.callBackUrl);o.searchParams.append("status",e.status),o.searchParams.append("reference",e.reference),window.location.href=o.toString()},1800):i==="success"&&this.onSuccess(e)}startTimer(){const e=this.container.querySelector("#ctd-timer");this.stopTimer(),this.timerId=window.setInterval(()=>{this.timeLeft>0?(this.timeLeft-=1,e&&(e.innerHTML=dt(this.timeLeft),this.startTimer())):(this.stopTimer(),this.onAction(8))},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}renderComponent(){this.container.innerHTML=this.render(),this.attachListeners()}render(){return uc}}const mc=`<form id="mobile-money-form">
|
|
1892
1920
|
<div>
|
|
1893
1921
|
<h5 class="text-grey-400 font-semibold text-sm" id="header-text"></h5>
|
|
1894
1922
|
|
|
@@ -1964,10 +1992,10 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1964
1992
|
</p>
|
|
1965
1993
|
</div>
|
|
1966
1994
|
|
|
1967
|
-
</form>`;class
|
|
1968
|
-
${
|
|
1969
|
-
<span class="text-tone-100 text-sm font-semibold">${
|
|
1970
|
-
`;const a=i.querySelector("svg");a&&(a.setAttribute("width","20"),a.setAttribute("height","20"))}this.displayButtonText(),this.attachListener()}renderContent(){this.switchScreen(2),
|
|
1995
|
+
</form>`;class pc{constructor(e){u(this,"container");u(this,"payment");u(this,"warningError");u(this,"pageLoader");u(this,"localCurrency");u(this,"amount");u(this,"totalAmount");u(this,"onAction");u(this,"switchScreen");u(this,"merchantKey");u(this,"rdtCode");u(this,"url");u(this,"currency");u(this,"restartTransactionProcess");u(this,"merchantDetails");u(this,"countryCode");this.container=e.container,this.onAction=e.onAction,this.switchScreen=e.switchScreen,this.url=e.url,this.merchantKey=e.merchantKey,this.rdtCode=e.rdtCode,this.currency=e.currency,this.localCurrency=e.localCurrency,this.amount=e.amount,this.totalAmount=e.totalAmount,this.merchantDetails=e.merchantDetails,this.restartTransactionProcess=e.restartTransactionProcess,this.warningError=new ln({container:this.container,onAction:this.restartTransactionProcess.bind(this)}),this.countryCode=e.countryCode}validateForm(){const e=this.container.querySelector("#phone-number-input"),t=this.container.querySelector("#network-search-input"),i=this.container.querySelector("#otp-input"),s=this.container.querySelector(".details-form-button"),o=this.container.querySelector("#phone-number-container"),a=this.container.querySelector("#phone-number-error");if(!e||!t||!s)return;const l=this.localCurrency?this.localCurrency:this.currency,c=gn.find(v=>v.name===(this.countryCode||l));e.value.length>Number((c==null?void 0:c.length)||"9")?(o&&(o.classList.remove("border-tone-40"),o.classList.add("border-[#D62020]"),e.classList.remove("text-tone-100"),e.classList.add("text-[#D62020]")),a&&(a.classList.remove("hidden"),a.classList.add("block"),a.innerHTML=_e["valid-number-message"])):(o&&(o.classList.remove("border-[#D62020]"),o.classList.add("border-tone-40"),e.classList.remove("text-[#D62020]"),e.classList.add("text-tone-100")),a&&(a.classList.remove("block"),a.classList.add("hidden"))),e.value.length>0&&e.value.length===Number((c==null?void 0:c.length)||"9")&&t.value?t.value==="orange"?i&&i.value.length>=6?s.disabled=!1:s.disabled=!0:s.disabled=!1:s.disabled=!0}attachListener(){const e=document.querySelector("#mobile-money-form"),t=document.querySelector("#pci-dss"),i=this.container.querySelector("#phone-number-input"),s=this.container.querySelector("#network-search-input"),o=this.container.querySelector("#otp-input"),a=this.container.querySelector(".details-form-button"),l=this.container.querySelector("#header-text"),c=this.container.querySelector("#network-text"),v=this.container.querySelector("#generate-otp-text"),m=this.container.querySelector("#certified-text");l&&(l.innerHTML=_e["header-text"]),c&&(c.innerHTML=_e.network),v&&(v.innerHTML=_e["generate-otp"]),m&&(m.innerHTML=_e.certified),o&&o.setAttribute("placeholder",_e["enter-otp"]),a&&(a.disabled=!0),i&&s&&(s.setAttribute("placeholder",_e["select-network"]),i.setAttribute("placeholder",_e["enter-number"]),i.addEventListener("input",f=>{const b=f.target;b.value=b.value.replace(/\D/g,""),this.validateForm();const g=Mn(this.currency,this.localCurrency),w=gn.find(C=>C.name===(this.countryCode||g));gn&&w&&Number(w.length)===b.value.length&&E.track("input_phone_number",{payment_method:"Mobile Money",network:s.value})}),s.addEventListener("change",()=>{if(this.validateForm(),s.value==="orange"){const f=this.container.querySelector("#otp-message"),b=this.container.querySelector("#otp-input-container");f&&f.classList.remove("hidden"),b&&b.classList.remove("hidden")}})),t&&t.classList.add("hidden"),!(!s||!i||!a)&&e&&e.addEventListener("submit",f=>{f.preventDefault();const b=this.localCurrency!==this.currency?this.localCurrency:this.currency,g=this.countryCode||b,C=gn.filter(M=>M.name===g)[0].allowsZeros?`0${i.value}`:i.value,k=s.value,x=o?o.value:"";this.onAction(f)({code:k,phoneNumber:C,...k==="orange"&&{otp:x}}),E.track("start_payment",{payment_method:"Mobile Money"})})}displayButtonText(e){var i,s;const t=this.container.querySelector("#mobile-money-button-text");if(t){const o=Mn(this.currency,this.localCurrency);t.textContent=`${_e["continue-to"]} ${o} ${Se(this.totalAmount!==this.amount?this.totalAmount:this.amount*(this.currency==="USD"?(s=(i=this.merchantDetails)==null?void 0:i.rate)==null?void 0:s.rate:1),2)}`}}renderComponent(e){this.container.innerHTML=this.render();const t=this.container.querySelector("#network-search-input");if(t){const a=new Option(_e["select-network"],"",!0,!0);a.disabled=!0,t.appendChild(a),t.classList.remove("text-tone-100"),t.classList.add("text-tone-50"),t&&e.forEach(l=>{const c=new Option(l.name,l.code);t.appendChild(c),t.classList.remove("text-tone-50"),t.classList.add("text-tone-100")})}const i=this.container.querySelector("#region-code"),s=Mn(this.currency,this.localCurrency),o=gn.find(a=>a.name===(this.countryCode||s));if(i){i.innerHTML=`
|
|
1996
|
+
${o==null?void 0:o.icon}
|
|
1997
|
+
<span class="text-tone-100 text-sm font-semibold">${o==null?void 0:o.dialCode}</span>
|
|
1998
|
+
`;const a=i.querySelector("svg");a&&(a.setAttribute("width","20"),a.setAttribute("height","20"))}this.displayButtonText(),this.attachListener()}renderContent(){this.switchScreen(2),ha(this.merchantKey,this.currency,this.rdtCode,this.url,this.localCurrency).then(e=>{this.renderComponent(e),E.track("providers_loaded",{payment_method:"Mobile Money",provider_count:e.length})}).catch(async e=>{if(E.track("providers_failed",{payment_method:"Mobile Money",error:e.message||"Unknown error"}),e.message){const t=await q(e.message,A==null?void 0:A.language);this.switchScreen(5),this.warningError.setPaymentError(t)}else this.switchScreen(5),this.warningError.setPaymentError(_e["unable-fetch"])})}render(){return mc}}const vc=`<div id="checkoutMobileOtp">
|
|
1971
1999
|
<div class="w-full">
|
|
1972
2000
|
<div id="otp-content" class=" grid gap-4">
|
|
1973
2001
|
<h5 class="text-black" id="otp-message">
|
|
@@ -2002,11 +2030,11 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
2002
2030
|
</div>
|
|
2003
2031
|
</div>
|
|
2004
2032
|
</div>
|
|
2005
|
-
</div>`;class
|
|
2033
|
+
</div>`;class bc{constructor(e){u(this,"container");u(this,"momoOtp");u(this,"onAction");u(this,"onClose");u(this,"otpMessage");this.container=e.container,this.onAction=e.onAction,this.onClose=e.onClose,this.momoOtp="",this.otpMessage=e.otpMessage}attachListener(){const e=this.container.querySelector(".otp-input"),t=this.container.querySelector(".otp-button"),i=this.container.querySelector("#cancel-payment"),s=this.container.querySelector("#mobile-money-button-text");s&&(s.innerHTML=_e.authorize),e&&e.addEventListener("input",o=>this.handleOtpInput(o,t)),t&&t.addEventListener("click",o=>{this.onAction(o)(this.momoOtp)}),i&&(i.innerHTML=_e["cancel-payment"],i.addEventListener("click",()=>{const o=this.container.querySelector("#otp-loader");o&&(o.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2006
2034
|
<path
|
|
2007
2035
|
d="M62 32C62 38.6156 59.8132 45.0457 55.78 50.2897C51.7468 55.5336 46.0932 59.2974 39.6992 60.9952C33.3052 62.693 26.5293 62.2297 20.4258 59.6774C14.3224 57.1251 9.2338 52.6268 5.95186 46.8827C2.66993 41.1385 1.37873 34.4707 2.2792 27.9166C3.17967 21.3626 6.22129 15.29 10.9308 10.6438C15.6402 5.9976 21.7534 3.0384 28.3191 2.22668C34.8847 1.41496 41.5345 2.79623 47.2337 6.15557"
|
|
2008
2036
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
2009
|
-
</svg>`),i&&i.classList.add("hidden"),t&&t.setAttribute("disabled","true"),e&&(e.value="",this.momoOtp="",e.setAttribute("disabled","true")),this.onClose(!1)}))}handleOtpInput(e,t){const i=e.target,o=e.data;o&&this.momoOtp.length<6?this.momoOtp+=o:e.inputType==="deleteContentBackward"&&(this.momoOtp=this.momoOtp.slice(0,-1)),i.value="*".repeat(this.momoOtp.length),this.momoOtp.length>=6&&t&&t.removeAttribute("disabled");const s=this.container.querySelector("#otp-error");this.momoOtp.length<6&&(t&&t.setAttribute("disabled","true"),s&&(s.innerHTML=""))}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#otp-message");e&&(e.innerHTML=this.otpMessage),this.attachListener()}render(){return sd}}class rd{constructor(e){h(this,"container");h(this,"onAction");h(this,"callBackUrl");h(this,"paymentResponse");h(this,"paymentResponseHeaders");h(this,"paymentMethod");this.container=e.container,this.onAction=e.onAction,this.callBackUrl=e.callBackUrl,this.paymentResponse=e.paymentResponse,this.paymentResponseHeaders=e.paymentResponseHeaders,this.paymentMethod=e.paymentMethod}attachListeners(){const e=this.container.querySelector(".details-form-button"),t=this.container.querySelector("#mobile-money-button-text"),i=this.container.querySelector("#long-processing-text"),o=this.container.querySelector("#confirmed-text");i&&(i.innerHTML=I["long-processing"]),o&&(o.innerHTML=I["once-confirmed"]),t&&(t.innerHTML=ne["merchant-back"]),e&&e.addEventListener("click",()=>{var s;P.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(s=this.paymentResponse)==null?void 0:s.status}),tn(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)})}renderComponent(){var e;this.container.innerHTML=this.render(),P.track("payment_timeout",{payment_method:this.paymentMethod,status:(e=this.paymentResponse)==null?void 0:e.status}),this.attachListeners()}render(){return ks}}class ld{constructor({container:e,merchantKey:t,localCurrency:i,metadata:o,callBackUrl:s,rdtCode:a,reference:l,onSuccess:d,url:v,customer:m,amount:g,totalAmount:b,token:f,currency:C,disablePaymentMethods:w,hidePaymentMethods:k,showPaymentMethods:x,onClose:M,restartTransactionProcess:_,retryingPayment:E,countryCode:H}){h(this,"contents");h(this,"mobileMoneyForm");h(this,"mobileMoneyValidationForm");h(this,"onSuccess");h(this,"mobileMoneyConfirmation");h(this,"mobileMoneyConfirmationEnd");h(this,"transactionIssuesScreen");h(this,"container");h(this,"pageLoader");h(this,"mainLoader");h(this,"_currentStep");h(this,"successScreen");h(this,"customer");h(this,"activeRef");h(this,"warningScreen");h(this,"amount");h(this,"totalAmount");h(this,"url");h(this,"reference");h(this,"metadata");h(this,"currency");h(this,"localCurrency");h(this,"token");h(this,"callBackUrl");h(this,"rdtCode");h(this,"merchantDetails");h(this,"onClose");h(this,"hidePaymentMethods");h(this,"showPaymentMethods");h(this,"disablePaymentMethods");h(this,"paymentResponse");h(this,"paymentResponseHeaders");h(this,"restartTransactionProcess");h(this,"retryingPayment");h(this,"isMaxRetriesReached");h(this,"isMobile",!1);h(this,"countryCode");h(this,"errorText");h(this,"otpMessage");this.container=e,this.onSuccess=d||(()=>null),this.token=f,this.currency=C,this.amount=g,this.totalAmount=b,this.contents=this.container.querySelector("#payment-content-view"),this._currentStep=1,this.activeRef="",this.token=t,this.customer=m,this.metadata=o,this.localCurrency=i,this.callBackUrl=s,this.localCurrency=i,this.rdtCode=a,this.url=v,this.reference=l,this.merchantDetails={},this.disablePaymentMethods=w,this.hidePaymentMethods=k,this.showPaymentMethods=x,this.onClose=M,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=_,this.retryingPayment=E,this.isMaxRetriesReached=!1,this.countryCode=H,this.errorText="",this.otpMessage="",P.track("mobile_money_opens",{payment_method:"Mobile Money"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderMobileMoneyContent()}attachInputListeners(){}async createMobileMoney(e,t){e.stopPropagation(),e.preventDefault();const i=this.container.querySelector(".spinner"),o=this.container.querySelector("#mobile-money-button-text");i&&o&&(i.classList.remove("hidden"),o.classList.add("hidden"));const s=$t();(()=>{var l,d;if(this.retryingPayment){const v={channel:"mobile_money",reference:this.reference,mobileMoney:{code:t.code,phoneNumber:t.phoneNumber,...t.otp&&{otp:t.otp}}};return Ct(this.token,v,this.rdtCode,this.url)}else{const v={amount:this.amount,channel:"mobile_money",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,mobileMoney:{code:t.code,phoneNumber:t.phoneNumber,...t.otp&&{otp:t.otp}},...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((l=this.merchantDetails)==null?void 0:l.taxQuoteId)&&{taxQuoteId:(d=this.merchantDetails)==null?void 0:d.taxQuoteId},...this.countryCode&&{countryCode:this.countryCode},deviceInformation:s};return ta(this.token,v,this.rdtCode,this.url)}})().then(async({data:l,headers:d})=>{var v,m;if(this.paymentResponse=l,this.paymentResponseHeaders=d,l.providerMessage){const g=await $(l.providerMessage,A==null?void 0:A.language);this.errorText=g}if(l.status==="failed"){this.currentStep=5,l.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),this.warningScreen.hideReportIssue(),P.track("start_payment_failed",{payment_method:"Mobile Money",verification_status:"Failed",payment_error:l.providerMessage||"Payment failed"});return}else if(l.status==="success"||l.status==="successful"){this.currentStep=4,P.track("start_payment_success",{payment_method:"Mobile Money",verification_status:"Success"}),tn(l,d,l==null?void 0:l.callBackUrl);return}else if(((v=l==null?void 0:l.authorization)==null?void 0:v.mode)==="otp"){this.activeRef=l.reference;const g=await $((m=this.paymentResponse)==null?void 0:m.providerMessage,A==null?void 0:A.language);this.otpMessage=g,this.currentStep=6;return}else this.currentStep=3}).catch(async l=>{if(P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Null"}),l.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=5,this.warningScreen.setPaymentError(I["maximum-retries"],I["maximum-retries-desc"],ne["merchant-back"]);else{const d=await $(l.message,A==null?void 0:A.language);this.errorText=d,l.message?(this.currentStep=5,this.warningScreen.setPaymentError(this.errorText)):(this.currentStep=5,this.warningScreen.setPaymentError(I["payment-failed"]))}this.warningScreen.hideReportIssue()}).finally(()=>{i&&o&&(i.classList.add("hidden"),o.classList.remove("hidden"))})}showLoader(){this.pageLoader=new Te(this.contents),this.pageLoader.mountLoader()}submitOtp(e,t){e.preventDefault();const i=this.container.querySelector(".spinner"),o=this.container.querySelector("#mobile-money-button-text"),s={authorization:{otp:t},reference:this.activeRef};P.track("input_MobileMoneyOTP",{payment_method:"Mobile Money",authentication_type:"0TP"}),i&&o&&(i.classList.remove("hidden"),o.classList.add("hidden")),wt(this.token,s,this.rdtCode,this.url).then(({data:l})=>{l.status==="failed"?(this.activeRef=l.reference,this.currentStep=3):["success","successful","failed"].includes(l.status)?["success","successful"].includes(l.status)&&(this.activeRef=l.reference,this.currentStep=3):(this.activeRef=l.reference,this.currentStep=3)}).catch(async l=>{P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"});const d=this.container.querySelector("#otp-error");if(l.code==="invalid_otp"){if(d){const v=await $(l.message,A==null?void 0:A.language);d.innerHTML=v}P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"})}else this.currentStep=3}).finally(()=>{i&&o&&(i.classList.add("hidden"),o.classList.remove("hidden"))})}async verifyPaymentProcess(){try{const e=await pn(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers}catch{this.currentStep=5}}goBackToMerchant(){tn(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}renderMobileMoneyContent(e){if(e&&(this.merchantDetails=e),this.currentStep===3&&this.disablePaymentMethods("mobile_money"),this.currentStep!==1){const t=document.getElementById("go-back");t&&(t.classList.remove("flex","items-center","gap-2","mb-2"),t.innerHTML="")}switch(this.currentStep===6?this.hidePaymentMethods():this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.currentStep){case 1:this.mobileMoneyForm=new od({container:this.contents,merchantKey:this.token,url:this.url,onAction:t=>i=>this.createMobileMoney.bind(this)(t,i),ref:this.activeRef,switchScreen:t=>{this.currentStep=t},rdtCode:this.rdtCode,currency:this.currency,localCurrency:this.localCurrency,amount:this.amount,totalAmount:this.totalAmount,restartTransactionProcess:this.restartTransactionProcess.bind(this),merchantDetails:this.merchantDetails,countryCode:this.countryCode||""}),this.mobileMoneyForm.renderContent();break;case 2:this.mainLoader=new Te(this.contents),this.mainLoader.mountLoader("25dvh"),this.mainLoader.updateMessage("Please wait");break;case 3:this.mobileMoneyConfirmation=new td({container:this.contents,onAction:t=>{this.currentStep=t},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(t,i)=>{this.paymentResponse=t,this.paymentResponseHeaders=i}}),this.mobileMoneyConfirmation.renderComponent();break;case 4:this.successScreen=new ot({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:e==null?void 0:e.rate.rate}),this.successScreen.renderComponent();break;case 5:this.warningScreen=new Ln({container:this.contents,onReportIssue:()=>this.currentStep=9,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this)}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 6:this.mobileMoneyValidationForm=new ad({container:this.contents,onClose:this.onClose,onAction:t=>i=>this.submitOtp.bind(this)(t,i),otpMessage:this.otpMessage||Ae["enter-phone-otp"]}),this.mobileMoneyValidationForm.renderComponent();break;case 7:this.pageLoader=new Te(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 8:this.mobileMoneyConfirmationEnd=new rd({container:this.contents,onAction:t=>{this.currentStep=t},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders,paymentMethod:"Mobile Money"}),this.mobileMoneyConfirmationEnd.renderComponent();break;case 9:this.transactionIssuesScreen=new _t({container:this.contents,onAction:()=>{var t;this.currentStep=5,this.warningScreen.setPaymentError(((t=this.paymentResponse)==null?void 0:t.providerMessage)||"Payment failed")},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"mobile_money",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break}this.attachInputListeners()}}const dd=`<div id="eft-authenticate-container">
|
|
2037
|
+
</svg>`),i&&i.classList.add("hidden"),t&&t.setAttribute("disabled","true"),e&&(e.value="",this.momoOtp="",e.setAttribute("disabled","true")),this.onClose(!1)}))}handleOtpInput(e,t){const i=e.target,s=e.data;s&&this.momoOtp.length<6?this.momoOtp+=s:e.inputType==="deleteContentBackward"&&(this.momoOtp=this.momoOtp.slice(0,-1)),i.value="*".repeat(this.momoOtp.length),this.momoOtp.length>=6&&t&&t.removeAttribute("disabled");const o=this.container.querySelector("#otp-error");this.momoOtp.length<6&&(t&&t.setAttribute("disabled","true"),o&&(o.innerHTML=""))}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#otp-message");e&&(e.innerHTML=this.otpMessage),this.attachListener()}render(){return vc}}class fc{constructor(e){u(this,"container");u(this,"onAction");u(this,"callBackUrl");u(this,"paymentResponse");u(this,"paymentResponseHeaders");u(this,"paymentMethod");this.container=e.container,this.onAction=e.onAction,this.callBackUrl=e.callBackUrl,this.paymentResponse=e.paymentResponse,this.paymentResponseHeaders=e.paymentResponseHeaders,this.paymentMethod=e.paymentMethod}attachListeners(){const e=this.container.querySelector(".details-form-button"),t=this.container.querySelector("#mobile-money-button-text"),i=this.container.querySelector("#long-processing-text"),s=this.container.querySelector("#confirmed-text");i&&(i.innerHTML=D["long-processing"]),s&&(s.innerHTML=D["once-confirmed"]),t&&(t.innerHTML=Q["merchant-back"]),e&&e.addEventListener("click",()=>{var o;E.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(o=this.paymentResponse)==null?void 0:o.status}),Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)})}renderComponent(){var e;this.container.innerHTML=this.render(),E.track("payment_timeout",{payment_method:this.paymentMethod,status:(e=this.paymentResponse)==null?void 0:e.status}),this.attachListeners()}render(){return Po}}class gc{constructor({container:e,merchantKey:t,localCurrency:i,metadata:s,callBackUrl:o,rdtCode:a,reference:l,onSuccess:c,url:v,customer:m,amount:f,totalAmount:b,token:g,currency:w,disablePaymentMethods:C,hidePaymentMethods:k,showPaymentMethods:x,onClose:M,restartTransactionProcess:L,retryingPayment:P,countryCode:B}){u(this,"contents");u(this,"mobileMoneyForm");u(this,"mobileMoneyValidationForm");u(this,"onSuccess");u(this,"mobileMoneyConfirmation");u(this,"mobileMoneyConfirmationEnd");u(this,"transactionIssuesScreen");u(this,"container");u(this,"pageLoader");u(this,"mainLoader");u(this,"_currentStep");u(this,"successScreen");u(this,"customer");u(this,"activeRef");u(this,"warningScreen");u(this,"amount");u(this,"totalAmount");u(this,"url");u(this,"reference");u(this,"metadata");u(this,"currency");u(this,"localCurrency");u(this,"token");u(this,"callBackUrl");u(this,"rdtCode");u(this,"merchantDetails");u(this,"onClose");u(this,"hidePaymentMethods");u(this,"showPaymentMethods");u(this,"disablePaymentMethods");u(this,"paymentResponse");u(this,"paymentResponseHeaders");u(this,"restartTransactionProcess");u(this,"retryingPayment");u(this,"isMaxRetriesReached");u(this,"isMobile",!1);u(this,"countryCode");u(this,"errorText");u(this,"otpMessage");this.container=e,this.onSuccess=c||(()=>null),this.token=g,this.currency=w,this.amount=f,this.totalAmount=b,this.contents=this.container.querySelector("#payment-content-view"),this._currentStep=1,this.activeRef="",this.token=t,this.customer=m,this.metadata=s,this.localCurrency=i,this.callBackUrl=o,this.localCurrency=i,this.rdtCode=a,this.url=v,this.reference=l,this.merchantDetails={},this.disablePaymentMethods=C,this.hidePaymentMethods=k,this.showPaymentMethods=x,this.onClose=M,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=L,this.retryingPayment=P,this.isMaxRetriesReached=!1,this.countryCode=B,this.errorText="",this.otpMessage="",E.track("mobile_money_opens",{payment_method:"Mobile Money"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderMobileMoneyContent()}attachInputListeners(){}async createMobileMoney(e,t){e.stopPropagation(),e.preventDefault();const i=this.container.querySelector(".spinner"),s=this.container.querySelector("#mobile-money-button-text");i&&s&&(i.classList.remove("hidden"),s.classList.add("hidden"));const o=xt();(()=>{var l,c;if(this.retryingPayment){const v={channel:"mobile_money",reference:this.reference,mobileMoney:{code:t.code,phoneNumber:t.phoneNumber,...t.otp&&{otp:t.otp}}};return lt(this.token,v,this.rdtCode,this.url)}else{const v={amount:this.amount,channel:"mobile_money",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,mobileMoney:{code:t.code,phoneNumber:t.phoneNumber,...t.otp&&{otp:t.otp}},...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((l=this.merchantDetails)==null?void 0:l.taxQuoteId)&&{taxQuoteId:(c=this.merchantDetails)==null?void 0:c.taxQuoteId},...this.countryCode&&{countryCode:this.countryCode},deviceInformation:o};return ua(this.token,v,this.rdtCode,this.url)}})().then(async({data:l,headers:c})=>{var v,m;if(this.paymentResponse=l,this.paymentResponseHeaders=c,l.providerMessage){const f=await q(l.providerMessage,A==null?void 0:A.language);this.errorText=f}if(l.status==="failed"){this.currentStep=5,l.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),this.warningScreen.hideReportIssue(),E.track("start_payment_failed",{payment_method:"Mobile Money",verification_status:"Failed",payment_error:l.providerMessage||"Payment failed"});return}else if(l.status==="success"||l.status==="successful"){this.currentStep=4,E.track("start_payment_success",{payment_method:"Mobile Money",verification_status:"Success"}),Ze(l,c,l==null?void 0:l.callBackUrl);return}else if(((v=l==null?void 0:l.authorization)==null?void 0:v.mode)==="otp"){this.activeRef=l.reference;const f=await q((m=this.paymentResponse)==null?void 0:m.providerMessage,A==null?void 0:A.language);this.otpMessage=f,this.currentStep=6;return}else this.currentStep=3}).catch(async l=>{if(E.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Null"}),l.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=5,this.warningScreen.setPaymentError(D["maximum-retries"],D["maximum-retries-desc"],Q["merchant-back"]);else{const c=await q(l.message,A==null?void 0:A.language);this.errorText=c,l.message?(this.currentStep=5,this.warningScreen.setPaymentError(this.errorText)):(this.currentStep=5,this.warningScreen.setPaymentError(D["payment-failed"]))}this.warningScreen.hideReportIssue()}).finally(()=>{i&&s&&(i.classList.add("hidden"),s.classList.remove("hidden"))})}showLoader(){this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader()}submitOtp(e,t){e.preventDefault();const i=this.container.querySelector(".spinner"),s=this.container.querySelector("#mobile-money-button-text"),o={authorization:{otp:t},reference:this.activeRef};E.track("input_MobileMoneyOTP",{payment_method:"Mobile Money",authentication_type:"0TP"}),i&&s&&(i.classList.remove("hidden"),s.classList.add("hidden")),Tt(this.token,o,this.rdtCode,this.url).then(({data:l})=>{l.status==="failed"?(this.activeRef=l.reference,this.currentStep=3):["success","successful","failed"].includes(l.status)?["success","successful"].includes(l.status)&&(this.activeRef=l.reference,this.currentStep=3):(this.activeRef=l.reference,this.currentStep=3)}).catch(async l=>{E.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"});const c=this.container.querySelector("#otp-error");if(l.code==="invalid_otp"){if(c){const v=await q(l.message,A==null?void 0:A.language);c.innerHTML=v}E.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"})}else this.currentStep=3}).finally(()=>{i&&s&&(i.classList.add("hidden"),s.classList.remove("hidden"))})}async verifyPaymentProcess(){try{const e=await on(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers}catch{this.currentStep=5}}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}renderMobileMoneyContent(e){if(e&&(this.merchantDetails=e),this.currentStep===3&&this.disablePaymentMethods("mobile_money"),this.currentStep!==1){const t=document.getElementById("go-back");t&&(t.classList.remove("flex","items-center","gap-2","mb-2"),t.innerHTML="")}switch(this.currentStep===6?this.hidePaymentMethods():this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.currentStep){case 1:this.mobileMoneyForm=new pc({container:this.contents,merchantKey:this.token,url:this.url,onAction:t=>i=>this.createMobileMoney.bind(this)(t,i),ref:this.activeRef,switchScreen:t=>{this.currentStep=t},rdtCode:this.rdtCode,currency:this.currency,localCurrency:this.localCurrency,amount:this.amount,totalAmount:this.totalAmount,restartTransactionProcess:this.restartTransactionProcess.bind(this),merchantDetails:this.merchantDetails,countryCode:this.countryCode||""}),this.mobileMoneyForm.renderContent();break;case 2:this.mainLoader=new xe(this.contents),this.mainLoader.mountLoader("25dvh"),this.mainLoader.updateMessage("Please wait");break;case 3:this.mobileMoneyConfirmation=new hc({container:this.contents,onAction:t=>{this.currentStep=t},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(t,i)=>{this.paymentResponse=t,this.paymentResponseHeaders=i}}),this.mobileMoneyConfirmation.renderComponent();break;case 4:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:e==null?void 0:e.rate.rate}),this.successScreen.renderComponent();break;case 5:this.warningScreen=new ln({container:this.contents,onReportIssue:()=>this.currentStep=9,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this)}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 6:this.mobileMoneyValidationForm=new bc({container:this.contents,onClose:this.onClose,onAction:t=>i=>this.submitOtp.bind(this)(t,i),otpMessage:this.otpMessage||_e["enter-phone-otp"]}),this.mobileMoneyValidationForm.renderComponent();break;case 7:this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 8:this.mobileMoneyConfirmationEnd=new fc({container:this.contents,onAction:t=>{this.currentStep=t},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders,paymentMethod:"Mobile Money"}),this.mobileMoneyConfirmationEnd.renderComponent();break;case 9:this.transactionIssuesScreen=new ut({container:this.contents,onAction:()=>{var t;this.currentStep=5,this.warningScreen.setPaymentError(((t=this.paymentResponse)==null?void 0:t.providerMessage)||"Payment failed")},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"mobile_money",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break}this.attachInputListeners()}}const yc=`<div id="eft-authenticate-container">
|
|
2010
2038
|
<div class="pt-3">
|
|
2011
2039
|
<div class="container-center">
|
|
2012
2040
|
<svg width="98" height="32" viewBox="0 0 98 32" fill="none" xmlns="http://www.w3.org/2000/svg"
|
|
@@ -2039,29 +2067,48 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
2039
2067
|
</div>
|
|
2040
2068
|
</div>
|
|
2041
2069
|
|
|
2042
|
-
</div>`;class Is{constructor(e){h(this,"container");h(this,"payment");h(this,"warningError");h(this,"pageLoader");h(this,"onAction");h(this,"restartTransactionProcess");this.container=e.container,this.onAction=e.onAction,this.restartTransactionProcess=e.restartTransactionProcess,this.warningError=new Ln({container:this.container,onAction:this.restartTransactionProcess.bind(this)})}attachListener(){const e=this.container.querySelector("#authenticate-btn"),t=this.container.querySelector("#authenticate-request-text"),i=this.container.querySelector("#authenticate-button-text");t&&(t.innerHTML=Fn["authenticate-request"]),i&&(i.innerHTML=Fn.authenticate),e&&e.addEventListener("click",()=>{this.onAction(),P.track("start_payment",{payment_method:"EFT"})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return dd}}class cd{constructor({amount:e,totalAmount:t,container:i,customer:o,token:s,currency:a,rdtCode:l,url:d,reference:v,callBackUrl:m,metadata:g,localCurrency:b,hidePaymentMethods:f,showPaymentMethods:C,restartTransactionProcess:w,retryingPayment:k}){h(this,"contents");h(this,"eftAuthenticate");h(this,"successScreen");h(this,"pageLoader");h(this,"warningScreen");h(this,"transactionIssuesScreen");h(this,"container");h(this,"customer");h(this,"token");h(this,"amount");h(this,"totalAmount");h(this,"currency");h(this,"_currentStep");h(this,"rdtCode");h(this,"url");h(this,"reference");h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"hidePaymentMethods");h(this,"showPaymentMethods");h(this,"merchantPlanDetail",{});h(this,"restartTransactionProcess");h(this,"retryingPayment");h(this,"isMaxRetriesReached");h(this,"isMobile",!1);h(this,"paymentResponse");h(this,"paymentResponseHeaders");h(this,"errorText");this.currency=a,this.container=i,this.token=s,this.customer=o,this.amount=e,this.totalAmount=t,this.rdtCode=l,this.url=d,this.reference=v,this.callBackUrl=m,this.metadata=g,this.localCurrency=b,this._currentStep=1,this.contents=this.container.querySelector("#payment-content-view"),this.hidePaymentMethods=f,this.showPaymentMethods=C,this.restartTransactionProcess=w,this.retryingPayment=k,this.isMaxRetriesReached=!1,this.paymentResponse={},this.paymentResponseHeaders={},this.errorText="",this.renderEftContent(),P.track("eft_opens",{payment_method:"EFT"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderEftContent()}showLoader(){this.pageLoader=new Te(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage(I["verify-payment"])}goBackToMerchant(){tn(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}async createEftPayment(){const e=this.container.querySelector(".spinner"),t=this.container.querySelector("#authenticate-button-text");e&&t&&(e.classList.remove("hidden"),t.classList.add("hidden"));const i=$t();(()=>{var s,a;if(this.retryingPayment){const l={channel:"eft",reference:this.reference};return Ct(this.token,l,this.rdtCode,this.url)}else{const l={amount:this.amount,channel:"eft",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((s=this.merchantPlanDetail)==null?void 0:s.taxQuoteId)&&{taxQuoteId:(a=this.merchantPlanDetail)==null?void 0:a.taxQuoteId},deviceInformation:i};return co(this.token,l,this.rdtCode,this.url)}})().then(async({data:s,headers:a})=>{var l,d,v;if(this.paymentResponse=s,this.paymentResponseHeaders=a,s.providerMessage){const m=await $(s.providerMessage,A==null?void 0:A.language);this.errorText=m}if(s.status==="failed"){this.currentStep=4,s.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(I["payment-failed"]),P.track("start_payment",{payment_method:"EFT",verification_status:"Failed"});return}else if(((l=s==null?void 0:s.authorization)==null?void 0:l.mode)==="redirect"){(d=s==null?void 0:s.authorization)!=null&&d.redirectUrl&&this.redirectToOzow((v=s==null?void 0:s.authorization)==null?void 0:v.redirectUrl);return}else this.currentStep=4,s!=null&&s.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(Fn["unable-redirect-url"])}).catch(async s=>{if(s.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,this.warningScreen.setPaymentError(I["maximum-retries"],I["maximum-retries-desc"],ne["merchant-back"]);else if(s.message){const a=await $(s.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(ne["payment-failed"])}).finally(()=>{e&&t&&(e.classList.add("hidden"),t.classList.remove("hidden"))})}redirectToOzow(e){const t=window.open(e,"_blank");if(t){P.track("auth_redirect",{payment_method:"EFT",authentication_type:"Redirect",verification_status:"In Progress"}),this.currentStep=3,this.showLoader();const i=setInterval(()=>{t.closed&&(clearInterval(i),this.verifyPaymentProcess())},2e3)}}async verifyPaymentProcess(){try{const e=await pn(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers;const t=this.paymentResponse.status;if(t==="successful")this.currentStep=2,P.track("verify_payment",{payment_method:"EFT",verification_status:"Success"}),tn(this.paymentResponse,this.paymentResponseHeaders,"success");else if(t==="failed"){if(this.paymentResponse.providerMessage){const i=await $(this.paymentResponse.providerMessage,A==null?void 0:A.language);this.errorText=i}this.currentStep=4,P.track("verify_payment",{payment_method:"EFT",verification_status:"Failed"}),this.paymentResponse.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(ne["payment-failed"])}else t==="cancelled"&&(this.isMaxRetriesReached=!0,this.currentStep=4,this.warningScreen.setPaymentError(Fn["payment-cancelled"],Fn["cancel-payment-desc"],ne["merchant-back"]))}catch{this.currentStep=4,this.warningScreen.setPaymentError(ne["payment-failed"])}}renderEftContent(e){var i;e&&(this.merchantPlanDetail=e);const t=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),t==null||t.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents)switch(this.currentStep){case 1:this.eftAuthenticate=new Is({container:this.contents,onAction:this.createEftPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.eftAuthenticate.renderComponent();break;case 2:this.successScreen=new ot({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(i=this.merchantPlanDetail)==null?void 0:i.rate.rate}),this.successScreen.renderComponent();break;case 3:this.pageLoader=new Te(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage(I["verify-payment"]);break;case 4:this.warningScreen=new Ln({container:this.contents,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=5}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.transactionIssuesScreen=new _t({container:this.contents,onAction:async()=>{var o,s;if((o=this.paymentResponse)!=null&&o.providerMessage){const a=await $((s=this.paymentResponse)==null?void 0:s.providerMessage,A==null?void 0:A.language);this.errorText=a}this.currentStep=4,this.warningScreen.setPaymentError(this.errorText||I["payment-failed"])},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"eft",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break;default:this.eftAuthenticate=new Is({container:this.contents,onAction:this.createEftPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.eftAuthenticate.renderComponent();break}}}class ud{constructor({container:e,customerDetails:t,encryption:i,merchantKey:o,modalContainer:s,amount:a,planId:l,rdtCode:d,url:v,reference:m,callBackUrl:g,metadata:b,localCurrency:f,closePayment:C,countryCode:w,mode:k}){h(this,"validChannels",[]);h(this,"disabledChannels",[]);h(this,"selectedChannel");h(this,"modalContainer");h(this,"currentPaymentMethod");h(this,"mainLayout");h(this,"mainHeader");h(this,"mainFooter");h(this,"testCard");h(this,"merchantPlanDetail",{});h(this,"mainScreen");h(this,"currency");h(this,"card");h(this,"transfer");h(this,"ussd");h(this,"mobileMoney");h(this,"eft");h(this,"encryption");h(this,"merchantKey");h(this,"planId");h(this,"customerDetails");h(this,"amount",0);h(this,"rdtCode");h(this,"url");h(this,"reference");h(this,"isMobile",!1);h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"closePayment");h(this,"retryingPayment");h(this,"totalAmount");h(this,"countryCode");h(this,"mainLoader");h(this,"mode");h(this,"selectedMethods");this.validChannels=[],this.disabledChannels=[],this.selectedChannel="",this.modalContainer=s,this.encryption=i,this.planId=l||"",this.merchantKey=o,this.amount=a||0,this.rdtCode=d||"",this.url=v||"",this.reference=m,this.mainLayout=e,this.callBackUrl=g,this.metadata=b||{},this.localCurrency=f||"",this.isMobile=window.matchMedia("(max-width: 767px)").matches,this.currentPaymentMethod="",this.currency="",this.closePayment=C,this.retryingPayment=!1,this.totalAmount=0,this.countryCode=w||"",this.customerDetails=t,this.mode=k,this.selectedMethods=[]}mountScreen(e,t,i,o){var d,v;i&&(this.validChannels=i),o&&(this.disabledChannels=o),this.mainLayout.innerHTML=this.render(),this.merchantPlanDetail=e,this.currency=t;const s=(v=(d=this.merchantPlanDetail.plan)==null?void 0:d.pricingOptions)==null?void 0:v.find(m=>m.currency===this.currency);this.amount=(s==null?void 0:s.amount)||this.amount,this.totalAmount=this.merchantPlanDetail.totalAmount||this.amount,this.mainHeader=new ed({container:document.getElementById("main-header"),email:this.customerDetails.email,amount:this.amount,metadata:this.metadata,currency:this.currency,localCurrency:this.localCurrency,merchantDetail:e,onAction:this.switchTab.bind(this),isMobile:this.isMobile,onClose:m=>{this.closeBTN.bind(this)(m)},currentPaymentMethod:this.currentPaymentMethod}),this.mainHeader.renderComponent(),this.testCard=new _s({container:document.getElementById("test-container"),closeCallback:()=>{const m=document.getElementById("test-container");m&&(m.innerHTML="",m.classList.add("hidden"))}});const a=!1,l=ho(this.merchantKey);this.mainFooter=new Ms({container:document.getElementById("main-footer"),testCardContainer:document.getElementById("test-container"),keyEnvironment:l||(this.mode?this.mode:null),isVisible:a}),document.addEventListener("DOMContentLoaded",()=>{const m=document.getElementById("main-footer"),g=document.getElementById("test-container");new Ms({container:m,testCardContainer:g,keyEnvironment:l||(this.mode?this.mode:null),isVisible:a}).renderComponent()}),this.mainFooter.renderComponent(),this.setupPaymentMethodButtons(),this.selectedChannel&&(this.currentPaymentMethod=this.selectedChannel),this.updatePaymentMethodView(this.merchantKey,this.customerDetails,this.amount,this.totalAmount,this.currency),this.renderPaymentMethodContent(),this.setCurrentPaymentMethod(this.currentPaymentMethod)}setupPaymentMethodButtons(){const e=document.querySelectorAll(".tab-button");e.forEach(i=>{i.removeAttribute("disabled"),i.classList.remove("hidden","disabled","limit-exceeded");const o=i.querySelector(".disabled-indicator");o&&i.removeChild(o)});const t=[...this.validChannels,...this.disabledChannels];e.forEach(i=>{const o=i.getAttribute("data-name");o&&!t.includes(o)&&i.classList.add("hidden")}),this.disabledChannels.forEach(i=>{const o=Array.from(e).find(s=>s.getAttribute("data-name")===i);if(o){o.setAttribute("disabled","true"),o.classList.add("disabled","limit-exceeded"),o.setAttribute("title","Transaction amount exceeds limit for this payment method");const s=document.createElement("span");s.classList.add("disabled-indicator"),s.style.fontSize="10px",s.style.color="#FF5733",s.style.display="block",o.appendChild(s)}})}attachListeners(){const e=document.getElementById("go-back"),t=document.getElementById("select-payment-method-text");this.isMobile&&(this.currentPaymentMethod?(e&&(e.classList.add("flex","items-center","gap-2","mb-2"),e.innerHTML=` <svg width="9" height="18" viewBox="0 0 9 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2070
|
+
</div>`;class Fo{constructor(e){u(this,"container");u(this,"payment");u(this,"warningError");u(this,"pageLoader");u(this,"onAction");u(this,"restartTransactionProcess");this.container=e.container,this.onAction=e.onAction,this.restartTransactionProcess=e.restartTransactionProcess,this.warningError=new ln({container:this.container,onAction:this.restartTransactionProcess.bind(this)})}attachListener(){const e=this.container.querySelector("#authenticate-btn"),t=this.container.querySelector("#authenticate-request-text"),i=this.container.querySelector("#authenticate-button-text");t&&(t.innerHTML=jn["authenticate-request"]),i&&(i.innerHTML=jn.authenticate),e&&e.addEventListener("click",()=>{this.onAction(),E.track("start_payment",{payment_method:"EFT"})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return yc}}class Cc{constructor({amount:e,totalAmount:t,container:i,customer:s,token:o,currency:a,rdtCode:l,url:c,reference:v,callBackUrl:m,metadata:f,localCurrency:b,hidePaymentMethods:g,showPaymentMethods:w,restartTransactionProcess:C,retryingPayment:k}){u(this,"contents");u(this,"eftAuthenticate");u(this,"successScreen");u(this,"pageLoader");u(this,"warningScreen");u(this,"transactionIssuesScreen");u(this,"container");u(this,"customer");u(this,"token");u(this,"amount");u(this,"totalAmount");u(this,"currency");u(this,"_currentStep");u(this,"rdtCode");u(this,"url");u(this,"reference");u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"hidePaymentMethods");u(this,"showPaymentMethods");u(this,"merchantPlanDetail",{});u(this,"restartTransactionProcess");u(this,"retryingPayment");u(this,"isMaxRetriesReached");u(this,"isMobile",!1);u(this,"paymentResponse");u(this,"paymentResponseHeaders");u(this,"errorText");this.currency=a,this.container=i,this.token=o,this.customer=s,this.amount=e,this.totalAmount=t,this.rdtCode=l,this.url=c,this.reference=v,this.callBackUrl=m,this.metadata=f,this.localCurrency=b,this._currentStep=1,this.contents=this.container.querySelector("#payment-content-view"),this.hidePaymentMethods=g,this.showPaymentMethods=w,this.restartTransactionProcess=C,this.retryingPayment=k,this.isMaxRetriesReached=!1,this.paymentResponse={},this.paymentResponseHeaders={},this.errorText="",this.renderEftContent(),E.track("eft_opens",{payment_method:"EFT"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderEftContent()}showLoader(){this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage(D["verify-payment"])}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}async createEftPayment(){const e=this.container.querySelector(".spinner"),t=this.container.querySelector("#authenticate-button-text");e&&t&&(e.classList.remove("hidden"),t.classList.add("hidden"));const i=xt();(()=>{var o,a;if(this.retryingPayment){const l={channel:"eft",reference:this.reference};return lt(this.token,l,this.rdtCode,this.url)}else{const l={amount:this.amount,channel:"eft",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((o=this.merchantPlanDetail)==null?void 0:o.taxQuoteId)&&{taxQuoteId:(a=this.merchantPlanDetail)==null?void 0:a.taxQuoteId},deviceInformation:i};return xi(this.token,l,this.rdtCode,this.url)}})().then(async({data:o,headers:a})=>{var l,c,v;if(this.paymentResponse=o,this.paymentResponseHeaders=a,o.providerMessage){const m=await q(o.providerMessage,A==null?void 0:A.language);this.errorText=m}if(o.status==="failed"){this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),E.track("start_payment",{payment_method:"EFT",verification_status:"Failed"});return}else if(((l=o==null?void 0:o.authorization)==null?void 0:l.mode)==="redirect"){(c=o==null?void 0:o.authorization)!=null&&c.redirectUrl&&this.redirectToOzow((v=o==null?void 0:o.authorization)==null?void 0:v.redirectUrl);return}else this.currentStep=4,o!=null&&o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(jn["unable-redirect-url"])}).catch(async o=>{if(o.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,this.warningScreen.setPaymentError(D["maximum-retries"],D["maximum-retries-desc"],Q["merchant-back"]);else if(o.message){const a=await q(o.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(Q["payment-failed"])}).finally(()=>{e&&t&&(e.classList.add("hidden"),t.classList.remove("hidden"))})}redirectToOzow(e){const t=window.open(e,"_blank");if(t){E.track("auth_redirect",{payment_method:"EFT",authentication_type:"Redirect",verification_status:"In Progress"}),this.currentStep=3,this.showLoader();const i=setInterval(()=>{t.closed&&(clearInterval(i),this.verifyPaymentProcess())},2e3)}}async verifyPaymentProcess(){try{const e=await on(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers;const t=this.paymentResponse.status;if(t==="successful")this.currentStep=2,E.track("verify_payment",{payment_method:"EFT",verification_status:"Success"}),Ze(this.paymentResponse,this.paymentResponseHeaders,"success");else if(t==="failed"){if(this.paymentResponse.providerMessage){const i=await q(this.paymentResponse.providerMessage,A==null?void 0:A.language);this.errorText=i}this.currentStep=4,E.track("verify_payment",{payment_method:"EFT",verification_status:"Failed"}),this.paymentResponse.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(Q["payment-failed"])}else t==="cancelled"&&(this.isMaxRetriesReached=!0,this.currentStep=4,this.warningScreen.setPaymentError(jn["payment-cancelled"],jn["cancel-payment-desc"],Q["merchant-back"]))}catch{this.currentStep=4,this.warningScreen.setPaymentError(Q["payment-failed"])}}renderEftContent(e){var i;e&&(this.merchantPlanDetail=e);const t=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),t==null||t.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents)switch(this.currentStep){case 1:this.eftAuthenticate=new Fo({container:this.contents,onAction:this.createEftPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.eftAuthenticate.renderComponent();break;case 2:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(i=this.merchantPlanDetail)==null?void 0:i.rate.rate}),this.successScreen.renderComponent();break;case 3:this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage(D["verify-payment"]);break;case 4:this.warningScreen=new ln({container:this.contents,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=5}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.transactionIssuesScreen=new ut({container:this.contents,onAction:async()=>{var s,o;if((s=this.paymentResponse)!=null&&s.providerMessage){const a=await q((o=this.paymentResponse)==null?void 0:o.providerMessage,A==null?void 0:A.language);this.errorText=a}this.currentStep=4,this.warningScreen.setPaymentError(this.errorText||D["payment-failed"])},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"eft",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break;default:this.eftAuthenticate=new Fo({container:this.contents,onAction:this.createEftPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.eftAuthenticate.renderComponent();break}}}const wc=`<div id="eft-authenticate-container">
|
|
2071
|
+
<div class="pt-3">
|
|
2072
|
+
<div class="md:w-4/6 mx-auto mt-4">
|
|
2073
|
+
<p class="text-lg font-medium text-center" id="authenticate-request-text">
|
|
2074
|
+
</p>
|
|
2075
|
+
</div>
|
|
2076
|
+
<div class="mt-8">
|
|
2077
|
+
<button class="details-form-button" id="authenticate-btn">
|
|
2078
|
+
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
2079
|
+
<path
|
|
2080
|
+
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z">
|
|
2081
|
+
</path>
|
|
2082
|
+
</svg>
|
|
2083
|
+
<span id="authenticate-button-text">
|
|
2084
|
+
</span>
|
|
2085
|
+
</button>
|
|
2086
|
+
</div>
|
|
2087
|
+
</div>
|
|
2088
|
+
|
|
2089
|
+
</div>`;class Go{constructor(e){u(this,"container");u(this,"payment");u(this,"warningError");u(this,"pageLoader");u(this,"onAction");u(this,"restartTransactionProcess");this.container=e.container,this.onAction=e.onAction,this.restartTransactionProcess=e.restartTransactionProcess,this.warningError=new ln({container:this.container,onAction:this.restartTransactionProcess.bind(this)})}attachListener(){const e=this.container.querySelector("#authenticate-btn"),t=this.container.querySelector("#authenticate-request-text"),i=this.container.querySelector("#authenticate-button-text");t&&(t.innerHTML=zn["authenticate-request"]),i&&(i.innerHTML=zn.authenticate),e&&e.addEventListener("click",()=>{this.onAction(),E.track("start_payment",{payment_method:"OPAY"})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return wc}}class kc{constructor({amount:e,totalAmount:t,container:i,customer:s,token:o,currency:a,rdtCode:l,url:c,reference:v,callBackUrl:m,metadata:f,localCurrency:b,hidePaymentMethods:g,showPaymentMethods:w,restartTransactionProcess:C,retryingPayment:k}){u(this,"contents");u(this,"OpayAuthenticate");u(this,"successScreen");u(this,"pageLoader");u(this,"warningScreen");u(this,"transactionIssuesScreen");u(this,"container");u(this,"customer");u(this,"token");u(this,"amount");u(this,"totalAmount");u(this,"currency");u(this,"_currentStep");u(this,"rdtCode");u(this,"url");u(this,"reference");u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"hidePaymentMethods");u(this,"showPaymentMethods");u(this,"merchantPlanDetail",{});u(this,"restartTransactionProcess");u(this,"retryingPayment");u(this,"isMaxRetriesReached");u(this,"isMobile",!1);u(this,"paymentResponse");u(this,"paymentResponseHeaders");u(this,"countdownInterval");u(this,"popupInterval");u(this,"errorText");this.currency=a,this.container=i,this.token=o,this.customer=s,this.amount=e,this.totalAmount=t,this.rdtCode=l,this.url=c,this.reference=v,this.callBackUrl=m,this.metadata=f,this.localCurrency=b,this._currentStep=1,this.countdownInterval,this.contents=this.container.querySelector("#payment-content-view"),this.hidePaymentMethods=g,this.showPaymentMethods=w,this.restartTransactionProcess=C,this.retryingPayment=k,this.isMaxRetriesReached=!1,this.paymentResponse={},this.paymentResponseHeaders={},this.errorText="",this.renderOpayContent(),E.track("pay_with_opay_opens",{payment_method:"OPAY"}),this.isMobile=window.matchMedia("(max-width: 767px)").matches}get currentStep(){return this._currentStep}set currentStep(e){this._currentStep=e,this.renderOpayContent()}showLoader(){this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage(D["verify-payment"])}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}async createOpayPayment(){const e=this.container.querySelector(".spinner"),t=this.container.querySelector("#authenticate-button-text");e&&t&&(e.classList.remove("hidden"),t.classList.add("hidden"));const i=xt();(()=>{var o,a;if(this.retryingPayment){const l={channel:"pay_with_opay",reference:this.reference};return lt(this.token,l,this.rdtCode,this.url)}else{const l={amount:this.amount,channel:"pay_with_opay",currency:this.currency,customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((o=this.merchantPlanDetail)==null?void 0:o.taxQuoteId)&&{taxQuoteId:(a=this.merchantPlanDetail)==null?void 0:a.taxQuoteId},deviceInformation:i};return xi(this.token,l,this.rdtCode,this.url)}})().then(async({data:o,headers:a})=>{var l,c,v;if(this.paymentResponse=o,this.paymentResponseHeaders=a,o.providerMessage){const m=await q(o.providerMessage,A==null?void 0:A.language);this.errorText=m}if(o.status==="failed"){this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(D["payment-failed"]),E.track("start_payment",{payment_method:"OPAY",verification_status:"Failed"});return}else if(((l=o==null?void 0:o.authorization)==null?void 0:l.mode)==="redirect"){(c=o==null?void 0:o.authorization)!=null&&c.redirectUrl&&this.redirectToOpay((v=o==null?void 0:o.authorization)==null?void 0:v.redirectUrl);return}else this.currentStep=4,o!=null&&o.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(zn["unable-redirect-url"])}).catch(async o=>{if(o.code==="payment_max_retry_attempts")this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,this.warningScreen.setPaymentError(D["maximum-retries"],D["maximum-retries-desc"],Q["merchant-back"]);else if(o.message){const a=await q(o.message,A==null?void 0:A.language);this.errorText=a,this.currentStep=4,this.warningScreen.setPaymentError(this.errorText)}else this.currentStep=4,this.warningScreen.setPaymentError(Q["payment-failed"])}).finally(()=>{e&&t&&(e.classList.add("hidden"),t.classList.remove("hidden"))})}startCountdown(e,t,i){let s=e;t(s);const o=setInterval(()=>{s--,t(s),s<=0&&(clearInterval(o),i())},1e3);return o}redirectToOpay(e){const t=window.open(e,"_blank");t&&(this.currentStep=3,this.showLoader(),this.countdownInterval=this.startCountdown(1800,i=>{},()=>{this.verifyPaymentProcess()}),this.popupInterval=setInterval(()=>{t.closed&&(clearInterval(this.countdownInterval),clearInterval(this.popupInterval),this.verifyPaymentProcess())},2e3))}async verifyPaymentProcess(){try{const e=await on(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers;const t=this.paymentResponse.status;if(t==="successful")this.currentStep=2,E.track("verify_payment",{payment_method:"OPAY",verification_status:"Success"}),Ze(this.paymentResponse,this.paymentResponseHeaders,"success");else if(t==="failed"){if(this.paymentResponse.providerMessage){const i=await q(this.paymentResponse.providerMessage,A==null?void 0:A.language);this.errorText=i}this.currentStep=4,E.track("verify_payment",{payment_method:"OPAY",verification_status:"Failed"}),this.paymentResponse.providerMessage?this.warningScreen.setPaymentError(this.errorText):this.warningScreen.setPaymentError(Q["payment-failed"])}else t==="cancelled"&&(this.isMaxRetriesReached=!0,this.currentStep=4,this.warningScreen.setPaymentError(zn["payment-cancelled"],zn["cancel-payment-desc"],Q["merchant-back"]))}catch{this.currentStep=4,this.warningScreen.setPaymentError(Q["payment-failed"])}}renderOpayContent(e){var i;e&&(this.merchantPlanDetail=e);const t=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),t==null||t.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents)switch(this.currentStep){case 1:this.OpayAuthenticate=new Go({container:this.contents,onAction:this.createOpayPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.OpayAuthenticate.renderComponent();break;case 2:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(i=this.merchantPlanDetail)==null?void 0:i.rate.rate}),this.successScreen.renderComponent();break;case 3:this.pageLoader=new xe(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage(D["verify-payment"]);break;case 4:this.warningScreen=new ln({container:this.contents,onAction:this.isMaxRetriesReached?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=5}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.transactionIssuesScreen=new ut({container:this.contents,onAction:async()=>{var s,o;if((s=this.paymentResponse)!=null&&s.providerMessage){const a=await q((o=this.paymentResponse)==null?void 0:o.providerMessage,A==null?void 0:A.language);this.errorText=a}this.currentStep=4,this.warningScreen.setPaymentError(this.errorText||D["payment-failed"])},url:this.url,rdtCode:this.rdtCode,token:this.token,paymentChannel:"pay_with_opay",callBackUrl:this.callBackUrl,paymentResponse:this.paymentResponse,paymentResponseHeaders:this.paymentResponseHeaders}),this.transactionIssuesScreen.renderTransactionIssuesComponent();break;default:this.OpayAuthenticate=new Go({container:this.contents,onAction:this.createOpayPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.OpayAuthenticate.renderComponent();break}}}class Sc{constructor({container:e,customerDetails:t,encryption:i,merchantKey:s,modalContainer:o,amount:a,planId:l,rdtCode:c,url:v,reference:m,callBackUrl:f,metadata:b,localCurrency:g,closePayment:w,countryCode:C,mode:k}){u(this,"validChannels",[]);u(this,"disabledChannels",[]);u(this,"selectedChannel");u(this,"modalContainer");u(this,"currentPaymentMethod");u(this,"mainLayout");u(this,"mainHeader");u(this,"mainFooter");u(this,"testCard");u(this,"merchantPlanDetail",{});u(this,"mainScreen");u(this,"currency");u(this,"card");u(this,"transfer");u(this,"ussd");u(this,"mobileMoney");u(this,"eft");u(this,"opay");u(this,"encryption");u(this,"merchantKey");u(this,"planId");u(this,"customerDetails");u(this,"amount",0);u(this,"rdtCode");u(this,"url");u(this,"reference");u(this,"isMobile",!1);u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"closePayment");u(this,"retryingPayment");u(this,"totalAmount");u(this,"countryCode");u(this,"mainLoader");u(this,"mode");u(this,"selectedMethods");this.validChannels=[],this.disabledChannels=[],this.selectedChannel="",this.modalContainer=o,this.encryption=i,this.planId=l||"",this.merchantKey=s,this.amount=a||0,this.rdtCode=c||"",this.url=v||"",this.reference=m,this.mainLayout=e,this.callBackUrl=f,this.metadata=b||{},this.localCurrency=g||"",this.isMobile=window.matchMedia("(max-width: 767px)").matches,this.currentPaymentMethod="",this.currency="",this.closePayment=w,this.retryingPayment=!1,this.totalAmount=0,this.countryCode=C||"",this.customerDetails=t,this.mode=k,this.selectedMethods=[]}mountScreen(e,t,i,s){var c,v;i&&(this.validChannels=i),s&&(this.disabledChannels=s),this.mainLayout.innerHTML=this.render(),this.merchantPlanDetail=e,this.currency=t;const o=(v=(c=this.merchantPlanDetail.plan)==null?void 0:c.pricingOptions)==null?void 0:v.find(m=>m.currency===this.currency);this.amount=(o==null?void 0:o.amount)||this.amount,this.totalAmount=this.merchantPlanDetail.totalAmount||this.amount,this.mainHeader=new dc({container:document.getElementById("main-header"),email:this.customerDetails.email,amount:this.amount,metadata:this.metadata,currency:this.currency,localCurrency:this.localCurrency,merchantDetail:e,onAction:this.switchTab.bind(this),isMobile:this.isMobile,onClose:m=>{this.closeBTN.bind(this)(m)},currentPaymentMethod:this.currentPaymentMethod}),this.mainHeader.renderComponent(),this.testCard=new Bo({container:document.getElementById("test-container"),closeCallback:()=>{const m=document.getElementById("test-container");m&&(m.innerHTML="",m.classList.add("hidden"))}});const a=!1,l=Cs(this.merchantKey);this.mainFooter=new No({container:document.getElementById("main-footer"),testCardContainer:document.getElementById("test-container"),keyEnvironment:l||(this.mode?this.mode:null),isVisible:a}),document.addEventListener("DOMContentLoaded",()=>{const m=document.getElementById("main-footer"),f=document.getElementById("test-container");new No({container:m,testCardContainer:f,keyEnvironment:l||(this.mode?this.mode:null),isVisible:a}).renderComponent()}),this.mainFooter.renderComponent(),this.setupPaymentMethodButtons(),this.selectedChannel&&(this.currentPaymentMethod=this.selectedChannel),this.updatePaymentMethodView(this.merchantKey,this.customerDetails,this.amount,this.totalAmount,this.currency),this.renderPaymentMethodContent(),this.setCurrentPaymentMethod(this.currentPaymentMethod)}setupPaymentMethodButtons(){const e=document.querySelectorAll(".tab-button");e.forEach(i=>{i.removeAttribute("disabled"),i.classList.remove("hidden","disabled","limit-exceeded");const s=i.querySelector(".disabled-indicator");s&&i.removeChild(s)});const t=[...this.validChannels,...this.disabledChannels];e.forEach(i=>{const s=i.getAttribute("data-name");s&&!t.includes(s)&&i.classList.add("hidden")}),this.disabledChannels.forEach(i=>{const s=Array.from(e).find(o=>o.getAttribute("data-name")===i);if(s){s.setAttribute("disabled","true"),s.classList.add("disabled","limit-exceeded"),s.setAttribute("title","Transaction amount exceeds limit for this payment method");const o=document.createElement("span");o.classList.add("disabled-indicator"),o.style.fontSize="10px",o.style.color="#FF5733",o.style.display="block",s.appendChild(o)}})}attachListeners(){const e=document.getElementById("go-back"),t=document.getElementById("select-payment-method-text");this.isMobile&&(this.currentPaymentMethod?(e&&(e.classList.add("flex","items-center","gap-2","mb-2"),e.innerHTML=` <svg width="9" height="18" viewBox="0 0 9 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2043
2090
|
<path d="M7.99984 16.9201L1.47984 10.4001C0.709844 9.63008 0.709844 8.37008 1.47984 7.60008L7.99984 1.08008" stroke="#0D0716" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2044
2091
|
</svg>
|
|
2045
2092
|
<span class="text-tone-100 font-semibold">
|
|
2046
2093
|
Go back
|
|
2047
|
-
</span>`),t&&(t.innerHTML="Selected")):(e&&(e.classList.remove("flex","items-center","gap-2","mb-2"),e.innerHTML=""),t&&(t.innerHTML="Select your preferred")))}closeBTN(e){(()=>{this.cleanup(),e?(
|
|
2094
|
+
</span>`),t&&(t.innerHTML="Selected")):(e&&(e.classList.remove("flex","items-center","gap-2","mb-2"),e.innerHTML=""),t&&(t.innerHTML="Select your preferred")))}closeBTN(e){(()=>{this.cleanup(),e?(E.track("checkout_closes"),this.closeModal()):this.closePayment()})()}updatePaymentMethodView(e,t,i,s,o){switch(this.currentPaymentMethod){case"card":return this.card=new Gl({container:this.modalContainer,amount:i,totalAmount:s,currency:o,token:e,customer:t||this.customerDetails,planId:this.planId,rdtCode:this.rdtCode,url:this.url,reference:this.reference,encryption:this.encryption,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,switchTab:()=>this.switchTab("card"),hidePaymentMethods:this.hidePaymentMethods.bind(this),showPaymentMethods:this.showPaymentMethods.bind(this),onClose:a=>{this.closeBTN.bind(this)(a)},restartTransactionProcess:this.setToDefaultEmptyContainer.bind(this),retryingPayment:this.retryingPayment,keys:Cs(this.merchantKey),testcardIsVisible:this.mainFooter.isVisible});case"bank_transfer":return this.transfer=new Xl({amount:i,totalAmount:s,currency:o,closeModal:this.closeModal.bind(this),token:e,container:this.modalContainer,customer:t||this.customerDetails,rdtCode:this.rdtCode,url:this.url,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,disablePaymentMethods:a=>{this.disablePaymentMethods.bind(this)(a)},restartTransactionProcess:this.setToDefaultEmptyContainer.bind(this),hidePaymentMethods:this.hidePaymentMethods.bind(this),retryingPayment:this.retryingPayment});case"ussd":return this.ussd=new Ko({container:this.modalContainer,amount:i,totalAmount:s,currency:o,secret:this.merchantKey,rdtCode:this.rdtCode,url:this.url,customer:t||this.customerDetails,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,closeModal:()=>this.closeModal(),switchTab:a=>this.switchTab.bind(a),hidePaymentMethods:this.hidePaymentMethods.bind(this),showPaymentMethods:this.showPaymentMethods.bind(this),disablePaymentMethods:a=>{this.disablePaymentMethods.bind(this)(a)}});case"mobile_money":return this.mobileMoney=new gc({container:this.modalContainer,customer:t||this.customerDetails,currency:o,rdtCode:this.rdtCode,url:this.url,token:e,amount:this.amount,totalAmount:this.totalAmount,metadata:this.metadata,localCurrency:this.localCurrency,callBackUrl:this.callBackUrl,merchantKey:this.merchantKey,reference:this.reference,closeModal:()=>this.closeModal(),hidePaymentMethods:this.hidePaymentMethods.bind(this),showPaymentMethods:this.showPaymentMethods.bind(this),disablePaymentMethods:a=>{this.disablePaymentMethods.bind(this)(a)},onClose:a=>{this.closeBTN.bind(this)(a)},restartTransactionProcess:this.setToDefaultEmptyContainer.bind(this),retryingPayment:this.retryingPayment,countryCode:this.countryCode||""});case"eft":return this.eft=new Cc({container:this.modalContainer,amount:i,totalAmount:s,currency:o,customer:t||this.customerDetails,token:e,rdtCode:this.rdtCode,url:this.url,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,switchTab:()=>this.switchTab("eft"),hidePaymentMethods:this.hidePaymentMethods.bind(this),showPaymentMethods:this.showPaymentMethods.bind(this),onClose:a=>{this.closeBTN.bind(this)(a)},restartTransactionProcess:this.setToDefaultEmptyContainer.bind(this),retryingPayment:this.retryingPayment});case"pay_with_opay":return this.opay=new kc({container:this.modalContainer,amount:i,totalAmount:s,currency:o,customer:t||this.customerDetails,token:e,rdtCode:this.rdtCode,url:this.url,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,switchTab:()=>this.switchTab("pay_with_opay"),hidePaymentMethods:this.hidePaymentMethods.bind(this),showPaymentMethods:this.showPaymentMethods.bind(this),onClose:a=>{this.closeBTN.bind(this)(a)},restartTransactionProcess:this.setToDefaultEmptyContainer.bind(this),retryingPayment:this.retryingPayment});default:return null}}renderPaymentMethodContent(){return(()=>{switch(this.currentPaymentMethod){case"card":return this.card.renderCardContent(this.merchantPlanDetail);case"bank_transfer":return this.transfer.renderTransferContent(this.merchantPlanDetail);case"ussd":return this.ussd.renderUssdContent(this.merchantPlanDetail);case"mobile_money":return this.mobileMoney.renderMobileMoneyContent(this.merchantPlanDetail);case"eft":return this.eft.renderEftContent(this.merchantPlanDetail);case"pay_with_opay":return this.opay.renderOpayContent(this.merchantPlanDetail);default:return this.defaultToEmptyContainer()}})()}setCurrentPaymentMethod(e){this.currentPaymentMethod=e;const t=document.querySelectorAll(".tab-button");t.forEach(s=>s.classList.remove("active"));const i=Array.from(t).find(s=>s.getAttribute("data-name")===e);i&&i.classList.add("active")}setToDefaultEmptyContainer(){this.currentPaymentMethod="",this.retryingPayment=!0,this.updatePaymentMethodView(this.merchantKey,this.customerDetails,this.amount,this.totalAmount,this.currency),this.cleanup(),this.switchTab(""),this.showPaymentMethods(),this.setupPaymentMethodButtons(),this.renderPaymentMethodContent(),E.track("retry_payment")}defaultToEmptyContainer(){const e=document.querySelector("#payment-content-view");e.innerHTML=""}switchTab(e){if(this.currentPaymentMethod===e&&e!=="")return;this.selectedMethods.push(e),this.currentPaymentMethod==="bank_transfer"&&this.currentPaymentMethod!==e&&this.setToDefaultEmptyContainer(),this.setCurrentPaymentMethod(e);const t=this.modalContainer.querySelector("#payment-content-view");(A==null?void 0:A.language)!=="en"&&!Ma(this.selectedMethods,e)?(this.mainLoader=new xe(t),this.mainLoader.mountLoader("25dvh"),this.renderTranslatedText(e).then(()=>{this.mainLoader.unmountLoader(),this.renderingPaymentMethodDetails(e)})):this.renderingPaymentMethodDetails(e)}renderingPaymentMethodDetails(e){this.updatePaymentMethodView(this.merchantKey,this.customerDetails,this.amount,this.totalAmount,this.currency),this.cleanup(),this.showPaymentMethods(),this.renderPaymentMethodContent(),this.attachListeners(),this.isMobile&&(document.querySelectorAll(".tab-button").forEach(i=>{const s=i.getAttribute("data-name");this.disabledChannels.includes(s)||i.removeAttribute("disabled")}),e?document.querySelectorAll(".tab-button").forEach(s=>{s.getAttribute("data-name")!==e&&s.classList.add("hidden")}):document.querySelectorAll(".tab-button").forEach(s=>{const o=s.getAttribute("data-name");[...this.validChannels,...this.disabledChannels].includes(o)&&s.classList.remove("hidden")}))}async renderTranslatedText(e){switch(e){case"card":await _a(A==null?void 0:A.language);break;case"bank_transfer":await Pa(A==null?void 0:A.language);break;case"mobile_money":await Ia(A==null?void 0:A.language);break;case"eft":await Da(A==null?void 0:A.language);break;case"pay_with_opay":await Ba(A==null?void 0:A.language);break}}disablePaymentMethods(e){this.currentPaymentMethod=e;const t=document.querySelectorAll(".tab-button");t.forEach(s=>s.setAttribute("disabled","true"));const i=Array.from(t).find(s=>s.getAttribute("data-name")===e);i&&i.removeAttribute("disabled")}enablePaymentMethods(){const e=document.querySelectorAll(".tab-button");e.forEach(i=>{const s=i.getAttribute("data-name");s&&!this.disabledChannels.includes(s)&&i.removeAttribute("disabled")});const t=Array.from(e).find(i=>i.getAttribute("data-name")===this.currentPaymentMethod);t&&!this.disabledChannels.includes(this.currentPaymentMethod)&&t.removeAttribute("disabled")}hidePaymentMethods(){const e=document.querySelector("#payment-methods-container");e&&e.classList.add("hidden")}showPaymentMethods(){const e=document.querySelector("#payment-methods-container");e&&e.classList.remove("hidden")}cleanup(){this.transfer&&this.transfer.destroyTimer()}closeModal(e){this.modalContainer&&this.modalContainer.parentNode&&document.body.removeChild(this.modalContainer),e&&e()}setupParent(e){e&&e()}render(){return ca}}class ls{constructor(e){u(this,"container");this.container=e}renderContent(e,t){var o;this.container.innerHTML=this.render();const i=document.getElementById("error-action-container"),s=document.getElementById("error-message-div");s&&(s.textContent=e),t&&i&&(i.classList.remove("hidden"),(o=i.querySelector("#go-back"))==null||o.addEventListener("click",()=>{window.location.href=t}))}render(){return`
|
|
2048
2095
|
<div class="box-container">
|
|
2049
2096
|
|
|
2050
2097
|
<div class="container-center h-[40vh] hidden mx-auto" id="shared-error-container">
|
|
2051
2098
|
<img src="" alt="error gif" class=" h-[50px] w-16 mb-5" />
|
|
2052
|
-
<h5 id="error-message-div" class="text-tone-100 font-semibold text-2xl text-center mb-1">${
|
|
2099
|
+
<h5 id="error-message-div" class="text-tone-100 font-semibold text-2xl text-center mb-1">${Q["something-wrong"]}</h5>
|
|
2053
2100
|
<div class="w-4/5 mx-auto">
|
|
2054
2101
|
<p class="text-tone-100 text-sm text-center mb-5" id="error-desc">
|
|
2055
|
-
${
|
|
2102
|
+
${Q["error-description"]}
|
|
2056
2103
|
</p>
|
|
2057
2104
|
</div>
|
|
2058
2105
|
<div class="container-center hidden" id="error-action-container">
|
|
2059
|
-
<button class="button-fill w-60 text-sm" id="go-back">${
|
|
2106
|
+
<button class="button-fill w-60 text-sm" id="go-back">${Q["merchant-back"]}</button>
|
|
2060
2107
|
</div>
|
|
2061
2108
|
|
|
2062
2109
|
</div>
|
|
2063
2110
|
</div>
|
|
2064
|
-
`}}const
|
|
2111
|
+
`}}const xc="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='10'%20y='11.6667'%20width='20'%20height='18.3333'%20fill='white'/%3e%3cpath%20d='M19.9955%2036.6666C15.5754%2036.6706%2011.3352%2034.9161%208.20965%2031.7898C5.08414%2028.6635%203.33001%2024.4222%203.33399%2020.0009V19.6676C3.47026%2012.9884%207.57901%207.0353%2013.7747%204.54029C19.9704%202.04528%2027.0568%203.49007%2031.7819%208.21164C36.5512%2012.9782%2037.9786%2020.1498%2035.398%2026.38C32.8174%2032.6101%2026.7375%2036.6706%2019.9955%2036.6666ZM19.9955%2022.3508L24.3109%2026.6672L26.6601%2024.3174L22.3448%2020.0009L26.6601%2015.6845L24.3109%2013.3347L19.9955%2017.6511L15.6802%2013.3347L13.3309%2015.6845L17.6463%2020.0009L13.3309%2024.3174L15.6802%2026.6672L19.9955%2022.3525V22.3508Z'%20fill='%23D62020'/%3e%3c/svg%3e";class Ac{constructor(e){u(this,"container");u(this,"currency","");u(this,"maxAmount","");this.container=e}setLimitInfo(e,t){this.currency=e,this.maxAmount=typeof t=="number"?t.toLocaleString():t}renderContent(e){var i;this.container.innerHTML=this.render();const t=document.getElementById("error-action-container");e&&t&&(t.classList.remove("hidden"),(i=t.querySelector("#go-back"))==null||i.addEventListener("click",()=>{window.location.href=e}))}render(){return`
|
|
2065
2112
|
<div class="box-container">
|
|
2066
2113
|
|
|
2067
2114
|
<div class="container-center h-[40vh] hidden mx-auto" id="shared-error-container">
|
|
@@ -2078,4 +2125,4 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
2078
2125
|
|
|
2079
2126
|
</div>
|
|
2080
2127
|
</div>
|
|
2081
|
-
`}}class
|
|
2128
|
+
`}}class Mc{constructor(){u(this,"modalContainer");u(this,"mainLayout");u(this,"encryption");u(this,"mainScreen");u(this,"merchantConfigService");u(this,"mainError");u(this,"mainLoader");u(this,"merchantPlanDetail",{});u(this,"merchantKey");u(this,"planId");u(this,"email");u(this,"amount");u(this,"name");u(this,"rdtCode");u(this,"url");u(this,"phoneNumber");u(this,"code");u(this,"reference");u(this,"currency");u(this,"callBackUrl");u(this,"metadata");u(this,"localCurrency");u(this,"countryCode");u(this,"mode");u(this,"rawPaymentMethodTexts");u(this,"translatedPMTexts");this.merchantKey="",this.email="",this.amount=0,this.planId="",this.encryption="",this.phoneNumber="",this.code="",this.modalContainer=document.createElement("div"),this.rdtCode="",this.reference="",this.currency="",this.url="",this.callBackUrl="",this.metadata={},this.localCurrency="",this.countryCode="",this.rawPaymentMethodTexts={"pay-card":"Pay with Card","pay-transfer":"Pay with Transfer","pay-momo":"Pay with Mobile Money","pay-eft":"Pay with EFT","pay-with-opay":"Pay with Opay"},this.translatedPMTexts=this.rawPaymentMethodTexts,this.modalContainer.innerHTML=Gn,E.init("11162d9a0801daeaf786f1200cd3112b",{debug:!1}),document.body.appendChild(this.modalContainer);const t=document.getElementById("main-layout-container-screen");if(!t)throw new Error("SDK Layout not available");this.mainLayout=t}closePayment(){const e={reference:this.reference};ma(this.merchantKey,e,this.rdtCode,this.url).then(({headers:i})=>{const s=i.get("spf-redirect-url");this.callBackUrl=s||this.callBackUrl,this.callBackUrl?setTimeout(()=>{const o=new URL(this.callBackUrl);o.searchParams.append("status","cancelled"),o.searchParams.append("reference",this.reference),window.location.href=o.toString()},1800):this.closeModal(),E.track("cancel_payment",{verification_status:"Cancelled"}),E.track("checkout_closes")}).catch(i=>{Et.showToast(i.message,"error")})}getDeviceType(){const e=navigator.userAgent;return/mobile/i.test(e)?"Mobile":/tablet/i.test(e)?"Tablet":"Desktop"}setup(e){const{email:t,encryptionKey:i,merchantKey:s,planId:o,amount:a,rdtCode:l,reference:c,currency:v,url:m,callBackUrl:f,metadata:b,localCurrency:g,countryCode:w,phoneNumber:C,name:k,mode:x}=e;if(this.merchantKey=s||"",this.email=t||"",this.amount=a||0,this.encryption=i||"",this.planId=o||"",this.rdtCode=l||"",this.reference=c||ya(),this.url=m||"",this.callBackUrl=f||"",this.metadata=b||{},this.countryCode=w||"",this.phoneNumber=C||"",this.name=k||"",this.mode=x,!s||!t)throw this.mainError=new ls(this.mainLayout),this.mainError.renderContent(Q["merchant-email-required"],this.callBackUrl),this.showErrorIcon(),new Error("Merchant key or email is required");if(v==="USD"&&!g)throw this.mainError=new ls(this.mainLayout),this.mainError.renderContent(Q["no-local-currency"],""),this.showErrorIcon(),new Error("Local currency is required for USD transactions");this.currency=v||"",this.merchantConfigService=new $l({token:this.merchantKey,rdtCode:this.rdtCode,url:this.url}),this.localCurrency=g||"",this.mainScreen=new Sc({container:this.mainLayout,modalContainer:this.modalContainer,merchantKey:s,encryption:this.encryption,planId:this.planId,amount:this.amount,rdtCode:this.rdtCode,url:this.url,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,countryCode:this.countryCode,mode:this.mode,customerDetails:{email:t||this.email,...this.name?{name:this.name}:{},...this.phoneNumber?{phoneNumber:this.phoneNumber}:{}},closePayment:this.closePayment.bind(this)}),this.mainLoader=new xe(this.mainLayout),this.mainError=new ls(this.mainLayout),this.mainLoader.mountLoader(),this.getPlanDetails()}getAvailableChannels(){var o,a;const e=((o=this.merchantPlanDetail)==null?void 0:o.paymentMethods)??[],t=((a=this.merchantPlanDetail)==null?void 0:a.limits)??[],i=[],s=[];return e.forEach(l=>{const c=t.find(v=>v.channel===l);!c||this.amount<=c.amount?i.push(l):s.push(l)}),{validChannels:i,disabledChannels:s}}async getPlanDetails(){const e=this.currency==="USD"?this.localCurrency:this.currency;this.merchantConfigService.getMerchantConfig(this.planId,e).then(async t=>{var i,s,o;if(t.taxEnabled){const a=await ba(this.merchantKey,this.localCurrency!==this.currency?this.amount*t.rate.rate:this.amount,e,this.rdtCode,this.url);this.merchantPlanDetail={...t,totalAmount:a.totalAmount,taxQuoteId:a.id}}else this.merchantPlanDetail=t;if(t.rate){const a=(i=Do(e,this.countryCode))==null?void 0:i.language;if(a!=="en"){await La(a);const m=t.paymentMethods;this.updateMethodsOptionsTexts(m),this.mainLoader.updateMessage(`${Q.translating}...`),await Ta(a)}E.register({device_type:this.getDeviceType(),session_id:this.reference,env:this.merchantKey.split("_")[1],checkout_env:this.rdtCode?"Redirect":"SDK",merchant:this.merchantPlanDetail.merchantName}),E.track("checkout_opens");const{validChannels:l,disabledChannels:c}=this.getAvailableChannels();if(((s=this.merchantPlanDetail)==null?void 0:s.limits)&&this.merchantPlanDetail.limits.length>0&&(l.length===0||l[0]==="ussd"&&l.length===1)){const m=new Ac(this.mainLayout);this.mainError=m;let f=0;throw(o=this.merchantPlanDetail)!=null&&o.limits&&this.merchantPlanDetail.limits.length>0&&(f=Math.max(...this.merchantPlanDetail.limits.map(b=>b.amount))),m.setLimitInfo(e,f),this.mainError.renderContent(Q["transaction-limit"],this.callBackUrl),this.showErrorIcon(),new Error("Transaction limit reached")}this.render(l,c)}else this.mainError.renderContent(Q["rate-not-found"],this.callBackUrl),this.showErrorIcon()}).catch(t=>{throw this.mainError.renderContent(Q["error-occured"],this.callBackUrl),this.showErrorIcon(),new Error(t)})}render(e,t){this.mainScreen.mountScreen(this.merchantPlanDetail,this.currency,e,t)}async updateMethodsOptionsTexts(e){let t=[],i=[];for(let o of e)switch(o){case"card":t.push(this.rawPaymentMethodTexts["pay-card"]),i.push("pay-card");break;case"bank_transfer":t.push(this.rawPaymentMethodTexts["pay-transfer"]),i.push("pay-transfer");break;case"mobile_money":t.push(this.rawPaymentMethodTexts["pay-momo"]),i.push("pay-momo");break;case"eft":t.push(this.rawPaymentMethodTexts["pay-eft"]),i.push("pay-eft");break;case"pay_with_opay":t.push(this.rawPaymentMethodTexts["pay-with-opay"]),i.push("pay-with-opay");break}const s=await q(t,A==null?void 0:A.language);this.translatedPMTexts=s.reduce((o,a,l)=>{const c=i[l];return o[c]=a,o},{}),ct("card",this.translatedPMTexts["pay-card"]),ct("bank_transfer",this.translatedPMTexts["pay-transfer"]),ct("mobile_money",this.translatedPMTexts["pay-momo"]),ct("eft",this.translatedPMTexts["pay-eft"]),ct("pay_with_opay",this.translatedPMTexts["pay-with-opay"])}showErrorIcon(){var t;const e=this.mainLayout.querySelector("#shared-error-container");e&&(e.classList.remove("hidden"),e.parentElement.classList.add("mx-auto"),e.classList.add("flex","flex-col","items-center","gap-2"),(t=e.querySelector("img"))==null||t.setAttribute("src",xc))}closeModal(){this.modalContainer&&this.modalContainer.parentNode&&document.body.removeChild(this.modalContainer),this.mainScreen.closeModal()}}Ke.CheckoutForm=Mc,Object.defineProperty(Ke,Symbol.toStringTag,{value:"Module"})});
|