@spot-flow/checkout-inline-js 0.1.44 → 0.1.45
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 +953 -975
- package/dist/checkout-inline.js +245 -245
- package/package.json +1 -1
package/dist/checkout-inline.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(De,Ae){typeof exports=="object"&&typeof module<"u"?Ae(exports):typeof define=="function"&&define.amd?define(["exports"],Ae):(De=typeof globalThis<"u"?globalThis:De||self,Ae(De.SpotflowCheckout={}))})(this,function(De){"use strict";var wc=Object.defineProperty;var kc=(De,Ae,En)=>Ae in De?wc(De,Ae,{enumerable:!0,configurable:!0,writable:!0,value:En}):De[Ae]=En;var h=(De,Ae,En)=>kc(De,typeof Ae!="symbol"?Ae+"":Ae,En);var Ae=document.createElement("style");Ae.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}.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))}.transfer-close{margin-bottom:1rem;width:200px;border-radius:.5rem;background-color:hsl(var(--success));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#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 .order-1{order:1}#checkout-modal .order-2{order:2}#checkout-modal .mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .mx-\\[18px\\]{margin-left:18px;margin-right:18px}#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-7{margin-bottom:1.75rem}#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-3{height:.75rem}#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-3{width:.75rem}#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-\\[200px\\]{width:200px}#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-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-full{border-radius:9999px}#checkout-modal .rounded-lg{border-radius:.5rem}#checkout-modal .rounded-md{border-radius:.375rem}#checkout-modal .border,#checkout-modal .border-\\[1px\\]{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-\\[\\#C0B5CF\\]{--tw-border-opacity: 1;border-color:rgb(192 181 207 / var(--tw-border-opacity))}#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-primary{border-color:hsl(var(--primary))}#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-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\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}#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}}
|
|
1
|
+
(function(De,Ae){typeof exports=="object"&&typeof module<"u"?Ae(exports):typeof define=="function"&&define.amd?define(["exports"],Ae):(De=typeof globalThis<"u"?globalThis:De||self,Ae(De.SpotflowCheckout={}))})(this,function(De){"use strict";var yc=Object.defineProperty;var Cc=(De,Ae,En)=>Ae in De?yc(De,Ae,{enumerable:!0,configurable:!0,writable:!0,value:En}):De[Ae]=En;var h=(De,Ae,En)=>Cc(De,typeof Ae!="symbol"?Ae+"":Ae,En);var Ae=document.createElement("style");Ae.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}.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))}.transfer-close{margin-bottom:1rem;width:200px;border-radius:.5rem;background-color:hsl(var(--success));padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#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 .order-1{order:1}#checkout-modal .order-2{order:2}#checkout-modal .mx-5{margin-left:1.25rem;margin-right:1.25rem}#checkout-modal .mx-\\[18px\\]{margin-left:18px;margin-right:18px}#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-7{margin-bottom:1.75rem}#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-3{height:.75rem}#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-3{width:.75rem}#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-\\[200px\\]{width:200px}#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-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-full{border-radius:9999px}#checkout-modal .rounded-lg{border-radius:.5rem}#checkout-modal .rounded-md{border-radius:.375rem}#checkout-modal .border,#checkout-modal .border-\\[1px\\]{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-\\[\\#C0B5CF\\]{--tw-border-opacity: 1;border-color:rgb(192 181 207 / var(--tw-border-opacity))}#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-primary{border-color:hsl(var(--primary))}#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-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\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}#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
2
|
`,document.head.appendChild(Ae);const En=`<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>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
|
-
</div>`,
|
|
16
|
+
</div>`,Ss=`<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>`,ve=(n,e)=>e||n;let Y=class extends Error{constructor(e,i){super(e),this.status=i,this.name="FetchError"}},Be=class extends Error{constructor(e){super(e),this.name="AuthorizationError"}};const Oe=(n,e,i)=>{if(!n)throw new Be("Missing authorization token");const t=new Headers;return i||t.append("Content-Type","application/json"),t.append("Authorization",`Bearer ${n}`),e&&t.append("Spotflow-Payment-Code",e),t},Ue="https://api.spotflow.co/api/v1",
|
|
49
|
+
</div>`,ve=(n,e)=>e||n;let Y=class extends Error{constructor(e,i){super(e),this.status=i,this.name="FetchError"}},Be=class extends Error{constructor(e){super(e),this.name="AuthorizationError"}};const Oe=(n,e,i)=>{if(!n)throw new Be("Missing authorization token");const t=new Headers;return i||t.append("Content-Type","application/json"),t.append("Authorization",`Bearer ${n}`),e&&t.append("Spotflow-Payment-Code",e),t},Ue="https://api.spotflow.co/api/v1",_s=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/payments`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const l=await s.json();throw l.message?l:new Y("Network response was not ok",s.status)}return{data:await s.json(),headers:s.headers}}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}},di=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/payments/authorize`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const l=await s.json();throw l.message?l:new Y("Network response was not ok",s.status)}return{data:await s.json(),headers:s.headers}}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}},Bt=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/payments`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const l=await s.json();throw l.message?l:new Y("Network response was not ok",s.status)}return{data:await s.json(),headers:s.headers}}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}},Ms=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/payments`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const l=await s.json();throw l.message?new Y(l.message,s.status):new Y("Network response was not ok",s.status)}return{data:await s.json(),headers:s.headers}}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`UnexpectedError: ${o}`),o}},an=async(n,e,i,t,o)=>{try{const s=Oe(n,t),a=await fetch(`${ve(Ue,o)}/payments/verify?reference=${e}`,{method:"GET",headers:s,signal:i});if(!a.ok){const d=await a.json();throw d.message?new Y(d.message,a.status):new Y("Network response was not ok",a.status)}return{data:await a.json(),headers:a.headers}}catch(s){throw s instanceof Y?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Be?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}};async function As(n,e,i,t,o){const s=Oe(n,i);try{const a=await fetch(`${ve(Ue,t)}/mobile-money/providers?currency=${o||e}`,{headers:s,method:"GET"});if(!a.ok){const l=await a.json();throw l.message?new Y(l.message,a.status):new Y("Network response was not okay",a.status)}return await a.json()}catch(a){throw a instanceof Y?console.error(`FetchError: ${a.message} (status: ${a.status})`):a instanceof Be?console.error(`AuthorizationError: ${a.message}`):console.error(`Unexpected error: ${a}`),a}}const xs=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/payments/cancel`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const a=await s.json();throw a.message?new Y(a.message,s.status):new Y("Network response was not ok",s.status)}return{headers:s.headers}}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}},Ls=async(n,e,i,t)=>{try{const o=Oe(n,i,!0),s=await fetch(`${ve(Ue,t)}/disputes/upload-documents`,{method:"POST",headers:o,body:e});if(!s.ok){const a=await s.json();throw a.message?new Y(a.message,s.status):new Y("Network response was not ok",s.status)}return s.json()}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}},Ts=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/disputes/reference`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const a=await s.json();throw a.message?new Y(a.message,s.status):new Y("Network response was not ok",s.status)}return s.json()}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}},ci=async(n,e,i,t)=>{try{const o=Oe(n,i),s=await fetch(`${ve(Ue,t)}/payments/retry`,{method:"POST",headers:o,body:JSON.stringify(e)});if(!s.ok){const l=await s.json();throw l.message?l:new Y("Network response was not ok",s.status)}return{data:await s.json(),headers:s.headers}}catch(o){throw o instanceof Y?console.error(`FetchError: ${o.message} (status: ${o.status})`):o instanceof Be?console.error(`AuthorizationError: ${o.message}`):console.error(`Unexpected error: ${o}`),o}};async function Es(n,e,i,t,o){try{const s=Oe(n,t),a=await fetch(`${ve(Ue,o)}/payments/tax-quotes?amount=${e||""}¤cy=${i||""}`,{headers:s,method:"GET"});if(!a.ok){const l=await a.json();throw l.message?new Y(l.message,a.status):new Y("Network response was not ok",a.status)}return a.json()}catch(s){throw s instanceof Y?console.error(`FetchError: ${s.message} (status: ${s.status})`):s instanceof Be?console.error(`AuthorizationError: ${s.message}`):console.error(`Unexpected error: ${s}`),s}}const xe=(n,e)=>{const i=new Intl.NumberFormat("ng-NG",{style:"decimal",maximumFractionDigits:e||0,minimumFractionDigits:e||0});return isNaN(parseFloat(i.format(n)))?"-":i.format(n)},be={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"/>
|
|
@@ -386,7 +386,7 @@
|
|
|
386
386
|
</defs>
|
|
387
387
|
</svg>
|
|
388
388
|
|
|
389
|
-
`}],
|
|
389
|
+
`}],Ps=`<div>
|
|
390
390
|
<form id="checkoutcard">
|
|
391
391
|
<div>
|
|
392
392
|
<div class="container-between">
|
|
@@ -413,14 +413,14 @@
|
|
|
413
413
|
</div>
|
|
414
414
|
</div>
|
|
415
415
|
|
|
416
|
-
<div class="relative w-
|
|
417
|
-
<div class="w-4/5 md:w-3/5
|
|
416
|
+
<div class="relative w-16 md:w-20">
|
|
417
|
+
<div class="w-4/5 md:w-3/5">
|
|
418
418
|
<input class="details-input-container" type="tel" id="card-expiry" name="expiry" placeholder="MM/YY"
|
|
419
419
|
required minlength="5" />
|
|
420
420
|
</div>
|
|
421
421
|
</div>
|
|
422
422
|
|
|
423
|
-
<div class="relative w-
|
|
423
|
+
<div class="relative w-14 md:w-16">
|
|
424
424
|
<div class="w-4/5 md:w-3/5 ml-auto">
|
|
425
425
|
<input class="details-input-container" type="tel" id="card-cvv" name="cvv" placeholder="CVV" required
|
|
426
426
|
minlength="3" />
|
|
@@ -472,21 +472,21 @@
|
|
|
472
472
|
accordance with their terms.
|
|
473
473
|
</p>
|
|
474
474
|
</div>
|
|
475
|
-
</div>`,
|
|
475
|
+
</div>`,Is=()=>{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()},ui=(n="")=>n.replace(/\D+/g,""),Ds=n=>n.replace(/\D/g,""),Bs=n=>n.replace(/\D/g,"").replace(/(\d{4})(?=\d)/g,"$1 ").trim(),Ns=n=>ui(n).slice(0,3),Hs=n=>{const e=ui(n);return e.length>=3?`${e.slice(0,2)}/${e.slice(2,4)}`:e},zn=n=>{const e=Math.floor(n/60),i=n%60;return`${String(e).padStart(2,"0")}:${String(i).padStart(2,"0")}`},Rs=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[i,t]of Object.entries(e))if(t.test(n))return i;return"Unknown"},Os={Visa:[16],MasterCard:[16],"American Express":[15],Discover:[16],UnionPay:[16],Verve:[16,17,18,19]},pn=class pn{};h(pn,"createToast",(e,i)=>{const t=document.createElement("div");t.classList.add("toast",i,"grid","grid-cols-[1fr_auto]");const o=document.createElement("span");o.classList.add("flex","items-center","gap-2","text-[10px]","justify-self-center"),o.innerHTML=["error","warning","info"].includes(i)?`<svg class=" inline-block mr-1" width="18" height="19" viewBox="0 0 18 19" fill="none"
|
|
476
476
|
xmlns="http://www.w3.org/2000/svg">
|
|
477
477
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
478
478
|
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"
|
|
479
479
|
fill="white" />
|
|
480
480
|
</svg>
|
|
481
|
-
<span id="custom-toast-msg">${e}</span>`:e,t.appendChild(o);const s=document.createElement("span");return s.textContent="×",s.classList.add("close-btn","opacity-0"),s.onclick=()=>pn.removeToast(t),t.appendChild(s),t}),h(pn,"showToast",(e,i,t=3e3)=>{const o=document.getElementById("toast-container");if(o){const s=pn.createToast(e,i);o.appendChild(s),s.offsetHeight,s.classList.add("show"),setTimeout(()=>pn.removeToast(s),t)}}),h(pn,"removeToast",e=>{e.classList.remove("show"),e.addEventListener("transitionend",()=>{e.parentElement&&e.parentElement.removeChild(e)})});let hi=pn;class Ht{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=[...Nt],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 i=document.querySelector('input[name="number"]'),t=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");i&&i.addEventListener("input",d=>this.handleInputChange(d,a)),t&&t.addEventListener("input",d=>this.handleInputChange(d,a)),o&&o.addEventListener("input",d=>this.handleInputChange(d,a)),s&&s.addEventListener("input",d=>this.handleInputChange(d,a)),l&&l.addEventListener("submit",d=>{var v,p,g;d.preventDefault(),this.onAction(d)({pan:
|
|
481
|
+
<span id="custom-toast-msg">${e}</span>`:e,t.appendChild(o);const s=document.createElement("span");return s.textContent="×",s.classList.add("close-btn","opacity-0"),s.onclick=()=>pn.removeToast(t),t.appendChild(s),t}),h(pn,"showToast",(e,i,t=3e3)=>{const o=document.getElementById("toast-container");if(o){const s=pn.createToast(e,i);o.appendChild(s),s.offsetHeight,s.classList.add("show"),setTimeout(()=>pn.removeToast(s),t)}}),h(pn,"removeToast",e=>{e.classList.remove("show"),e.addEventListener("transitionend",()=>{e.parentElement&&e.parentElement.removeChild(e)})});let hi=pn;class Ht{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=[...Nt],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 i=document.querySelector('input[name="number"]'),t=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");i&&i.addEventListener("input",d=>this.handleInputChange(d,a)),t&&t.addEventListener("input",d=>this.handleInputChange(d,a)),o&&o.addEventListener("input",d=>this.handleInputChange(d,a)),s&&s.addEventListener("input",d=>this.handleInputChange(d,a)),l&&l.addEventListener("submit",d=>{var v,p,g;d.preventDefault(),this.onAction(d)({pan:Ds(this.cardDetailsValues.number),cvv:this.cardDetailsValues.cvv,expiryMonth:(v=this.cardDetailsValues)==null?void 0:v.expiry.split("/")[0].trim(),expiryYear:(p=this.cardDetailsValues)==null?void 0:p.expiry.split("/")[1].trim(),...this.currency==="ZAR"&&{cardHolderName:(g=this.cardDetailsValues)==null?void 0:g.name}})})}validateCreditCard(e){if(e=e.replace(/\D/g,""),!e||e.length===0||e.length<13||e.length>19)return!1;const i=e.split("").map(o=>parseInt(o,10));for(let o=i.length-2;o>=0;o-=2){let s=i[o]*2;s>9&&(s-=9),i[o]=s}return i.reduce((o,s)=>o+s,0)%10===0}handleInputChange(e,i){var l,d,v;const t=e.target,{name:o,value:s}=t;let a=s;if(s.trim()===""){this.emptyCardState(t,o);return}if(o==="number"){a=Bs(s);const p=a.replace(/\s+/g,""),g=this.validateCreditCard(p);this.filterCreditCardType(s);const f=(l=this.creditCardTypes[0])==null?void 0:l.name;f&&Pn.map(y=>{if(y.name===this.currency)if(y.cardTypes.includes(f)){const k=Os[f];if(k.length>1){const C=k.some(S=>p.length===S);this.checkInputValidity(g,t,"Your card number is invalid",C)}else p.length===k[0]&&this.checkInputValidity(g,t,"Your card number is invalid",p.length>=14&&p.length<=19)}else this.checkInputValidity(!1,t,"Invalid card. Only locally issued cards are accepted.",s.trim().length>=14&&s.trim().length<=19)})}else if(o==="expiry"){const p=new Date;a=Hs(s);const g=a.split("/"),f=(d=g[0])==null?void 0:d.trim(),y=(v=g[1])==null?void 0:v.trim(),k=new Date().getFullYear()%100,C=p.getMonth()+1;let S=!0;(parseInt(y)===k&&parseInt(f)<C||parseInt(y)<k)&&(S=!1),(y==null?void 0:y.length)===2&&this.checkInputValidity(S,t,"Your card has expired",g.join("").length===4)}else o==="cvv"?a=Ns(s):o==="name"&&(a=s);if(this.cardDetailsValues={...this.cardDetailsValues,[o]:a},t.value=a,this.validateCard())i&&i.removeAttribute("disabled");else if(i){if(i.disabled)return;i.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(i=>{const t=document.createElement("div");t.classList.add("card-type"),t.innerHTML=i.icon,e.appendChild(t)}):e.innerHTML=`<svg width="25" height="16" viewBox="0 0 25 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
482
482
|
<path
|
|
483
483
|
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"
|
|
484
484
|
fill="#B6B4B9" />
|
|
485
|
-
</svg>`})}filterCreditCardType(e){e?(this.creditCardTypes=Nt.filter(i=>i.name===
|
|
485
|
+
</svg>`})}filterCreditCardType(e){e?(this.creditCardTypes=Nt.filter(i=>i.name===Rs(e)),this.displayCardTypes()):(this.creditCardTypes=[],this.displayCardTypes())}emptyCardState(e,i){e.style.border="";const t=document.getElementById("card-number-error"),o=document.getElementById("expiry-error"),s=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")),o&&o.remove(),t&&t.remove(),this.cardDetailsValues={...this.cardDetailsValues,[i]:""},i==="number"&&(s.innerHTML=`<svg width="25" height="16" viewBox="0 0 25 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
486
486
|
<path
|
|
487
487
|
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"
|
|
488
488
|
fill="#B6B4B9" />
|
|
489
|
-
</svg>`),i==="expiry"&&e.value.length===0){const d=document.querySelector('input[name="number"]');d==null||d.focus()}if(i==="cvv"&&e.value.length===0){const d=document.querySelector('input[name="expiry"]');d==null||d.focus()}}checkInputValidity(e,i,t,o){const s=document.querySelector("#card-details"),a=document.querySelector("#card-error"),{name:l}=i;if(!e)s&&(s.style.border="1px solid #D62020"),a&&(a.classList.remove("hidden"),a.classList.add("block"),a.innerHTML=t),i.style.color="#D62020";else if(s&&(s.style.border="1px solid #9E9BA1"),a&&(a.classList.remove("block"),a.classList.add("hidden")),i.style.color="#0D0716",o){if(l==="number"){const d=document.querySelector('input[name="expiry"]');d==null||d.focus()}if(l==="expiry"){const d=document.querySelector('input[name="cvv"]');d==null||d.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
|
|
489
|
+
</svg>`),i==="expiry"&&e.value.length===0){const d=document.querySelector('input[name="number"]');d==null||d.focus()}if(i==="cvv"&&e.value.length===0){const d=document.querySelector('input[name="expiry"]');d==null||d.focus()}}checkInputValidity(e,i,t,o){const s=document.querySelector("#card-details"),a=document.querySelector("#card-error"),{name:l}=i;if(!e)s&&(s.style.border="1px solid #D62020"),a&&(a.classList.remove("hidden"),a.classList.add("block"),a.innerHTML=t),i.style.color="#D62020";else if(s&&(s.style.border="1px solid #9E9BA1"),a&&(a.classList.remove("block"),a.classList.add("hidden")),i.style.color="#0D0716",o){if(l==="number"){const d=document.querySelector('input[name="expiry"]');d==null||d.focus()}if(l==="expiry"){const d=document.querySelector('input[name="cvv"]');d==null||d.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 Ps}}async function Us(n,e){const i=Uint8Array.from(atob(e),d=>d.charCodeAt(0)),t=crypto.getRandomValues(new Uint8Array(12)),o=new TextEncoder().encode(n),s=await crypto.subtle.importKey("raw",i,{name:"AES-GCM"},!1,["encrypt"]),a=await crypto.subtle.encrypt({name:"AES-GCM",iv:t},s,o),l=new Uint8Array(t.length+a.byteLength);return l.set(t),l.set(new Uint8Array(a),t.length),btoa(String.fromCharCode.apply(null,l))}const Vs=`<div id="paymentSuccess">
|
|
490
490
|
<div class="container-center min-h-[30dvh]">
|
|
491
491
|
<div>
|
|
492
492
|
<div class="container-center mb-5">
|
|
@@ -504,7 +504,7 @@
|
|
|
504
504
|
</p>
|
|
505
505
|
</div>
|
|
506
506
|
</div>
|
|
507
|
-
</div>`;class qn{constructor({container:e,amount:i,currency:t,localCurrency:o,rate:s,message:a}){h(this,"container");h(this,"amount");h(this,"currency");h(this,"localCurrency");h(this,"rate");h(this,"message");this.container=e,this.amount=i,this.currency=t,this.localCurrency=o,this.rate=s,this.message=a}renderComponent(){this.container.innerHTML=this.render();const e=document.querySelector("#success-amount"),i=document.querySelector("#payment-success-text");i&&(this.message?i.innerHTML=this.message:i.innerHTML="Payment Successful"),e&&(e.innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${xe(this.amount)}`)}render(){return
|
|
507
|
+
</div>`;class qn{constructor({container:e,amount:i,currency:t,localCurrency:o,rate:s,message:a}){h(this,"container");h(this,"amount");h(this,"currency");h(this,"localCurrency");h(this,"rate");h(this,"message");this.container=e,this.amount=i,this.currency=t,this.localCurrency=o,this.rate=s,this.message=a}renderComponent(){this.container.innerHTML=this.render();const e=document.querySelector("#success-amount"),i=document.querySelector("#payment-success-text");i&&(this.message?i.innerHTML=this.message:i.innerHTML="Payment Successful"),e&&(e.innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${xe(this.amount)}`)}render(){return Vs}}const Rt=`<div id="paymentWarning">
|
|
508
508
|
<div class="container-center min-h-[30dvh]">
|
|
509
509
|
<div>
|
|
510
510
|
<div class="container-center mb-5">
|
|
@@ -535,7 +535,7 @@
|
|
|
535
535
|
</div> -->
|
|
536
536
|
</div>
|
|
537
537
|
</div>
|
|
538
|
-
</div>`;class gn{constructor({container:e,onAction:i,onReportIssue:t}){h(this,"container");h(this,"onAction");h(this,"onReportIssue");this.container=e,this.onAction=i||(()=>null),this.onReportIssue=t||(()=>null)}attachListener(){const e=this.container.querySelector("#try-again"),i=this.container.querySelector("#report-issue");e&&e.addEventListener("click",()=>{this.onAction&&this.onAction()}),i&&i.addEventListener("click",()=>{this.onReportIssue&&this.onReportIssue()})}setPaymentError(e,i,t){const o=this.container.querySelector("#payment-warning-text"),s=this.container.querySelector("#payment-warning-desc"),a=this.container.querySelector("#try-again");o&&(o.textContent=e),s&&i&&(s.textContent=i),a&&t&&(a.textContent=t),this.attachListener()}hideReportIssue(){const e=this.container.querySelector("#report-issue");e&&(e.style.display="none")}renderComponent(){this.container.innerHTML=this.render()}render(){return Rt}}const
|
|
538
|
+
</div>`;class gn{constructor({container:e,onAction:i,onReportIssue:t}){h(this,"container");h(this,"onAction");h(this,"onReportIssue");this.container=e,this.onAction=i||(()=>null),this.onReportIssue=t||(()=>null)}attachListener(){const e=this.container.querySelector("#try-again"),i=this.container.querySelector("#report-issue");e&&e.addEventListener("click",()=>{this.onAction&&this.onAction()}),i&&i.addEventListener("click",()=>{this.onReportIssue&&this.onReportIssue()})}setPaymentError(e,i,t){const o=this.container.querySelector("#payment-warning-text"),s=this.container.querySelector("#payment-warning-desc"),a=this.container.querySelector("#try-again");o&&(o.textContent=e),s&&i&&(s.textContent=i),a&&t&&(a.textContent=t),this.attachListener()}hideReportIssue(){const e=this.container.querySelector("#report-issue");e&&(e.style.display="none")}renderComponent(){this.container.innerHTML=this.render()}render(){return Rt}}const js=`<div id="checkoutcardotp">
|
|
539
539
|
<div class="w-full">
|
|
540
540
|
<div id="otp-content" class=" grid gap-4">
|
|
541
541
|
<h5 class="text-black" id="otp-message">
|
|
@@ -567,11 +567,11 @@
|
|
|
567
567
|
</div>
|
|
568
568
|
</div>
|
|
569
569
|
</div>
|
|
570
|
-
</div>`;class
|
|
570
|
+
</div>`;class Ks{constructor(e){h(this,"container");h(this,"cardOtp");h(this,"onClose");h(this,"onAction");h(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"),i=this.container.querySelector(".otp-button"),t=this.container.querySelector("#cancel-payment");e&&e.addEventListener("input",o=>this.handleOtpInput(o,i)),i&&i.addEventListener("click",o=>{this.onAction(o)(this.cardOtp)}),t&&t.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">
|
|
571
571
|
<path
|
|
572
572
|
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"
|
|
573
573
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
574
|
-
</svg>`),t&&t.classList.add("hidden"),i&&i.setAttribute("disabled","true"),e&&(e.value="",this.cardOtp="",e.setAttribute("disabled","true")),this.onClose(!1)})}handleOtpInput(e,i){const t=e.target,o=e.data;o&&this.cardOtp.length<6?this.cardOtp+=o:e.inputType==="deleteContentBackward"&&(this.cardOtp=this.cardOtp.slice(0,-1)),t.value="*".repeat(this.cardOtp.length),this.cardOtp.length>=6&&i&&i.removeAttribute("disabled")}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#otp-message");e&&(e.innerHTML=this.otpMessage),this.attachListener()}render(){return
|
|
574
|
+
</svg>`),t&&t.classList.add("hidden"),i&&i.setAttribute("disabled","true"),e&&(e.value="",this.cardOtp="",e.setAttribute("disabled","true")),this.onClose(!1)})}handleOtpInput(e,i){const t=e.target,o=e.data;o&&this.cardOtp.length<6?this.cardOtp+=o:e.inputType==="deleteContentBackward"&&(this.cardOtp=this.cardOtp.slice(0,-1)),t.value="*".repeat(this.cardOtp.length),this.cardOtp.length>=6&&i&&i.removeAttribute("disabled")}renderComponent(){this.container.innerHTML=this.render();const e=this.container.querySelector("#otp-message");e&&(e.innerHTML=this.otpMessage),this.attachListener()}render(){return js}}const Fs=`<div id="checkoutcardpin">
|
|
575
575
|
<div>
|
|
576
576
|
<div id="pin-content" class="grid gap-4">
|
|
577
577
|
<h5>
|
|
@@ -599,11 +599,11 @@
|
|
|
599
599
|
</div>
|
|
600
600
|
</div>
|
|
601
601
|
</div>
|
|
602
|
-
</div>`;class
|
|
602
|
+
</div>`;class Gs{constructor(e){h(this,"container");h(this,"cardPin");h(this,"onAction");h(this,"onClose");h(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"));e.forEach((t,o)=>{t.addEventListener("input",s=>this.handlePinInputChange(s,o,e)),t.addEventListener("paste",s=>this.handlePinPaste(s,e))});const i=this.container.querySelector("#cancel-payment");i&&i.addEventListener("click",()=>{const t=this.container.querySelector("#pin-loader"),o=this.container.querySelector("#cancel-payment");t&&(t.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
603
603
|
<path
|
|
604
604
|
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"
|
|
605
605
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
606
|
-
</svg>`),o&&o.classList.add("hidden"),this.onClose(!1)})}handlePinPaste(e,i){var s;e.preventDefault(),this.cardPin="";const o=(((s=e.clipboardData)==null?void 0:s.getData("text").trim())||"").split("");i.forEach((a,l)=>{a.value=o[l]?"*":"",a.style.fontSize="1.5rem",a.style.fontWeight="bold",this.pinValues[l]=o[l]||""});for(let a=0;a<i.length;a++)if(!this.pinValues[a]){i[a].focus();break}this.cardPin=this.pinValues.join(""),this.onAction(this.cardPin)}handlePinInputChange(e,i,t){this.cardPin="";const o=e.target,s=o.value;s?(this.pinValues[i]=s,o.value="*",o.style.fontSize="1.5rem",o.style.fontWeight="bold",i<t.length-1&&t[i+1].focus()):i>0&&(this.pinValues[i]="",t[i-1].focus()),this.cardPin=this.pinValues.join(""),this.onAction(this.cardPin)}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return
|
|
606
|
+
</svg>`),o&&o.classList.add("hidden"),this.onClose(!1)})}handlePinPaste(e,i){var s;e.preventDefault(),this.cardPin="";const o=(((s=e.clipboardData)==null?void 0:s.getData("text").trim())||"").split("");i.forEach((a,l)=>{a.value=o[l]?"*":"",a.style.fontSize="1.5rem",a.style.fontWeight="bold",this.pinValues[l]=o[l]||""});for(let a=0;a<i.length;a++)if(!this.pinValues[a]){i[a].focus();break}this.cardPin=this.pinValues.join(""),this.onAction(this.cardPin)}handlePinInputChange(e,i,t){this.cardPin="";const o=e.target,s=o.value;s?(this.pinValues[i]=s,o.value="*",o.style.fontSize="1.5rem",o.style.fontWeight="bold",i<t.length-1&&t[i+1].focus()):i>0&&(this.pinValues[i]="",t[i-1].focus()),this.cardPin=this.pinValues.join(""),this.onAction(this.cardPin)}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return Fs}}const zs=`<form id="card-avs-form">
|
|
607
607
|
<div>
|
|
608
608
|
<h5 class="text-grey-400 font-semibold text-sm">Billing address</h5>
|
|
609
609
|
<div class="mt-2 mb-3 md:mb-5 border border-grey-100 rounded-lg p-3 grid grid-rows-1 gap-3">
|
|
@@ -683,7 +683,7 @@
|
|
|
683
683
|
<p class="text-xxs text-grey-100">
|
|
684
684
|
PCI DSS Certified
|
|
685
685
|
</p>
|
|
686
|
-
</div>`,Ws={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 Zs{constructor(e){h(this,"container");h(this,"onAction");h(this,"contactDetails");h(this,"countries",[]);h(this,"states",[]);this.container=e.container,this.onAction=e.onAction,this.countries=Ws.countries.map(i=>({label:i.name,value:i.name,state:i.states.map(t=>(t==null?void 0:t.name)||(t==null?void 0:t.state)||"")})),this.contactDetails={address:"",country:"",city:"",state:"",code:""}}attachListeners(){const e=this.container.querySelector("input[name='address']"),i=this.container.querySelector("select[name='country']"),t=this.container.querySelector("input[name='city']"),o=this.container.querySelector("select[name='state']"),s=this.container.querySelector("input[name='code']"),a=document.querySelector("#avs-form-button"),l=document.querySelector("#card-avs-form");e&&e.addEventListener("input",d=>this.handleInputChange(d,a)),t&&t.addEventListener("input",d=>this.handleInputChange(d,a)),o&&o.addEventListener("change",d=>this.handleInputChange(d,a)),i&&i.addEventListener("change",d=>{o?this.handleInputChange(d,a,o):this.handleInputChange(d,a)}),s&&s.addEventListener("input",d=>this.handleInputChange(d,a)),l&&l.addEventListener("submit",d=>{d.preventDefault(),this.onAction(d)({...this.contactDetails,address:this.contactDetails.address,country:this.contactDetails.country,city:this.contactDetails.city,state:this.contactDetails.state,code:this.contactDetails.code})})}handleInputChange(e,i,t){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})),t&&(t.innerHTML="",this.contactDetails.state="",this.states.forEach(v=>{const p=new Option(v.label,v.value);t.appendChild(p)})))}if(s==="state"&&(this.contactDetails.state=a),s==="city"&&(this.contactDetails.city=a),s==="code"&&(this.contactDetails.code=ui(a),l=ui(a)),o.value=l,this.validateCard())i&&i.removeAttribute("disabled");else if(i){if(i.disabled)return;i.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']"),i=this.container.querySelector("select[name='state']");if(e){const t=new Option("","",!0,!0);e.appendChild(t),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})),i&&(i.innerHTML="",this.contactDetails.state="",this.states.forEach(s=>{const a=new Option(s.label,s.value);i.appendChild(a)})))}this.attachListeners()}render(){return qs}}const Js=`<div class="py-3 w-full">
|
|
686
|
+
</div>`,qs={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 Ws{constructor(e){h(this,"container");h(this,"onAction");h(this,"contactDetails");h(this,"countries",[]);h(this,"states",[]);this.container=e.container,this.onAction=e.onAction,this.countries=qs.countries.map(i=>({label:i.name,value:i.name,state:i.states.map(t=>(t==null?void 0:t.name)||(t==null?void 0:t.state)||"")})),this.contactDetails={address:"",country:"",city:"",state:"",code:""}}attachListeners(){const e=this.container.querySelector("input[name='address']"),i=this.container.querySelector("select[name='country']"),t=this.container.querySelector("input[name='city']"),o=this.container.querySelector("select[name='state']"),s=this.container.querySelector("input[name='code']"),a=document.querySelector("#avs-form-button"),l=document.querySelector("#card-avs-form");e&&e.addEventListener("input",d=>this.handleInputChange(d,a)),t&&t.addEventListener("input",d=>this.handleInputChange(d,a)),o&&o.addEventListener("change",d=>this.handleInputChange(d,a)),i&&i.addEventListener("change",d=>{o?this.handleInputChange(d,a,o):this.handleInputChange(d,a)}),s&&s.addEventListener("input",d=>this.handleInputChange(d,a)),l&&l.addEventListener("submit",d=>{d.preventDefault(),this.onAction(d)({...this.contactDetails,address:this.contactDetails.address,country:this.contactDetails.country,city:this.contactDetails.city,state:this.contactDetails.state,code:this.contactDetails.code})})}handleInputChange(e,i,t){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})),t&&(t.innerHTML="",this.contactDetails.state="",this.states.forEach(v=>{const p=new Option(v.label,v.value);t.appendChild(p)})))}if(s==="state"&&(this.contactDetails.state=a),s==="city"&&(this.contactDetails.city=a),s==="code"&&(this.contactDetails.code=ui(a),l=ui(a)),o.value=l,this.validateCard())i&&i.removeAttribute("disabled");else if(i){if(i.disabled)return;i.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']"),i=this.container.querySelector("select[name='state']");if(e){const t=new Option("","",!0,!0);e.appendChild(t),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})),i&&(i.innerHTML="",this.contactDetails.state="",this.states.forEach(s=>{const a=new Option(s.label,s.value);i.appendChild(a)})))}this.attachListeners()}render(){return zs}}const Zs=`<div class="py-3 w-full">
|
|
687
687
|
<div class="container-center flex-col gap-4 h-[40dvh]" id="loader-container">
|
|
688
688
|
<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
689
689
|
<path
|
|
@@ -697,7 +697,7 @@
|
|
|
697
697
|
</div>
|
|
698
698
|
</div>
|
|
699
699
|
</div>
|
|
700
|
-
</div>`;class Ne{constructor(e){h(this,"container");this.container=e}renderContent(){return this.container}mountLoader(e){if(this.container.innerHTML=this.render(),e){const i=this.container.querySelector("#loader-container");i&&(i.style.height=e)}}unmountLoader(){const e=this.container.querySelector("#loader-container");e&&e.classList.add("hidden")}updateMessage(e,i){const t=this.container.querySelector("#loader-message");if(t&&(t.textContent=e,t.classList.remove("hidden")),i){const o=this.container.querySelector("#loader-sub-message");o&&(o.textContent=i,o.classList.remove("hidden"))}}renderComponent(){}render(){return
|
|
700
|
+
</div>`;class Ne{constructor(e){h(this,"container");this.container=e}renderContent(){return this.container}mountLoader(e){if(this.container.innerHTML=this.render(),e){const i=this.container.querySelector("#loader-container");i&&(i.style.height=e)}}unmountLoader(){const e=this.container.querySelector("#loader-container");e&&e.classList.add("hidden")}updateMessage(e,i){const t=this.container.querySelector("#loader-message");if(t&&(t.textContent=e,t.classList.remove("hidden")),i){const o=this.container.querySelector("#loader-sub-message");o&&(o.textContent=i,o.classList.remove("hidden"))}}renderComponent(){}render(){return Zs}}const Js=`<div class="relative gap-3 pb-5" id="transaction-issues-form">
|
|
701
701
|
<div class="border-b border-tone-70 pb-3 container-center">
|
|
702
702
|
|
|
703
703
|
<svg width="84" height="24" viewBox="0 0 84 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -884,7 +884,7 @@
|
|
|
884
884
|
</div>
|
|
885
885
|
</form>
|
|
886
886
|
</div>
|
|
887
|
-
</div>`;class
|
|
887
|
+
</div>`;class $s{constructor(e){h(this,"container");h(this,"formValues");h(this,"documents");h(this,"paymentResponse");h(this,"uploadEvidenceFile");h(this,"uploadRes");h(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 S,M;const e=this.container.querySelector("#trans-reference"),i=this.container.querySelector("#full-name"),t=this.container.querySelector("#email"),o=this.container.querySelector("#reason"),s=this.container.querySelector("#debited-select-field"),a=this.container.querySelector("#debited-select-label"),l=this.container.querySelector("#type-select-field"),d=this.container.querySelector("#type-select-label"),v=this.container.querySelector("#filee"),p=this.container.querySelector("#file-label"),g=this.container.querySelector("#file-text"),f=this.container.querySelector("#file-icon"),y=this.container.querySelector("#file-button"),k=this.container.querySelector("#form-button"),C=document.querySelector("#transaction-issues-form");e&&(e.value=((S=this.paymentResponse)==null?void 0:S.reference)||""),i&&i.addEventListener("input",A=>{this.handleInputChange(A,k)}),t&&(t.value=((M=this.paymentResponse.customer)==null?void 0:M.email)||""),o&&o.addEventListener("input",A=>{this.handleInputChange(A,k)}),s&&(s.value||a&&(a.classList.add("top-1/2"),a.classList.remove("inset-y-4")),s==null||s.addEventListener("change",A=>{this.handleInputChange(A,k),s.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||d&&(d.classList.add("top-1/2"),d.classList.remove("inset-y-4")),l==null||l.addEventListener("change",A=>{this.handleInputChange(A,k),l.value?d&&(d.classList.add("inset-y-4"),d.classList.remove("top-1/2")):d&&(d.classList.add("top-1/2"),d.classList.remove("inset-y-4"))})),v&&v.addEventListener("change",A=>{var I;A.preventDefault();const _=v.files,T=/(\.jpg|\.jpeg|\.png|\.pdf)$/i;if(_&&_.length)if(T.exec(_[0].name)){const K=_[0];y&&(y.innerHTML=`<span class="bg-primary text-white text-sm font-semibold py-2 px-3 rounded-md" id="upload-btn-text">
|
|
888
888
|
Uploading...
|
|
889
889
|
</span>`),setTimeout(async()=>{var G;this.uploadRes=await this.uploadEvidenceFile(K),(G=this.uploadRes)!=null&&G.url&&this.documents.push(this.uploadRes.url),_[0].name&&(p&&(p.textContent=this.uploadRes.message),g&&(g.textContent=`${_[0].name} | ${Math.floor(_[0].size/1024)} KB . ${new Date().toLocaleString("en-us",{day:"numeric",year:"numeric",month:"short"})}`),f&&(this.uploadRes.status==="error"?f.innerHTML=`<svg width="30" height="30" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
890
890
|
<rect x="10" y="11.6667" width="20" height="18.3333" fill="white"/>
|
|
@@ -909,7 +909,7 @@
|
|
|
909
909
|
stroke-linejoin="round" />
|
|
910
910
|
</svg>`),y.innerHTML=`<span class="bg-primary text-white text-sm font-semibold py-2 px-3 rounded-md" id="upload-btn-text">
|
|
911
911
|
Upload
|
|
912
|
-
</span>`,p&&(p.textContent="Tap to Upload"),g&&(g.textContent="PDF, PNG, JPG | 10MB max."))})}else return}),C&&C.addEventListener("submit",A=>{var T;A.preventDefault();const{reason:_}=this.formValues;this.onAction({transactionReference:(T=this.paymentResponse)==null?void 0:T.reference,reportingReason:_,disputeSource:"CUSTOMER",supportingDocuments:this.documents})})}handleInputChange(e,i){const t=e.target,{name:o,value:s}=t;if(this.formValues={...this.formValues,[o]:s},this.validateForm())i&&i.removeAttribute("disabled");else if(i){if(i.disabled)return;i.setAttribute("disabled","")}}validateForm(){return Object.values(this.formValues).every(i=>!!i)}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return
|
|
912
|
+
</span>`,p&&(p.textContent="Tap to Upload"),g&&(g.textContent="PDF, PNG, JPG | 10MB max."))})}else return}),C&&C.addEventListener("submit",A=>{var T;A.preventDefault();const{reason:_}=this.formValues;this.onAction({transactionReference:(T=this.paymentResponse)==null?void 0:T.reference,reportingReason:_,disputeSource:"CUSTOMER",supportingDocuments:this.documents})})}handleInputChange(e,i){const t=e.target,{name:o,value:s}=t;if(this.formValues={...this.formValues,[o]:s},this.validateForm())i&&i.removeAttribute("disabled");else if(i){if(i.disabled)return;i.setAttribute("disabled","")}}validateForm(){return Object.values(this.formValues).every(i=>!!i)}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return Js}}function Ze(n,e,i){const o=e.get("spf-redirect-url")||i;o&&setTimeout(()=>{const s=new URL(o);s.searchParams.append("status",n.status),s.searchParams.append("reference",n.reference),window.location.href=s.toString()},1800)}class mi{constructor(e){h(this,"container");h(this,"transactionIssuesForm");h(this,"_currentStep");h(this,"onAction");h(this,"url");h(this,"token");h(this,"rdtCode");h(this,"paymentResponse");h(this,"paymentResponseHeaders");h(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"),i=document.querySelector("#main-header"),t=document.querySelector("#main-content"),o=document.querySelector("#main-footer");e&&e.addEventListener("click",()=>{this.onAction(),i.style.display="block",t.classList.add("box-container"),o.style.display="block"})}uploadEvidenceFile(e){const i=new FormData;return i.append("file",e),Ls(this.token,i,this.rdtCode,this.url).then(t=>({message:"Upload successfully",status:"success",url:t.data})).catch(t=>({message:"Error uploading file. Please try again",status:"error",url:""}))}submitDisputeForm(e){Ts(this.token,e,this.rdtCode,this.url).then(t=>{this.container.innerHTML=this.renderSuccessComponent();const o=document.querySelector("#go-back-merchant");o&&o.addEventListener("click",()=>{Ze(this.paymentResponse,this.paymentResponseHeaders,this.callbackUrl)})}).catch(t=>{this.container.innerHTML=this.renderErrorComponent();const o=document.querySelector("#go-back-merchant");o&&o.addEventListener("click",()=>{Ze(this.paymentResponse,this.paymentResponseHeaders,this.callbackUrl)})})}renderSuccessComponent(){return`<div id="paymentSuccess">
|
|
913
913
|
<div class="container-center min-h-[40dvh]">
|
|
914
914
|
<div>
|
|
915
915
|
<div class="container-center mb-5">
|
|
@@ -950,9 +950,9 @@
|
|
|
950
950
|
|
|
951
951
|
</div>
|
|
952
952
|
</div>
|
|
953
|
-
</div>`}renderTransactionIssuesComponent(){const e=document.querySelector("#main-header"),i=document.querySelector("#main-content"),t=document.querySelector("#main-footer");switch(e&&(e.style.display="none"),i&&i.classList.remove("box-container"),t&&(t.style.display="none"),this.currentStep){case 1:this.transactionIssuesForm=new Ys({container:this.container,uploadEvidenceFile:this.uploadEvidenceFile.bind(this),onAction:this.submitDisputeForm.bind(this),paymentResponse:this.paymentResponse}),this.transactionIssuesForm.renderComponent();break}this.attachListener()}}var le;(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"})(le||(le={}));function Qs(n){return n.nodeType===n.ELEMENT_NODE}function Wn(n){const e=n==null?void 0:n.host;return(e==null?void 0:e.shadowRoot)===n}function Zn(n){return Object.prototype.toString.call(n)==="[object ShadowRoot]"}function Xs(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 ea(n){const{cssText:e}=n;if(e.split('"').length<3)return e;const i=["@import",`url(${JSON.stringify(n.href)})`];return n.layerName===""?i.push("layer"):n.layerName&&i.push(`layer(${n.layerName})`),n.supportsText&&i.push(`supports(${n.supportsText})`),n.media.length&&i.push(n.media.mediaText),i.join(" ")+";"}function pi(n){try{const e=n.rules||n.cssRules;return e?Xs(Array.from(e,Ot).join("")):null}catch{return null}}function Ot(n){let e;if(ia(n))try{e=pi(n.styleSheet)||ea(n)}catch{}else if(ta(n)&&n.selectorText.includes(":"))return na(n.cssText);return e||n.cssText}function na(n){const e=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return n.replace(e,"$1\\$2")}function ia(n){return"styleSheet"in n}function ta(n){return"selectorText"in n}class Ut{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(e){var i;if(!e)return-1;const t=(i=this.getMeta(e))===null||i===void 0?void 0:i.id;return t??-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 i=this.getId(e);this.idNodeMap.delete(i),e.childNodes&&e.childNodes.forEach(t=>this.removeNodeFromMap(t))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,i){const t=i.id;this.idNodeMap.set(t,e),this.nodeMetaMap.set(e,i)}replace(e,i){const t=this.getNode(e);if(t){const o=this.nodeMetaMap.get(t);o&&this.nodeMetaMap.set(i,o)}this.idNodeMap.set(e,i)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function oa(){return new Ut}function qi({element:n,maskInputOptions:e,tagName:i,type:t,value:o,maskInputFn:s}){let a=o||"";const l=t&&yn(t);return(e[i.toLowerCase()]||l&&e[l])&&(s?a=s(a,n):a="*".repeat(a.length)),a}function yn(n){return n.toLowerCase()}const Vt="__rrweb_original__";function sa(n){const e=n.getContext("2d");if(!e)return!0;const i=50;for(let t=0;t<n.width;t+=i)for(let o=0;o<n.height;o+=i){const s=e.getImageData,a=Vt in s?s[Vt]:s;if(new Uint32Array(a.call(e,t,o,Math.min(i,n.width-t),Math.min(i,n.height-o)).data.buffer).some(d=>d!==0))return!1}return!0}function Wi(n){const e=n.type;return n.hasAttribute("data-rr-is-password")?"password":e?yn(e):null}function jt(n,e){var i;let t;try{t=new URL(n,e??window.location.href)}catch{return null}const o=/\.([0-9a-z]+)(?:$)/i,s=t.pathname.match(o);return(i=s==null?void 0:s[1])!==null&&i!==void 0?i:null}let aa=1;const ra=new RegExp("[^a-z0-9-_:]"),Jn=-2;function Kt(){return aa++}function la(n){if(n instanceof HTMLFormElement)return"form";const e=yn(n.tagName);return ra.test(e)?"div":e}function da(n){let e="";return n.indexOf("//")>-1?e=n.split("/").slice(0,3).join("/"):e=n.split("/")[0],e=e.split("?")[0],e}let In,Ft;const ca=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ua=/^(?:[a-z+]+:)?\/\//i,ha=/^www\..*/i,ma=/^(data:)([^,]*),(.*)/i;function vi(n,e){return(n||"").replace(ca,(i,t,o,s,a,l)=>{const d=o||a||l,v=t||s||"";if(!d)return i;if(ua.test(d)||ha.test(d))return`url(${v}${d}${v})`;if(ma.test(d))return`url(${v}${d}${v})`;if(d[0]==="/")return`url(${v}${da(e)+d}${v})`;const p=e.split("/"),g=d.split("/");p.pop();for(const f of g)f!=="."&&(f===".."?p.pop():p.push(f));return`url(${v}${p.join("/")}${v})`})}const pa=/^[^ \t\n\r\u000c]+/,va=/^[, \t\n\r\u000c]+/;function ba(n,e){if(e.trim()==="")return e;let i=0;function t(s){let a;const l=s.exec(e.substring(i));return l?(a=l[0],i+=a.length,a):""}const o=[];for(;t(va),!(i>=e.length);){let s=t(pa);if(s.slice(-1)===",")s=Dn(n,s.substring(0,s.length-1)),o.push(s);else{let a="";s=Dn(n,s);let l=!1;for(;;){const d=e.charAt(i);if(d===""){o.push((s+a).trim());break}else if(l)d===")"&&(l=!1);else if(d===","){i+=1,o.push((s+a).trim());break}else d==="("&&(l=!0);a+=d,i+=1}}}return o.join(", ")}function Dn(n,e){if(!e||e.trim()==="")return e;const i=n.createElement("a");return i.href=e,i.href}function fa(n){return!!(n.tagName==="svg"||n.ownerSVGElement)}function Zi(){const n=document.createElement("a");return n.href="",n.href}function Gt(n,e,i,t){return t&&(i==="src"||i==="href"&&!(e==="use"&&t[0]==="#")||i==="xlink:href"&&t[0]!=="#"||i==="background"&&(e==="table"||e==="td"||e==="th")?Dn(n,t):i==="srcset"?ba(n,t):i==="style"?vi(t,Zi()):e==="object"&&i==="data"?Dn(n,t):t)}function zt(n,e,i){return(n==="video"||n==="audio")&&e==="autoplay"}function ga(n,e,i){try{if(typeof e=="string"){if(n.classList.contains(e))return!0}else for(let t=n.classList.length;t--;){const o=n.classList[t];if(e.test(o))return!0}if(i)return n.matches(i)}catch{}return!1}function bi(n,e,i){if(!n)return!1;if(n.nodeType!==n.ELEMENT_NODE)return i?bi(n.parentNode,e,i):!1;for(let t=n.classList.length;t--;){const o=n.classList[t];if(e.test(o))return!0}return i?bi(n.parentNode,e,i):!1}function qt(n,e,i,t){try{const o=n.nodeType===n.ELEMENT_NODE?n:n.parentElement;if(o===null)return!1;if(typeof e=="string"){if(t){if(o.closest(`.${e}`))return!0}else if(o.classList.contains(e))return!0}else if(bi(o,e,t))return!0;if(i){if(t){if(o.closest(i))return!0}else if(o.matches(i))return!0}}catch{}return!1}function ya(n,e,i){const t=n.contentWindow;if(!t)return;let o=!1,s;try{s=t.document.readyState}catch{return}if(s!=="complete"){const l=setTimeout(()=>{o||(e(),o=!0)},i);n.addEventListener("load",()=>{clearTimeout(l),o=!0,e()});return}const a="about:blank";if(t.location.href!==a||n.src===a||n.src==="")return setTimeout(e,0),n.addEventListener("load",e);n.addEventListener("load",e)}function Ca(n,e,i){let t=!1,o;try{o=n.sheet}catch{return}if(o)return;const s=setTimeout(()=>{t||(e(),t=!0)},i);n.addEventListener("load",()=>{clearTimeout(s),t=!0,e()})}function wa(n,e){const{doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:a,inlineStylesheet:l,maskInputOptions:d={},maskTextFn:v,maskInputFn:p,dataURLOptions:g={},inlineImages:f,recordCanvas:y,keepIframeSrcFn:k,newlyAddedElement:C=!1}=e,S=ka(i,t);switch(n.nodeType){case n.DOCUMENT_NODE:return n.compatMode!=="CSS1Compat"?{type:le.Document,childNodes:[],compatMode:n.compatMode}:{type:le.Document,childNodes:[]};case n.DOCUMENT_TYPE_NODE:return{type:le.DocumentType,name:n.name,publicId:n.publicId,systemId:n.systemId,rootId:S};case n.ELEMENT_NODE:return _a(n,{doc:i,blockClass:o,blockSelector:s,inlineStylesheet:l,maskInputOptions:d,maskInputFn:p,dataURLOptions:g,inlineImages:f,recordCanvas:y,keepIframeSrcFn:k,newlyAddedElement:C,rootId:S});case n.TEXT_NODE:return Sa(n,{needsMask:a,maskTextFn:v,rootId:S});case n.CDATA_SECTION_NODE:return{type:le.CDATA,textContent:"",rootId:S};case n.COMMENT_NODE:return{type:le.Comment,textContent:n.textContent||"",rootId:S};default:return!1}}function ka(n,e){if(!e.hasNode(n))return;const i=e.getId(n);return i===1?void 0:i}function Sa(n,e){var i;const{needsMask:t,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||!((i=n.parentNode.sheet)===null||i===void 0)&&i.cssRules&&(l=pi(n.parentNode.sheet))}catch(p){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${p}`,n)}l=vi(l,Zi())}return v&&(l="SCRIPT_PLACEHOLDER"),!d&&!v&&l&&t&&(l=o?o(l,n.parentElement):l.replace(/[\S]/g,"*")),{type:le.Text,textContent:l||"",isStyle:d,rootId:s}}function _a(n,e){const{doc:i,blockClass:t,blockSelector:o,inlineStylesheet:s,maskInputOptions:a={},maskInputFn:l,dataURLOptions:d={},inlineImages:v,recordCanvas:p,keepIframeSrcFn:g,newlyAddedElement:f=!1,rootId:y}=e,k=ga(n,t,o),C=la(n);let S={};const M=n.attributes.length;for(let _=0;_<M;_++){const T=n.attributes[_];zt(C,T.name,T.value)||(S[T.name]=Gt(i,C,yn(T.name),T.value))}if(C==="link"&&s){const _=Array.from(i.styleSheets).find(I=>I.href===n.href);let T=null;_&&(T=pi(_)),T&&(delete S.rel,delete S.href,S._cssText=vi(T,_.href))}if(C==="style"&&n.sheet&&!(n.innerText||n.textContent||"").trim().length){const _=pi(n.sheet);_&&(S._cssText=vi(_,Zi()))}if(C==="input"||C==="textarea"||C==="select"){const _=n.value,T=n.checked;S.type!=="radio"&&S.type!=="checkbox"&&S.type!=="submit"&&S.type!=="button"&&_?S.value=qi({element:n,type:Wi(n),tagName:C,value:_,maskInputOptions:a,maskInputFn:l}):T&&(S.checked=T)}if(C==="option"&&(n.selected&&!a.select?S.selected=!0:delete S.selected),C==="canvas"&&p){if(n.__context==="2d")sa(n)||(S.rr_dataURL=n.toDataURL(d.type,d.quality));else if(!("__context"in n)){const _=n.toDataURL(d.type,d.quality),T=document.createElement("canvas");T.width=n.width,T.height=n.height;const I=T.toDataURL(d.type,d.quality);_!==I&&(S.rr_dataURL=_)}}if(C==="img"&&v){In||(In=i.createElement("canvas"),Ft=In.getContext("2d"));const _=n,T=_.crossOrigin;_.crossOrigin="anonymous";const I=()=>{_.removeEventListener("load",I);try{In.width=_.naturalWidth,In.height=_.naturalHeight,Ft.drawImage(_,0,0),S.rr_dataURL=In.toDataURL(d.type,d.quality)}catch(K){console.warn(`Cannot inline img src=${_.currentSrc}! Error: ${K}`)}T?S.crossOrigin=T:_.removeAttribute("crossorigin")};_.complete&&_.naturalWidth!==0?I():_.addEventListener("load",I)}if(C==="audio"||C==="video"){const _=S;_.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(f||(n.scrollLeft&&(S.rr_scrollLeft=n.scrollLeft),n.scrollTop&&(S.rr_scrollTop=n.scrollTop)),k){const{width:_,height:T}=n.getBoundingClientRect();S={class:S.class,rr_width:`${_}px`,rr_height:`${T}px`}}C==="iframe"&&!g(S.src)&&(n.contentDocument||(S.rr_src=S.src),delete S.src);let A;try{customElements.get(C)&&(A=!0)}catch{}return{type:le.Element,tagName:C,attributes:S,childNodes:[],isSVG:fa(n)||void 0,needBlock:k,rootId:y,isCustom:A}}function ne(n){return n==null?"":n.toLowerCase()}function Ma(n,e){if(e.comment&&n.type===le.Comment)return!0;if(n.type===le.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"&&jt(n.attributes.href)==="js"))return!0;if(e.headFavicon&&(n.tagName==="link"&&n.attributes.rel==="shortcut icon"||n.tagName==="meta"&&(ne(n.attributes.name).match(/^msapplication-tile(image|color)$/)||ne(n.attributes.name)==="application-name"||ne(n.attributes.rel)==="icon"||ne(n.attributes.rel)==="apple-touch-icon"||ne(n.attributes.rel)==="shortcut icon")))return!0;if(n.tagName==="meta"){if(e.headMetaDescKeywords&&ne(n.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(ne(n.attributes.property).match(/^(og|twitter|fb):/)||ne(n.attributes.name).match(/^(og|twitter):/)||ne(n.attributes.name)==="pinterest"))return!0;if(e.headMetaRobots&&(ne(n.attributes.name)==="robots"||ne(n.attributes.name)==="googlebot"||ne(n.attributes.name)==="bingbot"))return!0;if(e.headMetaHttpEquiv&&n.attributes["http-equiv"]!==void 0)return!0;if(e.headMetaAuthorship&&(ne(n.attributes.name)==="author"||ne(n.attributes.name)==="generator"||ne(n.attributes.name)==="framework"||ne(n.attributes.name)==="publisher"||ne(n.attributes.name)==="progid"||ne(n.attributes.property).match(/^article:/)||ne(n.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(ne(n.attributes.name)==="google-site-verification"||ne(n.attributes.name)==="yandex-verification"||ne(n.attributes.name)==="csrf-token"||ne(n.attributes.name)==="p:domain_verify"||ne(n.attributes.name)==="verify-v1"||ne(n.attributes.name)==="verification"||ne(n.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Bn(n,e){const{doc:i,mirror:t,blockClass:o,blockSelector:s,maskTextClass:a,maskTextSelector:l,skipChild:d=!1,inlineStylesheet:v=!0,maskInputOptions:p={},maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k={},inlineImages:C=!1,recordCanvas:S=!1,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_=5e3,onStylesheetLoad:T,stylesheetLoadTimeout:I=5e3,keepIframeSrcFn:K=()=>!1,newlyAddedElement:G=!1}=e;let{needsMask:U}=e,{preserveWhiteSpace:F=!0}=e;!U&&n.childNodes&&(U=qt(n,a,l,U===void 0));const oe=wa(n,{doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:U,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,dataURLOptions:k,inlineImages:C,recordCanvas:S,keepIframeSrcFn:K,newlyAddedElement:G});if(!oe)return console.warn(n,"not serialized"),null;let ge;t.hasNode(n)?ge=t.getId(n):Ma(oe,y)||!F&&oe.type===le.Text&&!oe.isStyle&&!oe.textContent.replace(/^\s+|\s+$/gm,"").length?ge=Jn:ge=Kt();const V=Object.assign(oe,{id:ge});if(t.add(n,V),ge===Jn)return null;M&&M(n);let _e=!d;if(V.type===le.Element){_e=_e&&!V.needBlock,delete V.needBlock;const ue=n.shadowRoot;ue&&Zn(ue)&&(V.isShadowHost=!0)}if((V.type===le.Document||V.type===le.Element)&&_e){y.headWhitespace&&V.type===le.Element&&V.tagName==="head"&&(F=!1);const ue={doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:U,maskTextClass:a,maskTextSelector:l,skipChild:d,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k,inlineImages:C,recordCanvas:S,preserveWhiteSpace:F,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_,onStylesheetLoad:T,stylesheetLoadTimeout:I,keepIframeSrcFn:K};if(!(V.type===le.Element&&V.tagName==="textarea"&&V.attributes.value!==void 0))for(const Te of Array.from(n.childNodes)){const Me=Bn(Te,ue);Me&&V.childNodes.push(Me)}if(Qs(n)&&n.shadowRoot)for(const Te of Array.from(n.shadowRoot.childNodes)){const Me=Bn(Te,ue);Me&&(Zn(n.shadowRoot)&&(Me.isShadow=!0),V.childNodes.push(Me))}}return n.parentNode&&Wn(n.parentNode)&&Zn(n.parentNode)&&(V.isShadow=!0),V.type===le.Element&&V.tagName==="iframe"&&ya(n,()=>{const ue=n.contentDocument;if(ue&&A){const Te=Bn(ue,{doc:ue,mirror:t,blockClass:o,blockSelector:s,needsMask:U,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k,inlineImages:C,recordCanvas:S,preserveWhiteSpace:F,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_,onStylesheetLoad:T,stylesheetLoadTimeout:I,keepIframeSrcFn:K});Te&&A(n,Te)}},_),V.type===le.Element&&V.tagName==="link"&&typeof V.attributes.rel=="string"&&(V.attributes.rel==="stylesheet"||V.attributes.rel==="preload"&&typeof V.attributes.href=="string"&&jt(V.attributes.href)==="css")&&Ca(n,()=>{if(T){const ue=Bn(n,{doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:U,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k,inlineImages:C,recordCanvas:S,preserveWhiteSpace:F,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_,onStylesheetLoad:T,stylesheetLoadTimeout:I,keepIframeSrcFn:K});ue&&T(n,ue)}},I),V}function Aa(n,e){const{mirror:i=new Ut,blockClass:t="rr-block",blockSelector:o=null,maskTextClass:s="rr-mask",maskTextSelector:a=null,inlineStylesheet:l=!0,inlineImages:d=!1,recordCanvas:v=!1,maskAllInputs:p=!1,maskTextFn:g,maskInputFn:f,slimDOM:y=!1,dataURLOptions:k,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:M,iframeLoadTimeout:A,onStylesheetLoad:_,stylesheetLoadTimeout:T,keepIframeSrcFn:I=()=>!1}=e||{};return Bn(n,{doc:n,mirror:i,blockClass:t,blockSelector:o,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:l,maskInputOptions:p===!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}:p===!1?{password:!0}:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y===!0||y==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:y==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:y===!1?{}:y,dataURLOptions:k,inlineImages:d,recordCanvas:v,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:M,iframeLoadTimeout:A,onStylesheetLoad:_,stylesheetLoadTimeout:T,keepIframeSrcFn:I,newlyAddedElement:!1})}function ke(n,e,i=document){const t={capture:!0,passive:!0};return i.addEventListener(n,e,t),()=>i.removeEventListener(n,e,t)}const Nn=`Please stop import mirror directly. Instead of that,\r
|
|
953
|
+
</div>`}renderTransactionIssuesComponent(){const e=document.querySelector("#main-header"),i=document.querySelector("#main-content"),t=document.querySelector("#main-footer");switch(e&&(e.style.display="none"),i&&i.classList.remove("box-container"),t&&(t.style.display="none"),this.currentStep){case 1:this.transactionIssuesForm=new $s({container:this.container,uploadEvidenceFile:this.uploadEvidenceFile.bind(this),onAction:this.submitDisputeForm.bind(this),paymentResponse:this.paymentResponse}),this.transactionIssuesForm.renderComponent();break}this.attachListener()}}var le;(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"})(le||(le={}));function Ys(n){return n.nodeType===n.ELEMENT_NODE}function Wn(n){const e=n==null?void 0:n.host;return(e==null?void 0:e.shadowRoot)===n}function Zn(n){return Object.prototype.toString.call(n)==="[object ShadowRoot]"}function Qs(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 Xs(n){const{cssText:e}=n;if(e.split('"').length<3)return e;const i=["@import",`url(${JSON.stringify(n.href)})`];return n.layerName===""?i.push("layer"):n.layerName&&i.push(`layer(${n.layerName})`),n.supportsText&&i.push(`supports(${n.supportsText})`),n.media.length&&i.push(n.media.mediaText),i.join(" ")+";"}function pi(n){try{const e=n.rules||n.cssRules;return e?Qs(Array.from(e,Ot).join("")):null}catch{return null}}function Ot(n){let e;if(na(n))try{e=pi(n.styleSheet)||Xs(n)}catch{}else if(ia(n)&&n.selectorText.includes(":"))return ea(n.cssText);return e||n.cssText}function ea(n){const e=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return n.replace(e,"$1\\$2")}function na(n){return"styleSheet"in n}function ia(n){return"selectorText"in n}class Ut{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(e){var i;if(!e)return-1;const t=(i=this.getMeta(e))===null||i===void 0?void 0:i.id;return t??-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 i=this.getId(e);this.idNodeMap.delete(i),e.childNodes&&e.childNodes.forEach(t=>this.removeNodeFromMap(t))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,i){const t=i.id;this.idNodeMap.set(t,e),this.nodeMetaMap.set(e,i)}replace(e,i){const t=this.getNode(e);if(t){const o=this.nodeMetaMap.get(t);o&&this.nodeMetaMap.set(i,o)}this.idNodeMap.set(e,i)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function ta(){return new Ut}function qi({element:n,maskInputOptions:e,tagName:i,type:t,value:o,maskInputFn:s}){let a=o||"";const l=t&&yn(t);return(e[i.toLowerCase()]||l&&e[l])&&(s?a=s(a,n):a="*".repeat(a.length)),a}function yn(n){return n.toLowerCase()}const Vt="__rrweb_original__";function oa(n){const e=n.getContext("2d");if(!e)return!0;const i=50;for(let t=0;t<n.width;t+=i)for(let o=0;o<n.height;o+=i){const s=e.getImageData,a=Vt in s?s[Vt]:s;if(new Uint32Array(a.call(e,t,o,Math.min(i,n.width-t),Math.min(i,n.height-o)).data.buffer).some(d=>d!==0))return!1}return!0}function Wi(n){const e=n.type;return n.hasAttribute("data-rr-is-password")?"password":e?yn(e):null}function jt(n,e){var i;let t;try{t=new URL(n,e??window.location.href)}catch{return null}const o=/\.([0-9a-z]+)(?:$)/i,s=t.pathname.match(o);return(i=s==null?void 0:s[1])!==null&&i!==void 0?i:null}let sa=1;const aa=new RegExp("[^a-z0-9-_:]"),Jn=-2;function Kt(){return sa++}function ra(n){if(n instanceof HTMLFormElement)return"form";const e=yn(n.tagName);return aa.test(e)?"div":e}function la(n){let e="";return n.indexOf("//")>-1?e=n.split("/").slice(0,3).join("/"):e=n.split("/")[0],e=e.split("?")[0],e}let In,Ft;const da=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ca=/^(?:[a-z+]+:)?\/\//i,ua=/^www\..*/i,ha=/^(data:)([^,]*),(.*)/i;function vi(n,e){return(n||"").replace(da,(i,t,o,s,a,l)=>{const d=o||a||l,v=t||s||"";if(!d)return i;if(ca.test(d)||ua.test(d))return`url(${v}${d}${v})`;if(ha.test(d))return`url(${v}${d}${v})`;if(d[0]==="/")return`url(${v}${la(e)+d}${v})`;const p=e.split("/"),g=d.split("/");p.pop();for(const f of g)f!=="."&&(f===".."?p.pop():p.push(f));return`url(${v}${p.join("/")}${v})`})}const ma=/^[^ \t\n\r\u000c]+/,pa=/^[, \t\n\r\u000c]+/;function va(n,e){if(e.trim()==="")return e;let i=0;function t(s){let a;const l=s.exec(e.substring(i));return l?(a=l[0],i+=a.length,a):""}const o=[];for(;t(pa),!(i>=e.length);){let s=t(ma);if(s.slice(-1)===",")s=Dn(n,s.substring(0,s.length-1)),o.push(s);else{let a="";s=Dn(n,s);let l=!1;for(;;){const d=e.charAt(i);if(d===""){o.push((s+a).trim());break}else if(l)d===")"&&(l=!1);else if(d===","){i+=1,o.push((s+a).trim());break}else d==="("&&(l=!0);a+=d,i+=1}}}return o.join(", ")}function Dn(n,e){if(!e||e.trim()==="")return e;const i=n.createElement("a");return i.href=e,i.href}function ba(n){return!!(n.tagName==="svg"||n.ownerSVGElement)}function Zi(){const n=document.createElement("a");return n.href="",n.href}function Gt(n,e,i,t){return t&&(i==="src"||i==="href"&&!(e==="use"&&t[0]==="#")||i==="xlink:href"&&t[0]!=="#"||i==="background"&&(e==="table"||e==="td"||e==="th")?Dn(n,t):i==="srcset"?va(n,t):i==="style"?vi(t,Zi()):e==="object"&&i==="data"?Dn(n,t):t)}function zt(n,e,i){return(n==="video"||n==="audio")&&e==="autoplay"}function fa(n,e,i){try{if(typeof e=="string"){if(n.classList.contains(e))return!0}else for(let t=n.classList.length;t--;){const o=n.classList[t];if(e.test(o))return!0}if(i)return n.matches(i)}catch{}return!1}function bi(n,e,i){if(!n)return!1;if(n.nodeType!==n.ELEMENT_NODE)return i?bi(n.parentNode,e,i):!1;for(let t=n.classList.length;t--;){const o=n.classList[t];if(e.test(o))return!0}return i?bi(n.parentNode,e,i):!1}function qt(n,e,i,t){try{const o=n.nodeType===n.ELEMENT_NODE?n:n.parentElement;if(o===null)return!1;if(typeof e=="string"){if(t){if(o.closest(`.${e}`))return!0}else if(o.classList.contains(e))return!0}else if(bi(o,e,t))return!0;if(i){if(t){if(o.closest(i))return!0}else if(o.matches(i))return!0}}catch{}return!1}function ga(n,e,i){const t=n.contentWindow;if(!t)return;let o=!1,s;try{s=t.document.readyState}catch{return}if(s!=="complete"){const l=setTimeout(()=>{o||(e(),o=!0)},i);n.addEventListener("load",()=>{clearTimeout(l),o=!0,e()});return}const a="about:blank";if(t.location.href!==a||n.src===a||n.src==="")return setTimeout(e,0),n.addEventListener("load",e);n.addEventListener("load",e)}function ya(n,e,i){let t=!1,o;try{o=n.sheet}catch{return}if(o)return;const s=setTimeout(()=>{t||(e(),t=!0)},i);n.addEventListener("load",()=>{clearTimeout(s),t=!0,e()})}function Ca(n,e){const{doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:a,inlineStylesheet:l,maskInputOptions:d={},maskTextFn:v,maskInputFn:p,dataURLOptions:g={},inlineImages:f,recordCanvas:y,keepIframeSrcFn:k,newlyAddedElement:C=!1}=e,S=wa(i,t);switch(n.nodeType){case n.DOCUMENT_NODE:return n.compatMode!=="CSS1Compat"?{type:le.Document,childNodes:[],compatMode:n.compatMode}:{type:le.Document,childNodes:[]};case n.DOCUMENT_TYPE_NODE:return{type:le.DocumentType,name:n.name,publicId:n.publicId,systemId:n.systemId,rootId:S};case n.ELEMENT_NODE:return Sa(n,{doc:i,blockClass:o,blockSelector:s,inlineStylesheet:l,maskInputOptions:d,maskInputFn:p,dataURLOptions:g,inlineImages:f,recordCanvas:y,keepIframeSrcFn:k,newlyAddedElement:C,rootId:S});case n.TEXT_NODE:return ka(n,{needsMask:a,maskTextFn:v,rootId:S});case n.CDATA_SECTION_NODE:return{type:le.CDATA,textContent:"",rootId:S};case n.COMMENT_NODE:return{type:le.Comment,textContent:n.textContent||"",rootId:S};default:return!1}}function wa(n,e){if(!e.hasNode(n))return;const i=e.getId(n);return i===1?void 0:i}function ka(n,e){var i;const{needsMask:t,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||!((i=n.parentNode.sheet)===null||i===void 0)&&i.cssRules&&(l=pi(n.parentNode.sheet))}catch(p){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${p}`,n)}l=vi(l,Zi())}return v&&(l="SCRIPT_PLACEHOLDER"),!d&&!v&&l&&t&&(l=o?o(l,n.parentElement):l.replace(/[\S]/g,"*")),{type:le.Text,textContent:l||"",isStyle:d,rootId:s}}function Sa(n,e){const{doc:i,blockClass:t,blockSelector:o,inlineStylesheet:s,maskInputOptions:a={},maskInputFn:l,dataURLOptions:d={},inlineImages:v,recordCanvas:p,keepIframeSrcFn:g,newlyAddedElement:f=!1,rootId:y}=e,k=fa(n,t,o),C=ra(n);let S={};const M=n.attributes.length;for(let _=0;_<M;_++){const T=n.attributes[_];zt(C,T.name,T.value)||(S[T.name]=Gt(i,C,yn(T.name),T.value))}if(C==="link"&&s){const _=Array.from(i.styleSheets).find(I=>I.href===n.href);let T=null;_&&(T=pi(_)),T&&(delete S.rel,delete S.href,S._cssText=vi(T,_.href))}if(C==="style"&&n.sheet&&!(n.innerText||n.textContent||"").trim().length){const _=pi(n.sheet);_&&(S._cssText=vi(_,Zi()))}if(C==="input"||C==="textarea"||C==="select"){const _=n.value,T=n.checked;S.type!=="radio"&&S.type!=="checkbox"&&S.type!=="submit"&&S.type!=="button"&&_?S.value=qi({element:n,type:Wi(n),tagName:C,value:_,maskInputOptions:a,maskInputFn:l}):T&&(S.checked=T)}if(C==="option"&&(n.selected&&!a.select?S.selected=!0:delete S.selected),C==="canvas"&&p){if(n.__context==="2d")oa(n)||(S.rr_dataURL=n.toDataURL(d.type,d.quality));else if(!("__context"in n)){const _=n.toDataURL(d.type,d.quality),T=document.createElement("canvas");T.width=n.width,T.height=n.height;const I=T.toDataURL(d.type,d.quality);_!==I&&(S.rr_dataURL=_)}}if(C==="img"&&v){In||(In=i.createElement("canvas"),Ft=In.getContext("2d"));const _=n,T=_.crossOrigin;_.crossOrigin="anonymous";const I=()=>{_.removeEventListener("load",I);try{In.width=_.naturalWidth,In.height=_.naturalHeight,Ft.drawImage(_,0,0),S.rr_dataURL=In.toDataURL(d.type,d.quality)}catch(K){console.warn(`Cannot inline img src=${_.currentSrc}! Error: ${K}`)}T?S.crossOrigin=T:_.removeAttribute("crossorigin")};_.complete&&_.naturalWidth!==0?I():_.addEventListener("load",I)}if(C==="audio"||C==="video"){const _=S;_.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(f||(n.scrollLeft&&(S.rr_scrollLeft=n.scrollLeft),n.scrollTop&&(S.rr_scrollTop=n.scrollTop)),k){const{width:_,height:T}=n.getBoundingClientRect();S={class:S.class,rr_width:`${_}px`,rr_height:`${T}px`}}C==="iframe"&&!g(S.src)&&(n.contentDocument||(S.rr_src=S.src),delete S.src);let A;try{customElements.get(C)&&(A=!0)}catch{}return{type:le.Element,tagName:C,attributes:S,childNodes:[],isSVG:ba(n)||void 0,needBlock:k,rootId:y,isCustom:A}}function ne(n){return n==null?"":n.toLowerCase()}function _a(n,e){if(e.comment&&n.type===le.Comment)return!0;if(n.type===le.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"&&jt(n.attributes.href)==="js"))return!0;if(e.headFavicon&&(n.tagName==="link"&&n.attributes.rel==="shortcut icon"||n.tagName==="meta"&&(ne(n.attributes.name).match(/^msapplication-tile(image|color)$/)||ne(n.attributes.name)==="application-name"||ne(n.attributes.rel)==="icon"||ne(n.attributes.rel)==="apple-touch-icon"||ne(n.attributes.rel)==="shortcut icon")))return!0;if(n.tagName==="meta"){if(e.headMetaDescKeywords&&ne(n.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(ne(n.attributes.property).match(/^(og|twitter|fb):/)||ne(n.attributes.name).match(/^(og|twitter):/)||ne(n.attributes.name)==="pinterest"))return!0;if(e.headMetaRobots&&(ne(n.attributes.name)==="robots"||ne(n.attributes.name)==="googlebot"||ne(n.attributes.name)==="bingbot"))return!0;if(e.headMetaHttpEquiv&&n.attributes["http-equiv"]!==void 0)return!0;if(e.headMetaAuthorship&&(ne(n.attributes.name)==="author"||ne(n.attributes.name)==="generator"||ne(n.attributes.name)==="framework"||ne(n.attributes.name)==="publisher"||ne(n.attributes.name)==="progid"||ne(n.attributes.property).match(/^article:/)||ne(n.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(ne(n.attributes.name)==="google-site-verification"||ne(n.attributes.name)==="yandex-verification"||ne(n.attributes.name)==="csrf-token"||ne(n.attributes.name)==="p:domain_verify"||ne(n.attributes.name)==="verify-v1"||ne(n.attributes.name)==="verification"||ne(n.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Bn(n,e){const{doc:i,mirror:t,blockClass:o,blockSelector:s,maskTextClass:a,maskTextSelector:l,skipChild:d=!1,inlineStylesheet:v=!0,maskInputOptions:p={},maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k={},inlineImages:C=!1,recordCanvas:S=!1,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_=5e3,onStylesheetLoad:T,stylesheetLoadTimeout:I=5e3,keepIframeSrcFn:K=()=>!1,newlyAddedElement:G=!1}=e;let{needsMask:U}=e,{preserveWhiteSpace:F=!0}=e;!U&&n.childNodes&&(U=qt(n,a,l,U===void 0));const oe=Ca(n,{doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:U,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,dataURLOptions:k,inlineImages:C,recordCanvas:S,keepIframeSrcFn:K,newlyAddedElement:G});if(!oe)return console.warn(n,"not serialized"),null;let ge;t.hasNode(n)?ge=t.getId(n):_a(oe,y)||!F&&oe.type===le.Text&&!oe.isStyle&&!oe.textContent.replace(/^\s+|\s+$/gm,"").length?ge=Jn:ge=Kt();const V=Object.assign(oe,{id:ge});if(t.add(n,V),ge===Jn)return null;M&&M(n);let _e=!d;if(V.type===le.Element){_e=_e&&!V.needBlock,delete V.needBlock;const ue=n.shadowRoot;ue&&Zn(ue)&&(V.isShadowHost=!0)}if((V.type===le.Document||V.type===le.Element)&&_e){y.headWhitespace&&V.type===le.Element&&V.tagName==="head"&&(F=!1);const ue={doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:U,maskTextClass:a,maskTextSelector:l,skipChild:d,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k,inlineImages:C,recordCanvas:S,preserveWhiteSpace:F,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_,onStylesheetLoad:T,stylesheetLoadTimeout:I,keepIframeSrcFn:K};if(!(V.type===le.Element&&V.tagName==="textarea"&&V.attributes.value!==void 0))for(const Te of Array.from(n.childNodes)){const Me=Bn(Te,ue);Me&&V.childNodes.push(Me)}if(Ys(n)&&n.shadowRoot)for(const Te of Array.from(n.shadowRoot.childNodes)){const Me=Bn(Te,ue);Me&&(Zn(n.shadowRoot)&&(Me.isShadow=!0),V.childNodes.push(Me))}}return n.parentNode&&Wn(n.parentNode)&&Zn(n.parentNode)&&(V.isShadow=!0),V.type===le.Element&&V.tagName==="iframe"&&ga(n,()=>{const ue=n.contentDocument;if(ue&&A){const Te=Bn(ue,{doc:ue,mirror:t,blockClass:o,blockSelector:s,needsMask:U,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k,inlineImages:C,recordCanvas:S,preserveWhiteSpace:F,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_,onStylesheetLoad:T,stylesheetLoadTimeout:I,keepIframeSrcFn:K});Te&&A(n,Te)}},_),V.type===le.Element&&V.tagName==="link"&&typeof V.attributes.rel=="string"&&(V.attributes.rel==="stylesheet"||V.attributes.rel==="preload"&&typeof V.attributes.href=="string"&&jt(V.attributes.href)==="css")&&ya(n,()=>{if(T){const ue=Bn(n,{doc:i,mirror:t,blockClass:o,blockSelector:s,needsMask:U,maskTextClass:a,maskTextSelector:l,skipChild:!1,inlineStylesheet:v,maskInputOptions:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y,dataURLOptions:k,inlineImages:C,recordCanvas:S,preserveWhiteSpace:F,onSerialize:M,onIframeLoad:A,iframeLoadTimeout:_,onStylesheetLoad:T,stylesheetLoadTimeout:I,keepIframeSrcFn:K});ue&&T(n,ue)}},I),V}function Ma(n,e){const{mirror:i=new Ut,blockClass:t="rr-block",blockSelector:o=null,maskTextClass:s="rr-mask",maskTextSelector:a=null,inlineStylesheet:l=!0,inlineImages:d=!1,recordCanvas:v=!1,maskAllInputs:p=!1,maskTextFn:g,maskInputFn:f,slimDOM:y=!1,dataURLOptions:k,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:M,iframeLoadTimeout:A,onStylesheetLoad:_,stylesheetLoadTimeout:T,keepIframeSrcFn:I=()=>!1}=e||{};return Bn(n,{doc:n,mirror:i,blockClass:t,blockSelector:o,maskTextClass:s,maskTextSelector:a,skipChild:!1,inlineStylesheet:l,maskInputOptions:p===!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}:p===!1?{password:!0}:p,maskTextFn:g,maskInputFn:f,slimDOMOptions:y===!0||y==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:y==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:y===!1?{}:y,dataURLOptions:k,inlineImages:d,recordCanvas:v,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:M,iframeLoadTimeout:A,onStylesheetLoad:_,stylesheetLoadTimeout:T,keepIframeSrcFn:I,newlyAddedElement:!1})}function ke(n,e,i=document){const t={capture:!0,passive:!0};return i.addEventListener(n,e,t),()=>i.removeEventListener(n,e,t)}const Nn=`Please stop import mirror directly. Instead of that,\r
|
|
954
954
|
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
955
|
-
or you can use record.mirror to access the mirror instance during recording.`;let Wt={map:{},getId(){return console.error(Nn),-1},getNode(){return console.error(Nn),null},removeNodeFromMap(){console.error(Nn)},has(){return console.error(Nn),!1},reset(){console.error(Nn)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Wt=new Proxy(Wt,{get(n,e,i){return e==="map"&&console.error(Nn),Reflect.get(n,e,i)}}));function $n(n,e,i={}){let t=null,o=0;return function(...s){const a=Date.now();!o&&i.leading===!1&&(o=a);const l=e-(a-o),d=this;l<=0||l>e?(t&&(clearTimeout(t),t=null),o=a,n.apply(d,s)):!t&&i.trailing!==!1&&(t=setTimeout(()=>{o=i.leading===!1?0:Date.now(),t=null,n.apply(d,s)},l))}}function fi(n,e,i,t,o=window){const s=o.Object.getOwnPropertyDescriptor(n,e);return o.Object.defineProperty(n,e,t?i:{set(a){setTimeout(()=>{i.set.call(this,a)},0),s&&s.set&&s.set.call(this,a)}}),()=>fi(n,e,s||{},!0)}function Hn(n,e,i){try{if(!(e in n))return()=>{};const t=n[e],o=i(t);return typeof o=="function"&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:t}})),n[e]=o,()=>{n[e]=t}}catch{return()=>{}}}let gi=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(gi=()=>new Date().getTime());function Zt(n){var e,i,t,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)||((i=(e=l==null?void 0:l.body)===null||e===void 0?void 0:e.parentElement)===null||i===void 0?void 0:i.scrollLeft)||((t=l==null?void 0:l.body)===null||t===void 0?void 0:t.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 Jt(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function $t(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Yt(n){return n?n.nodeType===n.ELEMENT_NODE?n:n.parentElement:null}function Se(n,e,i,t){if(!n)return!1;const o=Yt(n);if(!o)return!1;try{if(typeof e=="string"){if(o.classList.contains(e)||t&&o.closest("."+e)!==null)return!0}else if(bi(o,e,t))return!0}catch{}return!!(i&&(o.matches(i)||t&&o.closest(i)!==null))}function xa(n,e){return e.getId(n)!==-1}function Ji(n,e){return e.getId(n)===Jn}function Qt(n,e){if(Wn(n))return!1;const i=e.getId(n);return e.has(i)?n.parentNode&&n.parentNode.nodeType===n.DOCUMENT_NODE?!1:n.parentNode?Qt(n.parentNode,e):!0:!0}function $i(n){return!!n.changedTouches}function La(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 i=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do if(this===i)return!0;while(i=i&&i.parentNode);return!1})}function Xt(n,e){return!!(n.nodeName==="IFRAME"&&e.getMeta(n))}function eo(n,e){return!!(n.nodeName==="LINK"&&n.nodeType===n.ELEMENT_NODE&&n.getAttribute&&n.getAttribute("rel")==="stylesheet"&&e.getMeta(n))}function Yi(n){return!!(n!=null&&n.shadowRoot)}class Ta{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){var i;return(i=this.styleIDMap.get(e))!==null&&i!==void 0?i:-1}has(e){return this.styleIDMap.has(e)}add(e,i){if(this.has(e))return this.getId(e);let t;return i===void 0?t=this.id++:t=i,this.styleIDMap.set(e,t),this.idStyleMap.set(t,e),t}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 no(n){var e,i;let t=null;return((i=(e=n.getRootNode)===null||e===void 0?void 0:e.call(n))===null||i===void 0?void 0:i.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&n.getRootNode().host&&(t=n.getRootNode().host),t}function Ea(n){let e=n,i;for(;i=no(e);)e=i;return e}function Pa(n){const e=n.ownerDocument;if(!e)return!1;const i=Ea(n);return e.contains(i)}function io(n){const e=n.ownerDocument;return e?e.contains(n)||Pa(n):!1}var W=(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))(W||{}),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||{}),Le=(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))(Le||{}),Je=(n=>(n[n.Mouse=0]="Mouse",n[n.Pen=1]="Pen",n[n.Touch=2]="Touch",n))(Je||{}),Rn=(n=>(n[n["2D"]=0]="2D",n[n.WebGL=1]="WebGL",n[n.WebGL2=2]="WebGL2",n))(Rn||{});function to(n){return"__ln"in n}class Ia{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 i=this.head;for(let t=0;t<e;t++)i=(i==null?void 0:i.next)||null;return i}addNode(e){const i={value:e,previous:null,next:null};if(e.__ln=i,e.previousSibling&&to(e.previousSibling)){const t=e.previousSibling.__ln.next;i.next=t,i.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=i,t&&(t.previous=i)}else if(e.nextSibling&&to(e.nextSibling)&&e.nextSibling.__ln.previous){const t=e.nextSibling.__ln.previous;i.previous=t,i.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=i,t&&(t.next=i)}else this.head&&(this.head.previous=i),i.next=this.head,this.head=i;i.next===null&&(this.tail=i),this.length++}removeNode(e){const i=e.__ln;this.head&&(i.previous?(i.previous.next=i.next,i.next?i.next.previous=i.previous:this.tail=i.previous):(this.head=i.next,this.head?this.head.previous=null:this.tail=null),e.__ln&&delete e.__ln,this.length--)}}const oo=(n,e)=>`${n}@${e}`;class Da{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=[],i=new Set,t=new Ia,o=d=>{let v=d,p=Jn;for(;p===Jn;)v=v&&v.nextSibling,p=v&&this.mirror.getId(v);return p},s=d=>{if(!d.parentNode||!io(d)||d.parentNode.tagName==="TEXTAREA")return;const v=Wn(d.parentNode)?this.mirror.getId(no(d)):this.mirror.getId(d.parentNode),p=o(d);if(v===-1||p===-1)return t.addNode(d);const g=Bn(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:f=>{Xt(f,this.mirror)&&this.iframeManager.addIframe(f),eo(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),Yi(d)&&this.shadowDomManager.addShadowRoot(d.shadowRoot,this.doc)},onIframeLoad:(f,y)=>{this.iframeManager.attachIframe(f,y),this.shadowDomManager.observeAttachShadow(f)},onStylesheetLoad:(f,y)=>{this.stylesheetManager.attachLinkElement(f,y)}});g&&(e.push({parentId:v,nextId:p,node:g}),i.add(g.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const d of this.movedSet)so(this.removes,d,this.mirror)&&!this.movedSet.has(d.parentNode)||s(d);for(const d of this.addedSet)!ro(this.droppedSet,d)&&!so(this.removes,d,this.mirror)||ro(this.movedSet,d)?s(d):this.droppedSet.add(d);let a=null;for(;t.length;){let d=null;if(a){const v=this.mirror.getId(a.value.parentNode),p=o(a.value);v!==-1&&p!==-1&&(d=a)}if(!d){let v=t.tail;for(;v;){const p=v;if(v=v.previous,p){const g=this.mirror.getId(p.value.parentNode);if(o(p.value)===-1)continue;if(g!==-1){d=p;break}else{const y=p.value;if(y.parentNode&&y.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const k=y.parentNode.host;if(this.mirror.getId(k)!==-1){d=p;break}}}}}}if(!d){for(;t.head;)t.removeNode(t.head.value);break}a=d.previous,t.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=>!i.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 p=JSON.stringify(d.styleDiff),g=JSON.stringify(d._unchangedStyles);p.length<v.style.length&&(p+g).split("var(").length===v.style.split("var(").length&&(v.style=d.styleDiff)}return{id:this.mirror.getId(d.node),attributes:v}}).filter(d=>!i.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 i=this.attributeMap.get(e);i||(i={node:e,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(e,i)),i.attributes.value=Array.from(e.childNodes,t=>t.textContent||"").join("")},this.processMutation=e=>{if(!Ji(e.target,this.mirror))switch(e.type){case"characterData":{const i=e.target.textContent;!Se(e.target,this.blockClass,this.blockSelector,!1)&&i!==e.oldValue&&this.texts.push({value:qt(e.target,this.maskTextClass,this.maskTextSelector,!0)&&i?this.maskTextFn?this.maskTextFn(i,Yt(e.target)):i.replace(/[\S]/g,"*"):i,node:e.target});break}case"attributes":{const i=e.target;let t=e.attributeName,o=e.target.getAttribute(t);if(t==="value"){const a=Wi(i);o=qi({element:i,maskInputOptions:this.maskInputOptions,tagName:i.tagName,type:a,value:o,maskInputFn:this.maskInputFn})}if(Se(e.target,this.blockClass,this.blockSelector,!1)||o===e.oldValue)return;let s=this.attributeMap.get(e.target);if(i.tagName==="IFRAME"&&t==="src"&&!this.keepIframeSrcFn(o))if(!i.contentDocument)t="rr_src";else return;if(s||(s={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(e.target,s)),t==="type"&&i.tagName==="INPUT"&&(e.oldValue||"").toLowerCase()==="password"&&i.setAttribute("data-rr-is-password","true"),!zt(i.tagName,t)&&(s.attributes[t]=Gt(this.doc,yn(i.tagName),yn(t),o),t==="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(i.style)){const d=i.style.getPropertyValue(l),v=i.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))i.style.getPropertyValue(l)===""&&(s.styleDiff[l]=!1)}break}case"childList":{if(Se(e.target,this.blockClass,this.blockSelector,!0))return;if(e.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(e.target);return}e.addedNodes.forEach(i=>this.genAdds(i,e.target)),e.removedNodes.forEach(i=>{const t=this.mirror.getId(i),o=Wn(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);Se(e.target,this.blockClass,this.blockSelector,!1)||Ji(i,this.mirror)||!xa(i,this.mirror)||(this.addedSet.has(i)?(Qi(this.addedSet,i),this.droppedSet.add(i)):this.addedSet.has(e.target)&&t===-1||Qt(e.target,this.mirror)||(this.movedSet.has(i)&&this.movedMap[oo(t,o)]?Qi(this.movedSet,i):this.removes.push({parentId:o,id:t,isShadow:Wn(e.target)&&Zn(e.target)?!0:void 0})),this.mapRemoves.push(i))});break}}},this.genAdds=(e,i)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!(this.addedSet.has(e)||this.movedSet.has(e))){if(this.mirror.hasNode(e)){if(Ji(e,this.mirror))return;this.movedSet.add(e);let t=null;i&&this.mirror.hasNode(i)&&(t=this.mirror.getId(i)),t&&t!==-1&&(this.movedMap[oo(this.mirror.getId(e),t)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);Se(e,this.blockClass,this.blockSelector,!1)||(e.childNodes.forEach(t=>this.genAdds(t)),Yi(e)&&e.shadowRoot.childNodes.forEach(t=>{this.processedNodeManager.add(t,this),this.genAdds(t,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(i=>{this[i]=e[i]})}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 Qi(n,e){n.delete(e),e.childNodes.forEach(i=>Qi(n,i))}function so(n,e,i){return n.length===0?!1:ao(n,e,i)}function ao(n,e,i){const{parentNode:t}=e;if(!t)return!1;const o=i.getId(t);return n.some(s=>s.id===o)?!0:ao(n,t,i)}function ro(n,e){return n.size===0?!1:lo(n,e)}function lo(n,e){const{parentNode:i}=e;return i?n.has(i)?!0:lo(n,i):!1}let Yn;function Ba(n){Yn=n}function Na(){Yn=void 0}const q=n=>Yn?(...i)=>{try{return n(...i)}catch(t){if(Yn&&Yn(t)===!0)return;throw t}}:n,Cn=[];function Qn(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 co(n,e){var i,t;const o=new Da;Cn.push(o),o.init(n);let s=window.MutationObserver||window.__rrMutationObserver;const a=(t=(i=window==null?void 0:window.Zone)===null||i===void 0?void 0:i.__symbol__)===null||t===void 0?void 0:t.call(i,"MutationObserver");a&&window[a]&&(s=window[a]);const l=new s(q(o.processMutations.bind(o)));return l.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),l}function Ha({mousemoveCb:n,sampling:e,doc:i,mirror:t}){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=$n(q(g=>{const f=Date.now()-l;n(a.map(y=>(y.timeOffset-=f,y)),g),a=[],l=null}),s),v=q($n(q(g=>{const f=Qn(g),{clientX:y,clientY:k}=$i(g)?g.changedTouches[0]:g;l||(l=gi()),a.push({x:y,y:k,id:t.getId(f),timeOffset:gi()-l}),d(typeof DragEvent<"u"&&g instanceof DragEvent?z.Drag:g instanceof MouseEvent?z.MouseMove:z.TouchMove)}),o,{trailing:!1})),p=[ke("mousemove",v,i),ke("touchmove",v,i),ke("drag",v,i)];return q(()=>{p.forEach(g=>g())})}function Ra({mouseInteractionCb:n,doc:e,mirror:i,blockClass:t,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=p=>g=>{const f=Qn(g);if(Se(f,t,o,!0))return;let y=null,k=p;if("pointerType"in g){switch(g.pointerType){case"mouse":y=Je.Mouse;break;case"touch":y=Je.Touch;break;case"pen":y=Je.Pen;break}y===Je.Touch?Le[p]===Le.MouseDown?k="TouchStart":Le[p]===Le.MouseUp&&(k="TouchEnd"):Je.Pen}else $i(g)&&(y=Je.Touch);y!==null?(d=y,(k.startsWith("Touch")&&y===Je.Touch||k.startsWith("Mouse")&&y===Je.Mouse)&&(y=null)):Le[p]===Le.Click&&(y=d,d=null);const C=$i(g)?g.changedTouches[0]:g;if(!C)return;const S=i.getId(f),{clientX:M,clientY:A}=C;q(n)(Object.assign({type:Le[k],id:S,x:M,y:A},y!==null&&{pointerType:y}))};return Object.keys(Le).filter(p=>Number.isNaN(Number(p))&&!p.endsWith("_Departed")&&a[p]!==!1).forEach(p=>{let g=yn(p);const f=v(p);if(window.PointerEvent)switch(Le[p]){case Le.MouseDown:case Le.MouseUp:g=g.replace("mouse","pointer");break;case Le.TouchStart:case Le.TouchEnd:return}l.push(ke(g,f,e))}),q(()=>{l.forEach(p=>p())})}function uo({scrollCb:n,doc:e,mirror:i,blockClass:t,blockSelector:o,sampling:s}){const a=q($n(q(l=>{const d=Qn(l);if(!d||Se(d,t,o,!0))return;const v=i.getId(d);if(d===e&&e.defaultView){const p=Zt(e.defaultView);n({id:v,x:p.left,y:p.top})}else n({id:v,x:d.scrollLeft,y:d.scrollTop})}),s.scroll||100));return ke("scroll",a,e)}function Oa({viewportResizeCb:n},{win:e}){let i=-1,t=-1;const o=q($n(q(()=>{const s=Jt(),a=$t();(i!==s||t!==a)&&(n({width:Number(a),height:Number(s)}),i=s,t=a)}),200));return ke("resize",o,e)}const Ua=["INPUT","TEXTAREA","SELECT"],ho=new WeakMap;function Va({inputCb:n,doc:e,mirror:i,blockClass:t,blockSelector:o,ignoreClass:s,ignoreSelector:a,maskInputOptions:l,maskInputFn:d,sampling:v,userTriggeredOnInput:p}){function g(A){let _=Qn(A);const T=A.isTrusted,I=_&&_.tagName;if(_&&I==="OPTION"&&(_=_.parentElement),!_||!I||Ua.indexOf(I)<0||Se(_,t,o,!0)||_.classList.contains(s)||a&&_.matches(a))return;let K=_.value,G=!1;const U=Wi(_)||"";U==="radio"||U==="checkbox"?G=_.checked:(l[I.toLowerCase()]||l[U])&&(K=qi({element:_,maskInputOptions:l,tagName:I,type:U,value:K,maskInputFn:d})),f(_,p?{text:K,isChecked:G,userTriggered:T}:{text:K,isChecked:G});const F=_.name;U==="radio"&&F&&G&&e.querySelectorAll(`input[type="radio"][name="${F}"]`).forEach(oe=>{if(oe!==_){const ge=oe.value;f(oe,p?{text:ge,isChecked:!G,userTriggered:!1}:{text:ge,isChecked:!G})}})}function f(A,_){const T=ho.get(A);if(!T||T.text!==_.text||T.isChecked!==_.isChecked){ho.set(A,_);const I=i.getId(A);q(n)(Object.assign(Object.assign({},_),{id:I}))}}const k=(v.input==="last"?["change"]:["input","change"]).map(A=>ke(A,q(g),e)),C=e.defaultView;if(!C)return()=>{k.forEach(A=>A())};const S=C.Object.getOwnPropertyDescriptor(C.HTMLInputElement.prototype,"value"),M=[[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 S&&S.set&&k.push(...M.map(A=>fi(A[0],A[1],{set(){q(g)({target:this,isTrusted:!1})}},!1,C))),q(()=>{k.forEach(A=>A())})}function yi(n){const e=[];function i(t,o){if(Ci("CSSGroupingRule")&&t.parentRule instanceof CSSGroupingRule||Ci("CSSMediaRule")&&t.parentRule instanceof CSSMediaRule||Ci("CSSSupportsRule")&&t.parentRule instanceof CSSSupportsRule||Ci("CSSConditionRule")&&t.parentRule instanceof CSSConditionRule){const a=Array.from(t.parentRule.cssRules).indexOf(t);o.unshift(a)}else if(t.parentStyleSheet){const a=Array.from(t.parentStyleSheet.cssRules).indexOf(t);o.unshift(a)}return o}return i(n,e)}function rn(n,e,i){let t,o;return n?(n.ownerNode?t=e.getId(n.ownerNode):o=i.getId(n),{styleId:o,id:t}):{}}function ja({styleSheetRuleCb:n,mirror:e,stylesheetManager:i},{win:t}){if(!t.CSSStyleSheet||!t.CSSStyleSheet.prototype)return()=>{};const o=t.CSSStyleSheet.prototype.insertRule;t.CSSStyleSheet.prototype.insertRule=new Proxy(o,{apply:q((p,g,f)=>{const[y,k]=f,{id:C,styleId:S}=rn(g,e,i.styleMirror);return(C&&C!==-1||S&&S!==-1)&&n({id:C,styleId:S,adds:[{rule:y,index:k}]}),p.apply(g,f)})});const s=t.CSSStyleSheet.prototype.deleteRule;t.CSSStyleSheet.prototype.deleteRule=new Proxy(s,{apply:q((p,g,f)=>{const[y]=f,{id:k,styleId:C}=rn(g,e,i.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,removes:[{index:y}]}),p.apply(g,f)})});let a;t.CSSStyleSheet.prototype.replace&&(a=t.CSSStyleSheet.prototype.replace,t.CSSStyleSheet.prototype.replace=new Proxy(a,{apply:q((p,g,f)=>{const[y]=f,{id:k,styleId:C}=rn(g,e,i.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,replace:y}),p.apply(g,f)})}));let l;t.CSSStyleSheet.prototype.replaceSync&&(l=t.CSSStyleSheet.prototype.replaceSync,t.CSSStyleSheet.prototype.replaceSync=new Proxy(l,{apply:q((p,g,f)=>{const[y]=f,{id:k,styleId:C}=rn(g,e,i.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,replaceSync:y}),p.apply(g,f)})}));const d={};wi("CSSGroupingRule")?d.CSSGroupingRule=t.CSSGroupingRule:(wi("CSSMediaRule")&&(d.CSSMediaRule=t.CSSMediaRule),wi("CSSConditionRule")&&(d.CSSConditionRule=t.CSSConditionRule),wi("CSSSupportsRule")&&(d.CSSSupportsRule=t.CSSSupportsRule));const v={};return Object.entries(d).forEach(([p,g])=>{v[p]={insertRule:g.prototype.insertRule,deleteRule:g.prototype.deleteRule},g.prototype.insertRule=new Proxy(v[p].insertRule,{apply:q((f,y,k)=>{const[C,S]=k,{id:M,styleId:A}=rn(y.parentStyleSheet,e,i.styleMirror);return(M&&M!==-1||A&&A!==-1)&&n({id:M,styleId:A,adds:[{rule:C,index:[...yi(y),S||0]}]}),f.apply(y,k)})}),g.prototype.deleteRule=new Proxy(v[p].deleteRule,{apply:q((f,y,k)=>{const[C]=k,{id:S,styleId:M}=rn(y.parentStyleSheet,e,i.styleMirror);return(S&&S!==-1||M&&M!==-1)&&n({id:S,styleId:M,removes:[{index:[...yi(y),C]}]}),f.apply(y,k)})})}),q(()=>{t.CSSStyleSheet.prototype.insertRule=o,t.CSSStyleSheet.prototype.deleteRule=s,a&&(t.CSSStyleSheet.prototype.replace=a),l&&(t.CSSStyleSheet.prototype.replaceSync=l),Object.entries(d).forEach(([p,g])=>{g.prototype.insertRule=v[p].insertRule,g.prototype.deleteRule=v[p].deleteRule})})}function mo({mirror:n,stylesheetManager:e},i){var t,o,s;let a=null;i.nodeName==="#document"?a=n.getId(i):a=n.getId(i.host);const l=i.nodeName==="#document"?(t=i.defaultView)===null||t===void 0?void 0:t.Document:(s=(o=i.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(i,"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 p;const g=(p=d.set)===null||p===void 0?void 0:p.call(this,v);if(a!==null&&a!==-1)try{e.adoptStyleSheets(v,a)}catch{}return g}}),q(()=>{Object.defineProperty(i,"adoptedStyleSheets",{configurable:d.configurable,enumerable:d.enumerable,get:d.get,set:d.set})}))}function Ka({styleDeclarationCb:n,mirror:e,ignoreCSSAttributes:i,stylesheetManager:t},{win:o}){const s=o.CSSStyleDeclaration.prototype.setProperty;o.CSSStyleDeclaration.prototype.setProperty=new Proxy(s,{apply:q((l,d,v)=>{var p;const[g,f,y]=v;if(i.has(g))return s.apply(d,[g,f,y]);const{id:k,styleId:C}=rn((p=d.parentRule)===null||p===void 0?void 0:p.parentStyleSheet,e,t.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,set:{property:g,value:f,priority:y},index:yi(d.parentRule)}),l.apply(d,v)})});const a=o.CSSStyleDeclaration.prototype.removeProperty;return o.CSSStyleDeclaration.prototype.removeProperty=new Proxy(a,{apply:q((l,d,v)=>{var p;const[g]=v;if(i.has(g))return a.apply(d,[g]);const{id:f,styleId:y}=rn((p=d.parentRule)===null||p===void 0?void 0:p.parentStyleSheet,e,t.styleMirror);return(f&&f!==-1||y&&y!==-1)&&n({id:f,styleId:y,remove:{property:g},index:yi(d.parentRule)}),l.apply(d,v)})}),q(()=>{o.CSSStyleDeclaration.prototype.setProperty=s,o.CSSStyleDeclaration.prototype.removeProperty=a})}function Fa({mediaInteractionCb:n,blockClass:e,blockSelector:i,mirror:t,sampling:o,doc:s}){const a=q(d=>$n(q(v=>{const p=Qn(v);if(!p||Se(p,e,i,!0))return;const{currentTime:g,volume:f,muted:y,playbackRate:k,loop:C}=p;n({type:d,id:t.getId(p),currentTime:g,volume:f,muted:y,playbackRate:k,loop:C})}),o.media||500)),l=[ke("play",a(0),s),ke("pause",a(1),s),ke("seeked",a(2),s),ke("volumechange",a(3),s),ke("ratechange",a(4),s)];return q(()=>{l.forEach(d=>d())})}function Ga({fontCb:n,doc:e}){const i=e.defaultView;if(!i)return()=>{};const t=[],o=new WeakMap,s=i.FontFace;i.FontFace=function(d,v,p){const g=new s(d,v,p);return o.set(g,{family:d,buffer:typeof v!="string",descriptors:p,fontSource:typeof v=="string"?v:JSON.stringify(Array.from(new Uint8Array(v)))}),g};const a=Hn(e.fonts,"add",function(l){return function(d){return setTimeout(q(()=>{const v=o.get(d);v&&(n(v),o.delete(d))}),0),l.apply(this,[d])}});return t.push(()=>{i.FontFace=s}),t.push(a),q(()=>{t.forEach(l=>l())})}function za(n){const{doc:e,mirror:i,blockClass:t,blockSelector:o,selectionCb:s}=n;let a=!0;const l=q(()=>{const d=e.getSelection();if(!d||a&&(d!=null&&d.isCollapsed))return;a=d.isCollapsed||!1;const v=[],p=d.rangeCount||0;for(let g=0;g<p;g++){const f=d.getRangeAt(g),{startContainer:y,startOffset:k,endContainer:C,endOffset:S}=f;Se(y,t,o,!0)||Se(C,t,o,!0)||v.push({start:i.getId(y),startOffset:k,end:i.getId(C),endOffset:S})}s({ranges:v})});return l(),ke("selectionchange",l)}function qa({doc:n,customElementCb:e}){const i=n.defaultView;return!i||!i.customElements?()=>{}:Hn(i.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 Wa(n,e){const{mutationCb:i,mousemoveCb:t,mouseInteractionCb:o,scrollCb:s,viewportResizeCb:a,inputCb:l,mediaInteractionCb:d,styleSheetRuleCb:v,styleDeclarationCb:p,canvasMutationCb:g,fontCb:f,selectionCb:y,customElementCb:k}=n;n.mutationCb=(...C)=>{e.mutation&&e.mutation(...C),i(...C)},n.mousemoveCb=(...C)=>{e.mousemove&&e.mousemove(...C),t(...C)},n.mouseInteractionCb=(...C)=>{e.mouseInteraction&&e.mouseInteraction(...C),o(...C)},n.scrollCb=(...C)=>{e.scroll&&e.scroll(...C),s(...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),d(...C)},n.styleSheetRuleCb=(...C)=>{e.styleSheetRule&&e.styleSheetRule(...C),v(...C)},n.styleDeclarationCb=(...C)=>{e.styleDeclaration&&e.styleDeclaration(...C),p(...C)},n.canvasMutationCb=(...C)=>{e.canvasMutation&&e.canvasMutation(...C),g(...C)},n.fontCb=(...C)=>{e.font&&e.font(...C),f(...C)},n.selectionCb=(...C)=>{e.selection&&e.selection(...C),y(...C)},n.customElementCb=(...C)=>{e.customElement&&e.customElement(...C),k(...C)}}function Za(n,e={}){const i=n.doc.defaultView;if(!i)return()=>{};Wa(n,e);let t;n.recordDOM&&(t=co(n,n.doc));const o=Ha(n),s=Ra(n),a=uo(n),l=Oa(n,{win:i}),d=Va(n),v=Fa(n);let p=()=>{},g=()=>{},f=()=>{},y=()=>{};n.recordDOM&&(p=ja(n,{win:i}),g=mo(n,n.doc),f=Ka(n,{win:i}),n.collectFonts&&(y=Ga(n)));const k=za(n),C=qa(n),S=[];for(const M of n.plugins)S.push(M.observer(M.callback,i,M.options));return q(()=>{Cn.forEach(M=>M.reset()),t==null||t.disconnect(),o(),s(),a(),l(),d(),v(),p(),g(),f(),y(),k(),C(),S.forEach(M=>M())})}function Ci(n){return typeof window[n]<"u"}function wi(n){return!!(typeof window[n]<"u"&&window[n].prototype&&"insertRule"in window[n].prototype&&"deleteRule"in window[n].prototype)}class po{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,i,t,o){const s=t||this.getIdToRemoteIdMap(e),a=o||this.getRemoteIdToIdMap(e);let l=s.get(i);return l||(l=this.generateIdFn(),s.set(i,l),a.set(l,i)),l}getIds(e,i){const t=this.getIdToRemoteIdMap(e),o=this.getRemoteIdToIdMap(e);return i.map(s=>this.getId(e,s,t,o))}getRemoteId(e,i,t){const o=t||this.getRemoteIdToIdMap(e);if(typeof i!="number")return i;const s=o.get(i);return s||-1}getRemoteIds(e,i){const t=this.getRemoteIdToIdMap(e);return i.map(o=>this.getRemoteId(e,o,t))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let i=this.iframeIdToRemoteIdMap.get(e);return i||(i=new Map,this.iframeIdToRemoteIdMap.set(e,i)),i}getRemoteIdToIdMap(e){let i=this.iframeRemoteIdToIdMap.get(e);return i||(i=new Map,this.iframeRemoteIdToIdMap.set(e,i)),i}}class Ja{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new po(Kt),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new po(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,i){var t;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:i}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(t=this.loadListener)===null||t===void 0||t.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 i=e;if(i.data.type!=="rrweb"||i.origin!==i.data.origin||!e.source)return;const o=this.crossOriginIframeMap.get(e.source);if(!o)return;const s=this.transformCrossOriginEvent(o,i.data.event);s&&this.wrappedEmit(s,i.data.isCheckout)}transformCrossOriginEvent(e,i){var t;switch(i.type){case W.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(i.data.node,e);const o=i.data.node.id;return this.crossOriginIframeRootIdMap.set(e,o),this.patchRootIdOnNode(i.data.node,o),{timestamp:i.timestamp,type:W.IncrementalSnapshot,data:{source:z.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:i.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case W.Meta:case W.Load:case W.DomContentLoaded:return!1;case W.Plugin:return i;case W.Custom:return this.replaceIds(i.data.payload,e,["id","parentId","previousId","nextId"]),i;case W.IncrementalSnapshot:switch(i.data.source){case z.Mutation:return i.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)}),i.data.removes.forEach(o=>{this.replaceIds(o,e,["parentId","id"])}),i.data.attributes.forEach(o=>{this.replaceIds(o,e,["id"])}),i.data.texts.forEach(o=>{this.replaceIds(o,e,["id"])}),i;case z.Drag:case z.TouchMove:case z.MouseMove:return i.data.positions.forEach(o=>{this.replaceIds(o,e,["id"])}),i;case z.ViewportResize:return!1;case z.MediaInteraction:case z.MouseInteraction:case z.Scroll:case z.CanvasMutation:case z.Input:return this.replaceIds(i.data,e,["id"]),i;case z.StyleSheetRule:case z.StyleDeclaration:return this.replaceIds(i.data,e,["id"]),this.replaceStyleIds(i.data,e,["styleId"]),i;case z.Font:return i;case z.Selection:return i.data.ranges.forEach(o=>{this.replaceIds(o,e,["start","end"])}),i;case z.AdoptedStyleSheet:return this.replaceIds(i.data,e,["id"]),this.replaceStyleIds(i.data,e,["styleIds"]),(t=i.data.styles)===null||t===void 0||t.forEach(o=>{this.replaceStyleIds(o,e,["styleId"])}),i}}return!1}replace(e,i,t,o){for(const s of o)!Array.isArray(i[s])&&typeof i[s]!="number"||(Array.isArray(i[s])?i[s]=e.getIds(t,i[s]):i[s]=e.getId(t,i[s]));return i}replaceIds(e,i,t){return this.replace(this.crossOriginIframeMirror,e,i,t)}replaceStyleIds(e,i,t){return this.replace(this.crossOriginIframeStyleMirror,e,i,t)}replaceIdOnNode(e,i){this.replaceIds(e,i,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(t=>{this.replaceIdOnNode(t,i)})}patchRootIdOnNode(e,i){e.type!==le.Document&&!e.rootId&&(e.rootId=i),"childNodes"in e&&e.childNodes.forEach(t=>{this.patchRootIdOnNode(t,i)})}}class $a{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,i){if(!Zn(e)||this.shadowDoms.has(e))return;this.shadowDoms.add(e);const t=co(Object.assign(Object.assign({},this.bypassOptions),{doc:i,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e);this.restoreHandlers.push(()=>t.disconnect()),this.restoreHandlers.push(uo(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(mo({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))},0)}observeAttachShadow(e){!e.contentWindow||!e.contentDocument||this.patchAttachShadow(e.contentWindow.Element,e.contentDocument)}patchAttachShadow(e,i){const t=this;this.restoreHandlers.push(Hn(e.prototype,"attachShadow",function(o){return function(s){const a=o.call(this,s);return this.shadowRoot&&io(this)&&t.addShadowRoot(this.shadowRoot,i),a}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}/*! *****************************************************************************
|
|
955
|
+
or you can use record.mirror to access the mirror instance during recording.`;let Wt={map:{},getId(){return console.error(Nn),-1},getNode(){return console.error(Nn),null},removeNodeFromMap(){console.error(Nn)},has(){return console.error(Nn),!1},reset(){console.error(Nn)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Wt=new Proxy(Wt,{get(n,e,i){return e==="map"&&console.error(Nn),Reflect.get(n,e,i)}}));function $n(n,e,i={}){let t=null,o=0;return function(...s){const a=Date.now();!o&&i.leading===!1&&(o=a);const l=e-(a-o),d=this;l<=0||l>e?(t&&(clearTimeout(t),t=null),o=a,n.apply(d,s)):!t&&i.trailing!==!1&&(t=setTimeout(()=>{o=i.leading===!1?0:Date.now(),t=null,n.apply(d,s)},l))}}function fi(n,e,i,t,o=window){const s=o.Object.getOwnPropertyDescriptor(n,e);return o.Object.defineProperty(n,e,t?i:{set(a){setTimeout(()=>{i.set.call(this,a)},0),s&&s.set&&s.set.call(this,a)}}),()=>fi(n,e,s||{},!0)}function Hn(n,e,i){try{if(!(e in n))return()=>{};const t=n[e],o=i(t);return typeof o=="function"&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:t}})),n[e]=o,()=>{n[e]=t}}catch{return()=>{}}}let gi=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(gi=()=>new Date().getTime());function Zt(n){var e,i,t,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)||((i=(e=l==null?void 0:l.body)===null||e===void 0?void 0:e.parentElement)===null||i===void 0?void 0:i.scrollLeft)||((t=l==null?void 0:l.body)===null||t===void 0?void 0:t.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 Jt(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function $t(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Yt(n){return n?n.nodeType===n.ELEMENT_NODE?n:n.parentElement:null}function Se(n,e,i,t){if(!n)return!1;const o=Yt(n);if(!o)return!1;try{if(typeof e=="string"){if(o.classList.contains(e)||t&&o.closest("."+e)!==null)return!0}else if(bi(o,e,t))return!0}catch{}return!!(i&&(o.matches(i)||t&&o.closest(i)!==null))}function Aa(n,e){return e.getId(n)!==-1}function Ji(n,e){return e.getId(n)===Jn}function Qt(n,e){if(Wn(n))return!1;const i=e.getId(n);return e.has(i)?n.parentNode&&n.parentNode.nodeType===n.DOCUMENT_NODE?!1:n.parentNode?Qt(n.parentNode,e):!0:!0}function $i(n){return!!n.changedTouches}function xa(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 i=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do if(this===i)return!0;while(i=i&&i.parentNode);return!1})}function Xt(n,e){return!!(n.nodeName==="IFRAME"&&e.getMeta(n))}function eo(n,e){return!!(n.nodeName==="LINK"&&n.nodeType===n.ELEMENT_NODE&&n.getAttribute&&n.getAttribute("rel")==="stylesheet"&&e.getMeta(n))}function Yi(n){return!!(n!=null&&n.shadowRoot)}class La{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){var i;return(i=this.styleIDMap.get(e))!==null&&i!==void 0?i:-1}has(e){return this.styleIDMap.has(e)}add(e,i){if(this.has(e))return this.getId(e);let t;return i===void 0?t=this.id++:t=i,this.styleIDMap.set(e,t),this.idStyleMap.set(t,e),t}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 no(n){var e,i;let t=null;return((i=(e=n.getRootNode)===null||e===void 0?void 0:e.call(n))===null||i===void 0?void 0:i.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&n.getRootNode().host&&(t=n.getRootNode().host),t}function Ta(n){let e=n,i;for(;i=no(e);)e=i;return e}function Ea(n){const e=n.ownerDocument;if(!e)return!1;const i=Ta(n);return e.contains(i)}function io(n){const e=n.ownerDocument;return e?e.contains(n)||Ea(n):!1}var W=(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))(W||{}),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||{}),Le=(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))(Le||{}),Je=(n=>(n[n.Mouse=0]="Mouse",n[n.Pen=1]="Pen",n[n.Touch=2]="Touch",n))(Je||{}),Rn=(n=>(n[n["2D"]=0]="2D",n[n.WebGL=1]="WebGL",n[n.WebGL2=2]="WebGL2",n))(Rn||{});function to(n){return"__ln"in n}class Pa{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 i=this.head;for(let t=0;t<e;t++)i=(i==null?void 0:i.next)||null;return i}addNode(e){const i={value:e,previous:null,next:null};if(e.__ln=i,e.previousSibling&&to(e.previousSibling)){const t=e.previousSibling.__ln.next;i.next=t,i.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=i,t&&(t.previous=i)}else if(e.nextSibling&&to(e.nextSibling)&&e.nextSibling.__ln.previous){const t=e.nextSibling.__ln.previous;i.previous=t,i.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=i,t&&(t.next=i)}else this.head&&(this.head.previous=i),i.next=this.head,this.head=i;i.next===null&&(this.tail=i),this.length++}removeNode(e){const i=e.__ln;this.head&&(i.previous?(i.previous.next=i.next,i.next?i.next.previous=i.previous:this.tail=i.previous):(this.head=i.next,this.head?this.head.previous=null:this.tail=null),e.__ln&&delete e.__ln,this.length--)}}const oo=(n,e)=>`${n}@${e}`;class Ia{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=[],i=new Set,t=new Pa,o=d=>{let v=d,p=Jn;for(;p===Jn;)v=v&&v.nextSibling,p=v&&this.mirror.getId(v);return p},s=d=>{if(!d.parentNode||!io(d)||d.parentNode.tagName==="TEXTAREA")return;const v=Wn(d.parentNode)?this.mirror.getId(no(d)):this.mirror.getId(d.parentNode),p=o(d);if(v===-1||p===-1)return t.addNode(d);const g=Bn(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:f=>{Xt(f,this.mirror)&&this.iframeManager.addIframe(f),eo(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),Yi(d)&&this.shadowDomManager.addShadowRoot(d.shadowRoot,this.doc)},onIframeLoad:(f,y)=>{this.iframeManager.attachIframe(f,y),this.shadowDomManager.observeAttachShadow(f)},onStylesheetLoad:(f,y)=>{this.stylesheetManager.attachLinkElement(f,y)}});g&&(e.push({parentId:v,nextId:p,node:g}),i.add(g.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const d of this.movedSet)so(this.removes,d,this.mirror)&&!this.movedSet.has(d.parentNode)||s(d);for(const d of this.addedSet)!ro(this.droppedSet,d)&&!so(this.removes,d,this.mirror)||ro(this.movedSet,d)?s(d):this.droppedSet.add(d);let a=null;for(;t.length;){let d=null;if(a){const v=this.mirror.getId(a.value.parentNode),p=o(a.value);v!==-1&&p!==-1&&(d=a)}if(!d){let v=t.tail;for(;v;){const p=v;if(v=v.previous,p){const g=this.mirror.getId(p.value.parentNode);if(o(p.value)===-1)continue;if(g!==-1){d=p;break}else{const y=p.value;if(y.parentNode&&y.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const k=y.parentNode.host;if(this.mirror.getId(k)!==-1){d=p;break}}}}}}if(!d){for(;t.head;)t.removeNode(t.head.value);break}a=d.previous,t.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=>!i.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 p=JSON.stringify(d.styleDiff),g=JSON.stringify(d._unchangedStyles);p.length<v.style.length&&(p+g).split("var(").length===v.style.split("var(").length&&(v.style=d.styleDiff)}return{id:this.mirror.getId(d.node),attributes:v}}).filter(d=>!i.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 i=this.attributeMap.get(e);i||(i={node:e,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(e,i)),i.attributes.value=Array.from(e.childNodes,t=>t.textContent||"").join("")},this.processMutation=e=>{if(!Ji(e.target,this.mirror))switch(e.type){case"characterData":{const i=e.target.textContent;!Se(e.target,this.blockClass,this.blockSelector,!1)&&i!==e.oldValue&&this.texts.push({value:qt(e.target,this.maskTextClass,this.maskTextSelector,!0)&&i?this.maskTextFn?this.maskTextFn(i,Yt(e.target)):i.replace(/[\S]/g,"*"):i,node:e.target});break}case"attributes":{const i=e.target;let t=e.attributeName,o=e.target.getAttribute(t);if(t==="value"){const a=Wi(i);o=qi({element:i,maskInputOptions:this.maskInputOptions,tagName:i.tagName,type:a,value:o,maskInputFn:this.maskInputFn})}if(Se(e.target,this.blockClass,this.blockSelector,!1)||o===e.oldValue)return;let s=this.attributeMap.get(e.target);if(i.tagName==="IFRAME"&&t==="src"&&!this.keepIframeSrcFn(o))if(!i.contentDocument)t="rr_src";else return;if(s||(s={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(e.target,s)),t==="type"&&i.tagName==="INPUT"&&(e.oldValue||"").toLowerCase()==="password"&&i.setAttribute("data-rr-is-password","true"),!zt(i.tagName,t)&&(s.attributes[t]=Gt(this.doc,yn(i.tagName),yn(t),o),t==="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(i.style)){const d=i.style.getPropertyValue(l),v=i.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))i.style.getPropertyValue(l)===""&&(s.styleDiff[l]=!1)}break}case"childList":{if(Se(e.target,this.blockClass,this.blockSelector,!0))return;if(e.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(e.target);return}e.addedNodes.forEach(i=>this.genAdds(i,e.target)),e.removedNodes.forEach(i=>{const t=this.mirror.getId(i),o=Wn(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);Se(e.target,this.blockClass,this.blockSelector,!1)||Ji(i,this.mirror)||!Aa(i,this.mirror)||(this.addedSet.has(i)?(Qi(this.addedSet,i),this.droppedSet.add(i)):this.addedSet.has(e.target)&&t===-1||Qt(e.target,this.mirror)||(this.movedSet.has(i)&&this.movedMap[oo(t,o)]?Qi(this.movedSet,i):this.removes.push({parentId:o,id:t,isShadow:Wn(e.target)&&Zn(e.target)?!0:void 0})),this.mapRemoves.push(i))});break}}},this.genAdds=(e,i)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!(this.addedSet.has(e)||this.movedSet.has(e))){if(this.mirror.hasNode(e)){if(Ji(e,this.mirror))return;this.movedSet.add(e);let t=null;i&&this.mirror.hasNode(i)&&(t=this.mirror.getId(i)),t&&t!==-1&&(this.movedMap[oo(this.mirror.getId(e),t)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);Se(e,this.blockClass,this.blockSelector,!1)||(e.childNodes.forEach(t=>this.genAdds(t)),Yi(e)&&e.shadowRoot.childNodes.forEach(t=>{this.processedNodeManager.add(t,this),this.genAdds(t,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(i=>{this[i]=e[i]})}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 Qi(n,e){n.delete(e),e.childNodes.forEach(i=>Qi(n,i))}function so(n,e,i){return n.length===0?!1:ao(n,e,i)}function ao(n,e,i){const{parentNode:t}=e;if(!t)return!1;const o=i.getId(t);return n.some(s=>s.id===o)?!0:ao(n,t,i)}function ro(n,e){return n.size===0?!1:lo(n,e)}function lo(n,e){const{parentNode:i}=e;return i?n.has(i)?!0:lo(n,i):!1}let Yn;function Da(n){Yn=n}function Ba(){Yn=void 0}const q=n=>Yn?(...i)=>{try{return n(...i)}catch(t){if(Yn&&Yn(t)===!0)return;throw t}}:n,Cn=[];function Qn(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 co(n,e){var i,t;const o=new Ia;Cn.push(o),o.init(n);let s=window.MutationObserver||window.__rrMutationObserver;const a=(t=(i=window==null?void 0:window.Zone)===null||i===void 0?void 0:i.__symbol__)===null||t===void 0?void 0:t.call(i,"MutationObserver");a&&window[a]&&(s=window[a]);const l=new s(q(o.processMutations.bind(o)));return l.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),l}function Na({mousemoveCb:n,sampling:e,doc:i,mirror:t}){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=$n(q(g=>{const f=Date.now()-l;n(a.map(y=>(y.timeOffset-=f,y)),g),a=[],l=null}),s),v=q($n(q(g=>{const f=Qn(g),{clientX:y,clientY:k}=$i(g)?g.changedTouches[0]:g;l||(l=gi()),a.push({x:y,y:k,id:t.getId(f),timeOffset:gi()-l}),d(typeof DragEvent<"u"&&g instanceof DragEvent?z.Drag:g instanceof MouseEvent?z.MouseMove:z.TouchMove)}),o,{trailing:!1})),p=[ke("mousemove",v,i),ke("touchmove",v,i),ke("drag",v,i)];return q(()=>{p.forEach(g=>g())})}function Ha({mouseInteractionCb:n,doc:e,mirror:i,blockClass:t,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=p=>g=>{const f=Qn(g);if(Se(f,t,o,!0))return;let y=null,k=p;if("pointerType"in g){switch(g.pointerType){case"mouse":y=Je.Mouse;break;case"touch":y=Je.Touch;break;case"pen":y=Je.Pen;break}y===Je.Touch?Le[p]===Le.MouseDown?k="TouchStart":Le[p]===Le.MouseUp&&(k="TouchEnd"):Je.Pen}else $i(g)&&(y=Je.Touch);y!==null?(d=y,(k.startsWith("Touch")&&y===Je.Touch||k.startsWith("Mouse")&&y===Je.Mouse)&&(y=null)):Le[p]===Le.Click&&(y=d,d=null);const C=$i(g)?g.changedTouches[0]:g;if(!C)return;const S=i.getId(f),{clientX:M,clientY:A}=C;q(n)(Object.assign({type:Le[k],id:S,x:M,y:A},y!==null&&{pointerType:y}))};return Object.keys(Le).filter(p=>Number.isNaN(Number(p))&&!p.endsWith("_Departed")&&a[p]!==!1).forEach(p=>{let g=yn(p);const f=v(p);if(window.PointerEvent)switch(Le[p]){case Le.MouseDown:case Le.MouseUp:g=g.replace("mouse","pointer");break;case Le.TouchStart:case Le.TouchEnd:return}l.push(ke(g,f,e))}),q(()=>{l.forEach(p=>p())})}function uo({scrollCb:n,doc:e,mirror:i,blockClass:t,blockSelector:o,sampling:s}){const a=q($n(q(l=>{const d=Qn(l);if(!d||Se(d,t,o,!0))return;const v=i.getId(d);if(d===e&&e.defaultView){const p=Zt(e.defaultView);n({id:v,x:p.left,y:p.top})}else n({id:v,x:d.scrollLeft,y:d.scrollTop})}),s.scroll||100));return ke("scroll",a,e)}function Ra({viewportResizeCb:n},{win:e}){let i=-1,t=-1;const o=q($n(q(()=>{const s=Jt(),a=$t();(i!==s||t!==a)&&(n({width:Number(a),height:Number(s)}),i=s,t=a)}),200));return ke("resize",o,e)}const Oa=["INPUT","TEXTAREA","SELECT"],ho=new WeakMap;function Ua({inputCb:n,doc:e,mirror:i,blockClass:t,blockSelector:o,ignoreClass:s,ignoreSelector:a,maskInputOptions:l,maskInputFn:d,sampling:v,userTriggeredOnInput:p}){function g(A){let _=Qn(A);const T=A.isTrusted,I=_&&_.tagName;if(_&&I==="OPTION"&&(_=_.parentElement),!_||!I||Oa.indexOf(I)<0||Se(_,t,o,!0)||_.classList.contains(s)||a&&_.matches(a))return;let K=_.value,G=!1;const U=Wi(_)||"";U==="radio"||U==="checkbox"?G=_.checked:(l[I.toLowerCase()]||l[U])&&(K=qi({element:_,maskInputOptions:l,tagName:I,type:U,value:K,maskInputFn:d})),f(_,p?{text:K,isChecked:G,userTriggered:T}:{text:K,isChecked:G});const F=_.name;U==="radio"&&F&&G&&e.querySelectorAll(`input[type="radio"][name="${F}"]`).forEach(oe=>{if(oe!==_){const ge=oe.value;f(oe,p?{text:ge,isChecked:!G,userTriggered:!1}:{text:ge,isChecked:!G})}})}function f(A,_){const T=ho.get(A);if(!T||T.text!==_.text||T.isChecked!==_.isChecked){ho.set(A,_);const I=i.getId(A);q(n)(Object.assign(Object.assign({},_),{id:I}))}}const k=(v.input==="last"?["change"]:["input","change"]).map(A=>ke(A,q(g),e)),C=e.defaultView;if(!C)return()=>{k.forEach(A=>A())};const S=C.Object.getOwnPropertyDescriptor(C.HTMLInputElement.prototype,"value"),M=[[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 S&&S.set&&k.push(...M.map(A=>fi(A[0],A[1],{set(){q(g)({target:this,isTrusted:!1})}},!1,C))),q(()=>{k.forEach(A=>A())})}function yi(n){const e=[];function i(t,o){if(Ci("CSSGroupingRule")&&t.parentRule instanceof CSSGroupingRule||Ci("CSSMediaRule")&&t.parentRule instanceof CSSMediaRule||Ci("CSSSupportsRule")&&t.parentRule instanceof CSSSupportsRule||Ci("CSSConditionRule")&&t.parentRule instanceof CSSConditionRule){const a=Array.from(t.parentRule.cssRules).indexOf(t);o.unshift(a)}else if(t.parentStyleSheet){const a=Array.from(t.parentStyleSheet.cssRules).indexOf(t);o.unshift(a)}return o}return i(n,e)}function rn(n,e,i){let t,o;return n?(n.ownerNode?t=e.getId(n.ownerNode):o=i.getId(n),{styleId:o,id:t}):{}}function Va({styleSheetRuleCb:n,mirror:e,stylesheetManager:i},{win:t}){if(!t.CSSStyleSheet||!t.CSSStyleSheet.prototype)return()=>{};const o=t.CSSStyleSheet.prototype.insertRule;t.CSSStyleSheet.prototype.insertRule=new Proxy(o,{apply:q((p,g,f)=>{const[y,k]=f,{id:C,styleId:S}=rn(g,e,i.styleMirror);return(C&&C!==-1||S&&S!==-1)&&n({id:C,styleId:S,adds:[{rule:y,index:k}]}),p.apply(g,f)})});const s=t.CSSStyleSheet.prototype.deleteRule;t.CSSStyleSheet.prototype.deleteRule=new Proxy(s,{apply:q((p,g,f)=>{const[y]=f,{id:k,styleId:C}=rn(g,e,i.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,removes:[{index:y}]}),p.apply(g,f)})});let a;t.CSSStyleSheet.prototype.replace&&(a=t.CSSStyleSheet.prototype.replace,t.CSSStyleSheet.prototype.replace=new Proxy(a,{apply:q((p,g,f)=>{const[y]=f,{id:k,styleId:C}=rn(g,e,i.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,replace:y}),p.apply(g,f)})}));let l;t.CSSStyleSheet.prototype.replaceSync&&(l=t.CSSStyleSheet.prototype.replaceSync,t.CSSStyleSheet.prototype.replaceSync=new Proxy(l,{apply:q((p,g,f)=>{const[y]=f,{id:k,styleId:C}=rn(g,e,i.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,replaceSync:y}),p.apply(g,f)})}));const d={};wi("CSSGroupingRule")?d.CSSGroupingRule=t.CSSGroupingRule:(wi("CSSMediaRule")&&(d.CSSMediaRule=t.CSSMediaRule),wi("CSSConditionRule")&&(d.CSSConditionRule=t.CSSConditionRule),wi("CSSSupportsRule")&&(d.CSSSupportsRule=t.CSSSupportsRule));const v={};return Object.entries(d).forEach(([p,g])=>{v[p]={insertRule:g.prototype.insertRule,deleteRule:g.prototype.deleteRule},g.prototype.insertRule=new Proxy(v[p].insertRule,{apply:q((f,y,k)=>{const[C,S]=k,{id:M,styleId:A}=rn(y.parentStyleSheet,e,i.styleMirror);return(M&&M!==-1||A&&A!==-1)&&n({id:M,styleId:A,adds:[{rule:C,index:[...yi(y),S||0]}]}),f.apply(y,k)})}),g.prototype.deleteRule=new Proxy(v[p].deleteRule,{apply:q((f,y,k)=>{const[C]=k,{id:S,styleId:M}=rn(y.parentStyleSheet,e,i.styleMirror);return(S&&S!==-1||M&&M!==-1)&&n({id:S,styleId:M,removes:[{index:[...yi(y),C]}]}),f.apply(y,k)})})}),q(()=>{t.CSSStyleSheet.prototype.insertRule=o,t.CSSStyleSheet.prototype.deleteRule=s,a&&(t.CSSStyleSheet.prototype.replace=a),l&&(t.CSSStyleSheet.prototype.replaceSync=l),Object.entries(d).forEach(([p,g])=>{g.prototype.insertRule=v[p].insertRule,g.prototype.deleteRule=v[p].deleteRule})})}function mo({mirror:n,stylesheetManager:e},i){var t,o,s;let a=null;i.nodeName==="#document"?a=n.getId(i):a=n.getId(i.host);const l=i.nodeName==="#document"?(t=i.defaultView)===null||t===void 0?void 0:t.Document:(s=(o=i.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(i,"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 p;const g=(p=d.set)===null||p===void 0?void 0:p.call(this,v);if(a!==null&&a!==-1)try{e.adoptStyleSheets(v,a)}catch{}return g}}),q(()=>{Object.defineProperty(i,"adoptedStyleSheets",{configurable:d.configurable,enumerable:d.enumerable,get:d.get,set:d.set})}))}function ja({styleDeclarationCb:n,mirror:e,ignoreCSSAttributes:i,stylesheetManager:t},{win:o}){const s=o.CSSStyleDeclaration.prototype.setProperty;o.CSSStyleDeclaration.prototype.setProperty=new Proxy(s,{apply:q((l,d,v)=>{var p;const[g,f,y]=v;if(i.has(g))return s.apply(d,[g,f,y]);const{id:k,styleId:C}=rn((p=d.parentRule)===null||p===void 0?void 0:p.parentStyleSheet,e,t.styleMirror);return(k&&k!==-1||C&&C!==-1)&&n({id:k,styleId:C,set:{property:g,value:f,priority:y},index:yi(d.parentRule)}),l.apply(d,v)})});const a=o.CSSStyleDeclaration.prototype.removeProperty;return o.CSSStyleDeclaration.prototype.removeProperty=new Proxy(a,{apply:q((l,d,v)=>{var p;const[g]=v;if(i.has(g))return a.apply(d,[g]);const{id:f,styleId:y}=rn((p=d.parentRule)===null||p===void 0?void 0:p.parentStyleSheet,e,t.styleMirror);return(f&&f!==-1||y&&y!==-1)&&n({id:f,styleId:y,remove:{property:g},index:yi(d.parentRule)}),l.apply(d,v)})}),q(()=>{o.CSSStyleDeclaration.prototype.setProperty=s,o.CSSStyleDeclaration.prototype.removeProperty=a})}function Ka({mediaInteractionCb:n,blockClass:e,blockSelector:i,mirror:t,sampling:o,doc:s}){const a=q(d=>$n(q(v=>{const p=Qn(v);if(!p||Se(p,e,i,!0))return;const{currentTime:g,volume:f,muted:y,playbackRate:k,loop:C}=p;n({type:d,id:t.getId(p),currentTime:g,volume:f,muted:y,playbackRate:k,loop:C})}),o.media||500)),l=[ke("play",a(0),s),ke("pause",a(1),s),ke("seeked",a(2),s),ke("volumechange",a(3),s),ke("ratechange",a(4),s)];return q(()=>{l.forEach(d=>d())})}function Fa({fontCb:n,doc:e}){const i=e.defaultView;if(!i)return()=>{};const t=[],o=new WeakMap,s=i.FontFace;i.FontFace=function(d,v,p){const g=new s(d,v,p);return o.set(g,{family:d,buffer:typeof v!="string",descriptors:p,fontSource:typeof v=="string"?v:JSON.stringify(Array.from(new Uint8Array(v)))}),g};const a=Hn(e.fonts,"add",function(l){return function(d){return setTimeout(q(()=>{const v=o.get(d);v&&(n(v),o.delete(d))}),0),l.apply(this,[d])}});return t.push(()=>{i.FontFace=s}),t.push(a),q(()=>{t.forEach(l=>l())})}function Ga(n){const{doc:e,mirror:i,blockClass:t,blockSelector:o,selectionCb:s}=n;let a=!0;const l=q(()=>{const d=e.getSelection();if(!d||a&&(d!=null&&d.isCollapsed))return;a=d.isCollapsed||!1;const v=[],p=d.rangeCount||0;for(let g=0;g<p;g++){const f=d.getRangeAt(g),{startContainer:y,startOffset:k,endContainer:C,endOffset:S}=f;Se(y,t,o,!0)||Se(C,t,o,!0)||v.push({start:i.getId(y),startOffset:k,end:i.getId(C),endOffset:S})}s({ranges:v})});return l(),ke("selectionchange",l)}function za({doc:n,customElementCb:e}){const i=n.defaultView;return!i||!i.customElements?()=>{}:Hn(i.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 qa(n,e){const{mutationCb:i,mousemoveCb:t,mouseInteractionCb:o,scrollCb:s,viewportResizeCb:a,inputCb:l,mediaInteractionCb:d,styleSheetRuleCb:v,styleDeclarationCb:p,canvasMutationCb:g,fontCb:f,selectionCb:y,customElementCb:k}=n;n.mutationCb=(...C)=>{e.mutation&&e.mutation(...C),i(...C)},n.mousemoveCb=(...C)=>{e.mousemove&&e.mousemove(...C),t(...C)},n.mouseInteractionCb=(...C)=>{e.mouseInteraction&&e.mouseInteraction(...C),o(...C)},n.scrollCb=(...C)=>{e.scroll&&e.scroll(...C),s(...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),d(...C)},n.styleSheetRuleCb=(...C)=>{e.styleSheetRule&&e.styleSheetRule(...C),v(...C)},n.styleDeclarationCb=(...C)=>{e.styleDeclaration&&e.styleDeclaration(...C),p(...C)},n.canvasMutationCb=(...C)=>{e.canvasMutation&&e.canvasMutation(...C),g(...C)},n.fontCb=(...C)=>{e.font&&e.font(...C),f(...C)},n.selectionCb=(...C)=>{e.selection&&e.selection(...C),y(...C)},n.customElementCb=(...C)=>{e.customElement&&e.customElement(...C),k(...C)}}function Wa(n,e={}){const i=n.doc.defaultView;if(!i)return()=>{};qa(n,e);let t;n.recordDOM&&(t=co(n,n.doc));const o=Na(n),s=Ha(n),a=uo(n),l=Ra(n,{win:i}),d=Ua(n),v=Ka(n);let p=()=>{},g=()=>{},f=()=>{},y=()=>{};n.recordDOM&&(p=Va(n,{win:i}),g=mo(n,n.doc),f=ja(n,{win:i}),n.collectFonts&&(y=Fa(n)));const k=Ga(n),C=za(n),S=[];for(const M of n.plugins)S.push(M.observer(M.callback,i,M.options));return q(()=>{Cn.forEach(M=>M.reset()),t==null||t.disconnect(),o(),s(),a(),l(),d(),v(),p(),g(),f(),y(),k(),C(),S.forEach(M=>M())})}function Ci(n){return typeof window[n]<"u"}function wi(n){return!!(typeof window[n]<"u"&&window[n].prototype&&"insertRule"in window[n].prototype&&"deleteRule"in window[n].prototype)}class po{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,i,t,o){const s=t||this.getIdToRemoteIdMap(e),a=o||this.getRemoteIdToIdMap(e);let l=s.get(i);return l||(l=this.generateIdFn(),s.set(i,l),a.set(l,i)),l}getIds(e,i){const t=this.getIdToRemoteIdMap(e),o=this.getRemoteIdToIdMap(e);return i.map(s=>this.getId(e,s,t,o))}getRemoteId(e,i,t){const o=t||this.getRemoteIdToIdMap(e);if(typeof i!="number")return i;const s=o.get(i);return s||-1}getRemoteIds(e,i){const t=this.getRemoteIdToIdMap(e);return i.map(o=>this.getRemoteId(e,o,t))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let i=this.iframeIdToRemoteIdMap.get(e);return i||(i=new Map,this.iframeIdToRemoteIdMap.set(e,i)),i}getRemoteIdToIdMap(e){let i=this.iframeRemoteIdToIdMap.get(e);return i||(i=new Map,this.iframeRemoteIdToIdMap.set(e,i)),i}}class Za{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new po(Kt),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new po(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,i){var t;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:i}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(t=this.loadListener)===null||t===void 0||t.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 i=e;if(i.data.type!=="rrweb"||i.origin!==i.data.origin||!e.source)return;const o=this.crossOriginIframeMap.get(e.source);if(!o)return;const s=this.transformCrossOriginEvent(o,i.data.event);s&&this.wrappedEmit(s,i.data.isCheckout)}transformCrossOriginEvent(e,i){var t;switch(i.type){case W.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(i.data.node,e);const o=i.data.node.id;return this.crossOriginIframeRootIdMap.set(e,o),this.patchRootIdOnNode(i.data.node,o),{timestamp:i.timestamp,type:W.IncrementalSnapshot,data:{source:z.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:i.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case W.Meta:case W.Load:case W.DomContentLoaded:return!1;case W.Plugin:return i;case W.Custom:return this.replaceIds(i.data.payload,e,["id","parentId","previousId","nextId"]),i;case W.IncrementalSnapshot:switch(i.data.source){case z.Mutation:return i.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)}),i.data.removes.forEach(o=>{this.replaceIds(o,e,["parentId","id"])}),i.data.attributes.forEach(o=>{this.replaceIds(o,e,["id"])}),i.data.texts.forEach(o=>{this.replaceIds(o,e,["id"])}),i;case z.Drag:case z.TouchMove:case z.MouseMove:return i.data.positions.forEach(o=>{this.replaceIds(o,e,["id"])}),i;case z.ViewportResize:return!1;case z.MediaInteraction:case z.MouseInteraction:case z.Scroll:case z.CanvasMutation:case z.Input:return this.replaceIds(i.data,e,["id"]),i;case z.StyleSheetRule:case z.StyleDeclaration:return this.replaceIds(i.data,e,["id"]),this.replaceStyleIds(i.data,e,["styleId"]),i;case z.Font:return i;case z.Selection:return i.data.ranges.forEach(o=>{this.replaceIds(o,e,["start","end"])}),i;case z.AdoptedStyleSheet:return this.replaceIds(i.data,e,["id"]),this.replaceStyleIds(i.data,e,["styleIds"]),(t=i.data.styles)===null||t===void 0||t.forEach(o=>{this.replaceStyleIds(o,e,["styleId"])}),i}}return!1}replace(e,i,t,o){for(const s of o)!Array.isArray(i[s])&&typeof i[s]!="number"||(Array.isArray(i[s])?i[s]=e.getIds(t,i[s]):i[s]=e.getId(t,i[s]));return i}replaceIds(e,i,t){return this.replace(this.crossOriginIframeMirror,e,i,t)}replaceStyleIds(e,i,t){return this.replace(this.crossOriginIframeStyleMirror,e,i,t)}replaceIdOnNode(e,i){this.replaceIds(e,i,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(t=>{this.replaceIdOnNode(t,i)})}patchRootIdOnNode(e,i){e.type!==le.Document&&!e.rootId&&(e.rootId=i),"childNodes"in e&&e.childNodes.forEach(t=>{this.patchRootIdOnNode(t,i)})}}class Ja{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,i){if(!Zn(e)||this.shadowDoms.has(e))return;this.shadowDoms.add(e);const t=co(Object.assign(Object.assign({},this.bypassOptions),{doc:i,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e);this.restoreHandlers.push(()=>t.disconnect()),this.restoreHandlers.push(uo(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(mo({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))},0)}observeAttachShadow(e){!e.contentWindow||!e.contentDocument||this.patchAttachShadow(e.contentWindow.Element,e.contentDocument)}patchAttachShadow(e,i){const t=this;this.restoreHandlers.push(Hn(e.prototype,"attachShadow",function(o){return function(s){const a=o.call(this,s);return this.shadowRoot&&io(this)&&t.addShadowRoot(this.shadowRoot,i),a}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}/*! *****************************************************************************
|
|
956
956
|
Copyright (c) Microsoft Corporation.
|
|
957
957
|
|
|
958
958
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -965,9 +965,9 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
965
965
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
966
966
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
967
967
|
PERFORMANCE OF THIS SOFTWARE.
|
|
968
|
-
***************************************************************************** */function
|
|
968
|
+
***************************************************************************** */function $a(n,e){var i={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&e.indexOf(t)<0&&(i[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,t=Object.getOwnPropertySymbols(n);o<t.length;o++)e.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(n,t[o])&&(i[t[o]]=n[t[o]]);return i}function Ya(n,e,i,t){function o(s){return s instanceof i?s:new i(function(a){a(s)})}return new(i||(i=Promise))(function(s,a){function l(p){try{v(t.next(p))}catch(g){a(g)}}function d(p){try{v(t.throw(p))}catch(g){a(g)}}function v(p){p.done?s(p.value):o(p.value).then(l,d)}v((t=t.apply(n,[])).next())})}for(var On="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qa=typeof Uint8Array>"u"?[]:new Uint8Array(256),ki=0;ki<On.length;ki++)Qa[On.charCodeAt(ki)]=ki;var Xa=function(n){var e=new Uint8Array(n),i,t=e.length,o="";for(i=0;i<t;i+=3)o+=On[e[i]>>2],o+=On[(e[i]&3)<<4|e[i+1]>>4],o+=On[(e[i+1]&15)<<2|e[i+2]>>6],o+=On[e[i+2]&63];return t%3===2?o=o.substring(0,o.length-1)+"=":t%3===1&&(o=o.substring(0,o.length-2)+"=="),o};const vo=new Map;function er(n,e){let i=vo.get(n);return i||(i=new Map,vo.set(n,i)),i.has(e)||i.set(e,[]),i.get(e)}const bo=(n,e,i)=>{if(!n||!(go(n,e)||typeof n=="object"))return;const t=n.constructor.name,o=er(i,t);let s=o.indexOf(n);return s===-1&&(s=o.length,o.push(n)),s};function Si(n,e,i){if(n instanceof Array)return n.map(t=>Si(t,e,i));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 t=n.constructor.name,o=Xa(n);return{rr_type:t,base64:o}}else{if(n instanceof DataView)return{rr_type:n.constructor.name,args:[Si(n.buffer,e,i),n.byteOffset,n.byteLength]};if(n instanceof HTMLImageElement){const t=n.constructor.name,{src:o}=n;return{rr_type:t,src:o}}else if(n instanceof HTMLCanvasElement){const t="HTMLImageElement",o=n.toDataURL();return{rr_type:t,src:o}}else{if(n instanceof ImageData)return{rr_type:n.constructor.name,args:[Si(n.data,e,i),n.width,n.height]};if(go(n,e)||typeof n=="object"){const t=n.constructor.name,o=bo(n,e,i);return{rr_type:t,index:o}}}}return n}const fo=(n,e,i)=>n.map(t=>Si(t,e,i)),go=(n,e)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(o=>typeof e[o]=="function").find(o=>n instanceof e[o]);function nr(n,e,i,t){const o=[],s=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(const a of s)try{if(typeof e.CanvasRenderingContext2D.prototype[a]!="function")continue;const l=Hn(e.CanvasRenderingContext2D.prototype,a,function(d){return function(...v){return Se(this.canvas,i,t,!0)||setTimeout(()=>{const p=fo(v,e,this);n(this.canvas,{type:Rn["2D"],property:a,args:p})},0),d.apply(this,v)}});o.push(l)}catch{const d=fi(e.CanvasRenderingContext2D.prototype,a,{set(v){n(this.canvas,{type:Rn["2D"],property:a,args:[v],setter:!0})}});o.push(d)}return()=>{o.forEach(a=>a())}}function ir(n){return n==="experimental-webgl"?"webgl":n}function yo(n,e,i,t){const o=[];try{const s=Hn(n.HTMLCanvasElement.prototype,"getContext",function(a){return function(l,...d){if(!Se(this,e,i,!0)){const v=ir(l);if("__context"in this||(this.__context=v),t&&["webgl","webgl2"].includes(v))if(d[0]&&typeof d[0]=="object"){const p=d[0];p.preserveDrawingBuffer||(p.preserveDrawingBuffer=!0)}else d.splice(0,1,{preserveDrawingBuffer:!0})}return a.apply(this,[l,...d])}});o.push(s)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{o.forEach(s=>s())}}function Co(n,e,i,t,o,s,a){const l=[],d=Object.getOwnPropertyNames(n);for(const v of d)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(v))try{if(typeof n[v]!="function")continue;const p=Hn(n,v,function(g){return function(...f){const y=g.apply(this,f);if(bo(y,a,this),"tagName"in this.canvas&&!Se(this.canvas,t,o,!0)){const k=fo(f,a,this),C={type:e,property:v,args:k};i(this.canvas,C)}return y}});l.push(p)}catch{const g=fi(n,v,{set(f){i(this.canvas,{type:e,property:v,args:[f],setter:!0})}});l.push(g)}return l}function tr(n,e,i,t,o){const s=[];return s.push(...Co(e.WebGLRenderingContext.prototype,Rn.WebGL,n,i,t,o,e)),typeof e.WebGL2RenderingContext<"u"&&s.push(...Co(e.WebGL2RenderingContext.prototype,Rn.WebGL2,n,i,t,o,e)),()=>{s.forEach(a=>a())}}function or(n,e){var i=n.toString(),t=i.split(`
|
|
969
969
|
`);t.pop(),t.shift();for(var o=t[0].search(/\S/),s=/(['"])__worker_loader_strict__(['"])/g,a=0,l=t.length;a<l;++a)t[a]=t[a].substring(o).replace(s,"$1use strict$2")+`
|
|
970
|
-
`;return t}function
|
|
970
|
+
`;return t}function sr(n,e){var i=or(n),t=new Blob(i,{type:"application/javascript"});return URL.createObjectURL(t)}function ar(n,e){var i;return function(o){return i=i||sr(n),new Worker(i,o)}}var rr=ar(function(){(function(){"__worker_loader_strict__";/*! *****************************************************************************
|
|
971
971
|
Copyright (c) Microsoft Corporation.
|
|
972
972
|
|
|
973
973
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -980,13 +980,13 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
980
980
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
981
981
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
982
982
|
PERFORMANCE OF THIS SOFTWARE.
|
|
983
|
-
***************************************************************************** */function n(v,p,g,f){function y(k){return k instanceof g?k:new g(function(C){C(k)})}return new(g||(g=Promise))(function(k,C){function S(_){try{A(f.next(_))}catch(T){C(T)}}function M(_){try{A(f.throw(_))}catch(T){C(T)}}function A(_){_.done?k(_.value):y(_.value).then(S,M)}A((f=f.apply(v,[])).next())})}for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=typeof Uint8Array>"u"?[]:new Uint8Array(256),t=0;t<e.length;t++)i[e.charCodeAt(t)]=t;var o=function(v){var p=new Uint8Array(v),g,f=p.length,y="";for(g=0;g<f;g+=3)y+=e[p[g]>>2],y+=e[(p[g]&3)<<4|p[g+1]>>4],y+=e[(p[g+1]&15)<<2|p[g+2]>>6],y+=e[p[g+2]&63];return f%3===2?y=y.substring(0,y.length-1)+"=":f%3===1&&(y=y.substring(0,y.length-2)+"=="),y};const s=new Map,a=new Map;function l(v,p,g){return n(this,void 0,void 0,function*(){const f=`${v}-${p}`;if("OffscreenCanvas"in globalThis){if(a.has(f))return a.get(f);const y=new OffscreenCanvas(v,p);y.getContext("2d");const C=yield(yield y.convertToBlob(g)).arrayBuffer(),S=o(C);return a.set(f,S),S}else return""})}const d=self;d.onmessage=function(v){return n(this,void 0,void 0,function*(){if("OffscreenCanvas"in globalThis){const{id:p,bitmap:g,width:f,height:y,dataURLOptions:k}=v.data,C=l(f,y,k),S=new OffscreenCanvas(f,y);S.getContext("2d").drawImage(g,0,0),g.close();const A=yield S.convertToBlob(k),_=A.type,T=yield A.arrayBuffer(),I=o(T);if(!s.has(p)&&(yield C)===I)return s.set(p,I),d.postMessage({id:p});if(s.get(p)===I)return d.postMessage({id:p});d.postMessage({id:p,type:_,base64:I,width:f,height:y}),s.set(p,I)}else return d.postMessage({id:v.data.id})})}})()});class dr{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:i="all",win:t,blockClass:o,blockSelector:s,recordCanvas:a,dataURLOptions:l}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&i==="all"&&this.initCanvasMutationObserver(t,o,s),a&&typeof i=="number"&&this.initCanvasFPSObserver(i,t,o,s,{dataURLOptions:l})}initCanvasFPSObserver(e,i,t,o,s){const a=yo(i,t,o,!0),l=new Map,d=new lr;d.onmessage=k=>{const{id:C}=k.data;if(l.set(C,!1),!("base64"in k.data))return;const{base64:S,type:M,width:A,height:_}=k.data;this.mutationCb({id:C,type:Rn["2D"],commands:[{property:"clearRect",args:[0,0,A,_]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:S}],type:M}]},0,0]}]})};const v=1e3/e;let p=0,g;const f=()=>{const k=[];return i.document.querySelectorAll("canvas").forEach(C=>{Se(C,t,o,!0)||k.push(C)}),k},y=k=>{if(p&&k-p<v){g=requestAnimationFrame(y);return}p=k,f().forEach(C=>Qa(this,void 0,void 0,function*(){var S;const M=this.mirror.getId(C);if(l.get(M)||C.width===0||C.height===0)return;if(l.set(M,!0),["webgl","webgl2"].includes(C.__context)){const _=C.getContext(C.__context);((S=_==null?void 0:_.getContextAttributes())===null||S===void 0?void 0:S.preserveDrawingBuffer)===!1&&_.clear(_.COLOR_BUFFER_BIT)}const A=yield createImageBitmap(C);d.postMessage({id:M,bitmap:A,width:C.width,height:C.height,dataURLOptions:s.dataURLOptions},[A])})),g=requestAnimationFrame(y)};g=requestAnimationFrame(y),this.resetObservers=()=>{a(),cancelAnimationFrame(g)}}initCanvasMutationObserver(e,i,t){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const o=yo(e,i,t,!1),s=ir(this.processMutation.bind(this),e,i,t),a=or(this.processMutation.bind(this),e,i,t,this.mirror);this.resetObservers=()=>{o(),s(),a()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=i=>{this.rafStamps.latestId=i,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,i)=>{const t=this.mirror.getId(i);this.flushPendingCanvasMutationFor(i,t)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,i){if(this.frozen||this.locked)return;const t=this.pendingCanvasMutations.get(e);if(!t||i===-1)return;const o=t.map(a=>Ya(a,["type"])),{type:s}=t[0];this.mutationCb({id:i,type:s,commands:o}),this.pendingCanvasMutations.delete(e)}}class cr{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new Ta,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,i){"_cssText"in i.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:i.id,attributes:i.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,i){if(e.length===0)return;const t={id:i,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:Ot(l),index:d}))})),t.styleIds.push(a)}o.length>0&&(t.styles=o),this.adoptedStyleSheetCb(t)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class ur{constructor(){this.nodeMap=new WeakMap,this.loop=!0,this.periodicallyClear()}periodicallyClear(){requestAnimationFrame(()=>{this.clear(),this.loop&&this.periodicallyClear()})}inOtherBuffer(e,i){const t=this.nodeMap.get(e);return t&&Array.from(t).some(o=>o!==i)}add(e,i){this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(i))}clear(){this.nodeMap=new WeakMap}destroy(){this.loop=!1}}function de(n){return Object.assign(Object.assign({},n),{timestamp:gi()})}let ae,_i,Xi,Mi=!1;const Ve=oa();function Xn(n={}){const{emit:e,checkoutEveryNms:i,checkoutEveryNth:t,blockClass:o="rr-block",blockSelector:s=null,ignoreClass:a="rr-ignore",ignoreSelector:l=null,maskTextClass:d="rr-mask",maskTextSelector:v=null,inlineStylesheet:p=!0,maskAllInputs:g,maskInputOptions:f,slimDOMOptions:y,maskInputFn:k,maskTextFn:C,hooks:S,packFn:M,sampling:A={},dataURLOptions:_={},mousemoveWait:T,recordDOM:I=!0,recordCanvas:K=!1,recordCrossOriginIframes:G=!1,recordAfter:U=n.recordAfter==="DOMContentLoaded"?n.recordAfter:"load",userTriggeredOnInput:F=!1,collectFonts:oe=!1,inlineImages:ge=!1,plugins:V,keepIframeSrcFn:_e=()=>!1,ignoreCSSAttributes:ue=new Set([]),errorHandler:Te}=n;Ba(Te);const Me=G?window.parent===window:!0;let en=!1;if(!Me)try{window.parent.document&&(en=!1)}catch{en=!0}if(Me&&!e)throw new Error("emit function is required");T!==void 0&&A.mousemove===void 0&&(A.mousemove=T),Ve.reset();const vn=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}:f!==void 0?f:{password:!0},nn=y===!0||y==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:y==="all",headMetaDescKeywords:y==="all"}:y||{};La();let _n,bn=0;const Ee=B=>{for(const he of V||[])he.eventProcessor&&(B=he.eventProcessor(B));return M&&!en&&(B=M(B)),B};ae=(B,he)=>{var Q;if(!((Q=Cn[0])===null||Q===void 0)&&Q.isFrozen()&&B.type!==W.FullSnapshot&&!(B.type===W.IncrementalSnapshot&&B.data.source===z.Mutation)&&Cn.forEach(me=>me.unfreeze()),Me)e==null||e(Ee(B),he);else if(en){const me={type:"rrweb",event:Ee(B),origin:window.location.origin,isCheckout:he};window.parent.postMessage(me,"*")}if(B.type===W.FullSnapshot)_n=B,bn=0;else if(B.type===W.IncrementalSnapshot){if(B.data.source===z.Mutation&&B.data.isAttachIframe)return;bn++;const me=t&&bn>=t,Ie=i&&B.timestamp-_n.timestamp>i;(me||Ie)&&_i(!0)}};const tn=B=>{ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Mutation},B)}))},Mn=B=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Scroll},B)})),re=B=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.CanvasMutation},B)})),fe=B=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.AdoptedStyleSheet},B)})),Re=new cr({mutationCb:tn,adoptedStyleSheetCb:fe}),Pe=new Ja({mirror:Ve,mutationCb:tn,stylesheetManager:Re,recordCrossOriginIframes:G,wrappedEmit:ae});for(const B of V||[])B.getMirror&&B.getMirror({nodeMirror:Ve,crossOriginIframeMirror:Pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:Pe.crossOriginIframeStyleMirror});const we=new ur;Xi=new dr({recordCanvas:K,mutationCb:re,win:window,blockClass:o,blockSelector:s,mirror:Ve,sampling:A.canvas,dataURLOptions:_});const We=new $a({mutationCb:tn,scrollCb:Mn,bypassOptions:{blockClass:o,blockSelector:s,maskTextClass:d,maskTextSelector:v,inlineStylesheet:p,maskInputOptions:vn,dataURLOptions:_,maskTextFn:C,maskInputFn:k,recordCanvas:K,inlineImages:ge,sampling:A,slimDOMOptions:nn,iframeManager:Pe,stylesheetManager:Re,canvasManager:Xi,keepIframeSrcFn:_e,processedNodeManager:we},mirror:Ve});_i=(B=!1)=>{if(!I)return;ae(de({type:W.Meta,data:{href:window.location.href,width:$t(),height:Jt()}}),B),Re.reset(),We.init(),Cn.forEach(Q=>Q.lock());const he=Aa(document,{mirror:Ve,blockClass:o,blockSelector:s,maskTextClass:d,maskTextSelector:v,inlineStylesheet:p,maskAllInputs:vn,maskTextFn:C,slimDOM:nn,dataURLOptions:_,recordCanvas:K,inlineImages:ge,onSerialize:Q=>{Xt(Q,Ve)&&Pe.addIframe(Q),eo(Q,Ve)&&Re.trackLinkElement(Q),Yi(Q)&&We.addShadowRoot(Q.shadowRoot,document)},onIframeLoad:(Q,me)=>{Pe.attachIframe(Q,me),We.observeAttachShadow(Q)},onStylesheetLoad:(Q,me)=>{Re.attachLinkElement(Q,me)},keepIframeSrcFn:_e});if(!he)return console.warn("Failed to snapshot the document");ae(de({type:W.FullSnapshot,data:{node:he,initialOffset:Zt(window)}}),B),Cn.forEach(Q=>Q.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Re.adoptStyleSheets(document.adoptedStyleSheets,Ve.getId(document))};try{const B=[],he=me=>{var Ie;return q(Za)({mutationCb:tn,mousemoveCb:($,fn)=>ae(de({type:W.IncrementalSnapshot,data:{source:fn,positions:$}})),mouseInteractionCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.MouseInteraction},$)})),scrollCb:Mn,viewportResizeCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.ViewportResize},$)})),inputCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Input},$)})),mediaInteractionCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.MediaInteraction},$)})),styleSheetRuleCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.StyleSheetRule},$)})),styleDeclarationCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.StyleDeclaration},$)})),canvasMutationCb:re,fontCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Font},$)})),selectionCb:$=>{ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Selection},$)}))},customElementCb:$=>{ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.CustomElement},$)}))},blockClass:o,ignoreClass:a,ignoreSelector:l,maskTextClass:d,maskTextSelector:v,maskInputOptions:vn,inlineStylesheet:p,sampling:A,recordDOM:I,recordCanvas:K,inlineImages:ge,userTriggeredOnInput:F,collectFonts:oe,doc:me,maskInputFn:k,maskTextFn:C,keepIframeSrcFn:_e,blockSelector:s,slimDOMOptions:nn,dataURLOptions:_,mirror:Ve,iframeManager:Pe,stylesheetManager:Re,shadowDomManager:We,processedNodeManager:we,canvasManager:Xi,ignoreCSSAttributes:ue,plugins:((Ie=V==null?void 0:V.filter($=>$.observer))===null||Ie===void 0?void 0:Ie.map($=>({observer:$.observer,options:$.options,callback:fn=>ae(de({type:W.Plugin,data:{plugin:$.name,payload:fn}}))})))||[]},S)};Pe.addLoadListener(me=>{try{B.push(he(me.contentDocument))}catch(Ie){console.warn(Ie)}});const Q=()=>{_i(),B.push(he(document)),Mi=!0};return document.readyState==="interactive"||document.readyState==="complete"?Q():(B.push(ke("DOMContentLoaded",()=>{ae(de({type:W.DomContentLoaded,data:{}})),U==="DOMContentLoaded"&&Q()})),B.push(ke("load",()=>{ae(de({type:W.Load,data:{}})),U==="load"&&Q()},window))),()=>{B.forEach(me=>me()),we.destroy(),Mi=!1,Na()}}catch(B){console.warn(B)}}Xn.addCustomEvent=(n,e)=>{if(!Mi)throw new Error("please add custom event after start recording");ae(de({type:W.Custom,data:{tag:n,payload:e}}))},Xn.freezePage=()=>{Cn.forEach(n=>n.freeze())},Xn.takeFullSnapshot=n=>{if(!Mi)throw new Error("please take full snapshot after start recording");_i(n)},Xn.mirror=Ve;var wo=(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))(wo||{}),Ge=(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))(Ge||{}),$e={DEBUG:!1,LIB_VERSION:"2.55.1"},N;if(typeof window>"u"){var ko={hostname:""};N={navigator:{userAgent:"",onLine:!0},document:{location:ko,referrer:""},screen:{width:0,height:0},location:ko}}else N=window;var ei=24*60*60*1e3,et=8*1e3,Ai=Array.prototype,hr=Function.prototype,So=Object.prototype,ln=Ai.slice,ni=So.toString,xi=So.hasOwnProperty,ce=N.console,dn=N.navigator,ee=N.document,Li=N.opera,Ti=N.screen,ze=dn.userAgent,nt=hr.bind,_o=Ai.forEach,Mo=Ai.indexOf,Ao=Ai.map,mr=Array.isArray,it={},m={trim:function(n){return n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},J={log:function(){if($e.DEBUG&&!m.isUndefined(ce)&&ce)try{ce.log.apply(ce,arguments)}catch{m.each(arguments,function(e){ce.log(e)})}},warn:function(){if($e.DEBUG&&!m.isUndefined(ce)&&ce){var n=["Mixpanel warning:"].concat(m.toArray(arguments));try{ce.warn.apply(ce,n)}catch{m.each(n,function(i){ce.warn(i)})}}},error:function(){if($e.DEBUG&&!m.isUndefined(ce)&&ce){var n=["Mixpanel error:"].concat(m.toArray(arguments));try{ce.error.apply(ce,n)}catch{m.each(n,function(i){ce.error(i)})}}},critical:function(){if(!m.isUndefined(ce)&&ce){var n=["Mixpanel error:"].concat(m.toArray(arguments));try{ce.error.apply(ce,n)}catch{m.each(n,function(i){ce.error(i)})}}}},tt=function(n,e){return function(){return arguments[0]="["+e+"] "+arguments[0],n.apply(J,arguments)}},Ei=function(n){return{log:tt(J.log,n),error:tt(J.error,n),critical:tt(J.critical,n)}};m.bind=function(n,e){var i,t;if(nt&&n.bind===nt)return nt.apply(n,ln.call(arguments,1));if(!m.isFunction(n))throw new TypeError;return i=ln.call(arguments,2),t=function(){if(!(this instanceof t))return n.apply(e,i.concat(ln.call(arguments)));var o={};o.prototype=n.prototype;var s=new o;o.prototype=null;var a=n.apply(s,i.concat(ln.call(arguments)));return Object(a)===a?a:s},t},m.each=function(n,e,i){if(n!=null){if(_o&&n.forEach===_o)n.forEach(e,i);else if(n.length===+n.length){for(var t=0,o=n.length;t<o;t++)if(t in n&&e.call(i,n[t],t,n)===it)return}else for(var s in n)if(xi.call(n,s)&&e.call(i,n[s],s,n)===it)return}},m.extend=function(n){return m.each(ln.call(arguments,1),function(e){for(var i in e)e[i]!==void 0&&(n[i]=e[i])}),n},m.isArray=mr||function(n){return ni.call(n)==="[object Array]"},m.isFunction=function(n){try{return/^\s*\bfunction\b/.test(n)}catch{return!1}},m.isArguments=function(n){return!!(n&&xi.call(n,"callee"))},m.toArray=function(n){return n?n.toArray?n.toArray():m.isArray(n)||m.isArguments(n)?ln.call(n):m.values(n):[]},m.map=function(n,e,i){if(Ao&&n.map===Ao)return n.map(e,i);var t=[];return m.each(n,function(o){t.push(e.call(i,o))}),t},m.keys=function(n){var e=[];return n===null||m.each(n,function(i,t){e[e.length]=t}),e},m.values=function(n){var e=[];return n===null||m.each(n,function(i){e[e.length]=i}),e},m.include=function(n,e){var i=!1;return n===null?i:Mo&&n.indexOf===Mo?n.indexOf(e)!=-1:(m.each(n,function(t){if(i||(i=t===e))return it}),i)},m.includes=function(n,e){return n.indexOf(e)!==-1},m.inherit=function(n,e){return n.prototype=new e,n.prototype.constructor=n,n.superclass=e.prototype,n},m.isObject=function(n){return n===Object(n)&&!m.isArray(n)},m.isEmptyObject=function(n){if(m.isObject(n)){for(var e in n)if(xi.call(n,e))return!1;return!0}return!1},m.isUndefined=function(n){return n===void 0},m.isString=function(n){return ni.call(n)=="[object String]"},m.isDate=function(n){return ni.call(n)=="[object Date]"},m.isNumber=function(n){return ni.call(n)=="[object Number]"},m.isElement=function(n){return!!(n&&n.nodeType===1)},m.encodeDates=function(n){return m.each(n,function(e,i){m.isDate(e)?n[i]=m.formatDate(e):m.isObject(e)&&(n[i]=m.encodeDates(e))}),n},m.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},m.formatDate=function(n){function e(i){return i<10?"0"+i:i}return n.getUTCFullYear()+"-"+e(n.getUTCMonth()+1)+"-"+e(n.getUTCDate())+"T"+e(n.getUTCHours())+":"+e(n.getUTCMinutes())+":"+e(n.getUTCSeconds())},m.strip_empty_properties=function(n){var e={};return m.each(n,function(i,t){m.isString(i)&&i.length>0&&(e[t]=i)}),e},m.truncate=function(n,e){var i;return typeof n=="string"?i=n.slice(0,e):m.isArray(n)?(i=[],m.each(n,function(t){i.push(m.truncate(t,e))})):m.isObject(n)?(i={},m.each(n,function(t,o){i[o]=m.truncate(t,e)})):i=n,i},m.JSONEncode=function(){return function(n){var e=n,i=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+'"'},t=function(o,s){var a="",l=" ",d=0,v="",p="",g=0,f=a,y=[],k=s[o];switch(k&&typeof k=="object"&&typeof k.toJSON=="function"&&(k=k.toJSON(o)),typeof k){case"string":return i(k);case"number":return isFinite(k)?String(k):"null";case"boolean":case"null":return String(k);case"object":if(!k)return"null";if(a+=l,y=[],ni.apply(k)==="[object Array]"){for(g=k.length,d=0;d<g;d+=1)y[d]=t(d,k)||"null";return p=y.length===0?"[]":a?`[
|
|
983
|
+
***************************************************************************** */function n(v,p,g,f){function y(k){return k instanceof g?k:new g(function(C){C(k)})}return new(g||(g=Promise))(function(k,C){function S(_){try{A(f.next(_))}catch(T){C(T)}}function M(_){try{A(f.throw(_))}catch(T){C(T)}}function A(_){_.done?k(_.value):y(_.value).then(S,M)}A((f=f.apply(v,[])).next())})}for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=typeof Uint8Array>"u"?[]:new Uint8Array(256),t=0;t<e.length;t++)i[e.charCodeAt(t)]=t;var o=function(v){var p=new Uint8Array(v),g,f=p.length,y="";for(g=0;g<f;g+=3)y+=e[p[g]>>2],y+=e[(p[g]&3)<<4|p[g+1]>>4],y+=e[(p[g+1]&15)<<2|p[g+2]>>6],y+=e[p[g+2]&63];return f%3===2?y=y.substring(0,y.length-1)+"=":f%3===1&&(y=y.substring(0,y.length-2)+"=="),y};const s=new Map,a=new Map;function l(v,p,g){return n(this,void 0,void 0,function*(){const f=`${v}-${p}`;if("OffscreenCanvas"in globalThis){if(a.has(f))return a.get(f);const y=new OffscreenCanvas(v,p);y.getContext("2d");const C=yield(yield y.convertToBlob(g)).arrayBuffer(),S=o(C);return a.set(f,S),S}else return""})}const d=self;d.onmessage=function(v){return n(this,void 0,void 0,function*(){if("OffscreenCanvas"in globalThis){const{id:p,bitmap:g,width:f,height:y,dataURLOptions:k}=v.data,C=l(f,y,k),S=new OffscreenCanvas(f,y);S.getContext("2d").drawImage(g,0,0),g.close();const A=yield S.convertToBlob(k),_=A.type,T=yield A.arrayBuffer(),I=o(T);if(!s.has(p)&&(yield C)===I)return s.set(p,I),d.postMessage({id:p});if(s.get(p)===I)return d.postMessage({id:p});d.postMessage({id:p,type:_,base64:I,width:f,height:y}),s.set(p,I)}else return d.postMessage({id:v.data.id})})}})()});class lr{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:i="all",win:t,blockClass:o,blockSelector:s,recordCanvas:a,dataURLOptions:l}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&i==="all"&&this.initCanvasMutationObserver(t,o,s),a&&typeof i=="number"&&this.initCanvasFPSObserver(i,t,o,s,{dataURLOptions:l})}initCanvasFPSObserver(e,i,t,o,s){const a=yo(i,t,o,!0),l=new Map,d=new rr;d.onmessage=k=>{const{id:C}=k.data;if(l.set(C,!1),!("base64"in k.data))return;const{base64:S,type:M,width:A,height:_}=k.data;this.mutationCb({id:C,type:Rn["2D"],commands:[{property:"clearRect",args:[0,0,A,_]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:S}],type:M}]},0,0]}]})};const v=1e3/e;let p=0,g;const f=()=>{const k=[];return i.document.querySelectorAll("canvas").forEach(C=>{Se(C,t,o,!0)||k.push(C)}),k},y=k=>{if(p&&k-p<v){g=requestAnimationFrame(y);return}p=k,f().forEach(C=>Ya(this,void 0,void 0,function*(){var S;const M=this.mirror.getId(C);if(l.get(M)||C.width===0||C.height===0)return;if(l.set(M,!0),["webgl","webgl2"].includes(C.__context)){const _=C.getContext(C.__context);((S=_==null?void 0:_.getContextAttributes())===null||S===void 0?void 0:S.preserveDrawingBuffer)===!1&&_.clear(_.COLOR_BUFFER_BIT)}const A=yield createImageBitmap(C);d.postMessage({id:M,bitmap:A,width:C.width,height:C.height,dataURLOptions:s.dataURLOptions},[A])})),g=requestAnimationFrame(y)};g=requestAnimationFrame(y),this.resetObservers=()=>{a(),cancelAnimationFrame(g)}}initCanvasMutationObserver(e,i,t){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const o=yo(e,i,t,!1),s=nr(this.processMutation.bind(this),e,i,t),a=tr(this.processMutation.bind(this),e,i,t,this.mirror);this.resetObservers=()=>{o(),s(),a()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=i=>{this.rafStamps.latestId=i,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,i)=>{const t=this.mirror.getId(i);this.flushPendingCanvasMutationFor(i,t)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,i){if(this.frozen||this.locked)return;const t=this.pendingCanvasMutations.get(e);if(!t||i===-1)return;const o=t.map(a=>$a(a,["type"])),{type:s}=t[0];this.mutationCb({id:i,type:s,commands:o}),this.pendingCanvasMutations.delete(e)}}class dr{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new La,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,i){"_cssText"in i.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:i.id,attributes:i.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,i){if(e.length===0)return;const t={id:i,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:Ot(l),index:d}))})),t.styleIds.push(a)}o.length>0&&(t.styles=o),this.adoptedStyleSheetCb(t)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class cr{constructor(){this.nodeMap=new WeakMap,this.loop=!0,this.periodicallyClear()}periodicallyClear(){requestAnimationFrame(()=>{this.clear(),this.loop&&this.periodicallyClear()})}inOtherBuffer(e,i){const t=this.nodeMap.get(e);return t&&Array.from(t).some(o=>o!==i)}add(e,i){this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(i))}clear(){this.nodeMap=new WeakMap}destroy(){this.loop=!1}}function de(n){return Object.assign(Object.assign({},n),{timestamp:gi()})}let ae,_i,Xi,Mi=!1;const Ve=ta();function Xn(n={}){const{emit:e,checkoutEveryNms:i,checkoutEveryNth:t,blockClass:o="rr-block",blockSelector:s=null,ignoreClass:a="rr-ignore",ignoreSelector:l=null,maskTextClass:d="rr-mask",maskTextSelector:v=null,inlineStylesheet:p=!0,maskAllInputs:g,maskInputOptions:f,slimDOMOptions:y,maskInputFn:k,maskTextFn:C,hooks:S,packFn:M,sampling:A={},dataURLOptions:_={},mousemoveWait:T,recordDOM:I=!0,recordCanvas:K=!1,recordCrossOriginIframes:G=!1,recordAfter:U=n.recordAfter==="DOMContentLoaded"?n.recordAfter:"load",userTriggeredOnInput:F=!1,collectFonts:oe=!1,inlineImages:ge=!1,plugins:V,keepIframeSrcFn:_e=()=>!1,ignoreCSSAttributes:ue=new Set([]),errorHandler:Te}=n;Da(Te);const Me=G?window.parent===window:!0;let en=!1;if(!Me)try{window.parent.document&&(en=!1)}catch{en=!0}if(Me&&!e)throw new Error("emit function is required");T!==void 0&&A.mousemove===void 0&&(A.mousemove=T),Ve.reset();const vn=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}:f!==void 0?f:{password:!0},nn=y===!0||y==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:y==="all",headMetaDescKeywords:y==="all"}:y||{};xa();let _n,bn=0;const Ee=B=>{for(const he of V||[])he.eventProcessor&&(B=he.eventProcessor(B));return M&&!en&&(B=M(B)),B};ae=(B,he)=>{var Q;if(!((Q=Cn[0])===null||Q===void 0)&&Q.isFrozen()&&B.type!==W.FullSnapshot&&!(B.type===W.IncrementalSnapshot&&B.data.source===z.Mutation)&&Cn.forEach(me=>me.unfreeze()),Me)e==null||e(Ee(B),he);else if(en){const me={type:"rrweb",event:Ee(B),origin:window.location.origin,isCheckout:he};window.parent.postMessage(me,"*")}if(B.type===W.FullSnapshot)_n=B,bn=0;else if(B.type===W.IncrementalSnapshot){if(B.data.source===z.Mutation&&B.data.isAttachIframe)return;bn++;const me=t&&bn>=t,Ie=i&&B.timestamp-_n.timestamp>i;(me||Ie)&&_i(!0)}};const tn=B=>{ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Mutation},B)}))},Mn=B=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Scroll},B)})),re=B=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.CanvasMutation},B)})),fe=B=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.AdoptedStyleSheet},B)})),Re=new dr({mutationCb:tn,adoptedStyleSheetCb:fe}),Pe=new Za({mirror:Ve,mutationCb:tn,stylesheetManager:Re,recordCrossOriginIframes:G,wrappedEmit:ae});for(const B of V||[])B.getMirror&&B.getMirror({nodeMirror:Ve,crossOriginIframeMirror:Pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:Pe.crossOriginIframeStyleMirror});const we=new cr;Xi=new lr({recordCanvas:K,mutationCb:re,win:window,blockClass:o,blockSelector:s,mirror:Ve,sampling:A.canvas,dataURLOptions:_});const We=new Ja({mutationCb:tn,scrollCb:Mn,bypassOptions:{blockClass:o,blockSelector:s,maskTextClass:d,maskTextSelector:v,inlineStylesheet:p,maskInputOptions:vn,dataURLOptions:_,maskTextFn:C,maskInputFn:k,recordCanvas:K,inlineImages:ge,sampling:A,slimDOMOptions:nn,iframeManager:Pe,stylesheetManager:Re,canvasManager:Xi,keepIframeSrcFn:_e,processedNodeManager:we},mirror:Ve});_i=(B=!1)=>{if(!I)return;ae(de({type:W.Meta,data:{href:window.location.href,width:$t(),height:Jt()}}),B),Re.reset(),We.init(),Cn.forEach(Q=>Q.lock());const he=Ma(document,{mirror:Ve,blockClass:o,blockSelector:s,maskTextClass:d,maskTextSelector:v,inlineStylesheet:p,maskAllInputs:vn,maskTextFn:C,slimDOM:nn,dataURLOptions:_,recordCanvas:K,inlineImages:ge,onSerialize:Q=>{Xt(Q,Ve)&&Pe.addIframe(Q),eo(Q,Ve)&&Re.trackLinkElement(Q),Yi(Q)&&We.addShadowRoot(Q.shadowRoot,document)},onIframeLoad:(Q,me)=>{Pe.attachIframe(Q,me),We.observeAttachShadow(Q)},onStylesheetLoad:(Q,me)=>{Re.attachLinkElement(Q,me)},keepIframeSrcFn:_e});if(!he)return console.warn("Failed to snapshot the document");ae(de({type:W.FullSnapshot,data:{node:he,initialOffset:Zt(window)}}),B),Cn.forEach(Q=>Q.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Re.adoptStyleSheets(document.adoptedStyleSheets,Ve.getId(document))};try{const B=[],he=me=>{var Ie;return q(Wa)({mutationCb:tn,mousemoveCb:($,fn)=>ae(de({type:W.IncrementalSnapshot,data:{source:fn,positions:$}})),mouseInteractionCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.MouseInteraction},$)})),scrollCb:Mn,viewportResizeCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.ViewportResize},$)})),inputCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Input},$)})),mediaInteractionCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.MediaInteraction},$)})),styleSheetRuleCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.StyleSheetRule},$)})),styleDeclarationCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.StyleDeclaration},$)})),canvasMutationCb:re,fontCb:$=>ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Font},$)})),selectionCb:$=>{ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.Selection},$)}))},customElementCb:$=>{ae(de({type:W.IncrementalSnapshot,data:Object.assign({source:z.CustomElement},$)}))},blockClass:o,ignoreClass:a,ignoreSelector:l,maskTextClass:d,maskTextSelector:v,maskInputOptions:vn,inlineStylesheet:p,sampling:A,recordDOM:I,recordCanvas:K,inlineImages:ge,userTriggeredOnInput:F,collectFonts:oe,doc:me,maskInputFn:k,maskTextFn:C,keepIframeSrcFn:_e,blockSelector:s,slimDOMOptions:nn,dataURLOptions:_,mirror:Ve,iframeManager:Pe,stylesheetManager:Re,shadowDomManager:We,processedNodeManager:we,canvasManager:Xi,ignoreCSSAttributes:ue,plugins:((Ie=V==null?void 0:V.filter($=>$.observer))===null||Ie===void 0?void 0:Ie.map($=>({observer:$.observer,options:$.options,callback:fn=>ae(de({type:W.Plugin,data:{plugin:$.name,payload:fn}}))})))||[]},S)};Pe.addLoadListener(me=>{try{B.push(he(me.contentDocument))}catch(Ie){console.warn(Ie)}});const Q=()=>{_i(),B.push(he(document)),Mi=!0};return document.readyState==="interactive"||document.readyState==="complete"?Q():(B.push(ke("DOMContentLoaded",()=>{ae(de({type:W.DomContentLoaded,data:{}})),U==="DOMContentLoaded"&&Q()})),B.push(ke("load",()=>{ae(de({type:W.Load,data:{}})),U==="load"&&Q()},window))),()=>{B.forEach(me=>me()),we.destroy(),Mi=!1,Ba()}}catch(B){console.warn(B)}}Xn.addCustomEvent=(n,e)=>{if(!Mi)throw new Error("please add custom event after start recording");ae(de({type:W.Custom,data:{tag:n,payload:e}}))},Xn.freezePage=()=>{Cn.forEach(n=>n.freeze())},Xn.takeFullSnapshot=n=>{if(!Mi)throw new Error("please take full snapshot after start recording");_i(n)},Xn.mirror=Ve;var wo=(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))(wo||{}),Ge=(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))(Ge||{}),$e={DEBUG:!1,LIB_VERSION:"2.55.1"},N;if(typeof window>"u"){var ko={hostname:""};N={navigator:{userAgent:"",onLine:!0},document:{location:ko,referrer:""},screen:{width:0,height:0},location:ko}}else N=window;var ei=24*60*60*1e3,et=8*1e3,Ai=Array.prototype,ur=Function.prototype,So=Object.prototype,ln=Ai.slice,ni=So.toString,xi=So.hasOwnProperty,ce=N.console,dn=N.navigator,ee=N.document,Li=N.opera,Ti=N.screen,ze=dn.userAgent,nt=ur.bind,_o=Ai.forEach,Mo=Ai.indexOf,Ao=Ai.map,hr=Array.isArray,it={},m={trim:function(n){return n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},J={log:function(){if($e.DEBUG&&!m.isUndefined(ce)&&ce)try{ce.log.apply(ce,arguments)}catch{m.each(arguments,function(e){ce.log(e)})}},warn:function(){if($e.DEBUG&&!m.isUndefined(ce)&&ce){var n=["Mixpanel warning:"].concat(m.toArray(arguments));try{ce.warn.apply(ce,n)}catch{m.each(n,function(i){ce.warn(i)})}}},error:function(){if($e.DEBUG&&!m.isUndefined(ce)&&ce){var n=["Mixpanel error:"].concat(m.toArray(arguments));try{ce.error.apply(ce,n)}catch{m.each(n,function(i){ce.error(i)})}}},critical:function(){if(!m.isUndefined(ce)&&ce){var n=["Mixpanel error:"].concat(m.toArray(arguments));try{ce.error.apply(ce,n)}catch{m.each(n,function(i){ce.error(i)})}}}},tt=function(n,e){return function(){return arguments[0]="["+e+"] "+arguments[0],n.apply(J,arguments)}},Ei=function(n){return{log:tt(J.log,n),error:tt(J.error,n),critical:tt(J.critical,n)}};m.bind=function(n,e){var i,t;if(nt&&n.bind===nt)return nt.apply(n,ln.call(arguments,1));if(!m.isFunction(n))throw new TypeError;return i=ln.call(arguments,2),t=function(){if(!(this instanceof t))return n.apply(e,i.concat(ln.call(arguments)));var o={};o.prototype=n.prototype;var s=new o;o.prototype=null;var a=n.apply(s,i.concat(ln.call(arguments)));return Object(a)===a?a:s},t},m.each=function(n,e,i){if(n!=null){if(_o&&n.forEach===_o)n.forEach(e,i);else if(n.length===+n.length){for(var t=0,o=n.length;t<o;t++)if(t in n&&e.call(i,n[t],t,n)===it)return}else for(var s in n)if(xi.call(n,s)&&e.call(i,n[s],s,n)===it)return}},m.extend=function(n){return m.each(ln.call(arguments,1),function(e){for(var i in e)e[i]!==void 0&&(n[i]=e[i])}),n},m.isArray=hr||function(n){return ni.call(n)==="[object Array]"},m.isFunction=function(n){try{return/^\s*\bfunction\b/.test(n)}catch{return!1}},m.isArguments=function(n){return!!(n&&xi.call(n,"callee"))},m.toArray=function(n){return n?n.toArray?n.toArray():m.isArray(n)||m.isArguments(n)?ln.call(n):m.values(n):[]},m.map=function(n,e,i){if(Ao&&n.map===Ao)return n.map(e,i);var t=[];return m.each(n,function(o){t.push(e.call(i,o))}),t},m.keys=function(n){var e=[];return n===null||m.each(n,function(i,t){e[e.length]=t}),e},m.values=function(n){var e=[];return n===null||m.each(n,function(i){e[e.length]=i}),e},m.include=function(n,e){var i=!1;return n===null?i:Mo&&n.indexOf===Mo?n.indexOf(e)!=-1:(m.each(n,function(t){if(i||(i=t===e))return it}),i)},m.includes=function(n,e){return n.indexOf(e)!==-1},m.inherit=function(n,e){return n.prototype=new e,n.prototype.constructor=n,n.superclass=e.prototype,n},m.isObject=function(n){return n===Object(n)&&!m.isArray(n)},m.isEmptyObject=function(n){if(m.isObject(n)){for(var e in n)if(xi.call(n,e))return!1;return!0}return!1},m.isUndefined=function(n){return n===void 0},m.isString=function(n){return ni.call(n)=="[object String]"},m.isDate=function(n){return ni.call(n)=="[object Date]"},m.isNumber=function(n){return ni.call(n)=="[object Number]"},m.isElement=function(n){return!!(n&&n.nodeType===1)},m.encodeDates=function(n){return m.each(n,function(e,i){m.isDate(e)?n[i]=m.formatDate(e):m.isObject(e)&&(n[i]=m.encodeDates(e))}),n},m.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},m.formatDate=function(n){function e(i){return i<10?"0"+i:i}return n.getUTCFullYear()+"-"+e(n.getUTCMonth()+1)+"-"+e(n.getUTCDate())+"T"+e(n.getUTCHours())+":"+e(n.getUTCMinutes())+":"+e(n.getUTCSeconds())},m.strip_empty_properties=function(n){var e={};return m.each(n,function(i,t){m.isString(i)&&i.length>0&&(e[t]=i)}),e},m.truncate=function(n,e){var i;return typeof n=="string"?i=n.slice(0,e):m.isArray(n)?(i=[],m.each(n,function(t){i.push(m.truncate(t,e))})):m.isObject(n)?(i={},m.each(n,function(t,o){i[o]=m.truncate(t,e)})):i=n,i},m.JSONEncode=function(){return function(n){var e=n,i=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+'"'},t=function(o,s){var a="",l=" ",d=0,v="",p="",g=0,f=a,y=[],k=s[o];switch(k&&typeof k=="object"&&typeof k.toJSON=="function"&&(k=k.toJSON(o)),typeof k){case"string":return i(k);case"number":return isFinite(k)?String(k):"null";case"boolean":case"null":return String(k);case"object":if(!k)return"null";if(a+=l,y=[],ni.apply(k)==="[object Array]"){for(g=k.length,d=0;d<g;d+=1)y[d]=t(d,k)||"null";return p=y.length===0?"[]":a?`[
|
|
984
984
|
`+a+y.join(`,
|
|
985
985
|
`+a)+`
|
|
986
986
|
`+f+"]":"["+y.join(",")+"]",a=f,p}for(v in k)xi.call(k,v)&&(p=t(v,k),p&&y.push(i(v)+(a?": ":":")+p));return p=y.length===0?"{}":a?"{"+y.join(",")+f+"}":"{"+y.join(",")+"}",a=f,p}};return t("",{"":e})}}(),m.JSONDecode=function(){var n,e,i={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
987
987
|
`,r:"\r",t:" "},t,o=function(y){var k=new SyntaxError(y);throw k.at=n,k.text=t,k},s=function(y){return y&&y!==e&&o("Expected '"+y+"' instead of '"+e+"'"),e=t.charAt(n),n+=1,e},a=function(){var y,k="";for(e==="-"&&(k="-",s("-"));e>="0"&&e<="9";)k+=e,s();if(e===".")for(k+=".";s()&&e>="0"&&e<="9";)k+=e;if(e==="e"||e==="E")for(k+=e,s(),(e==="-"||e==="+")&&(k+=e,s());e>="0"&&e<="9";)k+=e,s();if(y=+k,!isFinite(y))o("Bad number");else return y},l=function(){var y,k,C="",S;if(e==='"')for(;s();){if(e==='"')return s(),C;if(e==="\\")if(s(),e==="u"){for(S=0,k=0;k<4&&(y=parseInt(s(),16),!!isFinite(y));k+=1)S=S*16+y;C+=String.fromCharCode(S)}else if(typeof i[e]=="string")C+=i[e];else break;else C+=e}o("Bad string")},d=function(){for(;e&&e<=" ";)s()},v=function(){switch(e){case"t":return s("t"),s("r"),s("u"),s("e"),!0;case"f":return s("f"),s("a"),s("l"),s("s"),s("e"),!1;case"n":return s("n"),s("u"),s("l"),s("l"),null}o('Unexpected "'+e+'"')},p,g=function(){var y=[];if(e==="["){if(s("["),d(),e==="]")return s("]"),y;for(;e;){if(y.push(p()),d(),e==="]")return s("]"),y;s(","),d()}}o("Bad array")},f=function(){var y,k={};if(e==="{"){if(s("{"),d(),e==="}")return s("}"),k;for(;e;){if(y=l(),d(),s(":"),Object.hasOwnProperty.call(k,y)&&o('Duplicate key "'+y+'"'),k[y]=p(),d(),e==="}")return s("}"),k;s(","),d()}}o("Bad object")};return p=function(){switch(d(),e){case"{":return f();case"[":return g();case'"':return l();case"-":return a();default:return e>="0"&&e<="9"?a():v()}},function(y){var k;return t=y,n=0,e=" ",k=p(),d(),e&&o("Syntax error"),k}}(),m.base64Encode=function(n){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i,t,o,s,a,l,d,v,p=0,g=0,f="",y=[];if(!n)return n;n=m.utf8Encode(n);do i=n.charCodeAt(p++),t=n.charCodeAt(p++),o=n.charCodeAt(p++),v=i<<16|t<<8|o,s=v>>18&63,a=v>>12&63,l=v>>6&63,d=v&63,y[g++]=e.charAt(s)+e.charAt(a)+e.charAt(l)+e.charAt(d);while(p<n.length);switch(f=y.join(""),n.length%3){case 1:f=f.slice(0,-2)+"==";break;case 2:f=f.slice(0,-1)+"=";break}return f},m.utf8Encode=function(n){n=(n+"").replace(/\r\n/g,`
|
|
988
988
|
`).replace(/\r/g,`
|
|
989
|
-
`);var e="",i,t,o=0,s;for(i=t=0,o=n.length,s=0;s<o;s++){var a=n.charCodeAt(s),l=null;a<128?t++: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&&(t>i&&(e+=n.substring(i,t)),e+=l,i=t=s+1)}return t>i&&(e+=n.substring(i,n.length)),e},m.UUID=function(){var n=function(){var t=1*new Date,o;if(N.performance&&N.performance.now)o=N.performance.now();else for(o=0;t==1*new Date;)o++;return t.toString(16)+Math.floor(o).toString(16)},e=function(){return Math.random().toString(16).replace(".","")},i=function(){var t=ze,o,s,a=[],l=0;function d(v,p){var g,f=0;for(g=0;g<p.length;g++)f|=a[g]<<g*8;return v^f}for(o=0;o<t.length;o++)s=t.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 t=(Ti.height*Ti.width).toString(16);return n()+"-"+e()+"-"+i()+"-"+t+"-"+n()}}();var xo=["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"];m.isBlockedUA=function(n){var e;for(n=n.toLowerCase(),e=0;e<xo.length;e++)if(n.indexOf(xo[e])!==-1)return!0;return!1},m.HTTPBuildQuery=function(n,e){var i,t,o=[];return m.isUndefined(e)&&(e="&"),m.each(n,function(s,a){i=encodeURIComponent(s.toString()),t=encodeURIComponent(a),o[o.length]=t+"="+i}),o.join(e)},m.getQueryParam=function(n,e){e=e.replace(/[[]/g,"\\[").replace(/[\]]/g,"\\]");var i="[\\?&]"+e+"=([^&#]*)",t=new RegExp(i),o=t.exec(n);if(o===null||o&&typeof o[1]!="string"&&o[1].length)return"";var s=o[1];try{s=decodeURIComponent(s)}catch{J.error("Skipping decoding for malformed query param: "+s)}return s.replace(/\+/g," ")},m.cookie={get:function(n){for(var e=n+"=",i=ee.cookie.split(";"),t=0;t<i.length;t++){for(var o=i[t];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=m.JSONDecode(m.cookie.get(n))||{}}catch{}return e},set_seconds:function(n,e,i,t,o,s,a){var l="",d="",v="";if(a)l="; domain="+a;else if(t){var p=Lo(ee.location.hostname);l=p?"; domain=."+p:""}if(i){var g=new Date;g.setTime(g.getTime()+i*1e3),d="; expires="+g.toGMTString()}s&&(o=!0,v="; SameSite=None"),o&&(v+="; secure"),ee.cookie=n+"="+encodeURIComponent(e)+d+"; path=/"+l+v},set:function(n,e,i,t,o,s,a){var l="",d="",v="";if(a)l="; domain="+a;else if(t){var p=Lo(ee.location.hostname);l=p?"; domain=."+p:""}if(i){var g=new Date;g.setTime(g.getTime()+i*24*60*60*1e3),d="; expires="+g.toGMTString()}s&&(o=!0,v="; SameSite=None"),o&&(v+="; secure");var f=n+"="+encodeURIComponent(e)+d+"; path=/"+l+v;return ee.cookie=f,f},remove:function(n,e,i){m.cookie.set(n,"",-1,e,!1,!1,i)}};var ot=null,Pi=function(n,e){if(ot!==null&&!e)return ot;var i=!0;try{n=n||window.localStorage;var t="__mplss_"+st(8),o="xyz";n.setItem(t,o),n.getItem(t)!==o&&(i=!1),n.removeItem(t)}catch{i=!1}return ot=i,i};m.localStorage={is_supported:function(n){var e=Pi(null,n);return e||J.error("localStorage unsupported; falling back to cookie store"),e},error:function(n){J.error("localStorage error: "+n)},get:function(n){try{return window.localStorage.getItem(n)}catch(e){m.localStorage.error(e)}return null},parse:function(n){try{return m.JSONDecode(m.localStorage.get(n))||{}}catch{}return null},set:function(n,e){try{window.localStorage.setItem(n,e)}catch(i){m.localStorage.error(i)}},remove:function(n){try{window.localStorage.removeItem(n)}catch(e){m.localStorage.error(e)}}},m.register_event=function(){var n=function(t,o,s,a,l){if(!t){J.error("No valid element provided to register_event");return}if(t.addEventListener&&!a)t.addEventListener(o,s,!!l);else{var d="on"+o,v=t[d];t[d]=e(t,s,v)}};function e(t,o,s){var a=function(l){if(l=l||i(window.event),!!l){var d=!0,v,p;return m.isFunction(s)&&(v=s(l)),p=o.call(t,l),(v===!1||p===!1)&&(d=!1),d}};return a}function i(t){return t&&(t.preventDefault=i.preventDefault,t.stopPropagation=i.stopPropagation),t}return i.preventDefault=function(){this.returnValue=!1},i.stopPropagation=function(){this.cancelBubble=!0},n}();var pr=new RegExp('^(\\w*)\\[(\\w+)([=~\\|\\^\\$\\*]?)=?"?([^\\]"]*)"?\\]$');m.dom_query=function(){function n(o){return o.all?o.all:o.getElementsByTagName("*")}var e=/[\t\r\n]/g;function i(o,s){var a=" "+s+" ";return(" "+o.className+" ").replace(e," ").indexOf(a)>=0}function t(o){if(!ee.getElementsByTagName)return[];var s=o.split(" "),a,l,d,v,p,g,f,y,k,C,S=[ee];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 M=l[1],A=ee.getElementById(M);if(!A||d&&A.nodeName.toLowerCase()!=d)return[];S=[A];continue}if(a.indexOf(".")>-1){l=a.split("."),d=l[0];var _=l[1];for(d||(d="*"),v=[],p=0,f=0;f<S.length;f++)for(d=="*"?k=n(S[f]):k=S[f].getElementsByTagName(d),y=0;y<k.length;y++)v[p++]=k[y];for(S=[],C=0,f=0;f<v.length;f++)v[f].className&&m.isString(v[f].className)&&i(v[f],_)&&(S[C++]=v[f]);continue}var T=a.match(pr);if(T){d=T[1];var I=T[2],K=T[3],G=T[4];for(d||(d="*"),v=[],p=0,f=0;f<S.length;f++)for(d=="*"?k=n(S[f]):k=S[f].getElementsByTagName(d),y=0;y<k.length;y++)v[p++]=k[y];S=[],C=0;var U;switch(K){case"=":U=function(F){return F.getAttribute(I)==G};break;case"~":U=function(F){return F.getAttribute(I).match(new RegExp("\\b"+G+"\\b"))};break;case"|":U=function(F){return F.getAttribute(I).match(new RegExp("^"+G+"-?"))};break;case"^":U=function(F){return F.getAttribute(I).indexOf(G)===0};break;case"$":U=function(F){return F.getAttribute(I).lastIndexOf(G)==F.getAttribute(I).length-G.length};break;case"*":U=function(F){return F.getAttribute(I).indexOf(G)>-1};break;default:U=function(F){return F.getAttribute(I)}}for(S=[],C=0,f=0;f<v.length;f++)U(v[f])&&(S[C++]=v[f]);continue}for(d=a,v=[],p=0,f=0;f<S.length;f++)for(k=S[f].getElementsByTagName(d),y=0;y<k.length;y++)v[p++]=k[y];S=v}return S}return function(o){return m.isElement(o)?[o]:m.isObject(o)&&!m.isUndefined(o.length)?o:t.call(this,o)}}();var vr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_source_platform","utm_campaign_id","utm_creative_format","utm_marketing_tactic"],br=["dclid","fbclid","gclid","ko_click_id","li_fat_id","msclkid","sccid","ttclid","twclid","wbraid"];m.info={campaignParams:function(n){var e="",i={};return m.each(vr,function(t){e=m.getQueryParam(ee.URL,t),e.length?i[t]=e:n!==void 0&&(i[t]=n)}),i},clickParams:function(){var n="",e={};return m.each(br,function(i){n=m.getQueryParam(ee.URL,i),n.length&&(e[i]=n)}),e},marketingParams:function(){return m.extend(m.info.campaignParams(),m.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=m.info.searchEngine(n),i=e!="yahoo"?"q":"p",t={};if(e!==null){t.$search_engine=e;var o=m.getQueryParam(n,i);o.length&&(t.mp_keyword=o)}return t},browser:function(n,e,i){return e=e||"",i||m.includes(n," OPR/")?m.includes(n,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":m.includes(n,"IEMobile")||m.includes(n,"WPDesktop")?"Internet Explorer Mobile":m.includes(n,"SamsungBrowser/")?"Samsung Internet":m.includes(n,"Edge")||m.includes(n,"Edg/")?"Microsoft Edge":m.includes(n,"FBIOS")?"Facebook Mobile":m.includes(n,"Chrome")?"Chrome":m.includes(n,"CriOS")?"Chrome iOS":m.includes(n,"UCWEB")||m.includes(n,"UCBrowser")?"UC Browser":m.includes(n,"FxiOS")?"Firefox iOS":m.includes(e,"Apple")?m.includes(n,"Mobile")?"Mobile Safari":"Safari":m.includes(n,"Android")?"Android Mobile":m.includes(n,"Konqueror")?"Konqueror":m.includes(n,"Firefox")?"Firefox":m.includes(n,"MSIE")||m.includes(n,"Trident/")?"Internet Explorer":m.includes(n,"Gecko")?"Mozilla":""},browserVersion:function(n,e,i){var t=m.info.browser(n,e,i),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[t];if(s===void 0)return null;var a=n.match(s);return a?parseFloat(a[a.length-2]):null},os:function(){var n=ze;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 N.location.href},properties:function(n){return typeof n!="object"&&(n={}),m.extend(m.strip_empty_properties({$os:m.info.os(),$browser:m.info.browser(ze,dn.vendor,Li),$referrer:ee.referrer,$referring_domain:m.info.referringDomain(ee.referrer),$device:m.info.device(ze)}),{$current_url:m.info.currentUrl(),$browser_version:m.info.browserVersion(ze,dn.vendor,Li),$screen_height:Ti.height,$screen_width:Ti.width,mp_lib:"web",$lib_version:$e.LIB_VERSION,$insert_id:st(),time:m.timestamp()/1e3},m.strip_empty_properties(n))},people_properties:function(){return m.extend(m.strip_empty_properties({$os:m.info.os(),$browser:m.info.browser(ze,dn.vendor,Li)}),{$browser_version:m.info.browserVersion(ze,dn.vendor,Li)})},mpPageViewProperties:function(){return m.strip_empty_properties({current_page_title:ee.title,current_domain:N.location.hostname,current_url_path:N.location.pathname,current_url_protocol:N.location.protocol,current_url_search:N.location.search})}};var st=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},fr=/[a-z0-9][a-z0-9-]*\.[a-z]+$/i,gr=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i,Lo=function(n){var e=gr,i=n.split("."),t=i[i.length-1];(t.length>4||t==="com"||t==="org")&&(e=fr);var o=n.match(e);return o?o[0]:""},yr=function(){var n=N.navigator.onLine;return m.isUndefined(n)||n},Ii=null,Di=null;typeof JSON<"u"&&(Ii=JSON.stringify,Di=JSON.parse),Ii=Ii||m.JSONEncode,Di=Di||m.JSONDecode,m.toArray=m.toArray,m.isObject=m.isObject,m.JSONEncode=m.JSONEncode,m.JSONDecode=m.JSONDecode,m.isBlockedUA=m.isBlockedUA,m.isEmptyObject=m.isEmptyObject,m.info=m.info,m.info.device=m.info.device,m.info.browser=m.info.browser,m.info.browserVersion=m.info.browserVersion,m.info.properties=m.info.properties;var Cr="__mp_opt_in_out_";function wr(n,e){Po(!0,n,e)}function kr(n,e){Po(!1,n,e)}function Sr(n,e){return Eo(n,e)==="1"}function To(n,e){if(Mr(e))return J.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 i=Eo(n,e)==="0";return i&&J.warn("You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data."),i}function cn(n){return lt(n,function(e){return this.get_config(e)})}function un(n){return lt(n,function(e){return this._get_config(e)})}function Un(n){return lt(n,function(e){return this._get_config(e)})}function _r(n,e){e=e||{},at(e).remove(rt(n,e),!!e.crossSubdomainCookie,e.cookieDomain)}function at(n){return n=n||{},n.persistenceType==="localStorage"?m.localStorage:m.cookie}function rt(n,e){return e=e||{},(e.persistencePrefix||Cr)+n}function Eo(n,e){return at(e).get(rt(n,e))}function Mr(n){if(n&&n.ignoreDnt)return!1;var e=n&&n.window||N,i=e.navigator||{},t=!1;return m.each([i.doNotTrack,i.msDoNotTrack,e.doNotTrack],function(o){m.includes([!0,1,"1","yes"],o)&&(t=!0)}),t}function Po(n,e,i){if(!m.isString(e)||!e.length){J.error("gdpr."+(n?"optIn":"optOut")+" called with an invalid token");return}i=i||{},at(i).set(rt(e,i),n?1:0,m.isNumber(i.cookieExpiration)?i.cookieExpiration:null,!!i.crossSubdomainCookie,!!i.secureCookie,!!i.crossSiteCookie,i.cookieDomain),i.track&&n&&i.track(i.trackEventName||"$opt_in",i.trackProperties,{send_immediately:!0})}function lt(n,e){return function(){var i=!1;try{var t=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");t&&(i=To(t,{ignoreDnt:o,persistenceType:s,persistencePrefix:a,window:l}))}catch(v){J.error("Unexpected error when checking tracking opt-out status: "+v)}if(!i)return n.apply(this,arguments);var d=arguments[arguments.length-1];typeof d=="function"&&d(0)}}var Ar=Ei("lock"),Io=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.pollIntervalMS=e.pollIntervalMS||100,this.timeoutMS=e.timeoutMS||2e3};Io.prototype.withLock=function(n,e,i){!i&&typeof e!="function"&&(i=e,e=null);var t=i||new Date().getTime()+"|"+Math.random(),o=new Date().getTime(),s=this.storageKey,a=this.pollIntervalMS,l=this.timeoutMS,d=this.storage,v=s+":X",p=s+":Y",g=s+":Z",f=function(A){e&&e(A)},y=function(A){if(new Date().getTime()-o>l){Ar.error("Timeout waiting for mutex on "+s+"; clearing lock. ["+t+"]"),d.removeItem(g),d.removeItem(p),S();return}setTimeout(function(){try{A()}catch(_){f(_)}},a*(Math.random()+.1))},k=function(A,_){A()?_():y(function(){k(A,_)})},C=function(){var A=d.getItem(p);if(A&&A!==t)return!1;if(d.setItem(p,t),d.getItem(p)===t)return!0;if(!Pi(d,!0))throw new Error("localStorage support dropped while acquiring lock");return!1},S=function(){d.setItem(v,t),k(C,function(){if(d.getItem(v)===t){M();return}y(function(){if(d.getItem(p)!==t){S();return}k(function(){return!d.getItem(g)},M)})})},M=function(){d.setItem(g,"1");try{n()}finally{d.removeItem(g),d.getItem(p)===t&&d.removeItem(p),d.getItem(v)===t&&d.removeItem(v)}};try{if(Pi(d,!0))S();else throw new Error("localStorage support check failed")}catch(A){f(A)}};var Do=Ei("batch"),hn=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.reportError=e.errorReporter||m.bind(Do.error,Do),this.lock=new Io(n,{storage:this.storage}),this.usePersistence=e.usePersistence,this.pid=e.pid||null,this.memQueue=[]};hn.prototype.enqueue=function(n,e,i){var t={id:st(),flushAfter:new Date().getTime()+e*2,payload:n};this.usePersistence?this.lock.withLock(m.bind(function(){var s;try{var a=this.readFromStorage();a.push(t),s=this.saveToStorage(a),s&&this.memQueue.push(t)}catch{this.reportError("Error enqueueing item",n),s=!1}i&&i(s)},this),m.bind(function(s){this.reportError("Error acquiring storage lock",s),i&&i(!1)},this),this.pid):(this.memQueue.push(t),i&&i(!0))},hn.prototype.fillBatch=function(n){var e=this.memQueue.slice(0,n);if(this.usePersistence&&e.length<n){var i=this.readFromStorage();if(i.length){var t={};m.each(e,function(a){t[a.id]=!0});for(var o=0;o<i.length;o++){var s=i[o];if(new Date().getTime()>s.flushAfter&&!t[s.id]&&(s.orphaned=!0,e.push(s),e.length>=n))break}}}return e};var Bo=function(n,e){var i=[];return m.each(n,function(t){t.id&&!e[t.id]&&i.push(t)}),i};hn.prototype.removeItemsByID=function(n,e){var i={};if(m.each(n,function(o){i[o]=!0}),this.memQueue=Bo(this.memQueue,i),!this.usePersistence)e&&e(!0);else{var t=m.bind(function(){var o;try{var s=this.readFromStorage();if(s=Bo(s,i),o=this.saveToStorage(s),o){s=this.readFromStorage();for(var a=0;a<s.length;a++){var l=s[a];if(l.id&&i[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=t();e&&e(s)},m.bind(function(s){var a=!1;if(this.reportError("Error acquiring storage lock",s),!Pi(this.storage,!0)&&(a=t(),!a))try{this.storage.removeItem(this.storageKey)}catch(l){this.reportError("Error clearing queue",l)}e&&e(a)},this),this.pid)}};var No=function(n,e){var i=[];return m.each(n,function(t){var o=t.id;if(o in e){var s=e[o];s!==null&&(t.payload=s,i.push(t))}else i.push(t)}),i};hn.prototype.updatePayloads=function(n,e){this.memQueue=No(this.memQueue,n),this.usePersistence?this.lock.withLock(m.bind(function(){var t;try{var o=this.readFromStorage();o=No(o,n),t=this.saveToStorage(o)}catch{this.reportError("Error updating items",n),t=!1}e&&e(t)},this),m.bind(function(t){this.reportError("Error acquiring storage lock",t),e&&e(!1)},this),this.pid):e&&e(!0)},hn.prototype.readFromStorage=function(){var n;try{n=this.storage.getItem(this.storageKey),n&&(n=Di(n),m.isArray(n)||(this.reportError("Invalid storage entry:",n),n=null))}catch(e){this.reportError("Error retrieving queue",e),n=null}return n||[]},hn.prototype.saveToStorage=function(n){try{return this.storage.setItem(this.storageKey,Ii(n)),!0}catch(e){return this.reportError("Error saving queue",e),!1}},hn.prototype.clear=function(){this.memQueue=[],this.usePersistence&&this.storage.removeItem(this.storageKey)};var xr=10*60*1e3,ii=Ei("batch"),je=function(n,e){this.errorReporter=e.errorReporter,this.queue=new hn(n,{errorReporter:m.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(m.bind(function(){this.stopped||this.flush()},this),this.flushInterval))},je.prototype.flush=function(n){try{if(this.requestInProgress){ii.log("Flush: Request already in progress");return}n=n||{};var e=this.libConfig.batch_request_timeout_ms,i=new Date().getTime(),t=this.batchSize,o=this.queue.fillBatch(t),s=o.length===t,a=[],l={};if(m.each(o,function(p){var g=p.payload;if(this.beforeSendHook&&!p.orphaned&&(g=this.beforeSendHook(g)),g){g.event&&g.properties&&(g.properties=m.extend({},g.properties,{mp_sent_by_lib_version:$e.LIB_VERSION}));var f=!0,y=p.id;y?(this.itemIdsSentSuccessfully[y]||0)>5&&(this.reportError("[dupe] item ID sent too many times, not sending",{item:p,batchSize:o.length,timesSent:this.itemIdsSentSuccessfully[y]}),f=!1):this.reportError("[dupe] found item with no ID",{item:p}),f&&a.push(g)}l[p.id]=g},this),a.length<1){this.resetFlush();return}this.requestInProgress=!0;var d=m.bind(function(p){this.requestInProgress=!1;try{var g=!1;if(n.unloading)this.queue.updatePayloads(l);else if(m.isObject(p)&&p.error==="timeout"&&new Date().getTime()-i>=e)this.reportError("Network timeout; retrying"),this.flush();else if(m.isObject(p)&&(p.httpStatusCode>=500||p.httpStatusCode===429||p.httpStatusCode<=0&&!yr()||p.error==="timeout")){var f=this.flushInterval*2;p.retryAfter&&(f=parseInt(p.retryAfter,10)*1e3||f),f=Math.min(xr,f),this.reportError("Error; retry in "+f+" ms"),this.scheduleFlush(f)}else if(m.isObject(p)&&p.httpStatusCode===413)if(o.length>1){var y=Math.max(1,Math.floor(t/2));this.batchSize=Math.min(this.batchSize,y,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(m.map(o,function(k){return k.id}),m.bind(function(k){k?(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)),m.each(o,m.bind(function(k){var C=k.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:k,batchSize:o.length,timesSent:this.itemIdsSentSuccessfully[C]})):this.reportError("[dupe] found item with no ID while removing",{item:k})},this)))}catch(k){this.reportError("Error handling API response",k),this.resetFlush()}},this),v={method:"POST",verbose:!0,ignore_json_errors:!0,timeout_ms:e};n.unloading&&(v.transport="sendBeacon"),ii.log("MIXPANEL REQUEST:",a),this.sendRequest(a,v,d)}catch(p){this.reportError("Error flushing request queue",p),this.resetFlush()}},je.prototype.reportError=function(n,e){if(ii.error.apply(ii.error,arguments),this.errorReporter)try{e instanceof Error||(e=new Error(n)),this.errorReporter(n,e)}catch(i){ii.error(i)}};var wn=Ei("recorder"),Ho=N.CompressionStream,Lr={batch_size:1e3,batch_flush_interval_ms:10*1e3,batch_request_timeout_ms:90*1e3,batch_autostart:!0},Tr=new Set([Ge.MouseMove,Ge.MouseInteraction,Ge.Scroll,Ge.ViewportResize,Ge.Input,Ge.TouchMove,Ge.MediaInteraction,Ge.Drag,Ge.Selection]);function Er(n){return n.type===wo.IncrementalSnapshot&&Tr.has(n.data.source)}var Ke=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=ei,this.recordMinMs=0,this._initBatcher()};Ke.prototype._initBatcher=function(){this.batcher=new je("__mprec",{libConfig:Lr,sendRequestFunc:m.bind(this.flushEventsWithOptOut,this),errorReporter:m.bind(this.reportError,this),flushOnlyOnInterval:!0,usePersistence:!1})},Ke.prototype.get_config=function(n){return this._mixpanel.get_config(n)},Ke.prototype.startRecording=function(n){if(this._stopRecording!==null){wn.log("Recording already in progress, skipping startRecording.");return}this.recordMaxMs=this.get_config("record_max_ms"),this.recordMaxMs>ei&&(this.recordMaxMs=ei,wn.critical("record_max_ms cannot be greater than "+ei+"ms. Capping value.")),this.recordMinMs=this.get_config("record_min_ms"),this.recordMinMs>et&&(this.recordMinMs=et,wn.critical("record_min_ms cannot be greater than "+et+"ms. Capping value.")),this.recEvents=[],this.seqNo=0,this.replayStartTime=new Date().getTime(),this.replayId=m.UUID(),n||this.recordMinMs>0?this.batcher.stop():this.batcher.start();var e=m.bind(function(){clearTimeout(this.idleTimeoutId),this.idleTimeoutId=setTimeout(m.bind(function(){wn.log("Idle timeout reached, restarting recording."),this.resetRecording()},this),this.get_config("record_idle_timeout_ms"))},this),i=this.get_config("record_block_selector");(i===""||i===null)&&(i=void 0),this._stopRecording=Xn({emit:m.bind(function(t){this.batcher.enqueue(t),Er(t)&&(this.batcher.stopped&&new Date().getTime()-this.replayStartTime>=this.recordMinMs&&this.batcher.start(),e())},this),blockClass:this.get_config("record_block_class"),blockSelector:i,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(m.bind(this.resetRecording,this),this.recordMaxMs)},Ke.prototype.resetRecording=function(){this.stopRecording(),this.startRecording(!0)},Ke.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)},Ke.prototype.flushEventsWithOptOut=function(n,e,i){this._flushEvents(n,e,i,m.bind(this._onOptOut,this))},Ke.prototype._onOptOut=function(n){n===0&&(this.recEvents=[],this.stopRecording())},Ke.prototype._sendRequest=function(n,e,i,t){var o=m.bind(function(s,a){s.status===200&&this.replayId===n&&this.seqNo++,t({status:0,httpStatusCode:s.status,responseBody:a,retryAfter:s.headers.get("Retry-After")})},this);N.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:i}).then(function(s){s.json().then(function(a){o(s,a)}).catch(function(a){t({error:a})})}).catch(function(s){t({error:s,httpStatusCode:0})})},Ke.prototype._flushEvents=cn(function(n,e,i){const t=n.length;if(t>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[t-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=m.JSONEncode(n),v=this._mixpanel.get_property("$device_id");v&&(l.$device_id=v);var p=this._mixpanel.get_property("$user_id");if(p&&(l.$user_id=p),Ho){var g=new Blob([d],{type:"application/json"}).stream(),f=g.pipeThrough(new Ho("gzip"));new Response(f).blob().then(m.bind(function(y){l.format="gzip",this._sendRequest(o,l,y,i)},this))}else l.format="body",this._sendRequest(o,l,d,i)}}),Ke.prototype.reportError=function(n,e){wn.error.apply(wn.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(i){wn.error(i)}},N.__mp_recorder=Ke;var Ye=function(){};Ye.prototype.create_properties=function(){},Ye.prototype.event_handler=function(){},Ye.prototype.after_track_handler=function(){},Ye.prototype.init=function(n){return this.mp=n,this},Ye.prototype.track=function(n,e,i,t){var o=this,s=m.dom_query(n);if(s.length===0){J.error("The DOM query ("+n+") returned 0 elements");return}return m.each(s,function(a){m.register_event(a,this.override_event,function(l){var d={},v=o.create_properties(i,this),p=o.mp.get_config("track_links_timeout");o.event_handler(l,this,d),window.setTimeout(o.track_callback(t,v,d,!0),p),o.mp.track(e,v,o.track_callback(t,v,d))})},this),!0},Ye.prototype.track_callback=function(n,e,i,t){t=t||!1;var o=this;return function(){i.callback_fired||(i.callback_fired=!0,!(n&&n(t,e)===!1)&&o.after_track_handler(e,i,t))}},Ye.prototype.create_properties=function(n,e){var i;return typeof n=="function"?i=n(e):i=m.extend({},n),i};var Vn=function(){this.override_event="click"};m.inherit(Vn,Ye),Vn.prototype.create_properties=function(n,e){var i=Vn.superclass.create_properties.apply(this,arguments);return e.href&&(i.url=e.href),i},Vn.prototype.event_handler=function(n,e,i){i.new_tab=n.which===2||n.metaKey||n.ctrlKey||e.target==="_blank",i.href=e.href,i.new_tab||n.preventDefault()},Vn.prototype.after_track_handler=function(n,e){e.new_tab||setTimeout(function(){window.location=e.href},0)};var Bi=function(){this.override_event="submit"};m.inherit(Bi,Ye),Bi.prototype.event_handler=function(n,e,i){i.element=e,n.preventDefault()},Bi.prototype.after_track_handler=function(n,e){setTimeout(function(){e.element.submit()},0)};var mn="$set",jn="$set_once",Fe="$unset",kn="$add",qe="$append",Sn="$union",Qe="$remove",Pr="$delete",Ro={set_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[mn]=t,i},unset_action:function(n){var e={},i=[];return m.isArray(n)||(n=[n]),m.each(n,function(t){this._is_reserved_property(t)||i.push(t)},this),e[Fe]=i,e},set_once_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[jn]=t,i},union_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=m.isArray(o)?o:[o])},this):t[n]=m.isArray(e)?e:[e],i[Sn]=t,i},append_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[qe]=t,i},remove_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[Qe]=t,i},delete_action:function(){var n={};return n[Pr]="",n}},ie=function(){};m.extend(ie.prototype,Ro),ie.prototype._init=function(n,e,i){this._mixpanel=n,this._group_key=e,this._group_id=i},ie.prototype.set=Un(function(n,e,i){var t=this.set_action(n,e);return m.isObject(n)&&(i=e),this._send_request(t,i)}),ie.prototype.set_once=Un(function(n,e,i){var t=this.set_once_action(n,e);return m.isObject(n)&&(i=e),this._send_request(t,i)}),ie.prototype.unset=Un(function(n,e){var i=this.unset_action(n);return this._send_request(i,e)}),ie.prototype.union=Un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.union_action(n,e);return this._send_request(t,i)}),ie.prototype.delete=Un(function(n){var e=this.delete_action();return this._send_request(e,n)}),ie.prototype.remove=Un(function(n,e,i){var t=this.remove_action(n,e);return this._send_request(t,i)}),ie.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 i=m.encodeDates(n);return this._mixpanel._track_or_batch({type:"groups",data:i,endpoint:this._get_config("api_host")+"/"+this._get_config("api_routes").groups,batcher:this._mixpanel.request_batchers.groups},e)},ie.prototype._is_reserved_property=function(n){return n==="$group_key"||n==="$group_id"},ie.prototype._get_config=function(n){return this._mixpanel.get_config(n)},ie.prototype.toString=function(){return this._mixpanel.toString()+".group."+this._group_key+"."+this._group_id},ie.prototype.remove=ie.prototype.remove,ie.prototype.set=ie.prototype.set,ie.prototype.set_once=ie.prototype.set_once,ie.prototype.union=ie.prototype.union,ie.prototype.unset=ie.prototype.unset,ie.prototype.toString=ie.prototype.toString;var H=function(){};m.extend(H.prototype,Ro),H.prototype._init=function(n){this._mixpanel=n},H.prototype.set=un(function(n,e,i){var t=this.set_action(n,e);return m.isObject(n)&&(i=e),this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),t[mn]=m.extend({},m.info.people_properties(),t[mn]),this._send_request(t,i)}),H.prototype.set_once=un(function(n,e,i){var t=this.set_once_action(n,e);return m.isObject(n)&&(i=e),this._send_request(t,i)}),H.prototype.unset=un(function(n,e){var i=this.unset_action(n);return this._send_request(i,e)}),H.prototype.increment=un(function(n,e,i){var t={},o={};return m.isObject(n)?(m.each(n,function(s,a){if(!this._is_reserved_property(a))if(isNaN(parseFloat(s))){J.error("Invalid increment value passed to mixpanel.people.increment - must be a number");return}else o[a]=s},this),i=e):(m.isUndefined(e)&&(e=1),o[n]=e),t[kn]=o,this._send_request(t,i)}),H.prototype.append=un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.append_action(n,e);return this._send_request(t,i)}),H.prototype.remove=un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.remove_action(n,e);return this._send_request(t,i)}),H.prototype.union=un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.union_action(n,e);return this._send_request(t,i)}),H.prototype.track_charge=un(function(n,e,i){if(!m.isNumber(n)&&(n=parseFloat(n),isNaN(n))){J.error("Invalid value passed to mixpanel.people.track_charge - must be a number");return}return this.append("$transactions",m.extend({$amount:n},e),i)}),H.prototype.clear_charges=function(n){return this.set("$transactions",[],n)},H.prototype.delete_user=function(){if(!this._identify_called()){J.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)},H.prototype.toString=function(){return this._mixpanel.toString()+".people"},H.prototype._send_request=function(n,e){n.$token=this._get_config("token"),n.$distinct_id=this._mixpanel.get_distinct_id();var i=this._mixpanel.get_property("$device_id"),t=this._mixpanel.get_property("$user_id"),o=this._mixpanel.get_property("$had_persisted_distinct_id");i&&(n.$device_id=i),t&&(n.$user_id=t),o&&(n.$had_persisted_distinct_id=o);var s=m.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),m.isUndefined(e)||(this._get_config("verbose")?e({status:-1,error:null}):e(-1)),m.truncate(s,255))},H.prototype._get_config=function(n){return this._mixpanel.get_config(n)},H.prototype._identify_called=function(){return this._mixpanel._flags.identify_called===!0},H.prototype._enqueue=function(n){mn in n?this._mixpanel.persistence._add_to_people_queue(mn,n):jn in n?this._mixpanel.persistence._add_to_people_queue(jn,n):Fe in n?this._mixpanel.persistence._add_to_people_queue(Fe,n):kn in n?this._mixpanel.persistence._add_to_people_queue(kn,n):qe in n?this._mixpanel.persistence._add_to_people_queue(qe,n):Qe in n?this._mixpanel.persistence._add_to_people_queue(Qe,n):Sn in n?this._mixpanel.persistence._add_to_people_queue(Sn,n):J.error("Invalid call to _enqueue():",n)},H.prototype._flush_one_queue=function(n,e,i,t){var o=this,s=m.extend({},this._mixpanel.persistence.load_queue(n)),a=s;!m.isUndefined(s)&&m.isObject(s)&&!m.isEmptyObject(s)&&(o._mixpanel.persistence._pop_from_people_queue(n,s),o._mixpanel.persistence.save(),t&&(a=t(s)),e.call(o,a,function(l,d){l===0&&o._mixpanel.persistence._add_to_people_queue(n,s),m.isUndefined(i)||i(l,d)}))},H.prototype._flush=function(n,e,i,t,o,s,a){var l=this;this._flush_one_queue(mn,this.set,n),this._flush_one_queue(jn,this.set_once,t),this._flush_one_queue(Fe,this.unset,s,function(S){return m.keys(S)}),this._flush_one_queue(kn,this.increment,e),this._flush_one_queue(Sn,this.union,o);var d=this._mixpanel.persistence.load_queue(qe);if(!m.isUndefined(d)&&m.isArray(d)&&d.length)for(var v,p=function(S,M){S===0&&l._mixpanel.persistence._add_to_people_queue(qe,v),m.isUndefined(i)||i(S,M)},g=d.length-1;g>=0;g--)d=this._mixpanel.persistence.load_queue(qe),v=d.pop(),l._mixpanel.persistence.save(),m.isEmptyObject(v)||l.append(v,p);var f=this._mixpanel.persistence.load_queue(Qe);if(!m.isUndefined(f)&&m.isArray(f)&&f.length)for(var y,k=function(S,M){S===0&&l._mixpanel.persistence._add_to_people_queue(Qe,y),m.isUndefined(a)||a(S,M)},C=f.length-1;C>=0;C--)f=this._mixpanel.persistence.load_queue(Qe),y=f.pop(),l._mixpanel.persistence.save(),m.isEmptyObject(y)||l.remove(y,k)},H.prototype._is_reserved_property=function(n){return n==="$distinct_id"||n==="$token"||n==="$device_id"||n==="$user_id"||n==="$had_persisted_distinct_id"},H.prototype.set=H.prototype.set,H.prototype.set_once=H.prototype.set_once,H.prototype.unset=H.prototype.unset,H.prototype.increment=H.prototype.increment,H.prototype.append=H.prototype.append,H.prototype.remove=H.prototype.remove,H.prototype.union=H.prototype.union,H.prototype.track_charge=H.prototype.track_charge,H.prototype.clear_charges=H.prototype.clear_charges,H.prototype.delete_user=H.prototype.delete_user,H.prototype.toString=H.prototype.toString;var dt="__mps",ct="__mpso",ut="__mpus",ht="__mpa",mt="__mpap",pt="__mpr",vt="__mpu",Oo="$people_distinct_id",Ni="__alias",ti="__timers",Ir=[dt,ct,ut,ht,mt,pt,vt,Oo,Ni,ti],j=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"&&(J.critical("Unknown persistence type "+e+"; falling back to cookie"),e=n.persistence="cookie"),e==="localStorage"&&m.localStorage.is_supported()?this.storage=m.localStorage:this.storage=m.cookie,this.load(),this.update_config(n),this.upgrade(),this.save()};j.prototype.properties=function(){var n={};return this.load(),m.each(this.props,function(e,i){m.include(Ir,i)||(n[i]=e)}),n},j.prototype.load=function(){if(!this.disabled){var n=this.storage.parse(this.name);n&&(this.props=m.extend({},n))}},j.prototype.upgrade=function(){var n,e;this.storage===m.localStorage?(n=m.cookie.parse(this.name),m.cookie.remove(this.name),m.cookie.remove(this.name,!0),n&&this.register_once(n)):this.storage===m.cookie&&(e=m.localStorage.parse(this.name),m.localStorage.remove(this.name),e&&this.register_once(e))},j.prototype.save=function(){this.disabled||this.storage.set(this.name,m.JSONEncode(this.props),this.expire_days,this.cross_subdomain,this.secure,this.cross_site,this.cookie_domain)},j.prototype.load_prop=function(n){return this.load(),this.props[n]},j.prototype.remove=function(){this.storage.remove(this.name,!1,this.cookie_domain),this.storage.remove(this.name,!0,this.cookie_domain)},j.prototype.clear=function(){this.remove(),this.props={}},j.prototype.register_once=function(n,e,i){return m.isObject(n)?(typeof e>"u"&&(e="None"),this.expire_days=typeof i>"u"?this.default_expiry:i,this.load(),m.each(n,function(t,o){(!this.props.hasOwnProperty(o)||this.props[o]===e)&&(this.props[o]=t)},this),this.save(),!0):!1},j.prototype.register=function(n,e){return m.isObject(n)?(this.expire_days=typeof e>"u"?this.default_expiry:e,this.load(),m.extend(this.props,n),this.save(),!0):!1},j.prototype.unregister=function(n){this.load(),n in this.props&&(delete this.props[n],this.save())},j.prototype.update_search_keyword=function(n){this.register(m.info.searchInfo(n))},j.prototype.update_referrer_info=function(n){this.register_once({$initial_referrer:n||"$direct",$initial_referring_domain:m.info.referringDomain(n)||"$direct"},"")},j.prototype.get_referrer_info=function(){return m.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},j.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)},j.prototype.set_disabled=function(n){this.disabled=n,this.disabled?this.remove():this.save()},j.prototype.set_cookie_domain=function(n){n!==this.cookie_domain&&(this.remove(),this.cookie_domain=n,this.save())},j.prototype.set_cross_site=function(n){n!==this.cross_site&&(this.cross_site=n,this.remove(),this.save())},j.prototype.set_cross_subdomain=function(n){n!==this.cross_subdomain&&(this.cross_subdomain=n,this.remove(),this.save())},j.prototype.get_cross_subdomain=function(){return this.cross_subdomain},j.prototype.set_secure=function(n){n!==this.secure&&(this.secure=!!n,this.remove(),this.save())},j.prototype._add_to_people_queue=function(n,e){var i=this._get_queue_key(n),t=e[n],o=this._get_or_create_queue(mn),s=this._get_or_create_queue(jn),a=this._get_or_create_queue(Fe),l=this._get_or_create_queue(kn),d=this._get_or_create_queue(Sn),v=this._get_or_create_queue(Qe,[]),p=this._get_or_create_queue(qe,[]);i===dt?(m.extend(o,t),this._pop_from_people_queue(kn,t),this._pop_from_people_queue(Sn,t),this._pop_from_people_queue(Fe,t)):i===ct?(m.each(t,function(g,f){f in s||(s[f]=g)}),this._pop_from_people_queue(Fe,t)):i===ut?m.each(t,function(g){m.each([o,s,l,d],function(f){g in f&&delete f[g]}),m.each(p,function(f){g in f&&delete f[g]}),a[g]=!0}):i===ht?(m.each(t,function(g,f){f in o?o[f]+=g:(f in l||(l[f]=0),l[f]+=g)},this),this._pop_from_people_queue(Fe,t)):i===vt?(m.each(t,function(g,f){m.isArray(g)&&(f in d||(d[f]=[]),d[f]=d[f].concat(g))}),this._pop_from_people_queue(Fe,t)):i===pt?(v.push(t),this._pop_from_people_queue(qe,t)):i===mt&&(p.push(t),this._pop_from_people_queue(Fe,t)),J.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),J.log(e),this.save()},j.prototype._pop_from_people_queue=function(n,e){var i=this.props[this._get_queue_key(n)];m.isUndefined(i)||m.each(e,function(t,o){n===qe||n===Qe?m.each(i,function(s){s[o]===t&&delete s[o]}):delete i[o]},this)},j.prototype.load_queue=function(n){return this.load_prop(this._get_queue_key(n))},j.prototype._get_queue_key=function(n){if(n===mn)return dt;if(n===jn)return ct;if(n===Fe)return ut;if(n===kn)return ht;if(n===qe)return mt;if(n===Qe)return pt;if(n===Sn)return vt;J.error("Invalid queue:",n)},j.prototype._get_or_create_queue=function(n,e){var i=this._get_queue_key(n);return e=m.isUndefined(e)?{}:e,this.props[i]||(this.props[i]=e)},j.prototype.set_event_timer=function(n,e){var i=this.load_prop(ti)||{};i[n]=e,this.props[ti]=i,this.save()},j.prototype.remove_event_timer=function(n){var e=this.load_prop(ti)||{},i=e[n];return m.isUndefined(i)||(delete this.props[ti][n],this.save()),i};var bt,Uo=function(n,e){throw new Error(n+" not available in this build.")},Ce,Vo=0,Dr=1,Br=function(n){return n},oi=function(){},He="mixpanel",jo="base64",Nr="json",ft="$device:",Kn=N.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,Ko=!Kn&&ze.indexOf("MSIE")===-1&&ze.indexOf("Mozilla")===-1,Hi=null;dn.sendBeacon&&(Hi=function(){return dn.sendBeacon.apply(dn,arguments)});var Fo={track:"track/",engage:"engage/",groups:"groups/",record:"record/"},Go={api_host:"https://api-js.mixpanel.com",api_routes:Fo,api_method:"POST",api_transport:"XHR",api_payload_format:jo,app_host:"https://mixpanel.com",cdn:"https://cdn.mxpnl.com",cross_site_cookie:!1,cross_subdomain_cookie:!0,error_reporter:oi,persistence:"cookie",persistence_name:"",cookie_domain:"",cookie_name:"",loaded:oi,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:ei,record_min_ms:0,record_sessions_percent:0,recorder_src:"https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js"},zo=!1,x=function(){},gt=function(n,e,i){var t,o=i===He?Ce:Ce[i];if(o&&bt===Vo)t=o;else{if(o&&!m.isArray(o)){J.error("You have already initialized "+i);return}t=new x}if(t._cached_groups={},t._init(n,e,i),t.people=new H,t.people._init(t),!t.get_config("skip_first_touch_marketing")){var s=m.info.campaignParams(null),a={},l=!1;m.each(s,function(d,v){a["initial_"+v]=d,d&&(l=!0)}),l&&t.people.set_once(a)}return $e.DEBUG=$e.DEBUG||t.get_config("debug"),!m.isUndefined(o)&&m.isArray(o)&&(t._execute_array.call(t.people,o.people),t._execute_array(o)),t};x.prototype.init=function(n,e,i){if(m.isUndefined(i)){this.report_error("You must name your new library: init(token, config, name)");return}if(i===He){this.report_error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");return}var t=gt(n,e,i);return Ce[i]=t,t._loaded(),t},x.prototype._init=function(n,e,i){e=e||{},this.__loaded=!0,this.config={};var t={};if(!("api_payload_format"in e)){var o=e.api_host||Go.api_host;o.match(/\.mixpanel\.com/)&&(t.api_payload_format=Nr)}if(this.set_config(m.extend({},Go,t,e,{name:i,token:n,callback_fn:(i===He?i:He+"."+i)+"._jsc"})),this._jsc=oi,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(!m.localStorage.is_supported(!0)||!Kn)this._batch_requests=!1,J.log("Turning off Mixpanel request-queueing; needs XHR and localStorage support"),m.each(this.get_batcher_configs(),function(d){J.log("Clearing batch queue "+d.queue_key),m.localStorage.remove(d.queue_key)});else if(this.init_batchers(),Hi&&N.addEventListener){var s=m.bind(function(){this.request_batchers.events.stopped||this.request_batchers.events.flush({unloading:!0})},this);N.addEventListener("pagehide",function(d){d.persisted&&s()}),N.addEventListener("visibilitychange",function(){ee.visibilityState==="hidden"&&s()})}}this.persistence=this.cookie=new j(this.config),this.unpersisted_superprops={},this._gdpr_init();var a=m.UUID();this.get_distinct_id()||this.register_once({distinct_id:ft+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()},x.prototype.start_session_recording=cn(function(){if(!N.MutationObserver){J.critical("Browser does not support MutationObserver; skipping session recording");return}var n=m.bind(function(){this._recorder=this._recorder||new N.__mp_recorder(this),this._recorder.startRecording()},this);m.isUndefined(N.__mp_recorder)?Uo(this.get_config("recorder_src"),n):n()}),x.prototype.stop_session_recording=function(){this._recorder?this._recorder.stopRecording():J.critical("Session recorder module not loaded")},x.prototype.get_session_recording_properties=function(){var n={};if(this._recorder){var e=this._recorder.replayId;e&&(n.$mp_replay_id=e)}return n},x.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=m.info.campaignParams(null);m.each(n,(function(e,i){this.unregister(i)}).bind(this))}},x.prototype._set_default_superprops=function(){this.persistence.update_search_keyword(ee.referrer),this.get_config("store_google")&&!this.get_config("stop_utm_persistence")&&this.register(m.info.campaignParams()),this.get_config("save_referrer")&&this.persistence.update_referrer_info(ee.referrer)},x.prototype._dom_loaded=function(){m.each(this.__dom_loaded_queue,function(n){this._track_dom.apply(this,n)},this),this.has_opted_out_tracking()||m.each(this.__request_queue,function(n){this._send_request.apply(this,n)},this),delete this.__dom_loaded_queue,delete this.__request_queue},x.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(!zo)return this.__dom_loaded_queue.push([n,e]),!1;var i=new n().init(this);return i.track.apply(i,e)},x.prototype._init_url_change_tracking=function(n){var e="",i=this.track_pageview();if(i&&(e=m.info.currentUrl()),m.include(["full-url","url-with-path-and-query-string","url-with-path"],n)){N.addEventListener("popstate",function(){N.dispatchEvent(new Event("mp_locationchange"))}),N.addEventListener("hashchange",function(){N.dispatchEvent(new Event("mp_locationchange"))});var t=N.history.pushState;typeof t=="function"&&(N.history.pushState=function(s,a,l){t.call(N.history,s,a,l),N.dispatchEvent(new Event("mp_locationchange"))});var o=N.history.replaceState;typeof o=="function"&&(N.history.replaceState=function(s,a,l){o.call(N.history,s,a,l),N.dispatchEvent(new Event("mp_locationchange"))}),N.addEventListener("mp_locationchange",(function(){var s=m.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))}},x.prototype._prepare_callback=function(n,e){if(m.isUndefined(n))return null;if(Kn){var i=function(a){n(a,e)};return i}else{var t=this._jsc,o=""+Math.floor(Math.random()*1e8),s=this.get_config("callback_fn")+"["+o+"]";return t[o]=function(a){delete t[o],n(a,e)},s}},x.prototype._send_request=function(n,e,i,t){var o=!0;if(Ko)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;!t&&(m.isFunction(i)||typeof i=="string")&&(t=i,i=null),i=m.extend(s,i||{}),Kn||(i.method="GET");var l=i.method==="POST",d=Hi&&l&&i.transport.toLowerCase()==="sendbeacon",v=i.verbose;e.verbose&&(v=!0),this.get_config("test")&&(e.test=1),v&&(e.verbose=1),this.get_config("img")&&(e.img=1),Kn||(t?e.callback=t:(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+="?"+m.HTTPBuildQuery(e);var p=this;if("img"in e){var g=ee.createElement("img");g.src=n,ee.body.appendChild(g)}else if(d){try{o=Hi(n,a)}catch(M){p.report_error(M),o=!1}try{t&&t(o?1:0)}catch(M){p.report_error(M)}}else if(Kn)try{var f=new XMLHttpRequest;f.open(i.method,n,!0);var y=this.get_config("xhr_headers");if(l&&(y["Content-Type"]="application/x-www-form-urlencoded"),m.each(y,function(M,A){f.setRequestHeader(A,M)}),i.timeout_ms&&typeof f.timeout<"u"){f.timeout=i.timeout_ms;var k=new Date().getTime()}f.withCredentials=!0,f.onreadystatechange=function(){if(f.readyState===4)if(f.status===200){if(t)if(v){var M;try{M=m.JSONDecode(f.responseText)}catch(T){if(p.report_error(T),i.ignore_json_errors)M=f.responseText;else return}t(M)}else t(Number(f.responseText))}else{var A;if(f.timeout&&!f.status&&new Date().getTime()-k>=f.timeout?A="timeout":A="Bad HTTP status: "+f.status+" "+f.statusText,p.report_error(A),t)if(v){var _=f.responseHeaders||{};t({status:0,httpStatusCode:f.status,error:A,retryAfter:_["Retry-After"]})}else t(0)}},f.send(a)}catch(M){p.report_error(M),o=!1}else{var C=ee.createElement("script");C.type="text/javascript",C.async=!0,C.defer=!0,C.src=n;var S=ee.getElementsByTagName("script")[0];S.parentNode.insertBefore(C,S)}return o},x.prototype._execute_array=function(n){var e,i=[],t=[],o=[];m.each(n,function(a){a&&(e=a[0],m.isArray(e)?o.push(a):typeof a=="function"?a.call(this):m.isArray(a)&&e==="alias"?i.push(a):m.isArray(a)&&e.indexOf("track")!==-1&&typeof this[e]=="function"?o.push(a):t.push(a))},this);var s=function(a,l){m.each(a,function(d){if(m.isArray(d[0])){var v=l;m.each(d,function(p){v=v[p[0]].apply(v,p.slice(1))})}else this[d[0]].apply(this,d.slice(1))},l)};s(i,this),s(t,this),s(o,this)},x.prototype.are_batchers_initialized=function(){return!!this.request_batchers.events},x.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},x.prototype.init_batchers=function(){if(!this.are_batchers_initialized()){var n=m.bind(function(i){return new je(i.queue_key,{libConfig:this.config,errorReporter:this.get_config("error_reporter"),sendRequestFunc:m.bind(function(t,o,s){this._send_request(this.get_config("api_host")+i.endpoint,this._encode_data_for_request(t),o,this._prepare_callback(s,t))},this),beforeSendHook:m.bind(function(t){return this._run_hook("before_send_"+i.type,t)},this),stopAllBatchingFunc:m.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()},x.prototype.start_batch_senders=function(){this._batchers_were_started=!0,this.are_batchers_initialized()&&(this._batch_requests=!0,m.each(this.request_batchers,function(n){n.start()}))},x.prototype.stop_batch_senders=function(){this._batch_requests=!1,m.each(this.request_batchers,function(n){n.stop(),n.clear()})},x.prototype.push=function(n){this._execute_array([n])},x.prototype.disable=function(n){typeof n>"u"?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(n)},x.prototype._encode_data_for_request=function(n){var e=m.JSONEncode(n);return this.get_config("api_payload_format")===jo&&(e=m.base64Encode(e)),{data:e}},x.prototype._track_or_batch=function(n,e){var i=m.truncate(n.data,255),t=n.endpoint,o=n.batcher,s=n.should_send_immediately,a=n.send_request_options||{};e=e||oi;var l=!0,d=m.bind(function(){return a.skip_hooks||(i=this._run_hook("before_send_"+n.type,i)),i?(J.log("MIXPANEL REQUEST:"),J.log(i),this._send_request(t,this._encode_data_for_request(i),a,this._prepare_callback(e,i))):null},this);return this._batch_requests&&!s?o.enqueue(i,function(v){v?e(1,i):d()}):l=d(),l&&i},x.prototype.track=cn(function(n,e,i,t){!t&&typeof i=="function"&&(t=i,i=null),i=i||{};var o=i.transport;o&&(i.transport=o);var s=i.send_immediately;if(typeof t!="function"&&(t=oi),m.isUndefined(n)){this.report_error("No event name provided to mixpanel.track");return}if(this._event_is_disabled(n)){t(0);return}e=m.extend({},e),e.token=this.get_config("token");var a=this.persistence.remove_event_timer(n);if(!m.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")?m.info.marketingParams():{};e=m.extend({},m.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");m.isArray(v)?m.each(v,function(f){delete e[f]}):this.report_error("Invalid value for property_blacklist config: "+v);var p={event:n,properties:e},g=this._track_or_batch({type:"events",data:p,endpoint:this.get_config("api_host")+"/"+this.get_config("api_routes").track,batcher:this.request_batchers.events,should_send_immediately:s,send_request_options:i},t);return g}),x.prototype.set_group=cn(function(n,e,i){m.isArray(e)||(e=[e]);var t={};return t[n]=e,this.register(t),this.people.set(n,e,i)}),x.prototype.add_group=cn(function(n,e,i){var t=this.get_property(n),o={};return t===void 0?(o[n]=[e],this.register(o)):t.indexOf(e)===-1&&(t.push(e),o[n]=t,this.register(o)),this.people.union(n,e,i)}),x.prototype.remove_group=cn(function(n,e,i){var t=this.get_property(n);if(t!==void 0){var o=t.indexOf(e);o>-1&&(t.splice(o,1),this.register({group_key:t})),t.length===0&&this.unregister(n)}return this.people.remove(n,e,i)}),x.prototype.track_with_groups=cn(function(n,e,i,t){var o=m.extend({},e||{});return m.each(i,function(s,a){s!=null&&(o[a]=s)}),this.track(n,o,t)}),x.prototype._create_map_key=function(n,e){return n+"_"+JSON.stringify(e)},x.prototype._remove_group_from_cache=function(n,e){delete this._cached_groups[this._create_map_key(n,e)]},x.prototype.get_group=function(n,e){var i=this._create_map_key(n,e),t=this._cached_groups[i];return(t===void 0||t._group_key!==n||t._group_id!==e)&&(t=new ie,t._init(this,n,e),this._cached_groups[i]=t),t},x.prototype.track_pageview=cn(function(n,e){typeof n!="object"&&(n={}),e=e||{};var i=e.event_name||"$mp_web_page_view",t=m.extend(m.info.mpPageViewProperties(),m.info.campaignParams(),m.info.clickParams()),o=m.extend({},t,n);return this.track(i,o)}),x.prototype.track_links=function(){return this._track_dom.call(this,Vn,arguments)},x.prototype.track_forms=function(){return this._track_dom.call(this,Bi,arguments)},x.prototype.time_event=function(n){if(m.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 Hr={persistent:!0},yt=function(n){var e;return m.isObject(n)?e=n:m.isUndefined(n)?e={}:e={days:n},m.extend({},Hr,e)};x.prototype.register=function(n,e){var i=yt(e);i.persistent?this.persistence.register(n,i.days):m.extend(this.unpersisted_superprops,n)},x.prototype.register_once=function(n,e,i){var t=yt(i);t.persistent?this.persistence.register_once(n,e,t.days):(typeof e>"u"&&(e="None"),m.each(n,function(o,s){(!this.unpersisted_superprops.hasOwnProperty(s)||this.unpersisted_superprops[s]===e)&&(this.unpersisted_superprops[s]=o)},this))},x.prototype.unregister=function(n,e){e=yt(e),e.persistent?this.persistence.unregister(n):delete this.unpersisted_superprops[n]},x.prototype._register_single=function(n,e){var i={};i[n]=e,this.register(i)},x.prototype.identify=function(n,e,i,t,o,s,a,l){var d=this.get_distinct_id();if(n&&d!==n){if(typeof n=="string"&&n.indexOf(ft)===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(Ni)&&(this.unregister(Ni),this.register({distinct_id:n})),this._flags.identify_called=!0,this.people._flush(e,i,t,o,s,a,l),n!==d&&this.track("$identify",{distinct_id:n,$anon_distinct_id:d},{skip_hooks:!0})},x.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1;var n=m.UUID();this.register_once({distinct_id:ft+n,$device_id:n},"")},x.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},x.prototype.alias=function(n,e){if(n===this.get_property(Oo))return this.report_error("Attempting to create alias for existing People user - aborting."),-2;var i=this;return m.isUndefined(e)&&(e=this.get_distinct_id()),n!==e?(this._register_single(Ni,n),this.track("$create_alias",{alias:n,distinct_id:e},{skip_hooks:!0},function(){i.identify(n)})):(this.report_error("alias matches current distinct_id - skipping api call."),this.identify(n),-1)},x.prototype.name_tag=function(n){this._register_single("mp_name_tag",n)},x.prototype.set_config=function(n){if(m.isObject(n)){m.extend(this.config,n);var e=n.batch_size;e&&m.each(this.request_batchers,function(i){i.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),$e.DEBUG=$e.DEBUG||this.get_config("debug")}},x.prototype.get_config=function(n){return this.config[n]},x.prototype._run_hook=function(n){var e=(this.config.hooks[n]||Br).apply(this,ln.call(arguments,1));return typeof e>"u"&&(this.report_error(n+" hook did not return a value"),e=null),e},x.prototype.get_property=function(n){return this.persistence.load_prop([n])},x.prototype.toString=function(){var n=this.get_config("name");return n!==He&&(n=He+"."+n),n},x.prototype._event_is_disabled=function(n){return m.isBlockedUA(ze)||this._flags.disable_all_events||m.include(this.__disabled_events,n)},x.prototype._gdpr_init=function(){var n=this.get_config("opt_out_tracking_persistence_type")==="localStorage";n&&m.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")||m.cookie.get("mp_optout"))&&(m.cookie.remove("mp_optout"),this.opt_out_tracking({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},x.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()},x.prototype._gdpr_call_func=function(n,e){return e=m.extend({track:m.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),m.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})},x.prototype.opt_in_tracking=function(n){n=m.extend({enable_persistence:!0},n),this._gdpr_call_func(wr,n),this._gdpr_update_persistence(n)},x.prototype.opt_out_tracking=function(n){n=m.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(kr,n),this._gdpr_update_persistence(n)},x.prototype.has_opted_in_tracking=function(n){return this._gdpr_call_func(Sr,n)},x.prototype.has_opted_out_tracking=function(n){return this._gdpr_call_func(To,n)},x.prototype.clear_opt_in_out_tracking=function(n){n=m.extend({enable_persistence:!0},n),this._gdpr_call_func(_r,n),this._gdpr_update_persistence(n)},x.prototype.report_error=function(n,e){J.error.apply(J.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(i){J.error(i)}},x.prototype.init=x.prototype.init,x.prototype.reset=x.prototype.reset,x.prototype.disable=x.prototype.disable,x.prototype.time_event=x.prototype.time_event,x.prototype.track=x.prototype.track,x.prototype.track_links=x.prototype.track_links,x.prototype.track_forms=x.prototype.track_forms,x.prototype.track_pageview=x.prototype.track_pageview,x.prototype.register=x.prototype.register,x.prototype.register_once=x.prototype.register_once,x.prototype.unregister=x.prototype.unregister,x.prototype.identify=x.prototype.identify,x.prototype.alias=x.prototype.alias,x.prototype.name_tag=x.prototype.name_tag,x.prototype.set_config=x.prototype.set_config,x.prototype.get_config=x.prototype.get_config,x.prototype.get_property=x.prototype.get_property,x.prototype.get_distinct_id=x.prototype.get_distinct_id,x.prototype.toString=x.prototype.toString,x.prototype.opt_out_tracking=x.prototype.opt_out_tracking,x.prototype.opt_in_tracking=x.prototype.opt_in_tracking,x.prototype.has_opted_out_tracking=x.prototype.has_opted_out_tracking,x.prototype.has_opted_in_tracking=x.prototype.has_opted_in_tracking,x.prototype.clear_opt_in_out_tracking=x.prototype.clear_opt_in_out_tracking,x.prototype.get_group=x.prototype.get_group,x.prototype.set_group=x.prototype.set_group,x.prototype.add_group=x.prototype.add_group,x.prototype.remove_group=x.prototype.remove_group,x.prototype.track_with_groups=x.prototype.track_with_groups,x.prototype.start_batch_senders=x.prototype.start_batch_senders,x.prototype.stop_batch_senders=x.prototype.stop_batch_senders,x.prototype.start_session_recording=x.prototype.start_session_recording,x.prototype.stop_session_recording=x.prototype.stop_session_recording,x.prototype.get_session_recording_properties=x.prototype.get_session_recording_properties,x.prototype.DEFAULT_API_ROUTES=Fo,j.prototype.properties=j.prototype.properties,j.prototype.update_search_keyword=j.prototype.update_search_keyword,j.prototype.update_referrer_info=j.prototype.update_referrer_info,j.prototype.get_cross_subdomain=j.prototype.get_cross_subdomain,j.prototype.clear=j.prototype.clear;var Fn={},Rr=function(){m.each(Fn,function(n,e){e!==He&&(Ce[e]=n)}),Ce._=m},Or=function(){Ce.init=function(n,e,i){if(i)return Ce[i]||(Ce[i]=Fn[i]=gt(n,e,i),Ce[i]._loaded()),Ce[i];var t=Ce;Fn[He]?t=Fn[He]:n&&(t=gt(n,e,He),t._loaded(),Fn[He]=t),Ce=t,bt===Dr&&(N[He]=Ce),Rr()}},Ur=function(){function n(){n.done||(n.done=!0,zo=!0,Ko=!1,m.each(Fn,function(t){t._dom_loaded()}))}function e(){try{ee.documentElement.doScroll("left")}catch{setTimeout(e,1);return}n()}if(ee.addEventListener)ee.readyState==="complete"?n():ee.addEventListener("DOMContentLoaded",n,!1);else if(ee.attachEvent){ee.attachEvent("onreadystatechange",n);var i=!1;try{i=N.frameElement===null}catch{}ee.documentElement.doScroll&&i&&e()}m.register_event(N,"load",n,!0)};function Vr(n){return Uo=n,bt=Vo,Ce=new x,Or(),Ce.init(),Ur(),Ce}function jr(n,e){e()}var P=Vr(jr);const qo=`<div id="checkoutConfirmationEnd">
|
|
989
|
+
`);var e="",i,t,o=0,s;for(i=t=0,o=n.length,s=0;s<o;s++){var a=n.charCodeAt(s),l=null;a<128?t++: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&&(t>i&&(e+=n.substring(i,t)),e+=l,i=t=s+1)}return t>i&&(e+=n.substring(i,n.length)),e},m.UUID=function(){var n=function(){var t=1*new Date,o;if(N.performance&&N.performance.now)o=N.performance.now();else for(o=0;t==1*new Date;)o++;return t.toString(16)+Math.floor(o).toString(16)},e=function(){return Math.random().toString(16).replace(".","")},i=function(){var t=ze,o,s,a=[],l=0;function d(v,p){var g,f=0;for(g=0;g<p.length;g++)f|=a[g]<<g*8;return v^f}for(o=0;o<t.length;o++)s=t.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 t=(Ti.height*Ti.width).toString(16);return n()+"-"+e()+"-"+i()+"-"+t+"-"+n()}}();var xo=["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"];m.isBlockedUA=function(n){var e;for(n=n.toLowerCase(),e=0;e<xo.length;e++)if(n.indexOf(xo[e])!==-1)return!0;return!1},m.HTTPBuildQuery=function(n,e){var i,t,o=[];return m.isUndefined(e)&&(e="&"),m.each(n,function(s,a){i=encodeURIComponent(s.toString()),t=encodeURIComponent(a),o[o.length]=t+"="+i}),o.join(e)},m.getQueryParam=function(n,e){e=e.replace(/[[]/g,"\\[").replace(/[\]]/g,"\\]");var i="[\\?&]"+e+"=([^&#]*)",t=new RegExp(i),o=t.exec(n);if(o===null||o&&typeof o[1]!="string"&&o[1].length)return"";var s=o[1];try{s=decodeURIComponent(s)}catch{J.error("Skipping decoding for malformed query param: "+s)}return s.replace(/\+/g," ")},m.cookie={get:function(n){for(var e=n+"=",i=ee.cookie.split(";"),t=0;t<i.length;t++){for(var o=i[t];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=m.JSONDecode(m.cookie.get(n))||{}}catch{}return e},set_seconds:function(n,e,i,t,o,s,a){var l="",d="",v="";if(a)l="; domain="+a;else if(t){var p=Lo(ee.location.hostname);l=p?"; domain=."+p:""}if(i){var g=new Date;g.setTime(g.getTime()+i*1e3),d="; expires="+g.toGMTString()}s&&(o=!0,v="; SameSite=None"),o&&(v+="; secure"),ee.cookie=n+"="+encodeURIComponent(e)+d+"; path=/"+l+v},set:function(n,e,i,t,o,s,a){var l="",d="",v="";if(a)l="; domain="+a;else if(t){var p=Lo(ee.location.hostname);l=p?"; domain=."+p:""}if(i){var g=new Date;g.setTime(g.getTime()+i*24*60*60*1e3),d="; expires="+g.toGMTString()}s&&(o=!0,v="; SameSite=None"),o&&(v+="; secure");var f=n+"="+encodeURIComponent(e)+d+"; path=/"+l+v;return ee.cookie=f,f},remove:function(n,e,i){m.cookie.set(n,"",-1,e,!1,!1,i)}};var ot=null,Pi=function(n,e){if(ot!==null&&!e)return ot;var i=!0;try{n=n||window.localStorage;var t="__mplss_"+st(8),o="xyz";n.setItem(t,o),n.getItem(t)!==o&&(i=!1),n.removeItem(t)}catch{i=!1}return ot=i,i};m.localStorage={is_supported:function(n){var e=Pi(null,n);return e||J.error("localStorage unsupported; falling back to cookie store"),e},error:function(n){J.error("localStorage error: "+n)},get:function(n){try{return window.localStorage.getItem(n)}catch(e){m.localStorage.error(e)}return null},parse:function(n){try{return m.JSONDecode(m.localStorage.get(n))||{}}catch{}return null},set:function(n,e){try{window.localStorage.setItem(n,e)}catch(i){m.localStorage.error(i)}},remove:function(n){try{window.localStorage.removeItem(n)}catch(e){m.localStorage.error(e)}}},m.register_event=function(){var n=function(t,o,s,a,l){if(!t){J.error("No valid element provided to register_event");return}if(t.addEventListener&&!a)t.addEventListener(o,s,!!l);else{var d="on"+o,v=t[d];t[d]=e(t,s,v)}};function e(t,o,s){var a=function(l){if(l=l||i(window.event),!!l){var d=!0,v,p;return m.isFunction(s)&&(v=s(l)),p=o.call(t,l),(v===!1||p===!1)&&(d=!1),d}};return a}function i(t){return t&&(t.preventDefault=i.preventDefault,t.stopPropagation=i.stopPropagation),t}return i.preventDefault=function(){this.returnValue=!1},i.stopPropagation=function(){this.cancelBubble=!0},n}();var mr=new RegExp('^(\\w*)\\[(\\w+)([=~\\|\\^\\$\\*]?)=?"?([^\\]"]*)"?\\]$');m.dom_query=function(){function n(o){return o.all?o.all:o.getElementsByTagName("*")}var e=/[\t\r\n]/g;function i(o,s){var a=" "+s+" ";return(" "+o.className+" ").replace(e," ").indexOf(a)>=0}function t(o){if(!ee.getElementsByTagName)return[];var s=o.split(" "),a,l,d,v,p,g,f,y,k,C,S=[ee];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 M=l[1],A=ee.getElementById(M);if(!A||d&&A.nodeName.toLowerCase()!=d)return[];S=[A];continue}if(a.indexOf(".")>-1){l=a.split("."),d=l[0];var _=l[1];for(d||(d="*"),v=[],p=0,f=0;f<S.length;f++)for(d=="*"?k=n(S[f]):k=S[f].getElementsByTagName(d),y=0;y<k.length;y++)v[p++]=k[y];for(S=[],C=0,f=0;f<v.length;f++)v[f].className&&m.isString(v[f].className)&&i(v[f],_)&&(S[C++]=v[f]);continue}var T=a.match(mr);if(T){d=T[1];var I=T[2],K=T[3],G=T[4];for(d||(d="*"),v=[],p=0,f=0;f<S.length;f++)for(d=="*"?k=n(S[f]):k=S[f].getElementsByTagName(d),y=0;y<k.length;y++)v[p++]=k[y];S=[],C=0;var U;switch(K){case"=":U=function(F){return F.getAttribute(I)==G};break;case"~":U=function(F){return F.getAttribute(I).match(new RegExp("\\b"+G+"\\b"))};break;case"|":U=function(F){return F.getAttribute(I).match(new RegExp("^"+G+"-?"))};break;case"^":U=function(F){return F.getAttribute(I).indexOf(G)===0};break;case"$":U=function(F){return F.getAttribute(I).lastIndexOf(G)==F.getAttribute(I).length-G.length};break;case"*":U=function(F){return F.getAttribute(I).indexOf(G)>-1};break;default:U=function(F){return F.getAttribute(I)}}for(S=[],C=0,f=0;f<v.length;f++)U(v[f])&&(S[C++]=v[f]);continue}for(d=a,v=[],p=0,f=0;f<S.length;f++)for(k=S[f].getElementsByTagName(d),y=0;y<k.length;y++)v[p++]=k[y];S=v}return S}return function(o){return m.isElement(o)?[o]:m.isObject(o)&&!m.isUndefined(o.length)?o:t.call(this,o)}}();var pr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_source_platform","utm_campaign_id","utm_creative_format","utm_marketing_tactic"],vr=["dclid","fbclid","gclid","ko_click_id","li_fat_id","msclkid","sccid","ttclid","twclid","wbraid"];m.info={campaignParams:function(n){var e="",i={};return m.each(pr,function(t){e=m.getQueryParam(ee.URL,t),e.length?i[t]=e:n!==void 0&&(i[t]=n)}),i},clickParams:function(){var n="",e={};return m.each(vr,function(i){n=m.getQueryParam(ee.URL,i),n.length&&(e[i]=n)}),e},marketingParams:function(){return m.extend(m.info.campaignParams(),m.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=m.info.searchEngine(n),i=e!="yahoo"?"q":"p",t={};if(e!==null){t.$search_engine=e;var o=m.getQueryParam(n,i);o.length&&(t.mp_keyword=o)}return t},browser:function(n,e,i){return e=e||"",i||m.includes(n," OPR/")?m.includes(n,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(n)?"BlackBerry":m.includes(n,"IEMobile")||m.includes(n,"WPDesktop")?"Internet Explorer Mobile":m.includes(n,"SamsungBrowser/")?"Samsung Internet":m.includes(n,"Edge")||m.includes(n,"Edg/")?"Microsoft Edge":m.includes(n,"FBIOS")?"Facebook Mobile":m.includes(n,"Chrome")?"Chrome":m.includes(n,"CriOS")?"Chrome iOS":m.includes(n,"UCWEB")||m.includes(n,"UCBrowser")?"UC Browser":m.includes(n,"FxiOS")?"Firefox iOS":m.includes(e,"Apple")?m.includes(n,"Mobile")?"Mobile Safari":"Safari":m.includes(n,"Android")?"Android Mobile":m.includes(n,"Konqueror")?"Konqueror":m.includes(n,"Firefox")?"Firefox":m.includes(n,"MSIE")||m.includes(n,"Trident/")?"Internet Explorer":m.includes(n,"Gecko")?"Mozilla":""},browserVersion:function(n,e,i){var t=m.info.browser(n,e,i),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[t];if(s===void 0)return null;var a=n.match(s);return a?parseFloat(a[a.length-2]):null},os:function(){var n=ze;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 N.location.href},properties:function(n){return typeof n!="object"&&(n={}),m.extend(m.strip_empty_properties({$os:m.info.os(),$browser:m.info.browser(ze,dn.vendor,Li),$referrer:ee.referrer,$referring_domain:m.info.referringDomain(ee.referrer),$device:m.info.device(ze)}),{$current_url:m.info.currentUrl(),$browser_version:m.info.browserVersion(ze,dn.vendor,Li),$screen_height:Ti.height,$screen_width:Ti.width,mp_lib:"web",$lib_version:$e.LIB_VERSION,$insert_id:st(),time:m.timestamp()/1e3},m.strip_empty_properties(n))},people_properties:function(){return m.extend(m.strip_empty_properties({$os:m.info.os(),$browser:m.info.browser(ze,dn.vendor,Li)}),{$browser_version:m.info.browserVersion(ze,dn.vendor,Li)})},mpPageViewProperties:function(){return m.strip_empty_properties({current_page_title:ee.title,current_domain:N.location.hostname,current_url_path:N.location.pathname,current_url_protocol:N.location.protocol,current_url_search:N.location.search})}};var st=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},br=/[a-z0-9][a-z0-9-]*\.[a-z]+$/i,fr=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i,Lo=function(n){var e=fr,i=n.split("."),t=i[i.length-1];(t.length>4||t==="com"||t==="org")&&(e=br);var o=n.match(e);return o?o[0]:""},gr=function(){var n=N.navigator.onLine;return m.isUndefined(n)||n},Ii=null,Di=null;typeof JSON<"u"&&(Ii=JSON.stringify,Di=JSON.parse),Ii=Ii||m.JSONEncode,Di=Di||m.JSONDecode,m.toArray=m.toArray,m.isObject=m.isObject,m.JSONEncode=m.JSONEncode,m.JSONDecode=m.JSONDecode,m.isBlockedUA=m.isBlockedUA,m.isEmptyObject=m.isEmptyObject,m.info=m.info,m.info.device=m.info.device,m.info.browser=m.info.browser,m.info.browserVersion=m.info.browserVersion,m.info.properties=m.info.properties;var yr="__mp_opt_in_out_";function Cr(n,e){Po(!0,n,e)}function wr(n,e){Po(!1,n,e)}function kr(n,e){return Eo(n,e)==="1"}function To(n,e){if(_r(e))return J.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 i=Eo(n,e)==="0";return i&&J.warn("You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data."),i}function cn(n){return lt(n,function(e){return this.get_config(e)})}function un(n){return lt(n,function(e){return this._get_config(e)})}function Un(n){return lt(n,function(e){return this._get_config(e)})}function Sr(n,e){e=e||{},at(e).remove(rt(n,e),!!e.crossSubdomainCookie,e.cookieDomain)}function at(n){return n=n||{},n.persistenceType==="localStorage"?m.localStorage:m.cookie}function rt(n,e){return e=e||{},(e.persistencePrefix||yr)+n}function Eo(n,e){return at(e).get(rt(n,e))}function _r(n){if(n&&n.ignoreDnt)return!1;var e=n&&n.window||N,i=e.navigator||{},t=!1;return m.each([i.doNotTrack,i.msDoNotTrack,e.doNotTrack],function(o){m.includes([!0,1,"1","yes"],o)&&(t=!0)}),t}function Po(n,e,i){if(!m.isString(e)||!e.length){J.error("gdpr."+(n?"optIn":"optOut")+" called with an invalid token");return}i=i||{},at(i).set(rt(e,i),n?1:0,m.isNumber(i.cookieExpiration)?i.cookieExpiration:null,!!i.crossSubdomainCookie,!!i.secureCookie,!!i.crossSiteCookie,i.cookieDomain),i.track&&n&&i.track(i.trackEventName||"$opt_in",i.trackProperties,{send_immediately:!0})}function lt(n,e){return function(){var i=!1;try{var t=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");t&&(i=To(t,{ignoreDnt:o,persistenceType:s,persistencePrefix:a,window:l}))}catch(v){J.error("Unexpected error when checking tracking opt-out status: "+v)}if(!i)return n.apply(this,arguments);var d=arguments[arguments.length-1];typeof d=="function"&&d(0)}}var Mr=Ei("lock"),Io=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.pollIntervalMS=e.pollIntervalMS||100,this.timeoutMS=e.timeoutMS||2e3};Io.prototype.withLock=function(n,e,i){!i&&typeof e!="function"&&(i=e,e=null);var t=i||new Date().getTime()+"|"+Math.random(),o=new Date().getTime(),s=this.storageKey,a=this.pollIntervalMS,l=this.timeoutMS,d=this.storage,v=s+":X",p=s+":Y",g=s+":Z",f=function(A){e&&e(A)},y=function(A){if(new Date().getTime()-o>l){Mr.error("Timeout waiting for mutex on "+s+"; clearing lock. ["+t+"]"),d.removeItem(g),d.removeItem(p),S();return}setTimeout(function(){try{A()}catch(_){f(_)}},a*(Math.random()+.1))},k=function(A,_){A()?_():y(function(){k(A,_)})},C=function(){var A=d.getItem(p);if(A&&A!==t)return!1;if(d.setItem(p,t),d.getItem(p)===t)return!0;if(!Pi(d,!0))throw new Error("localStorage support dropped while acquiring lock");return!1},S=function(){d.setItem(v,t),k(C,function(){if(d.getItem(v)===t){M();return}y(function(){if(d.getItem(p)!==t){S();return}k(function(){return!d.getItem(g)},M)})})},M=function(){d.setItem(g,"1");try{n()}finally{d.removeItem(g),d.getItem(p)===t&&d.removeItem(p),d.getItem(v)===t&&d.removeItem(v)}};try{if(Pi(d,!0))S();else throw new Error("localStorage support check failed")}catch(A){f(A)}};var Do=Ei("batch"),hn=function(n,e){e=e||{},this.storageKey=n,this.storage=e.storage||window.localStorage,this.reportError=e.errorReporter||m.bind(Do.error,Do),this.lock=new Io(n,{storage:this.storage}),this.usePersistence=e.usePersistence,this.pid=e.pid||null,this.memQueue=[]};hn.prototype.enqueue=function(n,e,i){var t={id:st(),flushAfter:new Date().getTime()+e*2,payload:n};this.usePersistence?this.lock.withLock(m.bind(function(){var s;try{var a=this.readFromStorage();a.push(t),s=this.saveToStorage(a),s&&this.memQueue.push(t)}catch{this.reportError("Error enqueueing item",n),s=!1}i&&i(s)},this),m.bind(function(s){this.reportError("Error acquiring storage lock",s),i&&i(!1)},this),this.pid):(this.memQueue.push(t),i&&i(!0))},hn.prototype.fillBatch=function(n){var e=this.memQueue.slice(0,n);if(this.usePersistence&&e.length<n){var i=this.readFromStorage();if(i.length){var t={};m.each(e,function(a){t[a.id]=!0});for(var o=0;o<i.length;o++){var s=i[o];if(new Date().getTime()>s.flushAfter&&!t[s.id]&&(s.orphaned=!0,e.push(s),e.length>=n))break}}}return e};var Bo=function(n,e){var i=[];return m.each(n,function(t){t.id&&!e[t.id]&&i.push(t)}),i};hn.prototype.removeItemsByID=function(n,e){var i={};if(m.each(n,function(o){i[o]=!0}),this.memQueue=Bo(this.memQueue,i),!this.usePersistence)e&&e(!0);else{var t=m.bind(function(){var o;try{var s=this.readFromStorage();if(s=Bo(s,i),o=this.saveToStorage(s),o){s=this.readFromStorage();for(var a=0;a<s.length;a++){var l=s[a];if(l.id&&i[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=t();e&&e(s)},m.bind(function(s){var a=!1;if(this.reportError("Error acquiring storage lock",s),!Pi(this.storage,!0)&&(a=t(),!a))try{this.storage.removeItem(this.storageKey)}catch(l){this.reportError("Error clearing queue",l)}e&&e(a)},this),this.pid)}};var No=function(n,e){var i=[];return m.each(n,function(t){var o=t.id;if(o in e){var s=e[o];s!==null&&(t.payload=s,i.push(t))}else i.push(t)}),i};hn.prototype.updatePayloads=function(n,e){this.memQueue=No(this.memQueue,n),this.usePersistence?this.lock.withLock(m.bind(function(){var t;try{var o=this.readFromStorage();o=No(o,n),t=this.saveToStorage(o)}catch{this.reportError("Error updating items",n),t=!1}e&&e(t)},this),m.bind(function(t){this.reportError("Error acquiring storage lock",t),e&&e(!1)},this),this.pid):e&&e(!0)},hn.prototype.readFromStorage=function(){var n;try{n=this.storage.getItem(this.storageKey),n&&(n=Di(n),m.isArray(n)||(this.reportError("Invalid storage entry:",n),n=null))}catch(e){this.reportError("Error retrieving queue",e),n=null}return n||[]},hn.prototype.saveToStorage=function(n){try{return this.storage.setItem(this.storageKey,Ii(n)),!0}catch(e){return this.reportError("Error saving queue",e),!1}},hn.prototype.clear=function(){this.memQueue=[],this.usePersistence&&this.storage.removeItem(this.storageKey)};var Ar=10*60*1e3,ii=Ei("batch"),je=function(n,e){this.errorReporter=e.errorReporter,this.queue=new hn(n,{errorReporter:m.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(m.bind(function(){this.stopped||this.flush()},this),this.flushInterval))},je.prototype.flush=function(n){try{if(this.requestInProgress){ii.log("Flush: Request already in progress");return}n=n||{};var e=this.libConfig.batch_request_timeout_ms,i=new Date().getTime(),t=this.batchSize,o=this.queue.fillBatch(t),s=o.length===t,a=[],l={};if(m.each(o,function(p){var g=p.payload;if(this.beforeSendHook&&!p.orphaned&&(g=this.beforeSendHook(g)),g){g.event&&g.properties&&(g.properties=m.extend({},g.properties,{mp_sent_by_lib_version:$e.LIB_VERSION}));var f=!0,y=p.id;y?(this.itemIdsSentSuccessfully[y]||0)>5&&(this.reportError("[dupe] item ID sent too many times, not sending",{item:p,batchSize:o.length,timesSent:this.itemIdsSentSuccessfully[y]}),f=!1):this.reportError("[dupe] found item with no ID",{item:p}),f&&a.push(g)}l[p.id]=g},this),a.length<1){this.resetFlush();return}this.requestInProgress=!0;var d=m.bind(function(p){this.requestInProgress=!1;try{var g=!1;if(n.unloading)this.queue.updatePayloads(l);else if(m.isObject(p)&&p.error==="timeout"&&new Date().getTime()-i>=e)this.reportError("Network timeout; retrying"),this.flush();else if(m.isObject(p)&&(p.httpStatusCode>=500||p.httpStatusCode===429||p.httpStatusCode<=0&&!gr()||p.error==="timeout")){var f=this.flushInterval*2;p.retryAfter&&(f=parseInt(p.retryAfter,10)*1e3||f),f=Math.min(Ar,f),this.reportError("Error; retry in "+f+" ms"),this.scheduleFlush(f)}else if(m.isObject(p)&&p.httpStatusCode===413)if(o.length>1){var y=Math.max(1,Math.floor(t/2));this.batchSize=Math.min(this.batchSize,y,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(m.map(o,function(k){return k.id}),m.bind(function(k){k?(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)),m.each(o,m.bind(function(k){var C=k.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:k,batchSize:o.length,timesSent:this.itemIdsSentSuccessfully[C]})):this.reportError("[dupe] found item with no ID while removing",{item:k})},this)))}catch(k){this.reportError("Error handling API response",k),this.resetFlush()}},this),v={method:"POST",verbose:!0,ignore_json_errors:!0,timeout_ms:e};n.unloading&&(v.transport="sendBeacon"),ii.log("MIXPANEL REQUEST:",a),this.sendRequest(a,v,d)}catch(p){this.reportError("Error flushing request queue",p),this.resetFlush()}},je.prototype.reportError=function(n,e){if(ii.error.apply(ii.error,arguments),this.errorReporter)try{e instanceof Error||(e=new Error(n)),this.errorReporter(n,e)}catch(i){ii.error(i)}};var wn=Ei("recorder"),Ho=N.CompressionStream,xr={batch_size:1e3,batch_flush_interval_ms:10*1e3,batch_request_timeout_ms:90*1e3,batch_autostart:!0},Lr=new Set([Ge.MouseMove,Ge.MouseInteraction,Ge.Scroll,Ge.ViewportResize,Ge.Input,Ge.TouchMove,Ge.MediaInteraction,Ge.Drag,Ge.Selection]);function Tr(n){return n.type===wo.IncrementalSnapshot&&Lr.has(n.data.source)}var Ke=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=ei,this.recordMinMs=0,this._initBatcher()};Ke.prototype._initBatcher=function(){this.batcher=new je("__mprec",{libConfig:xr,sendRequestFunc:m.bind(this.flushEventsWithOptOut,this),errorReporter:m.bind(this.reportError,this),flushOnlyOnInterval:!0,usePersistence:!1})},Ke.prototype.get_config=function(n){return this._mixpanel.get_config(n)},Ke.prototype.startRecording=function(n){if(this._stopRecording!==null){wn.log("Recording already in progress, skipping startRecording.");return}this.recordMaxMs=this.get_config("record_max_ms"),this.recordMaxMs>ei&&(this.recordMaxMs=ei,wn.critical("record_max_ms cannot be greater than "+ei+"ms. Capping value.")),this.recordMinMs=this.get_config("record_min_ms"),this.recordMinMs>et&&(this.recordMinMs=et,wn.critical("record_min_ms cannot be greater than "+et+"ms. Capping value.")),this.recEvents=[],this.seqNo=0,this.replayStartTime=new Date().getTime(),this.replayId=m.UUID(),n||this.recordMinMs>0?this.batcher.stop():this.batcher.start();var e=m.bind(function(){clearTimeout(this.idleTimeoutId),this.idleTimeoutId=setTimeout(m.bind(function(){wn.log("Idle timeout reached, restarting recording."),this.resetRecording()},this),this.get_config("record_idle_timeout_ms"))},this),i=this.get_config("record_block_selector");(i===""||i===null)&&(i=void 0),this._stopRecording=Xn({emit:m.bind(function(t){this.batcher.enqueue(t),Tr(t)&&(this.batcher.stopped&&new Date().getTime()-this.replayStartTime>=this.recordMinMs&&this.batcher.start(),e())},this),blockClass:this.get_config("record_block_class"),blockSelector:i,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(m.bind(this.resetRecording,this),this.recordMaxMs)},Ke.prototype.resetRecording=function(){this.stopRecording(),this.startRecording(!0)},Ke.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)},Ke.prototype.flushEventsWithOptOut=function(n,e,i){this._flushEvents(n,e,i,m.bind(this._onOptOut,this))},Ke.prototype._onOptOut=function(n){n===0&&(this.recEvents=[],this.stopRecording())},Ke.prototype._sendRequest=function(n,e,i,t){var o=m.bind(function(s,a){s.status===200&&this.replayId===n&&this.seqNo++,t({status:0,httpStatusCode:s.status,responseBody:a,retryAfter:s.headers.get("Retry-After")})},this);N.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:i}).then(function(s){s.json().then(function(a){o(s,a)}).catch(function(a){t({error:a})})}).catch(function(s){t({error:s,httpStatusCode:0})})},Ke.prototype._flushEvents=cn(function(n,e,i){const t=n.length;if(t>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[t-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=m.JSONEncode(n),v=this._mixpanel.get_property("$device_id");v&&(l.$device_id=v);var p=this._mixpanel.get_property("$user_id");if(p&&(l.$user_id=p),Ho){var g=new Blob([d],{type:"application/json"}).stream(),f=g.pipeThrough(new Ho("gzip"));new Response(f).blob().then(m.bind(function(y){l.format="gzip",this._sendRequest(o,l,y,i)},this))}else l.format="body",this._sendRequest(o,l,d,i)}}),Ke.prototype.reportError=function(n,e){wn.error.apply(wn.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(i){wn.error(i)}},N.__mp_recorder=Ke;var Ye=function(){};Ye.prototype.create_properties=function(){},Ye.prototype.event_handler=function(){},Ye.prototype.after_track_handler=function(){},Ye.prototype.init=function(n){return this.mp=n,this},Ye.prototype.track=function(n,e,i,t){var o=this,s=m.dom_query(n);if(s.length===0){J.error("The DOM query ("+n+") returned 0 elements");return}return m.each(s,function(a){m.register_event(a,this.override_event,function(l){var d={},v=o.create_properties(i,this),p=o.mp.get_config("track_links_timeout");o.event_handler(l,this,d),window.setTimeout(o.track_callback(t,v,d,!0),p),o.mp.track(e,v,o.track_callback(t,v,d))})},this),!0},Ye.prototype.track_callback=function(n,e,i,t){t=t||!1;var o=this;return function(){i.callback_fired||(i.callback_fired=!0,!(n&&n(t,e)===!1)&&o.after_track_handler(e,i,t))}},Ye.prototype.create_properties=function(n,e){var i;return typeof n=="function"?i=n(e):i=m.extend({},n),i};var Vn=function(){this.override_event="click"};m.inherit(Vn,Ye),Vn.prototype.create_properties=function(n,e){var i=Vn.superclass.create_properties.apply(this,arguments);return e.href&&(i.url=e.href),i},Vn.prototype.event_handler=function(n,e,i){i.new_tab=n.which===2||n.metaKey||n.ctrlKey||e.target==="_blank",i.href=e.href,i.new_tab||n.preventDefault()},Vn.prototype.after_track_handler=function(n,e){e.new_tab||setTimeout(function(){window.location=e.href},0)};var Bi=function(){this.override_event="submit"};m.inherit(Bi,Ye),Bi.prototype.event_handler=function(n,e,i){i.element=e,n.preventDefault()},Bi.prototype.after_track_handler=function(n,e){setTimeout(function(){e.element.submit()},0)};var mn="$set",jn="$set_once",Fe="$unset",kn="$add",qe="$append",Sn="$union",Qe="$remove",Er="$delete",Ro={set_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[mn]=t,i},unset_action:function(n){var e={},i=[];return m.isArray(n)||(n=[n]),m.each(n,function(t){this._is_reserved_property(t)||i.push(t)},this),e[Fe]=i,e},set_once_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[jn]=t,i},union_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=m.isArray(o)?o:[o])},this):t[n]=m.isArray(e)?e:[e],i[Sn]=t,i},append_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[qe]=t,i},remove_action:function(n,e){var i={},t={};return m.isObject(n)?m.each(n,function(o,s){this._is_reserved_property(s)||(t[s]=o)},this):t[n]=e,i[Qe]=t,i},delete_action:function(){var n={};return n[Er]="",n}},ie=function(){};m.extend(ie.prototype,Ro),ie.prototype._init=function(n,e,i){this._mixpanel=n,this._group_key=e,this._group_id=i},ie.prototype.set=Un(function(n,e,i){var t=this.set_action(n,e);return m.isObject(n)&&(i=e),this._send_request(t,i)}),ie.prototype.set_once=Un(function(n,e,i){var t=this.set_once_action(n,e);return m.isObject(n)&&(i=e),this._send_request(t,i)}),ie.prototype.unset=Un(function(n,e){var i=this.unset_action(n);return this._send_request(i,e)}),ie.prototype.union=Un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.union_action(n,e);return this._send_request(t,i)}),ie.prototype.delete=Un(function(n){var e=this.delete_action();return this._send_request(e,n)}),ie.prototype.remove=Un(function(n,e,i){var t=this.remove_action(n,e);return this._send_request(t,i)}),ie.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 i=m.encodeDates(n);return this._mixpanel._track_or_batch({type:"groups",data:i,endpoint:this._get_config("api_host")+"/"+this._get_config("api_routes").groups,batcher:this._mixpanel.request_batchers.groups},e)},ie.prototype._is_reserved_property=function(n){return n==="$group_key"||n==="$group_id"},ie.prototype._get_config=function(n){return this._mixpanel.get_config(n)},ie.prototype.toString=function(){return this._mixpanel.toString()+".group."+this._group_key+"."+this._group_id},ie.prototype.remove=ie.prototype.remove,ie.prototype.set=ie.prototype.set,ie.prototype.set_once=ie.prototype.set_once,ie.prototype.union=ie.prototype.union,ie.prototype.unset=ie.prototype.unset,ie.prototype.toString=ie.prototype.toString;var H=function(){};m.extend(H.prototype,Ro),H.prototype._init=function(n){this._mixpanel=n},H.prototype.set=un(function(n,e,i){var t=this.set_action(n,e);return m.isObject(n)&&(i=e),this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),t[mn]=m.extend({},m.info.people_properties(),t[mn]),this._send_request(t,i)}),H.prototype.set_once=un(function(n,e,i){var t=this.set_once_action(n,e);return m.isObject(n)&&(i=e),this._send_request(t,i)}),H.prototype.unset=un(function(n,e){var i=this.unset_action(n);return this._send_request(i,e)}),H.prototype.increment=un(function(n,e,i){var t={},o={};return m.isObject(n)?(m.each(n,function(s,a){if(!this._is_reserved_property(a))if(isNaN(parseFloat(s))){J.error("Invalid increment value passed to mixpanel.people.increment - must be a number");return}else o[a]=s},this),i=e):(m.isUndefined(e)&&(e=1),o[n]=e),t[kn]=o,this._send_request(t,i)}),H.prototype.append=un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.append_action(n,e);return this._send_request(t,i)}),H.prototype.remove=un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.remove_action(n,e);return this._send_request(t,i)}),H.prototype.union=un(function(n,e,i){m.isObject(n)&&(i=e);var t=this.union_action(n,e);return this._send_request(t,i)}),H.prototype.track_charge=un(function(n,e,i){if(!m.isNumber(n)&&(n=parseFloat(n),isNaN(n))){J.error("Invalid value passed to mixpanel.people.track_charge - must be a number");return}return this.append("$transactions",m.extend({$amount:n},e),i)}),H.prototype.clear_charges=function(n){return this.set("$transactions",[],n)},H.prototype.delete_user=function(){if(!this._identify_called()){J.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)},H.prototype.toString=function(){return this._mixpanel.toString()+".people"},H.prototype._send_request=function(n,e){n.$token=this._get_config("token"),n.$distinct_id=this._mixpanel.get_distinct_id();var i=this._mixpanel.get_property("$device_id"),t=this._mixpanel.get_property("$user_id"),o=this._mixpanel.get_property("$had_persisted_distinct_id");i&&(n.$device_id=i),t&&(n.$user_id=t),o&&(n.$had_persisted_distinct_id=o);var s=m.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),m.isUndefined(e)||(this._get_config("verbose")?e({status:-1,error:null}):e(-1)),m.truncate(s,255))},H.prototype._get_config=function(n){return this._mixpanel.get_config(n)},H.prototype._identify_called=function(){return this._mixpanel._flags.identify_called===!0},H.prototype._enqueue=function(n){mn in n?this._mixpanel.persistence._add_to_people_queue(mn,n):jn in n?this._mixpanel.persistence._add_to_people_queue(jn,n):Fe in n?this._mixpanel.persistence._add_to_people_queue(Fe,n):kn in n?this._mixpanel.persistence._add_to_people_queue(kn,n):qe in n?this._mixpanel.persistence._add_to_people_queue(qe,n):Qe in n?this._mixpanel.persistence._add_to_people_queue(Qe,n):Sn in n?this._mixpanel.persistence._add_to_people_queue(Sn,n):J.error("Invalid call to _enqueue():",n)},H.prototype._flush_one_queue=function(n,e,i,t){var o=this,s=m.extend({},this._mixpanel.persistence.load_queue(n)),a=s;!m.isUndefined(s)&&m.isObject(s)&&!m.isEmptyObject(s)&&(o._mixpanel.persistence._pop_from_people_queue(n,s),o._mixpanel.persistence.save(),t&&(a=t(s)),e.call(o,a,function(l,d){l===0&&o._mixpanel.persistence._add_to_people_queue(n,s),m.isUndefined(i)||i(l,d)}))},H.prototype._flush=function(n,e,i,t,o,s,a){var l=this;this._flush_one_queue(mn,this.set,n),this._flush_one_queue(jn,this.set_once,t),this._flush_one_queue(Fe,this.unset,s,function(S){return m.keys(S)}),this._flush_one_queue(kn,this.increment,e),this._flush_one_queue(Sn,this.union,o);var d=this._mixpanel.persistence.load_queue(qe);if(!m.isUndefined(d)&&m.isArray(d)&&d.length)for(var v,p=function(S,M){S===0&&l._mixpanel.persistence._add_to_people_queue(qe,v),m.isUndefined(i)||i(S,M)},g=d.length-1;g>=0;g--)d=this._mixpanel.persistence.load_queue(qe),v=d.pop(),l._mixpanel.persistence.save(),m.isEmptyObject(v)||l.append(v,p);var f=this._mixpanel.persistence.load_queue(Qe);if(!m.isUndefined(f)&&m.isArray(f)&&f.length)for(var y,k=function(S,M){S===0&&l._mixpanel.persistence._add_to_people_queue(Qe,y),m.isUndefined(a)||a(S,M)},C=f.length-1;C>=0;C--)f=this._mixpanel.persistence.load_queue(Qe),y=f.pop(),l._mixpanel.persistence.save(),m.isEmptyObject(y)||l.remove(y,k)},H.prototype._is_reserved_property=function(n){return n==="$distinct_id"||n==="$token"||n==="$device_id"||n==="$user_id"||n==="$had_persisted_distinct_id"},H.prototype.set=H.prototype.set,H.prototype.set_once=H.prototype.set_once,H.prototype.unset=H.prototype.unset,H.prototype.increment=H.prototype.increment,H.prototype.append=H.prototype.append,H.prototype.remove=H.prototype.remove,H.prototype.union=H.prototype.union,H.prototype.track_charge=H.prototype.track_charge,H.prototype.clear_charges=H.prototype.clear_charges,H.prototype.delete_user=H.prototype.delete_user,H.prototype.toString=H.prototype.toString;var dt="__mps",ct="__mpso",ut="__mpus",ht="__mpa",mt="__mpap",pt="__mpr",vt="__mpu",Oo="$people_distinct_id",Ni="__alias",ti="__timers",Pr=[dt,ct,ut,ht,mt,pt,vt,Oo,Ni,ti],j=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"&&(J.critical("Unknown persistence type "+e+"; falling back to cookie"),e=n.persistence="cookie"),e==="localStorage"&&m.localStorage.is_supported()?this.storage=m.localStorage:this.storage=m.cookie,this.load(),this.update_config(n),this.upgrade(),this.save()};j.prototype.properties=function(){var n={};return this.load(),m.each(this.props,function(e,i){m.include(Pr,i)||(n[i]=e)}),n},j.prototype.load=function(){if(!this.disabled){var n=this.storage.parse(this.name);n&&(this.props=m.extend({},n))}},j.prototype.upgrade=function(){var n,e;this.storage===m.localStorage?(n=m.cookie.parse(this.name),m.cookie.remove(this.name),m.cookie.remove(this.name,!0),n&&this.register_once(n)):this.storage===m.cookie&&(e=m.localStorage.parse(this.name),m.localStorage.remove(this.name),e&&this.register_once(e))},j.prototype.save=function(){this.disabled||this.storage.set(this.name,m.JSONEncode(this.props),this.expire_days,this.cross_subdomain,this.secure,this.cross_site,this.cookie_domain)},j.prototype.load_prop=function(n){return this.load(),this.props[n]},j.prototype.remove=function(){this.storage.remove(this.name,!1,this.cookie_domain),this.storage.remove(this.name,!0,this.cookie_domain)},j.prototype.clear=function(){this.remove(),this.props={}},j.prototype.register_once=function(n,e,i){return m.isObject(n)?(typeof e>"u"&&(e="None"),this.expire_days=typeof i>"u"?this.default_expiry:i,this.load(),m.each(n,function(t,o){(!this.props.hasOwnProperty(o)||this.props[o]===e)&&(this.props[o]=t)},this),this.save(),!0):!1},j.prototype.register=function(n,e){return m.isObject(n)?(this.expire_days=typeof e>"u"?this.default_expiry:e,this.load(),m.extend(this.props,n),this.save(),!0):!1},j.prototype.unregister=function(n){this.load(),n in this.props&&(delete this.props[n],this.save())},j.prototype.update_search_keyword=function(n){this.register(m.info.searchInfo(n))},j.prototype.update_referrer_info=function(n){this.register_once({$initial_referrer:n||"$direct",$initial_referring_domain:m.info.referringDomain(n)||"$direct"},"")},j.prototype.get_referrer_info=function(){return m.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},j.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)},j.prototype.set_disabled=function(n){this.disabled=n,this.disabled?this.remove():this.save()},j.prototype.set_cookie_domain=function(n){n!==this.cookie_domain&&(this.remove(),this.cookie_domain=n,this.save())},j.prototype.set_cross_site=function(n){n!==this.cross_site&&(this.cross_site=n,this.remove(),this.save())},j.prototype.set_cross_subdomain=function(n){n!==this.cross_subdomain&&(this.cross_subdomain=n,this.remove(),this.save())},j.prototype.get_cross_subdomain=function(){return this.cross_subdomain},j.prototype.set_secure=function(n){n!==this.secure&&(this.secure=!!n,this.remove(),this.save())},j.prototype._add_to_people_queue=function(n,e){var i=this._get_queue_key(n),t=e[n],o=this._get_or_create_queue(mn),s=this._get_or_create_queue(jn),a=this._get_or_create_queue(Fe),l=this._get_or_create_queue(kn),d=this._get_or_create_queue(Sn),v=this._get_or_create_queue(Qe,[]),p=this._get_or_create_queue(qe,[]);i===dt?(m.extend(o,t),this._pop_from_people_queue(kn,t),this._pop_from_people_queue(Sn,t),this._pop_from_people_queue(Fe,t)):i===ct?(m.each(t,function(g,f){f in s||(s[f]=g)}),this._pop_from_people_queue(Fe,t)):i===ut?m.each(t,function(g){m.each([o,s,l,d],function(f){g in f&&delete f[g]}),m.each(p,function(f){g in f&&delete f[g]}),a[g]=!0}):i===ht?(m.each(t,function(g,f){f in o?o[f]+=g:(f in l||(l[f]=0),l[f]+=g)},this),this._pop_from_people_queue(Fe,t)):i===vt?(m.each(t,function(g,f){m.isArray(g)&&(f in d||(d[f]=[]),d[f]=d[f].concat(g))}),this._pop_from_people_queue(Fe,t)):i===pt?(v.push(t),this._pop_from_people_queue(qe,t)):i===mt&&(p.push(t),this._pop_from_people_queue(Fe,t)),J.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),J.log(e),this.save()},j.prototype._pop_from_people_queue=function(n,e){var i=this.props[this._get_queue_key(n)];m.isUndefined(i)||m.each(e,function(t,o){n===qe||n===Qe?m.each(i,function(s){s[o]===t&&delete s[o]}):delete i[o]},this)},j.prototype.load_queue=function(n){return this.load_prop(this._get_queue_key(n))},j.prototype._get_queue_key=function(n){if(n===mn)return dt;if(n===jn)return ct;if(n===Fe)return ut;if(n===kn)return ht;if(n===qe)return mt;if(n===Qe)return pt;if(n===Sn)return vt;J.error("Invalid queue:",n)},j.prototype._get_or_create_queue=function(n,e){var i=this._get_queue_key(n);return e=m.isUndefined(e)?{}:e,this.props[i]||(this.props[i]=e)},j.prototype.set_event_timer=function(n,e){var i=this.load_prop(ti)||{};i[n]=e,this.props[ti]=i,this.save()},j.prototype.remove_event_timer=function(n){var e=this.load_prop(ti)||{},i=e[n];return m.isUndefined(i)||(delete this.props[ti][n],this.save()),i};var bt,Uo=function(n,e){throw new Error(n+" not available in this build.")},Ce,Vo=0,Ir=1,Dr=function(n){return n},oi=function(){},He="mixpanel",jo="base64",Br="json",ft="$device:",Kn=N.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,Ko=!Kn&&ze.indexOf("MSIE")===-1&&ze.indexOf("Mozilla")===-1,Hi=null;dn.sendBeacon&&(Hi=function(){return dn.sendBeacon.apply(dn,arguments)});var Fo={track:"track/",engage:"engage/",groups:"groups/",record:"record/"},Go={api_host:"https://api-js.mixpanel.com",api_routes:Fo,api_method:"POST",api_transport:"XHR",api_payload_format:jo,app_host:"https://mixpanel.com",cdn:"https://cdn.mxpnl.com",cross_site_cookie:!1,cross_subdomain_cookie:!0,error_reporter:oi,persistence:"cookie",persistence_name:"",cookie_domain:"",cookie_name:"",loaded:oi,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:ei,record_min_ms:0,record_sessions_percent:0,recorder_src:"https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js"},zo=!1,x=function(){},gt=function(n,e,i){var t,o=i===He?Ce:Ce[i];if(o&&bt===Vo)t=o;else{if(o&&!m.isArray(o)){J.error("You have already initialized "+i);return}t=new x}if(t._cached_groups={},t._init(n,e,i),t.people=new H,t.people._init(t),!t.get_config("skip_first_touch_marketing")){var s=m.info.campaignParams(null),a={},l=!1;m.each(s,function(d,v){a["initial_"+v]=d,d&&(l=!0)}),l&&t.people.set_once(a)}return $e.DEBUG=$e.DEBUG||t.get_config("debug"),!m.isUndefined(o)&&m.isArray(o)&&(t._execute_array.call(t.people,o.people),t._execute_array(o)),t};x.prototype.init=function(n,e,i){if(m.isUndefined(i)){this.report_error("You must name your new library: init(token, config, name)");return}if(i===He){this.report_error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");return}var t=gt(n,e,i);return Ce[i]=t,t._loaded(),t},x.prototype._init=function(n,e,i){e=e||{},this.__loaded=!0,this.config={};var t={};if(!("api_payload_format"in e)){var o=e.api_host||Go.api_host;o.match(/\.mixpanel\.com/)&&(t.api_payload_format=Br)}if(this.set_config(m.extend({},Go,t,e,{name:i,token:n,callback_fn:(i===He?i:He+"."+i)+"._jsc"})),this._jsc=oi,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(!m.localStorage.is_supported(!0)||!Kn)this._batch_requests=!1,J.log("Turning off Mixpanel request-queueing; needs XHR and localStorage support"),m.each(this.get_batcher_configs(),function(d){J.log("Clearing batch queue "+d.queue_key),m.localStorage.remove(d.queue_key)});else if(this.init_batchers(),Hi&&N.addEventListener){var s=m.bind(function(){this.request_batchers.events.stopped||this.request_batchers.events.flush({unloading:!0})},this);N.addEventListener("pagehide",function(d){d.persisted&&s()}),N.addEventListener("visibilitychange",function(){ee.visibilityState==="hidden"&&s()})}}this.persistence=this.cookie=new j(this.config),this.unpersisted_superprops={},this._gdpr_init();var a=m.UUID();this.get_distinct_id()||this.register_once({distinct_id:ft+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()},x.prototype.start_session_recording=cn(function(){if(!N.MutationObserver){J.critical("Browser does not support MutationObserver; skipping session recording");return}var n=m.bind(function(){this._recorder=this._recorder||new N.__mp_recorder(this),this._recorder.startRecording()},this);m.isUndefined(N.__mp_recorder)?Uo(this.get_config("recorder_src"),n):n()}),x.prototype.stop_session_recording=function(){this._recorder?this._recorder.stopRecording():J.critical("Session recorder module not loaded")},x.prototype.get_session_recording_properties=function(){var n={};if(this._recorder){var e=this._recorder.replayId;e&&(n.$mp_replay_id=e)}return n},x.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=m.info.campaignParams(null);m.each(n,(function(e,i){this.unregister(i)}).bind(this))}},x.prototype._set_default_superprops=function(){this.persistence.update_search_keyword(ee.referrer),this.get_config("store_google")&&!this.get_config("stop_utm_persistence")&&this.register(m.info.campaignParams()),this.get_config("save_referrer")&&this.persistence.update_referrer_info(ee.referrer)},x.prototype._dom_loaded=function(){m.each(this.__dom_loaded_queue,function(n){this._track_dom.apply(this,n)},this),this.has_opted_out_tracking()||m.each(this.__request_queue,function(n){this._send_request.apply(this,n)},this),delete this.__dom_loaded_queue,delete this.__request_queue},x.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(!zo)return this.__dom_loaded_queue.push([n,e]),!1;var i=new n().init(this);return i.track.apply(i,e)},x.prototype._init_url_change_tracking=function(n){var e="",i=this.track_pageview();if(i&&(e=m.info.currentUrl()),m.include(["full-url","url-with-path-and-query-string","url-with-path"],n)){N.addEventListener("popstate",function(){N.dispatchEvent(new Event("mp_locationchange"))}),N.addEventListener("hashchange",function(){N.dispatchEvent(new Event("mp_locationchange"))});var t=N.history.pushState;typeof t=="function"&&(N.history.pushState=function(s,a,l){t.call(N.history,s,a,l),N.dispatchEvent(new Event("mp_locationchange"))});var o=N.history.replaceState;typeof o=="function"&&(N.history.replaceState=function(s,a,l){o.call(N.history,s,a,l),N.dispatchEvent(new Event("mp_locationchange"))}),N.addEventListener("mp_locationchange",(function(){var s=m.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))}},x.prototype._prepare_callback=function(n,e){if(m.isUndefined(n))return null;if(Kn){var i=function(a){n(a,e)};return i}else{var t=this._jsc,o=""+Math.floor(Math.random()*1e8),s=this.get_config("callback_fn")+"["+o+"]";return t[o]=function(a){delete t[o],n(a,e)},s}},x.prototype._send_request=function(n,e,i,t){var o=!0;if(Ko)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;!t&&(m.isFunction(i)||typeof i=="string")&&(t=i,i=null),i=m.extend(s,i||{}),Kn||(i.method="GET");var l=i.method==="POST",d=Hi&&l&&i.transport.toLowerCase()==="sendbeacon",v=i.verbose;e.verbose&&(v=!0),this.get_config("test")&&(e.test=1),v&&(e.verbose=1),this.get_config("img")&&(e.img=1),Kn||(t?e.callback=t:(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+="?"+m.HTTPBuildQuery(e);var p=this;if("img"in e){var g=ee.createElement("img");g.src=n,ee.body.appendChild(g)}else if(d){try{o=Hi(n,a)}catch(M){p.report_error(M),o=!1}try{t&&t(o?1:0)}catch(M){p.report_error(M)}}else if(Kn)try{var f=new XMLHttpRequest;f.open(i.method,n,!0);var y=this.get_config("xhr_headers");if(l&&(y["Content-Type"]="application/x-www-form-urlencoded"),m.each(y,function(M,A){f.setRequestHeader(A,M)}),i.timeout_ms&&typeof f.timeout<"u"){f.timeout=i.timeout_ms;var k=new Date().getTime()}f.withCredentials=!0,f.onreadystatechange=function(){if(f.readyState===4)if(f.status===200){if(t)if(v){var M;try{M=m.JSONDecode(f.responseText)}catch(T){if(p.report_error(T),i.ignore_json_errors)M=f.responseText;else return}t(M)}else t(Number(f.responseText))}else{var A;if(f.timeout&&!f.status&&new Date().getTime()-k>=f.timeout?A="timeout":A="Bad HTTP status: "+f.status+" "+f.statusText,p.report_error(A),t)if(v){var _=f.responseHeaders||{};t({status:0,httpStatusCode:f.status,error:A,retryAfter:_["Retry-After"]})}else t(0)}},f.send(a)}catch(M){p.report_error(M),o=!1}else{var C=ee.createElement("script");C.type="text/javascript",C.async=!0,C.defer=!0,C.src=n;var S=ee.getElementsByTagName("script")[0];S.parentNode.insertBefore(C,S)}return o},x.prototype._execute_array=function(n){var e,i=[],t=[],o=[];m.each(n,function(a){a&&(e=a[0],m.isArray(e)?o.push(a):typeof a=="function"?a.call(this):m.isArray(a)&&e==="alias"?i.push(a):m.isArray(a)&&e.indexOf("track")!==-1&&typeof this[e]=="function"?o.push(a):t.push(a))},this);var s=function(a,l){m.each(a,function(d){if(m.isArray(d[0])){var v=l;m.each(d,function(p){v=v[p[0]].apply(v,p.slice(1))})}else this[d[0]].apply(this,d.slice(1))},l)};s(i,this),s(t,this),s(o,this)},x.prototype.are_batchers_initialized=function(){return!!this.request_batchers.events},x.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},x.prototype.init_batchers=function(){if(!this.are_batchers_initialized()){var n=m.bind(function(i){return new je(i.queue_key,{libConfig:this.config,errorReporter:this.get_config("error_reporter"),sendRequestFunc:m.bind(function(t,o,s){this._send_request(this.get_config("api_host")+i.endpoint,this._encode_data_for_request(t),o,this._prepare_callback(s,t))},this),beforeSendHook:m.bind(function(t){return this._run_hook("before_send_"+i.type,t)},this),stopAllBatchingFunc:m.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()},x.prototype.start_batch_senders=function(){this._batchers_were_started=!0,this.are_batchers_initialized()&&(this._batch_requests=!0,m.each(this.request_batchers,function(n){n.start()}))},x.prototype.stop_batch_senders=function(){this._batch_requests=!1,m.each(this.request_batchers,function(n){n.stop(),n.clear()})},x.prototype.push=function(n){this._execute_array([n])},x.prototype.disable=function(n){typeof n>"u"?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(n)},x.prototype._encode_data_for_request=function(n){var e=m.JSONEncode(n);return this.get_config("api_payload_format")===jo&&(e=m.base64Encode(e)),{data:e}},x.prototype._track_or_batch=function(n,e){var i=m.truncate(n.data,255),t=n.endpoint,o=n.batcher,s=n.should_send_immediately,a=n.send_request_options||{};e=e||oi;var l=!0,d=m.bind(function(){return a.skip_hooks||(i=this._run_hook("before_send_"+n.type,i)),i?(J.log("MIXPANEL REQUEST:"),J.log(i),this._send_request(t,this._encode_data_for_request(i),a,this._prepare_callback(e,i))):null},this);return this._batch_requests&&!s?o.enqueue(i,function(v){v?e(1,i):d()}):l=d(),l&&i},x.prototype.track=cn(function(n,e,i,t){!t&&typeof i=="function"&&(t=i,i=null),i=i||{};var o=i.transport;o&&(i.transport=o);var s=i.send_immediately;if(typeof t!="function"&&(t=oi),m.isUndefined(n)){this.report_error("No event name provided to mixpanel.track");return}if(this._event_is_disabled(n)){t(0);return}e=m.extend({},e),e.token=this.get_config("token");var a=this.persistence.remove_event_timer(n);if(!m.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")?m.info.marketingParams():{};e=m.extend({},m.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");m.isArray(v)?m.each(v,function(f){delete e[f]}):this.report_error("Invalid value for property_blacklist config: "+v);var p={event:n,properties:e},g=this._track_or_batch({type:"events",data:p,endpoint:this.get_config("api_host")+"/"+this.get_config("api_routes").track,batcher:this.request_batchers.events,should_send_immediately:s,send_request_options:i},t);return g}),x.prototype.set_group=cn(function(n,e,i){m.isArray(e)||(e=[e]);var t={};return t[n]=e,this.register(t),this.people.set(n,e,i)}),x.prototype.add_group=cn(function(n,e,i){var t=this.get_property(n),o={};return t===void 0?(o[n]=[e],this.register(o)):t.indexOf(e)===-1&&(t.push(e),o[n]=t,this.register(o)),this.people.union(n,e,i)}),x.prototype.remove_group=cn(function(n,e,i){var t=this.get_property(n);if(t!==void 0){var o=t.indexOf(e);o>-1&&(t.splice(o,1),this.register({group_key:t})),t.length===0&&this.unregister(n)}return this.people.remove(n,e,i)}),x.prototype.track_with_groups=cn(function(n,e,i,t){var o=m.extend({},e||{});return m.each(i,function(s,a){s!=null&&(o[a]=s)}),this.track(n,o,t)}),x.prototype._create_map_key=function(n,e){return n+"_"+JSON.stringify(e)},x.prototype._remove_group_from_cache=function(n,e){delete this._cached_groups[this._create_map_key(n,e)]},x.prototype.get_group=function(n,e){var i=this._create_map_key(n,e),t=this._cached_groups[i];return(t===void 0||t._group_key!==n||t._group_id!==e)&&(t=new ie,t._init(this,n,e),this._cached_groups[i]=t),t},x.prototype.track_pageview=cn(function(n,e){typeof n!="object"&&(n={}),e=e||{};var i=e.event_name||"$mp_web_page_view",t=m.extend(m.info.mpPageViewProperties(),m.info.campaignParams(),m.info.clickParams()),o=m.extend({},t,n);return this.track(i,o)}),x.prototype.track_links=function(){return this._track_dom.call(this,Vn,arguments)},x.prototype.track_forms=function(){return this._track_dom.call(this,Bi,arguments)},x.prototype.time_event=function(n){if(m.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 Nr={persistent:!0},yt=function(n){var e;return m.isObject(n)?e=n:m.isUndefined(n)?e={}:e={days:n},m.extend({},Nr,e)};x.prototype.register=function(n,e){var i=yt(e);i.persistent?this.persistence.register(n,i.days):m.extend(this.unpersisted_superprops,n)},x.prototype.register_once=function(n,e,i){var t=yt(i);t.persistent?this.persistence.register_once(n,e,t.days):(typeof e>"u"&&(e="None"),m.each(n,function(o,s){(!this.unpersisted_superprops.hasOwnProperty(s)||this.unpersisted_superprops[s]===e)&&(this.unpersisted_superprops[s]=o)},this))},x.prototype.unregister=function(n,e){e=yt(e),e.persistent?this.persistence.unregister(n):delete this.unpersisted_superprops[n]},x.prototype._register_single=function(n,e){var i={};i[n]=e,this.register(i)},x.prototype.identify=function(n,e,i,t,o,s,a,l){var d=this.get_distinct_id();if(n&&d!==n){if(typeof n=="string"&&n.indexOf(ft)===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(Ni)&&(this.unregister(Ni),this.register({distinct_id:n})),this._flags.identify_called=!0,this.people._flush(e,i,t,o,s,a,l),n!==d&&this.track("$identify",{distinct_id:n,$anon_distinct_id:d},{skip_hooks:!0})},x.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1;var n=m.UUID();this.register_once({distinct_id:ft+n,$device_id:n},"")},x.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},x.prototype.alias=function(n,e){if(n===this.get_property(Oo))return this.report_error("Attempting to create alias for existing People user - aborting."),-2;var i=this;return m.isUndefined(e)&&(e=this.get_distinct_id()),n!==e?(this._register_single(Ni,n),this.track("$create_alias",{alias:n,distinct_id:e},{skip_hooks:!0},function(){i.identify(n)})):(this.report_error("alias matches current distinct_id - skipping api call."),this.identify(n),-1)},x.prototype.name_tag=function(n){this._register_single("mp_name_tag",n)},x.prototype.set_config=function(n){if(m.isObject(n)){m.extend(this.config,n);var e=n.batch_size;e&&m.each(this.request_batchers,function(i){i.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),$e.DEBUG=$e.DEBUG||this.get_config("debug")}},x.prototype.get_config=function(n){return this.config[n]},x.prototype._run_hook=function(n){var e=(this.config.hooks[n]||Dr).apply(this,ln.call(arguments,1));return typeof e>"u"&&(this.report_error(n+" hook did not return a value"),e=null),e},x.prototype.get_property=function(n){return this.persistence.load_prop([n])},x.prototype.toString=function(){var n=this.get_config("name");return n!==He&&(n=He+"."+n),n},x.prototype._event_is_disabled=function(n){return m.isBlockedUA(ze)||this._flags.disable_all_events||m.include(this.__disabled_events,n)},x.prototype._gdpr_init=function(){var n=this.get_config("opt_out_tracking_persistence_type")==="localStorage";n&&m.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")||m.cookie.get("mp_optout"))&&(m.cookie.remove("mp_optout"),this.opt_out_tracking({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},x.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()},x.prototype._gdpr_call_func=function(n,e){return e=m.extend({track:m.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),m.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})},x.prototype.opt_in_tracking=function(n){n=m.extend({enable_persistence:!0},n),this._gdpr_call_func(Cr,n),this._gdpr_update_persistence(n)},x.prototype.opt_out_tracking=function(n){n=m.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(wr,n),this._gdpr_update_persistence(n)},x.prototype.has_opted_in_tracking=function(n){return this._gdpr_call_func(kr,n)},x.prototype.has_opted_out_tracking=function(n){return this._gdpr_call_func(To,n)},x.prototype.clear_opt_in_out_tracking=function(n){n=m.extend({enable_persistence:!0},n),this._gdpr_call_func(Sr,n),this._gdpr_update_persistence(n)},x.prototype.report_error=function(n,e){J.error.apply(J.error,arguments);try{!e&&!(n instanceof Error)&&(n=new Error(n)),this.get_config("error_reporter")(n,e)}catch(i){J.error(i)}},x.prototype.init=x.prototype.init,x.prototype.reset=x.prototype.reset,x.prototype.disable=x.prototype.disable,x.prototype.time_event=x.prototype.time_event,x.prototype.track=x.prototype.track,x.prototype.track_links=x.prototype.track_links,x.prototype.track_forms=x.prototype.track_forms,x.prototype.track_pageview=x.prototype.track_pageview,x.prototype.register=x.prototype.register,x.prototype.register_once=x.prototype.register_once,x.prototype.unregister=x.prototype.unregister,x.prototype.identify=x.prototype.identify,x.prototype.alias=x.prototype.alias,x.prototype.name_tag=x.prototype.name_tag,x.prototype.set_config=x.prototype.set_config,x.prototype.get_config=x.prototype.get_config,x.prototype.get_property=x.prototype.get_property,x.prototype.get_distinct_id=x.prototype.get_distinct_id,x.prototype.toString=x.prototype.toString,x.prototype.opt_out_tracking=x.prototype.opt_out_tracking,x.prototype.opt_in_tracking=x.prototype.opt_in_tracking,x.prototype.has_opted_out_tracking=x.prototype.has_opted_out_tracking,x.prototype.has_opted_in_tracking=x.prototype.has_opted_in_tracking,x.prototype.clear_opt_in_out_tracking=x.prototype.clear_opt_in_out_tracking,x.prototype.get_group=x.prototype.get_group,x.prototype.set_group=x.prototype.set_group,x.prototype.add_group=x.prototype.add_group,x.prototype.remove_group=x.prototype.remove_group,x.prototype.track_with_groups=x.prototype.track_with_groups,x.prototype.start_batch_senders=x.prototype.start_batch_senders,x.prototype.stop_batch_senders=x.prototype.stop_batch_senders,x.prototype.start_session_recording=x.prototype.start_session_recording,x.prototype.stop_session_recording=x.prototype.stop_session_recording,x.prototype.get_session_recording_properties=x.prototype.get_session_recording_properties,x.prototype.DEFAULT_API_ROUTES=Fo,j.prototype.properties=j.prototype.properties,j.prototype.update_search_keyword=j.prototype.update_search_keyword,j.prototype.update_referrer_info=j.prototype.update_referrer_info,j.prototype.get_cross_subdomain=j.prototype.get_cross_subdomain,j.prototype.clear=j.prototype.clear;var Fn={},Hr=function(){m.each(Fn,function(n,e){e!==He&&(Ce[e]=n)}),Ce._=m},Rr=function(){Ce.init=function(n,e,i){if(i)return Ce[i]||(Ce[i]=Fn[i]=gt(n,e,i),Ce[i]._loaded()),Ce[i];var t=Ce;Fn[He]?t=Fn[He]:n&&(t=gt(n,e,He),t._loaded(),Fn[He]=t),Ce=t,bt===Ir&&(N[He]=Ce),Hr()}},Or=function(){function n(){n.done||(n.done=!0,zo=!0,Ko=!1,m.each(Fn,function(t){t._dom_loaded()}))}function e(){try{ee.documentElement.doScroll("left")}catch{setTimeout(e,1);return}n()}if(ee.addEventListener)ee.readyState==="complete"?n():ee.addEventListener("DOMContentLoaded",n,!1);else if(ee.attachEvent){ee.attachEvent("onreadystatechange",n);var i=!1;try{i=N.frameElement===null}catch{}ee.documentElement.doScroll&&i&&e()}m.register_event(N,"load",n,!0)};function Ur(n){return Uo=n,bt=Vo,Ce=new x,Rr(),Ce.init(),Or(),Ce}function Vr(n,e){e()}var P=Ur(Vr);const qo=`<div id="checkoutConfirmationEnd">
|
|
990
990
|
<div class="w-full">
|
|
991
991
|
<div id="otp-content" class=" grid gap-4">
|
|
992
992
|
<h5 class="text-black" id="otp-message">
|
|
@@ -1014,7 +1014,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1014
1014
|
</div>
|
|
1015
1015
|
</div>
|
|
1016
1016
|
</div>
|
|
1017
|
-
</div>`;class Wo{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("#goback-to-merchant");e&&e.addEventListener("click",()=>{var i;P.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(i=this.paymentResponse)==null?void 0:i.status}),Ze(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 qo}}const
|
|
1017
|
+
</div>`;class Wo{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("#goback-to-merchant");e&&e.addEventListener("click",()=>{var i;P.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(i=this.paymentResponse)==null?void 0:i.status}),Ze(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 qo}}const jr=`<div id="confirmationProgress">
|
|
1018
1018
|
<div class="min-h-[20dvh]">
|
|
1019
1019
|
<div>
|
|
1020
1020
|
<div class="grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
@@ -1043,11 +1043,11 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1043
1043
|
|
|
1044
1044
|
</div>
|
|
1045
1045
|
</div>
|
|
1046
|
-
</div>`;class
|
|
1046
|
+
</div>`;class Kr{constructor(e){h(this,"container");h(this,"onAction");h(this,"onSuccess");h(this,"ref");h(this,"token");h(this,"initialTime",300);h(this,"abortController");h(this,"timeLeft");h(this,"timer");h(this,"timerId",null);h(this,"rdtCode");h(this,"url");h(this,"callBackUrl");h(this,"setPaymentResponses");h(this,"step");h(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(){this.initialTime=300,this.timeLeft=this.initialTime;const e=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyCardPayment(this.token,e,({data:i,headers:t})=>{this.onAction(this.step.success),this.redirectTo(i,t,"success")},()=>{this.onAction(this.step.failed)})},5e3),this.startTimer()}async verifyCardPayment(e,i,t,o){let s=0,a=i,l=!0,d;this.abortController&&(d=this.abortController.signal);const v=async()=>{if(this.timeLeft<=0){l=!1,this.onAction(this.step.end);return}s+=1;try{const p=await an(e,this.ref,d,this.rdtCode,this.url);p.data.status==="failed"&&(l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),this.setPaymentResponses(p.data,p.headers),P.track("verify_payment",{payment_method:this.paymentMethod,verification_status:"Failed"}),o(p)),p.data.status==="inProgress"&&(l&&(a=i*(s+1),this.timer=setTimeout(v,a)),this.setPaymentResponses(p.data,p.headers)),(p.data.status==="success"||p.data.status==="successful")&&(this.setPaymentResponses(p.data,p.headers),l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),P.track("verify_payment",{payment_method:this.paymentMethod,verification_status:"Success"}),t(p))}catch{l&&(a=i*(s+1),this.timer=setTimeout(v,a))}};v()}redirectTo(e,i,t){const o=i.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):t==="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=zn(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 jr}}class Fr{constructor({amount:e,totalAmount:i,container:t,customer:o,encryption:s,planId:a,token:l,currency:d,rdtCode:v,url:p,reference:g,onSuccess:f,callBackUrl:y,metadata:k,localCurrency:C,hidePaymentMethods:S,showPaymentMethods:M,onClose:A,restartTransactionProcess:_,retryingPayment:T}){h(this,"contents");h(this,"cardDetailForm");h(this,"cardOtpValidationForm");h(this,"merchantPlanDetail",{});h(this,"cardPinForm");h(this,"avsForm");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);this.currency=d,this.onSuccess=f||(()=>null),this.container=t,this.encryption=s,this.token=l,this.customer=o,this.planId=a,this.amount=e,this.totalAmount=i,this.rdtCode=v,this.url=p,this.reference=g,this.callBackUrl=y,this.metadata=k,this.localCurrency=C,this._currentStep=1,this.activeRef="",this.contents=this.container.querySelector("#payment-content-view"),this.cardResponse={},this.cardResponseHeader={},this.hidePaymentMethods=S,this.showPaymentMethods=M,this.onClose=A,this.restartTransactionProcess=_,this.retryingPayment=T,this.isMaxRetriesReached=!1,this.isCancelledPlan=!1,this.renderCardContent(),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()}async submitCardDetails(e,i){e.preventDefault(),P.track("input_cardDetails",{payment_method:"Card",authentication_type:"PIN"});const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#details-form-button-text"),s=await Us(JSON.stringify(i),this.encryption);t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),(()=>{var l;if(this.retryingPayment){const d={channel:"card",reference:this.reference,encryptedCard:s};return ci(this.token,d,this.rdtCode,this.url)}else{const d={amount:this.amount,channel:"card",currency:this.currency||"USD",planId:this.planId,customer:this.customer,reference:this.reference,encryptedCard:s,callBackUrl:this.callBackUrl,metadata:this.metadata,...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((l=this.merchantPlanDetail)==null?void 0:l.taxQuoteId)&&{taxQuoteId:this.merchantPlanDetail.taxQuoteId}};return _s(this.token,d,this.rdtCode,this.url)}})().then(({data:l,headers:d})=>{var v,p,g,f,y,k,C,S;if(l.status==="failed")this.currentStep=4,this.reference=l.reference,P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN"}),this.cardResponse=l,this.cardResponseHeader=d,l.providerMessage?this.warningScreen.setPaymentError(l.providerMessage):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue();else if(["success","successful"].includes(l.status))this.currentStep=5,this.cardResponse=l,this.cardResponseHeader=d,P.track("verify_payment",{payment_method:"Card",verification_status:"Success",authentication_type:"PIN"}),this.redirectTo(l,d,"success");else if(!["success","successful"].includes(l.status)&&l.status!=="failed")if(this.cardResponse=l,this.cardResponseHeader=d,l!=null&&l.authorization){if(this.activeRef=l.reference,((v=l==null?void 0:l.authorization)==null?void 0:v.mode)==="pin"){this.currentStep=2;return}if(((p=l==null?void 0:l.authorization)==null?void 0:p.mode)==="3DS"){(g=l==null?void 0:l.authorization)!=null&&g.redirectUrl&&this.redirectTo3DS((f=l==null?void 0:l.authorization)==null?void 0:f.redirectUrl),(y=l==null?void 0:l.authorization)!=null&&y.embeddedHtml&&this.redirectToPreciumDoc((k=l==null?void 0:l.authorization)==null?void 0:k.embeddedHtml);return}if(((C=l==null?void 0:l.authorization)==null?void 0:C.mode)==="otp"){this.cardResponse=l,this.currentStep=3;return}if(((S=l==null?void 0:l.authorization)==null?void 0:S.mode)==="avs"){this.currentStep=7;return}}else this.currentStep=4,l.providerMessage?this.warningScreen.setPaymentError(l.providerMessage):this.warningScreen.setPaymentError("Error with Payment"),this.warningScreen.hideReportIssue()}).catch(l=>{P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"PIN"}),l.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,P.track("max_retries_reached",{payment_method:"Card"}),this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(l.message?l.code==="7137"?(this.isCancelledPlan=!0,this.currentStep=4,P.track("cancelled_plan",{payment_method:"Card"}),this.warningScreen.setPaymentError(l.message,"","Go back to Merchant")):(this.currentStep=4,this.warningScreen.setPaymentError(l.message)):(this.currentStep=4,this.warningScreen.setPaymentError("Payment failed")),this.warningScreen.hideReportIssue())}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}cancellledPlanAction(){if(this.rdtCode)window.history.back();else{const e=document.getElementById("checkout-modal");e&&e.remove()}}handlePinRequest(e){if(e.length===4){const i={authorization:{pin:e},reference:this.activeRef};P.track("input_cardPin",{payment_method:"Card",authentication_type:"PIN"}),setTimeout(()=>{const t=this.container.querySelector("#pin-loader"),o=this.container.querySelector("#cancel-payment");t&&(t.innerHTML=`<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1047
1047
|
<path
|
|
1048
1048
|
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"
|
|
1049
1049
|
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
1050
|
-
</svg>`),o&&o.classList.add("hidden"),di(this.token,i,this.rdtCode,this.url).then(({data:a,headers:l})=>{var d,v,p,g,f,y,k;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(a.providerMessage):this.warningScreen.setPaymentError("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((p=a==null?void 0:a.authorization)==null?void 0:p.redirectUrl),(g=a==null?void 0:a.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((f=a==null?void 0:a.authorization)==null?void 0:f.embeddedHtml);return}if(((y=a==null?void 0:a.authorization)==null?void 0:y.mode)==="otp"){this.cardResponse=a,this.currentStep=3;return}if(((k=a==null?void 0:a.authorization)==null?void 0:k.mode)==="avs"){this.currentStep=7;return}this.currentStep=10}}).catch(a=>{P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"PIN"}),this.currentStep=4,a.message?this.warningScreen.setPaymentError(a.message):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue()})},300)}}showLoader(){this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader()}pinErrorStates(e,i,t){const o=this.container.querySelector("#pin-error");o&&(o.innerHTML=e||"Payment Failed"),t&&t.classList.remove("hidden"),i&&(i.innerHTML="")}setPaymentError(e){const i=this.container.querySelector("#payment-warning-text"),t=this.container.querySelector(".warning-list");i&&(i.textContent=e),t&&[{text:"Try again with your card",action:"go-to-card"},{text:"Try again with transfer",action:"go-to-transfer"}].forEach(({action:s,text:a})=>{const l=document.createElement("button");l.textContent=a,l.setAttribute("id",s),l.classList.add("warning-button");const d=document.createElement("div");d.appendChild(l),t.appendChild(d)})}validatedAVS(e,i){e.stopPropagation(),e.preventDefault();const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#avs-form-button-text"),s={authorization:{avs:{state:i==null?void 0:i.state,city:i==null?void 0:i.city,country:i==null?void 0:i.country,address:i==null?void 0:i.address,zipCode:(i==null?void 0:i.code)||"-"}},reference:this.activeRef};P.track("input_address",{payment_method:"Card",authentication_type:"AVS"}),t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),di(this.token,s,this.rdtCode,this.url).then(({data:l,headers:d})=>{var v,p,g,f,y,k,C;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(l.providerMessage):this.warningScreen.setPaymentError("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(((p=l==null?void 0:l.authorization)==null?void 0:p.mode)==="3DS"){(g=l==null?void 0:l.authorization)!=null&&g.redirectUrl&&this.redirectTo3DS((f=l==null?void 0:l.authorization)==null?void 0:f.redirectUrl),(y=l==null?void 0:l.authorization)!=null&&y.embeddedHtml&&this.redirectToPreciumDoc((k=l==null?void 0:l.authorization)==null?void 0:k.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(l=>{this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"AVS"}),l.message?this.warningScreen.setPaymentError(l.message):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue()}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}submitOtp(e,i){e.preventDefault();const t={authorization:{otp:i},reference:this.activeRef};this.currentStep=6,this.showLoader(),P.track("input_cardOTP",{payment_method:"Card",authentication_type:"PIN+0TP"}),di(this.token,t,this.rdtCode,this.url).then(({data:s,headers:a})=>{var l,d,v,p,g,f,y;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(s.providerMessage):this.warningScreen.setPaymentError("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((p=s==null?void 0:s.authorization)==null?void 0:p.redirectUrl),(g=s==null?void 0:s.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((f=s==null?void 0:s.authorization)==null?void 0:f.embeddedHtml);return}if(((y=s==null?void 0:s.authorization)==null?void 0:y.mode)==="avs"){this.currentStep=7;return}this.currentStep=10}}).catch(s=>{this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN+0TP"}),s.message?this.warningScreen.setPaymentError(s.message):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue()})}redirectTo3DS(e){const i=window.open("","_blank");if(!i){alert("Please enable popups for this site to complete the authentication.");return}i.location.href=e,P.track("auth_redirect",{payment_method:"Card",authentication_type:"3DS"}),this.currentStep=6,this.showLoader();const t=setInterval(()=>{i.closed&&(clearInterval(t),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")},({data:o})=>{this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Payment transaction failed"),this.warningScreen.hideReportIssue(),P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}redirectToPreciumDoc(e){const i=atob(e),t=new Blob([i],{type:"text/html"}),o=URL.createObjectURL(t),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")},({data:l})=>{this.currentStep=4,l.providerMessage?this.warningScreen.setPaymentError(l.providerMessage):this.warningScreen.setPaymentError("Payment transaction failed"),this.warningScreen.hideReportIssue(),P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}else alert("Please enable popups for this site to complete the authentication.")}async verifyPayment(e,i){try{const t=await an(this.token,this.activeRef,void 0,this.rdtCode,this.url);t.data.status==="failed"?i(t):(["success","successful"].includes(t.data.status)&&e(t),t.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("Payment transaction failed"),this.warningScreen.hideReportIssue()}}async verifyPaymentProcess(){try{const e=await an(this.token,this.reference,void 0,this.rdtCode,this.url);this.cardResponse=e.data,this.cardResponseHeader=e.headers}catch{this.currentStep=4}}goBackToMerchant(){if(this.isCancelledPlan){this.cancellledPlanAction();return}this.redirectTo(this.cardResponse,this.cardResponseHeader,this.callBackUrl)}renderCardContent(e){var t,o;e&&(this.merchantPlanDetail=e);const i=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),i==null||i.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents){switch(this.currentStep){case 1:this.cardDetailForm=new Ht({container:this.contents,onAction:a=>l=>this.submitCardDetails.bind(this)(a,l),merchantName:this.merchantPlanDetail.merchantName,currency:this.localCurrency!==this.currency?this.localCurrency:this.currency}),this.cardDetailForm.renderContent();break;case 2:this.cardPinForm=new zs({container:this.contents,onClose:this.onClose,onAction:a=>this.handlePinRequest.bind(this)(a)}),this.cardPinForm.renderComponent();break;case 3:this.cardOtpValidationForm=new Fs({container:this.contents,onClose:this.onClose,onAction:a=>l=>this.submitOtp.bind(this)(a,l),otpMessage:((t=this.cardResponse)==null?void 0:t.providerMessage)||"Please enter your OTP sent to your phone"}),this.cardOtpValidationForm.renderComponent();break;case 4:this.warningScreen=new gn({container:this.contents,onAction:this.isMaxRetriesReached||this.isCancelledPlan?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=8}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(o=this.merchantPlanDetail)==null?void 0:o.rate.rate}),this.successScreen.renderComponent();break;case 6:this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 7:this.avsForm=new Zs({container:this.contents,onAction:a=>l=>this.validatedAVS.bind(this)(a,l)}),this.avsForm.renderComponent();break;case 8:this.transactionIssuesScreen=new mi({container:this.contents,onAction:()=>{var a;this.currentStep=4,this.warningScreen.setPaymentError(((a=this.cardResponse)==null?void 0:a.providerMessage)||"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 Wo({container:this.contents,onAction:a=>{this.currentStep=a},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 Fr({container:this.contents,onAction:a=>{this.currentStep=a},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(a,l)=>{this.cardResponse=a,this.cardResponseHeader=l},step:{failed:4,success:5,end:9},paymentMethod:"Card"}),this.confirmationProgress.renderComponent();break;default:this.cardDetailForm=new Ht({container:this.contents,onAction:a=>l=>this.submitCardDetails.bind(this)(a,l),merchantName:this.merchantPlanDetail.merchantName,currency:this.localCurrency?this.localCurrency:this.currency}),this.cardDetailForm.renderContent();break}this.displayButtonText();const s=this.container.querySelector("#card-currency");s&&(s.textContent=`${this.localCurrency?this.localCurrency:this.currency} Card`)}}redirectTo(e,i,t){const o=i.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):t==="success"&&this.onSuccess(e)}displayButtonText(e){var t,o,s,a;const i=this.container.querySelector("#details-form-button-text");if(i){const l=this.currency,d=l==="USD"?(o=(t=this.merchantPlanDetail)==null?void 0:t.rate)==null?void 0:o.from:l;e?i.textContent=e:i.textContent=`Continue to pay ${d} ${xe(this.totalAmount!==this.amount?this.totalAmount:(this.amount||0)*(l==="USD"?(a=(s=this.merchantPlanDetail)==null?void 0:s.rate)==null?void 0:a.rate:1),2)}`}}}const zr=`<div>
|
|
1050
|
+
</svg>`),o&&o.classList.add("hidden"),di(this.token,i,this.rdtCode,this.url).then(({data:a,headers:l})=>{var d,v,p,g,f,y,k;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(a.providerMessage):this.warningScreen.setPaymentError("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((p=a==null?void 0:a.authorization)==null?void 0:p.redirectUrl),(g=a==null?void 0:a.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((f=a==null?void 0:a.authorization)==null?void 0:f.embeddedHtml);return}if(((y=a==null?void 0:a.authorization)==null?void 0:y.mode)==="otp"){this.cardResponse=a,this.currentStep=3;return}if(((k=a==null?void 0:a.authorization)==null?void 0:k.mode)==="avs"){this.currentStep=7;return}this.currentStep=10}}).catch(a=>{P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"PIN"}),this.currentStep=4,a.message?this.warningScreen.setPaymentError(a.message):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue()})},300)}}showLoader(){this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader()}pinErrorStates(e,i,t){const o=this.container.querySelector("#pin-error");o&&(o.innerHTML=e||"Payment Failed"),t&&t.classList.remove("hidden"),i&&(i.innerHTML="")}setPaymentError(e){const i=this.container.querySelector("#payment-warning-text"),t=this.container.querySelector(".warning-list");i&&(i.textContent=e),t&&[{text:"Try again with your card",action:"go-to-card"},{text:"Try again with transfer",action:"go-to-transfer"}].forEach(({action:s,text:a})=>{const l=document.createElement("button");l.textContent=a,l.setAttribute("id",s),l.classList.add("warning-button");const d=document.createElement("div");d.appendChild(l),t.appendChild(d)})}validatedAVS(e,i){e.stopPropagation(),e.preventDefault();const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#avs-form-button-text"),s={authorization:{avs:{state:i==null?void 0:i.state,city:i==null?void 0:i.city,country:i==null?void 0:i.country,address:i==null?void 0:i.address,zipCode:(i==null?void 0:i.code)||"-"}},reference:this.activeRef};P.track("input_address",{payment_method:"Card",authentication_type:"AVS"}),t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),di(this.token,s,this.rdtCode,this.url).then(({data:l,headers:d})=>{var v,p,g,f,y,k,C;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(l.providerMessage):this.warningScreen.setPaymentError("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(((p=l==null?void 0:l.authorization)==null?void 0:p.mode)==="3DS"){(g=l==null?void 0:l.authorization)!=null&&g.redirectUrl&&this.redirectTo3DS((f=l==null?void 0:l.authorization)==null?void 0:f.redirectUrl),(y=l==null?void 0:l.authorization)!=null&&y.embeddedHtml&&this.redirectToPreciumDoc((k=l==null?void 0:l.authorization)==null?void 0:k.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(l=>{this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Null",authentication_type:"AVS"}),l.message?this.warningScreen.setPaymentError(l.message):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue()}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}submitOtp(e,i){e.preventDefault();const t={authorization:{otp:i},reference:this.activeRef};this.currentStep=6,this.showLoader(),P.track("input_cardOTP",{payment_method:"Card",authentication_type:"PIN+0TP"}),di(this.token,t,this.rdtCode,this.url).then(({data:s,headers:a})=>{var l,d,v,p,g,f,y;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(s.providerMessage):this.warningScreen.setPaymentError("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((p=s==null?void 0:s.authorization)==null?void 0:p.redirectUrl),(g=s==null?void 0:s.authorization)!=null&&g.embeddedHtml&&this.redirectToPreciumDoc((f=s==null?void 0:s.authorization)==null?void 0:f.embeddedHtml);return}if(((y=s==null?void 0:s.authorization)==null?void 0:y.mode)==="avs"){this.currentStep=7;return}this.currentStep=10}}).catch(s=>{this.currentStep=4,P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"PIN+0TP"}),s.message?this.warningScreen.setPaymentError(s.message):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue()})}redirectTo3DS(e){const i=window.open("","_blank");if(!i){alert("Please enable popups for this site to complete the authentication.");return}i.location.href=e,P.track("auth_redirect",{payment_method:"Card",authentication_type:"3DS"}),this.currentStep=6,this.showLoader();const t=setInterval(()=>{i.closed&&(clearInterval(t),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")},({data:o})=>{this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Payment transaction failed"),this.warningScreen.hideReportIssue(),P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}redirectToPreciumDoc(e){const i=atob(e),t=new Blob([i],{type:"text/html"}),o=URL.createObjectURL(t),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")},({data:l})=>{this.currentStep=4,l.providerMessage?this.warningScreen.setPaymentError(l.providerMessage):this.warningScreen.setPaymentError("Payment transaction failed"),this.warningScreen.hideReportIssue(),P.track("verify_payment",{payment_method:"Card",verification_status:"Failed",authentication_type:"3DS"})}))},2e3)}else alert("Please enable popups for this site to complete the authentication.")}async verifyPayment(e,i){try{const t=await an(this.token,this.activeRef,void 0,this.rdtCode,this.url);t.data.status==="failed"?i(t):(["success","successful"].includes(t.data.status)&&e(t),t.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("Payment transaction failed"),this.warningScreen.hideReportIssue()}}async verifyPaymentProcess(){try{const e=await an(this.token,this.reference,void 0,this.rdtCode,this.url);this.cardResponse=e.data,this.cardResponseHeader=e.headers}catch{this.currentStep=4}}goBackToMerchant(){if(this.isCancelledPlan){this.cancellledPlanAction();return}this.redirectTo(this.cardResponse,this.cardResponseHeader,this.callBackUrl)}renderCardContent(e){var t,o;e&&(this.merchantPlanDetail=e);const i=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),i==null||i.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents){switch(this.currentStep){case 1:this.cardDetailForm=new Ht({container:this.contents,onAction:a=>l=>this.submitCardDetails.bind(this)(a,l),merchantName:this.merchantPlanDetail.merchantName,currency:this.localCurrency!==this.currency?this.localCurrency:this.currency}),this.cardDetailForm.renderContent();break;case 2:this.cardPinForm=new Gs({container:this.contents,onClose:this.onClose,onAction:a=>this.handlePinRequest.bind(this)(a)}),this.cardPinForm.renderComponent();break;case 3:this.cardOtpValidationForm=new Ks({container:this.contents,onClose:this.onClose,onAction:a=>l=>this.submitOtp.bind(this)(a,l),otpMessage:((t=this.cardResponse)==null?void 0:t.providerMessage)||"Please enter your OTP sent to your phone"}),this.cardOtpValidationForm.renderComponent();break;case 4:this.warningScreen=new gn({container:this.contents,onAction:this.isMaxRetriesReached||this.isCancelledPlan?this.goBackToMerchant.bind(this):this.restartTransactionProcess.bind(this),onReportIssue:()=>this.currentStep=8}),this.contents.innerHTML=this.warningScreen.render(),this.warningScreen.attachListener();break;case 5:this.successScreen=new qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(o=this.merchantPlanDetail)==null?void 0:o.rate.rate}),this.successScreen.renderComponent();break;case 6:this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 7:this.avsForm=new Ws({container:this.contents,onAction:a=>l=>this.validatedAVS.bind(this)(a,l)}),this.avsForm.renderComponent();break;case 8:this.transactionIssuesScreen=new mi({container:this.contents,onAction:()=>{var a;this.currentStep=4,this.warningScreen.setPaymentError(((a=this.cardResponse)==null?void 0:a.providerMessage)||"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 Wo({container:this.contents,onAction:a=>{this.currentStep=a},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 Kr({container:this.contents,onAction:a=>{this.currentStep=a},ref:this.reference,onSuccess:this.onSuccess.bind(this),token:this.token,rdtCode:this.rdtCode,url:this.url,callBackUrl:this.callBackUrl,setPaymentResponses:(a,l)=>{this.cardResponse=a,this.cardResponseHeader=l},step:{failed:4,success:5,end:9},paymentMethod:"Card"}),this.confirmationProgress.renderComponent();break;default:this.cardDetailForm=new Ht({container:this.contents,onAction:a=>l=>this.submitCardDetails.bind(this)(a,l),merchantName:this.merchantPlanDetail.merchantName,currency:this.localCurrency?this.localCurrency:this.currency}),this.cardDetailForm.renderContent();break}this.displayButtonText();const s=this.container.querySelector("#card-currency");s&&(s.textContent=`${this.localCurrency?this.localCurrency:this.currency} Card`)}}redirectTo(e,i,t){const o=i.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):t==="success"&&this.onSuccess(e)}displayButtonText(e){var t,o,s,a;const i=this.container.querySelector("#details-form-button-text");if(i){const l=this.currency,d=l==="USD"?(o=(t=this.merchantPlanDetail)==null?void 0:t.rate)==null?void 0:o.from:l;e?i.textContent=e:i.textContent=`Continue to pay ${d} ${xe(this.totalAmount!==this.amount?this.totalAmount:(this.amount||0)*(l==="USD"?(a=(s=this.merchantPlanDetail)==null?void 0:s.rate)==null?void 0:a.rate:1),2)}`}}}const Gr=`<div>
|
|
1051
1051
|
<div class="container-center h-[40vh] hidden" id="loader">
|
|
1052
1052
|
<img src="" alt="loader gif" />
|
|
1053
1053
|
</div>
|
|
@@ -1138,14 +1138,14 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1138
1138
|
</div>
|
|
1139
1139
|
</div>
|
|
1140
1140
|
</div>
|
|
1141
|
-
</div>`;function
|
|
1141
|
+
</div>`;function zr(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Zo={exports:{}};/*!
|
|
1142
1142
|
* Pusher JavaScript Library v8.4.0
|
|
1143
1143
|
* https://pusher.com/
|
|
1144
1144
|
*
|
|
1145
1145
|
* Copyright 2020, Pusher
|
|
1146
1146
|
* Released under the MIT licence.
|
|
1147
|
-
*/(function(n,e){(function(t,o){n.exports=o()})(window,function(){return function(i){var t={};function o(s){if(t[s])return t[s].exports;var a=t[s]={i:s,l:!1,exports:{}};return i[s].call(a.exports,a,a.exports,o),a.l=!0,a.exports}return o.m=i,o.c=t,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(i,t,o){var s=this&&this.__extends||function(){var C=function(S,M){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,_){A.__proto__=_}||function(A,_){for(var T in _)_.hasOwnProperty(T)&&(A[T]=_[T])},C(S,M)};return function(S,M){C(S,M);function A(){this.constructor=S}S.prototype=M===null?Object.create(M):(A.prototype=M.prototype,new A)}}();Object.defineProperty(t,"__esModule",{value:!0});var a=256,l=function(){function C(S){S===void 0&&(S="="),this._paddingCharacter=S}return C.prototype.encodedLength=function(S){return this._paddingCharacter?(S+2)/3*4|0:(S*8+5)/6|0},C.prototype.encode=function(S){for(var M="",A=0;A<S.length-2;A+=3){var _=S[A]<<16|S[A+1]<<8|S[A+2];M+=this._encodeByte(_>>>3*6&63),M+=this._encodeByte(_>>>2*6&63),M+=this._encodeByte(_>>>1*6&63),M+=this._encodeByte(_>>>0*6&63)}var T=S.length-A;if(T>0){var _=S[A]<<16|(T===2?S[A+1]<<8:0);M+=this._encodeByte(_>>>3*6&63),M+=this._encodeByte(_>>>2*6&63),T===2?M+=this._encodeByte(_>>>1*6&63):M+=this._paddingCharacter||"",M+=this._paddingCharacter||""}return M},C.prototype.maxDecodedLength=function(S){return this._paddingCharacter?S/4*3|0:(S*6+7)/8|0},C.prototype.decodedLength=function(S){return this.maxDecodedLength(S.length-this._getPaddingLength(S))},C.prototype.decode=function(S){if(S.length===0)return new Uint8Array(0);for(var M=this._getPaddingLength(S),A=S.length-M,_=new Uint8Array(this.maxDecodedLength(A)),T=0,I=0,K=0,G=0,U=0,F=0,oe=0;I<A-4;I+=4)G=this._decodeChar(S.charCodeAt(I+0)),U=this._decodeChar(S.charCodeAt(I+1)),F=this._decodeChar(S.charCodeAt(I+2)),oe=this._decodeChar(S.charCodeAt(I+3)),_[T++]=G<<2|U>>>4,_[T++]=U<<4|F>>>2,_[T++]=F<<6|oe,K|=G&a,K|=U&a,K|=F&a,K|=oe&a;if(I<A-1&&(G=this._decodeChar(S.charCodeAt(I)),U=this._decodeChar(S.charCodeAt(I+1)),_[T++]=G<<2|U>>>4,K|=G&a,K|=U&a),I<A-2&&(F=this._decodeChar(S.charCodeAt(I+2)),_[T++]=U<<4|F>>>2,K|=F&a),I<A-3&&(oe=this._decodeChar(S.charCodeAt(I+3)),_[T++]=F<<6|oe,K|=oe&a),K!==0)throw new Error("Base64Coder: incorrect characters for decoding");return _},C.prototype._encodeByte=function(S){var M=S;return M+=65,M+=25-S>>>8&6,M+=51-S>>>8&-75,M+=61-S>>>8&-15,M+=62-S>>>8&3,String.fromCharCode(M)},C.prototype._decodeChar=function(S){var M=a;return M+=(42-S&S-44)>>>8&-a+S-43+62,M+=(46-S&S-48)>>>8&-a+S-47+63,M+=(47-S&S-58)>>>8&-a+S-48+52,M+=(64-S&S-91)>>>8&-a+S-65+0,M+=(96-S&S-123)>>>8&-a+S-97+26,M},C.prototype._getPaddingLength=function(S){var M=0;if(this._paddingCharacter){for(var A=S.length-1;A>=0&&S[A]===this._paddingCharacter;A--)M++;if(S.length<4||M>2)throw new Error("Base64Coder: incorrect padding")}return M},C}();t.Coder=l;var d=new l;function v(C){return d.encode(C)}t.encode=v;function p(C){return d.decode(C)}t.decode=p;var g=function(C){s(S,C);function S(){return C!==null&&C.apply(this,arguments)||this}return S.prototype._encodeByte=function(M){var A=M;return A+=65,A+=25-M>>>8&6,A+=51-M>>>8&-75,A+=61-M>>>8&-13,A+=62-M>>>8&49,String.fromCharCode(A)},S.prototype._decodeChar=function(M){var A=a;return A+=(44-M&M-46)>>>8&-a+M-45+62,A+=(94-M&M-96)>>>8&-a+M-95+63,A+=(47-M&M-58)>>>8&-a+M-48+52,A+=(64-M&M-91)>>>8&-a+M-65+0,A+=(96-M&M-123)>>>8&-a+M-97+26,A},S}(l);t.URLSafeCoder=g;var f=new g;function y(C){return f.encode(C)}t.encodeURLSafe=y;function k(C){return f.decode(C)}t.decodeURLSafe=k,t.encodedLength=function(C){return d.encodedLength(C)},t.maxDecodedLength=function(C){return d.maxDecodedLength(C)},t.decodedLength=function(C){return d.decodedLength(C)}},function(i,t,o){Object.defineProperty(t,"__esModule",{value:!0});var s="utf8: invalid string",a="utf8: invalid source encoding";function l(p){for(var g=new Uint8Array(d(p)),f=0,y=0;y<p.length;y++){var k=p.charCodeAt(y);k<128?g[f++]=k:k<2048?(g[f++]=192|k>>6,g[f++]=128|k&63):k<55296?(g[f++]=224|k>>12,g[f++]=128|k>>6&63,g[f++]=128|k&63):(y++,k=(k&1023)<<10,k|=p.charCodeAt(y)&1023,k+=65536,g[f++]=240|k>>18,g[f++]=128|k>>12&63,g[f++]=128|k>>6&63,g[f++]=128|k&63)}return g}t.encode=l;function d(p){for(var g=0,f=0;f<p.length;f++){var y=p.charCodeAt(f);if(y<128)g+=1;else if(y<2048)g+=2;else if(y<55296)g+=3;else if(y<=57343){if(f>=p.length-1)throw new Error(s);f++,g+=4}else throw new Error(s)}return g}t.encodedLength=d;function v(p){for(var g=[],f=0;f<p.length;f++){var y=p[f];if(y&128){var k=void 0;if(y<224){if(f>=p.length)throw new Error(a);var C=p[++f];if((C&192)!==128)throw new Error(a);y=(y&31)<<6|C&63,k=128}else if(y<240){if(f>=p.length-1)throw new Error(a);var C=p[++f],S=p[++f];if((C&192)!==128||(S&192)!==128)throw new Error(a);y=(y&15)<<12|(C&63)<<6|S&63,k=2048}else if(y<248){if(f>=p.length-2)throw new Error(a);var C=p[++f],S=p[++f],M=p[++f];if((C&192)!==128||(S&192)!==128||(M&192)!==128)throw new Error(a);y=(y&15)<<18|(C&63)<<12|(S&63)<<6|M&63,k=65536}else throw new Error(a);if(y<k||y>=55296&&y<=57343)throw new Error(a);if(y>=65536){if(y>1114111)throw new Error(a);y-=65536,g.push(String.fromCharCode(55296|y>>10)),y=56320|y&1023}}g.push(String.fromCharCode(y))}return g.join("")}t.decode=v},function(i,t,o){i.exports=o(3).default},function(i,t,o){o.r(t);class s{constructor(r,c){this.lastId=0,this.prefix=r,this.name=c}create(r){this.lastId++;var c=this.lastId,b=this.prefix+c,w=this.name+"["+c+"]",L=!1,E=function(){L||(r.apply(null,arguments),L=!0)};return this[c]=E,{number:c,id:b,name:w,callback:E}}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,b){var w=this;if(w.loading[r]&&w.loading[r].length>0)w.loading[r].push(b);else{w.loading[r]=[b];var L=O.createScriptRequest(w.getPath(r,c)),E=w.receivers.create(function(D){if(w.receivers.remove(E),w.loading[r]){var R=w.loading[r];delete w.loading[r];for(var Z=function(pe){pe||L.cleanup()},X=0;X<R.length;X++)R[X](D,Z)}});L.send(E)}}getRoot(r){var c,b=O.getDocument().location.protocol;return r&&r.useTLS||b==="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 p=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:p});const f={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 k={buildLogSuffix:function(u){const r="See:",c=f.urls[u];if(!c)return"";let b;return c.fullUrl?b=c.fullUrl:c.path&&(b=f.baseUrl+c.path),b?`${r} ${b}`:""}},C;(function(u){u.UserAuthentication="user-authentication",u.ChannelAuthorization="channel-authorization"})(C||(C={}));class S 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 A 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 T extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class I extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class K 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 U extends Error{constructor(r,c){super(c),this.status=r,Object.setPrototypeOf(this,new.target.prototype)}}var oe=function(u,r,c,b,w){const L=O.createXHR();L.open("POST",c.endpoint,!0),L.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var E in c.headers)L.setRequestHeader(E,c.headers[E]);if(c.headersProvider!=null){let D=c.headersProvider();for(var E in D)L.setRequestHeader(E,D[E])}return L.onreadystatechange=function(){if(L.readyState===4)if(L.status===200){let D,R=!1;try{D=JSON.parse(L.responseText),R=!0}catch{w(new U(200,`JSON returned from ${b.toString()} endpoint was invalid, yet status code was 200. Data was: ${L.responseText}`),null)}R&&w(null,D)}else{let D="";switch(b){case C.UserAuthentication:D=k.buildLogSuffix("authenticationEndpoint");break;case C.ChannelAuthorization:D=`Clients must be authorized to join private or presence channels. ${k.buildLogSuffix("authorizationEndpoint")}`;break}w(new U(L.status,`Unable to retrieve auth string from ${b.toString()} endpoint - received status: ${L.status} from ${c.endpoint}. ${D}`),null)}},L.send(r),L};function ge(u){return en(Te(u))}var V=String.fromCharCode,_e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ue=function(u){var r=u.charCodeAt(0);return r<128?u:r<2048?V(192|r>>>6)+V(128|r&63):V(224|r>>>12&15)+V(128|r>>>6&63)+V(128|r&63)},Te=function(u){return u.replace(/[^\x00-\x7F]/g,ue)},Me=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),b=[_e.charAt(c>>>18),_e.charAt(c>>>12&63),r>=2?"=":_e.charAt(c>>>6&63),r>=1?"=":_e.charAt(c&63)];return b.join("")},en=window.btoa||function(u){return u.replace(/[\s\S]{1,3}/g,Me)};class vn{constructor(r,c,b,w){this.clear=c,this.timer=r(()=>{this.timer&&(this.timer=w(this.timer))},b)}isRunning(){return this.timer!==null}ensureAborted(){this.timer&&(this.clear(this.timer),this.timer=null)}}var nn=vn;function _n(u){window.clearTimeout(u)}function bn(u){window.clearInterval(u)}class Ee extends nn{constructor(r,c){super(setTimeout,_n,r,function(b){return c(),null})}}class tn extends nn{constructor(r,c){super(setInterval,bn,r,function(b){return c(),b})}}var Mn={now(){return Date.now?Date.now():new Date().valueOf()},defer(u){return new Ee(0,u)},method(u,...r){var c=Array.prototype.slice.call(arguments,1);return function(b){return b[u].apply(b,c.concat(arguments))}}},re=Mn;function fe(u,...r){for(var c=0;c<r.length;c++){var b=r[c];for(var w in b)b[w]&&b[w].constructor&&b[w].constructor===Object?u[w]=fe(u[w]||{},b[w]):u[w]=b[w]}return u}function Re(){for(var u=["Pusher"],r=0;r<arguments.length;r++)typeof arguments[r]=="string"?u.push(arguments[r]):u.push(An(arguments[r]));return u.join(" : ")}function Pe(u,r){var c=Array.prototype.indexOf;if(u===null)return-1;if(c&&u.indexOf===c)return u.indexOf(r);for(var b=0,w=u.length;b<w;b++)if(u[b]===r)return b;return-1}function we(u,r){for(var c in u)Object.prototype.hasOwnProperty.call(u,c)&&r(u[c],c,u)}function We(u){var r=[];return we(u,function(c,b){r.push(b)}),r}function B(u){var r=[];return we(u,function(c){r.push(c)}),r}function he(u,r,c){for(var b=0;b<u.length;b++)r.call(c||window,u[b],b,u)}function Q(u,r){for(var c=[],b=0;b<u.length;b++)c.push(r(u[b],b,u,c));return c}function me(u,r){var c={};return we(u,function(b,w){c[w]=r(b)}),c}function Ie(u,r){r=r||function(w){return!!w};for(var c=[],b=0;b<u.length;b++)r(u[b],b,u,c)&&c.push(u[b]);return c}function $(u,r){var c={};return we(u,function(b,w){(r&&r(b,w,u,c)||b)&&(c[w]=b)}),c}function fn(u){var r=[];return we(u,function(c,b){r.push([b,c])}),r}function si(u,r){for(var c=0;c<u.length;c++)if(r(u[c],c,u))return!0;return!1}function Oi(u,r){for(var c=0;c<u.length;c++)if(!r(u[c],c,u))return!1;return!0}function Ui(u){return me(u,function(r){return typeof r=="object"&&(r=An(r)),encodeURIComponent(ge(r.toString()))})}function Vi(u){var r=$(u,function(b){return b!==void 0}),c=Q(fn(Ui(r)),re.method("join","=")).join("&");return c}function ji(u){var r=[],c=[];return function b(w,L){var E,D,R;switch(typeof w){case"object":if(!w)return null;for(E=0;E<r.length;E+=1)if(r[E]===w)return{$ref:c[E]};if(r.push(w),c.push(L),Object.prototype.toString.apply(w)==="[object Array]")for(R=[],E=0;E<w.length;E+=1)R[E]=b(w[E],L+"["+E+"]");else{R={};for(D in w)Object.prototype.hasOwnProperty.call(w,D)&&(R[D]=b(w[D],L+"["+JSON.stringify(D)+"]"))}return R;case"number":case"string":case"boolean":return w}}(u,"$")}function An(u){try{return JSON.stringify(u)}catch{return JSON.stringify(ji(u))}}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,...c){var b=Re.apply(this,arguments);Pt.log?Pt.log(b):Pt.logToConsole&&r.bind(this)(b)}}var se=new ai,El=function(u,r,c,b,w){(c.headers!==void 0||c.headersProvider!=null)&&se.warn(`To send headers with the ${b.toString()} request, you must use AJAX, rather than JSONP.`);var L=u.nextAuthCallbackID.toString();u.nextAuthCallbackID++;var E=u.getDocument(),D=E.createElement("script");u.auth_callbacks[L]=function(X){w(null,X)};var R="Pusher.auth_callbacks['"+L+"']";D.src=c.endpoint+"?callback="+encodeURIComponent(R)+"&"+r;var Z=E.getElementsByTagName("head")[0]||E.documentElement;Z.insertBefore(D,Z.firstChild)},Pl=El;class Il{constructor(r){this.src=r}send(r){var c=this,b="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(b)},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+"('"+b+"');",c.script.async=c.errorScript.async=!1):c.script.async=!0;var w=document.getElementsByTagName("head")[0];w.insertBefore(c.script,w.firstChild),c.errorScript&&w.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 Dl{constructor(r,c){this.url=r,this.data=c}send(r){if(!this.request){var c=Vi(this.data),b=this.url+"/"+r.number+"?"+c;this.request=O.createScriptRequest(b),this.request.send(r)}}cleanup(){this.request&&this.request.cleanup()}}var Bl=function(u,r){return function(c,b){var w="http"+(r?"s":"")+"://",L=w+(u.host||u.options.host)+u.options.path,E=O.createJSONPRequest(L,c),D=O.ScriptReceivers.create(function(R,Z){a.remove(D),E.cleanup(),Z&&Z.host&&(u.host=Z.host),b&&b(R,Z)});E.send(D)}},Nl={name:"jsonp",getAgent:Bl},Hl=Nl;function wt(u,r,c){var b=u+(r.useTLS?"s":""),w=r.useTLS?r.hostTLS:r.hostNonTLS;return b+"://"+w+c}function kt(u,r){var c="/app/"+u,b="?protocol="+d.PROTOCOL+"&client=js&version="+d.VERSION+(r?"&"+r:"");return c+b}var Rl={getInitial:function(u,r){var c=(r.httpPath||"")+kt(u,"flash=false");return wt("ws",r,c)}},Ol={getInitial:function(u,r){var c=(r.httpPath||"/pusher")+kt(u);return wt("http",r,c)}},Ul={getInitial:function(u,r){return wt("http",r,r.httpPath||"/pusher")},getPath:function(u,r){return kt(u)}};class Vl{constructor(){this._callbacks={}}get(r){return this._callbacks[St(r)]}add(r,c,b){var w=St(r);this._callbacks[w]=this._callbacks[w]||[],this._callbacks[w].push({fn:c,context:b})}remove(r,c,b){if(!r&&!c&&!b){this._callbacks={};return}var w=r?[St(r)]:We(this._callbacks);c||b?this.removeCallback(w,c,b):this.removeAllCallbacks(w)}removeCallback(r,c,b){he(r,function(w){this._callbacks[w]=Ie(this._callbacks[w]||[],function(L){return c&&c!==L.fn||b&&b!==L.context}),this._callbacks[w].length===0&&delete this._callbacks[w]},this)}removeAllCallbacks(r){he(r,function(c){delete this._callbacks[c]},this)}}function St(u){return"_"+u}class on{constructor(r){this.callbacks=new Vl,this.global_callbacks=[],this.failThrough=r}bind(r,c,b){return this.callbacks.add(r,c,b),this}bind_global(r){return this.global_callbacks.push(r),this}unbind(r,c,b){return this.callbacks.remove(r,c,b),this}unbind_global(r){return r?(this.global_callbacks=Ie(this.global_callbacks||[],c=>c!==r),this):(this.global_callbacks=[],this)}unbind_all(){return this.unbind(),this.unbind_global(),this}emit(r,c,b){for(var w=0;w<this.global_callbacks.length;w++)this.global_callbacks[w](r,c);var L=this.callbacks.get(r),E=[];if(b?E.push(c,b):c&&E.push(c),L&&L.length>0)for(var w=0;w<L.length;w++)L[w].fn.apply(L[w].context||window,E);else this.failThrough&&this.failThrough(r,c);return this}}class jl extends on{constructor(r,c,b,w,L){super(),this.initialize=O.transportConnectionInitializer,this.hooks=r,this.name=c,this.priority=b,this.key=w,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 re.defer(()=>{this.onError(c),this.changeState("closed")}),!1}return this.bindListeners(),se.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"?(re.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 fe({cid:this.id},r)}}class Gn{constructor(r){this.hooks=r}isSupported(r){return this.hooks.isSupported(r)}createConnection(r,c,b,w){return new jl(this.hooks,r,c,b,w)}}var Kl=new Gn({urls:Rl,handlesActivityChecks:!1,supportsPing:!1,isInitialized:function(){return!!O.getWebSocketAPI()},isSupported:function(){return!!O.getWebSocketAPI()},getSocket:function(u){return O.createWebSocket(u)}}),os={urls:Ol,handlesActivityChecks:!1,supportsPing:!0,isInitialized:function(){return!0}},ss=fe({getSocket:function(u){return O.HTTPFactory.createStreamingSocket(u)}},os),as=fe({getSocket:function(u){return O.HTTPFactory.createPollingSocket(u)}},os),rs={isSupported:function(){return O.isXHRSupported()}},Fl=new Gn(fe({},ss,rs)),Gl=new Gn(fe({},as,rs)),zl={ws:Kl,xhr_streaming:Fl,xhr_polling:Gl},Ki=zl,ql=new Gn({file:"sockjs",urls:Ul,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}))}}),ls={isSupported:function(u){var r=O.isXDRSupported(u.useTLS);return r}},Wl=new Gn(fe({},ss,ls)),Zl=new Gn(fe({},as,ls));Ki.xdr_streaming=Wl,Ki.xdr_polling=Zl,Ki.sockjs=ql;var Jl=Ki;class $l extends on{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 Yl=new $l;class Ql{constructor(r,c,b){this.manager=r,this.transport=c,this.minPingDelay=b.minPingDelay,this.maxPingDelay=b.maxPingDelay,this.pingDelay=void 0}createConnection(r,c,b,w){w=fe({},w,{activityTimeout:this.pingDelay});var L=this.transport.createConnection(r,c,b,w),E=null,D=function(){L.unbind("open",D),L.bind("closed",R),E=re.now()},R=Z=>{if(L.unbind("closed",R),Z.code===1002||Z.code===1003)this.manager.reportDeath();else if(!Z.wasClean&&E){var X=re.now()-E;X<2*this.maxPingDelay&&(this.manager.reportDeath(),this.pingDelay=Math.max(X/2,this.minPingDelay))}};return L.bind("open",D),L}isSupported(r){return this.manager.isAlive()&&this.transport.isSupported(r)}}const ds={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 b={event:r.event,channel:r.channel,data:c};return r.user_id&&(b.user_id=r.user_id),b}catch(w){throw{type:"MessageParseError",error:w,data:u.data}}},encodeMessage:function(u){return JSON.stringify(u)},processHandshake:function(u){var r=ds.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 xn=ds;class Xl extends on{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,b){var w={event:r,data:c};return b&&(w.channel=b),se.debug("Event sent",w),this.send(xn.encodeMessage(w))}ping(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})}close(){this.transport.close()}bindListeners(){var r={message:b=>{var w;try{w=xn.decodeMessage(b)}catch(L){this.emit("error",{type:"MessageParseError",error:L,data:b.data})}if(w!==void 0){switch(se.debug("Event recd",w),w.event){case"pusher:error":this.emit("error",{type:"PusherError",data:w.data});break;case"pusher:ping":this.emit("ping");break;case"pusher:pong":this.emit("pong");break}this.emit("message",w)}},activity:()=>{this.emit("activity")},error:b=>{this.emit("error",b)},closed:b=>{c(),b&&b.code&&this.handleCloseEvent(b),this.transport=null,this.emit("closed")}},c=()=>{we(r,(b,w)=>{this.transport.unbind(w,b)})};we(r,(b,w)=>{this.transport.bind(w,b)})}handleCloseEvent(r){var c=xn.getCloseAction(r),b=xn.getCloseError(r);b&&this.emit("error",b),c&&this.emit(c,{action:c,error:b})}}class ed{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=xn.processHandshake(r)}catch(b){this.finish("error",{error:b}),this.transport.close();return}c.action==="connected"?this.finish("connected",{connection:new Xl(c.id,this.transport),activityTimeout:c.activityTimeout}):(this.finish(c.action,{error:c.error}),this.transport.close())},this.onClosed=r=>{this.unbindListeners();var c=xn.getCloseAction(r)||"backoff",b=xn.getCloseError(r);this.finish(c,{error:b})},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(fe({transport:this.transport,action:r},c))}}class nd{constructor(r,c){this.timeline=r,this.options=c||{}}send(r,c){this.timeline.isEmpty()||this.timeline.send(O.TimelineTransport.getAgent(this,r),c)}}class _t extends on{constructor(r,c){super(function(b,w){se.debug("No callbacks on "+r+" for "+b)}),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 S("Event '"+r+"' does not start with 'client-'");if(!this.subscribed){var b=k.buildLogSuffix("triggeringClientEvents");se.warn(`Client event triggered before channel 'subscription_succeeded' event . ${b}`)}return this.pusher.send_event(r,c,this.name)}disconnect(){this.subscribed=!1,this.subscriptionPending=!1}handleEvent(r){var c=r.event,b=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 w={};this.emit(c,b,w)}}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,se.error(r.toString()),this.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof U?{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 Mt extends _t{authorize(r,c){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:r},c)}}class id{constructor(){this.reset()}get(r){return Object.prototype.hasOwnProperty.call(this.members,r)?{id:r,info:this.members[r]}:null}each(r){we(this.members,(c,b)=>{r(this.get(b))})}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 td=function(u,r,c,b){function w(L){return L instanceof c?L:new c(function(E){E(L)})}return new(c||(c=Promise))(function(L,E){function D(X){try{Z(b.next(X))}catch(pe){E(pe)}}function R(X){try{Z(b.throw(X))}catch(pe){E(pe)}}function Z(X){X.done?L(X.value):w(X.value).then(D,R)}Z((b=b.apply(u,r||[])).next())})};class od extends Mt{constructor(r,c){super(r,c),this.members=new id}authorize(r,c){super.authorize(r,(b,w)=>td(this,void 0,void 0,function*(){if(!b)if(w=w,w.channel_data!=null){var L=JSON.parse(w.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 E=k.buildLogSuffix("authorizationEndpoint");se.error(`Invalid auth response for channel '${this.name}', expected 'channel_data' field. ${E}, or the user should be signed in.`),c("Invalid auth response");return}c(b,w)}))}handleEvent(r){var c=r.event;if(c.indexOf("pusher_internal:")===0)this.handleInternalEvent(r);else{var b=r.data,w={};r.user_id&&(w.user_id=r.user_id),this.emit(c,b,w)}}handleInternalEvent(r){var c=r.event,b=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 w=this.members.addMember(b);this.emit("pusher:member_added",w);break;case"pusher_internal:member_removed":var L=this.members.removeMember(b);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 sd=o(1),At=o(0);class ad extends Mt{constructor(r,c,b){super(r,c),this.key=null,this.nacl=b}authorize(r,c){super.authorize(r,(b,w)=>{if(b){c(b,w);return}let L=w.shared_secret;if(!L){c(new Error(`No shared_secret key in auth payload for encrypted channel: ${this.name}`),null);return}this.key=Object(At.decode)(L),delete w.shared_secret,c(null,w)})}trigger(r,c){throw new I("Client events are not currently supported for encrypted channels")}handleEvent(r){var c=r.event,b=r.data;if(c.indexOf("pusher_internal:")===0||c.indexOf("pusher:")===0){super.handleEvent(r);return}this.handleEncryptedEvent(c,b)}handleEncryptedEvent(r,c){if(!this.key){se.debug("Received encrypted event before key has been retrieved from the authEndpoint");return}if(!c.ciphertext||!c.nonce){se.error("Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: "+c);return}let b=Object(At.decode)(c.ciphertext);if(b.length<this.nacl.secretbox.overheadLength){se.error(`Expected encrypted event ciphertext length to be ${this.nacl.secretbox.overheadLength}, got: ${b.length}`);return}let w=Object(At.decode)(c.nonce);if(w.length<this.nacl.secretbox.nonceLength){se.error(`Expected encrypted event nonce length to be ${this.nacl.secretbox.nonceLength}, got: ${w.length}`);return}let L=this.nacl.secretbox.open(b,w,this.key);if(L===null){se.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,(E,D)=>{if(E){se.error(`Failed to make a request to the authEndpoint: ${D}. Unable to fetch new key, so dropping encrypted event`);return}if(L=this.nacl.secretbox.open(b,w,this.key),L===null){se.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(sd.decode)(r);try{return JSON.parse(c)}catch{return c}}}class rd extends on{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 b=O.getNetwork();b.bind("online",()=>{this.timeline.info({netinfo:"online"}),(this.state==="connecting"||this.state==="unavailable")&&this.retryIn(0)}),b.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,b){return this.connection?this.connection.send_event(r,c,b):!1}disconnect(){this.disconnectInternally(),this.updateState("disconnected")}isUsingTLS(){return this.usingTLS}startConnecting(){var r=(c,b)=>{c?this.runner=this.strategy.connect(0,r):b.action==="error"?(this.emit("error",{type:"HandshakeError",error:b.error}),this.timeline.error({handshakeError:b.error})):(this.abortConnecting(),this.handshakeCallbacks[b.action](b))};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 Ee(r||0,()=>{this.disconnectInternally(),this.connect()})}clearRetryTimer(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)}setUnavailableTimer(){this.unavailableTimer=new Ee(this.options.unavailableTimeout,()=>{this.updateState("unavailable")})}clearUnavailableTimer(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()}sendActivityCheck(){this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Ee(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 Ee(this.activityTimeout,()=>{this.sendActivityCheck()}))}stopActivityCheck(){this.activityTimer&&this.activityTimer.ensureAborted()}buildConnectionCallbacks(r){return fe({},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 fe({},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=>b=>{b.error&&this.emit("error",{type:"WebSocketError",error:b.error}),c(b)};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 b=this.state;if(this.state=r,b!==r){var w=r;w==="connected"&&(w+=" with new socket ID "+c.socket_id),se.debug("State changed",b+" -> "+w),this.timeline.info({state:r,params:c}),this.emit("state_change",{previous:b,current:r}),this.emit(r,c)}}shouldRetry(){return this.state==="connecting"||this.state==="connected"}}class ld{constructor(){this.channels={}}add(r,c){return this.channels[r]||(this.channels[r]=dd(r,c)),this.channels[r]}all(){return B(this.channels)}find(r){return this.channels[r]}remove(r){var c=this.channels[r];return delete this.channels[r],c}disconnect(){we(this.channels,function(r){r.disconnect()})}}function dd(u,r){if(u.indexOf("private-encrypted-")===0){if(r.config.nacl)return sn.createEncryptedChannel(u,r,r.config.nacl);let c="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",b=k.buildLogSuffix("encryptedChannelSupport");throw new I(`${c}. ${b}`)}else{if(u.indexOf("private-")===0)return sn.createPrivateChannel(u,r);if(u.indexOf("presence-")===0)return sn.createPresenceChannel(u,r);if(u.indexOf("#")===0)throw new M('Cannot create a channel with name "'+u+'".');return sn.createChannel(u,r)}}var cd={createChannels(){return new ld},createConnectionManager(u,r){return new rd(u,r)},createChannel(u,r){return new _t(u,r)},createPrivateChannel(u,r){return new Mt(u,r)},createPresenceChannel(u,r){return new od(u,r)},createEncryptedChannel(u,r,c){return new ad(u,r,c)},createTimelineSender(u,r){return new nd(u,r)},createHandshake(u,r){return new ed(u,r)},createAssistantToTheTransportManager(u,r,c){return new Ql(u,r,c)}},sn=cd;class cs{constructor(r){this.options=r||{},this.livesLeft=this.options.lives||1/0}getAssistant(r){return sn.createAssistantToTheTransportManager(this,r,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})}isAlive(){return this.livesLeft>0}reportDeath(){this.livesLeft-=1}}class Ln{constructor(r,c){this.strategies=r,this.loop=!!c.loop,this.failFast=!!c.failFast,this.timeout=c.timeout,this.timeoutLimit=c.timeoutLimit}isSupported(){return si(this.strategies,re.method("isSupported"))}connect(r,c){var b=this.strategies,w=0,L=this.timeout,E=null,D=(R,Z)=>{Z?c(null,Z):(w=w+1,this.loop&&(w=w%b.length),w<b.length?(L&&(L=L*2,this.timeoutLimit&&(L=Math.min(L,this.timeoutLimit))),E=this.tryStrategy(b[w],r,{timeout:L,failFast:this.failFast},D)):c(!0))};return E=this.tryStrategy(b[w],r,{timeout:L,failFast:this.failFast},D),{abort:function(){E.abort()},forceMinPriority:function(R){r=R,E&&E.forceMinPriority(R)}}}tryStrategy(r,c,b,w){var L=null,E=null;return b.timeout>0&&(L=new Ee(b.timeout,function(){E.abort(),w(!0)})),E=r.connect(c,function(D,R){D&&L&&L.isRunning()&&!b.failFast||(L&&L.ensureAborted(),w(D,R))}),{abort:function(){L&&L.ensureAborted(),E.abort()},forceMinPriority:function(D){E.forceMinPriority(D)}}}}class xt{constructor(r){this.strategies=r}isSupported(){return si(this.strategies,re.method("isSupported"))}connect(r,c){return ud(this.strategies,r,function(b,w){return function(L,E){if(w[b].error=L,L){hd(w)&&c(!0);return}he(w,function(D){D.forceMinPriority(E.transport.priority)}),c(null,E)}})}}function ud(u,r,c){var b=Q(u,function(w,L,E,D){return w.connect(r,c(L,D))});return{abort:function(){he(b,md)},forceMinPriority:function(w){he(b,function(L){L.forceMinPriority(w)})}}}function hd(u){return Oi(u,function(r){return!!r.error})}function md(u){!u.error&&!u.aborted&&(u.abort(),u.aborted=!0)}class pd{constructor(r,c,b){this.strategy=r,this.transports=c,this.ttl=b.ttl||1800*1e3,this.usingTLS=b.useTLS,this.timeline=b.timeline}isSupported(){return this.strategy.isSupported()}connect(r,c){var b=this.usingTLS,w=vd(b),L=w&&w.cacheSkipCount?w.cacheSkipCount:0,E=[this.strategy];if(w&&w.timestamp+this.ttl>=re.now()){var D=this.transports[w.transport];D&&(["ws","wss"].includes(w.transport)||L>3?(this.timeline.info({cached:!0,transport:w.transport,latency:w.latency}),E.push(new Ln([D],{timeout:w.latency*2+1e3,failFast:!0}))):L++)}var R=re.now(),Z=E.pop().connect(r,function X(pe,zi){pe?(us(b),E.length>0?(R=re.now(),Z=E.pop().connect(r,X)):c(pe)):(bd(b,zi.transport.name,re.now()-R,L),c(null,zi))});return{abort:function(){Z.abort()},forceMinPriority:function(X){r=X,Z&&Z.forceMinPriority(X)}}}}function Lt(u){return"pusherTransport"+(u?"TLS":"NonTLS")}function vd(u){var r=O.getLocalStorage();if(r)try{var c=r[Lt(u)];if(c)return JSON.parse(c)}catch{us(u)}return null}function bd(u,r,c,b){var w=O.getLocalStorage();if(w)try{w[Lt(u)]=An({timestamp:re.now(),transport:r,latency:c,cacheSkipCount:b})}catch{}}function us(u){var r=O.getLocalStorage();if(r)try{delete r[Lt(u)]}catch{}}class Fi{constructor(r,{delay:c}){this.strategy=r,this.options={delay:c}}isSupported(){return this.strategy.isSupported()}connect(r,c){var b=this.strategy,w,L=new Ee(this.options.delay,function(){w=b.connect(r,c)});return{abort:function(){L.ensureAborted(),w&&w.abort()},forceMinPriority:function(E){r=E,w&&w.forceMinPriority(E)}}}}class ri{constructor(r,c,b){this.test=r,this.trueBranch=c,this.falseBranch=b}isSupported(){var r=this.test()?this.trueBranch:this.falseBranch;return r.isSupported()}connect(r,c){var b=this.test()?this.trueBranch:this.falseBranch;return b.connect(r,c)}}class fd{constructor(r){this.strategy=r}isSupported(){return this.strategy.isSupported()}connect(r,c){var b=this.strategy.connect(r,function(w,L){L&&b.abort(),c(w,L)});return b}}function li(u){return function(){return u.isSupported()}}var gd=function(u,r,c){var b={};function w(ks,fc,gc,yc,Cc){var Ss=c(u,ks,fc,gc,yc,Cc);return b[ks]=Ss,Ss}var L=Object.assign({},r,{hostNonTLS:u.wsHost+":"+u.wsPort,hostTLS:u.wsHost+":"+u.wssPort,httpPath:u.wsPath}),E=Object.assign({},L,{useTLS:!0}),D=Object.assign({},r,{hostNonTLS:u.httpHost+":"+u.httpPort,hostTLS:u.httpHost+":"+u.httpsPort,httpPath:u.httpPath}),R={loop:!0,timeout:15e3,timeoutLimit:6e4},Z=new cs({minPingDelay:1e4,maxPingDelay:u.activityTimeout}),X=new cs({lives:2,minPingDelay:1e4,maxPingDelay:u.activityTimeout}),pe=w("ws","ws",3,L,Z),zi=w("wss","ws",3,E,Z),hc=w("sockjs","sockjs",1,D),bs=w("xhr_streaming","xhr_streaming",1,D,X),mc=w("xdr_streaming","xdr_streaming",1,D,X),fs=w("xhr_polling","xhr_polling",1,D),pc=w("xdr_polling","xdr_polling",1,D),gs=new Ln([pe],R),vc=new Ln([zi],R),bc=new Ln([hc],R),ys=new Ln([new ri(li(bs),bs,mc)],R),Cs=new Ln([new ri(li(fs),fs,pc)],R),ws=new Ln([new ri(li(ys),new xt([ys,new Fi(Cs,{delay:4e3})]),Cs)],R),It=new ri(li(ws),ws,bc),Dt;return r.useTLS?Dt=new xt([gs,new Fi(It,{delay:2e3})]):Dt=new xt([gs,new Fi(vc,{delay:2e3}),new Fi(It,{delay:5e3})]),new pd(new fd(new ri(li(pe),Dt,It)),b,{ttl:18e5,timeline:r.timeline,useTLS:r.useTLS})},yd=gd,Cd=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()},wd={getRequest:function(u){var r=new window.XDomainRequest;return r.ontimeout=function(){u.emit("error",new A),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()}},kd=wd;const Sd=256*1024;class _d extends on{constructor(r,c,b){super(),this.hooks=r,this.method=c,this.url=b}start(r){this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=()=>{this.close()},O.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&&(O.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)}onChunk(r,c){for(;;){var b=this.advanceBuffer(c);if(b)this.emit("chunk",{status:r,data:b});else break}this.isBufferTooLong(c)&&this.emit("buffer_too_long")}advanceBuffer(r){var c=r.slice(this.position),b=c.indexOf(`
|
|
1148
|
-
`);return b!==-1?(this.position+=b+1,c.slice(0,b)):null}isBufferTooLong(r){return this.position===r.length&&r.length>Sd}}var Tt;(function(u){u[u.CONNECTING=0]="CONNECTING",u[u.OPEN=1]="OPEN",u[u.CLOSED=3]="CLOSED"})(Tt||(Tt={}));var Tn=Tt,Md=1;class Ad{constructor(r,c){this.hooks=r,this.session=ms(1e3)+"/"+Ed(8),this.location=xd(c),this.readyState=Tn.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===Tn.OPEN)try{return O.createSocketRequest("POST",hs(Ld(this.location,this.session))).start(r),!0}catch{return!1}else return!1}reconnect(){this.closeStream(),this.openStream()}onClose(r,c,b){this.closeStream(),this.readyState=Tn.CLOSED,this.onclose&&this.onclose({code:r,reason:c,wasClean:b})}onChunk(r){if(r.status===200){this.readyState===Tn.OPEN&&this.onActivity();var c,b=r.data.slice(0,1);switch(b){case"o":c=JSON.parse(r.data.slice(1)||"{}"),this.onOpen(c);break;case"a":c=JSON.parse(r.data.slice(1)||"[]");for(var w=0;w<c.length;w++)this.onEvent(c[w]);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===Tn.CONNECTING?(r&&r.hostname&&(this.location.base=Td(this.location.base,r.hostname)),this.readyState=Tn.OPEN,this.onopen&&this.onopen()):this.onClose(1006,"Server lost session",!0)}onEvent(r){this.readyState===Tn.OPEN&&this.onmessage&&this.onmessage({data:r})}onActivity(){this.onactivity&&this.onactivity()}onError(r){this.onerror&&this.onerror(r)}openStream(){this.stream=O.createSocketRequest("POST",hs(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){re.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 xd(u){var r=/([^\?]*)\/*(\??.*)/.exec(u);return{base:r[1],queryString:r[2]}}function Ld(u,r){return u.base+"/"+r+"/xhr_send"}function hs(u){var r=u.indexOf("?")===-1?"?":"&";return u+r+"t="+ +new Date+"&n="+Md++}function Td(u,r){var c=/(https?:\/\/)([^\/:]+)((\/|:)?.*)/.exec(u);return c[1]+r+c[3]}function ms(u){return O.randomInt(u)}function Ed(u){for(var r=[],c=0;c<u;c++)r.push(ms(32).toString(32));return r.join("")}var Pd=Ad,Id={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)}},Dd=Id,Bd={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)}},Nd=Bd,Hd={getRequest:function(u){var r=O.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()}},Rd=Hd,Od={createStreamingSocket(u){return this.createSocket(Dd,u)},createPollingSocket(u){return this.createSocket(Nd,u)},createSocket(u,r){return new Pd(u,r)},createXHR(u,r){return this.createRequest(Rd,u,r)},createRequest(u,r,c){return new _d(u,r,c)}},ps=Od;ps.createXDR=function(u,r){return this.createRequest(kd,u,r)};var Ud=ps,Vd={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:a,DependenciesReceivers:p,getDefaultStrategy:yd,Transports:Jl,transportConnectionInitializer:Cd,HTTPFactory:Ud,TimelineTransport:Hl,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:oe,jsonp:Pl}},onDocumentBody(u){document.body?u():setTimeout(()=>{this.onDocumentBody(u)},0)},createJSONPRequest(u,r){return new Dl(u,r)},createScriptRequest(u){return new Il(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 Yl},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)}},O=Vd,Et;(function(u){u[u.ERROR=3]="ERROR",u[u.INFO=6]="INFO",u[u.DEBUG=7]="DEBUG"})(Et||(Et={}));var Gi=Et;class jd{constructor(r,c,b){this.key=r,this.session=c,this.events=[],this.options=b||{},this.sent=0,this.uniqueID=0}log(r,c){r<=this.options.level&&(this.events.push(fe({},c,{timestamp:re.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())}error(r){this.log(Gi.ERROR,r)}info(r){this.log(Gi.INFO,r)}debug(r){this.log(Gi.DEBUG,r)}isEmpty(){return this.events.length===0}send(r,c){var b=fe({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(b,(w,L)=>{w||this.sent++,c&&c(w,L)}),!0}generateUniqueID(){return this.uniqueID++,this.uniqueID}}class Kd{constructor(r,c,b,w){this.name=r,this.priority=c,this.transport=b,this.options=w||{}}isSupported(){return this.transport.isSupported({useTLS:this.options.useTLS})}connect(r,c){if(this.isSupported()){if(this.priority<r)return vs(new _,c)}else return vs(new G,c);var b=!1,w=this.transport.createConnection(this.name,this.priority,this.options.key,this.options),L=null,E=function(){w.unbind("initialized",E),w.connect()},D=function(){L=sn.createHandshake(w,function(pe){b=!0,X(),c(null,pe)})},R=function(pe){X(),c(pe)},Z=function(){X();var pe;pe=An(w),c(new T(pe))},X=function(){w.unbind("initialized",E),w.unbind("open",D),w.unbind("error",R),w.unbind("closed",Z)};return w.bind("initialized",E),w.bind("open",D),w.bind("error",R),w.bind("closed",Z),w.initialize(),{abort:()=>{b||(X(),L?L.close():w.close())},forceMinPriority:pe=>{b||this.priority<pe&&(L?L.close():w.close())}}}}function vs(u,r){return re.defer(function(){r(u)}),{abort:function(){},forceMinPriority:function(){}}}const{Transports:Fd}=O;var Gd=function(u,r,c,b,w,L){var E=Fd[c];if(!E)throw new K(c);var D=(!u.enabledTransports||Pe(u.enabledTransports,r)!==-1)&&(!u.disabledTransports||Pe(u.disabledTransports,r)===-1),R;return D?(w=Object.assign({ignoreNullOrigin:u.ignoreNullOrigin},w),R=new Kd(r,b,L?L.getAssistant(E):E,w)):R=zd,R},zd={isSupported:function(){return!1},connect:function(u,r){var c=re.defer(function(){r(new G)});return{abort:function(){c.ensureAborted()},forceMinPriority:function(){}}}};function qd(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&&se.warn("The disableStats option is deprecated in favor of enableStats")}const Wd=(u,r)=>{var c="socket_id="+encodeURIComponent(u.socketId);for(var b in r.params)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(r.params[b]);if(r.paramsProvider!=null){let w=r.paramsProvider();for(var b in w)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(w[b])}return c};var Zd=u=>{if(typeof O.getAuthorizers()[u.transport]>"u")throw`'${u.transport}' is not a recognized auth transport`;return(r,c)=>{const b=Wd(r,u);O.getAuthorizers()[u.transport](O,b,u,C.UserAuthentication,c)}};const Jd=(u,r)=>{var c="socket_id="+encodeURIComponent(u.socketId);c+="&channel_name="+encodeURIComponent(u.channelName);for(var b in r.params)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(r.params[b]);if(r.paramsProvider!=null){let w=r.paramsProvider();for(var b in w)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(w[b])}return c};var $d=u=>{if(typeof O.getAuthorizers()[u.transport]>"u")throw`'${u.transport}' is not a recognized auth transport`;return(r,c)=>{const b=Jd(r,u);O.getAuthorizers()[u.transport](O,b,u,C.ChannelAuthorization,c)}};const Yd=(u,r,c)=>{const b={authTransport:r.transport,authEndpoint:r.endpoint,auth:{params:r.params,headers:r.headers}};return(w,L)=>{const E=u.channel(w.channelName);c(E,b).authorize(w.socketId,L)}};function Qd(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:tc(u),httpHost:Xd(u),useTLS:ic(u),wsHost:ec(u),userAuthenticator:oc(u),channelAuthorizer:ac(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 Xd(u){return u.httpHost?u.httpHost:u.cluster?`sockjs-${u.cluster}.pusher.com`:d.httpHost}function ec(u){return u.wsHost?u.wsHost:nc(u.cluster)}function nc(u){return`ws-${u}.pusher.com`}function ic(u){return O.getProtocol()==="https:"?!0:u.forceTLS!==!1}function tc(u){return"enableStats"in u?u.enableStats:"disableStats"in u?!u.disableStats:!1}function oc(u){const r=Object.assign(Object.assign({},d.userAuthentication),u.userAuthentication);return"customHandler"in r&&r.customHandler!=null?r.customHandler:Zd(r)}function sc(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=Yd(r,c,u.authorizer))),c}function ac(u,r){const c=sc(u,r);return"customHandler"in c&&c.customHandler!=null?c.customHandler:$d(c)}class rc extends on{constructor(r){super(function(c,b){se.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 lc(){let u,r;return{promise:new Promise((b,w)=>{u=b,r=w}),resolve:u,reject:r}}var dc=lc;class cc extends on{constructor(r){super(function(c,b){se.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,b)=>{if(c){se.warn(`Error during signin: ${c}`),this._cleanup();return}this.pusher.send_event("pusher:signin",{auth:b.auth,user_data:b.user_data})},this.pusher=r,this.pusher.connection.bind("state_change",({previous:c,current:b})=>{c!=="connected"&&b==="connected"&&this._signin(),c==="connected"&&b!=="connected"&&(this._cleanup(),this._newSigninPromiseIfNeeded())}),this.watchlist=new rc(r),this.pusher.connection.bind("message",c=>{var b=c.event;b==="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{se.error(`Failed parsing user data after signin: ${r.user_data}`),this._cleanup();return}if(typeof this.user_data.id!="string"||this.user_data.id===""){se.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 _t(`#server-to-user-${this.user_data.id}`,this.pusher),this.serverToUserChannel.bind_global((c,b)=>{c.indexOf("pusher_internal:")===0||c.indexOf("pusher:")===0||this.emit(c,b)}),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:b}=dc();r.done=!1;const w=()=>{r.done=!0};r.then(w).catch(w),this.signinDonePromise=r,this._signinDoneResolve=c}}class ye{static ready(){ye.isReady=!0;for(var r=0,c=ye.instances.length;r<c;r++)ye.instances[r].connect()}static getClientFeatures(){return We($({ws:O.Transports.ws},function(r){return r.isSupported({})}))}constructor(r,c){uc(r),qd(c),this.key=r,this.config=Qd(c,this),this.channels=sn.createChannels(),this.global_emitter=new on,this.sessionID=O.randomInt(1e9),this.timeline=new jd(this.key,this.sessionID,{cluster:this.config.cluster,features:ye.getClientFeatures(),params:this.config.timelineParams||{},limit:50,level:Gi.INFO,version:d.VERSION}),this.config.enableStats&&(this.timelineSender=sn.createTimelineSender(this.timeline,{host:this.config.statsHost,path:"/timeline/v2/"+O.TimelineTransport.name}));var b=w=>O.getDefaultStrategy(this.config,w,Gd);this.connection=sn.createConnectionManager(this.key,{getStrategy:b,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",w=>{var L=w.event,E=L.indexOf("pusher_internal:")===0;if(w.channel){var D=this.channel(w.channel);D&&D.handleEvent(w)}E||this.global_emitter.emit(w.event,w.data)}),this.connection.bind("connecting",()=>{this.channels.disconnect()}),this.connection.bind("disconnected",()=>{this.channels.disconnect()}),this.connection.bind("error",w=>{se.warn(w)}),ye.instances.push(this),this.timeline.info({instances:ye.instances.length}),this.user=new cc(this),ye.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 tn(6e4,function(){c.send(r)})}}disconnect(){this.connection.disconnect(),this.timelineSenderTimer&&(this.timelineSenderTimer.ensureAborted(),this.timelineSenderTimer=null)}bind(r,c,b){return this.global_emitter.bind(r,c,b),this}unbind(r,c,b){return this.global_emitter.unbind(r,c,b),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,b){return this.connection.send_event(r,c,b)}shouldUseTLS(){return this.config.useTLS}signin(){this.user.signin()}}ye.instances=[],ye.isReady=!1,ye.logToConsole=!1,ye.Runtime=O,ye.ScriptReceivers=O.ScriptReceivers,ye.DependenciesReceivers=O.DependenciesReceivers,ye.auth_callbacks=O.auth_callbacks;var Pt=t.default=ye;function uc(u){if(u==null)throw"You must pass your app key when you instantiate Pusher."}O.setup(ye)}])})})(Zo);var Wr=Zo.exports;const Zr=qr(Wr);class Jo{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"),i=this.container.querySelector("#transfer-bank"),t=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");t&&e&&t.addEventListener("click",()=>{o&&(i&&P.track("copy_transferBank",{payment_method:"Transfer",payment_process:"Payment Started",account_number:e.innerHTML,bank_name:i.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.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 i=this.container.querySelector("#time-left");i&&(i.innerHTML=zn(this.timeLeft))}else this.stopTimer(),e==="check"&&this.onAction(2)},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}copyToClipboard(e,i){navigator.clipboard.writeText(e).then(()=>{i.innerHTML="Copied!"}).catch(()=>{i.innerHTML="Failed to copy"})}renderComponent(e){var g,f,y,k,C,S;e&&(this.payment=e),this.container.innerHTML=this.render();const i=this.container.querySelector("#transfer-amount"),t=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"?(f=this.payment)==null?void 0:f.localCurrency:l;if(i&&(i.innerHTML=`${d} ${xe(this.payment.totalTaxAmount?this.payment.totalLocalAmount:l==="USD"?(y=this.payment)==null?void 0:y.localAmount:(k=this.payment)==null?void 0:k.amount,2)}`),t&&this.payment.bankDetails&&(t.innerHTML=(C=this.payment.bankDetails)==null?void 0:C.bankName),o&&this.payment.bankDetails&&(o.innerHTML=(S=this.payment.bankDetails)==null?void 0:S.accountName),s&&this.payment.bankDetails&&(s.innerHTML=this.payment.bankDetails.accountNumber),a&&(a.innerHTML=zn(this.initialTime)),this.startTimer("poll"),e.status==="inProgress"){const M="45654f3ce4c9512ea9a4",A="us2";var v=new Zr(M,{cluster:A}),p=v.subscribe(e.reference);p.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 T=new URL(_.redirectUrl);T.searchParams.append("status",_.status),T.searchParams.append("reference",_.reference),window.location.href=T.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 zr}}const Jr=`<div id="trasferConfirmationProgress">
|
|
1147
|
+
*/(function(n,e){(function(t,o){n.exports=o()})(window,function(){return function(i){var t={};function o(s){if(t[s])return t[s].exports;var a=t[s]={i:s,l:!1,exports:{}};return i[s].call(a.exports,a,a.exports,o),a.l=!0,a.exports}return o.m=i,o.c=t,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(i,t,o){var s=this&&this.__extends||function(){var C=function(S,M){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,_){A.__proto__=_}||function(A,_){for(var T in _)_.hasOwnProperty(T)&&(A[T]=_[T])},C(S,M)};return function(S,M){C(S,M);function A(){this.constructor=S}S.prototype=M===null?Object.create(M):(A.prototype=M.prototype,new A)}}();Object.defineProperty(t,"__esModule",{value:!0});var a=256,l=function(){function C(S){S===void 0&&(S="="),this._paddingCharacter=S}return C.prototype.encodedLength=function(S){return this._paddingCharacter?(S+2)/3*4|0:(S*8+5)/6|0},C.prototype.encode=function(S){for(var M="",A=0;A<S.length-2;A+=3){var _=S[A]<<16|S[A+1]<<8|S[A+2];M+=this._encodeByte(_>>>3*6&63),M+=this._encodeByte(_>>>2*6&63),M+=this._encodeByte(_>>>1*6&63),M+=this._encodeByte(_>>>0*6&63)}var T=S.length-A;if(T>0){var _=S[A]<<16|(T===2?S[A+1]<<8:0);M+=this._encodeByte(_>>>3*6&63),M+=this._encodeByte(_>>>2*6&63),T===2?M+=this._encodeByte(_>>>1*6&63):M+=this._paddingCharacter||"",M+=this._paddingCharacter||""}return M},C.prototype.maxDecodedLength=function(S){return this._paddingCharacter?S/4*3|0:(S*6+7)/8|0},C.prototype.decodedLength=function(S){return this.maxDecodedLength(S.length-this._getPaddingLength(S))},C.prototype.decode=function(S){if(S.length===0)return new Uint8Array(0);for(var M=this._getPaddingLength(S),A=S.length-M,_=new Uint8Array(this.maxDecodedLength(A)),T=0,I=0,K=0,G=0,U=0,F=0,oe=0;I<A-4;I+=4)G=this._decodeChar(S.charCodeAt(I+0)),U=this._decodeChar(S.charCodeAt(I+1)),F=this._decodeChar(S.charCodeAt(I+2)),oe=this._decodeChar(S.charCodeAt(I+3)),_[T++]=G<<2|U>>>4,_[T++]=U<<4|F>>>2,_[T++]=F<<6|oe,K|=G&a,K|=U&a,K|=F&a,K|=oe&a;if(I<A-1&&(G=this._decodeChar(S.charCodeAt(I)),U=this._decodeChar(S.charCodeAt(I+1)),_[T++]=G<<2|U>>>4,K|=G&a,K|=U&a),I<A-2&&(F=this._decodeChar(S.charCodeAt(I+2)),_[T++]=U<<4|F>>>2,K|=F&a),I<A-3&&(oe=this._decodeChar(S.charCodeAt(I+3)),_[T++]=F<<6|oe,K|=oe&a),K!==0)throw new Error("Base64Coder: incorrect characters for decoding");return _},C.prototype._encodeByte=function(S){var M=S;return M+=65,M+=25-S>>>8&6,M+=51-S>>>8&-75,M+=61-S>>>8&-15,M+=62-S>>>8&3,String.fromCharCode(M)},C.prototype._decodeChar=function(S){var M=a;return M+=(42-S&S-44)>>>8&-a+S-43+62,M+=(46-S&S-48)>>>8&-a+S-47+63,M+=(47-S&S-58)>>>8&-a+S-48+52,M+=(64-S&S-91)>>>8&-a+S-65+0,M+=(96-S&S-123)>>>8&-a+S-97+26,M},C.prototype._getPaddingLength=function(S){var M=0;if(this._paddingCharacter){for(var A=S.length-1;A>=0&&S[A]===this._paddingCharacter;A--)M++;if(S.length<4||M>2)throw new Error("Base64Coder: incorrect padding")}return M},C}();t.Coder=l;var d=new l;function v(C){return d.encode(C)}t.encode=v;function p(C){return d.decode(C)}t.decode=p;var g=function(C){s(S,C);function S(){return C!==null&&C.apply(this,arguments)||this}return S.prototype._encodeByte=function(M){var A=M;return A+=65,A+=25-M>>>8&6,A+=51-M>>>8&-75,A+=61-M>>>8&-13,A+=62-M>>>8&49,String.fromCharCode(A)},S.prototype._decodeChar=function(M){var A=a;return A+=(44-M&M-46)>>>8&-a+M-45+62,A+=(94-M&M-96)>>>8&-a+M-95+63,A+=(47-M&M-58)>>>8&-a+M-48+52,A+=(64-M&M-91)>>>8&-a+M-65+0,A+=(96-M&M-123)>>>8&-a+M-97+26,A},S}(l);t.URLSafeCoder=g;var f=new g;function y(C){return f.encode(C)}t.encodeURLSafe=y;function k(C){return f.decode(C)}t.decodeURLSafe=k,t.encodedLength=function(C){return d.encodedLength(C)},t.maxDecodedLength=function(C){return d.maxDecodedLength(C)},t.decodedLength=function(C){return d.decodedLength(C)}},function(i,t,o){Object.defineProperty(t,"__esModule",{value:!0});var s="utf8: invalid string",a="utf8: invalid source encoding";function l(p){for(var g=new Uint8Array(d(p)),f=0,y=0;y<p.length;y++){var k=p.charCodeAt(y);k<128?g[f++]=k:k<2048?(g[f++]=192|k>>6,g[f++]=128|k&63):k<55296?(g[f++]=224|k>>12,g[f++]=128|k>>6&63,g[f++]=128|k&63):(y++,k=(k&1023)<<10,k|=p.charCodeAt(y)&1023,k+=65536,g[f++]=240|k>>18,g[f++]=128|k>>12&63,g[f++]=128|k>>6&63,g[f++]=128|k&63)}return g}t.encode=l;function d(p){for(var g=0,f=0;f<p.length;f++){var y=p.charCodeAt(f);if(y<128)g+=1;else if(y<2048)g+=2;else if(y<55296)g+=3;else if(y<=57343){if(f>=p.length-1)throw new Error(s);f++,g+=4}else throw new Error(s)}return g}t.encodedLength=d;function v(p){for(var g=[],f=0;f<p.length;f++){var y=p[f];if(y&128){var k=void 0;if(y<224){if(f>=p.length)throw new Error(a);var C=p[++f];if((C&192)!==128)throw new Error(a);y=(y&31)<<6|C&63,k=128}else if(y<240){if(f>=p.length-1)throw new Error(a);var C=p[++f],S=p[++f];if((C&192)!==128||(S&192)!==128)throw new Error(a);y=(y&15)<<12|(C&63)<<6|S&63,k=2048}else if(y<248){if(f>=p.length-2)throw new Error(a);var C=p[++f],S=p[++f],M=p[++f];if((C&192)!==128||(S&192)!==128||(M&192)!==128)throw new Error(a);y=(y&15)<<18|(C&63)<<12|(S&63)<<6|M&63,k=65536}else throw new Error(a);if(y<k||y>=55296&&y<=57343)throw new Error(a);if(y>=65536){if(y>1114111)throw new Error(a);y-=65536,g.push(String.fromCharCode(55296|y>>10)),y=56320|y&1023}}g.push(String.fromCharCode(y))}return g.join("")}t.decode=v},function(i,t,o){i.exports=o(3).default},function(i,t,o){o.r(t);class s{constructor(r,c){this.lastId=0,this.prefix=r,this.name=c}create(r){this.lastId++;var c=this.lastId,b=this.prefix+c,w=this.name+"["+c+"]",L=!1,E=function(){L||(r.apply(null,arguments),L=!0)};return this[c]=E,{number:c,id:b,name:w,callback:E}}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,b){var w=this;if(w.loading[r]&&w.loading[r].length>0)w.loading[r].push(b);else{w.loading[r]=[b];var L=O.createScriptRequest(w.getPath(r,c)),E=w.receivers.create(function(D){if(w.receivers.remove(E),w.loading[r]){var R=w.loading[r];delete w.loading[r];for(var Z=function(pe){pe||L.cleanup()},X=0;X<R.length;X++)R[X](D,Z)}});L.send(E)}}getRoot(r){var c,b=O.getDocument().location.protocol;return r&&r.useTLS||b==="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 p=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:p});const f={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 k={buildLogSuffix:function(u){const r="See:",c=f.urls[u];if(!c)return"";let b;return c.fullUrl?b=c.fullUrl:c.path&&(b=f.baseUrl+c.path),b?`${r} ${b}`:""}},C;(function(u){u.UserAuthentication="user-authentication",u.ChannelAuthorization="channel-authorization"})(C||(C={}));class S 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 A 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 T extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class I extends Error{constructor(r){super(r),Object.setPrototypeOf(this,new.target.prototype)}}class K 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 U extends Error{constructor(r,c){super(c),this.status=r,Object.setPrototypeOf(this,new.target.prototype)}}var oe=function(u,r,c,b,w){const L=O.createXHR();L.open("POST",c.endpoint,!0),L.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var E in c.headers)L.setRequestHeader(E,c.headers[E]);if(c.headersProvider!=null){let D=c.headersProvider();for(var E in D)L.setRequestHeader(E,D[E])}return L.onreadystatechange=function(){if(L.readyState===4)if(L.status===200){let D,R=!1;try{D=JSON.parse(L.responseText),R=!0}catch{w(new U(200,`JSON returned from ${b.toString()} endpoint was invalid, yet status code was 200. Data was: ${L.responseText}`),null)}R&&w(null,D)}else{let D="";switch(b){case C.UserAuthentication:D=k.buildLogSuffix("authenticationEndpoint");break;case C.ChannelAuthorization:D=`Clients must be authorized to join private or presence channels. ${k.buildLogSuffix("authorizationEndpoint")}`;break}w(new U(L.status,`Unable to retrieve auth string from ${b.toString()} endpoint - received status: ${L.status} from ${c.endpoint}. ${D}`),null)}},L.send(r),L};function ge(u){return en(Te(u))}var V=String.fromCharCode,_e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ue=function(u){var r=u.charCodeAt(0);return r<128?u:r<2048?V(192|r>>>6)+V(128|r&63):V(224|r>>>12&15)+V(128|r>>>6&63)+V(128|r&63)},Te=function(u){return u.replace(/[^\x00-\x7F]/g,ue)},Me=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),b=[_e.charAt(c>>>18),_e.charAt(c>>>12&63),r>=2?"=":_e.charAt(c>>>6&63),r>=1?"=":_e.charAt(c&63)];return b.join("")},en=window.btoa||function(u){return u.replace(/[\s\S]{1,3}/g,Me)};class vn{constructor(r,c,b,w){this.clear=c,this.timer=r(()=>{this.timer&&(this.timer=w(this.timer))},b)}isRunning(){return this.timer!==null}ensureAborted(){this.timer&&(this.clear(this.timer),this.timer=null)}}var nn=vn;function _n(u){window.clearTimeout(u)}function bn(u){window.clearInterval(u)}class Ee extends nn{constructor(r,c){super(setTimeout,_n,r,function(b){return c(),null})}}class tn extends nn{constructor(r,c){super(setInterval,bn,r,function(b){return c(),b})}}var Mn={now(){return Date.now?Date.now():new Date().valueOf()},defer(u){return new Ee(0,u)},method(u,...r){var c=Array.prototype.slice.call(arguments,1);return function(b){return b[u].apply(b,c.concat(arguments))}}},re=Mn;function fe(u,...r){for(var c=0;c<r.length;c++){var b=r[c];for(var w in b)b[w]&&b[w].constructor&&b[w].constructor===Object?u[w]=fe(u[w]||{},b[w]):u[w]=b[w]}return u}function Re(){for(var u=["Pusher"],r=0;r<arguments.length;r++)typeof arguments[r]=="string"?u.push(arguments[r]):u.push(An(arguments[r]));return u.join(" : ")}function Pe(u,r){var c=Array.prototype.indexOf;if(u===null)return-1;if(c&&u.indexOf===c)return u.indexOf(r);for(var b=0,w=u.length;b<w;b++)if(u[b]===r)return b;return-1}function we(u,r){for(var c in u)Object.prototype.hasOwnProperty.call(u,c)&&r(u[c],c,u)}function We(u){var r=[];return we(u,function(c,b){r.push(b)}),r}function B(u){var r=[];return we(u,function(c){r.push(c)}),r}function he(u,r,c){for(var b=0;b<u.length;b++)r.call(c||window,u[b],b,u)}function Q(u,r){for(var c=[],b=0;b<u.length;b++)c.push(r(u[b],b,u,c));return c}function me(u,r){var c={};return we(u,function(b,w){c[w]=r(b)}),c}function Ie(u,r){r=r||function(w){return!!w};for(var c=[],b=0;b<u.length;b++)r(u[b],b,u,c)&&c.push(u[b]);return c}function $(u,r){var c={};return we(u,function(b,w){(r&&r(b,w,u,c)||b)&&(c[w]=b)}),c}function fn(u){var r=[];return we(u,function(c,b){r.push([b,c])}),r}function si(u,r){for(var c=0;c<u.length;c++)if(r(u[c],c,u))return!0;return!1}function Oi(u,r){for(var c=0;c<u.length;c++)if(!r(u[c],c,u))return!1;return!0}function Ui(u){return me(u,function(r){return typeof r=="object"&&(r=An(r)),encodeURIComponent(ge(r.toString()))})}function Vi(u){var r=$(u,function(b){return b!==void 0}),c=Q(fn(Ui(r)),re.method("join","=")).join("&");return c}function ji(u){var r=[],c=[];return function b(w,L){var E,D,R;switch(typeof w){case"object":if(!w)return null;for(E=0;E<r.length;E+=1)if(r[E]===w)return{$ref:c[E]};if(r.push(w),c.push(L),Object.prototype.toString.apply(w)==="[object Array]")for(R=[],E=0;E<w.length;E+=1)R[E]=b(w[E],L+"["+E+"]");else{R={};for(D in w)Object.prototype.hasOwnProperty.call(w,D)&&(R[D]=b(w[D],L+"["+JSON.stringify(D)+"]"))}return R;case"number":case"string":case"boolean":return w}}(u,"$")}function An(u){try{return JSON.stringify(u)}catch{return JSON.stringify(ji(u))}}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,...c){var b=Re.apply(this,arguments);Pt.log?Pt.log(b):Pt.logToConsole&&r.bind(this)(b)}}var se=new ai,Ll=function(u,r,c,b,w){(c.headers!==void 0||c.headersProvider!=null)&&se.warn(`To send headers with the ${b.toString()} request, you must use AJAX, rather than JSONP.`);var L=u.nextAuthCallbackID.toString();u.nextAuthCallbackID++;var E=u.getDocument(),D=E.createElement("script");u.auth_callbacks[L]=function(X){w(null,X)};var R="Pusher.auth_callbacks['"+L+"']";D.src=c.endpoint+"?callback="+encodeURIComponent(R)+"&"+r;var Z=E.getElementsByTagName("head")[0]||E.documentElement;Z.insertBefore(D,Z.firstChild)},Tl=Ll;class El{constructor(r){this.src=r}send(r){var c=this,b="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(b)},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+"('"+b+"');",c.script.async=c.errorScript.async=!1):c.script.async=!0;var w=document.getElementsByTagName("head")[0];w.insertBefore(c.script,w.firstChild),c.errorScript&&w.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 Pl{constructor(r,c){this.url=r,this.data=c}send(r){if(!this.request){var c=Vi(this.data),b=this.url+"/"+r.number+"?"+c;this.request=O.createScriptRequest(b),this.request.send(r)}}cleanup(){this.request&&this.request.cleanup()}}var Il=function(u,r){return function(c,b){var w="http"+(r?"s":"")+"://",L=w+(u.host||u.options.host)+u.options.path,E=O.createJSONPRequest(L,c),D=O.ScriptReceivers.create(function(R,Z){a.remove(D),E.cleanup(),Z&&Z.host&&(u.host=Z.host),b&&b(R,Z)});E.send(D)}},Dl={name:"jsonp",getAgent:Il},Bl=Dl;function wt(u,r,c){var b=u+(r.useTLS?"s":""),w=r.useTLS?r.hostTLS:r.hostNonTLS;return b+"://"+w+c}function kt(u,r){var c="/app/"+u,b="?protocol="+d.PROTOCOL+"&client=js&version="+d.VERSION+(r?"&"+r:"");return c+b}var Nl={getInitial:function(u,r){var c=(r.httpPath||"")+kt(u,"flash=false");return wt("ws",r,c)}},Hl={getInitial:function(u,r){var c=(r.httpPath||"/pusher")+kt(u);return wt("http",r,c)}},Rl={getInitial:function(u,r){return wt("http",r,r.httpPath||"/pusher")},getPath:function(u,r){return kt(u)}};class Ol{constructor(){this._callbacks={}}get(r){return this._callbacks[St(r)]}add(r,c,b){var w=St(r);this._callbacks[w]=this._callbacks[w]||[],this._callbacks[w].push({fn:c,context:b})}remove(r,c,b){if(!r&&!c&&!b){this._callbacks={};return}var w=r?[St(r)]:We(this._callbacks);c||b?this.removeCallback(w,c,b):this.removeAllCallbacks(w)}removeCallback(r,c,b){he(r,function(w){this._callbacks[w]=Ie(this._callbacks[w]||[],function(L){return c&&c!==L.fn||b&&b!==L.context}),this._callbacks[w].length===0&&delete this._callbacks[w]},this)}removeAllCallbacks(r){he(r,function(c){delete this._callbacks[c]},this)}}function St(u){return"_"+u}class on{constructor(r){this.callbacks=new Ol,this.global_callbacks=[],this.failThrough=r}bind(r,c,b){return this.callbacks.add(r,c,b),this}bind_global(r){return this.global_callbacks.push(r),this}unbind(r,c,b){return this.callbacks.remove(r,c,b),this}unbind_global(r){return r?(this.global_callbacks=Ie(this.global_callbacks||[],c=>c!==r),this):(this.global_callbacks=[],this)}unbind_all(){return this.unbind(),this.unbind_global(),this}emit(r,c,b){for(var w=0;w<this.global_callbacks.length;w++)this.global_callbacks[w](r,c);var L=this.callbacks.get(r),E=[];if(b?E.push(c,b):c&&E.push(c),L&&L.length>0)for(var w=0;w<L.length;w++)L[w].fn.apply(L[w].context||window,E);else this.failThrough&&this.failThrough(r,c);return this}}class Ul extends on{constructor(r,c,b,w,L){super(),this.initialize=O.transportConnectionInitializer,this.hooks=r,this.name=c,this.priority=b,this.key=w,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 re.defer(()=>{this.onError(c),this.changeState("closed")}),!1}return this.bindListeners(),se.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"?(re.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 fe({cid:this.id},r)}}class Gn{constructor(r){this.hooks=r}isSupported(r){return this.hooks.isSupported(r)}createConnection(r,c,b,w){return new Ul(this.hooks,r,c,b,w)}}var Vl=new Gn({urls:Nl,handlesActivityChecks:!1,supportsPing:!1,isInitialized:function(){return!!O.getWebSocketAPI()},isSupported:function(){return!!O.getWebSocketAPI()},getSocket:function(u){return O.createWebSocket(u)}}),ts={urls:Hl,handlesActivityChecks:!1,supportsPing:!0,isInitialized:function(){return!0}},os=fe({getSocket:function(u){return O.HTTPFactory.createStreamingSocket(u)}},ts),ss=fe({getSocket:function(u){return O.HTTPFactory.createPollingSocket(u)}},ts),as={isSupported:function(){return O.isXHRSupported()}},jl=new Gn(fe({},os,as)),Kl=new Gn(fe({},ss,as)),Fl={ws:Vl,xhr_streaming:jl,xhr_polling:Kl},Ki=Fl,Gl=new Gn({file:"sockjs",urls:Rl,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}))}}),rs={isSupported:function(u){var r=O.isXDRSupported(u.useTLS);return r}},zl=new Gn(fe({},os,rs)),ql=new Gn(fe({},ss,rs));Ki.xdr_streaming=zl,Ki.xdr_polling=ql,Ki.sockjs=Gl;var Wl=Ki;class Zl extends on{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 Jl=new Zl;class $l{constructor(r,c,b){this.manager=r,this.transport=c,this.minPingDelay=b.minPingDelay,this.maxPingDelay=b.maxPingDelay,this.pingDelay=void 0}createConnection(r,c,b,w){w=fe({},w,{activityTimeout:this.pingDelay});var L=this.transport.createConnection(r,c,b,w),E=null,D=function(){L.unbind("open",D),L.bind("closed",R),E=re.now()},R=Z=>{if(L.unbind("closed",R),Z.code===1002||Z.code===1003)this.manager.reportDeath();else if(!Z.wasClean&&E){var X=re.now()-E;X<2*this.maxPingDelay&&(this.manager.reportDeath(),this.pingDelay=Math.max(X/2,this.minPingDelay))}};return L.bind("open",D),L}isSupported(r){return this.manager.isAlive()&&this.transport.isSupported(r)}}const ls={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 b={event:r.event,channel:r.channel,data:c};return r.user_id&&(b.user_id=r.user_id),b}catch(w){throw{type:"MessageParseError",error:w,data:u.data}}},encodeMessage:function(u){return JSON.stringify(u)},processHandshake:function(u){var r=ls.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 xn=ls;class Yl extends on{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,b){var w={event:r,data:c};return b&&(w.channel=b),se.debug("Event sent",w),this.send(xn.encodeMessage(w))}ping(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})}close(){this.transport.close()}bindListeners(){var r={message:b=>{var w;try{w=xn.decodeMessage(b)}catch(L){this.emit("error",{type:"MessageParseError",error:L,data:b.data})}if(w!==void 0){switch(se.debug("Event recd",w),w.event){case"pusher:error":this.emit("error",{type:"PusherError",data:w.data});break;case"pusher:ping":this.emit("ping");break;case"pusher:pong":this.emit("pong");break}this.emit("message",w)}},activity:()=>{this.emit("activity")},error:b=>{this.emit("error",b)},closed:b=>{c(),b&&b.code&&this.handleCloseEvent(b),this.transport=null,this.emit("closed")}},c=()=>{we(r,(b,w)=>{this.transport.unbind(w,b)})};we(r,(b,w)=>{this.transport.bind(w,b)})}handleCloseEvent(r){var c=xn.getCloseAction(r),b=xn.getCloseError(r);b&&this.emit("error",b),c&&this.emit(c,{action:c,error:b})}}class Ql{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=xn.processHandshake(r)}catch(b){this.finish("error",{error:b}),this.transport.close();return}c.action==="connected"?this.finish("connected",{connection:new Yl(c.id,this.transport),activityTimeout:c.activityTimeout}):(this.finish(c.action,{error:c.error}),this.transport.close())},this.onClosed=r=>{this.unbindListeners();var c=xn.getCloseAction(r)||"backoff",b=xn.getCloseError(r);this.finish(c,{error:b})},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(fe({transport:this.transport,action:r},c))}}class Xl{constructor(r,c){this.timeline=r,this.options=c||{}}send(r,c){this.timeline.isEmpty()||this.timeline.send(O.TimelineTransport.getAgent(this,r),c)}}class _t extends on{constructor(r,c){super(function(b,w){se.debug("No callbacks on "+r+" for "+b)}),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 S("Event '"+r+"' does not start with 'client-'");if(!this.subscribed){var b=k.buildLogSuffix("triggeringClientEvents");se.warn(`Client event triggered before channel 'subscription_succeeded' event . ${b}`)}return this.pusher.send_event(r,c,this.name)}disconnect(){this.subscribed=!1,this.subscriptionPending=!1}handleEvent(r){var c=r.event,b=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 w={};this.emit(c,b,w)}}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,se.error(r.toString()),this.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof U?{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 Mt extends _t{authorize(r,c){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:r},c)}}class ed{constructor(){this.reset()}get(r){return Object.prototype.hasOwnProperty.call(this.members,r)?{id:r,info:this.members[r]}:null}each(r){we(this.members,(c,b)=>{r(this.get(b))})}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 nd=function(u,r,c,b){function w(L){return L instanceof c?L:new c(function(E){E(L)})}return new(c||(c=Promise))(function(L,E){function D(X){try{Z(b.next(X))}catch(pe){E(pe)}}function R(X){try{Z(b.throw(X))}catch(pe){E(pe)}}function Z(X){X.done?L(X.value):w(X.value).then(D,R)}Z((b=b.apply(u,r||[])).next())})};class id extends Mt{constructor(r,c){super(r,c),this.members=new ed}authorize(r,c){super.authorize(r,(b,w)=>nd(this,void 0,void 0,function*(){if(!b)if(w=w,w.channel_data!=null){var L=JSON.parse(w.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 E=k.buildLogSuffix("authorizationEndpoint");se.error(`Invalid auth response for channel '${this.name}', expected 'channel_data' field. ${E}, or the user should be signed in.`),c("Invalid auth response");return}c(b,w)}))}handleEvent(r){var c=r.event;if(c.indexOf("pusher_internal:")===0)this.handleInternalEvent(r);else{var b=r.data,w={};r.user_id&&(w.user_id=r.user_id),this.emit(c,b,w)}}handleInternalEvent(r){var c=r.event,b=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 w=this.members.addMember(b);this.emit("pusher:member_added",w);break;case"pusher_internal:member_removed":var L=this.members.removeMember(b);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 td=o(1),At=o(0);class od extends Mt{constructor(r,c,b){super(r,c),this.key=null,this.nacl=b}authorize(r,c){super.authorize(r,(b,w)=>{if(b){c(b,w);return}let L=w.shared_secret;if(!L){c(new Error(`No shared_secret key in auth payload for encrypted channel: ${this.name}`),null);return}this.key=Object(At.decode)(L),delete w.shared_secret,c(null,w)})}trigger(r,c){throw new I("Client events are not currently supported for encrypted channels")}handleEvent(r){var c=r.event,b=r.data;if(c.indexOf("pusher_internal:")===0||c.indexOf("pusher:")===0){super.handleEvent(r);return}this.handleEncryptedEvent(c,b)}handleEncryptedEvent(r,c){if(!this.key){se.debug("Received encrypted event before key has been retrieved from the authEndpoint");return}if(!c.ciphertext||!c.nonce){se.error("Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: "+c);return}let b=Object(At.decode)(c.ciphertext);if(b.length<this.nacl.secretbox.overheadLength){se.error(`Expected encrypted event ciphertext length to be ${this.nacl.secretbox.overheadLength}, got: ${b.length}`);return}let w=Object(At.decode)(c.nonce);if(w.length<this.nacl.secretbox.nonceLength){se.error(`Expected encrypted event nonce length to be ${this.nacl.secretbox.nonceLength}, got: ${w.length}`);return}let L=this.nacl.secretbox.open(b,w,this.key);if(L===null){se.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,(E,D)=>{if(E){se.error(`Failed to make a request to the authEndpoint: ${D}. Unable to fetch new key, so dropping encrypted event`);return}if(L=this.nacl.secretbox.open(b,w,this.key),L===null){se.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(td.decode)(r);try{return JSON.parse(c)}catch{return c}}}class sd extends on{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 b=O.getNetwork();b.bind("online",()=>{this.timeline.info({netinfo:"online"}),(this.state==="connecting"||this.state==="unavailable")&&this.retryIn(0)}),b.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,b){return this.connection?this.connection.send_event(r,c,b):!1}disconnect(){this.disconnectInternally(),this.updateState("disconnected")}isUsingTLS(){return this.usingTLS}startConnecting(){var r=(c,b)=>{c?this.runner=this.strategy.connect(0,r):b.action==="error"?(this.emit("error",{type:"HandshakeError",error:b.error}),this.timeline.error({handshakeError:b.error})):(this.abortConnecting(),this.handshakeCallbacks[b.action](b))};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 Ee(r||0,()=>{this.disconnectInternally(),this.connect()})}clearRetryTimer(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)}setUnavailableTimer(){this.unavailableTimer=new Ee(this.options.unavailableTimeout,()=>{this.updateState("unavailable")})}clearUnavailableTimer(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()}sendActivityCheck(){this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Ee(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 Ee(this.activityTimeout,()=>{this.sendActivityCheck()}))}stopActivityCheck(){this.activityTimer&&this.activityTimer.ensureAborted()}buildConnectionCallbacks(r){return fe({},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 fe({},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=>b=>{b.error&&this.emit("error",{type:"WebSocketError",error:b.error}),c(b)};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 b=this.state;if(this.state=r,b!==r){var w=r;w==="connected"&&(w+=" with new socket ID "+c.socket_id),se.debug("State changed",b+" -> "+w),this.timeline.info({state:r,params:c}),this.emit("state_change",{previous:b,current:r}),this.emit(r,c)}}shouldRetry(){return this.state==="connecting"||this.state==="connected"}}class ad{constructor(){this.channels={}}add(r,c){return this.channels[r]||(this.channels[r]=rd(r,c)),this.channels[r]}all(){return B(this.channels)}find(r){return this.channels[r]}remove(r){var c=this.channels[r];return delete this.channels[r],c}disconnect(){we(this.channels,function(r){r.disconnect()})}}function rd(u,r){if(u.indexOf("private-encrypted-")===0){if(r.config.nacl)return sn.createEncryptedChannel(u,r,r.config.nacl);let c="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",b=k.buildLogSuffix("encryptedChannelSupport");throw new I(`${c}. ${b}`)}else{if(u.indexOf("private-")===0)return sn.createPrivateChannel(u,r);if(u.indexOf("presence-")===0)return sn.createPresenceChannel(u,r);if(u.indexOf("#")===0)throw new M('Cannot create a channel with name "'+u+'".');return sn.createChannel(u,r)}}var ld={createChannels(){return new ad},createConnectionManager(u,r){return new sd(u,r)},createChannel(u,r){return new _t(u,r)},createPrivateChannel(u,r){return new Mt(u,r)},createPresenceChannel(u,r){return new id(u,r)},createEncryptedChannel(u,r,c){return new od(u,r,c)},createTimelineSender(u,r){return new Xl(u,r)},createHandshake(u,r){return new Ql(u,r)},createAssistantToTheTransportManager(u,r,c){return new $l(u,r,c)}},sn=ld;class ds{constructor(r){this.options=r||{},this.livesLeft=this.options.lives||1/0}getAssistant(r){return sn.createAssistantToTheTransportManager(this,r,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})}isAlive(){return this.livesLeft>0}reportDeath(){this.livesLeft-=1}}class Ln{constructor(r,c){this.strategies=r,this.loop=!!c.loop,this.failFast=!!c.failFast,this.timeout=c.timeout,this.timeoutLimit=c.timeoutLimit}isSupported(){return si(this.strategies,re.method("isSupported"))}connect(r,c){var b=this.strategies,w=0,L=this.timeout,E=null,D=(R,Z)=>{Z?c(null,Z):(w=w+1,this.loop&&(w=w%b.length),w<b.length?(L&&(L=L*2,this.timeoutLimit&&(L=Math.min(L,this.timeoutLimit))),E=this.tryStrategy(b[w],r,{timeout:L,failFast:this.failFast},D)):c(!0))};return E=this.tryStrategy(b[w],r,{timeout:L,failFast:this.failFast},D),{abort:function(){E.abort()},forceMinPriority:function(R){r=R,E&&E.forceMinPriority(R)}}}tryStrategy(r,c,b,w){var L=null,E=null;return b.timeout>0&&(L=new Ee(b.timeout,function(){E.abort(),w(!0)})),E=r.connect(c,function(D,R){D&&L&&L.isRunning()&&!b.failFast||(L&&L.ensureAborted(),w(D,R))}),{abort:function(){L&&L.ensureAborted(),E.abort()},forceMinPriority:function(D){E.forceMinPriority(D)}}}}class xt{constructor(r){this.strategies=r}isSupported(){return si(this.strategies,re.method("isSupported"))}connect(r,c){return dd(this.strategies,r,function(b,w){return function(L,E){if(w[b].error=L,L){cd(w)&&c(!0);return}he(w,function(D){D.forceMinPriority(E.transport.priority)}),c(null,E)}})}}function dd(u,r,c){var b=Q(u,function(w,L,E,D){return w.connect(r,c(L,D))});return{abort:function(){he(b,ud)},forceMinPriority:function(w){he(b,function(L){L.forceMinPriority(w)})}}}function cd(u){return Oi(u,function(r){return!!r.error})}function ud(u){!u.error&&!u.aborted&&(u.abort(),u.aborted=!0)}class hd{constructor(r,c,b){this.strategy=r,this.transports=c,this.ttl=b.ttl||1800*1e3,this.usingTLS=b.useTLS,this.timeline=b.timeline}isSupported(){return this.strategy.isSupported()}connect(r,c){var b=this.usingTLS,w=md(b),L=w&&w.cacheSkipCount?w.cacheSkipCount:0,E=[this.strategy];if(w&&w.timestamp+this.ttl>=re.now()){var D=this.transports[w.transport];D&&(["ws","wss"].includes(w.transport)||L>3?(this.timeline.info({cached:!0,transport:w.transport,latency:w.latency}),E.push(new Ln([D],{timeout:w.latency*2+1e3,failFast:!0}))):L++)}var R=re.now(),Z=E.pop().connect(r,function X(pe,zi){pe?(cs(b),E.length>0?(R=re.now(),Z=E.pop().connect(r,X)):c(pe)):(pd(b,zi.transport.name,re.now()-R,L),c(null,zi))});return{abort:function(){Z.abort()},forceMinPriority:function(X){r=X,Z&&Z.forceMinPriority(X)}}}}function Lt(u){return"pusherTransport"+(u?"TLS":"NonTLS")}function md(u){var r=O.getLocalStorage();if(r)try{var c=r[Lt(u)];if(c)return JSON.parse(c)}catch{cs(u)}return null}function pd(u,r,c,b){var w=O.getLocalStorage();if(w)try{w[Lt(u)]=An({timestamp:re.now(),transport:r,latency:c,cacheSkipCount:b})}catch{}}function cs(u){var r=O.getLocalStorage();if(r)try{delete r[Lt(u)]}catch{}}class Fi{constructor(r,{delay:c}){this.strategy=r,this.options={delay:c}}isSupported(){return this.strategy.isSupported()}connect(r,c){var b=this.strategy,w,L=new Ee(this.options.delay,function(){w=b.connect(r,c)});return{abort:function(){L.ensureAborted(),w&&w.abort()},forceMinPriority:function(E){r=E,w&&w.forceMinPriority(E)}}}}class ri{constructor(r,c,b){this.test=r,this.trueBranch=c,this.falseBranch=b}isSupported(){var r=this.test()?this.trueBranch:this.falseBranch;return r.isSupported()}connect(r,c){var b=this.test()?this.trueBranch:this.falseBranch;return b.connect(r,c)}}class vd{constructor(r){this.strategy=r}isSupported(){return this.strategy.isSupported()}connect(r,c){var b=this.strategy.connect(r,function(w,L){L&&b.abort(),c(w,L)});return b}}function li(u){return function(){return u.isSupported()}}var bd=function(u,r,c){var b={};function w(ws,vc,bc,fc,gc){var ks=c(u,ws,vc,bc,fc,gc);return b[ws]=ks,ks}var L=Object.assign({},r,{hostNonTLS:u.wsHost+":"+u.wsPort,hostTLS:u.wsHost+":"+u.wssPort,httpPath:u.wsPath}),E=Object.assign({},L,{useTLS:!0}),D=Object.assign({},r,{hostNonTLS:u.httpHost+":"+u.httpPort,hostTLS:u.httpHost+":"+u.httpsPort,httpPath:u.httpPath}),R={loop:!0,timeout:15e3,timeoutLimit:6e4},Z=new ds({minPingDelay:1e4,maxPingDelay:u.activityTimeout}),X=new ds({lives:2,minPingDelay:1e4,maxPingDelay:u.activityTimeout}),pe=w("ws","ws",3,L,Z),zi=w("wss","ws",3,E,Z),cc=w("sockjs","sockjs",1,D),vs=w("xhr_streaming","xhr_streaming",1,D,X),uc=w("xdr_streaming","xdr_streaming",1,D,X),bs=w("xhr_polling","xhr_polling",1,D),hc=w("xdr_polling","xdr_polling",1,D),fs=new Ln([pe],R),mc=new Ln([zi],R),pc=new Ln([cc],R),gs=new Ln([new ri(li(vs),vs,uc)],R),ys=new Ln([new ri(li(bs),bs,hc)],R),Cs=new Ln([new ri(li(gs),new xt([gs,new Fi(ys,{delay:4e3})]),ys)],R),It=new ri(li(Cs),Cs,pc),Dt;return r.useTLS?Dt=new xt([fs,new Fi(It,{delay:2e3})]):Dt=new xt([fs,new Fi(mc,{delay:2e3}),new Fi(It,{delay:5e3})]),new hd(new vd(new ri(li(pe),Dt,It)),b,{ttl:18e5,timeline:r.timeline,useTLS:r.useTLS})},fd=bd,gd=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()},yd={getRequest:function(u){var r=new window.XDomainRequest;return r.ontimeout=function(){u.emit("error",new A),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()}},Cd=yd;const wd=256*1024;class kd extends on{constructor(r,c,b){super(),this.hooks=r,this.method=c,this.url=b}start(r){this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=()=>{this.close()},O.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&&(O.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)}onChunk(r,c){for(;;){var b=this.advanceBuffer(c);if(b)this.emit("chunk",{status:r,data:b});else break}this.isBufferTooLong(c)&&this.emit("buffer_too_long")}advanceBuffer(r){var c=r.slice(this.position),b=c.indexOf(`
|
|
1148
|
+
`);return b!==-1?(this.position+=b+1,c.slice(0,b)):null}isBufferTooLong(r){return this.position===r.length&&r.length>wd}}var Tt;(function(u){u[u.CONNECTING=0]="CONNECTING",u[u.OPEN=1]="OPEN",u[u.CLOSED=3]="CLOSED"})(Tt||(Tt={}));var Tn=Tt,Sd=1;class _d{constructor(r,c){this.hooks=r,this.session=hs(1e3)+"/"+Ld(8),this.location=Md(c),this.readyState=Tn.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===Tn.OPEN)try{return O.createSocketRequest("POST",us(Ad(this.location,this.session))).start(r),!0}catch{return!1}else return!1}reconnect(){this.closeStream(),this.openStream()}onClose(r,c,b){this.closeStream(),this.readyState=Tn.CLOSED,this.onclose&&this.onclose({code:r,reason:c,wasClean:b})}onChunk(r){if(r.status===200){this.readyState===Tn.OPEN&&this.onActivity();var c,b=r.data.slice(0,1);switch(b){case"o":c=JSON.parse(r.data.slice(1)||"{}"),this.onOpen(c);break;case"a":c=JSON.parse(r.data.slice(1)||"[]");for(var w=0;w<c.length;w++)this.onEvent(c[w]);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===Tn.CONNECTING?(r&&r.hostname&&(this.location.base=xd(this.location.base,r.hostname)),this.readyState=Tn.OPEN,this.onopen&&this.onopen()):this.onClose(1006,"Server lost session",!0)}onEvent(r){this.readyState===Tn.OPEN&&this.onmessage&&this.onmessage({data:r})}onActivity(){this.onactivity&&this.onactivity()}onError(r){this.onerror&&this.onerror(r)}openStream(){this.stream=O.createSocketRequest("POST",us(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){re.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 Md(u){var r=/([^\?]*)\/*(\??.*)/.exec(u);return{base:r[1],queryString:r[2]}}function Ad(u,r){return u.base+"/"+r+"/xhr_send"}function us(u){var r=u.indexOf("?")===-1?"?":"&";return u+r+"t="+ +new Date+"&n="+Sd++}function xd(u,r){var c=/(https?:\/\/)([^\/:]+)((\/|:)?.*)/.exec(u);return c[1]+r+c[3]}function hs(u){return O.randomInt(u)}function Ld(u){for(var r=[],c=0;c<u;c++)r.push(hs(32).toString(32));return r.join("")}var Td=_d,Ed={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)}},Pd=Ed,Id={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)}},Dd=Id,Bd={getRequest:function(u){var r=O.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()}},Nd=Bd,Hd={createStreamingSocket(u){return this.createSocket(Pd,u)},createPollingSocket(u){return this.createSocket(Dd,u)},createSocket(u,r){return new Td(u,r)},createXHR(u,r){return this.createRequest(Nd,u,r)},createRequest(u,r,c){return new kd(u,r,c)}},ms=Hd;ms.createXDR=function(u,r){return this.createRequest(Cd,u,r)};var Rd=ms,Od={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:a,DependenciesReceivers:p,getDefaultStrategy:fd,Transports:Wl,transportConnectionInitializer:gd,HTTPFactory:Rd,TimelineTransport:Bl,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:oe,jsonp:Tl}},onDocumentBody(u){document.body?u():setTimeout(()=>{this.onDocumentBody(u)},0)},createJSONPRequest(u,r){return new Pl(u,r)},createScriptRequest(u){return new El(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 Jl},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)}},O=Od,Et;(function(u){u[u.ERROR=3]="ERROR",u[u.INFO=6]="INFO",u[u.DEBUG=7]="DEBUG"})(Et||(Et={}));var Gi=Et;class Ud{constructor(r,c,b){this.key=r,this.session=c,this.events=[],this.options=b||{},this.sent=0,this.uniqueID=0}log(r,c){r<=this.options.level&&(this.events.push(fe({},c,{timestamp:re.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())}error(r){this.log(Gi.ERROR,r)}info(r){this.log(Gi.INFO,r)}debug(r){this.log(Gi.DEBUG,r)}isEmpty(){return this.events.length===0}send(r,c){var b=fe({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(b,(w,L)=>{w||this.sent++,c&&c(w,L)}),!0}generateUniqueID(){return this.uniqueID++,this.uniqueID}}class Vd{constructor(r,c,b,w){this.name=r,this.priority=c,this.transport=b,this.options=w||{}}isSupported(){return this.transport.isSupported({useTLS:this.options.useTLS})}connect(r,c){if(this.isSupported()){if(this.priority<r)return ps(new _,c)}else return ps(new G,c);var b=!1,w=this.transport.createConnection(this.name,this.priority,this.options.key,this.options),L=null,E=function(){w.unbind("initialized",E),w.connect()},D=function(){L=sn.createHandshake(w,function(pe){b=!0,X(),c(null,pe)})},R=function(pe){X(),c(pe)},Z=function(){X();var pe;pe=An(w),c(new T(pe))},X=function(){w.unbind("initialized",E),w.unbind("open",D),w.unbind("error",R),w.unbind("closed",Z)};return w.bind("initialized",E),w.bind("open",D),w.bind("error",R),w.bind("closed",Z),w.initialize(),{abort:()=>{b||(X(),L?L.close():w.close())},forceMinPriority:pe=>{b||this.priority<pe&&(L?L.close():w.close())}}}}function ps(u,r){return re.defer(function(){r(u)}),{abort:function(){},forceMinPriority:function(){}}}const{Transports:jd}=O;var Kd=function(u,r,c,b,w,L){var E=jd[c];if(!E)throw new K(c);var D=(!u.enabledTransports||Pe(u.enabledTransports,r)!==-1)&&(!u.disabledTransports||Pe(u.disabledTransports,r)===-1),R;return D?(w=Object.assign({ignoreNullOrigin:u.ignoreNullOrigin},w),R=new Vd(r,b,L?L.getAssistant(E):E,w)):R=Fd,R},Fd={isSupported:function(){return!1},connect:function(u,r){var c=re.defer(function(){r(new G)});return{abort:function(){c.ensureAborted()},forceMinPriority:function(){}}}};function Gd(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&&se.warn("The disableStats option is deprecated in favor of enableStats")}const zd=(u,r)=>{var c="socket_id="+encodeURIComponent(u.socketId);for(var b in r.params)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(r.params[b]);if(r.paramsProvider!=null){let w=r.paramsProvider();for(var b in w)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(w[b])}return c};var qd=u=>{if(typeof O.getAuthorizers()[u.transport]>"u")throw`'${u.transport}' is not a recognized auth transport`;return(r,c)=>{const b=zd(r,u);O.getAuthorizers()[u.transport](O,b,u,C.UserAuthentication,c)}};const Wd=(u,r)=>{var c="socket_id="+encodeURIComponent(u.socketId);c+="&channel_name="+encodeURIComponent(u.channelName);for(var b in r.params)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(r.params[b]);if(r.paramsProvider!=null){let w=r.paramsProvider();for(var b in w)c+="&"+encodeURIComponent(b)+"="+encodeURIComponent(w[b])}return c};var Zd=u=>{if(typeof O.getAuthorizers()[u.transport]>"u")throw`'${u.transport}' is not a recognized auth transport`;return(r,c)=>{const b=Wd(r,u);O.getAuthorizers()[u.transport](O,b,u,C.ChannelAuthorization,c)}};const Jd=(u,r,c)=>{const b={authTransport:r.transport,authEndpoint:r.endpoint,auth:{params:r.params,headers:r.headers}};return(w,L)=>{const E=u.channel(w.channelName);c(E,b).authorize(w.socketId,L)}};function $d(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:nc(u),httpHost:Yd(u),useTLS:ec(u),wsHost:Qd(u),userAuthenticator:ic(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 Yd(u){return u.httpHost?u.httpHost:u.cluster?`sockjs-${u.cluster}.pusher.com`:d.httpHost}function Qd(u){return u.wsHost?u.wsHost:Xd(u.cluster)}function Xd(u){return`ws-${u}.pusher.com`}function ec(u){return O.getProtocol()==="https:"?!0:u.forceTLS!==!1}function nc(u){return"enableStats"in u?u.enableStats:"disableStats"in u?!u.disableStats:!1}function ic(u){const r=Object.assign(Object.assign({},d.userAuthentication),u.userAuthentication);return"customHandler"in r&&r.customHandler!=null?r.customHandler:qd(r)}function tc(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=Jd(r,c,u.authorizer))),c}function oc(u,r){const c=tc(u,r);return"customHandler"in c&&c.customHandler!=null?c.customHandler:Zd(c)}class sc extends on{constructor(r){super(function(c,b){se.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 ac(){let u,r;return{promise:new Promise((b,w)=>{u=b,r=w}),resolve:u,reject:r}}var rc=ac;class lc extends on{constructor(r){super(function(c,b){se.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,b)=>{if(c){se.warn(`Error during signin: ${c}`),this._cleanup();return}this.pusher.send_event("pusher:signin",{auth:b.auth,user_data:b.user_data})},this.pusher=r,this.pusher.connection.bind("state_change",({previous:c,current:b})=>{c!=="connected"&&b==="connected"&&this._signin(),c==="connected"&&b!=="connected"&&(this._cleanup(),this._newSigninPromiseIfNeeded())}),this.watchlist=new sc(r),this.pusher.connection.bind("message",c=>{var b=c.event;b==="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{se.error(`Failed parsing user data after signin: ${r.user_data}`),this._cleanup();return}if(typeof this.user_data.id!="string"||this.user_data.id===""){se.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 _t(`#server-to-user-${this.user_data.id}`,this.pusher),this.serverToUserChannel.bind_global((c,b)=>{c.indexOf("pusher_internal:")===0||c.indexOf("pusher:")===0||this.emit(c,b)}),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:b}=rc();r.done=!1;const w=()=>{r.done=!0};r.then(w).catch(w),this.signinDonePromise=r,this._signinDoneResolve=c}}class ye{static ready(){ye.isReady=!0;for(var r=0,c=ye.instances.length;r<c;r++)ye.instances[r].connect()}static getClientFeatures(){return We($({ws:O.Transports.ws},function(r){return r.isSupported({})}))}constructor(r,c){dc(r),Gd(c),this.key=r,this.config=$d(c,this),this.channels=sn.createChannels(),this.global_emitter=new on,this.sessionID=O.randomInt(1e9),this.timeline=new Ud(this.key,this.sessionID,{cluster:this.config.cluster,features:ye.getClientFeatures(),params:this.config.timelineParams||{},limit:50,level:Gi.INFO,version:d.VERSION}),this.config.enableStats&&(this.timelineSender=sn.createTimelineSender(this.timeline,{host:this.config.statsHost,path:"/timeline/v2/"+O.TimelineTransport.name}));var b=w=>O.getDefaultStrategy(this.config,w,Kd);this.connection=sn.createConnectionManager(this.key,{getStrategy:b,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",w=>{var L=w.event,E=L.indexOf("pusher_internal:")===0;if(w.channel){var D=this.channel(w.channel);D&&D.handleEvent(w)}E||this.global_emitter.emit(w.event,w.data)}),this.connection.bind("connecting",()=>{this.channels.disconnect()}),this.connection.bind("disconnected",()=>{this.channels.disconnect()}),this.connection.bind("error",w=>{se.warn(w)}),ye.instances.push(this),this.timeline.info({instances:ye.instances.length}),this.user=new lc(this),ye.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 tn(6e4,function(){c.send(r)})}}disconnect(){this.connection.disconnect(),this.timelineSenderTimer&&(this.timelineSenderTimer.ensureAborted(),this.timelineSenderTimer=null)}bind(r,c,b){return this.global_emitter.bind(r,c,b),this}unbind(r,c,b){return this.global_emitter.unbind(r,c,b),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,b){return this.connection.send_event(r,c,b)}shouldUseTLS(){return this.config.useTLS}signin(){this.user.signin()}}ye.instances=[],ye.isReady=!1,ye.logToConsole=!1,ye.Runtime=O,ye.ScriptReceivers=O.ScriptReceivers,ye.DependenciesReceivers=O.DependenciesReceivers,ye.auth_callbacks=O.auth_callbacks;var Pt=t.default=ye;function dc(u){if(u==null)throw"You must pass your app key when you instantiate Pusher."}O.setup(ye)}])})})(Zo);var qr=Zo.exports;const Wr=zr(qr);class Jo{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"),i=this.container.querySelector("#transfer-bank"),t=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");t&&e&&t.addEventListener("click",()=>{o&&(i&&P.track("copy_transferBank",{payment_method:"Transfer",payment_process:"Payment Started",account_number:e.innerHTML,bank_name:i.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.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 i=this.container.querySelector("#time-left");i&&(i.innerHTML=zn(this.timeLeft))}else this.stopTimer(),e==="check"&&this.onAction(2)},1e3)}stopTimer(){this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null)}copyToClipboard(e,i){navigator.clipboard.writeText(e).then(()=>{i.innerHTML="Copied!"}).catch(()=>{i.innerHTML="Failed to copy"})}renderComponent(e){var g,f,y,k,C,S;e&&(this.payment=e),this.container.innerHTML=this.render();const i=this.container.querySelector("#transfer-amount"),t=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"?(f=this.payment)==null?void 0:f.localCurrency:l;if(i&&(i.innerHTML=`${d} ${xe(this.payment.totalTaxAmount?this.payment.totalLocalAmount:l==="USD"?(y=this.payment)==null?void 0:y.localAmount:(k=this.payment)==null?void 0:k.amount,2)}`),t&&this.payment.bankDetails&&(t.innerHTML=(C=this.payment.bankDetails)==null?void 0:C.bankName),o&&this.payment.bankDetails&&(o.innerHTML=(S=this.payment.bankDetails)==null?void 0:S.accountName),s&&this.payment.bankDetails&&(s.innerHTML=this.payment.bankDetails.accountNumber),a&&(a.innerHTML=zn(this.initialTime)),this.startTimer("poll"),e.status==="inProgress"){const M="45654f3ce4c9512ea9a4",A="us2";var v=new Wr(M,{cluster:A}),p=v.subscribe(e.reference);p.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 T=new URL(_.redirectUrl);T.searchParams.append("status",_.status),T.searchParams.append("reference",_.reference),window.location.href=T.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 Gr}}const Zr=`<div id="trasferConfirmationProgress">
|
|
1149
1149
|
<div>
|
|
1150
1150
|
<div>
|
|
1151
1151
|
<div class=" grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
@@ -1226,7 +1226,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1226
1226
|
</div>
|
|
1227
1227
|
</div>
|
|
1228
1228
|
</div>
|
|
1229
|
-
</div>`;class
|
|
1229
|
+
</div>`;class Jr{constructor(e){h(this,"container");h(this,"onAction");h(this,"ref");h(this,"token");h(this,"initialTime",300);h(this,"abortController");h(this,"timeLeft");h(this,"timer");h(this,"timerId",null);h(this,"rdtCode");h(this,"url");h(this,"callBackUrl");h(this,"payment");h(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("#show-acn");e&&e.addEventListener("click",()=>{this.onAction(1),clearTimeout(this.timer)});const i=this.container.querySelector("#transfer-bank"),t=this.container.querySelector("#transfer-acn-pr"),o=this.container.querySelector("#copy-acn-pr"),s=this.container.querySelector("#acn-tooltip-pr");o&&t&&o.addEventListener("click",()=>{P.track("copy_transferBank",{payment_method:"Transfer",payment_process:"Payment Verification",account_number:t.innerHTML,bank_name:i==null?void 0:i.innerHTML}),s&&this.copyToClipboard(t.innerHTML,s)}),this.initialTime=300,this.timeLeft=this.initialTime;const a=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyTransfer(this.token,a,({data:l,headers:d})=>{this.onAction(6),this.redirectTo(l,d)})},5e3),this.startTimer()}updateProgressTimerContent(){const i=2*Math.PI*40,o=(this.initialTime-this.timeLeft)/this.initialTime*100/100*i,s=this.container.querySelector(".circle-progress");s&&(s.setAttribute("stroke-dasharray",`${i}`),s.setAttribute("stroke-dashoffset",`${o}`))}async verifyTransfer(e,i,t){let o=0,s=i,a=!0,l;this.abortController&&(l=this.abortController.signal);const d=async()=>{if(this.timeLeft<=0){a=!1,this.onAction(8);return}o+=1;try{const v=await an(e,this.ref,l,this.rdtCode,this.url);v.data.status==="inProgress"?(a&&(s=i*(o+1),this.timer=setTimeout(d,s)),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),P.track("verify_payment",{payment_method:"Transfer",verification_status:"Success"}),t(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"),P.track("verify_payment",{payment_method:"Transfer",verification_status:"Failed"}))}catch{a&&(s=i*(o+1),this.timer=setTimeout(d,s))}};d()}redirectTo(e,i){const t=i.get("spf-redirect-url");this.callBackUrl=t||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)}startTimer(){const e=this.container.querySelector("#ctd-timer");this.stopTimer(),this.timerId=window.setInterval(()=>{this.timeLeft>0?(this.timeLeft-=1,e&&(e.innerHTML=zn(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 s,a;e&&(this.payment=e),this.container.innerHTML=this.render();const i=this.container.querySelector("#transfer-bank"),t=this.container.querySelector("#transfer-acn-pr"),o=this.container.querySelector("#account-name");i&&e.bankDetails&&(i.innerHTML=(s=e.bankDetails)==null?void 0:s.bankName),t&&e.bankDetails&&(t.innerHTML=e.bankDetails.accountNumber),o&&e.bankDetails&&(o.innerHTML=(a=e.bankDetails)==null?void 0:a.accountName)}copyToClipboard(e,i){navigator.clipboard.writeText(e).then(()=>{i.innerHTML="Copied!"}).catch(()=>{i.innerHTML="Failed to copy"})}renderComponent(e){this.container.innerHTML=this.render(),this.renderTransferDetailsComponent(e),this.attachListeners()}render(){return Zr}}const $r=`<div id="paymenExpired">
|
|
1230
1230
|
<div class="container-center min-h-[30dvh]">
|
|
1231
1231
|
<div>
|
|
1232
1232
|
<div class="container-center mb-5">
|
|
@@ -1249,7 +1249,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1249
1249
|
</div> -->
|
|
1250
1250
|
</div>
|
|
1251
1251
|
</div>
|
|
1252
|
-
</div>`;class Qr{constructor(e){h(this,"container");this.container=e.container}attachListeners(){}renderComponent(){this.container.innerHTML=this.render()}render(){return Yr}}class Xr{constructor({amount:e,totalAmount:i,closeModal:t,container:o,customer:s,token:a,currency:l,rdtCode:d,url:v,reference:p,callBackUrl:g,metadata:f,localCurrency:y,disablePaymentMethods:k,restartTransactionProcess:C,hidePaymentMethods:S,retryingPayment:M}){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);this.currency=l,this.container=o,this.contents=this.container.querySelector("#payment-content-view"),this.closeModal=t,this.token=a,this.customer=s,this.amount=e,this.totalAmount=i,this.rdtCode=d,this.url=v,this.reference=p,this._currentStep=1,this.callBackUrl=g,this.metadata=f,this.localCurrency=y,this.disablePaymentMethods=k,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=C,this.hidePaymentMethods=S,this.retryingPayment=M,this.isMaxRetriesReached=!1,this.renderTransferContent(),this.paymentResponse={},this.activeRef="",this.timerId=null,this.mainLoader=new Ne(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"),i=this.container.querySelector("#transfer-sent"),t=this.container.querySelector(".success-button");e&&e.addEventListener("click",()=>{this.currentStep=1}),i&&i.addEventListener("click",()=>{this.abortController&&(this.abortController.abort(),this.currentStep=5)}),t&&t.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 an(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"),i=this.container.querySelector("#details-content");i&&(this.mainLoader=new Ne(this.contents),this.mainLoader.mountLoader("25dvh"),i.classList.add("hidden")),P.track("start_payment",{payment_method:"Transfer"}),(()=>{var o,s;if(this.retryingPayment){const a={channel:"bank_transfer",reference:this.reference};return ci(this.token,a,this.rdtCode,this.url)}else{const a={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:(s=this.merchantPlanDetail)==null?void 0:s.taxQuoteId}};return Bt(this.token,a,this.rdtCode,this.url)}})().then(({data:o,headers:s})=>{this.paymentResponse=o,this.paymentResponseHeaders=s,o.status==="failed"?(this.currentStep=7,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue(),P.track("stop_transferProcess",{payment_method:"Transfer",verification_status:"Failed"})):(e&&i&&(e.classList.add("hidden"),i.classList.remove("hidden")),this.activeRef=o.reference,this.paymentResponse=o,o.bankDetails&&o.bankDetails.accountNumber?(this.transferDetails=new Jo({container:this.contents,onAction:a=>{this.onSentVerify.bind(this)(a)},onFail:(a,l)=>{this.currentStep=a,a===7&&l&&this.warningScreen.setPaymentError(l)}}),this.transferDetails.renderComponent(this.paymentResponse||o)):(this.currentStep=7,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Error fetching bank details")))}).catch(o=>{P.track("verify_payment",{payment_method:"Transfer",verification_status:"Null"}),o.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyTransfer(),this.currentStep=7,this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(this.currentStep=7,o.message?this.warningScreen.setPaymentError(o.message):this.warningScreen.setPaymentError("Payment failed")),this.warningScreen.hideReportIssue()})})}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}renderTransferContent(e){var t;e&&(this.merchantPlanDetail=e);const i=document.getElementById("go-back");if(this.isMobile&&this.hidePaymentMethods(),this.currentStep!==1?(i==null||i.classList.add("hidden"),this.disablePaymentMethods("bank_transfer")):i==null||i.addEventListener("click",()=>{this.restartTransactionProcess()}),this.contents){switch(this.currentStep){case 1:this.transferDetails=new Jo({container:this.contents,onAction:o=>{this.onSentVerify.bind(this)(o)},onFail:(o,s)=>{this.currentStep=o,o===7&&s&&this.warningScreen.setPaymentError(s)}});break;case 2:this.transferExpired=new Qr({container:this.contents}),this.transferExpired.renderComponent();break;case 5:this.transferConfirmationProgress=new $r({container:this.contents,onAction:(o,s)=>{this.currentStep=o,o===7&&s&&this.warningScreen.setPaymentError(s)},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 qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(t=this.merchantPlanDetail)==null?void 0:t.rate.rate}),this.successScreen.renderComponent();break;case 7:this.warningScreen=new gn({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 Wo({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 mi({container:this.contents,onAction:()=>{var o;this.currentStep=7,this.warningScreen.setPaymentError(((o=this.paymentResponse)==null?void 0:o.providerMessage)||"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,i){navigator.clipboard.writeText(e).then(()=>{i.innerHTML="Copied!"}).catch(()=>{i.innerHTML="Failed to copy"})}destroyTimer(){this.stopTimer()}stopPolling(){this.abortController&&this.abortController.abort()}}function $o(){return function(n,e){let i=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:()=>i,set:s=>{i=s}})}}class te extends Error{constructor(e,i){super(e),this.status=i,this.name="FetchError"}}class Xe extends Error{constructor(e){super(e),this.name="AuthorizationError"}}class Ct{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,i)=>{if(!e)throw new Xe("Missing authorization token");const t=new Headers;return t.append("Content-Type","application/json"),t.append("Authorization",`Bearer ${e}`),i&&t.append("Spotflow-Payment-Code",i),t});this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.headers=this.getHeaders(this.token,this.rdtCode)}}class Yo extends Ct{constructor(e){super(e)}async createCardPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async createUssdPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return{data:await i.json(),headers:i.headers}}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async validateCardPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments/validate`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async authorizeCardPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments/authorize`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async createTransferPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async verifyPayment(e,i){try{const t=await fetch(`${ve(this.baseurl,this.url)}/payments/verify?reference=${e}`,{method:"GET",headers:this.headers,signal:i});if(!t.ok){const s=await t.json();throw s.message?new te(s.message,t.status):new te("Network response was not ok",t.status)}return{data:await t.json(),headers:t.headers}}catch(t){throw t instanceof te?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof Xe?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}}class el extends Ct{constructor(e){super(e)}async getMerchantConfig(e,i){try{const t=await fetch(`${ve(this.baseurl,this.url)}/checkout-configurations?currency=${i}&planId=${e||""}`,{headers:this.headers,method:"GET"});if(!t.ok){const o=await t.json();throw o.message?new te(o.message,t.status):new te("Network response was not ok",t.status)}return t.json()}catch(t){throw t instanceof te?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof Xe?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}}class nl extends Ct{constructor(e){super(e)}async getBankList(){try{const e=await fetch(`${ve(this.baseurl,this.url)}/banks?ussd=true`,{headers:this.headers,method:"GET"});if(!e.ok){const i=await e.json();throw i.message?new te(i.message,e.status):new te("Network response was not ok",e.status)}return e.json()}catch(e){throw e instanceof te?(hi.showToast(e.message,"error",9e3),console.error(`FetchError: ${e.message} (status: ${e.status})`)):e instanceof Xe?console.error(`AuthorizationError: ${e.message}`):console.error(`Unexpected error: ${e}`),e}}}const il=`<form id="ussdBanks">
|
|
1252
|
+
</div>`;class Yr{constructor(e){h(this,"container");this.container=e.container}attachListeners(){}renderComponent(){this.container.innerHTML=this.render()}render(){return $r}}class Qr{constructor({amount:e,totalAmount:i,closeModal:t,container:o,customer:s,token:a,currency:l,rdtCode:d,url:v,reference:p,callBackUrl:g,metadata:f,localCurrency:y,disablePaymentMethods:k,restartTransactionProcess:C,hidePaymentMethods:S,retryingPayment:M}){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);this.currency=l,this.container=o,this.contents=this.container.querySelector("#payment-content-view"),this.closeModal=t,this.token=a,this.customer=s,this.amount=e,this.totalAmount=i,this.rdtCode=d,this.url=v,this.reference=p,this._currentStep=1,this.callBackUrl=g,this.metadata=f,this.localCurrency=y,this.disablePaymentMethods=k,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=C,this.hidePaymentMethods=S,this.retryingPayment=M,this.isMaxRetriesReached=!1,this.renderTransferContent(),this.paymentResponse={},this.activeRef="",this.timerId=null,this.mainLoader=new Ne(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"),i=this.container.querySelector("#transfer-sent"),t=this.container.querySelector(".success-button");e&&e.addEventListener("click",()=>{this.currentStep=1}),i&&i.addEventListener("click",()=>{this.abortController&&(this.abortController.abort(),this.currentStep=5)}),t&&t.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 an(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"),i=this.container.querySelector("#details-content");i&&(this.mainLoader=new Ne(this.contents),this.mainLoader.mountLoader("25dvh"),i.classList.add("hidden")),P.track("start_payment",{payment_method:"Transfer"}),(()=>{var o,s;if(this.retryingPayment){const a={channel:"bank_transfer",reference:this.reference};return ci(this.token,a,this.rdtCode,this.url)}else{const a={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:(s=this.merchantPlanDetail)==null?void 0:s.taxQuoteId}};return Bt(this.token,a,this.rdtCode,this.url)}})().then(({data:o,headers:s})=>{this.paymentResponse=o,this.paymentResponseHeaders=s,o.status==="failed"?(this.currentStep=7,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue(),P.track("stop_transferProcess",{payment_method:"Transfer",verification_status:"Failed"})):(e&&i&&(e.classList.add("hidden"),i.classList.remove("hidden")),this.activeRef=o.reference,this.paymentResponse=o,o.bankDetails&&o.bankDetails.accountNumber?(this.transferDetails=new Jo({container:this.contents,onAction:a=>{this.onSentVerify.bind(this)(a)},onFail:(a,l)=>{this.currentStep=a,a===7&&l&&this.warningScreen.setPaymentError(l)}}),this.transferDetails.renderComponent(this.paymentResponse||o)):(this.currentStep=7,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Error fetching bank details")))}).catch(o=>{P.track("verify_payment",{payment_method:"Transfer",verification_status:"Null"}),o.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyTransfer(),this.currentStep=7,this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(this.currentStep=7,o.message?this.warningScreen.setPaymentError(o.message):this.warningScreen.setPaymentError("Payment failed")),this.warningScreen.hideReportIssue()})})}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}renderTransferContent(e){var t;e&&(this.merchantPlanDetail=e);const i=document.getElementById("go-back");if(this.isMobile&&this.hidePaymentMethods(),this.currentStep!==1?(i==null||i.classList.add("hidden"),this.disablePaymentMethods("bank_transfer")):i==null||i.addEventListener("click",()=>{this.restartTransactionProcess()}),this.contents){switch(this.currentStep){case 1:this.transferDetails=new Jo({container:this.contents,onAction:o=>{this.onSentVerify.bind(this)(o)},onFail:(o,s)=>{this.currentStep=o,o===7&&s&&this.warningScreen.setPaymentError(s)}});break;case 2:this.transferExpired=new Yr({container:this.contents}),this.transferExpired.renderComponent();break;case 5:this.transferConfirmationProgress=new Jr({container:this.contents,onAction:(o,s)=>{this.currentStep=o,o===7&&s&&this.warningScreen.setPaymentError(s)},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 qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(t=this.merchantPlanDetail)==null?void 0:t.rate.rate}),this.successScreen.renderComponent();break;case 7:this.warningScreen=new gn({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 Wo({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 mi({container:this.contents,onAction:()=>{var o;this.currentStep=7,this.warningScreen.setPaymentError(((o=this.paymentResponse)==null?void 0:o.providerMessage)||"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,i){navigator.clipboard.writeText(e).then(()=>{i.innerHTML="Copied!"}).catch(()=>{i.innerHTML="Failed to copy"})}destroyTimer(){this.stopTimer()}stopPolling(){this.abortController&&this.abortController.abort()}}function $o(){return function(n,e){let i=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:()=>i,set:s=>{i=s}})}}class te extends Error{constructor(e,i){super(e),this.status=i,this.name="FetchError"}}class Xe extends Error{constructor(e){super(e),this.name="AuthorizationError"}}class Ct{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,i)=>{if(!e)throw new Xe("Missing authorization token");const t=new Headers;return t.append("Content-Type","application/json"),t.append("Authorization",`Bearer ${e}`),i&&t.append("Spotflow-Payment-Code",i),t});this.token=e.token,this.rdtCode=e.rdtCode,this.url=e.url,this.headers=this.getHeaders(this.token,this.rdtCode)}}class Yo extends Ct{constructor(e){super(e)}async createCardPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async createUssdPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return{data:await i.json(),headers:i.headers}}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async validateCardPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments/validate`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async authorizeCardPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments/authorize`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async createTransferPayment(e){try{const i=await fetch(`${ve(this.baseurl,this.url)}/payments`,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!i.ok){const o=await i.json();throw o.message?new te(o.message,i.status):new te("Network response was not ok",i.status)}return await i.json()}catch(i){throw i instanceof te?console.error(`FetchError: ${i.message} (status: ${i.status})`):i instanceof Xe?console.error(`AuthorizationError: ${i.message}`):console.error(`Unexpected error: ${i}`),i}}async verifyPayment(e,i){try{const t=await fetch(`${ve(this.baseurl,this.url)}/payments/verify?reference=${e}`,{method:"GET",headers:this.headers,signal:i});if(!t.ok){const s=await t.json();throw s.message?new te(s.message,t.status):new te("Network response was not ok",t.status)}return{data:await t.json(),headers:t.headers}}catch(t){throw t instanceof te?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof Xe?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}}class Xr extends Ct{constructor(e){super(e)}async getMerchantConfig(e,i){try{const t=await fetch(`${ve(this.baseurl,this.url)}/checkout-configurations?currency=${i}&planId=${e||""}`,{headers:this.headers,method:"GET"});if(!t.ok){const o=await t.json();throw o.message?new te(o.message,t.status):new te("Network response was not ok",t.status)}return t.json()}catch(t){throw t instanceof te?console.error(`FetchError: ${t.message} (status: ${t.status})`):t instanceof Xe?console.error(`AuthorizationError: ${t.message}`):console.error(`Unexpected error: ${t}`),t}}}class el extends Ct{constructor(e){super(e)}async getBankList(){try{const e=await fetch(`${ve(this.baseurl,this.url)}/banks?ussd=true`,{headers:this.headers,method:"GET"});if(!e.ok){const i=await e.json();throw i.message?new te(i.message,e.status):new te("Network response was not ok",e.status)}return e.json()}catch(e){throw e instanceof te?(hi.showToast(e.message,"error",9e3),console.error(`FetchError: ${e.message} (status: ${e.status})`)):e instanceof Xe?console.error(`AuthorizationError: ${e.message}`):console.error(`Unexpected error: ${e}`),e}}}const nl=`<form id="ussdBanks">
|
|
1253
1253
|
<div>
|
|
1254
1254
|
<h5 class="text-grey-400 font-semibold text-sm">Please choose your bank to begin payment</h5>
|
|
1255
1255
|
<div class="mt-2">
|
|
@@ -1284,7 +1284,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1284
1284
|
</div>
|
|
1285
1285
|
</div>
|
|
1286
1286
|
</div>
|
|
1287
|
-
</form>`;class Qo{constructor(e){h(this,"container");h(this,"bank_service");h(this,"bank_list");h(this,"onAction");h(this,"selectedBank");h(this,"currency");h(this,"localCurrency");h(this,"rate");h(this,"amount");h(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
|
|
1287
|
+
</form>`;class Qo{constructor(e){h(this,"container");h(this,"bank_service");h(this,"bank_list");h(this,"onAction");h(this,"selectedBank");h(this,"currency");h(this,"localCurrency");h(this,"rate");h(this,"amount");h(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 el({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"),i=document.querySelectorAll(".select-option-tag"),t=document.querySelector("#ussd-bank-button"),o=document.querySelector("#ussdBanks");e&&e.addEventListener("change",s=>{var a,l;if(s.stopPropagation(),this.selectedBank={code:e.value,name:((l=(a=this.bank_list.filter(d=>d.code==e.value))==null?void 0:a[0])==null?void 0:l.name)||""},this.validateForm())t&&t.removeAttribute("disabled");else if(t){if(t.disabled)return;t.setAttribute("disabled","")}}),i&&Array.from(i).forEach(a=>{a.addEventListener("click",function(l){P.track("select_bank",{payment_method:"USSD"}),l.stopPropagation()})}),o&&o.addEventListener("submit",s=>{s.preventDefault(),this.onAction(this.selectedBank)})}validateForm(){return!!this.selectedBank.code}displayButtonText(e){const i=this.container.querySelector("#ussd-bank-button-text");if(i){const t=this.localCurrency?this.localCurrency:this.currency;i.textContent=`Continue to pay ${t} ${xe(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 i=new Option("Select your bank","",!0,!0);i.disabled=!0,e.appendChild(i),e.classList.remove("text-tone-100"),e.classList.add("text-tone-50")}this.bank_service.getBankList().then(i=>{this.bank_list=i,e&&i.forEach(t=>{const o=new Option(t.name,t.code);e.appendChild(o),e.classList.remove("text-tone-50"),e.classList.add("text-tone-100")})}),this.displayButtonText(),this.attachListerner()}render(){return nl}}const il=`<div id="viewCode">
|
|
1288
1288
|
<div class="grid gap-4">
|
|
1289
1289
|
<div class="text-center">
|
|
1290
1290
|
<div class="md:w-4/5 mx-auto grid gap-3">
|
|
@@ -1321,7 +1321,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1321
1321
|
payment</button>
|
|
1322
1322
|
</div>
|
|
1323
1323
|
</div>
|
|
1324
|
-
</div>`;class
|
|
1324
|
+
</div>`;class tl{constructor(e){h(this,"container");h(this,"selected");h(this,"secret");h(this,"onAction");h(this,"paymentService");h(this,"currency");h(this,"amount");h(this,"ussd_detail");h(this,"reference");h(this,"customer");h(this,"activeRef","");h(this,"pageLoader");h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"onError");this.container=e.container,this.selected=e.selected,this.onAction=e.onAction,this.secret=e.secret,this.paymentService=new Yo({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 Ne(this.container),this.pageLoader.mountLoader("25dvh"),this.pageLoader.updateMessage("Fetching selected bank code detail")}makePayment(){var e;P.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:i,headers:t})=>{var o;if(this.ussd_detail=i.ussd,this.activeRef=i.reference||"",i.status==="failed"){this.onError(i.providerMessage||"Payment failed"),P.track("stop_ussdProcess",{payment_method:"USSD"});const s=t.get("spf-redirect-url");this.callBackUrl=s||this.callBackUrl,this.callBackUrl&&setTimeout(()=>{const a=new URL(this.callBackUrl);a.searchParams.append("status",i.status),a.searchParams.append("reference",i.reference),window.location.href=a.toString()},1800);return}else if(i.status!=="success")if(i.ussd){this.container.innerHTML=this.render();const s=this.container.querySelectorAll(".bank-dial-code"),a=this.container.querySelector("#bank-dial-code");a&&(a.innerHTML=((o=i==null?void 0:i.ussd)==null?void 0:o.paymentCode)||"");const l=this.container.querySelector("#bank-name-ussd");l&&(l.innerHTML=this.selected.name),Array.from(s).forEach(v=>{var p;v.innerHTML=((p=i==null?void 0:i.ussd)==null?void 0:p.code)||""}),this.attachListener();return}else if(i.providerMessage){this.onError(i.providerMessage);return}else{this.onError("Unable to fetch bank details");return}this.container.innerHTML=this.render(),this.attachListener()}).catch(i=>{i!=null&&i.message?this.onError(i.message):this.onError("Payment failed")})}attachListener(){const e=this.container.querySelectorAll(".copy-code-button"),i=this.container.querySelectorAll(".copy-code-button-1"),t=this.container.querySelector("#bank-completed-payment");Array.from(e).forEach(a=>{a.addEventListener("click",l=>{var d;P.track("copy_ussdCode",{payment_method:"USSD"}),window.navigator.clipboard.writeText(((d=this.ussd_detail)==null?void 0:d.code)||"")})}),Array.from(i).forEach(a=>{a.addEventListener("click",l=>{var d;P.track("copy_ussdCode",{payment_method:"USSD"}),window.navigator.clipboard.writeText(((d=this.ussd_detail)==null?void 0:d.code)||"")})}),t&&t.addEventListener("click",a=>{a.preventDefault(),this.onAction(this.selected,this.activeRef)})}renderComponent(){this.makePayment(),this.attachListener()}render(){return il}}var ol=Object.defineProperty,sl=(n,e,i,t)=>{for(var o=void 0,s=n.length-1,a;s>=0;s--)(a=n[s])&&(o=a(e,i,o)||o);return o&&ol(e,i,o),o};class Xo{constructor({container:e,onSuccess:i,secret:t,amount:o,totalAmount:s,currency:a,customer:l,reference:d,rdtCode:v,url:p,callBackUrl:g,metadata:f,localCurrency:y,hidePaymentMethods:k,showPaymentMethods:C,disablePaymentMethods:S}){h(this,"contents");h(this,"selectedCode");h(this,"secret");h(this,"amount");h(this,"totalAmount");h(this,"currency");h(this,"customer");h(this,"pageLoader");h(this,"reference");h(this,"onSuccess");h(this,"warningScreen");h(this,"bankDetail");h(this,"viewUssdCode");h(this,"_currentStep");h(this,"container");h(this,"paymentService");h(this,"successScreen");h(this,"activeRef","");h(this,"abortController");h(this,"_retry_count",10);h(this,"intervalPayment");h(this,"rdtCode");h(this,"url");h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"merchantDetails");h(this,"hidePaymentMethods");h(this,"showPaymentMethods");h(this,"disablePaymentMethods");this.onSuccess=i||(()=>null),this.container=e,this.secret=t,this.amount=o,this.totalAmount=s,this.currency=a,this.reference=d,this.customer=l,this.rdtCode=v,this.url=p,this.callBackUrl=g,this.metadata=f,this.localCurrency=y,this.merchantDetails={},this.hidePaymentMethods=k,this.showPaymentMethods=C,this.disablePaymentMethods=S,this.contents=this.container.querySelector("#payment-content-view"),this._currentStep=1,this.paymentService=new Yo({token:this.secret,rdtCode:this.rdtCode,url:this.url}),P.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:i,headers:t})=>{i.status==="failed"?(this.currentStep=3,clearInterval(this.intervalPayment),this.redirectTo(i,t,"failed")):["successful","failed"].includes(i.status)?i.status==="inProgress"?this._retry_count-=1:["success","successful"].includes(i.status)&&(this.currentStep=5,clearInterval(this.intervalPayment),P.track("verify_payment",{payment_method:"USSD",verification_status:"Success"}),this.redirectTo(i,t,"success")):this._retry_count-=1}).catch(i=>{i.message?this.warningScreen.setPaymentError(i.message):this.warningScreen.setPaymentError("Payment failed"),this.currentStep=3,clearInterval(this.intervalPayment),P.track("verify_payment",{payment_method:"USSD",verification_status:"Failed"})})}redirectTo(e,i,t){const o=i.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):t==="success"&&this.onSuccess(e)}renderUssdContent(e){var i;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 t=document.getElementById("go-back");t&&(t.classList.remove("flex","items-center","gap-2","mb-2"),t.innerHTML="")}switch(this.currentStep){case 1:this.bankDetail=new Qo({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 tl({container:this.contents,onAction:(t,o)=>{this.activeRef=o,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:t=>{this.currentStep=3,this.warningScreen.setPaymentError(t)},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=Rt,this.warningScreen=new gn({container:this.contents});break;case 4:this.pageLoader=new Ne(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:(i=this.merchantDetails)==null?void 0:i.rate.rate}),this.successScreen.renderComponent();break;default:this.bankDetail=new Qo({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}}sl([$o(),$o()],Xo.prototype,"selectedCode");const al={NGN:"Nigerian Naira",USD:"US Dollar",GHS:"Ghanaian Cedi",GBP:"Pounds",ZAF:"South African Rand",USDT:"Tether",KSH:"Kenyan Shilling"},rl=n=>n==null?void 0:n.replace(/_/g," ");function ll(n){return n.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ")}const Ri=n=>{if(n){const e=rl(n);return ll(e)}return""},dl=`<div>
|
|
1325
1325
|
<button id="go-back" class="md:hidden" aria-label="Go back">
|
|
1326
1326
|
</button>
|
|
1327
1327
|
</div>
|
|
@@ -1457,7 +1457,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1457
1457
|
|
|
1458
1458
|
<!-- Tab options -->
|
|
1459
1459
|
</div>
|
|
1460
|
-
</div>`;class
|
|
1460
|
+
</div>`;class cl{constructor(e){h(this,"container");h(this,"email");h(this,"amount",0);h(this,"metadata");h(this,"currency");h(this,"localCurrency");h(this,"merchantDetail");h(this,"onAction");h(this,"isMobile");h(this,"onClose");h(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.onClose=e.onClose,this.currentPaymentMethod=e.currentPaymentMethod}attachListeners(){const e=this.container.querySelectorAll(".tab-button");Array.from(e).forEach(s=>{const a=s.dataset.name||"",l=s.querySelector(".tab-button-icon"),d=s.querySelector(".tab-button-label");l&&(l.innerHTML=be[a].icon),d&&(d.textContent=be[a].label),s.addEventListener("click",v=>{v.preventDefault(),this.onAction(a)})});const t=this.container.querySelector("#close-btn");t&&t.addEventListener("click",()=>{this.onClose(!0)});const o=document.getElementById("go-back");o==null||o.addEventListener("click",()=>{this.onAction("")})}renderComponent(){var G,U,F,oe,ge,V,_e,ue,Te,Me,en,vn,nn,_n,bn,Ee,tn,Mn,re,fe,Re,Pe,we,We,B,he,Q,me,Ie,$,fn,si,Oi,Ui,Vi,ji,An;this.container.innerHTML=this.render(),this.amount=this.amount;const e=this.container.querySelector("#merchant-logo-container"),i=this.container.querySelector("#merchant-logo"),t=this.container.querySelector("#merchant-email"),o=this.container.querySelector("#merchant-email-mob"),s=this.container.querySelector("#plan-name"),a=this.container.querySelector("#plan-name-mob"),l=this.container.querySelector("#payment-fees"),d=this.container.querySelector("#currency-cursor"),v=this.container.querySelector("#currency-cursor-mob"),p=this.container.querySelector("#payment-rate-display"),g=this.container.querySelector("#payment-rate-display-mob"),f=this.container.querySelector("#designated-rate"),y=this.container.querySelector("#designated-rate-mob"),k=this.container.querySelector("#designated-rate-no-plan"),C=this.container.querySelector("#source-rate"),S=this.container.querySelector("#source-rate-mob"),M=this.container.querySelector("#tax-rate"),A=this.container.querySelector("#tax-rate-mob"),_=this.container.querySelector("#tooltip-localCurrency"),T=this.container.querySelector("#tooltip-localCurrency-mob");if((G=this.merchantDetail)!=null&&G.merchantLogo?i&&i.setAttribute("src",(U=this.merchantDetail)==null?void 0:U.merchantLogo):e&&(i==null||i.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>`),t&&(t.innerHTML=this.email),o&&(o.innerHTML=this.email),s){if((oe=(F=this.merchantDetail)==null?void 0:F.plan)!=null&&oe.title){const ai=((V=(ge=this.merchantDetail)==null?void 0:ge.plan)==null?void 0:V.title)||"";s.textContent=Ri(ai)}(_e=this.metadata)!=null&&_e.productName&&(s.textContent=Ri(this.metadata.productName))}if(a){if((Te=(ue=this.merchantDetail)==null?void 0:ue.plan)!=null&&Te.title){const ai=((en=(Me=this.merchantDetail)==null?void 0:Me.plan)==null?void 0:en.title)||"";a.textContent=Ri(ai)}(vn=this.metadata)!=null&&vn.productName&&(a.textContent=Ri(this.metadata.productName))}d&&(this.currency==="USD"?p&&(p.innerHTML=`1 ${((_n=(nn=this.merchantDetail)==null?void 0:nn.rate)==null?void 0:_n.to)||"-"} = ${((Ee=(bn=this.merchantDetail)==null?void 0:bn.rate)==null?void 0:Ee.from)||"-"} ${xe(((tn=this.merchantDetail.rate)==null?void 0:tn.rate)||1,2)} `):d.innerHTML=""),v&&(this.currency==="USD"?g&&(g.innerHTML=`1 ${((re=(Mn=this.merchantDetail)==null?void 0:Mn.rate)==null?void 0:re.to)||"-"} = ${((Re=(fe=this.merchantDetail)==null?void 0:fe.rate)==null?void 0:Re.from)||"-"} ${xe(((Pe=this.merchantDetail.rate)==null?void 0:Pe.rate)||1,2)} `):v.innerHTML=""),(We=(we=this.merchantDetail)==null?void 0:we.plan)!=null&&We.title||(B=this.metadata)!=null&&B.productName?f&&(f.innerHTML=`${this.currency} ${xe(this.amount,2)}`):(k&&(k.innerHTML=`<span> ${this.currency} ${xe(this.amount,2)} </span>`),s&&a&&(s.remove(),a==null||a.remove()),this.localCurrency?f==null||f.remove():l&&l.remove()),y&&(y.innerHTML=`${this.currency} ${xe(this.amount,2)}`),C&&(this.localCurrency&&this.localCurrency!==this.currency?C.children[1].innerHTML=`${this.localCurrency} ${xe(this.amount*(((Q=(he=this.merchantDetail)==null?void 0:he.rate)==null?void 0:Q.rate)||1),2)}`:C.remove()),S&&(this.localCurrency&&this.localCurrency!==this.currency?S.children[1].innerHTML=`${this.localCurrency} ${xe(this.amount*(((Ie=(me=this.merchantDetail)==null?void 0:me.rate)==null?void 0:Ie.rate)||1),2)}`:S.remove());const I=this.localCurrency!==this.currency?this.amount*(((fn=($=this.merchantDetail)==null?void 0:$.rate)==null?void 0:fn.rate)||1):this.amount;M&&(si=this.merchantDetail)!=null&&si.taxQuoteId&&(Oi=this.merchantDetail)!=null&&Oi.totalAmount&&(M.classList.remove("hidden"),M.children[1].innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${xe(((Ui=this.merchantDetail)==null?void 0:Ui.totalAmount)-I,2)}`),A&&(Vi=this.merchantDetail)!=null&&Vi.taxQuoteId&&(ji=this.merchantDetail)!=null&&ji.totalAmount&&(A.classList.remove("hidden"),A.children[1].innerHTML=`${this.localCurrency!==this.currency?this.localCurrency:this.currency} ${xe(((An=this.merchantDetail)==null?void 0:An.totalAmount)-I,2)}`);const K=al[this.localCurrency];_&&this.localCurrency&&(_.innerHTML=K?`${K} (${this.localCurrency})`:this.localCurrency),T&&this.localCurrency&&(T.innerHTML=K?`${K} (${this.localCurrency})`:this.localCurrency),this.renderPaymentOptions(this.container),this.attachListeners()}renderPaymentOptions(e){const i=e.querySelector(".payment-options"),t=this.localCurrency!==this.currency?this.localCurrency:this.currency;if(i){const o=this.merchantDetail.plan?[be.card]:this.merchantDetail.paymentMethods.filter(s=>s!=="ussd").map(s=>be[s]);if(this.isMobile){let s='<div class="">';o.forEach(a=>{s+=`
|
|
1461
1461
|
<div key=${a.key}>
|
|
1462
1462
|
<button class="tab-button gap-2 mb-4 group" data-name="${a.key}">
|
|
1463
1463
|
<div class="lg:block">${a.icon}</div>
|
|
@@ -1497,7 +1497,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1497
1497
|
</div>
|
|
1498
1498
|
</button>
|
|
1499
1499
|
</div>
|
|
1500
|
-
`;a+="</div>"}a+="</div>"}a+="</div>",i.innerHTML=a}}}render(){return
|
|
1500
|
+
`;a+="</div>"}a+="</div>"}a+="</div>",i.innerHTML=a}}}render(){return dl}}const ul=`<div class="flex items-center justify-center md:justify-between w-full text-xxs mt-5">
|
|
1501
1501
|
<div class="text-tone-60"><span>Powered by</span> <span class="font-bold">Spotflow</span></div>
|
|
1502
1502
|
<div class="align-center text-tone-60 hidden md:flex gap-4">
|
|
1503
1503
|
<!-- <span id="test-cards-link" class="hover:font-bold">Test Cards</span> -->
|
|
@@ -1505,7 +1505,206 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1505
1505
|
<a href="https://ribbon-scowl-35f.notion.site/Privacy-Policy-Spotflow-3997ee8d923d4cd39a3dc43b7249b713" target="_blank" class="hover:font-bold">Privacy</a>
|
|
1506
1506
|
<a href="mailto:hello@spotflow.one" class="hover:font-bold">Contact</a>
|
|
1507
1507
|
</div>
|
|
1508
|
-
</div
|
|
1508
|
+
</div>`;class es{constructor({container:e,testCardContainer:i}){h(this,"container");h(this,"testCardContainer");h(this,"testCardInstance",null);this.container=e,this.testCardContainer=i}attachListener(){}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return ul}}const hl=`<div id="mobileConfirmationProgress">
|
|
1509
|
+
<div>
|
|
1510
|
+
<div>
|
|
1511
|
+
<div class=" grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
1512
|
+
<div class="items-center justify-self-center flex flex-col relative ">
|
|
1513
|
+
<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none"
|
|
1514
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
1515
|
+
<path
|
|
1516
|
+
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"
|
|
1517
|
+
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
1518
|
+
</svg>
|
|
1519
|
+
<!-- <div class="relative w-12 h-12">
|
|
1520
|
+
<svg viewBox="0 0 100 100" width="100" height="100" class="h-full w-full">
|
|
1521
|
+
<circle stroke-width="10" stroke="#E6E6E7" stroke-linecap="round" cx="50" cy="50"
|
|
1522
|
+
class="circle-progress-bg" r="40" fill="transparent"></circle>
|
|
1523
|
+
<circle stroke-width="11" stroke="#000000" stroke-linecap="round" cx="50" cy="50" r="40"
|
|
1524
|
+
class="circle-progress" fill="transparent" stroke-dasharray="" stroke-dashoffset=""
|
|
1525
|
+
transform="rotate(-90 50 50)"></circle>
|
|
1526
|
+
</svg>
|
|
1527
|
+
|
|
1528
|
+
</div> -->
|
|
1529
|
+
</div>
|
|
1530
|
+
</div>
|
|
1531
|
+
</div>
|
|
1532
|
+
<div class="text-center w-11/12 md:w-4/5 mx-auto grid gap-4">
|
|
1533
|
+
<h5 class="text-center text-sm text-grey-400">
|
|
1534
|
+
We are confirming transaction status.
|
|
1535
|
+
<br>
|
|
1536
|
+
This can take a few minutes.
|
|
1537
|
+
</h5>
|
|
1538
|
+
|
|
1539
|
+
<div>
|
|
1540
|
+
<p class="text-grey-400 text-sm">
|
|
1541
|
+
Please wait for <span id="ctd-timer" class="font-bold"> </span> minutes
|
|
1542
|
+
</p>
|
|
1543
|
+
</div>
|
|
1544
|
+
|
|
1545
|
+
</div>
|
|
1546
|
+
</div>
|
|
1547
|
+
</div>`;class ml{constructor(e){h(this,"container");h(this,"onAction");h(this,"onSuccess");h(this,"ref");h(this,"token");h(this,"initialTime",300);h(this,"abortController");h(this,"timeLeft");h(this,"timer");h(this,"timerId",null);h(this,"rdtCode");h(this,"url");h(this,"callBackUrl");h(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(){this.initialTime=300,this.timeLeft=this.initialTime;const e=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyMobileMoney(this.token,e,({data:i,headers:t})=>{this.onAction(4),this.redirectTo(i,t,"success")},()=>{this.onAction(5)})},5e3),this.startTimer()}async verifyMobileMoney(e,i,t,o){let s=0,a=i,l=!0,d;this.abortController&&(d=this.abortController.signal);const v=async()=>{if(this.timeLeft<=0){l=!1,this.onAction(8);return}s+=1;try{const p=await an(e,this.ref,d,this.rdtCode,this.url);p.data.status==="failed"&&(l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),this.setPaymentResponses(p.data,p.headers),P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed"}),o(p)),p.data.status==="inProgress"&&(l&&(a=i*(s+1),this.timer=setTimeout(v,a)),this.setPaymentResponses(p.data,p.headers)),(p.data.status==="success"||p.data.status==="successful")&&(this.setPaymentResponses(p.data,p.headers),l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Success"}),t(p))}catch{l&&(a=i*(s+1),this.timer=setTimeout(v,a))}};v()}redirectTo(e,i,t){const o=i.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):t==="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=zn(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 hl}}const pl=`<form id="mobile-money-form">
|
|
1548
|
+
<div>
|
|
1549
|
+
<h5 class="text-grey-400 font-semibold text-sm">Please enter your Mobile Money details to begin payment</h5>
|
|
1550
|
+
|
|
1551
|
+
<div class="mt-2 flex flex-col gap-4">
|
|
1552
|
+
<div class="relative bank-select-relative">
|
|
1553
|
+
<div class="relative w-full">
|
|
1554
|
+
<span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">Network</span>
|
|
1555
|
+
<div>
|
|
1556
|
+
<select class="mm-input-container appearance-none pr-7" id="network-search-input" name="network"
|
|
1557
|
+
placeholder="Select Network" required></select>
|
|
1558
|
+
</div>
|
|
1559
|
+
<div class="absolute right-4 top-1/2 -translate-y-2/4">
|
|
1560
|
+
<svg id="bank-dropdown" width="14" height="8" viewBox="0 0 14 8" fill="none"
|
|
1561
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
1562
|
+
<path d="M1 1L7 7L13 1" stroke="#9E9BA1" stroke-width="2" stroke-linecap="round"
|
|
1563
|
+
stroke-linejoin="round" />
|
|
1564
|
+
</svg>
|
|
1565
|
+
</div>
|
|
1566
|
+
</div>
|
|
1567
|
+
</div>
|
|
1568
|
+
<div id="otp-message" class="hidden">
|
|
1569
|
+
<div class="bg-[#FEF7ED] text-[#816039] text-sm rounded-lg p-2 font-semibold">
|
|
1570
|
+
Please generate the OTP code by dialing #144*82#", then enter the OTP below
|
|
1571
|
+
</div>
|
|
1572
|
+
</div>
|
|
1573
|
+
|
|
1574
|
+
<div class="relative w-full hidden" id="otp-input-container">
|
|
1575
|
+
<span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">OTP</span>
|
|
1576
|
+
<div>
|
|
1577
|
+
<input class="mm-input-container" type="tel" id="otp-input" name="otp-input" placeholder="Enter OTP"
|
|
1578
|
+
/>
|
|
1579
|
+
</div>
|
|
1580
|
+
</div>
|
|
1581
|
+
|
|
1582
|
+
<div class="relative w-full">
|
|
1583
|
+
<!-- <span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">Mobile number</span> -->
|
|
1584
|
+
<div class="flex border border-tone-40 rounded-lg" id="phone-number-container">
|
|
1585
|
+
<div class="grow relative flex gap-2">
|
|
1586
|
+
<div class="relative flex w-full">
|
|
1587
|
+
<div class="absolute left-0 top-1/2 -translate-y-2/4 border-r py-4 pl-4 pr-2 border-tone-40">
|
|
1588
|
+
<div id="region-code" class="align-center gap-2">
|
|
1589
|
+
</div>
|
|
1590
|
+
</div>
|
|
1591
|
+
<input
|
|
1592
|
+
class="details-input-container ml-20 mr-11 grow py-4 pl-4 pr-2 font-normal placeholder:text-tone-50"
|
|
1593
|
+
type="tel" id="phone-number-input" name="number" placeholder="Enter your mobile number" required />
|
|
1594
|
+
</div>
|
|
1595
|
+
</div>
|
|
1596
|
+
</div>
|
|
1597
|
+
<div id="phone-number-error" class="text-sm text-error font-semibold mt-2 hidden"></div>
|
|
1598
|
+
</div>
|
|
1599
|
+
|
|
1600
|
+
</div>
|
|
1601
|
+
<div class="mt-4">
|
|
1602
|
+
<button type="submit" class="details-form-button">
|
|
1603
|
+
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
1604
|
+
<path
|
|
1605
|
+
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">
|
|
1606
|
+
</path>
|
|
1607
|
+
</svg>
|
|
1608
|
+
<span id="mobile-money-button-text"> </span>
|
|
1609
|
+
</button>
|
|
1610
|
+
</div>
|
|
1611
|
+
</div>
|
|
1612
|
+
<div class="container-center mt-4 gap-1" id="pci-dsss">
|
|
1613
|
+
<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1614
|
+
<path
|
|
1615
|
+
d="M4.884 0.68L1.384 2.235C1.024 2.395 0.789001 2.755 0.789001 3.15V5.5C0.789001 8.275 2.709 10.87 5.289 11.5C7.869 10.87 9.789 8.275 9.789 5.5V3.15C9.789 2.755 9.554 2.395 9.194 2.235L5.694 0.68C5.439 0.565 5.139 0.565 4.884 0.68ZM5.289 5.995H8.789C8.524 8.055 7.149 9.89 5.289 10.465V6H1.789V3.15L5.289 1.595V5.995Z"
|
|
1616
|
+
fill="#6D6A73" />
|
|
1617
|
+
</svg>
|
|
1618
|
+
|
|
1619
|
+
<p class="text-[10px] text-grey-100">
|
|
1620
|
+
PCI DSS Certified
|
|
1621
|
+
</p>
|
|
1622
|
+
</div>
|
|
1623
|
+
|
|
1624
|
+
</form>`;class vl{constructor(e){h(this,"container");h(this,"payment");h(this,"warningError");h(this,"pageLoader");h(this,"localCurrency");h(this,"amount");h(this,"totalAmount");h(this,"onAction");h(this,"switchScreen");h(this,"merchantKey");h(this,"rdtCode");h(this,"url");h(this,"currency");h(this,"restartTransactionProcess");h(this,"merchantDetails");h(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 gn({container:this.container,onAction:this.restartTransactionProcess.bind(this)}),this.countryCode=e.countryCode}validateForm(){const e=this.container.querySelector("#phone-number-input"),i=this.container.querySelector("#network-search-input"),t=this.container.querySelector("#otp-input"),o=this.container.querySelector(".details-form-button"),s=this.container.querySelector("#phone-number-container"),a=this.container.querySelector("#phone-number-error");if(!e||!i||!o)return;const l=this.localCurrency?this.localCurrency:this.currency,d=Pn.find(v=>v.name===(this.countryCode||l));e.value.length>Number((d==null?void 0:d.length)||"9")?(s&&(s.classList.remove("border-tone-40"),s.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="Please enter a valid phone number. You can remove the leading zero if it exists.")):(s&&(s.classList.remove("border-[#D62020]"),s.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((d==null?void 0:d.length)||"9")&&i.value?i.value==="orange"?t&&t.value.length>=6?o.disabled=!1:o.disabled=!0:o.disabled=!1:o.disabled=!0}attachListener(){const e=document.querySelector("#mobile-money-form"),i=document.querySelector("#pci-dss"),t=this.container.querySelector("#phone-number-input"),o=this.container.querySelector("#network-search-input"),s=this.container.querySelector("#otp-input"),a=this.container.querySelector(".details-form-button");a&&(a.disabled=!0),t&&o&&(t.addEventListener("input",l=>{const d=l.target;d.value=d.value.replace(/\D/g,""),this.validateForm();const v=this.localCurrency?this.localCurrency:this.currency,p=Pn.find(g=>g.name===(this.countryCode||v));Pn&&p&&Number(p.length)===d.value.length&&P.track("input_phone_number",{payment_method:"Mobile Money",network:o.value})}),o.addEventListener("change",()=>{if(this.validateForm(),o.value==="orange"){const l=this.container.querySelector("#otp-message"),d=this.container.querySelector("#otp-input-container");l&&l.classList.remove("hidden"),d&&d.classList.remove("hidden")}})),i&&i.classList.add("hidden"),!(!o||!t||!a)&&e&&e.addEventListener("submit",l=>{l.preventDefault();const d=this.localCurrency!==this.currency?this.localCurrency:this.currency,v=this.countryCode||d,g=Pn.filter(k=>k.name===v)[0].allowsZeros?`0${t.value}`:t.value,f=o.value,y=s?s.value:"";this.onAction(l)({code:f,phoneNumber:g,...f==="orange"&&{otp:y}}),P.track("start_payment",{payment_method:"Mobile Money"})})}displayButtonText(e){var t,o;const i=this.container.querySelector("#mobile-money-button-text");if(i){const s=this.localCurrency&&this.localCurrency!==this.currency?this.localCurrency:this.currency;i.textContent=`Continue to pay ${s} ${xe(this.totalAmount!==this.amount?this.totalAmount:this.amount*(this.currency==="USD"?(o=(t=this.merchantDetails)==null?void 0:t.rate)==null?void 0:o.rate:1),2)}`}}renderComponent(e){this.container.innerHTML=this.render();const i=this.container.querySelector("#network-search-input");if(i){const a=new Option("Select your network","",!0,!0);a.disabled=!0,i.appendChild(a),i.classList.remove("text-tone-100"),i.classList.add("text-tone-50"),i&&e.forEach(l=>{const d=new Option(l.name,l.code);i.appendChild(d),i.classList.remove("text-tone-50"),i.classList.add("text-tone-100")})}const t=this.container.querySelector("#region-code"),o=this.localCurrency!==this.currency?this.localCurrency:this.currency,s=Pn.find(a=>a.name===(this.countryCode||o));if(t){t.innerHTML=`
|
|
1625
|
+
${s==null?void 0:s.icon}
|
|
1626
|
+
<span class="text-tone-100 text-sm font-semibold">${s==null?void 0:s.dialCode}</span>
|
|
1627
|
+
`;const a=t.querySelector("svg");a&&(a.setAttribute("width","20"),a.setAttribute("height","20"))}this.displayButtonText(),this.attachListener()}renderContent(){this.switchScreen(2),As(this.merchantKey,this.currency,this.rdtCode,this.url,this.localCurrency).then(e=>{this.renderComponent(e),P.track("providers_loaded",{payment_method:"Mobile Money",provider_count:e.length})}).catch(e=>{this.switchScreen(5),P.track("providers_failed",{payment_method:"Mobile Money",error:e.message||"Unknown error"}),e.message?this.warningError.setPaymentError(e.message):this.warningError.setPaymentError("Unable to fetch network providers at this time.")})}render(){return pl}}const bl=`<div id="checkoutMobileOtp">
|
|
1628
|
+
<div class="w-full">
|
|
1629
|
+
<div id="otp-content" class=" grid gap-4">
|
|
1630
|
+
<h5 class="text-black" id="otp-message">
|
|
1631
|
+
|
|
1632
|
+
</h5>
|
|
1633
|
+
|
|
1634
|
+
<div class="">
|
|
1635
|
+
<div class="relative w-full">
|
|
1636
|
+
<input class="otp-input text-center" type="tel" id="card-otp" name="otp" required />
|
|
1637
|
+
<div id="otp-error-container" class="mt-2">
|
|
1638
|
+
<p id="otp-error" class="text-sm font-semibold text-error"></p>
|
|
1639
|
+
</div>
|
|
1640
|
+
|
|
1641
|
+
<div class="mt-4 md:mt-6">
|
|
1642
|
+
<button type="button" class="otp-button container-center" disabled="true">
|
|
1643
|
+
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
1644
|
+
<path
|
|
1645
|
+
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">
|
|
1646
|
+
</path>
|
|
1647
|
+
</svg>
|
|
1648
|
+
<span id="mobile-money-button-text">Authorize</span>
|
|
1649
|
+
</button>
|
|
1650
|
+
</div>
|
|
1651
|
+
|
|
1652
|
+
</div>
|
|
1653
|
+
|
|
1654
|
+
<div class="py-5">
|
|
1655
|
+
<div class="container-center">
|
|
1656
|
+
<div id="otp-loader"></div>
|
|
1657
|
+
<button type="button" id="cancel-payment" class="text-sm text-tone-100 font-semibold">
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
Cancel
|
|
1661
|
+
payment</button>
|
|
1662
|
+
</div>
|
|
1663
|
+
</div>
|
|
1664
|
+
</div>
|
|
1665
|
+
</div>
|
|
1666
|
+
</div>`;class fl{constructor(e){h(this,"container");h(this,"momoOtp");h(this,"onAction");h(this,"onClose");h(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"),i=this.container.querySelector(".otp-button"),t=this.container.querySelector("#cancel-payment");e&&e.addEventListener("input",o=>this.handleOtpInput(o,i)),i&&i.addEventListener("click",o=>{this.onAction(o)(this.momoOtp)}),t&&t.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">
|
|
1667
|
+
<path
|
|
1668
|
+
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"
|
|
1669
|
+
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
1670
|
+
</svg>`),t&&t.classList.add("hidden"),i&&i.setAttribute("disabled","true"),e&&(e.value="",this.momoOtp="",e.setAttribute("disabled","true")),this.onClose(!1)})}handleOtpInput(e,i){const t=e.target,o=e.data;o&&this.momoOtp.length<6?this.momoOtp+=o:e.inputType==="deleteContentBackward"&&(this.momoOtp=this.momoOtp.slice(0,-1)),t.value="*".repeat(this.momoOtp.length),this.momoOtp.length>=6&&i&&i.removeAttribute("disabled");const s=this.container.querySelector("#otp-error");this.momoOtp.length<6&&(i&&i.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 bl}}class gl{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");e&&e.addEventListener("click",()=>{var i;P.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(i=this.paymentResponse)==null?void 0:i.status}),Ze(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 qo}}class yl{constructor({container:e,merchantKey:i,localCurrency:t,metadata:o,callBackUrl:s,rdtCode:a,reference:l,onSuccess:d,url:v,customer:p,amount:g,totalAmount:f,token:y,currency:k,disablePaymentMethods:C,hidePaymentMethods:S,showPaymentMethods:M,onClose:A,restartTransactionProcess:_,retryingPayment:T,countryCode:I}){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");this.container=e,this.onSuccess=d||(()=>null),this.token=y,this.currency=k,this.amount=g,this.totalAmount=f,this.contents=this.container.querySelector("#payment-content-view"),this._currentStep=1,this.activeRef="",this.token=i,this.customer=p,this.metadata=o,this.localCurrency=t,this.callBackUrl=s,this.localCurrency=t,this.rdtCode=a,this.url=v,this.reference=l,this.merchantDetails={},this.disablePaymentMethods=C,this.hidePaymentMethods=S,this.showPaymentMethods=M,this.onClose=A,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=_,this.retryingPayment=T,this.isMaxRetriesReached=!1,this.countryCode=I,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,i){e.stopPropagation(),e.preventDefault();const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#mobile-money-button-text");t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),(()=>{var a,l;if(this.retryingPayment){const d={channel:"mobile_money",reference:this.reference,mobileMoney:{code:i.code,phoneNumber:i.phoneNumber,...i.otp&&{otp:i.otp}}};return ci(this.token,d,this.rdtCode,this.url)}else{const d={amount:this.amount,channel:"mobile_money",currency:this.currency||"USD",customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,mobileMoney:{code:i.code,phoneNumber:i.phoneNumber,...i.otp&&{otp:i.otp}},...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((a=this.merchantDetails)==null?void 0:a.taxQuoteId)&&{taxQuoteId:(l=this.merchantDetails)==null?void 0:l.taxQuoteId},...this.countryCode&&{countryCode:this.countryCode}};return Ms(this.token,d,this.rdtCode,this.url)}})().then(({data:a,headers:l})=>{var d;if(this.paymentResponse=a,this.paymentResponseHeaders=l,a.status==="failed"){this.currentStep=5,a.providerMessage?this.warningScreen.setPaymentError(a.providerMessage):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue(),P.track("start_payment_failed",{payment_method:"Mobile Money",verification_status:"Failed",payment_error:a.providerMessage||"Payment failed"});return}else if(a.status==="success"||a.status==="successful"){this.currentStep=4,P.track("start_payment_success",{payment_method:"Mobile Money",verification_status:"Success"}),Ze(a,l,a==null?void 0:a.callBackUrl);return}else if(((d=a==null?void 0:a.authorization)==null?void 0:d.mode)==="otp"){this.activeRef=a.reference,this.currentStep=6;return}else this.currentStep=3}).catch(a=>{P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Null"}),a.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=5,this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(this.currentStep=5,a.message?this.warningScreen.setPaymentError(a.message):this.warningScreen.setPaymentError("Payment failed")),this.warningScreen.hideReportIssue()}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}showLoader(){this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader()}submitOtp(e,i){e.preventDefault();const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#mobile-money-button-text"),s={authorization:{otp:i},reference:this.activeRef};P.track("input_MobileMoneyOTP",{payment_method:"Mobile Money",authentication_type:"0TP"}),t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),di(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(l=>{P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"});const d=this.container.querySelector("#otp-error");l.code==="invalid_otp"?(d&&(d.innerHTML=l.message),P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"})):this.currentStep=3}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}async verifyPaymentProcess(){try{const e=await an(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){var i;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 vl({container:this.contents,merchantKey:this.token,url:this.url,onAction:t=>o=>this.createMobileMoney.bind(this)(t,o),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 Ne(this.contents),this.mainLoader.mountLoader("25dvh"),this.mainLoader.updateMessage("Please wait");break;case 3:this.mobileMoneyConfirmation=new ml({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,o)=>{this.paymentResponse=t,this.paymentResponseHeaders=o}}),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 gn({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 fl({container:this.contents,onClose:this.onClose,onAction:t=>o=>this.submitOtp.bind(this)(t,o),otpMessage:((i=this.paymentResponse)==null?void 0:i.providerMessage)||"Please enter your OTP sent to your phone"}),this.mobileMoneyValidationForm.renderComponent();break;case 7:this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 8:this.mobileMoneyConfirmationEnd=new gl({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 mi({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 Cl=`<div id="eft-authenticate-container">
|
|
1671
|
+
<div class="pt-3">
|
|
1672
|
+
<div class="container-center">
|
|
1673
|
+
<svg width="98" height="32" viewBox="0 0 98 32" fill="none" xmlns="http://www.w3.org/2000/svg"
|
|
1674
|
+
xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
1675
|
+
<rect width="98" height="32" fill="url(#pattern0_13486_80257)" />
|
|
1676
|
+
<defs>
|
|
1677
|
+
<pattern id="pattern0_13486_80257" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
1678
|
+
<use xlink:href="#image0_13486_80257" transform="scale(0.00666667 0.0204167)" />
|
|
1679
|
+
</pattern>
|
|
1680
|
+
<image id="image0_13486_80257" width="150" height="49" preserveAspectRatio="none"
|
|
1681
|
+
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAxCAYAAAA4GFC0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAwIDc5LjE3MWMyN2ZhYiwgMjAyMi8wOC8xNi0yMjozNTo0MSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkwOTc5QTUwRjM0MTFFRUE5ODhCMTQxOUUyMjMyQTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkwOTc5QTQwRjM0MTFFRUE5ODhCMTQxOUUyMjMyQTIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI0LjAgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0ZCODQ4MjcwRjMyMTFFRTk3MjBBOTZDQkQyQzdEQzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0ZCODQ4MjgwRjMyMTFFRTk3MjBBOTZDQkQyQzdEQzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7SP/CfAAARUklEQVR42uxdCZgUxRV+NQO7y7ILLDdKomAAEUQFAx54gbcC4okGFaMoBolG8YwmaDwTEENUjCCIJx5EQEVBUCLILWcExOUUlJuFhWVld6bzXtXr7pqa6pnZhe8Lcft939vqrq4+purv9/73qmZWOI4DoYRyqCUSdkEoIbBCCYEVSgisUEI55FLNrBBrnw1uLZjoOyKxXlYL91hd/Hsu1p2M203kAWrviE24vRjLKag7vOtI1bdR49p2KhF4PDcLGt/5OtSYtwZi9fLCEf0fyfrCRamBdRDSDrUL6qmov8ZRb8ajn3B/1MtRZ6F+ifp1OCRVxGJVwpX2RvD0k2ByRDXPerllPGH/KCxJr5R2zoG5WLyC9W/hfkk4HCHHIunFrm2MtFJxBpXu2silgevSdPcmS/wjTsFyBOoSrLw+HI6qbbHqoA6XwHKEwbmIhIk5uEEOdzXqj6jFqDWxvjEC7hjcPgnLTlhW9wAI8CssX8PyMtQ7UTeGQ1O1gNUKAfA+AqJtgrtziDuh5XLgddwpTCDejkbwhQsk0Rz3r8btmxlULkAvx/qOuHUJ6tJweKqGK2yPAz/LB5XUUtz/E+63weN/xv1CiOMlA9UD3BrUp1Hb4P5A1N2am2yKOpsDgVCqgMX6O4KormepHFiAf29DXejzKWl1oioqROsG0Bw1G7VMuTcxF9stVoEieU04gMUQ3PlYcS3ozNYtFw+Ox60zmH8F5RvSpyRCOcyB5Yhl+Lcz86IJ+Lcnlo7m9tDSALm236C28N2g8N1hHMrxL7pA+AActmJ0LOKslCCi6NCBa/l6+Vh+iNoa6/bZnwk1ilQtWk3zuaEcnsAKtgAD8NhqHD9KIAxVVsrzpA+j3ot1tZJTDKAnOzFyFD2R43/gRY8ScBEFDMe5DgEntMDgF6iUiuhhf/ooiOL9ECn5CQGW1qvnoB6LSgFEQ9TdqOtQl6MWVaCvnIPo658yaFeAehzq0ajYn7CFA6GVac7P5rK8Avdyz6NzyNMcqACFioIa6Wq8XVJZVxhDHaKAQKCQA0mZ9TckH9KBoog68a+1uFGCZQ2saYn6A+oweS61F0BknQKC4VhXBEIisjfukwvtyNfsjiUBa0LSE9WvBTXHfgW581dDWZM6Qc9NidpbGJxtLMc3SlcMQGmT2QHX6ID6T8/uVk4I2FNR7w44TjTgBg5cjrAcJ49B9GAk6gbL8cdRL0At5XtR8PMI6toUz0TPciMDKov7gnKM+1Oc80fU7jKqV5ioKccU4KXUwBIpXkg6FI8qYAk4EvemSWAkRIjic9wYi/uTcX+benNEFtZTZ+2SqvgYgWqcskxOD+kK45EyvD897FVYvwaPR1UoKZ7C7URg0Tqy6tUhnp0F4kAZR5xJTzyQO7dWio5qylyR9DnubMeSYulwCDzEFksdDRDNo92R5tzjWQegDpKcN/kFOd5oT1y3XQrrNZCNgyvU9hzUSQHt72cA60LWdGL6qLAMsVZu06hScltCWoF5OPittAhxPWo3rO+KSknPDaj7UeMIJLJeazxQqfbttfnBTqiTNLdJ5w7S5hJb432uTZhPJEBt2AH5UxZDrKCmDVQvo/4tDahMuQt1Jrsj01ofCjFnFxqhzskAVCbI6QV40ainPOAeo64lWyCbnGGAypWg9uR1HrTU/4M9URpgxRA8sYhFo8oiCYce5lO2QO7AL2Ckf+RxLwWAbNVO5Er3R9chi+cP/AqNtZyLbfsp4Mm65+Qb7gcAv00AVhT5VdF+yF65CZzsrOQIFqBvJQf/NHa7et98wymSg5V9hqX6WKZxKie3o/5V2ydvMMXSrlvA+RcE1J/PrtSU01FrG3XEzT7MjLzL5LmTilhOxoFtqQ04TSSfKf2yn6eizurPYKutOtSZhu1HYTlDtos4ZJXOQyVSmscAfVK6USLTjtiL5WgsH2AAn4VKZP57ZVkxiqidB7E6NSGyeZf+Uagjf2959jjzwcl8jbr8fDdYLBS9zU+x6SfZxp/xZm5bGkAU1rH1Od5ynID5gLY/OMC97mDr8wUHFUcxCHpb2t7LvM0F1LsWi9OVeZAZWfcIGGOiOGdxP+lysaXtl0EvnDDXvIuVzwcBqxF23Qw82EID1TwenBLPSgE8hPpEYvY9oRyEwHpU2++D5WjtmthZYjBv09Kb+Vp0SQM7yiXu+W9Nh3ovTQInFw2jigopwvmOo0kwLM7VHAGacgRbOJsLoFzcqgpYkbNR36OnM+oJyKdoLqMtk3FTKAK+B3Wz5Vg7Bk4rC2BbsrvOZ7Jez2jTk4m/K7QCZVaKzzFGjosvUe6H5ka7/q5LNpfNZJp5byqJOoHK41SwGLcxOnB0UPXH8gl/IlpXb3J6kLRCPthexb//0QKAHto5S7Bcp7nckz3AZmVD9qpNEN2zD5xqnnvtbgHVejbvywM+2w8yWLC7kX4VANXFbGVMUJE5vdDgIb+znD+Rc4CbA66/lD/HJqO+uWZNaF52uuXcK4z9y9J8lvOZU+kW3ATVAYtVqxCwGspOd2jaxs1RSSCgpXK2eIlOMqGOeDYxbyVewRJDfTEsAVzKzbTW2r6mHe+AZWN5HwfKcHuVf54k+erdjESRtNfC20dUhBhs3vvbyKVFbrFET+fz25pO2lvTIaq3LjVAnW3hN/s4Kk0nGzjASMWjPrIcv5CtWTre5UoTdoeuXGppM5sjwkoBqykO5DyV/fYSn8ipxKl4ZpGsK4+6lucamQvxQdCPB+sVoBULjhbVSYCKPoqTUWJUzNaIOb4peD/hWcYvtGM/6InRaNFecKpHdXPd1nj+VUyQMxFyV+MsrvCYNOe1VNbcmhPsZnE5rSxv/7spLJUp4yx5rBPAX1E50RId1mfKAuySWxvHKW9VloKDXRrgtqEywGrGHXaUBpYFbHb3+pGi9uF84MzXEoqulRoro0k/M8/JSnnt7agHOGdF+008d0ihtQNDsX6E55oK8iC6aiPk/XsJxOp52YRcS9SysIKR1lxLcHNEmiz5R5wCMKVXQD7Idr05FXhG6pUFlhSEGxrvDLjvJWms+rwAK9jKwuv2p8h1pcy8H8kJzhbaWiuaPO6C9cVQHvEtjw+cGlrmfYfHmXz+pSUI5X6WZonKZejqcOfQSlS3mYMRmIC7JRjdy8TikLNiPYgyPK1Gtv6SmC9K6UGkA1zJStH+X+DOiyYKBRnvBJyTlUF+K52YmXFtMKR8yMDWxV0tco6lj17laaTTjeiwNc8ImDID0qyZi9ijP/GeByrFfebgY5+uQBV1p2N8UCkt1IByJu4fa4CqmSTX/jW/9/tD1JYu0E+IbtMslsFaKONeDfKnLQJRWmZ2ttnhx1VwwGxpgq0Bbd/lKNA2TTIqxT1s12t7kM9ZariyTy3ukJKx91lc+1TuaRtluJMjSlugARUF1jWSQ/kZ8jnSjDr4VpHrU/OA3Tkn09AHmBjvA40SojKT3osjSloJQfmvAo2kj1UWTW63lUuV1TG0TWJN8kvIUisXshYVQvVN2yGWn2tGKd9ZSHWmg1bdEi1tDCCowziSNIWmj4amuc8qzovpcrn9w1qlQwCX1GcHdloiNiLvz1ii1gkaGf/eOHYr6kUWEFcCWGqOzkX/fE6w7VTuT378u+TDOOIpmXD0XCKR/MjbWhqBLNTbMl/jsMvwvyZGb8dnmjW7QnORhXLyWk9TeM+GFXXzIQv5VTaqk5eUIP7C4uqfzXDAHuJkpBn5FBt19EINsJxP93k8g/vshOTJbnKnAzN8zsGWcZseYFEzcalu5vwnS8rFBvbpFgBmAiz4BAfzddSpuH2G9P+u+1OdOlRzZ5Q576IN/o1ycPWEqEPEUv8SBUVJ4ip5a+UqT5JzjP41J4G5fMNd1pyTBWL9Vsj7ahmUN6wjuZYlUjF51XnsmlJZhP6gJnZNGWHsX8+pEl1oQB7lxGamMsJSR9MzfdOM1ZsW97uXAyNTpjCIU8lUSJwYH5fBs7+fyQe0kfcYk0/ei7rYvV92atz8AgW8iHUnYgMcUKdM5UxouTFGcGoKxgXYZpXRlQnSUu86tNzCDxCo3WiZagALx6pWDSK7dkLOsrUQz7FyarrH0xaQ3MR860W2ajvkNJKa/e8bEClNk1Y1EaCjLe2+5QjpQnanNkCQfq2lCSiS/MogyyQvc45rJLffx66rC4P/ZMv1/4K63VK/h93htSnG/x2Lxd/I9MUmpQGJ5AymdJa/4AOHUgrqRb9P+mdHQNL3Bh2PX/VUKx+8b0sXIHgov1JXrmmXUxhiq/9NZ3k6TeX0kf2uXN8oD9SxiLaQkNfEZFcHUR6HRo+NhNxF30J5gzqKzCebb+KFHQM+cxErzZ81SNGBx4G/lokI72IGo61tTgZ9vYVnBtywnhYdLkkRdW7haLEgIJ0BDM7OKe7Zi+mITYrZ9e8y6unluz3gnCkQMHmdfkpHAiqqVFmSRyygug3LGSo7Lt3cZWxWG0gwSFCIXdIfK341Ddts5Xo370J8rI9a9Ads0cQAeX1574jh5rHcXwZO/QIourIrRHfvRRt5ADzrlug4L4Lgb/nQvY9OAao453zWGjm9oO/vZwIqNyrTl52sZKClat8sBagWWoi1KR+ncIefWUBFMv5g3aAdWLGo/8UIARfj4D+mJT4pkdlXmmxaxgL8GwxyOCJdsY4+7L2csU/8ho4CaRNQS5yxnfC/lyjXa0lwlhgpCuNpsX7LDijt2Aa23H8jRHcV8yI/YSPIXQOmN1IJPT9N0H5u4VGHQkwQTmZ3WNGvuo1n11ycpl1xikTmhIB6WrHwo6WeeO8nlQeWk5CfapBYRysNxEgGWqF84+KRbRpHQkARCRVL+Y0YwpHSYM6tLMXjw+Sb6F+zmHMlcyWgZSLUuY5D4xb2NOZ+2HNTN9h+a0+I7C2xkXhg3tGN+dWCNP1QyJa5kyUD7faTw9YsVkkNStjOYq5HvDDdmq95HED0zICY60lcU3ZD8FRXaYDVmgoV+CJxMsda8nJilph+X8GR5Bw4DfEggmmIclHUz5FGWIzBNhckkHo9Mx/Xybj2CzMgpkuSTwTYX8t1i5y+Ucc3cTIw0WTTM+fmyDnDJncPhZxv10OsTr4+GW2T09gaHcuWg7L96zil8nmaLH0OuyUXXJW1VtsCrIEruUzUCWi/5OCKnms5pyjmVOK+gq8HnEStAf4XNIKE3P6J2oxAHj/D9qATTI6VDKzFI0wLRsuCF2KZo4HmDtQXeL26W0c/DnIHAqRTMsAADI62QEVACKB4AtDobXzNm0+klCmtdLBmq/GEhvWg5sTp0PiZMVDWsG7mKcZQDrmk/xmjZH6zAsfwJqx/Wzv+vIqUnIFoveL8XrzBeaTTsP25CvGiIW6jKRH75DQNyPVVZFJpwWAs4fexVNj8cKIrJjIfNKWC5+3YDSWd20PJlLmQs2I1xGrnhyN8mEimX/8ay5ZjqG99xB8k8RRwD1qdmQw4BJkzE+tmanN9kST3kUjQyeQ+iUC5yLBylHR8IeVTlSE26+RBnCaiY/FwNA8jqchvNzyHA95f40JUdpTWRzj0YyBne6sZYhH9V/ni3nZihEjJvuG4vSABVCrH9WBAJjw5SiwrB1Ees0WGofwfWCwteSZoHm+4/BE1yYMkEHorjiWjlkmgfs+BJpJ3sktztPzRCZx/6cy/86BHnUQOadnue+HQVC1gAecy2iEYnkbg3J4wUUwWTFkxQhytryrSuFstcNdgJZN5Kt/EkiZiN4fDUrVcoS572LIQkEbJL6bGjR+qVb/TUN9TfdmyDyoCH83C0+Kz3iGoqrbF0mW+UgfJd6S7ysFQzguaapPMfhSnwLQZy2VySkhN93wTDkMIrCBZjaih5TQUNRbIpTC0rFVZKloZ+hOCaKtawEdAFNvDrv95iwj/SVMohxPHCiWUEFihhMAK5Wci/xVgAK25UHDJFPJYAAAAAElFTkSuQmCC" />
|
|
1682
|
+
</defs>
|
|
1683
|
+
</svg>
|
|
1684
|
+
</div>
|
|
1685
|
+
<div class="md:w-4/6 mx-auto mt-4">
|
|
1686
|
+
|
|
1687
|
+
<p class="text-lg font-medium text-center">
|
|
1688
|
+
Please click the button below to
|
|
1689
|
+
authenticate your payment
|
|
1690
|
+
</p>
|
|
1691
|
+
</div>
|
|
1692
|
+
<div class="mt-8">
|
|
1693
|
+
<button class="details-form-button" id="authenticate-btn">
|
|
1694
|
+
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
1695
|
+
<path
|
|
1696
|
+
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">
|
|
1697
|
+
</path>
|
|
1698
|
+
</svg>
|
|
1699
|
+
<span id="authenticate-button-text">
|
|
1700
|
+
Authenticate
|
|
1701
|
+
|
|
1702
|
+
</span>
|
|
1703
|
+
</button>
|
|
1704
|
+
</div>
|
|
1705
|
+
</div>
|
|
1706
|
+
|
|
1707
|
+
</div>`;class ns{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 gn({container:this.container,onAction:this.restartTransactionProcess.bind(this)})}attachListener(){const e=this.container.querySelector("#authenticate-btn");e&&e.addEventListener("click",()=>{this.onAction(),P.track("start_payment",{payment_method:"EFT"})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return Cl}}class wl{constructor({amount:e,totalAmount:i,container:t,customer:o,token:s,currency:a,rdtCode:l,url:d,reference:v,callBackUrl:p,metadata:g,localCurrency:f,hidePaymentMethods:y,showPaymentMethods:k,restartTransactionProcess:C,retryingPayment:S}){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");this.currency=a,this.container=t,this.token=s,this.customer=o,this.amount=e,this.totalAmount=i,this.rdtCode=l,this.url=d,this.reference=v,this.callBackUrl=p,this.metadata=g,this.localCurrency=f,this._currentStep=1,this.contents=this.container.querySelector("#payment-content-view"),this.hidePaymentMethods=y,this.showPaymentMethods=k,this.restartTransactionProcess=C,this.retryingPayment=S,this.isMaxRetriesReached=!1,this.paymentResponse={},this.paymentResponseHeaders={},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 Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment")}setPaymentError(e){const i=this.container.querySelector("#payment-warning-text");i&&(i.textContent=e)}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}async createEftPayment(){const e=this.container.querySelector(".spinner"),i=this.container.querySelector("#authenticate-button-text");e&&i&&(e.classList.remove("hidden"),i.classList.add("hidden")),(()=>{var o,s;if(this.retryingPayment){const a={channel:"eft",reference:this.reference};return ci(this.token,a,this.rdtCode,this.url)}else{const a={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:(s=this.merchantPlanDetail)==null?void 0:s.taxQuoteId}};return Bt(this.token,a,this.rdtCode,this.url)}})().then(({data:o,headers:s})=>{var a,l,d;if(this.paymentResponse=o,this.paymentResponseHeaders=s,o.status==="failed"){this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Payment failed"),P.track("start_payment",{payment_method:"EFT",verification_status:"Failed"});return}else if(((a=o==null?void 0:o.authorization)==null?void 0:a.mode)==="redirect"){(l=o==null?void 0:o.authorization)!=null&&l.redirectUrl&&this.redirectToOzow((d=o==null?void 0:o.authorization)==null?void 0:d.redirectUrl);return}else this.currentStep=4,o!=null&&o.providerMessage?this.warningScreen.setPaymentError(o==null?void 0:o.providerMessage):this.warningScreen.setPaymentError("Unable to get redirect URL")}).catch(o=>{o.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(this.currentStep=4,o.message?this.warningScreen.setPaymentError(o.message):this.warningScreen.setPaymentError("Payment failed"))}).finally(()=>{e&&i&&(e.classList.add("hidden"),i.classList.remove("hidden"))})}redirectToOzow(e){const i=window.open(e,"_blank");if(i){P.track("auth_redirect",{payment_method:"EFT",authentication_type:"Redirect",verification_status:"In Progress"}),this.currentStep=3,this.showLoader();const t=setInterval(()=>{i.closed&&(clearInterval(t),this.verifyPaymentProcess())},2e3)}}async verifyPaymentProcess(){try{const e=await an(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers;const i=this.paymentResponse.status;i==="successful"?(this.currentStep=2,P.track("verify_payment",{payment_method:"EFT",verification_status:"Success"}),Ze(this.paymentResponse,this.paymentResponseHeaders,"success")):i==="failed"?(this.currentStep=4,P.track("verify_payment",{payment_method:"EFT",verification_status:"Failed"}),this.paymentResponse.providerMessage?this.warningScreen.setPaymentError(this.paymentResponse.providerMessage):this.warningScreen.setPaymentError("Payment failed")):i==="cancelled"&&(this.isMaxRetriesReached=!0,this.currentStep=4,this.warningScreen.setPaymentError("Payment Cancelled","You have cancelled the payment. Go back to merchant website to start the payment process again.","Go back to Merchant"))}catch{this.currentStep=4,this.warningScreen.setPaymentError("Payment failed")}}renderEftContent(e){var t;e&&(this.merchantPlanDetail=e);const i=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),i==null||i.classList.add("hidden")):this.showPaymentMethods(),this.isMobile&&this.hidePaymentMethods(),this.contents){switch(this.currentStep){case 1:this.eftAuthenticate=new ns({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:(t=this.merchantPlanDetail)==null?void 0:t.rate.rate}),this.successScreen.renderComponent();break;case 3:this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 4:this.warningScreen=new gn({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 mi({container:this.contents,onAction:()=>{var s;this.currentStep=4,this.warningScreen.setPaymentError(((s=this.paymentResponse)==null?void 0:s.providerMessage)||"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 ns({container:this.contents,onAction:this.createEftPayment.bind(this),restartTransactionProcess:this.restartTransactionProcess.bind(this)}),this.eftAuthenticate.renderComponent();break}const o=this.container.querySelector("#card-currency");o&&(o.textContent=`${this.localCurrency?this.localCurrency:this.currency} Card`)}}}const kl=`<div class="box-container flex-1">
|
|
1509
1708
|
<!-- test-cards.html -->
|
|
1510
1709
|
<div class="bg-gray-100 py-2 px-4 rounded-lg mt-4 relative">
|
|
1511
1710
|
<div class="flex items-start gap-4 mb-4">
|
|
@@ -1554,7 +1753,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1554
1753
|
<div class="flex justify-between items-center">
|
|
1555
1754
|
<span class="text-tone-60 font-medium text-sm">CVV</span>
|
|
1556
1755
|
<div class="flex items-center gap-1">
|
|
1557
|
-
<span data-copy-value="
|
|
1756
|
+
<span data-copy-value="321" class="text-tone-100 text-sm font-medium">321 </span>
|
|
1558
1757
|
<button class="copy-btn p-1 hover:opacity-80 transition-opacity">
|
|
1559
1758
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1560
1759
|
<path
|
|
@@ -1815,215 +2014,16 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
1815
2014
|
</div>
|
|
1816
2015
|
</div>
|
|
1817
2016
|
</div>
|
|
1818
|
-
</div>`;class
|
|
2017
|
+
</div>`;class Sl{constructor({container:e,closeCallback:i}){h(this,"container");h(this,"closeCallback");this.container=e,this.closeCallback=i}render(){return kl}attachListener(){const e=this.container.querySelector("#close-test-card");e==null||e.addEventListener("click",()=>this.closeCallback());const i=this.container.querySelectorAll("#test-card-tabs .tab-btn"),t=this.container.querySelectorAll(".tab-content");i.forEach(s=>{s.addEventListener("click",()=>{i.forEach(l=>l.classList.remove("active-tab")),s.classList.add("active-tab");const a=s.getAttribute("data-target");t.forEach(l=>{l.id===a?l.classList.remove("hidden"):l.classList.add("hidden")})})}),this.container.querySelectorAll(".copy-btn").forEach(s=>{s.addEventListener("click",async a=>{const d=a.currentTarget.previousElementSibling.getAttribute("data-copy-value")||"";d&&(await navigator.clipboard.writeText(d),s.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(()=>{s.innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1819
2018
|
<path
|
|
1820
2019
|
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"
|
|
1821
2020
|
fill="#0D0716" />
|
|
1822
|
-
</svg>`},1e3))})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}}
|
|
1823
|
-
<div>
|
|
1824
|
-
<div>
|
|
1825
|
-
<div class=" grid grid-rows-[auto_1fr] gap-4 mx-5">
|
|
1826
|
-
<div class="items-center justify-self-center flex flex-col relative ">
|
|
1827
|
-
<svg class="animate-spin" width="40" height="40" viewBox="0 0 64 64" fill="none"
|
|
1828
|
-
xmlns="http://www.w3.org/2000/svg">
|
|
1829
|
-
<path
|
|
1830
|
-
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"
|
|
1831
|
-
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
1832
|
-
</svg>
|
|
1833
|
-
<!-- <div class="relative w-12 h-12">
|
|
1834
|
-
<svg viewBox="0 0 100 100" width="100" height="100" class="h-full w-full">
|
|
1835
|
-
<circle stroke-width="10" stroke="#E6E6E7" stroke-linecap="round" cx="50" cy="50"
|
|
1836
|
-
class="circle-progress-bg" r="40" fill="transparent"></circle>
|
|
1837
|
-
<circle stroke-width="11" stroke="#000000" stroke-linecap="round" cx="50" cy="50" r="40"
|
|
1838
|
-
class="circle-progress" fill="transparent" stroke-dasharray="" stroke-dashoffset=""
|
|
1839
|
-
transform="rotate(-90 50 50)"></circle>
|
|
1840
|
-
</svg>
|
|
1841
|
-
|
|
1842
|
-
</div> -->
|
|
1843
|
-
</div>
|
|
1844
|
-
</div>
|
|
1845
|
-
</div>
|
|
1846
|
-
<div class="text-center w-11/12 md:w-4/5 mx-auto grid gap-4">
|
|
1847
|
-
<h5 class="text-center text-sm text-grey-400">
|
|
1848
|
-
We are confirming transaction status.
|
|
1849
|
-
<br>
|
|
1850
|
-
This can take a few minutes.
|
|
1851
|
-
</h5>
|
|
1852
|
-
|
|
1853
|
-
<div>
|
|
1854
|
-
<p class="text-grey-400 text-sm">
|
|
1855
|
-
Please wait for <span id="ctd-timer" class="font-bold"> </span> minutes
|
|
1856
|
-
</p>
|
|
1857
|
-
</div>
|
|
1858
|
-
|
|
1859
|
-
</div>
|
|
1860
|
-
</div>
|
|
1861
|
-
</div>`;class fl{constructor(e){h(this,"container");h(this,"onAction");h(this,"onSuccess");h(this,"ref");h(this,"token");h(this,"initialTime",300);h(this,"abortController");h(this,"timeLeft");h(this,"timer");h(this,"timerId",null);h(this,"rdtCode");h(this,"url");h(this,"callBackUrl");h(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(){this.initialTime=300,this.timeLeft=this.initialTime;const e=3e4;this.abortController=new AbortController,setTimeout(()=>{this.verifyMobileMoney(this.token,e,({data:i,headers:t})=>{this.onAction(4),this.redirectTo(i,t,"success")},()=>{this.onAction(5)})},5e3),this.startTimer()}async verifyMobileMoney(e,i,t,o){let s=0,a=i,l=!0,d;this.abortController&&(d=this.abortController.signal);const v=async()=>{if(this.timeLeft<=0){l=!1,this.onAction(8);return}s+=1;try{const p=await an(e,this.ref,d,this.rdtCode,this.url);p.data.status==="failed"&&(l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),this.setPaymentResponses(p.data,p.headers),P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed"}),o(p)),p.data.status==="inProgress"&&(l&&(a=i*(s+1),this.timer=setTimeout(v,a)),this.setPaymentResponses(p.data,p.headers)),(p.data.status==="success"||p.data.status==="successful")&&(this.setPaymentResponses(p.data,p.headers),l=!1,clearTimeout(this.timer),clearInterval(this.timerId||void 0),P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Success"}),t(p))}catch{l&&(a=i*(s+1),this.timer=setTimeout(v,a))}};v()}redirectTo(e,i,t){const o=i.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):t==="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=zn(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 bl}}const gl=`<form id="mobile-money-form">
|
|
1862
|
-
<div>
|
|
1863
|
-
<h5 class="text-grey-400 font-semibold text-sm">Please enter your Mobile Money details to begin payment</h5>
|
|
1864
|
-
|
|
1865
|
-
<div class="mt-2 flex flex-col gap-4">
|
|
1866
|
-
<div class="relative bank-select-relative">
|
|
1867
|
-
<div class="relative w-full">
|
|
1868
|
-
<span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">Network</span>
|
|
1869
|
-
<div>
|
|
1870
|
-
<select class="mm-input-container appearance-none pr-7" id="network-search-input" name="network"
|
|
1871
|
-
placeholder="Select Network" required></select>
|
|
1872
|
-
</div>
|
|
1873
|
-
<div class="absolute right-4 top-1/2 -translate-y-2/4">
|
|
1874
|
-
<svg id="bank-dropdown" width="14" height="8" viewBox="0 0 14 8" fill="none"
|
|
1875
|
-
xmlns="http://www.w3.org/2000/svg">
|
|
1876
|
-
<path d="M1 1L7 7L13 1" stroke="#9E9BA1" stroke-width="2" stroke-linecap="round"
|
|
1877
|
-
stroke-linejoin="round" />
|
|
1878
|
-
</svg>
|
|
1879
|
-
</div>
|
|
1880
|
-
</div>
|
|
1881
|
-
</div>
|
|
1882
|
-
<div id="otp-message" class="hidden">
|
|
1883
|
-
<div class="bg-[#FEF7ED] text-[#816039] text-sm rounded-lg p-2 font-semibold">
|
|
1884
|
-
Please generate the OTP code by dialing #144*82#", then enter the OTP below
|
|
1885
|
-
</div>
|
|
1886
|
-
</div>
|
|
1887
|
-
|
|
1888
|
-
<div class="relative w-full hidden" id="otp-input-container">
|
|
1889
|
-
<span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">OTP</span>
|
|
1890
|
-
<div>
|
|
1891
|
-
<input class="mm-input-container" type="tel" id="otp-input" name="otp-input" placeholder="Enter OTP"
|
|
1892
|
-
/>
|
|
1893
|
-
</div>
|
|
1894
|
-
</div>
|
|
1895
|
-
|
|
1896
|
-
<div class="relative w-full">
|
|
1897
|
-
<!-- <span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">Mobile number</span> -->
|
|
1898
|
-
<div class="flex border border-tone-40 rounded-lg" id="phone-number-container">
|
|
1899
|
-
<div class="grow relative flex gap-2">
|
|
1900
|
-
<div class="relative flex w-full">
|
|
1901
|
-
<div class="absolute left-0 top-1/2 -translate-y-2/4 border-r py-4 pl-4 pr-2 border-tone-40">
|
|
1902
|
-
<div id="region-code" class="align-center gap-2">
|
|
1903
|
-
</div>
|
|
1904
|
-
</div>
|
|
1905
|
-
<input
|
|
1906
|
-
class="details-input-container ml-20 mr-11 grow py-4 pl-4 pr-2 font-normal placeholder:text-tone-50"
|
|
1907
|
-
type="tel" id="phone-number-input" name="number" placeholder="Enter your mobile number" required />
|
|
1908
|
-
</div>
|
|
1909
|
-
</div>
|
|
1910
|
-
</div>
|
|
1911
|
-
<div id="phone-number-error" class="text-sm text-error font-semibold mt-2 hidden"></div>
|
|
1912
|
-
</div>
|
|
1913
|
-
|
|
1914
|
-
</div>
|
|
1915
|
-
<div class="mt-4">
|
|
1916
|
-
<button type="submit" class="details-form-button">
|
|
1917
|
-
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
1918
|
-
<path
|
|
1919
|
-
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">
|
|
1920
|
-
</path>
|
|
1921
|
-
</svg>
|
|
1922
|
-
<span id="mobile-money-button-text"> </span>
|
|
1923
|
-
</button>
|
|
1924
|
-
</div>
|
|
1925
|
-
</div>
|
|
1926
|
-
<div class="container-center mt-4 gap-1" id="pci-dsss">
|
|
1927
|
-
<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1928
|
-
<path
|
|
1929
|
-
d="M4.884 0.68L1.384 2.235C1.024 2.395 0.789001 2.755 0.789001 3.15V5.5C0.789001 8.275 2.709 10.87 5.289 11.5C7.869 10.87 9.789 8.275 9.789 5.5V3.15C9.789 2.755 9.554 2.395 9.194 2.235L5.694 0.68C5.439 0.565 5.139 0.565 4.884 0.68ZM5.289 5.995H8.789C8.524 8.055 7.149 9.89 5.289 10.465V6H1.789V3.15L5.289 1.595V5.995Z"
|
|
1930
|
-
fill="#6D6A73" />
|
|
1931
|
-
</svg>
|
|
1932
|
-
|
|
1933
|
-
<p class="text-[10px] text-grey-100">
|
|
1934
|
-
PCI DSS Certified
|
|
1935
|
-
</p>
|
|
1936
|
-
</div>
|
|
1937
|
-
|
|
1938
|
-
</form>`;class yl{constructor(e){h(this,"container");h(this,"payment");h(this,"warningError");h(this,"pageLoader");h(this,"localCurrency");h(this,"amount");h(this,"totalAmount");h(this,"onAction");h(this,"switchScreen");h(this,"merchantKey");h(this,"rdtCode");h(this,"url");h(this,"currency");h(this,"restartTransactionProcess");h(this,"merchantDetails");h(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 gn({container:this.container,onAction:this.restartTransactionProcess.bind(this)}),this.countryCode=e.countryCode}validateForm(){const e=this.container.querySelector("#phone-number-input"),i=this.container.querySelector("#network-search-input"),t=this.container.querySelector("#otp-input"),o=this.container.querySelector(".details-form-button"),s=this.container.querySelector("#phone-number-container"),a=this.container.querySelector("#phone-number-error");if(!e||!i||!o)return;const l=this.localCurrency?this.localCurrency:this.currency,d=Pn.find(v=>v.name===(this.countryCode||l));e.value.length>Number((d==null?void 0:d.length)||"9")?(s&&(s.classList.remove("border-tone-40"),s.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="Please enter a valid phone number. You can remove the leading zero if it exists.")):(s&&(s.classList.remove("border-[#D62020]"),s.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((d==null?void 0:d.length)||"9")&&i.value?i.value==="orange"?t&&t.value.length>=6?o.disabled=!1:o.disabled=!0:o.disabled=!1:o.disabled=!0}attachListener(){const e=document.querySelector("#mobile-money-form"),i=document.querySelector("#pci-dss"),t=this.container.querySelector("#phone-number-input"),o=this.container.querySelector("#network-search-input"),s=this.container.querySelector("#otp-input"),a=this.container.querySelector(".details-form-button");a&&(a.disabled=!0),t&&o&&(t.addEventListener("input",l=>{const d=l.target;d.value=d.value.replace(/\D/g,""),this.validateForm();const v=this.localCurrency?this.localCurrency:this.currency,p=Pn.find(g=>g.name===(this.countryCode||v));Pn&&p&&Number(p.length)===d.value.length&&P.track("input_phone_number",{payment_method:"Mobile Money",network:o.value})}),o.addEventListener("change",()=>{if(this.validateForm(),o.value==="orange"){const l=this.container.querySelector("#otp-message"),d=this.container.querySelector("#otp-input-container");l&&l.classList.remove("hidden"),d&&d.classList.remove("hidden")}})),i&&i.classList.add("hidden"),!(!o||!t||!a)&&e&&e.addEventListener("submit",l=>{l.preventDefault();const d=this.localCurrency!==this.currency?this.localCurrency:this.currency,v=this.countryCode||d,g=Pn.filter(k=>k.name===v)[0].allowsZeros?`0${t.value}`:t.value,f=o.value,y=s?s.value:"";this.onAction(l)({code:f,phoneNumber:g,...f==="orange"&&{otp:y}}),P.track("start_payment",{payment_method:"Mobile Money"})})}displayButtonText(e){var t,o;const i=this.container.querySelector("#mobile-money-button-text");if(i){const s=this.localCurrency&&this.localCurrency!==this.currency?this.localCurrency:this.currency;i.textContent=`Continue to pay ${s} ${xe(this.totalAmount!==this.amount?this.totalAmount:this.amount*(this.currency==="USD"?(o=(t=this.merchantDetails)==null?void 0:t.rate)==null?void 0:o.rate:1),2)}`}}renderComponent(e){this.container.innerHTML=this.render();const i=this.container.querySelector("#network-search-input");if(i){const a=new Option("Select your network","",!0,!0);a.disabled=!0,i.appendChild(a),i.classList.remove("text-tone-100"),i.classList.add("text-tone-50"),i&&e.forEach(l=>{const d=new Option(l.name,l.code);i.appendChild(d),i.classList.remove("text-tone-50"),i.classList.add("text-tone-100")})}const t=this.container.querySelector("#region-code"),o=this.localCurrency!==this.currency?this.localCurrency:this.currency,s=Pn.find(a=>a.name===(this.countryCode||o));if(t){t.innerHTML=`
|
|
1939
|
-
${s==null?void 0:s.icon}
|
|
1940
|
-
<span class="text-tone-100 text-sm font-semibold">${s==null?void 0:s.dialCode}</span>
|
|
1941
|
-
`;const a=t.querySelector("svg");a&&(a.setAttribute("width","20"),a.setAttribute("height","20"))}this.displayButtonText(),this.attachListener()}renderContent(){this.switchScreen(2),xs(this.merchantKey,this.currency,this.rdtCode,this.url,this.localCurrency).then(e=>{this.renderComponent(e),P.track("providers_loaded",{payment_method:"Mobile Money",provider_count:e.length})}).catch(e=>{this.switchScreen(5),P.track("providers_failed",{payment_method:"Mobile Money",error:e.message||"Unknown error"}),e.message?this.warningError.setPaymentError(e.message):this.warningError.setPaymentError("Unable to fetch network providers at this time.")})}render(){return gl}}const Cl=`<div id="checkoutMobileOtp">
|
|
1942
|
-
<div class="w-full">
|
|
1943
|
-
<div id="otp-content" class=" grid gap-4">
|
|
1944
|
-
<h5 class="text-black" id="otp-message">
|
|
1945
|
-
|
|
1946
|
-
</h5>
|
|
1947
|
-
|
|
1948
|
-
<div class="">
|
|
1949
|
-
<div class="relative w-full">
|
|
1950
|
-
<input class="otp-input text-center" type="tel" id="card-otp" name="otp" required />
|
|
1951
|
-
<div id="otp-error-container" class="mt-2">
|
|
1952
|
-
<p id="otp-error" class="text-sm font-semibold text-error"></p>
|
|
1953
|
-
</div>
|
|
1954
|
-
|
|
1955
|
-
<div class="mt-4 md:mt-6">
|
|
1956
|
-
<button type="button" class="otp-button container-center" disabled="true">
|
|
1957
|
-
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
1958
|
-
<path
|
|
1959
|
-
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">
|
|
1960
|
-
</path>
|
|
1961
|
-
</svg>
|
|
1962
|
-
<span id="mobile-money-button-text">Authorize</span>
|
|
1963
|
-
</button>
|
|
1964
|
-
</div>
|
|
1965
|
-
|
|
1966
|
-
</div>
|
|
1967
|
-
|
|
1968
|
-
<div class="py-5">
|
|
1969
|
-
<div class="container-center">
|
|
1970
|
-
<div id="otp-loader"></div>
|
|
1971
|
-
<button type="button" id="cancel-payment" class="text-sm text-tone-100 font-semibold">
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
Cancel
|
|
1975
|
-
payment</button>
|
|
1976
|
-
</div>
|
|
1977
|
-
</div>
|
|
1978
|
-
</div>
|
|
1979
|
-
</div>
|
|
1980
|
-
</div>`;class wl{constructor(e){h(this,"container");h(this,"momoOtp");h(this,"onAction");h(this,"onClose");h(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"),i=this.container.querySelector(".otp-button"),t=this.container.querySelector("#cancel-payment");e&&e.addEventListener("input",o=>this.handleOtpInput(o,i)),i&&i.addEventListener("click",o=>{this.onAction(o)(this.momoOtp)}),t&&t.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">
|
|
1981
|
-
<path
|
|
1982
|
-
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"
|
|
1983
|
-
stroke="black" stroke-width="4" stroke-linejoin="round" />
|
|
1984
|
-
</svg>`),t&&t.classList.add("hidden"),i&&i.setAttribute("disabled","true"),e&&(e.value="",this.momoOtp="",e.setAttribute("disabled","true")),this.onClose(!1)})}handleOtpInput(e,i){const t=e.target,o=e.data;o&&this.momoOtp.length<6?this.momoOtp+=o:e.inputType==="deleteContentBackward"&&(this.momoOtp=this.momoOtp.slice(0,-1)),t.value="*".repeat(this.momoOtp.length),this.momoOtp.length>=6&&i&&i.removeAttribute("disabled");const s=this.container.querySelector("#otp-error");this.momoOtp.length<6&&(i&&i.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 Cl}}class kl{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");e&&e.addEventListener("click",()=>{var i;P.track("redirect_to_merchant",{payment_method:this.paymentMethod,status:(i=this.paymentResponse)==null?void 0:i.status}),Ze(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 qo}}class Sl{constructor({container:e,merchantKey:i,localCurrency:t,metadata:o,callBackUrl:s,rdtCode:a,reference:l,onSuccess:d,url:v,customer:p,amount:g,totalAmount:f,token:y,currency:k,disablePaymentMethods:C,hidePaymentMethods:S,showPaymentMethods:M,onClose:A,restartTransactionProcess:_,retryingPayment:T,countryCode:I}){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");this.container=e,this.onSuccess=d||(()=>null),this.token=y,this.currency=k,this.amount=g,this.totalAmount=f,this.contents=this.container.querySelector("#payment-content-view"),this._currentStep=1,this.activeRef="",this.token=i,this.customer=p,this.metadata=o,this.localCurrency=t,this.callBackUrl=s,this.localCurrency=t,this.rdtCode=a,this.url=v,this.reference=l,this.merchantDetails={},this.disablePaymentMethods=C,this.hidePaymentMethods=S,this.showPaymentMethods=M,this.onClose=A,this.paymentResponse={},this.paymentResponseHeaders={},this.restartTransactionProcess=_,this.retryingPayment=T,this.isMaxRetriesReached=!1,this.countryCode=I,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,i){e.stopPropagation(),e.preventDefault();const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#mobile-money-button-text");t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),(()=>{var a,l;if(this.retryingPayment){const d={channel:"mobile_money",reference:this.reference,mobileMoney:{code:i.code,phoneNumber:i.phoneNumber,...i.otp&&{otp:i.otp}}};return ci(this.token,d,this.rdtCode,this.url)}else{const d={amount:this.amount,channel:"mobile_money",currency:this.currency||"USD",customer:this.customer,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,mobileMoney:{code:i.code,phoneNumber:i.phoneNumber,...i.otp&&{otp:i.otp}},...this.localCurrency&&{localCurrency:this.localCurrency},isCheckout:!0,...((a=this.merchantDetails)==null?void 0:a.taxQuoteId)&&{taxQuoteId:(l=this.merchantDetails)==null?void 0:l.taxQuoteId},...this.countryCode&&{countryCode:this.countryCode}};return As(this.token,d,this.rdtCode,this.url)}})().then(({data:a,headers:l})=>{var d;if(this.paymentResponse=a,this.paymentResponseHeaders=l,a.status==="failed"){this.currentStep=5,a.providerMessage?this.warningScreen.setPaymentError(a.providerMessage):this.warningScreen.setPaymentError("Payment failed"),this.warningScreen.hideReportIssue(),P.track("start_payment_failed",{payment_method:"Mobile Money",verification_status:"Failed",payment_error:a.providerMessage||"Payment failed"});return}else if(a.status==="success"||a.status==="successful"){this.currentStep=4,P.track("start_payment_success",{payment_method:"Mobile Money",verification_status:"Success"}),Ze(a,l,a==null?void 0:a.callBackUrl);return}else if(((d=a==null?void 0:a.authorization)==null?void 0:d.mode)==="otp"){this.activeRef=a.reference,this.currentStep=6;return}else this.currentStep=3}).catch(a=>{P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Null"}),a.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=5,this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(this.currentStep=5,a.message?this.warningScreen.setPaymentError(a.message):this.warningScreen.setPaymentError("Payment failed")),this.warningScreen.hideReportIssue()}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}showLoader(){this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader()}submitOtp(e,i){e.preventDefault();const t=this.container.querySelector(".spinner"),o=this.container.querySelector("#mobile-money-button-text"),s={authorization:{otp:i},reference:this.activeRef};P.track("input_MobileMoneyOTP",{payment_method:"Mobile Money",authentication_type:"0TP"}),t&&o&&(t.classList.remove("hidden"),o.classList.add("hidden")),di(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(l=>{P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"});const d=this.container.querySelector("#otp-error");l.code==="invalid_otp"?(d&&(d.innerHTML=l.message),P.track("verify_payment",{payment_method:"Mobile Money",verification_status:"Failed",authentication_type:"OTP"})):this.currentStep=3}).finally(()=>{t&&o&&(t.classList.add("hidden"),o.classList.remove("hidden"))})}async verifyPaymentProcess(){try{const e=await an(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){var i;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 yl({container:this.contents,merchantKey:this.token,url:this.url,onAction:t=>o=>this.createMobileMoney.bind(this)(t,o),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 Ne(this.contents),this.mainLoader.mountLoader("25dvh"),this.mainLoader.updateMessage("Please wait");break;case 3:this.mobileMoneyConfirmation=new fl({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,o)=>{this.paymentResponse=t,this.paymentResponseHeaders=o}}),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 gn({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 wl({container:this.contents,onClose:this.onClose,onAction:t=>o=>this.submitOtp.bind(this)(t,o),otpMessage:((i=this.paymentResponse)==null?void 0:i.providerMessage)||"Please enter your OTP sent to your phone"}),this.mobileMoneyValidationForm.renderComponent();break;case 7:this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 8:this.mobileMoneyConfirmationEnd=new kl({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 mi({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 _l=`<div id="eft-authenticate-container">
|
|
1985
|
-
<div class="pt-3">
|
|
1986
|
-
<div class="container-center">
|
|
1987
|
-
<svg width="98" height="32" viewBox="0 0 98 32" fill="none" xmlns="http://www.w3.org/2000/svg"
|
|
1988
|
-
xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
1989
|
-
<rect width="98" height="32" fill="url(#pattern0_13486_80257)" />
|
|
1990
|
-
<defs>
|
|
1991
|
-
<pattern id="pattern0_13486_80257" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
1992
|
-
<use xlink:href="#image0_13486_80257" transform="scale(0.00666667 0.0204167)" />
|
|
1993
|
-
</pattern>
|
|
1994
|
-
<image id="image0_13486_80257" width="150" height="49" preserveAspectRatio="none"
|
|
1995
|
-
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAxCAYAAAA4GFC0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAwIDc5LjE3MWMyN2ZhYiwgMjAyMi8wOC8xNi0yMjozNTo0MSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkwOTc5QTUwRjM0MTFFRUE5ODhCMTQxOUUyMjMyQTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkwOTc5QTQwRjM0MTFFRUE5ODhCMTQxOUUyMjMyQTIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI0LjAgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0ZCODQ4MjcwRjMyMTFFRTk3MjBBOTZDQkQyQzdEQzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0ZCODQ4MjgwRjMyMTFFRTk3MjBBOTZDQkQyQzdEQzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7SP/CfAAARUklEQVR42uxdCZgUxRV+NQO7y7ILLDdKomAAEUQFAx54gbcC4okGFaMoBolG8YwmaDwTEENUjCCIJx5EQEVBUCLILWcExOUUlJuFhWVld6bzXtXr7pqa6pnZhe8Lcft939vqrq4+purv9/73qmZWOI4DoYRyqCUSdkEoIbBCCYEVSgisUEI55FLNrBBrnw1uLZjoOyKxXlYL91hd/Hsu1p2M203kAWrviE24vRjLKag7vOtI1bdR49p2KhF4PDcLGt/5OtSYtwZi9fLCEf0fyfrCRamBdRDSDrUL6qmov8ZRb8ajn3B/1MtRZ6F+ifp1OCRVxGJVwpX2RvD0k2ByRDXPerllPGH/KCxJr5R2zoG5WLyC9W/hfkk4HCHHIunFrm2MtFJxBpXu2silgevSdPcmS/wjTsFyBOoSrLw+HI6qbbHqoA6XwHKEwbmIhIk5uEEOdzXqj6jFqDWxvjEC7hjcPgnLTlhW9wAI8CssX8PyMtQ7UTeGQ1O1gNUKAfA+AqJtgrtziDuh5XLgddwpTCDejkbwhQsk0Rz3r8btmxlULkAvx/qOuHUJ6tJweKqGK2yPAz/LB5XUUtz/E+63weN/xv1CiOMlA9UD3BrUp1Hb4P5A1N2am2yKOpsDgVCqgMX6O4KormepHFiAf29DXejzKWl1oioqROsG0Bw1G7VMuTcxF9stVoEieU04gMUQ3PlYcS3ozNYtFw+Ox60zmH8F5RvSpyRCOcyB5Yhl+Lcz86IJ+Lcnlo7m9tDSALm236C28N2g8N1hHMrxL7pA+AActmJ0LOKslCCi6NCBa/l6+Vh+iNoa6/bZnwk1ilQtWk3zuaEcnsAKtgAD8NhqHD9KIAxVVsrzpA+j3ot1tZJTDKAnOzFyFD2R43/gRY8ScBEFDMe5DgEntMDgF6iUiuhhf/ooiOL9ECn5CQGW1qvnoB6LSgFEQ9TdqOtQl6MWVaCvnIPo658yaFeAehzq0ajYn7CFA6GVac7P5rK8Avdyz6NzyNMcqACFioIa6Wq8XVJZVxhDHaKAQKCQA0mZ9TckH9KBoog68a+1uFGCZQ2saYn6A+oweS61F0BknQKC4VhXBEIisjfukwvtyNfsjiUBa0LSE9WvBTXHfgW581dDWZM6Qc9NidpbGJxtLMc3SlcMQGmT2QHX6ID6T8/uVk4I2FNR7w44TjTgBg5cjrAcJ49B9GAk6gbL8cdRL0At5XtR8PMI6toUz0TPciMDKov7gnKM+1Oc80fU7jKqV5ioKccU4KXUwBIpXkg6FI8qYAk4EvemSWAkRIjic9wYi/uTcX+benNEFtZTZ+2SqvgYgWqcskxOD+kK45EyvD897FVYvwaPR1UoKZ7C7URg0Tqy6tUhnp0F4kAZR5xJTzyQO7dWio5qylyR9DnubMeSYulwCDzEFksdDRDNo92R5tzjWQegDpKcN/kFOd5oT1y3XQrrNZCNgyvU9hzUSQHt72cA60LWdGL6qLAMsVZu06hScltCWoF5OPittAhxPWo3rO+KSknPDaj7UeMIJLJeazxQqfbttfnBTqiTNLdJ5w7S5hJb432uTZhPJEBt2AH5UxZDrKCmDVQvo/4tDahMuQt1Jrsj01ofCjFnFxqhzskAVCbI6QV40ainPOAeo64lWyCbnGGAypWg9uR1HrTU/4M9URpgxRA8sYhFo8oiCYce5lO2QO7AL2Ckf+RxLwWAbNVO5Er3R9chi+cP/AqNtZyLbfsp4Mm65+Qb7gcAv00AVhT5VdF+yF65CZzsrOQIFqBvJQf/NHa7et98wymSg5V9hqX6WKZxKie3o/5V2ydvMMXSrlvA+RcE1J/PrtSU01FrG3XEzT7MjLzL5LmTilhOxoFtqQ04TSSfKf2yn6eizurPYKutOtSZhu1HYTlDtos4ZJXOQyVSmscAfVK6USLTjtiL5WgsH2AAn4VKZP57ZVkxiqidB7E6NSGyeZf+Uagjf2959jjzwcl8jbr8fDdYLBS9zU+x6SfZxp/xZm5bGkAU1rH1Od5ynID5gLY/OMC97mDr8wUHFUcxCHpb2t7LvM0F1LsWi9OVeZAZWfcIGGOiOGdxP+lysaXtl0EvnDDXvIuVzwcBqxF23Qw82EID1TwenBLPSgE8hPpEYvY9oRyEwHpU2++D5WjtmthZYjBv09Kb+Vp0SQM7yiXu+W9Nh3ovTQInFw2jigopwvmOo0kwLM7VHAGacgRbOJsLoFzcqgpYkbNR36OnM+oJyKdoLqMtk3FTKAK+B3Wz5Vg7Bk4rC2BbsrvOZ7Jez2jTk4m/K7QCZVaKzzFGjosvUe6H5ka7/q5LNpfNZJp5byqJOoHK41SwGLcxOnB0UPXH8gl/IlpXb3J6kLRCPthexb//0QKAHto5S7Bcp7nckz3AZmVD9qpNEN2zD5xqnnvtbgHVejbvywM+2w8yWLC7kX4VANXFbGVMUJE5vdDgIb+znD+Rc4CbA66/lD/HJqO+uWZNaF52uuXcK4z9y9J8lvOZU+kW3ATVAYtVqxCwGspOd2jaxs1RSSCgpXK2eIlOMqGOeDYxbyVewRJDfTEsAVzKzbTW2r6mHe+AZWN5HwfKcHuVf54k+erdjESRtNfC20dUhBhs3vvbyKVFbrFET+fz25pO2lvTIaq3LjVAnW3hN/s4Kk0nGzjASMWjPrIcv5CtWTre5UoTdoeuXGppM5sjwkoBqykO5DyV/fYSn8ipxKl4ZpGsK4+6lucamQvxQdCPB+sVoBULjhbVSYCKPoqTUWJUzNaIOb4peD/hWcYvtGM/6InRaNFecKpHdXPd1nj+VUyQMxFyV+MsrvCYNOe1VNbcmhPsZnE5rSxv/7spLJUp4yx5rBPAX1E50RId1mfKAuySWxvHKW9VloKDXRrgtqEywGrGHXaUBpYFbHb3+pGi9uF84MzXEoqulRoro0k/M8/JSnnt7agHOGdF+008d0ihtQNDsX6E55oK8iC6aiPk/XsJxOp52YRcS9SysIKR1lxLcHNEmiz5R5wCMKVXQD7Idr05FXhG6pUFlhSEGxrvDLjvJWms+rwAK9jKwuv2p8h1pcy8H8kJzhbaWiuaPO6C9cVQHvEtjw+cGlrmfYfHmXz+pSUI5X6WZonKZejqcOfQSlS3mYMRmIC7JRjdy8TikLNiPYgyPK1Gtv6SmC9K6UGkA1zJStH+X+DOiyYKBRnvBJyTlUF+K52YmXFtMKR8yMDWxV0tco6lj17laaTTjeiwNc8ImDID0qyZi9ijP/GeByrFfebgY5+uQBV1p2N8UCkt1IByJu4fa4CqmSTX/jW/9/tD1JYu0E+IbtMslsFaKONeDfKnLQJRWmZ2ttnhx1VwwGxpgq0Bbd/lKNA2TTIqxT1s12t7kM9ZariyTy3ukJKx91lc+1TuaRtluJMjSlugARUF1jWSQ/kZ8jnSjDr4VpHrU/OA3Tkn09AHmBjvA40SojKT3osjSloJQfmvAo2kj1UWTW63lUuV1TG0TWJN8kvIUisXshYVQvVN2yGWn2tGKd9ZSHWmg1bdEi1tDCCowziSNIWmj4amuc8qzovpcrn9w1qlQwCX1GcHdloiNiLvz1ii1gkaGf/eOHYr6kUWEFcCWGqOzkX/fE6w7VTuT378u+TDOOIpmXD0XCKR/MjbWhqBLNTbMl/jsMvwvyZGb8dnmjW7QnORhXLyWk9TeM+GFXXzIQv5VTaqk5eUIP7C4uqfzXDAHuJkpBn5FBt19EINsJxP93k8g/vshOTJbnKnAzN8zsGWcZseYFEzcalu5vwnS8rFBvbpFgBmAiz4BAfzddSpuH2G9P+u+1OdOlRzZ5Q576IN/o1ycPWEqEPEUv8SBUVJ4ip5a+UqT5JzjP41J4G5fMNd1pyTBWL9Vsj7ahmUN6wjuZYlUjF51XnsmlJZhP6gJnZNGWHsX8+pEl1oQB7lxGamMsJSR9MzfdOM1ZsW97uXAyNTpjCIU8lUSJwYH5fBs7+fyQe0kfcYk0/ei7rYvV92atz8AgW8iHUnYgMcUKdM5UxouTFGcGoKxgXYZpXRlQnSUu86tNzCDxCo3WiZagALx6pWDSK7dkLOsrUQz7FyarrH0xaQ3MR860W2ajvkNJKa/e8bEClNk1Y1EaCjLe2+5QjpQnanNkCQfq2lCSiS/MogyyQvc45rJLffx66rC4P/ZMv1/4K63VK/h93htSnG/x2Lxd/I9MUmpQGJ5AymdJa/4AOHUgrqRb9P+mdHQNL3Bh2PX/VUKx+8b0sXIHgov1JXrmmXUxhiq/9NZ3k6TeX0kf2uXN8oD9SxiLaQkNfEZFcHUR6HRo+NhNxF30J5gzqKzCebb+KFHQM+cxErzZ81SNGBx4G/lokI72IGo61tTgZ9vYVnBtywnhYdLkkRdW7haLEgIJ0BDM7OKe7Zi+mITYrZ9e8y6unluz3gnCkQMHmdfkpHAiqqVFmSRyygug3LGSo7Lt3cZWxWG0gwSFCIXdIfK341Ddts5Xo370J8rI9a9Ads0cQAeX1574jh5rHcXwZO/QIourIrRHfvRRt5ADzrlug4L4Lgb/nQvY9OAao453zWGjm9oO/vZwIqNyrTl52sZKClat8sBagWWoi1KR+ncIefWUBFMv5g3aAdWLGo/8UIARfj4D+mJT4pkdlXmmxaxgL8GwxyOCJdsY4+7L2csU/8ho4CaRNQS5yxnfC/lyjXa0lwlhgpCuNpsX7LDijt2Aa23H8jRHcV8yI/YSPIXQOmN1IJPT9N0H5u4VGHQkwQTmZ3WNGvuo1n11ycpl1xikTmhIB6WrHwo6WeeO8nlQeWk5CfapBYRysNxEgGWqF84+KRbRpHQkARCRVL+Y0YwpHSYM6tLMXjw+Sb6F+zmHMlcyWgZSLUuY5D4xb2NOZ+2HNTN9h+a0+I7C2xkXhg3tGN+dWCNP1QyJa5kyUD7faTw9YsVkkNStjOYq5HvDDdmq95HED0zICY60lcU3ZD8FRXaYDVmgoV+CJxMsda8nJilph+X8GR5Bw4DfEggmmIclHUz5FGWIzBNhckkHo9Mx/Xybj2CzMgpkuSTwTYX8t1i5y+Ucc3cTIw0WTTM+fmyDnDJncPhZxv10OsTr4+GW2T09gaHcuWg7L96zil8nmaLH0OuyUXXJW1VtsCrIEruUzUCWi/5OCKnms5pyjmVOK+gq8HnEStAf4XNIKE3P6J2oxAHj/D9qATTI6VDKzFI0wLRsuCF2KZo4HmDtQXeL26W0c/DnIHAqRTMsAADI62QEVACKB4AtDobXzNm0+klCmtdLBmq/GEhvWg5sTp0PiZMVDWsG7mKcZQDrmk/xmjZH6zAsfwJqx/Wzv+vIqUnIFoveL8XrzBeaTTsP25CvGiIW6jKRH75DQNyPVVZFJpwWAs4fexVNj8cKIrJjIfNKWC5+3YDSWd20PJlLmQs2I1xGrnhyN8mEimX/8ay5ZjqG99xB8k8RRwD1qdmQw4BJkzE+tmanN9kST3kUjQyeQ+iUC5yLBylHR8IeVTlSE26+RBnCaiY/FwNA8jqchvNzyHA95f40JUdpTWRzj0YyBne6sZYhH9V/ni3nZihEjJvuG4vSABVCrH9WBAJjw5SiwrB1Ees0WGofwfWCwteSZoHm+4/BE1yYMkEHorjiWjlkmgfs+BJpJ3sktztPzRCZx/6cy/86BHnUQOadnue+HQVC1gAecy2iEYnkbg3J4wUUwWTFkxQhytryrSuFstcNdgJZN5Kt/EkiZiN4fDUrVcoS572LIQkEbJL6bGjR+qVb/TUN9TfdmyDyoCH83C0+Kz3iGoqrbF0mW+UgfJd6S7ysFQzguaapPMfhSnwLQZy2VySkhN93wTDkMIrCBZjaih5TQUNRbIpTC0rFVZKloZ+hOCaKtawEdAFNvDrv95iwj/SVMohxPHCiWUEFihhMAK5Wci/xVgAK25UHDJFPJYAAAAAElFTkSuQmCC" />
|
|
1996
|
-
</defs>
|
|
1997
|
-
</svg>
|
|
1998
|
-
</div>
|
|
1999
|
-
<div class="md:w-4/6 mx-auto mt-4">
|
|
2000
|
-
|
|
2001
|
-
<p class="text-lg font-medium text-center">
|
|
2002
|
-
Please click the button below to
|
|
2003
|
-
authenticate your payment
|
|
2004
|
-
</p>
|
|
2005
|
-
</div>
|
|
2006
|
-
<div class="mt-8">
|
|
2007
|
-
<button class="details-form-button" id="authenticate-btn">
|
|
2008
|
-
<svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
|
|
2009
|
-
<path
|
|
2010
|
-
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">
|
|
2011
|
-
</path>
|
|
2012
|
-
</svg>
|
|
2013
|
-
<span id="authenticate-button-text">
|
|
2014
|
-
Authenticate
|
|
2015
|
-
|
|
2016
|
-
</span>
|
|
2017
|
-
</button>
|
|
2018
|
-
</div>
|
|
2019
|
-
</div>
|
|
2020
|
-
|
|
2021
|
-
</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 gn({container:this.container,onAction:this.restartTransactionProcess.bind(this)})}attachListener(){const e=this.container.querySelector("#authenticate-btn");e&&e.addEventListener("click",()=>{this.onAction(),P.track("start_payment",{payment_method:"EFT"})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}render(){return _l}}class Ml{constructor({amount:e,totalAmount:i,container:t,customer:o,token:s,currency:a,rdtCode:l,url:d,reference:v,callBackUrl:p,metadata:g,localCurrency:f,hidePaymentMethods:y,showPaymentMethods:k,restartTransactionProcess:C,retryingPayment:S}){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");this.currency=a,this.container=t,this.token=s,this.customer=o,this.amount=e,this.totalAmount=i,this.rdtCode=l,this.url=d,this.reference=v,this.callBackUrl=p,this.metadata=g,this.localCurrency=f,this._currentStep=1,this.contents=this.container.querySelector("#payment-content-view"),this.hidePaymentMethods=y,this.showPaymentMethods=k,this.restartTransactionProcess=C,this.retryingPayment=S,this.isMaxRetriesReached=!1,this.paymentResponse={},this.paymentResponseHeaders={},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 Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment")}setPaymentError(e){const i=this.container.querySelector("#payment-warning-text");i&&(i.textContent=e)}goBackToMerchant(){Ze(this.paymentResponse,this.paymentResponseHeaders,this.callBackUrl)}async createEftPayment(){const e=this.container.querySelector(".spinner"),i=this.container.querySelector("#authenticate-button-text");e&&i&&(e.classList.remove("hidden"),i.classList.add("hidden")),(()=>{var o,s;if(this.retryingPayment){const a={channel:"eft",reference:this.reference};return ci(this.token,a,this.rdtCode,this.url)}else{const a={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:(s=this.merchantPlanDetail)==null?void 0:s.taxQuoteId}};return Bt(this.token,a,this.rdtCode,this.url)}})().then(({data:o,headers:s})=>{var a,l,d;if(this.paymentResponse=o,this.paymentResponseHeaders=s,o.status==="failed"){this.currentStep=4,o.providerMessage?this.warningScreen.setPaymentError(o.providerMessage):this.warningScreen.setPaymentError("Payment failed"),P.track("start_payment",{payment_method:"EFT",verification_status:"Failed"});return}else if(((a=o==null?void 0:o.authorization)==null?void 0:a.mode)==="redirect"){(l=o==null?void 0:o.authorization)!=null&&l.redirectUrl&&this.redirectToOzow((d=o==null?void 0:o.authorization)==null?void 0:d.redirectUrl);return}else this.currentStep=4,o!=null&&o.providerMessage?this.warningScreen.setPaymentError(o==null?void 0:o.providerMessage):this.warningScreen.setPaymentError("Unable to get redirect URL")}).catch(o=>{o.code==="payment_max_retry_attempts"?(this.isMaxRetriesReached=!0,this.verifyPaymentProcess(),this.currentStep=4,this.warningScreen.setPaymentError("Maximum retries","You have reached the maximum number of retries allowed. Go back to merchant website to start the payment process again.","Go back to Merchant")):(this.currentStep=4,o.message?this.warningScreen.setPaymentError(o.message):this.warningScreen.setPaymentError("Payment failed"))}).finally(()=>{e&&i&&(e.classList.add("hidden"),i.classList.remove("hidden"))})}redirectToOzow(e){const i=window.open(e,"_blank");if(i){P.track("auth_redirect",{payment_method:"EFT",authentication_type:"Redirect",verification_status:"In Progress"}),this.currentStep=3,this.showLoader();const t=setInterval(()=>{i.closed&&(clearInterval(t),this.verifyPaymentProcess())},2e3)}}async verifyPaymentProcess(){try{const e=await an(this.token,this.reference,void 0,this.rdtCode,this.url);this.paymentResponse=e.data,this.paymentResponseHeaders=e.headers;const i=this.paymentResponse.status;i==="successful"?(this.currentStep=2,P.track("verify_payment",{payment_method:"EFT",verification_status:"Success"}),Ze(this.paymentResponse,this.paymentResponseHeaders,"success")):i==="failed"?(this.currentStep=4,P.track("verify_payment",{payment_method:"EFT",verification_status:"Failed"}),this.paymentResponse.providerMessage?this.warningScreen.setPaymentError(this.paymentResponse.providerMessage):this.warningScreen.setPaymentError("Payment failed")):i==="cancelled"&&(this.isMaxRetriesReached=!0,this.currentStep=4,this.warningScreen.setPaymentError("Payment Cancelled","You have cancelled the payment. Go back to merchant website to start the payment process again.","Go back to Merchant"))}catch{this.currentStep=4,this.warningScreen.setPaymentError("Payment failed")}}renderEftContent(e){var t;e&&(this.merchantPlanDetail=e);const i=document.getElementById("go-back");if(this.currentStep!==1?(this.hidePaymentMethods(),i==null||i.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 qn({container:this.contents,amount:this.totalAmount,currency:this.currency,localCurrency:this.localCurrency,rate:(t=this.merchantPlanDetail)==null?void 0:t.rate.rate}),this.successScreen.renderComponent();break;case 3:this.pageLoader=new Ne(this.contents),this.pageLoader.mountLoader(),this.pageLoader.updateMessage("Verifying Payment");break;case 4:this.warningScreen=new gn({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 mi({container:this.contents,onAction:()=>{var s;this.currentStep=4,this.warningScreen.setPaymentError(((s=this.paymentResponse)==null?void 0:s.providerMessage)||"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}const o=this.container.querySelector("#card-currency");o&&(o.textContent=`${this.localCurrency?this.localCurrency:this.currency} Card`)}}}class Al{constructor({container:e,customerDetails:i,code:t,encryption:o,merchantKey:s,modalContainer:a,amount:l,planId:d,rdtCode:v,url:p,reference:g,callBackUrl:f,metadata:y,localCurrency:k,closePayment:C,countryCode:S}){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,"code");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");this.validChannels=[],this.disabledChannels=[],this.selectedChannel="",this.modalContainer=a,this.encryption=o,this.planId=d||"",this.merchantKey=s,this.code=t,this.amount=l||0,this.rdtCode=v||"",this.url=p||"",this.reference=g,this.mainLayout=e,this.callBackUrl=f,this.metadata=y||{},this.localCurrency=k||"",this.isMobile=window.matchMedia("(max-width: 767px)").matches,this.currentPaymentMethod="",this.currency="",this.closePayment=C,this.retryingPayment=!1,this.totalAmount=0,this.countryCode=S||"",this.customerDetails=i}mountScreen(e,i,t,o){var a,l;t&&(this.validChannels=t),o&&(this.disabledChannels=o),this.mainLayout.innerHTML=this.render(),this.merchantPlanDetail=e,this.currency=i;const s=(l=(a=this.merchantPlanDetail.plan)==null?void 0:a.pricingOptions)==null?void 0:l.find(d=>d.currency===this.currency);this.amount=(s==null?void 0:s.amount)||this.amount,this.totalAmount=this.merchantPlanDetail.totalAmount||this.amount,this.mainHeader=new ul({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:d=>{this.closeBTN.bind(this)(d)},currentPaymentMethod:this.currentPaymentMethod}),this.mainHeader.renderComponent(),this.testCard=new es({container:document.getElementById("test-container"),closeCallback:()=>{const d=document.getElementById("test-container");d&&(d.innerHTML="",d.classList.add("hidden"))}}),this.mainFooter=new ns({container:document.getElementById("main-footer"),testCardContainer:document.getElementById("test-container")}),document.addEventListener("DOMContentLoaded",()=>{const d=document.getElementById("main-footer"),v=document.getElementById("test-container");new ns({container:d,testCardContainer:v}).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(t=>{t.removeAttribute("disabled"),t.classList.remove("hidden","disabled","limit-exceeded");const o=t.querySelector(".disabled-indicator");o&&t.removeChild(o)});const i=[...this.validChannels,...this.disabledChannels];e.forEach(t=>{const o=t.getAttribute("data-name");o&&!i.includes(o)&&t.classList.add("hidden")}),this.disabledChannels.forEach(t=>{const o=Array.from(e).find(s=>s.getAttribute("data-name")===t);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"),i=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">
|
|
2021
|
+
</svg>`},1e3))})})}renderComponent(){this.container.innerHTML=this.render(),this.attachListener()}}class _l{constructor({container:e,customerDetails:i,code:t,encryption:o,merchantKey:s,modalContainer:a,amount:l,planId:d,rdtCode:v,url:p,reference:g,callBackUrl:f,metadata:y,localCurrency:k,closePayment:C,countryCode:S}){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,"code");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");this.validChannels=[],this.disabledChannels=[],this.selectedChannel="",this.modalContainer=a,this.encryption=o,this.planId=d||"",this.merchantKey=s,this.code=t,this.amount=l||0,this.rdtCode=v||"",this.url=p||"",this.reference=g,this.mainLayout=e,this.callBackUrl=f,this.metadata=y||{},this.localCurrency=k||"",this.isMobile=window.matchMedia("(max-width: 767px)").matches,this.currentPaymentMethod="",this.currency="",this.closePayment=C,this.retryingPayment=!1,this.totalAmount=0,this.countryCode=S||"",this.customerDetails=i}mountScreen(e,i,t,o){var a,l;t&&(this.validChannels=t),o&&(this.disabledChannels=o),this.mainLayout.innerHTML=this.render(),this.merchantPlanDetail=e,this.currency=i;const s=(l=(a=this.merchantPlanDetail.plan)==null?void 0:a.pricingOptions)==null?void 0:l.find(d=>d.currency===this.currency);this.amount=(s==null?void 0:s.amount)||this.amount,this.totalAmount=this.merchantPlanDetail.totalAmount||this.amount,this.mainHeader=new cl({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:d=>{this.closeBTN.bind(this)(d)},currentPaymentMethod:this.currentPaymentMethod}),this.mainHeader.renderComponent(),this.testCard=new Sl({container:document.getElementById("test-container"),closeCallback:()=>{const d=document.getElementById("test-container");d&&(d.innerHTML="",d.classList.add("hidden"))}}),this.mainFooter=new es({container:document.getElementById("main-footer"),testCardContainer:document.getElementById("test-container")}),document.addEventListener("DOMContentLoaded",()=>{const d=document.getElementById("main-footer"),v=document.getElementById("test-container");new es({container:d,testCardContainer:v}).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(t=>{t.removeAttribute("disabled"),t.classList.remove("hidden","disabled","limit-exceeded");const o=t.querySelector(".disabled-indicator");o&&t.removeChild(o)});const i=[...this.validChannels,...this.disabledChannels];e.forEach(t=>{const o=t.getAttribute("data-name");o&&!i.includes(o)&&t.classList.add("hidden")}),this.disabledChannels.forEach(t=>{const o=Array.from(e).find(s=>s.getAttribute("data-name")===t);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"),i=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">
|
|
2022
2022
|
<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"/>
|
|
2023
2023
|
</svg>
|
|
2024
2024
|
<span class="text-tone-100 font-semibold">
|
|
2025
2025
|
Go back
|
|
2026
|
-
</span>`),i&&(i.innerHTML="Selected")):(e&&(e.classList.remove("flex","items-center","gap-2","mb-2"),e.innerHTML=""),i&&(i.innerHTML="Select your preferred")))}closeBTN(e){(()=>{this.cleanup(),e?(P.track("checkout_closes"),this.closeModal()):this.closePayment()})()}updatePaymentMethodView(e,i,t,o,s){switch(this.currentPaymentMethod){case"card":return this.card=new
|
|
2026
|
+
</span>`),i&&(i.innerHTML="Selected")):(e&&(e.classList.remove("flex","items-center","gap-2","mb-2"),e.innerHTML=""),i&&(i.innerHTML="Select your preferred")))}closeBTN(e){(()=>{this.cleanup(),e?(P.track("checkout_closes"),this.closeModal()):this.closePayment()})()}updatePaymentMethodView(e,i,t,o,s){switch(this.currentPaymentMethod){case"card":return this.card=new Fr({container:this.modalContainer,amount:t,totalAmount:o,currency:s,token:e,customer:i||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});case"bank_transfer":return this.transfer=new Qr({amount:t,totalAmount:o,currency:s,closeModal:this.closeModal.bind(this),token:e,container:this.modalContainer,customer:i||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 Xo({container:this.modalContainer,amount:t,totalAmount:o,currency:s,secret:this.merchantKey,rdtCode:this.rdtCode,url:this.url,customer:i||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 yl({container:this.modalContainer,customer:i||this.customerDetails,currency:s,rdtCode:this.rdtCode,url:this.url,token:e,amount:this.amount,totalAmount:this.totalAmount,metadata:this.metadata,localCurrency:this.localCurrency,code:this.code,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 wl({container:this.modalContainer,amount:t,totalAmount:o,currency:s,customer:i||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});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);default:return this.defaultToEmptyContainer()}})()}setCurrentPaymentMethod(e){this.currentPaymentMethod=e;const i=document.querySelectorAll(".tab-button");i.forEach(o=>o.classList.remove("active"));const t=Array.from(i).find(o=>o.getAttribute("data-name")===e);t&&t.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(),P.track("retry_payment")}defaultToEmptyContainer(){const e=document.querySelector("#payment-content-view");e.innerHTML=""}switchTab(e){this.currentPaymentMethod===e&&e!==""||(this.currentPaymentMethod==="bank_transfer"&&this.currentPaymentMethod!==e&&this.setToDefaultEmptyContainer(),this.setCurrentPaymentMethod(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(t=>{const o=t.getAttribute("data-name");this.disabledChannels.includes(o)||t.removeAttribute("disabled")}),e?document.querySelectorAll(".tab-button").forEach(o=>{o.getAttribute("data-name")!==e&&o.classList.add("hidden")}):document.querySelectorAll(".tab-button").forEach(o=>{const s=o.getAttribute("data-name");[...this.validChannels,...this.disabledChannels].includes(s)&&o.classList.remove("hidden")})))}disablePaymentMethods(e){this.currentPaymentMethod=e;const i=document.querySelectorAll(".tab-button");i.forEach(o=>o.setAttribute("disabled","true"));const t=Array.from(i).find(o=>o.getAttribute("data-name")===e);t&&t.removeAttribute("disabled")}enablePaymentMethods(){const e=document.querySelectorAll(".tab-button");e.forEach(t=>{const o=t.getAttribute("data-name");o&&!this.disabledChannels.includes(o)&&t.removeAttribute("disabled")});const i=Array.from(e).find(t=>t.getAttribute("data-name")===this.currentPaymentMethod);i&&!this.disabledChannels.includes(this.currentPaymentMethod)&&i.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 Ss}}class is{constructor(e){h(this,"container");this.container=e}renderContent(e){var t;this.container.innerHTML=this.render();const i=document.getElementById("error-action-container");e&&i&&(i.classList.remove("hidden"),(t=i.querySelector("#go-back"))==null||t.addEventListener("click",()=>{window.location.href=e}))}render(){return`
|
|
2027
2027
|
<div class="box-container">
|
|
2028
2028
|
|
|
2029
2029
|
<div class="container-center h-[40vh] hidden mx-auto" id="shared-error-container">
|
|
@@ -2040,7 +2040,7 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
2040
2040
|
|
|
2041
2041
|
</div>
|
|
2042
2042
|
</div>
|
|
2043
|
-
`}}const
|
|
2043
|
+
`}}const Ml="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 Al{constructor(e){h(this,"container");h(this,"currency","");h(this,"maxAmount","");this.container=e}setLimitInfo(e,i){this.currency=e,this.maxAmount=typeof i=="number"?i.toLocaleString():i}renderContent(e){var t;this.container.innerHTML=this.render();const i=document.getElementById("error-action-container");e&&i&&(i.classList.remove("hidden"),(t=i.querySelector("#go-back"))==null||t.addEventListener("click",()=>{window.location.href=e}))}render(){return`
|
|
2044
2044
|
<div class="box-container">
|
|
2045
2045
|
|
|
2046
2046
|
<div class="container-center h-[40vh] hidden mx-auto" id="shared-error-container">
|
|
@@ -2057,4 +2057,4 @@ or you can use record.mirror to access the mirror instance during recording.`;le
|
|
|
2057
2057
|
|
|
2058
2058
|
</div>
|
|
2059
2059
|
</div>
|
|
2060
|
-
`}}class
|
|
2060
|
+
`}}class xl{constructor(){h(this,"modalContainer");h(this,"mainLayout");h(this,"encryption");h(this,"mainScreen");h(this,"merchantConfigService");h(this,"mainError");h(this,"mainLoader");h(this,"merchantPlanDetail",{});h(this,"merchantKey");h(this,"planId");h(this,"email");h(this,"amount");h(this,"name");h(this,"rdtCode");h(this,"url");h(this,"phoneNumber");h(this,"code");h(this,"reference");h(this,"currency");h(this,"callBackUrl");h(this,"metadata");h(this,"localCurrency");h(this,"countryCode");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.modalContainer.innerHTML=En,P.init("11162d9a0801daeaf786f1200cd3112b",{debug:!1}),document.body.appendChild(this.modalContainer);const i=document.getElementById("main-layout-container-screen");if(!i)throw new Error("SDK Layout not available");this.mainLayout=i}closePayment(){const e={reference:this.reference};xs(this.merchantKey,e,this.rdtCode,this.url).then(({headers:t})=>{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","cancelled"),s.searchParams.append("reference",this.reference),window.location.href=s.toString()},1800):this.closeModal(),P.track("canel_payment",{verification_status:"Cancelled"}),P.track("checkout_closes")}).catch(t=>{hi.showToast(t.message,"error")})}getDeviceType(){const e=navigator.userAgent;return/mobile/i.test(e)?"Mobile":/tablet/i.test(e)?"Tablet":"Desktop"}setup(e){const{email:i,encryptionKey:t,merchantKey:o,planId:s,amount:a,rdtCode:l,reference:d,currency:v,url:p,callBackUrl:g,metadata:f,localCurrency:y,countryCode:k,phoneNumber:C,name:S}=e;if(this.merchantKey=o||"",this.email=i||"",this.amount=a||0,this.encryption=t||"",this.planId=s||"",this.rdtCode=l||"",this.reference=d||Is(),this.url=p||"",this.callBackUrl=g||"",this.metadata=f||{},this.countryCode=k||"",this.phoneNumber=C||"",this.name=S||"",!o||!i)throw this.mainError=new is(this.mainLayout),this.mainError.renderContent(this.callBackUrl),this.showErrorIcon(),new Error("Merchant key or email is required");this.currency=v||"",this.merchantConfigService=new Xr({token:this.merchantKey,rdtCode:this.rdtCode,url:this.url}),this.localCurrency=y||"",this.mainScreen=new _l({container:this.mainLayout,modalContainer:this.modalContainer,merchantKey:o,encryption:this.encryption,planId:this.planId,amount:this.amount,rdtCode:this.rdtCode,url:this.url,code:this.code,reference:this.reference,callBackUrl:this.callBackUrl,metadata:this.metadata,localCurrency:this.localCurrency,countryCode:this.countryCode,customerDetails:{email:i||this.email,...this.name?{name:this.name}:{},...this.phoneNumber?{phoneNumber:this.phoneNumber}:{}},closePayment:this.closePayment.bind(this)}),this.mainLoader=new Ne(this.mainLayout),this.mainError=new is(this.mainLayout),this.mainLoader.mountLoader(),this.getPlanDetails()}getAvailableChannels(){var s,a;const e=((s=this.merchantPlanDetail)==null?void 0:s.paymentMethods)??[],i=((a=this.merchantPlanDetail)==null?void 0:a.limits)??[],t=[],o=[];return e.forEach(l=>{const d=i.find(v=>v.channel===l);!d||this.amount<=d.amount?t.push(l):o.push(l)}),{validChannels:t,disabledChannels:o}}async getPlanDetails(){const e=this.currency==="USD"?this.localCurrency:this.currency;this.merchantConfigService.getMerchantConfig(this.planId,e).then(async i=>{var a,l;if(i.taxEnabled){const d=await Es(this.merchantKey,this.localCurrency!==this.currency?this.amount*i.rate.rate:this.amount,e,this.rdtCode,this.url);this.merchantPlanDetail={...i,totalAmount:d.totalAmount,taxQuoteId:d.id}}else this.merchantPlanDetail=i;P.register({device_type:this.getDeviceType(),session_id:this.reference,env:"Test",checkout_env:this.rdtCode?"Redirect":"SDK",merchant:this.merchantPlanDetail.merchantName}),P.track("checkout_opens");const{validChannels:t,disabledChannels:o}=this.getAvailableChannels();if(((a=this.merchantPlanDetail)==null?void 0:a.limits)&&this.merchantPlanDetail.limits.length>0&&(t.length===0||t[0]==="ussd"&&t.length===1)){const d=new Al(this.mainLayout);this.mainError=d;let v=0;throw(l=this.merchantPlanDetail)!=null&&l.limits&&this.merchantPlanDetail.limits.length>0&&(v=Math.max(...this.merchantPlanDetail.limits.map(p=>p.amount))),d.setLimitInfo(e,v),this.mainError.renderContent(this.callBackUrl),this.showErrorIcon(),new Error("Transaction limit reached")}i.rate?this.mainScreen.mountScreen(this.merchantPlanDetail,this.currency,t,o):(this.mainError.renderContent(this.callBackUrl),this.showErrorIcon())}).catch(i=>{throw this.mainError.renderContent(this.callBackUrl),this.showErrorIcon(),new Error(i)})}showErrorIcon(){var i;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"),(i=e.querySelector("img"))==null||i.setAttribute("src",Ml))}closeModal(){this.modalContainer&&this.modalContainer.parentNode&&document.body.removeChild(this.modalContainer),this.mainScreen.closeModal()}}De.CheckoutForm=xl,Object.defineProperty(De,Symbol.toStringTag,{value:"Module"})});
|