{"version":3,"sources":["webpack://crc/webpack/bootstrap","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/node.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/constants.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/renderers/dom.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/util.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/renderers/html.js","webpack://crc/./node_modules/preact/dist/preact.module.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/locale.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/order.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/params.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/defaults.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/env.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/fpti.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/funding.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/platform.js","webpack://crc/./node_modules/@krakenjs/grumbler-scripts/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://crc/./node_modules/@krakenjs/belter/src/device.js","webpack://crc/./node_modules/@krakenjs/cross-domain-safe-weakmap/src/util.js","webpack://crc/./node_modules/@krakenjs/cross-domain-safe-weakmap/src/weakmap.js","webpack://crc/./node_modules/@krakenjs/belter/src/util.js","webpack://crc/./node_modules/@krakenjs/cross-domain-safe-weakmap/src/native.js","webpack://crc/./node_modules/@krakenjs/belter/src/constants.js","webpack://crc/./node_modules/@krakenjs/belter/src/dom.js","webpack://crc/./node_modules/@krakenjs/belter/src/storage.js","webpack://crc/./node_modules/@krakenjs/belter/src/experiment.js","webpack://crc/./node_modules/@krakenjs/belter/src/http.js","webpack://crc/./node_modules/@krakenjs/grumbler-scripts/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/utils.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/exceptions.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/flush.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/promise.js","webpack://crc/./node_modules/preact/hooks/dist/hooks.module.js","webpack://crc/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://crc/./node_modules/core-js-pure/internals/fails.js","webpack://crc/./node_modules/core-js-pure/internals/is-callable.js","webpack://crc/./node_modules/@krakenjs/cross-domain-utils/src/constants.js","webpack://crc/./node_modules/@krakenjs/cross-domain-utils/src/utils.js","webpack://crc/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://crc/./node_modules/@paypal/sdk-client/src/global.js","webpack://crc/./node_modules/@paypal/sdk-client/src/config.js","webpack://crc/./node_modules/@paypal/sdk-client/src/script.js","webpack://crc/./node_modules/@paypal/sdk-client/src/logger.js","webpack://crc/./node_modules/@paypal/sdk-client/src/domains.js","webpack://crc/./node_modules/@paypal/sdk-client/src/api.js","webpack://crc/./node_modules/@paypal/sdk-client/src/events.js","webpack://crc/./src/utils/sdk.js","webpack://crc/./node_modules/core-js-pure/internals/descriptors.js","webpack://crc/./node_modules/core-js-pure/internals/export.js","webpack://crc/./src/utils/global.js","webpack://crc/./node_modules/core-js-pure/internals/global.js","webpack://crc/./src/utils/functional.js","webpack://crc/./node_modules/core-js-pure/internals/is-object.js","webpack://crc/./node_modules/core-js-pure/stable/array/includes.js","webpack://crc/./node_modules/core-js-pure/stable/object/entries.js","webpack://crc/./node_modules/core-js-pure/internals/function-call.js","webpack://crc/./node_modules/core-js-pure/internals/has-own-property.js","webpack://crc/./node_modules/core-js-pure/stable/array/from.js","webpack://crc/./node_modules/core-js-pure/stable/array/find.js","webpack://crc/./node_modules/core-js-pure/internals/object-define-property.js","webpack://crc/./src/utils/miscellaneous.js","webpack://crc/./src/utils/constants.js","webpack://crc/./node_modules/core-js-pure/internals/an-object.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/constants.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/lib/components.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/lib/util.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/applepay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/bancontact/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/bank/glyph/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/card/glyph/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/credit/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/eps/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/giropay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/ideal/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/mybank/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/p24/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/paypal/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/sepa/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/sofort/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/venmo/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/itau/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/wechatpay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/zimpler/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/payu/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/verkkopankki/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/blik/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/trustly/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/oxxo/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/boleto/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/maxima/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/mercadopago/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/multibanco/logo.jsx","webpack://crc/./node_modules/core-js-pure/internals/to-object.js","webpack://crc/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://crc/./node_modules/core-js-pure/internals/path.js","webpack://crc/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://crc/./node_modules/core-js-pure/internals/length-of-array-like.js","webpack://crc/./node_modules/core-js-pure/stable/string/starts-with.js","webpack://crc/./src/utils/debug.js","webpack://crc/./node_modules/core-js-pure/internals/get-built-in.js","webpack://crc/./node_modules/core-js-pure/internals/classof-raw.js","webpack://crc/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://crc/./node_modules/core-js-pure/internals/iterators.js","webpack://crc/./node_modules/core-js-pure/internals/entry-unbind.js","webpack://crc/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://crc/./node_modules/core-js-pure/internals/is-pure.js","webpack://crc/./node_modules/core-js-pure/internals/classof.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/constants.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/config.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/util.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/logger.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/http.js","webpack://crc/./src/utils/elements.js","webpack://crc/./src/utils/logger.js","webpack://crc/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://crc/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://crc/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://crc/./node_modules/core-js-pure/internals/a-callable.js","webpack://crc/./node_modules/core-js-pure/internals/to-string.js","webpack://crc/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://crc/./node_modules/core-js-pure/internals/object-keys.js","webpack://crc/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://crc/./node_modules/core-js-pure/stable/object/assign.js","webpack://crc/./node_modules/core-js-pure/internals/internal-state.js","webpack://crc/./node_modules/core-js-pure/stable/object/keys.js","webpack://crc/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://crc/./node_modules/core-js-pure/internals/indexed-object.js","webpack://crc/./node_modules/core-js-pure/internals/to-property-key.js","webpack://crc/./node_modules/core-js-pure/internals/get-method.js","webpack://crc/./node_modules/core-js-pure/internals/shared-store.js","webpack://crc/./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://crc/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://crc/./node_modules/core-js-pure/internals/shared-key.js","webpack://crc/./node_modules/core-js-pure/stable/string/includes.js","webpack://crc/./node_modules/core-js-pure/internals/try-to-string.js","webpack://crc/./node_modules/core-js-pure/internals/uid.js","webpack://crc/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://crc/./node_modules/core-js-pure/internals/object-create.js","webpack://crc/./node_modules/core-js-pure/internals/define-built-in.js","webpack://crc/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://crc/./node_modules/core-js-pure/internals/get-iterator-method.js","webpack://crc/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://crc/./node_modules/core-js-pure/internals/iterator-define.js","webpack://crc/./node_modules/core-js-pure/internals/array-iteration.js","webpack://crc/./node_modules/css-loader/dist/runtime/api.js","webpack://crc/./node_modules/isomorphic-style-loader/insertCss.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://crc/./node_modules/core-js-pure/internals/is-symbol.js","webpack://crc/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://crc/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://crc/./node_modules/core-js-pure/internals/shared.js","webpack://crc/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://crc/./node_modules/core-js-pure/internals/document-create-element.js","webpack://crc/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://crc/./node_modules/core-js-pure/internals/array-includes.js","webpack://crc/./node_modules/core-js-pure/internals/to-length.js","webpack://crc/./node_modules/core-js-pure/internals/array-species-create.js","webpack://crc/./node_modules/core-js-pure/internals/is-array.js","webpack://crc/./node_modules/core-js-pure/internals/is-constructor.js","webpack://crc/./node_modules/core-js-pure/internals/not-a-regexp.js","webpack://crc/./node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack://crc/./node_modules/core-js-pure/internals/iterators-core.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://crc/./node_modules/core-js-pure/stable/array/flat-map.js","webpack://crc/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://crc/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.iterator.js","webpack://crc/./node_modules/core-js-pure/internals/iterator-close.js","webpack://crc/./node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack://crc/./node_modules/core-js-pure/internals/create-property.js","webpack://crc/./node_modules/core-js-pure/internals/get-iterator.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://crc/./node_modules/core-js-pure/internals/internal-metadata.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://crc/./node_modules/core-js-pure/internals/iterate.js","webpack://crc/./node_modules/core-js-pure/internals/an-instance.js","webpack://crc/./node_modules/core-js-pure/stable/map/index.js","webpack://crc/./node_modules/core-js-pure/es/object/entries.js","webpack://crc/./node_modules/core-js-pure/modules/es.object.entries.js","webpack://crc/./node_modules/core-js-pure/internals/function-apply.js","webpack://crc/./node_modules/core-js-pure/internals/to-primitive.js","webpack://crc/./node_modules/core-js-pure/internals/engine-v8-version.js","webpack://crc/./node_modules/core-js-pure/internals/engine-user-agent.js","webpack://crc/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://crc/./node_modules/core-js-pure/internals/define-global-property.js","webpack://crc/./node_modules/core-js-pure/internals/is-forced.js","webpack://crc/./node_modules/core-js-pure/internals/object-to-array.js","webpack://crc/./node_modules/core-js-pure/internals/math-trunc.js","webpack://crc/./node_modules/core-js-pure/es/array/find.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.find.js","webpack://crc/./node_modules/core-js-pure/internals/array-species-constructor.js","webpack://crc/./node_modules/core-js-pure/internals/inspect-source.js","webpack://crc/./node_modules/core-js-pure/es/array/includes.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.includes.js","webpack://crc/./node_modules/core-js-pure/es/string/includes.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.includes.js","webpack://crc/./node_modules/core-js-pure/internals/is-regexp.js","webpack://crc/./node_modules/core-js-pure/es/object/assign.js","webpack://crc/./node_modules/core-js-pure/modules/es.object.assign.js","webpack://crc/./node_modules/core-js-pure/internals/object-assign.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://crc/./node_modules/core-js-pure/es/string/starts-with.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.starts-with.js","webpack://crc/./node_modules/core-js-pure/es/array/from.js","webpack://crc/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://crc/./node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://crc/./node_modules/core-js-pure/internals/function-name.js","webpack://crc/./node_modules/core-js-pure/internals/iterator-create-constructor.js","webpack://crc/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://crc/./node_modules/core-js-pure/internals/html.js","webpack://crc/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://crc/./node_modules/core-js-pure/internals/object-to-string.js","webpack://crc/./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://crc/./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.from.js","webpack://crc/./node_modules/core-js-pure/internals/array-from.js","webpack://crc/./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack://crc/./node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack://crc/./node_modules/core-js-pure/es/array/flat-map.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.flat-map.js","webpack://crc/./node_modules/core-js-pure/internals/flatten-into-array.js","webpack://crc/./node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.unscopables.flat-map.js","webpack://crc/./node_modules/core-js-pure/es/object/keys.js","webpack://crc/./node_modules/core-js-pure/modules/es.object.keys.js","webpack://crc/./node_modules/core-js-pure/es/map/index.js","webpack://crc/./node_modules/core-js-pure/modules/es.map.js","webpack://crc/./node_modules/core-js-pure/modules/es.map.constructor.js","webpack://crc/./node_modules/core-js-pure/internals/collection.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://crc/./node_modules/core-js-pure/internals/array-slice-simple.js","webpack://crc/./node_modules/core-js-pure/internals/object-is-extensible.js","webpack://crc/./node_modules/core-js-pure/internals/array-buffer-non-extensible.js","webpack://crc/./node_modules/core-js-pure/internals/freezing.js","webpack://crc/./node_modules/core-js-pure/internals/collection-strong.js","webpack://crc/./node_modules/core-js-pure/internals/define-built-ins.js","webpack://crc/./node_modules/core-js-pure/internals/set-species.js","webpack://crc/./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://crc/./node_modules/core-js-pure/internals/dom-iterables.js","webpack://crc/./src/utils/events.js","webpack://crc/./src/utils/observers.js","webpack://crc/./node_modules/preact/compat/dist/compat.module.js","webpack://crc/./src/components/modal/v2/styles/index.scss?7531","webpack://crc/./src/components/modal/v2/parts/views/NoInterest/styles.scss?0bca","webpack://crc/./src/components/modal/v2/parts/views/LongTerm/styles.scss?85a3","webpack://crc/./src/components/modal/v2/parts/views/PayIn1/styles.scss?e334","webpack://crc/./src/components/modal/v2/parts/views/ShortTerm/styles.scss?0d3f","webpack://crc/./src/components/modal/v2/parts/views/ProductList/styles.scss?094f","webpack://crc/./src/components/modal/v2/styles/index.scss","webpack://crc/./src/components/modal/v2/parts/views/NoInterest/styles.scss","webpack://crc/./src/components/modal/v2/parts/views/LongTerm/styles.scss","webpack://crc/./src/components/modal/v2/parts/views/PayIn1/styles.scss","webpack://crc/./src/components/modal/v2/parts/views/ShortTerm/styles.scss","webpack://crc/./src/components/modal/v2/parts/views/ProductList/styles.scss","webpack://crc/./src/components/modal/v2/lib/utils.js","webpack://crc/./src/components/modal/v2/lib/providers/xprops.js","webpack://crc/./src/components/modal/v2/lib/providers/serverData.js","webpack://crc/./src/components/modal/v2/lib/providers/transition.js","webpack://crc/./src/components/modal/v2/lib/hooks/helpers.js","webpack://crc/./src/components/modal/v2/lib/providers/scroll.js","webpack://crc/./src/components/modal/v2/lib/logos.js","webpack://crc/./src/components/modal/v2/parts/Icon.jsx","webpack://crc/./src/components/modal/v2/parts/Overlay.jsx","webpack://crc/./src/components/modal/v2/parts/Container.jsx","webpack://crc/./src/components/modal/v2/parts/Modal.jsx","webpack://crc/./src/components/modal/v2/lib/hooks/content.js","webpack://crc/./src/components/modal/v2/lib/hooks/currency.js","webpack://crc/./src/components/modal/v2/parts/Header.jsx","webpack://crc/./src/components/modal/v2/parts/Button.jsx","webpack://crc/./src/components/modal/v2/parts/ProductListLink.jsx","webpack://crc/./src/components/modal/v2/parts/Instructions.jsx","webpack://crc/./src/components/modal/v2/parts/InlineLinks.jsx","webpack://crc/./src/components/modal/v2/parts/views/NoInterest/Content.jsx","webpack://crc/./src/components/modal/v2/lib/hooks/applyNow.js","webpack://crc/./src/components/modal/v2/lib/locale.js","webpack://crc/./src/components/modal/v2/lib/hooks/calculator.js","webpack://crc/./src/components/modal/v2/lib/computedVariables.js","webpack://crc/./src/components/modal/v2/parts/OfferCard.jsx","webpack://crc/./src/components/modal/v2/parts/OfferAccordion.jsx","webpack://crc/./src/components/modal/v2/parts/LoadingShimmer.jsx","webpack://crc/./src/components/modal/v2/parts/TermsTable.jsx","webpack://crc/./src/components/modal/v2/parts/Calculator.jsx","webpack://crc/./src/components/modal/v2/parts/views/LongTerm/Content.jsx","webpack://crc/./src/components/modal/v2/parts/views/PayIn1/Content.jsx","webpack://crc/./src/components/modal/v2/parts/Donut.jsx","webpack://crc/./src/components/modal/v2/parts/views/ShortTerm/Content.jsx","webpack://crc/./src/components/modal/v2/parts/Tile.jsx","webpack://crc/./src/components/modal/v2/parts/views/ProductList/Content.jsx","webpack://crc/./src/components/modal/v2/parts/BodyContent.jsx","webpack://crc/./src/components/modal/v2/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","p","s","renderChildren","children","renderer","result","renderedChild","render","Array","isArray","subchild","push","ElementNode","props","type","onRender","this","el","FragmentNode","TextNode","text","ComponentNode","component","renderComponent","child","normalizeChildren","length","normalizeChild","toString","TypeError","node","element","ELEMENT_DEFAULT_XML_NAMESPACE","ATTRIBUTE_DEFAULT_XML_NAMESPACE","createTextElement","doc","createTextNode","addProps","keys","prop","val","match","addEventListener","slice","toLowerCase","xmlNamespace","setAttributeNS","setAttribute","tagName","id","replace","charAt","Math","floor","random","ADD_CHILDREN","firstChild","Error","win","contentWindow","document","docElement","documentElement","removeChild","dom","appendChild","addChildren","html","ELEMENT_PROP","innerHTML","window","querySelectorAll","script","parentNode","newScript","createElement","textContent","replaceChild","fixScripts","opts","domRenderer","xmlNamespaceDomRenderer","childNode","createElementNS","createElementWithXMLNamespace","SELF_CLOSING_TAGS","br","htmlEncode","htmlRenderer","concat","join","renderedProps","filter","map","renderedChildren","u","f","e","a","h","arguments","defaultProps","v","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","y","current","context","_","indexOf","k","base","b","g","__r","debounceRendering","setTimeout","sort","some","__P","j","__n","ownerSVGElement","z","w","x","C","A","N","M","nextSibling","insertBefore","$","setProperty","test","H","style","cssText","T","I","removeEventListener","removeAttribute","event","contextType","__E","prototype","O","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","L","diffed","localName","nodeType","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","checked","unmount","componentWillUnmount","P","S","q","B","Consumer","Provider","splice","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","COUNTRY","AD","AE","AG","AI","AL","AM","AN","AO","AR","AT","AU","AW","AZ","BA","BB","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CD","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GI","GL","GM","GN","GP","GR","GT","GW","GY","HK","HN","HR","HU","ID","IE","IL","IN","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LC","LI","LK","LS","LT","LU","LV","MA","MC","MD","ME","MG","MH","MK","ML","MN","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PL","PM","PN","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","ST","SV","SZ","TC","TD","TG","TH","TJ","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","VA","VC","VE","VG","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW","LANG","CS","DA","EL","EN","HE","JA","KO","SQ","TL","VI","ZH","ZH_HANT","COUNTRY_LANGS","INTENT","CAPTURE","AUTHORIZE","ORDER","TOKENIZE","SUBSCRIPTION","SDK_SETTINGS","NAMESPACE","CLIENT_TOKEN","MERCHANT_ID","PARTNER_ATTRIBUTION_ID","STAGE_HOST","API_STAGE_HOST","CSP_NONCE","ENABLE_3DS","SDK_INTEGRATION_SOURCE","USER_ID_TOKEN","AMOUNT","CLIENT_METADATA_ID","PAGE_TYPE","USER_EXPERIENCE_FLOW","POPUPS_DISABLED","SDK_QUERY_KEYS","COMPONENTS","ENV","DEBUG","CACHEBUST","CLIENT_ID","LOCALE","CURRENCY","COMMIT","VAULT","BUYER_COUNTRY","ENABLE_FUNDING","DISABLE_FUNDING","DISABLE_CARD","INTEGRATION_DATE","STAGE_ALIAS","CDN_REGISTRY","VERSION","QUERY_BOOL","TRUE","FALSE","UNKNOWN","PROTOCOL","HTTP","HTTPS","PAGE_TYPES","HOME","PRODUCT","CART","CHECKOUT","PRODUCT_LISTING","SEARCH_RESULTS","PRODUCT_DETAILS","MINI_CART","DEFAULT_CURRENCY","DEFAULT_INTENT","DEFAULT_SALE_COMMIT","DEFAULT_NONSALE_COMMIT","DEFAULT_VAULT","LOCAL","STAGE","SANDBOX","PRODUCTION","TEST","FPTI_KEY","FEED","STATE","TRANSITION","PAGE","BUTTON_TYPE","SESSION_UID","BUTTON_SESSION_UID","TOKEN","CONTEXT_ID","CONTEXT_TYPE","REFERER","MERCHANT_DOMAIN","PAY_ID","SELLER_ID","DATA_SOURCE","BUTTON_SOURCE","ERROR_CODE","ERROR_DESC","PAGE_LOAD_TIME","EXPERIMENT_NAME","TREATMENT_NAME","TRANSITION_TIME","FUNDING_LIST","FUNDING_COUNT","CHOSEN_FUNDING","BUTTON_LAYOUT","INTEGRATION_IDENTIFIER","SDK_NAME","SDK_VERSION","SDK_ENVIRONMENT","MOBILE_APP_VERSION","MOBILE_BUNDLE_IDENTIFIER","USER_AGENT","USER_ACTION","CONTEXT_CORRID","SDK_CACHE","SDK_LOAD_TIME","IS_VAULT","RESPONSE_DURATION","PAYMENT_FLOW","BUTTON_VERSION","FI_LIST","CHOSEN_FI_TYPE","SELECTED_FI","POTENTIAL_PAYMENT_METHODS","PAY_NOW","STICKINESS_ID","TIMESTAMP","OPTION_SELECTED","USER_IDENTITY_METHOD","FIELDS_COMPONENT_SESSION_ID","CPL_COMP_METRICS","CPL_CHUNK_METRICS","CPL_QUERY_METRICS","FPTI_USER_ACTION","CONTINUE","FPTI_DATA_SOURCE","PAYMENTS_SDK","FPTI_FEED","FPTI_SDK_NAME","CARD","VISA","MASTERCARD","AMEX","DISCOVER","HIPER","ELO","JCB","CUP","PLATFORM","DESKTOP","MOBILE","_extends","assign","target","source","apply","isDevice","userAgent","navigator","mockUserAgent","isIE","documentMode","Boolean","isIEIntranet","status","err","safeIndexOf","collection","item","objectIDs","CrossDomainSafeWeakMap","weakmap","values","WeakMap","freeze","testWeakMap","testKey","set","hasNativeWeakMap","_cleanupClosedWindows","isWindow","isWindowClosed","delete","isSafeToReadWrite","entry","writable","index","has","undefined","getOrSet","getFunctionName","fn","__name__","displayName","setFunctionName","base64encode","str","btoa","encodeURIComponent","p1","String","fromCharCode","parseInt","Buffer","from","base64decode","atob","decodeURIComponent","charCodeAt","uniqueID","chars","Date","toISOString","getGlobal","global","__GLOBAL__","serializeArgs","args","JSON","stringify","subkey","obj","uid","getObjectID","passed","Element","ownerDocument","isElement","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","memoize","method","options","simpleCache","thisCache","thisNamespace","cacheTime","time","memoizeIndex","memoizedFunction","cache","cacheKey","cacheResult","now","reset","inlineMemoize","logic","__inline_memoize_cache__","noop","stringifyError","level","stack","message","newErr","stringifyErrorMessage","defaultMessage","svgToBase64","svg","objFilter","promiseDebounce","delay","promise","timeout","clearTimeout","localPromise","ZalgoPromise","try","then","resolve","reject","safeInterval","loop","cancel","eventEmitter","triggered","handlers","emitter","on","eventName","handler","handlerList","cancelled","once","listener","trigger","promises","all","triggerOnce","capitalizeFirstLetter","string","toUpperCase","debounce","clear","ATTRIBUTES","UID","isDocumentReady","body","readyState","isDocumentInteractive","urlEncode","waitForWindowReady","parseQuery","queryString","params","split","pair","extendQuery","originalQuery","extendUrl","url","originalUrl","originalHash","query","hash","hashString","getPerformance","performance","timing","connectEnd","navigationStart","abs","isBrowser","location","getScript","host","path","reverse","scripts","getElementsByTagName","src","isLocalStorageEnabled","localStorage","setItem","getItem","removeItem","getBrowserLocales","nav","locales","languages","language","userLanguage","locale","country","lang","destroyElement","getResourceLoadTime","getEntries","entries","duration","interval","setInterval","clearInterval","currentScript","getCurrentScript","getStackTrace","stackDetails","exec","scriptLocation","inferCurrentScript","currentUID","getCurrentScriptUID","getAttribute","hashedString","total","strHashStr","dataset","getStorage","lifetime","accessedStorage","STORAGE_KEY","newStateID","getState","storage","localStorageEnabled","rawStorage","parse","getID","getSession","session","__session__","created","guid","isStateFresh","getSessionState","getSessionID","getBelterExperimentStorage","isEventUnique","loggedBeacons","getRandomInteger","range","experiment","group","sample","logTreatment","logCheckpoint","sticky","throttle","throttlePercentiles","getThrottlePercentile","treatment","started","forced","exp","isEnabled","isDisabled","getTreatment","log","checkpoint","payload","logStart","logComplete","headerBuilders","request","headers","json","normalizedHeaders","builtHeaders","headerBuilder","xhr","XMLHttpRequest","responseHeaders","rawHeaders","trim","parseHeaders","getAllResponseHeaders","contentType","isJSON","responseBody","responseText","evt","open","setRequestHeader","ontimeout","send","_objectWithoutPropertiesLoose","excluded","sourceKeys","isPromise","Promise","Window","flushPromise","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushActive","startActive","endActive","resolved","rejected","errorHandled","error","dispatching","isAsync","res","dispatch","dispatchPossiblyUnhandledError","asyncReject","chain","firstPromise","secondPromise","onSuccess","onError","promiseResult","catch","finally","onFinally","toPromise","lazy","count","results","prom","awaitPromises","items","onPossiblyUnhandledException","flush","__H","__V","__N","every","F","useDebugValue","shift","requestAnimationFrame","cancelAnimationFrame","NATIVE_BIND","require","FunctionPrototype","Function","uncurryThis","argument","IE_WIN_ACCESS_ERROR","getActualProtocol","protocol","getProtocol","mockDomain","isAboutProtocol","canReadFromWindow","getActualDomain","parent","getParent","getDomain","domain","isSameDomain","desc","getOwnPropertyDescriptor","isMockProtocol","isActuallySameDomain","assertSameDomain","iframeWindows","iframeFrames","allowMock","closed","mockclosed","top","iframeIndex","frame","contains","isFrameWindowClosed","linkFrameWindow","cleanIframes","self","__cross_domain_utils_window_check__","isCurrentDomain","shared","hasOwn","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","getPayPalDomain","__PAYPAL_DOMAIN__","getSDKScript","__SDK_HOST__","__PATH__","attr","getLogger","Logger","clientID","info","basicAuth","__PAYPAL_API_DOMAIN__","Authorization","grant_type","access_token","getNamespace","querySelector","getLibraryVersion","__MESSAGES__","isZoidComponent","stringStartsWith","getBelterStorage","getOrCreateStorageID","isStorageFresh","getDeviceID","messagingDeviceID","isScriptBeingDestroyed","__ENV__","fails","isCallable","isForced","createNonEnumerableProperty","wrapConstructor","NativeConstructor","Wrapper","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","dontCallGetSet","wrap","sham","real","getGlobalState","globalState","createState","config","messagesMap","Map","setGlobalState","configurable","getGlobalUrl","createGlobalVariableGetter","variable","newState","globalEvent","check","it","globalThis","partial","intialArgs","nextArgs","curry","arity","curried","documentAll","toObject","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$TypeError","$defineProperty","$getOwnPropertyDescriptor","Attributes","initialState","objectAssign","withCredentials","xhttp","onreadystatechange","reduce","accumulator","header","stringIncludes","objectEntries","parseObjFromEncoding","encodedStr","binary","bytes","Uint8Array","decodedStr","Uint16Array","buffer","createEvent","Event","initEvent","dynamicImport","getCurrentTime","getTime","getEventListenerPassiveOptionIfSupported","viewport","content","head","__pp_prev_content__","__pp_prev_overflow__","overflow","__pp_prev_msOverflowStyle__","msOverflowStyle","passiveIfSupported","passive","getStandardProductOffer","offer","getTsCookieFromStorage","cookieVal","ts","cookie","find","cookieStr","startsWith","fromEntries","URLSearchParams","isObject","$String","LOGO_COLOR","BLUE","BLACK","WHITE","MONOCHROME","DEFAULT","SVG","otherProps","svgProps","SVGLogo","logoColor","alt","class","LOGO_CLASS","getLogoColors","logoColorMap","colors","primary","secondary","tertiary","quaternary","PAYPAL_LOGO_COLORS","PayPalLogo","role","width","height","viewBox","preserveAspectRatio","xmlns","fill","PP_LOGO_COLORS","primaryOpacity","secondaryOpacity","PPLogo","tertiaryOpacity","opacity","main","card","quinary","senary","requireObjectCoercible","$Object","IndexedObject","definePropertyModule","createPropertyDescriptor","toLength","ppDebug","inZoid","debugObj","search","console","warn","aFunction","namespace","stringSlice","aCallable","that","getBuiltIn","isNullOrUndefined","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","wellKnownSymbol","CORRECT_ARGUMENTS","tag","tryGet","callee","LOG_LEVEL","INFO","WARN","ERROR","AUTO_FLUSH_LEVEL","LOG_LEVEL_PRIORITY","DEFAULT_LOG_LEVEL","sendBeacon","useBlob","blob","Blob","extendIfDefined","prefix","logLevel","transport","httpWin","enableSendBeacon","beaconResult","hasHeaders","canUseSendBeacon","isAmplitude","getHTTPTransport","amplitudeApiKey","flushInterval","events","tracking","payloadBuilders","metaBuilders","trackingBuilders","print","warning","immediateFlush","meta","builder","api_key","event_type","transition_name","event_properties","logger","logPayload","timestamp","enqueue","addBuilder","builders","debug","track","trackingPayload","addPayloadBuilder","addMetaBuilder","addTrackingBuilder","addHeaderBuilder","setTransport","newTransport","configure","getWindowFromElement","defaultView","HTMLElement","nodeName","container","className","getElementsByClassName","elem","span","appendImage","srcset","logo","Image","dimensions","svgWrapper","canvas","elementContains","parentEl","childEl","Node","ELEMENT_NODE","parentBounds","left","bottom","innerHeight","right","innerWidth","getBoundingClientRect","childBounds","elementOutside","getRoot","baseElement","elementWindow","domPath","offsetHeight","computedRoot","arrayFind","elements","root","eventsIndexes","refIndex","trackingIndexes","activeIndexes","trimmedMeta","objectKeys","arrayIncludes","integration_type","messaging_version","selector","bitmap","tryToString","classof","internalObjectKeys","enumBugKeys","NATIVE_WEAK_MAP","sharedKey","hiddenKeys","store","wmget","wmhas","wmset","metadata","facade","enforce","getterFor","TYPE","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","toPrimitive","isSymbol","func","defineGlobalProperty","trunc","number","postfix","activeXDocument","definePropertiesModule","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","display","Properties","TAG","SET_METHOD","getMethod","Iterators","ITERATOR","isPrototypeOf","IS_PURE","FunctionName","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","NAME","IteratorConstructor","next","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","lengthOfArrayLike","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","findIndex","filterReject","useSourceMap","list","base64","cssMapping","sourceMapping","unescape","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","_i","inserted","removeCss","ids","getElementById","styles","_temp","_ref","_ref$replace","_ref$prepend","prepend","_ref$prefix","_styles$i","css","media","sourceMap","file","styleSheet","propertyIsEnumerableModule","toIndexedObject","$Symbol","iterator","V8_VERSION","getOwnPropertySymbols","symbol","version","copyright","license","EXISTS","toAbsoluteIndex","IS_INCLUDES","fromIndex","includes","toIntegerOrInfinity","min","arraySpeciesConstructor","originalArray","inspectSource","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","isRegExp","MATCH","METHOD_NAME","regexp","error1","error2","PrototypeOfArrayIteratorPrototype","arrayIterator","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","max","integer","InternalStateModule","defineIterator","setInternalState","getInternalState","iterated","point","done","kind","innerResult","innerError","ArrayPrototype","propertyKey","getIteratorMethod","usingIterator","iteratorMethod","addToUnscopables","Arguments","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","isExtensible","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","enable","getOwnPropertyNames","fastKey","getWeakData","onFreeze","isArrayIteratorMethod","getIterator","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","Prototype","$entries","Reflect","ordinaryToPrimitive","TO_PRIMITIVE","input","pref","exoticToPrim","process","Deno","versions","v8","valueOf","replacement","feature","detection","normalize","POLYFILL","NATIVE","TO_ENTRIES","ceil","entryUnbind","$find","SKIPS_HOLES","isConstructor","SPECIES","$Array","functionToString","$includes","notARegExp","correctIsRegExpLogic","stringIndexOf","searchString","getOwnPropertySymbolsModule","$assign","chr","argumentsLength","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","getDescriptor","ENUMERABLE_NEXT","defineProperties","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","checkCorrectnessOfIteration","callWithSafeIterationClosing","createProperty","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","ENTRIES","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","flattenIntoArray","flatMap","sourceLen","doesNotExceedSafeInteger","original","start","depth","mapper","thisArg","targetIndex","sourceIndex","mapFn","nativeKeys","init","InternalMetadataModule","iterate","anInstance","internalStateGetterFor","CONSTRUCTOR_NAME","wrapper","common","Constructor","IS_WEAK","ADDER","NativePrototype","exported","IS_ADDER","getConstructor","setStrong","$getOwnPropertyNames","arraySlice","windowNames","getWindowNames","end","fin","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","ArrayBuffer","preventExtensions","defineBuiltIns","setSpecies","last","define","previous","getEntry","removed","prev","add","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","unsafe","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","awaitFirstRender","awaitWindowLoad","getIntersectionObserverPolyfill","MutationObserver","mutationList","newMessageContainers","mutation","attributeName","arrayFrom","addedNodes","hasAttribute","targetedChildNode","Messages","_auto","containersToUpdate","IntersectionObserver","observer","isIntersecting","et","visible","unobserve","threshold","firstContainer","renderStart","isIntersectingFallback","minWidth","Number","minHeight","rootBounds","intersectionRatio","renderComplete","intersectionRect","isPureReactComponent","__f","for","R","$$typeof","isReactComponent","__u","__a","D","__R","__O","pop","fallback","revealOrder","W","Z","Y","cancelBubble","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","J","K","multiple","selected","defaultValue","Q","insertCss","locals","_getContent","_getCss","_insertCss","___CSS_LOADER_API_IMPORT___","getContent","currency","amount","payerId","clientId","merchantId","buyerCountry","ignoreCache","env","stageTag","integrationType","channel","devTouchpoint","payer_id","client_id","merchant_id","buyer_country","ignore_cache","acc","origin","XPropsContext","createContext","XPropsProvider","useState","xprops","xProps","setXProps","useEffect","onProps","newProps","useXProps","useContext","ServerData","ServerDataProvider","serverData","_setServerData","setServerData","updates","useServerData","TransitionContext","setStatus","TransitionStateProvider","onShow","btn","classList","remove","focus","observe","useTransitionState","onClose","linkName","useDidUpdateEffect","deps","mounted","useRef","ScrollContext","addScrollCallback","removeScrollCallback","scrollTo","ScrollProvider","containerRef","callbacks","setCallbacks","handleScroll","callback","passiveOption","currentCallbacks","scrollTop","useScroll","cb","dependencies","useCallback","getPPLogoBase64","getPPMonogramBase64","logos","PRIMARY","COLOR","ALT_NO_PP","Icon","color","aria-hidden","transform","stroke","stroke-width","stroke-linecap","fill-rule","rx","clip-rule","clipPath","maskType","maskUnits","mask","Overlay","handleClose","handleEscapeKeyPress","charCode","onClick","Container","contentWrapperRef","views","onReady","transitionState","loading","setLoading","products","productMeta","product","deviceID","messageRequestId","keyCode","tabArray","getComputedStyle","visibility","shiftKey","activeElement","preventDefault","Modal","useProduct","useContent","currencyFormat","formattedStr","foundString","filteredString","Header","headline","subheadline","isQualifying","qualifyingSubheadline","isScrolled","setScrolled","aria-label","Button","forwardRef","classes","ProductListLink","openProductList","Instructions","instructions","expandedState","instruction","renderBullet","InlineLinks","textChunk","linkText","linkUrl","href","NoInterest","terms","buttonText","disclaimer","footer","linkToProductList","buttonRef","handleApplyNowClick","clickTitle","refId","urlBase","local","stage","sandbox","production","intervalId","useApplyNow","lineContent","getLocale","decimalSeparator","toLocaleString","delocalize","localizedDecimalSeparator","separator","localize","minimumFractionDigits","maximumFractionDigits","getDisplayValue","delocalizedValue","centVal","formattedValue","setCurrency","reducer","action","isLoading","autoSubmit","inputValue","prevValue","newInputValue","formattedAmount","view","useCalculator","calculateRef","viewWithOffers","offers","onCalculate","useReducer","viewWithOffersAmount","inputAmount","debouncedCalculate","useMemo","changeInput","submit","getComputedVariables","minAmount","calculator","belowThreshold","maxAmount","aboveThreshold","OfferCard","termsLabel","aprRemoveTrailingZeros","apr","offerHeader","zeroApr","nonZeroApr","totalInterest","formattedTotalInterest","formattedTotalCost","OfferAccordion","aprDisclaimer","activeSelection","setActiveSelection","setOpen","currencySymbolFormat","offerPayment","offerNumInstallments","eMoney","formattedPeriodicPayment","LoadingShimmer","numOffers","offerCountry","TermsTable","setNumOffers","qualifyingOffers","qualifying","idx","Calculator","setExpandedState","zeroAPR","mixedAPR","nonZeroAPR","setAPRType","title","inputLabel","inputPlaceholder","inputCurrencySymbol","hasUsedInputField","setHasUsedInputField","hasInitialAmount","hasEnteredAmount","emptyState","displayValue","setDisplayValue","genericError","replaceRegExp","getError","aprArr","onSubmit","placeholder","onInput","selectionStart","selectionEnd","targetValue","onInputValue","newDisplayValue","finalValue","parseFloat","toFixed","selectionOffset","setSelectionRange","onKeyDown","ctrlKey","metaKey","select","LongTerm","disclosure","navLinkPrefix","cta","aprType","isQualifyingAmount","buttonTextEligible","buttonTextIneligible","PayIn1","Donut","strokeWidth","strokeLinecap","cx","cy","radius","fontSize","segmentStrokeWidth","currentNum","numOfPayments","timeStamp","periodicPayment","percentage","segStrokeWidth","strokeDasharray","segments","stroke-dasharray","stroke-dashoffset","text-anchor","ShortTerm","estimatedInstallments","donutTimestamps","learnMoreLink","hasInstallments","donutScreenReaderString","total_payment","payment_date","localeFormattedPayment","installment","Tile","icon","viewName","setViewName","tileIcons","ProductList","productTiles","availableTiles","payLater","tile","credit","BodyContent","primaryViewName","defaultViewName","productViews","closeButton","viewComponents","PAYPAL_CREDIT_NO_INTEREST","PAY_LATER_LONG_TERM","PAY_LATER_PAY_IN_1","PAY_LATER_SHORT_TERM","PRODUCT_LIST","setupModal"],"mappings":"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K,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK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","file":"smart-credit-modal-v2.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 228);\n","/* @flow */\n\nimport { NODE_TYPE } from './constants';\n\nexport type NodePropsType = {\n [string] : any // eslint-disable-line flowtype/no-weak-types\n};\n\nexport type EmptyProps = {||};\n\nexport type NodeRenderer = (N) => O;\nexport type NodeRendererFactory = (L) => NodeRenderer;\n\ntype Primitive = string | boolean | number;\ntype NullablePrimitive = Primitive | null | void;\n\nexport type NodeType = ElementNode | TextNode | FragmentNode | ComponentNode<*>; // eslint-disable-line no-use-before-define\nexport type ChildNodeType = ElementNode | TextNode | ComponentNode<*>; // eslint-disable-line no-use-before-define\nexport type ChildType = ChildNodeType | Primitive | $ReadOnlyArray;\nexport type ChildrenType = $ReadOnlyArray;\nexport type NullableChildType = $ReadOnlyArray | ChildNodeType | NullablePrimitive;\nexport type NullableChildrenType = $ReadOnlyArray;\n\nexport type ComponentFunctionType

= (P, ChildrenType) => NullableChildType;\n\nexport type CreateElementNode =

(string, P, ...NullableChildrenType) => ElementNode; // eslint-disable-line no-undef, no-use-before-define\nexport type CreateComponentNode =

(ComponentFunctionType

, P, ...NullableChildrenType) => ComponentNode<*>; // eslint-disable-line no-undef, no-use-before-define\nexport type CreateNullComponentNode =

(ComponentFunctionType

, null, ...NullableChildrenType) => ComponentNode<*>; // eslint-disable-line no-undef, no-use-before-define\n\nexport type CreateNode = CreateNullComponentNode & CreateComponentNode & CreateElementNode;\n\nfunction renderChildren(children : $ReadOnlyArray>, renderer : NodeRenderer<*, *>) : $ReadOnlyArray { // eslint-disable-line no-use-before-define\n const result = [];\n\n for (const child of children) {\n const renderedChild = child.render(renderer);\n\n if (!renderedChild) {\n continue;\n } else if (Array.isArray(renderedChild)) {\n for (const subchild of renderedChild) {\n if (subchild) {\n result.push(subchild);\n }\n }\n } else {\n result.push(renderedChild);\n }\n }\n\n return result;\n}\n\nexport class ElementNode {\n type : (typeof NODE_TYPE.ELEMENT) = NODE_TYPE.ELEMENT;\n\n name : string;\n props : NodePropsType;\n children : $ReadOnlyArray>; // eslint-disable-line no-use-before-define\n onRender : ?(T) => void; // eslint-disable-line no-undef\n\n constructor(name : string, props : NodePropsType, children : $ReadOnlyArray>) { // eslint-disable-line no-use-before-define\n this.name = name;\n this.props = props || {};\n this.children = children;\n\n const onRender = this.props.onRender;\n if (typeof onRender === 'function') {\n this.onRender = onRender;\n delete props.onRender;\n }\n }\n\n render(renderer : NodeRenderer<*, *>) : T {\n const el = renderer(this);\n if (this.onRender) {\n this.onRender(el);\n }\n return el;\n }\n\n renderChildren(renderer : NodeRenderer<*, *>) : $ReadOnlyArray {\n return renderChildren(this.children, renderer);\n }\n}\n\nexport class FragmentNode {\n type : (typeof NODE_TYPE.FRAGMENT) = NODE_TYPE.FRAGMENT;\n\n children : $ReadOnlyArray>; // eslint-disable-line no-use-before-define\n\n constructor(children : $ReadOnlyArray>) { // eslint-disable-line no-use-before-define\n this.children = children;\n }\n\n render(renderer : NodeRenderer<*, *>) : $ReadOnlyArray {\n return renderChildren(this.children, renderer);\n }\n}\n\nexport class TextNode {\n type : (typeof NODE_TYPE.TEXT) = NODE_TYPE.TEXT;\n\n text : string;\n\n constructor(text : string) {\n this.text = text;\n }\n\n render(renderer : NodeRenderer<*, *>) : T {\n return renderer(this);\n }\n}\n\n// eslint-disable-next-line no-unused-vars\nexport class ComponentNode

{\n type : (typeof NODE_TYPE.COMPONENT) = NODE_TYPE.COMPONENT;\n\n component : ComponentFunctionType;\n props : NodePropsType;\n // eslint-disable-next-line no-use-before-define\n children : $ReadOnlyArray>;\n\n constructor(component : ComponentFunctionType, props : NodePropsType, children : $ReadOnlyArray>) {\n this.component = component;\n this.props = props || {};\n this.children = children;\n\n this.props.children = children;\n }\n\n renderComponent(renderer : NodeRenderer<*, *>) : * {\n const child = normalizeChild(this.component(this.props, this.children)); // eslint-disable-line no-use-before-define\n if (child) {\n return child.render(renderer);\n }\n }\n\n render(renderer : NodeRenderer<*, *>) : T {\n return renderer(this);\n }\n\n renderChildren(renderer : NodeRenderer<*, *>) : $ReadOnlyArray {\n return renderChildren(this.children, renderer);\n }\n}\n\nfunction normalizeChildren(children : NullableChildrenType) : $ReadOnlyArray> {\n const result = [];\n\n for (const child of children) {\n if (!child) {\n continue;\n } else if (typeof child === 'string' || typeof child === 'number') {\n result.push(new TextNode(child.toString()));\n } else if (typeof child === 'boolean') {\n continue;\n } else if (Array.isArray(child)) {\n for (const subchild of normalizeChildren(child)) {\n result.push(subchild);\n }\n } else if (child && (child.type === NODE_TYPE.ELEMENT || child.type === NODE_TYPE.TEXT || child.type === NODE_TYPE.COMPONENT)) {\n result.push(child);\n } else {\n throw new TypeError(`Unrecognized node type: ${ typeof child }`);\n }\n }\n\n return result;\n}\n\nfunction normalizeChild(child) : ElementNode | TextNode | ComponentNode<*> | FragmentNode | void {\n const children = normalizeChildren(Array.isArray(child) ? child : [ child ]);\n\n if (children.length === 1) {\n return children[0];\n } else if (children.length > 1) {\n return new FragmentNode(children);\n }\n}\n\nexport const node : CreateNode =

(element, props : P, ...children) => {\n children = normalizeChildren(children);\n\n if (typeof element === 'string') {\n // $FlowFixMe\n return new ElementNode(element, props, children);\n }\n\n if (typeof element === 'function') {\n // $FlowFixMe\n return new ComponentNode<*>(element, props, children);\n }\n\n throw new TypeError(`Expected jsx element to be a string or a function`);\n};\n\nexport const Fragment : ComponentFunctionType = (props, children) => {\n return children;\n};\n","/* @flow */\n\nexport const NODE_TYPE = {\n ELEMENT: ('element' : 'element'),\n TEXT: ('text' : 'text'),\n COMPONENT: ('component' : 'component'),\n FRAGMENT: ('fragment' : 'fragment')\n};\n","/* @flow */\n\nimport { ComponentNode, TextNode, type NodeRenderer, ElementNode } from '../node';\nimport { NODE_TYPE } from '../constants';\nimport { uniqueID } from '../util';\n\ntype DomNodeRenderer = NodeRenderer;\ntype DomTextRenderer = NodeRenderer;\ntype DomComponentRenderer = NodeRenderer, HTMLElement | TextNode | $ReadOnlyArray | void>;\ntype DomRenderer = DomComponentRenderer & DomNodeRenderer & DomTextRenderer;\n\nconst ELEMENT_TAG = {\n HTML: 'html',\n IFRAME: 'iframe',\n SCRIPT: 'script',\n SVG: 'svg',\n DEFAULT: 'default'\n};\n\nconst ELEMENT_PROP = {\n ID: 'id',\n INNER_HTML: 'innerHTML',\n EL: 'el',\n XLINK_HREF: 'xlink:href'\n};\n\nconst ELEMENT_DEFAULT_XML_NAMESPACE : {| [$Values] : string |} = {\n [ ELEMENT_TAG.SVG ]: 'http://www.w3.org/2000/svg'\n};\n\nconst ATTRIBUTE_DEFAULT_XML_NAMESPACE : {| [$Values] : string |} = {\n [ ELEMENT_PROP.XLINK_HREF ]: 'http://www.w3.org/1999/xlink'\n};\n\nfunction fixScripts(el : HTMLElement | Element, doc : Document = window.document) {\n for (const script of el.querySelectorAll('script')) {\n const parentNode = script.parentNode;\n\n if (!parentNode) {\n continue;\n }\n\n const newScript = doc.createElement('script');\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n}\n\nfunction createElement(doc : Document, node : ElementNode) : HTMLElement | Element {\n if (node.props[ELEMENT_PROP.EL]) {\n return node.props[ELEMENT_PROP.EL];\n } else {\n return doc.createElement(node.name);\n }\n}\n\nfunction createElementWithXMLNamespace(doc : Document, node : ElementNode, xmlNamespace : string) : HTMLElement | Element {\n return doc.createElementNS(xmlNamespace, node.name);\n}\n\nfunction createTextElement(doc : Document, node : TextNode) : Text {\n return doc.createTextNode(node.text);\n}\n\nfunction addProps(el : HTMLElement | Element, node) {\n const props = node.props;\n\n for (const prop of Object.keys(props)) {\n const val = props[prop];\n\n if (val === null || typeof val === 'undefined' || prop === ELEMENT_PROP.EL || prop === ELEMENT_PROP.INNER_HTML) {\n continue;\n }\n\n if (prop.match(/^on[A-Z][a-z]/) && typeof val === 'function') {\n el.addEventListener(prop.slice(2).toLowerCase(), val);\n } else if (typeof val === 'string' || typeof val === 'number') {\n const xmlNamespace = ATTRIBUTE_DEFAULT_XML_NAMESPACE[prop];\n if (xmlNamespace) {\n el.setAttributeNS(xmlNamespace, prop, val.toString());\n } else {\n el.setAttribute(prop, val.toString());\n }\n } else if (typeof val === 'boolean') {\n if (val === true) {\n el.setAttribute(prop, '');\n }\n }\n }\n\n if (el.tagName.toLowerCase() === ELEMENT_TAG.IFRAME && !props.id) {\n el.setAttribute(ELEMENT_PROP.ID, `jsx-iframe-${ uniqueID() }`);\n }\n}\nconst ADD_CHILDREN : { [string] : (HTMLElement | Element, ElementNode, DomNodeRenderer) => void } = {\n\n [ ELEMENT_TAG.IFRAME ]: (el, node) => {\n const firstChild = node.children[0];\n\n if (node.children.length !== 1 || !(firstChild && firstChild.type === NODE_TYPE.ELEMENT) || firstChild.name !== ELEMENT_TAG.HTML) {\n throw new Error(`Expected only single html element node as child of ${ ELEMENT_TAG.IFRAME } element`);\n }\n \n el.addEventListener('load', () => {\n\n // $FlowFixMe\n const win = el.contentWindow;\n \n if (!win) {\n throw new Error(`Expected frame to have contentWindow`);\n }\n\n const doc = win.document;\n const docElement = doc.documentElement;\n\n while (docElement.children && docElement.children.length) {\n docElement.removeChild(docElement.children[0]);\n }\n\n // eslint-disable-next-line no-use-before-define\n const child : HTMLElement = firstChild.render(dom({ doc }));\n \n while (child.children.length) {\n docElement.appendChild(child.children[0]);\n }\n });\n },\n\n [ ELEMENT_TAG.SCRIPT ]: (el, node) => {\n const firstChild = node.children[0];\n\n if (node.children.length !== 1 || !(firstChild && firstChild.type === NODE_TYPE.TEXT)) {\n throw new Error(`Expected only single text node as child of ${ ELEMENT_TAG.SCRIPT } element`);\n }\n \n // $FlowFixMe\n el.text = firstChild.text;\n },\n\n [ ELEMENT_TAG.DEFAULT ]: (el, node, renderer) => {\n for (const child of node.renderChildren(renderer)) {\n el.appendChild(child);\n }\n }\n};\n\nfunction addChildren(el : HTMLElement | Element, node : ElementNode, doc : Document, renderer : DomNodeRenderer) {\n if (node.props.hasOwnProperty(ELEMENT_PROP.INNER_HTML)) {\n\n if (node.children.length) {\n throw new Error(`Expected no children to be passed when ${ ELEMENT_PROP.INNER_HTML } prop is set`);\n }\n\n const html = node.props[ELEMENT_PROP.INNER_HTML];\n\n if (typeof html !== 'string') {\n throw new TypeError(`${ ELEMENT_PROP.INNER_HTML } prop must be string`);\n }\n\n if (node.name === ELEMENT_TAG.SCRIPT) {\n // $FlowFixMe\n el.text = html;\n } else {\n el.innerHTML = html;\n fixScripts(el, doc);\n }\n\n } else {\n const addChildrenToElement = ADD_CHILDREN[node.name] || ADD_CHILDREN[ELEMENT_TAG.DEFAULT];\n addChildrenToElement(el, node, renderer);\n }\n}\n\ntype DomOptions = {|\n doc? : Document\n|};\n\nconst getDefaultDomOptions = () : DomOptions => {\n // $FlowFixMe\n return {};\n};\n\nexport function dom(opts? : DomOptions = getDefaultDomOptions()) : DomRenderer {\n const { doc = document } = opts;\n \n const xmlNamespaceDomRenderer = (node : ElementNode, xmlNamespace : string) : HTMLElement => {\n if (node.type === NODE_TYPE.COMPONENT) {\n return node.renderComponent(childNode => xmlNamespaceDomRenderer(childNode, xmlNamespace));\n }\n \n if (node.type === NODE_TYPE.TEXT) {\n // $FlowFixMe\n return createTextElement(doc, node);\n }\n \n if (node.type === NODE_TYPE.ELEMENT) {\n const el = createElementWithXMLNamespace(doc, node, xmlNamespace);\n addProps(el, node);\n addChildren(el, node, doc, childNode => xmlNamespaceDomRenderer(childNode, xmlNamespace));\n // $FlowFixMe\n return el;\n }\n\n throw new TypeError(`Unhandleable node`);\n };\n \n const domRenderer : DomRenderer = (node) => {\n if (node.type === NODE_TYPE.COMPONENT) {\n return node.renderComponent(domRenderer);\n }\n \n if (node.type === NODE_TYPE.TEXT) {\n // $FlowFixMe\n return createTextElement(doc, node);\n }\n \n if (node.type === NODE_TYPE.ELEMENT) {\n const xmlNamespace = ELEMENT_DEFAULT_XML_NAMESPACE[node.name.toLowerCase()];\n\n if (xmlNamespace) {\n // $FlowFixMe\n return xmlNamespaceDomRenderer(node, xmlNamespace);\n }\n\n const el = createElement(doc, node);\n addProps(el, node);\n addChildren(el, node, doc, domRenderer);\n // $FlowFixMe\n return el;\n }\n\n throw new TypeError(`Unhandleable node`);\n };\n\n return domRenderer;\n}\n","/* @flow */\n\nconst ALPHA_CHARS = '0123456789abcdef';\n\nexport function uniqueID() : string {\n return 'xxxxxxxxxx'.replace(/./g, () => ALPHA_CHARS.charAt(Math.floor(Math.random() * ALPHA_CHARS.length)));\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function isDefined(val : any) : boolean %checks {\n return (val !== null && typeof val !== 'undefined');\n}\n","/* @flow */\n/* eslint unicorn/prefer-spread: off */\n\nimport { ComponentNode, TextNode, ElementNode, type NodePropsType, type NodeRenderer } from '../node';\nimport { NODE_TYPE } from '../constants';\n\ntype HTMLRenderer = NodeRenderer, string>;\n\nconst ELEMENT_PROP = {\n INNER_HTML: 'innerHTML'\n};\n\nconst SELF_CLOSING_TAGS = {\n br: true\n};\n\nfunction htmlEncode(text : string) : string {\n return text\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\n\nfunction propsToHTML(props : NodePropsType) : string {\n const keys = Object.keys(props).filter(key => {\n const val = props[key];\n\n if (key === ELEMENT_PROP.INNER_HTML) {\n return false;\n }\n\n if (typeof val === 'string' || typeof val === 'number' || val === true) {\n return true;\n }\n\n return false;\n });\n\n if (!keys.length) {\n return '';\n }\n\n const pairs = keys.map(key => {\n const val = props[key];\n\n if (val === true) {\n return `${ htmlEncode(key) }`;\n }\n\n if (typeof val !== 'string' && typeof val !== 'number') {\n throw new TypeError(`Unexpected prop type: ${ typeof val }`);\n }\n\n if (val === '') {\n return htmlEncode(key);\n }\n\n return `${ htmlEncode(key) }=\"${ htmlEncode(val.toString()) }\"`;\n });\n\n return ` ${ pairs.join(' ') }`;\n}\n\nexport function html() : HTMLRenderer {\n\n const htmlRenderer = (node) => {\n if (node.type === NODE_TYPE.COMPONENT) {\n return [].concat(node.renderComponent(htmlRenderer)).join('');\n }\n\n if (node.type === NODE_TYPE.ELEMENT) {\n const renderedProps = propsToHTML(node.props);\n\n if (SELF_CLOSING_TAGS[node.name]) {\n return `<${ node.name }${ renderedProps } />`;\n } else {\n const renderedChildren = (typeof node.props[ELEMENT_PROP.INNER_HTML] === 'string')\n ? node.props[ELEMENT_PROP.INNER_HTML]\n : node.renderChildren(htmlRenderer).join('');\n\n return `<${ node.name }${ renderedProps }>${ renderedChildren }`;\n }\n }\n\n if (node.type === NODE_TYPE.TEXT) {\n return htmlEncode(node.text);\n }\n\n throw new TypeError(`Unhandleable node: ${ node.type }`);\n };\n\n return htmlRenderer;\n}\n","var n,l,u,i,t,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return v(l,f,t,o,null)}function v(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function y(){return{current:null}}function p(n){return n.children}function d(n,l){this.props=n,this.context=l}function _(n,l){if(null==l)return n.__?_(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(d=x[h])||d&&k.key==d.key&&k.type===d.type)x[h]=void 0;else for(y=0;y2&&(f.children=arguments.length>3?n.call(arguments,2):i),v(l.type,f,t||l.key,o||l.ref,null)}function B(n,l){var u={__c:l=\"__cC\"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(b)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=e.slice,l={__e:function(n,l,u,i){for(var t,o,r;l=l.__;)if((t=l.__c)&&!t.__)try{if((o=t.constructor)&&null!=o.getDerivedStateFromError&&(t.setState(o.getDerivedStateFromError(n)),r=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),r=t.__d),r)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=s({},this.state),\"function\"==typeof n&&(n=n(s({},u),this.props)),n&&s(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),b(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),b(this))},d.prototype.render=p,t=[],g.__r=0,r=0;export{P as render,S as hydrate,h as createElement,h,p as Fragment,y as createRef,i as isValidElement,d as Component,q as cloneElement,B as createContext,x as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","/* @flow */\n/* eslint max-lines: 0 */\n\nexport const COUNTRY = {\n AD: (\"AD\": \"AD\"),\n AE: (\"AE\": \"AE\"),\n AG: (\"AG\": \"AG\"),\n AI: (\"AI\": \"AI\"),\n AL: (\"AL\": \"AL\"),\n AM: (\"AM\": \"AM\"),\n AN: (\"AN\": \"AN\"),\n AO: (\"AO\": \"AO\"),\n AR: (\"AR\": \"AR\"),\n AT: (\"AT\": \"AT\"),\n AU: (\"AU\": \"AU\"),\n AW: (\"AW\": \"AW\"),\n AZ: (\"AZ\": \"AZ\"),\n BA: (\"BA\": \"BA\"),\n BB: (\"BB\": \"BB\"),\n BE: (\"BE\": \"BE\"),\n BF: (\"BF\": \"BF\"),\n BG: (\"BG\": \"BG\"),\n BH: (\"BH\": \"BH\"),\n BI: (\"BI\": \"BI\"),\n BJ: (\"BJ\": \"BJ\"),\n BM: (\"BM\": \"BM\"),\n BN: (\"BN\": \"BN\"),\n BO: (\"BO\": \"BO\"),\n BR: (\"BR\": \"BR\"),\n BS: (\"BS\": \"BS\"),\n BT: (\"BT\": \"BT\"),\n BW: (\"BW\": \"BW\"),\n BY: (\"BY\": \"BY\"),\n BZ: (\"BZ\": \"BZ\"),\n CA: (\"CA\": \"CA\"),\n CD: (\"CD\": \"CD\"),\n CG: (\"CG\": \"CG\"),\n CH: (\"CH\": \"CH\"),\n CI: (\"CI\": \"CI\"),\n CK: (\"CK\": \"CK\"),\n CL: (\"CL\": \"CL\"),\n CM: (\"CM\": \"CM\"),\n CN: (\"CN\": \"CN\"),\n CO: (\"CO\": \"CO\"),\n CR: (\"CR\": \"CR\"),\n CV: (\"CV\": \"CV\"),\n CY: (\"CY\": \"CY\"),\n CZ: (\"CZ\": \"CZ\"),\n DE: (\"DE\": \"DE\"),\n DJ: (\"DJ\": \"DJ\"),\n DK: (\"DK\": \"DK\"),\n DM: (\"DM\": \"DM\"),\n DO: (\"DO\": \"DO\"),\n DZ: (\"DZ\": \"DZ\"),\n EC: (\"EC\": \"EC\"),\n EE: (\"EE\": \"EE\"),\n EG: (\"EG\": \"EG\"),\n ER: (\"ER\": \"ER\"),\n ES: (\"ES\": \"ES\"),\n ET: (\"ET\": \"ET\"),\n FI: (\"FI\": \"FI\"),\n FJ: (\"FJ\": \"FJ\"),\n FK: (\"FK\": \"FK\"),\n FM: (\"FM\": \"FM\"),\n FO: (\"FO\": \"FO\"),\n FR: (\"FR\": \"FR\"),\n GA: (\"GA\": \"GA\"),\n GB: (\"GB\": \"GB\"),\n GD: (\"GD\": \"GD\"),\n GE: (\"GE\": \"GE\"),\n GF: (\"GF\": \"GF\"),\n GI: (\"GI\": \"GI\"),\n GL: (\"GL\": \"GL\"),\n GM: (\"GM\": \"GM\"),\n GN: (\"GN\": \"GN\"),\n GP: (\"GP\": \"GP\"),\n GR: (\"GR\": \"GR\"),\n GT: (\"GT\": \"GT\"),\n GW: (\"GW\": \"GW\"),\n GY: (\"GY\": \"GY\"),\n HK: (\"HK\": \"HK\"),\n HN: (\"HN\": \"HN\"),\n HR: (\"HR\": \"HR\"),\n HU: (\"HU\": \"HU\"),\n ID: (\"ID\": \"ID\"),\n IE: (\"IE\": \"IE\"),\n IL: (\"IL\": \"IL\"),\n IN: (\"IN\": \"IN\"),\n IS: (\"IS\": \"IS\"),\n IT: (\"IT\": \"IT\"),\n JM: (\"JM\": \"JM\"),\n JO: (\"JO\": \"JO\"),\n JP: (\"JP\": \"JP\"),\n KE: (\"KE\": \"KE\"),\n KG: (\"KG\": \"KG\"),\n KH: (\"KH\": \"KH\"),\n KI: (\"KI\": \"KI\"),\n KM: (\"KM\": \"KM\"),\n KN: (\"KN\": \"KN\"),\n KR: (\"KR\": \"KR\"),\n KW: (\"KW\": \"KW\"),\n KY: (\"KY\": \"KY\"),\n KZ: (\"KZ\": \"KZ\"),\n LA: (\"LA\": \"LA\"),\n LC: (\"LC\": \"LC\"),\n LI: (\"LI\": \"LI\"),\n LK: (\"LK\": \"LK\"),\n LS: (\"LS\": \"LS\"),\n LT: (\"LT\": \"LT\"),\n LU: (\"LU\": \"LU\"),\n LV: (\"LV\": \"LV\"),\n MA: (\"MA\": \"MA\"),\n MC: (\"MC\": \"MC\"),\n MD: (\"MD\": \"MD\"),\n ME: (\"ME\": \"ME\"),\n MG: (\"MG\": \"MG\"),\n MH: (\"MH\": \"MH\"),\n MK: (\"MK\": \"MK\"),\n ML: (\"ML\": \"ML\"),\n MN: (\"MN\": \"MN\"),\n MQ: (\"MQ\": \"MQ\"),\n MR: (\"MR\": \"MR\"),\n MS: (\"MS\": \"MS\"),\n MT: (\"MT\": \"MT\"),\n MU: (\"MU\": \"MU\"),\n MV: (\"MV\": \"MV\"),\n MW: (\"MW\": \"MW\"),\n MX: (\"MX\": \"MX\"),\n MY: (\"MY\": \"MY\"),\n MZ: (\"MZ\": \"MZ\"),\n NA: (\"NA\": \"NA\"),\n NC: (\"NC\": \"NC\"),\n NE: (\"NE\": \"NE\"),\n NF: (\"NF\": \"NF\"),\n NG: (\"NG\": \"NG\"),\n NI: (\"NI\": \"NI\"),\n NL: (\"NL\": \"NL\"),\n NO: (\"NO\": \"NO\"),\n NP: (\"NP\": \"NP\"),\n NR: (\"NR\": \"NR\"),\n NU: (\"NU\": \"NU\"),\n NZ: (\"NZ\": \"NZ\"),\n OM: (\"OM\": \"OM\"),\n PA: (\"PA\": \"PA\"),\n PE: (\"PE\": \"PE\"),\n PF: (\"PF\": \"PF\"),\n PG: (\"PG\": \"PG\"),\n PH: (\"PH\": \"PH\"),\n PL: (\"PL\": \"PL\"),\n PM: (\"PM\": \"PM\"),\n PN: (\"PN\": \"PN\"),\n PT: (\"PT\": \"PT\"),\n PW: (\"PW\": \"PW\"),\n PY: (\"PY\": \"PY\"),\n QA: (\"QA\": \"QA\"),\n RE: (\"RE\": \"RE\"),\n RO: (\"RO\": \"RO\"),\n RS: (\"RS\": \"RS\"),\n RU: (\"RU\": \"RU\"),\n RW: (\"RW\": \"RW\"),\n SA: (\"SA\": \"SA\"),\n SB: (\"SB\": \"SB\"),\n SC: (\"SC\": \"SC\"),\n SE: (\"SE\": \"SE\"),\n SG: (\"SG\": \"SG\"),\n SH: (\"SH\": \"SH\"),\n SI: (\"SI\": \"SI\"),\n SJ: (\"SJ\": \"SJ\"),\n SK: (\"SK\": \"SK\"),\n SL: (\"SL\": \"SL\"),\n SM: (\"SM\": \"SM\"),\n SN: (\"SN\": \"SN\"),\n SO: (\"SO\": \"SO\"),\n SR: (\"SR\": \"SR\"),\n ST: (\"ST\": \"ST\"),\n SV: (\"SV\": \"SV\"),\n SZ: (\"SZ\": \"SZ\"),\n TC: (\"TC\": \"TC\"),\n TD: (\"TD\": \"TD\"),\n TG: (\"TG\": \"TG\"),\n TH: (\"TH\": \"TH\"),\n TJ: (\"TJ\": \"TJ\"),\n TM: (\"TM\": \"TM\"),\n TN: (\"TN\": \"TN\"),\n TO: (\"TO\": \"TO\"),\n TR: (\"TR\": \"TR\"),\n TT: (\"TT\": \"TT\"),\n TV: (\"TV\": \"TV\"),\n TW: (\"TW\": \"TW\"),\n TZ: (\"TZ\": \"TZ\"),\n UA: (\"UA\": \"UA\"),\n UG: (\"UG\": \"UG\"),\n US: (\"US\": \"US\"),\n UY: (\"UY\": \"UY\"),\n VA: (\"VA\": \"VA\"),\n VC: (\"VC\": \"VC\"),\n VE: (\"VE\": \"VE\"),\n VG: (\"VG\": \"VG\"),\n VN: (\"VN\": \"VN\"),\n VU: (\"VU\": \"VU\"),\n WF: (\"WF\": \"WF\"),\n WS: (\"WS\": \"WS\"),\n YE: (\"YE\": \"YE\"),\n YT: (\"YT\": \"YT\"),\n ZA: (\"ZA\": \"ZA\"),\n ZM: (\"ZM\": \"ZM\"),\n ZW: (\"ZW\": \"ZW\"),\n};\n\nexport const LANG = {\n AR: (\"ar\": \"ar\"),\n BG: (\"bg\": \"bg\"),\n CS: (\"cs\": \"cs\"),\n DA: (\"da\": \"da\"),\n DE: (\"de\": \"de\"),\n EL: (\"el\": \"el\"),\n EN: (\"en\": \"en\"),\n ES: (\"es\": \"es\"),\n ET: (\"et\": \"et\"),\n FI: (\"fi\": \"fi\"),\n FR: (\"fr\": \"fr\"),\n HE: (\"he\": \"he\"),\n HU: (\"hu\": \"hu\"),\n ID: (\"id\": \"id\"),\n IT: (\"it\": \"it\"),\n JA: (\"ja\": \"ja\"),\n KO: (\"ko\": \"ko\"),\n LT: (\"lt\": \"lt\"),\n LV: (\"lv\": \"lv\"),\n MS: (\"ms\": \"ms\"),\n NL: (\"nl\": \"nl\"),\n NO: (\"no\": \"no\"),\n PL: (\"pl\": \"pl\"),\n PT: (\"pt\": \"pt\"),\n RO: (\"ro\": \"ro\"),\n RU: (\"ru\": \"ru\"),\n SI: (\"si\": \"si\"),\n SK: (\"sk\": \"sk\"),\n SL: (\"sl\": \"sl\"),\n SQ: (\"sq\": \"sq\"),\n SV: (\"sv\": \"sv\"),\n TH: (\"th\": \"th\"),\n TL: (\"tl\": \"tl\"),\n TR: (\"tr\": \"tr\"),\n VI: (\"vi\": \"vi\"),\n ZH: (\"zh\": \"zh\"),\n ZH_HANT: (\"zh_Hant\": \"zh_Hant\"),\n};\n\nexport type CountryLangs = {|\n AD: \"en\" | \"fr\" | \"es\" | \"zh\",\n AE: \"en\" | \"fr\" | \"es\" | \"zh\" | \"ar\",\n AG: \"en\" | \"fr\" | \"es\" | \"zh\",\n AI: \"en\" | \"fr\" | \"es\" | \"zh\",\n AL: \"sq\" | \"en\",\n AM: \"en\" | \"fr\" | \"es\" | \"zh\",\n AN: \"en\" | \"fr\" | \"es\" | \"zh\",\n AO: \"en\" | \"fr\" | \"es\" | \"zh\",\n AR: \"es\" | \"en\",\n AT: \"de\" | \"en\",\n AU: \"en\",\n AW: \"en\" | \"fr\" | \"es\" | \"zh\",\n AZ: \"en\" | \"fr\" | \"es\" | \"zh\",\n BA: \"en\",\n BB: \"en\" | \"fr\" | \"es\" | \"zh\",\n BE: \"en\" | \"nl\" | \"fr\",\n BF: \"fr\" | \"en\" | \"es\" | \"zh\",\n BG: \"bg\" | \"en\",\n BH: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n BI: \"fr\" | \"en\" | \"es\" | \"zh\",\n BJ: \"fr\" | \"en\" | \"es\" | \"zh\",\n BM: \"en\" | \"fr\" | \"es\" | \"zh\",\n BN: \"ms\" | \"en\",\n BO: \"es\" | \"en\" | \"fr\" | \"zh\",\n BR: \"pt\" | \"en\",\n BS: \"en\" | \"fr\" | \"es\" | \"zh\",\n BT: \"en\",\n BW: \"en\" | \"fr\" | \"es\" | \"zh\",\n BY: \"en\",\n BZ: \"en\" | \"es\" | \"fr\" | \"zh\",\n CA: \"en\" | \"fr\",\n CD: \"fr\" | \"en\" | \"es\" | \"zh\",\n CG: \"en\" | \"fr\" | \"es\" | \"zh\",\n CH: \"de\" | \"fr\" | \"en\",\n CI: \"fr\" | \"en\",\n CK: \"en\" | \"fr\" | \"es\" | \"zh\",\n CL: \"es\" | \"en\" | \"fr\" | \"zh\",\n CM: \"fr\" | \"en\",\n CN: \"zh\",\n CO: \"es\" | \"en\" | \"fr\" | \"zh\",\n CR: \"es\" | \"en\" | \"fr\" | \"zh\",\n CV: \"en\" | \"fr\" | \"es\" | \"zh\",\n CY: \"en\",\n CZ: \"cs\" | \"en\",\n DE: \"de\" | \"en\",\n DJ: \"fr\" | \"en\" | \"es\" | \"zh\",\n DK: \"da\" | \"en\",\n DM: \"en\" | \"fr\" | \"es\" | \"zh\",\n DO: \"es\" | \"en\" | \"fr\" | \"zh\",\n DZ: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n EC: \"es\" | \"en\" | \"fr\" | \"zh\",\n EE: \"et\" | \"en\" | \"ru\",\n EG: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n ER: \"en\" | \"fr\" | \"es\" | \"zh\",\n ES: \"es\" | \"en\",\n ET: \"en\" | \"fr\" | \"es\" | \"zh\",\n FI: \"fi\" | \"en\",\n FJ: \"en\" | \"fr\" | \"es\" | \"zh\",\n FK: \"en\" | \"fr\" | \"es\" | \"zh\",\n FM: \"en\",\n FO: \"da\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n FR: \"fr\" | \"en\",\n GA: \"fr\" | \"en\" | \"es\" | \"zh\",\n GB: \"en\",\n GD: \"en\" | \"fr\" | \"es\" | \"zh\",\n GE: \"en\" | \"fr\" | \"es\" | \"zh\",\n GF: \"en\" | \"fr\" | \"es\" | \"zh\",\n GI: \"en\" | \"fr\" | \"es\" | \"zh\",\n GL: \"da\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n GM: \"en\" | \"fr\" | \"es\" | \"zh\",\n GN: \"fr\" | \"en\" | \"es\" | \"zh\",\n GP: \"en\" | \"fr\" | \"es\" | \"zh\",\n GR: \"el\" | \"en\",\n GT: \"es\" | \"en\" | \"fr\" | \"zh\",\n GW: \"en\" | \"fr\" | \"es\" | \"zh\",\n GY: \"en\" | \"fr\" | \"es\" | \"zh\",\n HK: \"en\" | \"zh_Hant\",\n HN: \"es\" | \"en\" | \"fr\" | \"zh\",\n HR: \"en\",\n HU: \"hu\" | \"en\",\n ID: \"id\" | \"en\",\n IE: \"en\" | \"fr\" | \"es\" | \"zh\",\n IL: \"he\" | \"en\",\n IN: \"en\",\n IS: \"en\",\n IT: \"it\" | \"en\",\n JM: \"en\" | \"es\" | \"fr\" | \"zh\",\n JO: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n JP: \"ja\" | \"en\",\n KE: \"en\" | \"fr\" | \"es\" | \"zh\",\n KG: \"en\" | \"fr\" | \"es\" | \"zh\",\n KH: \"en\",\n KI: \"en\" | \"fr\" | \"es\" | \"zh\",\n KM: \"fr\" | \"en\" | \"es\" | \"zh\",\n KN: \"en\" | \"fr\" | \"es\" | \"zh\",\n KR: \"ko\" | \"en\",\n KW: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n KY: \"en\" | \"fr\" | \"es\" | \"zh\",\n KZ: \"en\" | \"fr\" | \"es\" | \"zh\",\n LA: \"en\",\n LC: \"en\" | \"fr\" | \"es\" | \"zh\",\n LI: \"en\" | \"fr\" | \"es\" | \"zh\",\n LK: \"si\" | \"en\",\n LS: \"en\" | \"fr\" | \"es\" | \"zh\",\n LT: \"lt\" | \"en\" | \"ru\" | \"zh\",\n LU: \"en\" | \"de\" | \"fr\" | \"es\" | \"zh\",\n LV: \"lv\" | \"en\" | \"ru\",\n MA: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n MC: \"fr\" | \"en\",\n MD: \"en\",\n ME: \"en\",\n MG: \"en\" | \"fr\" | \"es\" | \"zh\",\n MH: \"en\" | \"fr\" | \"es\" | \"zh\",\n MK: \"en\",\n ML: \"fr\" | \"en\" | \"es\" | \"zh\",\n MN: \"en\",\n MQ: \"en\" | \"fr\" | \"es\" | \"zh\",\n MR: \"en\" | \"fr\" | \"es\" | \"zh\",\n MS: \"en\" | \"fr\" | \"es\" | \"zh\",\n MT: \"en\",\n MU: \"en\" | \"fr\" | \"es\" | \"zh\",\n MV: \"en\",\n MW: \"en\" | \"fr\" | \"es\" | \"zh\",\n MX: \"es\" | \"en\",\n MY: \"ms\" | \"en\",\n MZ: \"en\" | \"fr\" | \"es\" | \"zh\",\n NA: \"en\" | \"fr\" | \"es\" | \"zh\",\n NC: \"en\" | \"fr\" | \"es\" | \"zh\",\n NE: \"fr\" | \"en\" | \"es\" | \"zh\",\n NF: \"en\" | \"fr\" | \"es\" | \"zh\",\n NG: \"en\",\n NI: \"es\" | \"en\" | \"fr\" | \"zh\",\n NL: \"nl\" | \"en\",\n NO: \"no\" | \"en\",\n NP: \"en\",\n NR: \"en\" | \"fr\" | \"es\" | \"zh\",\n NU: \"en\" | \"fr\" | \"es\" | \"zh\",\n NZ: \"en\" | \"fr\" | \"es\" | \"zh\",\n OM: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n PA: \"es\" | \"en\" | \"fr\" | \"zh\",\n PE: \"es\" | \"en\" | \"fr\" | \"zh\",\n PF: \"en\" | \"fr\" | \"es\" | \"zh\",\n PG: \"en\" | \"fr\" | \"es\" | \"zh\",\n PH: \"tl\" | \"en\",\n PL: \"pl\" | \"en\",\n PM: \"en\" | \"fr\" | \"es\" | \"zh\",\n PN: \"en\" | \"fr\" | \"es\" | \"zh\",\n PT: \"pt\" | \"en\",\n PW: \"en\" | \"fr\" | \"es\" | \"zh\",\n PY: \"es\" | \"en\",\n QA: \"en\" | \"fr\" | \"es\" | \"zh\" | \"ar\",\n RE: \"en\" | \"fr\" | \"es\" | \"zh\",\n RO: \"ro\" | \"en\",\n RS: \"en\" | \"fr\" | \"es\" | \"zh\",\n RU: \"ru\" | \"en\",\n RW: \"fr\" | \"en\" | \"es\" | \"zh\",\n SA: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n SB: \"en\" | \"fr\" | \"es\" | \"zh\",\n SC: \"fr\" | \"en\" | \"es\" | \"zh\",\n SE: \"sv\" | \"en\",\n SG: \"en\",\n SH: \"en\" | \"fr\" | \"es\" | \"zh\",\n SI: \"sl\" | \"en\",\n SJ: \"en\" | \"fr\" | \"es\" | \"zh\",\n SK: \"sk\" | \"en\",\n SL: \"en\" | \"fr\" | \"es\" | \"zh\",\n SM: \"en\" | \"fr\" | \"es\" | \"zh\",\n SN: \"fr\" | \"en\" | \"es\" | \"zh\",\n SO: \"en\" | \"fr\" | \"es\" | \"zh\",\n SR: \"en\" | \"fr\" | \"es\" | \"zh\",\n ST: \"en\" | \"fr\" | \"es\" | \"zh\",\n SV: \"es\" | \"en\" | \"fr\" | \"zh\",\n SZ: \"en\" | \"fr\" | \"es\" | \"zh\",\n TC: \"en\" | \"fr\" | \"es\" | \"zh\",\n TD: \"fr\" | \"en\" | \"es\" | \"zh\",\n TG: \"fr\" | \"en\" | \"es\" | \"zh\",\n TH: \"th\" | \"en\",\n TJ: \"en\" | \"fr\" | \"es\" | \"zh\",\n TM: \"en\" | \"fr\" | \"es\" | \"zh\",\n TN: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n TO: \"en\",\n TR: \"tr\" | \"en\",\n TT: \"en\" | \"fr\" | \"es\" | \"zh\",\n TV: \"en\" | \"fr\" | \"es\" | \"zh\",\n TW: \"zh_Hant\" | \"en\",\n TZ: \"en\" | \"fr\" | \"es\" | \"zh\",\n UA: \"en\" | \"ru\" | \"fr\" | \"es\" | \"zh\",\n UG: \"en\" | \"fr\" | \"es\" | \"zh\",\n US: \"en\" | \"fr\" | \"es\" | \"zh\",\n UY: \"es\" | \"en\" | \"fr\" | \"zh\",\n VA: \"en\" | \"fr\" | \"es\" | \"zh\",\n VC: \"en\" | \"fr\" | \"es\" | \"zh\",\n VE: \"es\" | \"en\" | \"fr\" | \"zh\",\n VG: \"en\" | \"fr\" | \"es\" | \"zh\",\n VN: \"vi\" | \"en\",\n VU: \"en\" | \"fr\" | \"es\" | \"zh\",\n WF: \"en\" | \"fr\" | \"es\" | \"zh\",\n WS: \"en\",\n YE: \"ar\" | \"en\" | \"fr\" | \"es\" | \"zh\",\n YT: \"en\" | \"fr\" | \"es\" | \"zh\",\n ZA: \"en\" | \"fr\" | \"es\" | \"zh\",\n ZM: \"en\" | \"fr\" | \"es\" | \"zh\",\n ZW: \"en\",\n|};\n\ntype CountryMap = {\n [$Values]: $ReadOnlyArray<$Values>,\n};\n\nexport const COUNTRY_LANGS: CountryMap = {\n AD: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AE: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH, LANG.AR],\n AG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AI: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AL: [LANG.SQ, LANG.EN],\n AM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AN: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AO: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AR: [LANG.ES, LANG.EN],\n AT: [LANG.DE, LANG.EN],\n AU: [LANG.EN],\n AW: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n AZ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n BA: [LANG.EN],\n BB: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n BE: [LANG.EN, LANG.NL, LANG.FR],\n BF: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n BG: [LANG.BG, LANG.EN],\n BH: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n BI: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n BJ: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n BM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n BN: [LANG.MS, LANG.EN],\n BO: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n BR: [LANG.PT, LANG.EN],\n BS: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n BT: [LANG.EN],\n BW: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n BY: [LANG.EN],\n BZ: [LANG.EN, LANG.ES, LANG.FR, LANG.ZH],\n CA: [LANG.EN, LANG.FR],\n CD: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n CG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n CH: [LANG.DE, LANG.FR, LANG.EN],\n CI: [LANG.FR, LANG.EN],\n CK: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n CL: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n CM: [LANG.FR, LANG.EN],\n CN: [LANG.ZH],\n CO: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n CR: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n CV: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n CY: [LANG.EN],\n CZ: [LANG.CS, LANG.EN],\n DE: [LANG.DE, LANG.EN],\n DJ: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n DK: [LANG.DA, LANG.EN],\n DM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n DO: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n DZ: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n EC: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n EE: [LANG.ET, LANG.EN, LANG.RU],\n EG: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n ER: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n ES: [LANG.ES, LANG.EN],\n ET: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n FI: [LANG.FI, LANG.EN],\n FJ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n FK: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n FM: [LANG.EN],\n FO: [LANG.DA, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n FR: [LANG.FR, LANG.EN],\n GA: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n GB: [LANG.EN],\n GD: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GE: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GF: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GI: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GL: [LANG.DA, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GN: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n GP: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GR: [LANG.EL, LANG.EN],\n GT: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n GW: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n GY: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n HK: [LANG.EN, LANG.ZH_HANT, LANG.ZH],\n HN: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n HR: [LANG.EN],\n HU: [LANG.HU, LANG.EN],\n ID: [LANG.ID, LANG.EN],\n IE: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n IL: [LANG.HE, LANG.EN],\n IN: [LANG.EN],\n IS: [LANG.EN],\n IT: [LANG.IT, LANG.EN],\n JM: [LANG.EN, LANG.ES, LANG.FR, LANG.ZH],\n JO: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n JP: [LANG.JA, LANG.EN],\n KE: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n KG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n KH: [LANG.EN],\n KI: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n KM: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n KN: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n KR: [LANG.KO, LANG.EN],\n KW: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n KY: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n KZ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n LA: [LANG.EN],\n LC: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n LI: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n LK: [LANG.SI, LANG.EN],\n LS: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n LT: [LANG.LT, LANG.EN, LANG.RU, LANG.ZH],\n LU: [LANG.EN, LANG.DE, LANG.FR, LANG.ES, LANG.ZH],\n LV: [LANG.LV, LANG.EN, LANG.RU],\n MA: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MC: [LANG.FR, LANG.EN],\n MD: [LANG.EN],\n ME: [LANG.EN],\n MG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MH: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MK: [LANG.EN],\n ML: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n MN: [LANG.EN],\n MQ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MR: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MS: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MT: [LANG.EN],\n MU: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MV: [LANG.EN],\n MW: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n MX: [LANG.ES, LANG.EN],\n MY: [LANG.MS, LANG.EN],\n MZ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n NA: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n NC: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n NE: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n NF: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n NG: [LANG.EN],\n NI: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n NL: [LANG.NL, LANG.EN],\n NO: [LANG.NO, LANG.EN],\n NP: [LANG.EN],\n NR: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n NU: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n NZ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n OM: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n PA: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n PE: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n PF: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n PG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n PH: [LANG.TL, LANG.EN],\n PL: [LANG.PL, LANG.EN],\n PM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n PN: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n PT: [LANG.PT, LANG.EN],\n PW: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n PY: [LANG.ES, LANG.EN],\n QA: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH, LANG.AR],\n RE: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n RO: [LANG.RO, LANG.EN],\n RS: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n RU: [LANG.RU, LANG.EN],\n RW: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n SA: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SB: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SC: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n SE: [LANG.SV, LANG.EN],\n SG: [LANG.EN],\n SH: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SI: [LANG.SL, LANG.EN],\n SJ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SK: [LANG.SK, LANG.EN],\n SL: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SN: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n SO: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SR: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n ST: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SV: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n SZ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TC: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TD: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n TG: [LANG.FR, LANG.EN, LANG.ES, LANG.ZH],\n TH: [LANG.TH, LANG.EN],\n TJ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TN: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TO: [LANG.EN],\n TR: [LANG.TR, LANG.EN],\n TT: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TV: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n TW: [LANG.ZH_HANT, LANG.ZH, LANG.EN],\n TZ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n UA: [LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH],\n UG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n US: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n UY: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n VA: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n VC: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n VE: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n VG: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n VN: [LANG.VI, LANG.EN],\n VU: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n WF: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n WS: [LANG.EN],\n YE: [LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n YT: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n ZA: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n ZM: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n ZW: [LANG.EN],\n};\n\nexport type LocaleType = {|\n country: $Values,\n lang: $Values,\n|};\n","/* @flow */\n\nexport const INTENT = {\n CAPTURE: (\"capture\": \"capture\"),\n AUTHORIZE: (\"authorize\": \"authorize\"),\n ORDER: (\"order\": \"order\"),\n TOKENIZE: (\"tokenize\": \"tokenize\"),\n SUBSCRIPTION: (\"subscription\": \"subscription\"),\n};\n\nexport const COMMIT = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const VAULT = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const CURRENCY = {\n AED: (\"AED\": \"AED\"),\n ALL: (\"ALL\": \"ALL\"),\n ANG: (\"ANG\": \"ANG\"),\n AOA: (\"AOA\": \"AOA\"),\n AUD: (\"AUD\": \"AUD\"),\n AWG: (\"AWG\": \"AWG\"),\n BAM: (\"BAM\": \"BAM\"),\n BBD: (\"BBD\": \"BBD\"),\n BGN: (\"BGN\": \"BGN\"),\n BIF: (\"BIF\": \"BIF\"),\n BMD: (\"BMD\": \"BMD\"),\n BND: (\"BND\": \"BND\"),\n BOB: (\"BOB\": \"BOB\"),\n BRL: (\"BRL\": \"BRL\"),\n BSD: (\"BSD\": \"BSD\"),\n BTN: (\"BTN\": \"BTN\"),\n CAD: (\"CAD\": \"CAD\"),\n CDF: (\"CDF\": \"CDF\"),\n CHF: (\"CHF\": \"CHF\"),\n CLP: (\"CLP\": \"CLP\"),\n COP: (\"COP\": \"COP\"),\n CRC: (\"CRC\": \"CRC\"),\n CVE: (\"CVE\": \"CVE\"),\n CZK: (\"CZK\": \"CZK\"),\n DJF: (\"DJF\": \"DJF\"),\n DKK: (\"DKK\": \"DKK\"),\n DOP: (\"DOP\": \"DOP\"),\n DZD: (\"DZD\": \"DZD\"),\n EGP: (\"EGP\": \"EGP\"),\n ETB: (\"ETB\": \"ETB\"),\n EUR: (\"EUR\": \"EUR\"),\n FJD: (\"FJD\": \"FJD\"),\n FKP: (\"FKP\": \"FKP\"),\n GBP: (\"GBP\": \"GBP\"),\n GIP: (\"GIP\": \"GIP\"),\n GMD: (\"GMD\": \"GMD\"),\n GNF: (\"GNF\": \"GNF\"),\n GTQ: (\"GTQ\": \"GTQ\"),\n GYD: (\"GYD\": \"GYD\"),\n HKD: (\"HKD\": \"HKD\"),\n HNL: (\"HNL\": \"HNL\"),\n HRK: (\"HRK\": \"HRK\"),\n HUF: (\"HUF\": \"HUF\"),\n IDR: (\"IDR\": \"IDR\"),\n ILS: (\"ILS\": \"ILS\"),\n INR: (\"INR\": \"INR\"),\n ISK: (\"ISK\": \"ISK\"),\n JMD: (\"JMD\": \"JMD\"),\n JPY: (\"JPY\": \"JPY\"),\n KES: (\"KES\": \"KES\"),\n KMF: (\"KMF\": \"KMF\"),\n KRW: (\"KRW\": \"KRW\"),\n KYD: (\"KYD\": \"KYD\"),\n LAK: (\"LAK\": \"LAK\"),\n LKR: (\"LKR\": \"LKR\"),\n MDL: (\"MDL\": \"MDL\"),\n MGA: (\"MGA\": \"MGA\"),\n MKD: (\"MKD\": \"MKD\"),\n MNT: (\"MNT\": \"MNT\"),\n MRO: (\"MRO\": \"MRO\"),\n MUR: (\"MUR\": \"MUR\"),\n MVR: (\"MVR\": \"MVR\"),\n MXN: (\"MXN\": \"MXN\"),\n MYR: (\"MYR\": \"MYR\"),\n NAD: (\"NAD\": \"NAD\"),\n NIO: (\"NIO\": \"NIO\"),\n NOK: (\"NOK\": \"NOK\"),\n NPR: (\"NPR\": \"NPR\"),\n NZD: (\"NZD\": \"NZD\"),\n PEN: (\"PEN\": \"PEN\"),\n PGK: (\"PGK\": \"PGK\"),\n PHP: (\"PHP\": \"PHP\"),\n PLN: (\"PLN\": \"PLN\"),\n PYG: (\"PYG\": \"PYG\"),\n QAR: (\"QAR\": \"QAR\"),\n RON: (\"RON\": \"RON\"),\n RSD: (\"RSD\": \"RSD\"),\n RUB: (\"RUB\": \"RUB\"),\n SAR: (\"SAR\": \"SAR\"),\n SBD: (\"SBD\": \"SBD\"),\n SCR: (\"SCR\": \"SCR\"),\n SEK: (\"SEK\": \"SEK\"),\n SGD: (\"SGD\": \"SGD\"),\n SHP: (\"SHP\": \"SHP\"),\n SLL: (\"SLL\": \"SLL\"),\n SOS: (\"SOS\": \"SOS\"),\n SRD: (\"SRD\": \"SRD\"),\n SZL: (\"SZL\": \"SZL\"),\n THB: (\"THB\": \"THB\"),\n TJS: (\"TJS\": \"TJS\"),\n TOP: (\"TOP\": \"TOP\"),\n TTD: (\"TTD\": \"TTD\"),\n TWD: (\"TWD\": \"TWD\"),\n TZS: (\"TZS\": \"TZS\"),\n USD: (\"USD\": \"USD\"),\n UYU: (\"UYU\": \"UYU\"),\n VND: (\"VND\": \"VND\"),\n VUV: (\"VUV\": \"VUV\"),\n WST: (\"WST\": \"WST\"),\n XAF: (\"XAF\": \"XAF\"),\n XCD: (\"XCD\": \"XCD\"),\n YER: (\"YER\": \"YER\"),\n};\n","/* @flow */\n\nexport const SDK_PATH = \"/sdk/js\";\n\nexport const SDK_SETTINGS = {\n NAMESPACE: (\"data-namespace\": \"data-namespace\"),\n CLIENT_TOKEN: (\"data-client-token\": \"data-client-token\"),\n MERCHANT_ID: (\"data-merchant-id\": \"data-merchant-id\"),\n PARTNER_ATTRIBUTION_ID:\n (\"data-partner-attribution-id\": \"data-partner-attribution-id\"),\n STAGE_HOST: (\"data-stage-host\": \"data-stage-host\"),\n API_STAGE_HOST: (\"data-api-stage-host\": \"data-api-stage-host\"),\n CSP_NONCE: (\"data-csp-nonce\": \"data-csp-nonce\"),\n ENABLE_3DS: (\"data-enable-3ds\": \"data-enable-3ds\"),\n SDK_INTEGRATION_SOURCE:\n (\"data-sdk-integration-source\": \"data-sdk-integration-source\"),\n USER_ID_TOKEN: (\"data-user-id-token\": \"data-user-id-token\"),\n AMOUNT: (\"data-amount\": \"data-amount\"),\n CLIENT_METADATA_ID: (\"data-client-metadata-id\": \"data-client-metadata-id\"),\n PAGE_TYPE: (\"data-page-type\": \"data-page-type\"),\n USER_EXPERIENCE_FLOW:\n (\"data-user-experience-flow\": \"data-user-experience-flow\"),\n POPUPS_DISABLED: (\"data-popups-disabled\": \"data-popups-disabled\"),\n};\n\nexport const SDK_QUERY_KEYS = {\n COMPONENTS: (\"components\": \"components\"),\n\n ENV: (\"env\": \"env\"),\n DEBUG: (\"debug\": \"debug\"),\n CACHEBUST: (\"cachebust\": \"cachebust\"),\n\n CLIENT_ID: (\"client-id\": \"client-id\"),\n MERCHANT_ID: (\"merchant-id\": \"merchant-id\"),\n\n LOCALE: (\"locale\": \"locale\"),\n\n CURRENCY: (\"currency\": \"currency\"),\n INTENT: (\"intent\": \"intent\"),\n COMMIT: (\"commit\": \"commit\"),\n VAULT: (\"vault\": \"vault\"),\n\n BUYER_COUNTRY: (\"buyer-country\": \"buyer-country\"),\n\n ENABLE_FUNDING: (\"enable-funding\": \"enable-funding\"),\n DISABLE_FUNDING: (\"disable-funding\": \"disable-funding\"),\n DISABLE_CARD: (\"disable-card\": \"disable-card\"),\n\n INTEGRATION_DATE: (\"integration-date\": \"integration-date\"),\n STAGE_HOST: (\"stage-host\": \"stage-host\"),\n STAGE_ALIAS: (\"stage-alias\": \"stage-alias\"),\n CDN_REGISTRY: (\"cdn-registry\": \"cdn-registry\"),\n VERSION: (\"version\": \"version\"),\n};\n\nexport const COMPONENTS = {\n BUTTONS: (\"buttons\": \"buttons\"),\n HOSTED_FIELDS: (\"hosted-fields\": \"hosted-fields\"),\n};\n\nexport const DEBUG = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const QUERY_BOOL = {\n TRUE: (\"true\": \"true\"),\n FALSE: (\"false\": \"false\"),\n};\n\nexport const UNKNOWN = (\"unknown\": \"unknown\");\n\nexport const PROTOCOL = {\n HTTP: (\"http\": \"http\"),\n HTTPS: (\"https\": \"https\"),\n};\n\nexport const PAGE_TYPES = {\n HOME: (\"home\": \"home\"),\n PRODUCT: (\"product\": \"product\"),\n CART: (\"cart\": \"cart\"),\n CHECKOUT: (\"checkout\": \"checkout\"),\n PRODUCT_LISTING: (\"product-listing\": \"product-listing\"),\n SEARCH_RESULTS: (\"search-results\": \"search-results\"),\n PRODUCT_DETAILS: (\"product-details\": \"product-details\"),\n MINI_CART: (\"mini-cart\": \"mini-cart\"),\n};\n\nexport const MERCHANT_ID_MAX = 10;\n","/* @flow */\n\nimport { COUNTRY } from \"./locale\";\nimport { CURRENCY, INTENT, COMMIT, VAULT } from \"./order\";\nimport { COMPONENTS, DEBUG } from \"./params\";\n\nexport const DEFAULT_COUNTRY = COUNTRY.US;\nexport const DEFAULT_CURRENCY = CURRENCY.USD;\nexport const DEFAULT_INTENT = INTENT.CAPTURE;\nexport const DEFAULT_COMMIT = COMMIT.TRUE;\nexport const DEFAULT_SALE_COMMIT = COMMIT.TRUE;\nexport const DEFAULT_NONSALE_COMMIT = COMMIT.TRUE;\nexport const DEFAULT_VAULT = VAULT.FALSE;\nexport const DEFAULT_COMPONENTS = COMPONENTS.BUTTONS;\nexport const DEFAULT_DEBUG = DEBUG.FALSE;\n","/* @flow */\n\nexport const ENV = {\n LOCAL: (\"local\": \"local\"),\n STAGE: (\"stage\": \"stage\"),\n SANDBOX: (\"sandbox\": \"sandbox\"),\n PRODUCTION: (\"production\": \"production\"),\n TEST: (\"test\": \"test\"),\n};\n\nexport const MOBILE_ENV = {\n ANDROID: (\"android\": \"android\"),\n IOS: (\"iOS\": \"iOS\"),\n};\n","/* @flow */\n\nexport const FPTI_KEY = {\n FEED: (\"feed_name\": \"feed_name\"),\n STATE: (\"state_name\": \"state_name\"),\n TRANSITION: (\"transition_name\": \"transition_name\"),\n PAGE: (\"page_name\": \"page_name\"),\n BUTTON_TYPE: (\"button_type\": \"button_type\"),\n SESSION_UID: (\"page_session_id\": \"page_session_id\"),\n BUTTON_SESSION_UID: (\"button_session_id\": \"button_session_id\"),\n TOKEN: (\"token\": \"token\"),\n CONTEXT_ID: (\"context_id\": \"context_id\"),\n CONTEXT_TYPE: (\"context_type\": \"context_type\"),\n REFERER: (\"referer_url\": \"referer_url\"),\n MERCHANT_DOMAIN: (\"merchant_domain\": \"merchant_domain\"),\n PAY_ID: (\"pay_id\": \"pay_id\"),\n SELLER_ID: (\"seller_id\": \"seller_id\"),\n CLIENT_ID: (\"client_id\": \"client_id\"),\n DATA_SOURCE: (\"serverside_data_source\": \"serverside_data_source\"),\n BUTTON_SOURCE: (\"button_source\": \"button_source\"),\n ERROR_CODE: (\"ext_error_code\": \"ext_error_code\"),\n ERROR_DESC: (\"ext_error_desc\": \"ext_error_desc\"),\n PAGE_LOAD_TIME: (\"page_load_time\": \"page_load_time\"),\n EXPERIMENT_NAME: (\"pxp_exp_id\": \"pxp_exp_id\"),\n TREATMENT_NAME: (\"pxp_trtmnt_id\": \"pxp_trtmnt_id\"),\n TRANSITION_TIME: (\"transition_time\": \"transition_time\"),\n FUNDING_LIST: (\"eligible_payment_methods\": \"eligible_payment_methods\"),\n FUNDING_COUNT: (\"eligible_payment_count\": \"eligible_payment_count\"),\n CHOSEN_FUNDING: (\"selected_payment_method\": \"selected_payment_method\"),\n BUTTON_LAYOUT: (\"button_layout\": \"button_layout\"),\n VERSION: (\"checkoutjs_version\": \"checkoutjs_version\"),\n LOCALE: (\"locale\": \"locale\"),\n BUYER_COUNTRY: (\"buyer_cntry\": \"buyer_cntry\"),\n INTEGRATION_IDENTIFIER: (\"integration_identifier\": \"integration_identifier\"),\n PARTNER_ATTRIBUTION_ID: (\"bn_code\": \"bn_code\"),\n PAGE_TYPE: (\"pp_placement\": \"pp_placement\"),\n SDK_NAME: (\"sdk_name\": \"sdk_name\"),\n SDK_VERSION: (\"sdk_version\": \"sdk_version\"),\n SDK_ENVIRONMENT: (\"sdk_environment\": \"sdk_environment\"),\n MOBILE_APP_VERSION: (\"mobile_app_version\": \"mobile_app_version\"),\n MOBILE_BUNDLE_IDENTIFIER: (\"mapv\": \"mapv\"),\n USER_AGENT: (\"user_agent\": \"user_agent\"),\n USER_ACTION: (\"user_action\": \"user_action\"),\n CONTEXT_CORRID: (\"context_correlation_id\": \"context_correlation_id\"),\n SDK_CACHE: (\"sdk_cache\": \"sdk_cache\"),\n SDK_LOAD_TIME: (\"sdk_load_time\": \"sdk_load_time\"),\n IS_VAULT: (\"is_vault\": \"is_vault\"),\n DISABLE_FUNDING: (\"disable_funding\": \"disable_funding\"),\n DISABLE_CARD: (\"disable_card\": \"disable_card\"),\n RESPONSE_DURATION: (\"response_duration\": \"response_duration\"),\n SDK_INTEGRATION_SOURCE: (\"sdk_integration_source\": \"sdk_integration_source\"),\n PAYMENT_FLOW: (\"payment_flow\": \"payment_flow\"),\n BUTTON_VERSION: (\"button_version\": \"button_version\"),\n FI_LIST: (\"fi_list\": \"fi_list\"),\n CHOSEN_FI_TYPE: (\"chosen_fi_type\": \"chosen_fi_type\"),\n SELECTED_FI:\n (\"merchant_selected_funding_source\": \"merchant_selected_funding_source\"),\n POTENTIAL_PAYMENT_METHODS:\n (\"potential_payment_methods\": \"potential_payment_methods\"),\n PAY_NOW: (\"pay_now\": \"pay_now\"),\n STICKINESS_ID: (\"stickiness_id\": \"stickiness_id\"),\n TIMESTAMP: (\"t\": \"t\"),\n OPTION_SELECTED: (\"optsel\": \"optsel\"),\n USER_IDENTITY_METHOD: (\"user_identity_method\": \"user_identity_method\"),\n FIELDS_COMPONENT_SESSION_ID:\n (\"fields_component_session_id\": \"fields_component_session_id\"),\n CPL_COMP_METRICS: (\"cpl_comp_metrics\": \"cpl_comp_metrics\"),\n CPL_CHUNK_METRICS: (\"cpl_chunk_metrics\": \"cpl_chunk_metrics\"),\n CPL_QUERY_METRICS: (\"cpl_query_metrics\": \"cpl_query_metrics\"),\n};\n\nexport const FPTI_USER_ACTION = {\n COMMIT: (\"commit\": \"commit\"),\n CONTINUE: (\"continue\": \"continue\"),\n};\n\nexport const FPTI_DATA_SOURCE = {\n PAYMENTS_SDK: (\"checkout\": \"checkout\"),\n};\n\nexport const FPTI_FEED = {\n PAYMENTS_SDK: (\"payments_sdk\": \"payments_sdk\"),\n};\n\nexport const FPTI_SDK_NAME = {\n PAYMENTS_SDK: (\"payments_sdk\": \"payments_sdk\"),\n};\n","/* @flow */\n\nexport const FUNDING = {\n PAYPAL: (\"paypal\": \"paypal\"),\n VENMO: (\"venmo\": \"venmo\"),\n APPLEPAY: (\"applepay\": \"applepay\"),\n ITAU: (\"itau\": \"itau\"),\n CREDIT: (\"credit\": \"credit\"),\n PAYLATER: (\"paylater\": \"paylater\"),\n CARD: (\"card\": \"card\"),\n IDEAL: (\"ideal\": \"ideal\"),\n SEPA: (\"sepa\": \"sepa\"),\n BANCONTACT: (\"bancontact\": \"bancontact\"),\n GIROPAY: (\"giropay\": \"giropay\"),\n SOFORT: (\"sofort\": \"sofort\"),\n EPS: (\"eps\": \"eps\"),\n MYBANK: (\"mybank\": \"mybank\"),\n P24: (\"p24\": \"p24\"),\n VERKKOPANKKI: (\"verkkopankki\": \"verkkopankki\"),\n PAYU: (\"payu\": \"payu\"),\n BLIK: (\"blik\": \"blik\"),\n TRUSTLY: (\"trustly\": \"trustly\"),\n ZIMPLER: (\"zimpler\": \"zimpler\"),\n MAXIMA: (\"maxima\": \"maxima\"),\n OXXO: (\"oxxo\": \"oxxo\"),\n BOLETO: (\"boleto\": \"boleto\"),\n BOLETOBANCARIO: (\"boletobancario\": \"boletobancario\"),\n WECHATPAY: (\"wechatpay\": \"wechatpay\"),\n MERCADOPAGO: (\"mercadopago\": \"mercadopago\"),\n MULTIBANCO: (\"multibanco\": \"multibanco\"),\n};\n\nexport const FUNDING_BRAND_LABEL = {\n PAYPAL: (\"PayPal\": \"PayPal\"),\n CREDIT: (\"PayPal Credit\": \"PayPal Credit\"),\n};\n\nexport const CARD = {\n VISA: (\"visa\": \"visa\"),\n MASTERCARD: (\"mastercard\": \"mastercard\"),\n AMEX: (\"amex\": \"amex\"),\n DISCOVER: (\"discover\": \"discover\"),\n HIPER: (\"hiper\": \"hiper\"),\n ELO: (\"elo\": \"elo\"),\n JCB: (\"jcb\": \"jcb\"),\n CUP: (\"cup\": \"cup\"),\n};\n\nexport const WALLET_INSTRUMENT = {\n BALANCE: (\"balance\": \"balance\"),\n CARD: (\"card\": \"card\"),\n BANK: (\"bank\": \"bank\"),\n CREDIT: (\"credit\": \"credit\"),\n};\n\nexport const FUNDING_PRODUCTS = {\n PAY_IN_3: (\"payIn3\": \"payIn3\"),\n PAY_IN_4: (\"payIn4\": \"payIn4\"),\n PAYLATER: (\"paylater\": \"paylater\"),\n CREDIT: (\"credit\": \"credit\"),\n};\n","/* @flow */\n\nexport const PLATFORM = {\n DESKTOP: (\"desktop\": \"desktop\"),\n MOBILE: (\"mobile\": \"mobile\"),\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/* @flow */\nimport { sfvcScreens } from './screenHeights';\n\nexport function getUserAgent() : string {\n return window.navigator.mockUserAgent || window.navigator.userAgent;\n}\n\nconst TABLET_PATTERN = /ip(a|ro)d|silk|xoom|playbook|tablet|kindle|Nexus 7|GT-P10|SC-01C|SHW-M180S|SM-T320|SGH-T849|SCH-I800|SHW-M180L|SPH-P100|SGH-I987|zt180|HTC( Flyer|_Flyer)|Sprint ATP51|ViewPad7|pandigital(sprnova|nova)|Ideos S7|Dell Streak 7|Advent Vega|A101IT|A70BHT|MID7015|Next2|nook|FOLIO|MB511.*RUTEM|Mac OS.*Silk/i;\n\nexport function isDevice(userAgent? : string = getUserAgent()) : boolean {\n if (userAgent.match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i)) {\n return true;\n }\n\n return false;\n}\n\nexport function isTablet(userAgent? : string = getUserAgent()) : boolean {\n return TABLET_PATTERN.test(userAgent);\n}\n\nexport function isWebView() : boolean {\n const userAgent = getUserAgent();\n return (/(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)|.*WKWebView/i).test(userAgent) ||\n (/\\bwv\\b/).test(userAgent) ||\n (/Android.*Version\\/(\\d)\\.(\\d)/i).test(userAgent);\n}\n\nexport function isStandAlone() : boolean {\n return (window.navigator.standalone === true || window.matchMedia('(display-mode: standalone)').matches);\n}\n\nexport function isFacebookWebView(ua? : string = getUserAgent()) : boolean {\n return (/FBAN/).test(ua) || (/FBAV/).test(ua);\n}\n\nexport function isFirefox(ua? : string = getUserAgent()) : boolean {\n return (/Firefox/i).test(ua);\n}\n\nexport function isFirefoxIOS(ua? : string = getUserAgent()) : boolean {\n return (/FxiOS/i).test(ua);\n}\n\nexport function isEdgeIOS(ua? : string = getUserAgent()) : boolean {\n return (/EdgiOS/i).test(ua);\n}\n\nexport function isOperaMini(ua? : string = getUserAgent()) : boolean {\n return (/Opera Mini/i).test(ua);\n}\n\nexport function isAndroid(ua? : string = getUserAgent()) : boolean {\n return (/Android/).test(ua);\n}\n\nexport function isIos(ua? : string = getUserAgent()) : boolean {\n return (/iPhone|iPod|iPad/).test(ua);\n}\n\nexport function isIOS14(ua? : string = getUserAgent()) : boolean {\n return (/iPhone.*OS.*(1)?(?:(1)[0-4]| [0-9])_/).test(ua);\n}\n\nexport function isGoogleSearchApp(ua? : string = getUserAgent()) : boolean {\n return (/\\bGSA\\b/).test(ua);\n}\n\nexport function isQQBrowser(ua? : string = getUserAgent()) : boolean {\n return (/QQBrowser/).test(ua);\n}\n\nexport function isIosWebview(ua? : string = getUserAgent()) : boolean {\n if (isIos(ua)) {\n if (isGoogleSearchApp(ua)) {\n return true;\n }\n return (/.+AppleWebKit(?!.*Safari)|.*WKWebView/).test(ua);\n }\n return false;\n}\n\nexport function isSFVC(ua? : string = getUserAgent()) : boolean {\n if (isIos(ua)) {\n const height = window.innerHeight;\n const scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n const computedHeight = Math.round(height * scale);\n\n let device = null;\n if (isIOS14(ua)) {\n device = sfvcScreens[window.outerHeight];\n } else {\n if (scale !== 1) {\n return true;\n }\n\n device = sfvcScreens[window.outerHeight];\n }\n\n if (!device) {\n return true;\n }\n\n if (scale > 1 && device.zoomHeight && device.zoomHeight[scale]) {\n return device.zoomHeight[scale].indexOf(computedHeight) !== -1;\n } else {\n return device.textSizeHeights.indexOf(computedHeight) !== -1 ||\n device.textSizeHeightsNoTabs.indexOf(computedHeight) !== -1;\n }\n }\n return false;\n}\n\nexport function isSFVCorSafari(ua? : string = getUserAgent()) : boolean {\n if (isIos(ua)) {\n const sfvc = isSFVC(ua);\n\n const device = isIOS14(ua)\n ? sfvcScreens[window.outerHeight]\n : null;\n\n if (!device) {\n return false;\n }\n\n const height = window.innerHeight;\n const scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n\n const computedHeight = Math.round(height * scale);\n const possibleSafariSizes = device.maybeSafari;\n\n let maybeSafari = false;\n if (scale > 1 &&\n possibleSafariSizes[scale] &&\n possibleSafariSizes[scale].indexOf(computedHeight) !== -1) {\n \n maybeSafari = true;\n }\n\n return sfvc || maybeSafari;\n }\n return false;\n}\n\nexport function isAndroidWebview(ua? : string = getUserAgent()) : boolean {\n if (isAndroid(ua)) {\n return (/Version\\/[\\d.]+/).test(ua) && !isOperaMini(ua);\n }\n return false;\n}\n\nexport function isIE() : boolean {\n\n if (window.document.documentMode) {\n return true;\n }\n\n return Boolean(\n window.navigator &&\n window.navigator.userAgent &&\n (/Edge|MSIE|rv:11/i).test(window.navigator.userAgent)\n );\n}\n\nexport function isIECompHeader() : boolean {\n const mHttp = window.document.querySelector('meta[http-equiv=\"X-UA-Compatible\"]');\n const mContent = window.document.querySelector('meta[content=\"IE=edge\"]');\n if (mHttp && mContent) {\n return true;\n }\n return false;\n}\n\nexport function isElectron() : boolean {\n if (typeof process !== 'undefined' && process.versions && process.versions.electron) {\n return true;\n }\n return false;\n}\n\nexport function isIEIntranet() : boolean {\n\n // This status check only works for older versions of IE with document.documentMode set\n\n if (window.document.documentMode) {\n try {\n const status = window.status;\n\n window.status = 'testIntranetMode';\n\n if (window.status === 'testIntranetMode') {\n window.status = status;\n\n return true;\n }\n\n return false;\n\n } catch (err) {\n\n return false;\n }\n }\n\n return false;\n}\n\nexport function isMacOsCna() : boolean {\n const userAgent = getUserAgent();\n return (/Macintosh.*AppleWebKit(?!.*Safari)/i).test(userAgent);\n}\n\nexport function supportsPopups(ua? : string = getUserAgent()) : boolean {\n return !(isIosWebview(ua) || isAndroidWebview(ua) || isOperaMini(ua) ||\n isFirefoxIOS(ua) || isEdgeIOS(ua) || isFacebookWebView(ua) || isQQBrowser(ua) || isElectron() || isMacOsCna() || isStandAlone());\n}\n\nexport function isChrome(ua? : string = getUserAgent()) : boolean {\n return (/Chrome|Chromium|CriOS/).test(ua) && !(/SamsungBrowser|Silk|EdgA/).test(ua);\n}\n\nexport function isSafari(ua? : string = getUserAgent()) : boolean {\n return (/Safari/).test(ua) && !isChrome(ua) && !(/Silk|FxiOS|EdgiOS/).test(ua);\n}\n\nexport function isApplePaySupported() : boolean {\n try {\n if (window.ApplePaySession && window.ApplePaySession.supportsVersion(3) && window.ApplePaySession.canMakePayments()) {\n return true;\n }\n } catch (e) {\n return false;\n }\n\n return false;\n}\n\nexport function isCrossSiteTrackingEnabled(expectedCookieKey : string) : boolean {\n return window.document.cookie.indexOf(expectedCookieKey) === -1;\n}\n","/* @flow */\n\nexport function safeIndexOf(collection : $ReadOnlyArray, item : T) : number {\n for (let i = 0; i < collection.length; i++) {\n\n try {\n if (collection[i] === item) {\n return i;\n }\n } catch (err) {\n // pass\n }\n }\n\n return -1;\n}\n\n// eslint-disable-next-line no-unused-vars\nexport function noop(...args : $ReadOnlyArray) {\n // pass\n}\n","/* @flow */\n\nimport { isWindow, isWindowClosed } from '@krakenjs/cross-domain-utils/src';\n\nimport { hasNativeWeakMap } from './native';\nimport { noop, safeIndexOf } from './util';\n\nexport class CrossDomainSafeWeakMap {\n\n name : string;\n weakmap : ?WeakMap;\n // eslint-disable-next-line flowtype/no-mutable-array\n keys : Array;\n // eslint-disable-next-line flowtype/no-mutable-array\n values : Array;\n\n constructor() {\n // eslint-disable-next-line no-bitwise\n this.name = `__weakmap_${ Math.random() * 1e9 >>> 0 }__`;\n\n if (hasNativeWeakMap()) {\n try {\n this.weakmap = new WeakMap();\n } catch (err) {\n // pass\n }\n }\n\n this.keys = [];\n this.values = [];\n }\n\n _cleanupClosedWindows() {\n\n const weakmap = this.weakmap;\n const keys = this.keys;\n\n for (let i = 0; i < keys.length; i++) {\n const value = keys[i];\n\n if (isWindow(value) && isWindowClosed(value)) {\n\n if (weakmap) {\n try {\n weakmap.delete(value);\n } catch (err) {\n // pass\n }\n }\n\n keys.splice(i, 1);\n this.values.splice(i, 1);\n\n i -= 1;\n }\n }\n }\n\n isSafeToReadWrite(key : K) : boolean {\n\n if (isWindow(key)) {\n return false;\n }\n\n try {\n noop(key && key.self);\n noop(key && key[this.name]);\n } catch (err) {\n return false;\n }\n\n return true;\n }\n\n set(key : K, value : V) {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const name = this.name;\n const entry = key[name];\n\n if (entry && entry[0] === key) {\n entry[1] = value;\n } else {\n Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: true\n });\n }\n\n return;\n\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const keys = this.keys;\n const values = this.values;\n const index = safeIndexOf(keys, key);\n\n if (index === -1) {\n keys.push(key);\n values.push(value);\n } else {\n values[index] = value;\n }\n }\n\n get(key : K) : V | void {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n if (weakmap.has(key)) {\n return weakmap.get(key);\n }\n\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const entry = key[this.name];\n\n if (entry && entry[0] === key) {\n return entry[1];\n }\n\n return;\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const keys = this.keys;\n const index = safeIndexOf(keys, key);\n\n if (index === -1) {\n return;\n }\n\n return this.values[index];\n }\n\n delete(key : K) {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const entry = key[this.name];\n\n if (entry && entry[0] === key) {\n entry[0] = entry[1] = undefined;\n }\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const keys = this.keys;\n const index = safeIndexOf(keys, key);\n\n if (index !== -1) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n }\n\n has(key : K) : boolean {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n if (weakmap.has(key)) {\n return true;\n }\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const entry = key[this.name];\n\n if (entry && entry[0] === key) {\n return true;\n }\n\n return false;\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const index = safeIndexOf(this.keys, key);\n return index !== -1;\n }\n\n getOrSet(key : K, getter : () => V) : V {\n if (this.has(key)) {\n // $FlowFixMe\n return this.get(key);\n }\n\n const value = getter();\n this.set(key, value);\n return value;\n }\n}\n","\n/* @flow */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from '@krakenjs/zalgo-promise/src';\nimport { WeakMap } from '@krakenjs/cross-domain-safe-weakmap/src';\n\nimport type { CancelableType } from './types';\n\nexport function isElement(element : mixed) : boolean {\n let passed = false;\n\n try {\n if (element instanceof window.Element) {\n passed = true;\n } else if (element !== null && typeof element === 'object' && element.nodeType === 1 && typeof element.style === 'object' && typeof element.ownerDocument === 'object') {\n passed = true;\n }\n } catch (_) {\n // we don't have an element\n }\n\n return passed;\n}\n\nexport function getFunctionName (fn : T) : string {\n return fn.name || fn.__name__ || fn.displayName || 'anonymous';\n}\n\nexport function setFunctionName (fn : T, name : string) : T {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {\n // pass\n }\n\n fn.__name__ = fn.displayName = name;\n return fn;\n}\n\nexport function base64encode(str : string) : string {\n if (typeof btoa === 'function') {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (m, p1) => {\n return String.fromCharCode(parseInt(p1, 16));\n })).replace(/[=]/g, '');\n }\n\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str, 'utf8').toString('base64').replace(/[=]/g, '');\n }\n\n throw new Error(`Can not find window.btoa or Buffer`);\n}\n\nexport function base64decode(str : string) : string {\n if (typeof atob === 'function') {\n // $FlowFixMe[method-unbinding]\n return decodeURIComponent(Array.prototype.map.call(atob(str), c => {\n // eslint-disable-next-line prefer-template\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str, 'base64').toString('utf8');\n }\n\n throw new Error(`Can not find window.atob or Buffer`);\n}\n\nexport function uniqueID() : string {\n\n const chars = '0123456789abcdef';\n\n const randomID = 'xxxxxxxxxx'.replace(/./g, () => {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n });\n\n const timeID = base64encode(\n new Date().toISOString().slice(11, 19).replace('T', '.')\n ).replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n\n return `uid_${ randomID }_${ timeID }`;\n}\n\nexport function getGlobal() : Object {\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n if (typeof __GLOBAL__ !== 'undefined') {\n return __GLOBAL__;\n }\n throw new Error(`No global found`);\n}\n\nlet objectIDs;\n\nexport function getObjectID(obj : Object) : string {\n\n objectIDs = objectIDs || new WeakMap();\n\n if (obj === null || obj === undefined || (typeof obj !== 'object' && typeof obj !== 'function')) {\n throw new Error(`Invalid object`);\n }\n\n let uid = objectIDs.get(obj);\n\n if (!uid) {\n uid = `${ typeof obj }:${ uniqueID() }`;\n objectIDs.set(obj, uid);\n }\n\n return uid;\n}\n\nfunction serializeArgs(args : $ReadOnlyArray) : string {\n try {\n // $FlowFixMe[method-unbinding]\n return JSON.stringify(Array.prototype.slice.call(args), (subkey, val) => {\n\n // Treat each distinct function as unique for purposes of memoization\n // e.g. even if someFunction.stringify() is the same, we may use a different memoize cache\n // if the actual function is different.\n if (typeof val === 'function') {\n return `memoize[${ getObjectID(val) }]`;\n }\n\n // By default JSON.stringify(domElement) returns '{}'. This ensures that stays true even for non-standard\n // elements (e.g. React-rendered dom elements) with custom properties\n if (isElement(val)) {\n return {};\n }\n\n return val;\n });\n } catch (err) {\n throw new Error(`Arguments not serializable -- can not be used to memoize`);\n }\n}\n\nexport function getEmptyObject() : {||} {\n // $FlowFixMe\n return {};\n}\n\ntype MemoizeOptions = {|\n name? : string,\n time? : number,\n thisNamespace? : boolean\n|};\n\nconst getDefaultMemoizeOptions = () : MemoizeOptions => {\n // $FlowFixMe\n return {};\n};\n\nexport type Memoized = F & {| reset : () => void |};\n\nlet memoizeGlobalIndex = 0;\nlet memoizeGlobalIndexValidFrom = 0;\n\nexport function memoize(method : F, options? : MemoizeOptions = getDefaultMemoizeOptions()) : Memoized {\n const { thisNamespace = false, time: cacheTime } = options;\n\n let simpleCache;\n let thisCache;\n\n let memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n\n const memoizedFunction = function memoizedFunction(...args) : mixed {\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n\n let cache;\n\n if (thisNamespace) {\n thisCache = thisCache || new WeakMap();\n cache = thisCache.getOrSet(this, getEmptyObject);\n } else {\n cache = simpleCache = simpleCache || {};\n }\n\n let cacheKey;\n\n try {\n cacheKey = serializeArgs(args);\n } catch {\n return method.apply(this, arguments);\n }\n\n let cacheResult = cache[cacheKey];\n\n if (cacheResult && cacheTime && (Date.now() - cacheResult.time) < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n\n if (cacheResult) {\n return cacheResult.value;\n }\n\n const time = Date.now();\n const value = method.apply(this, arguments);\n\n cache[cacheKey] = { time, value };\n\n return value;\n };\n\n memoizedFunction.reset = () => {\n simpleCache = null;\n thisCache = null;\n };\n\n // $FlowFixMe\n const result : F = memoizedFunction;\n\n return setFunctionName(result, `${ options.name || getFunctionName(method) }::memoized`);\n}\n\nmemoize.clear = () => {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n};\n\nexport function promiseIdentity(item : ZalgoPromise | T) : ZalgoPromise {\n // $FlowFixMe\n return ZalgoPromise.resolve(item);\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function memoizePromise(method : (...args : $ReadOnlyArray) => ZalgoPromise) : ((...args : $ReadOnlyArray) => ZalgoPromise) {\n let cache = {};\n\n // eslint-disable-next-line flowtype/no-weak-types\n function memoizedPromiseFunction(...args : $ReadOnlyArray) : ZalgoPromise {\n const key : string = serializeArgs(args);\n\n if (cache.hasOwnProperty(key)) {\n return cache[key];\n }\n\n cache[key] = ZalgoPromise.try(() => method.apply(this, arguments))\n .finally(() => {\n delete cache[key];\n });\n\n return cache[key];\n }\n\n memoizedPromiseFunction.reset = () => {\n cache = {};\n };\n\n return setFunctionName(memoizedPromiseFunction, `${ getFunctionName(method) }::promiseMemoized`);\n}\n\ntype PromisifyOptions = {|\n name ? : string\n|};\n\nconst getDefaultPromisifyOptions = () : PromisifyOptions => {\n // $FlowFixMe\n return {};\n};\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function promisify(method : (...args : $ReadOnlyArray) => R, options : PromisifyOptions = getDefaultPromisifyOptions()) : ((...args : $ReadOnlyArray) => ZalgoPromise) {\n function promisifiedFunction() : ZalgoPromise {\n return ZalgoPromise.try(method, this, arguments);\n }\n\n if (options.name) {\n promisifiedFunction.displayName = `${ options.name }:promisified`;\n }\n\n return setFunctionName(promisifiedFunction, `${ getFunctionName(method) }::promisified`);\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function inlineMemoize(method : (...args : $ReadOnlyArray) => R, logic : (...args : $ReadOnlyArray) => R, args : $ReadOnlyArray = []) : R {\n // $FlowFixMe\n const cache : {| [string] : R |} = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n const key = serializeArgs(args);\n\n if (cache.hasOwnProperty(key)) {\n return cache[key];\n }\n\n const result = cache[key] = logic(...args);\n\n return result;\n}\n\n// eslint-disable-next-line no-unused-vars\nexport function noop(...args : $ReadOnlyArray) {\n // pass\n}\n\nexport function once(method : Function) : Function {\n let called = false;\n\n const onceFunction = function() : mixed {\n if (!called) {\n called = true;\n return method.apply(this, arguments);\n }\n };\n\n return setFunctionName(onceFunction, `${ getFunctionName(method) }::once`);\n}\n\nexport function hashStr(str : string) : number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash += str[i].charCodeAt(0) * Math.pow((i % 10) + 1, 5);\n }\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n}\n\nexport function strHashStr(str : string) : string {\n let hash = '';\n\n for (let i = 0; i < str.length; i++) {\n let total = (str[i].charCodeAt(0) * i);\n\n if (str[i + 1]) {\n total += (str[i + 1].charCodeAt(0) * (i - 1));\n }\n\n hash += String.fromCharCode(97 + (Math.abs(total) % 26));\n }\n\n return hash;\n}\n\nexport function match(str : string, pattern : RegExp) : ?string {\n const regmatch = str.match(pattern);\n if (regmatch) {\n return regmatch[1];\n }\n}\n\nexport function awaitKey(obj : Object, key : string) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n\n let value = obj[key];\n\n if (value) {\n return resolve(value);\n }\n\n delete obj[key];\n\n Object.defineProperty(obj, key, {\n\n configurable: true,\n\n set(item) {\n value = item;\n\n if (value) {\n resolve(value);\n }\n },\n\n get() : T {\n return value;\n }\n });\n });\n}\n\nexport function stringifyError(err : mixed, level : number = 1) : string {\n\n if (level >= 3) {\n return 'stringifyError stack overflow';\n }\n\n try {\n if (!err) {\n // $FlowFixMe[method-unbinding]\n return ``;\n }\n\n if (typeof err === 'string') {\n return err;\n }\n\n if (err instanceof Error) {\n const stack = err && err.stack;\n const message = err && err.message;\n\n if (stack && message) {\n if (stack.indexOf(message) !== -1) {\n return stack;\n } else {\n return `${ message }\\n${ stack }`;\n }\n } else if (stack) {\n return stack;\n } else if (message) {\n return message;\n }\n }\n\n if (err && err.toString && typeof err.toString === 'function') {\n // $FlowFixMe\n return err.toString();\n }\n\n // $FlowFixMe[method-unbinding]\n return Object.prototype.toString.call(err);\n\n } catch (newErr) {\n return `Error while stringifying error: ${ stringifyError(newErr, level + 1) }`;\n }\n}\n\nexport function stringifyErrorMessage(err : mixed) : string {\n\n // $FlowFixMe[method-unbinding]\n const defaultMessage = ``;\n\n if (!err) {\n return defaultMessage;\n }\n\n if (err instanceof Error) {\n return err.message || defaultMessage;\n }\n\n if (typeof err.message === 'string') {\n return err.message || defaultMessage;\n }\n\n return defaultMessage;\n}\n\nexport function stringify(item : mixed) : string {\n if (typeof item === 'string') {\n return item;\n }\n\n if (item && item.toString && typeof item.toString === 'function') {\n // $FlowFixMe\n return item.toString();\n }\n\n // $FlowFixMe[method-unbinding]\n return Object.prototype.toString.call(item);\n}\n\nexport function domainMatches(hostname : string, domain : string) : boolean {\n hostname = hostname.split('://')[1];\n const index = hostname.indexOf(domain);\n return (index !== -1 && hostname.slice(index) === domain);\n}\n\nexport function patchMethod(obj : Object, name : string, handler : Function) {\n const original = obj[name];\n\n obj[name] = function patchedMethod() : mixed {\n return handler({\n context: this,\n // $FlowFixMe[method-unbinding]\n args: Array.prototype.slice.call(arguments),\n original,\n callOriginal: () => original.apply(this, arguments)\n });\n };\n}\n\nexport function extend(obj : T, source : Object) : T {\n if (!source) {\n return obj;\n }\n\n if (Object.assign) {\n return Object.assign(obj, source);\n }\n\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n obj[key] = source[key];\n }\n }\n\n return obj;\n}\n\nexport function values(obj : { [string] : T }) : $ReadOnlyArray {\n if (Object.values) {\n // $FlowFixMe\n return Object.values(obj);\n }\n\n const result : Array = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n // $FlowFixMe[escaped-generic]\n result.push(obj[key]);\n }\n }\n\n // $FlowFixMe\n return result;\n}\n\n// eslint-disable-next-line no-undef\nexport const memoizedValues : ({ [string] : T }) => $ReadOnlyArray = memoize(values);\n\nexport function perc(pixels : number, percentage : number) : number {\n return Math.round((pixels * percentage) / 100);\n}\n\nexport function min(...args : $ReadOnlyArray) : number {\n return Math.min(...args);\n}\n\nexport function max(...args : $ReadOnlyArray) : number {\n return Math.max(...args);\n}\n\nexport function roundUp(num : number, nearest : number) : number {\n const remainder = num % nearest;\n return remainder\n ? (num - remainder) + nearest\n : num;\n}\n\nexport function regexMap(str : string, regexp : RegExp, handler : () => T) : $ReadOnlyArray {\n const results = [];\n\n // $FlowFixMe\n str.replace(regexp, function regexMapMatcher(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n });\n\n // $FlowFixMe\n return results;\n}\n\nexport function svgToBase64(svg : string) : string {\n return `data:image/svg+xml;base64,${ base64encode(svg) }`;\n}\n\nexport function objFilter(obj : { [string] : T }, filter? : (T, ?string) => mixed = Boolean) : { [string] : R } {\n const result = {};\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || !filter(obj[key], key)) {\n continue;\n }\n\n result[key] = obj[key];\n }\n\n return result;\n}\n\nexport function identity (item : T) : T {\n return item;\n}\n\nexport function regexTokenize(text : string, regexp : RegExp) : $ReadOnlyArray {\n const result = [];\n text.replace(regexp, token => {\n result.push(token);\n return '';\n });\n return result;\n}\n\nexport function promiseDebounce(method : () => ZalgoPromise | T, delay : number = 50) : () => ZalgoPromise {\n\n let promise;\n let timeout;\n\n const promiseDebounced = function() : ZalgoPromise {\n if (timeout) {\n clearTimeout(timeout);\n }\n\n const localPromise = promise = promise || new ZalgoPromise();\n\n timeout = setTimeout(() => {\n promise = null;\n timeout = null;\n\n ZalgoPromise.try(method).then(\n result => { localPromise.resolve(result); },\n err => { localPromise.reject(err); }\n );\n }, delay);\n\n return localPromise;\n };\n\n return setFunctionName(promiseDebounced, `${ getFunctionName(method) }::promiseDebounced`);\n}\n\nexport function safeInterval(method : Function, time : number) : {| cancel : () => void |} {\n\n let timeout;\n\n function loop() {\n timeout = setTimeout(() => {\n method();\n loop();\n }, time);\n }\n\n loop();\n\n return {\n cancel() {\n clearTimeout(timeout);\n }\n };\n}\n\nexport function isInteger(str : string) : boolean {\n return Boolean(str.match(/^[0-9]+$/));\n}\n\nexport function isFloat(str : string) : boolean {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n}\n\nexport function serializePrimitive(value : string | number | boolean) : string {\n return value.toString();\n}\n\nexport function deserializePrimitive(value : string) : string | number | boolean {\n if (value === 'true') {\n return true;\n } else if (value === 'false') {\n return false;\n } else if (isInteger(value)) {\n return parseInt(value, 10);\n } else if (isFloat(value)) {\n return parseFloat(value);\n } else {\n return value;\n }\n}\n\nexport function dotify(obj : Object, prefix : string = '', newobj : Object = {}) : { [string] : string } {\n prefix = prefix ? `${ prefix }.` : prefix;\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || obj[key] === undefined || obj[key] === null || typeof obj[key] === 'function') {\n continue;\n } else if (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every(val => typeof val !== 'object')) {\n newobj[`${ prefix }${ key }[]`] = obj[key].join(',');\n } else if (obj[key] && typeof obj[key] === 'object') {\n newobj = dotify(obj[key], `${ prefix }${ key }`, newobj);\n } else {\n newobj[`${ prefix }${ key }`] = serializePrimitive(obj[key]);\n }\n }\n return newobj;\n}\n\nexport function undotify(obj : { [string] : string }) : Object {\n\n const result = {};\n\n for (let key in obj) {\n if (!obj.hasOwnProperty(key) || typeof obj[key] !== 'string') {\n continue;\n }\n\n let value = obj[key];\n\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(',').map(deserializePrimitive);\n } else {\n value = deserializePrimitive(value);\n }\n\n let keyResult = result;\n const parts = key.split('.');\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n const isLast = (i + 1 === parts.length);\n const isIndex = !isLast && isInteger(parts[i + 1]);\n\n if (part === 'constructor' || part === 'prototype' || part === '__proto__') {\n throw new Error(`Disallowed key: ${ part }`);\n }\n\n if (isLast) {\n // $FlowFixMe\n keyResult[part] = value;\n } else {\n // $FlowFixMe\n keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n }\n\n return result;\n}\n\nexport type EventEmitterType = {|\n on : (eventName : string, handler : Function) => CancelableType,\n once : (eventName : string, handler : Function) => CancelableType,\n trigger : (eventName : string, ...args : $ReadOnlyArray) => ZalgoPromise,\n triggerOnce : (eventName : string, ...args : $ReadOnlyArray) => ZalgoPromise,\n reset : () => void\n|};\n\nexport function eventEmitter() : EventEmitterType {\n const triggered = {};\n let handlers = {};\n\n const emitter = {\n\n on(eventName : string, handler : Function) : CancelableType {\n const handlerList = handlers[eventName] = handlers[eventName] || [];\n\n handlerList.push(handler);\n\n let cancelled = false;\n\n return {\n cancel() {\n if (!cancelled) {\n cancelled = true;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n\n }\n };\n },\n\n once(eventName : string, handler : Function) : CancelableType {\n\n const listener = emitter.on(eventName, () => {\n listener.cancel();\n handler();\n });\n\n return listener;\n },\n\n trigger(eventName : string, ...args : $ReadOnlyArray) : ZalgoPromise {\n\n const handlerList = handlers[eventName];\n const promises = [];\n\n if (handlerList) {\n for (const handler of handlerList) {\n promises.push(ZalgoPromise.try(() => handler(...args)));\n }\n }\n\n return ZalgoPromise.all(promises).then(noop);\n },\n\n triggerOnce(eventName : string, ...args : $ReadOnlyArray) : ZalgoPromise {\n\n if (triggered[eventName]) {\n return ZalgoPromise.resolve();\n }\n\n triggered[eventName] = true;\n return emitter.trigger(eventName, ...args);\n },\n\n reset() {\n handlers = {};\n }\n };\n\n return emitter;\n}\n\nexport function camelToDasherize(string : string) : string {\n return string.replace(/([A-Z])/g, (g) => {\n return `-${ g.toLowerCase() }`;\n });\n}\n\nexport function dasherizeToCamel(string : string) : string {\n return string.replace(/-([a-z])/g, (g) => {\n return g[1].toUpperCase();\n });\n}\n\nexport function capitalizeFirstLetter(string : string) : string {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n}\n\nexport function get(item : Object, path : string, def : mixed) : mixed {\n\n if (!path) {\n return def;\n }\n\n const pathParts = path.split('.');\n\n // Loop through each section of our key path\n\n for (let i = 0; i < pathParts.length; i++) {\n\n // If we have an object, we can get the key\n if (typeof item === 'object' && item !== null) {\n item = item[pathParts[i]];\n\n // Otherwise, we should return the default (undefined if not provided)\n } else {\n return def;\n }\n }\n\n // If our final result is undefined, we should return the default\n\n return item === undefined ? def : item;\n}\n\nexport function safeTimeout(method : Function, time : number) {\n\n const interval = safeInterval(() => {\n time -= 100;\n if (time <= 0) {\n interval.cancel();\n method();\n }\n }, 100);\n}\n\nexport function defineLazyProp(obj : Object | $ReadOnlyArray, key : string | number, getter : () => T) {\n if (Array.isArray(obj)) {\n if (typeof key !== 'number') {\n throw new TypeError(`Array key must be number`);\n }\n } else if (typeof obj === 'object' && obj !== null) {\n if (typeof key !== 'string') {\n throw new TypeError(`Object key must be string`);\n }\n }\n\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: true,\n get: () => {\n // $FlowFixMe\n delete obj[key];\n const value = getter();\n // $FlowFixMe\n obj[key] = value;\n return value;\n },\n set: (value : T) => {\n // $FlowFixMe\n delete obj[key];\n // $FlowFixMe\n obj[key] = value;\n }\n });\n}\n\nexport function arrayFrom(item : Iterable) : $ReadOnlyArray { // eslint-disable-line no-undef\n // $FlowFixMe[method-unbinding]\n return Array.prototype.slice.call(item);\n}\n\nexport function isObject(item : mixed) : boolean {\n return (typeof item === 'object' && item !== null);\n}\n\nexport function isObjectObject(obj : mixed) : boolean {\n // $FlowFixMe[method-unbinding]\n return isObject(obj) && Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nexport function isPlainObject(obj : mixed) : boolean {\n if (!isObjectObject(obj)) {\n return false;\n }\n\n // $FlowFixMe\n const constructor = obj.constructor;\n\n if (typeof constructor !== 'function') {\n return false;\n }\n\n const prototype = constructor.prototype;\n\n if (!isObjectObject(prototype)) {\n return false;\n }\n\n if (!prototype.hasOwnProperty('isPrototypeOf')) {\n return false;\n }\n\n return true;\n}\n\nexport function replaceObject | Object> (item : T, replacer : (mixed, string | number, string) => mixed, fullKey : string = '') : T {\n\n if (Array.isArray(item)) {\n const length = item.length;\n const result : Array = [];\n\n for (let i = 0; i < length; i++) {\n\n\n defineLazyProp(result, i, () => {\n const itemKey = fullKey ? `${ fullKey }.${ i }` : `${ i }`;\n const el = item[i];\n\n let child = replacer(el, i, itemKey);\n\n if (isPlainObject(child) || Array.isArray(child)) {\n // $FlowFixMe\n child = replaceObject(child, replacer, itemKey);\n }\n\n return child;\n });\n }\n\n // $FlowFixMe\n return result;\n } else if (isPlainObject(item)) {\n const result = {};\n\n for (const key in item) {\n if (!item.hasOwnProperty(key)) {\n continue;\n }\n\n defineLazyProp(result, key, () => {\n const itemKey = fullKey ? `${ fullKey }.${ key }` : `${ key }`;\n // $FlowFixMe\n const el = item[key];\n\n let child = replacer(el, key, itemKey);\n\n if (isPlainObject(child) || Array.isArray(child)) {\n // $FlowFixMe\n child = replaceObject(child, replacer, itemKey);\n }\n\n return child;\n });\n }\n\n // $FlowFixMe\n return result;\n } else {\n throw new Error(`Pass an object or array`);\n }\n}\n\n\nexport function copyProp(source : Object, target : Object, name : string, def : mixed) {\n if (source.hasOwnProperty(name)) {\n const descriptor = Object.getOwnPropertyDescriptor(source, name);\n // $FlowFixMe\n Object.defineProperty(target, name, descriptor);\n\n } else {\n target[name] = def;\n }\n}\n\ntype RegexResultType = {|\n text : string,\n groups : $ReadOnlyArray,\n start : number,\n end : number,\n length : number,\n replace : (text : string) => string\n|};\n\nexport function regex(pattern : string | RegExp, string : string, start : number = 0) : ?RegexResultType {\n\n if (typeof pattern === 'string') {\n // eslint-disable-next-line security/detect-non-literal-regexp\n pattern = new RegExp(pattern);\n }\n\n const result = string.slice(start).match(pattern);\n\n if (!result) {\n return;\n }\n\n // $FlowFixMe\n const index : number = result.index;\n const regmatch = result[0];\n\n return {\n text: regmatch,\n groups: result.slice(1),\n start: start + index,\n end: start + index + regmatch.length,\n length: regmatch.length,\n\n replace(text : string) : string {\n\n if (!regmatch) {\n return '';\n }\n\n return `${ regmatch.slice(0, start + index) }${ text }${ regmatch.slice(index + regmatch.length) }`;\n }\n };\n}\n\nexport function regexAll(pattern : string | RegExp, string : string) : $ReadOnlyArray {\n\n const matches = [];\n let start = 0;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const regmatch = regex(pattern, string, start);\n\n if (!regmatch) {\n break;\n }\n\n matches.push(regmatch);\n start = match.end;\n }\n\n return matches;\n}\n\nexport function isDefined(value : ?mixed) : boolean {\n return value !== null && value !== undefined;\n}\n\nexport function cycle(method : Function) : ZalgoPromise {\n return ZalgoPromise.try(method).then(() => cycle(method));\n}\n\nexport function debounce(method : (...args : $ReadOnlyArray) => T, time : number = 100) : (...args : $ReadOnlyArray) => void {\n\n let timeout;\n\n const debounceWrapper = function() {\n clearTimeout(timeout);\n\n timeout = setTimeout(() => {\n return method.apply(this, arguments);\n }, time);\n };\n\n return setFunctionName(debounceWrapper, `${ getFunctionName(method) }::debounced`);\n}\n\nexport function isRegex(item : mixed) : boolean {\n // $FlowFixMe[method-unbinding]\n return Object.prototype.toString.call(item) === '[object RegExp]';\n}\n\ntype FunctionProxy = (method : T) => T;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport const weakMapMemoize : FunctionProxy<*> = (method : (arg : any) => R) : ((...args : $ReadOnlyArray) => R) => {\n\n const weakmap = new WeakMap();\n\n // eslint-disable-next-line flowtype/no-weak-types\n return function weakmapMemoized(arg : any) : R {\n return weakmap.getOrSet(arg, () => method.call(this, arg));\n };\n};\n\ntype FunctionPromiseProxy) => ZalgoPromise> = (T) => T;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport const weakMapMemoizePromise : FunctionPromiseProxy<*, *> = (method : (arg : any) => ZalgoPromise) : ((...args : $ReadOnlyArray) => ZalgoPromise) => {\n\n const weakmap = new WeakMap();\n\n // eslint-disable-next-line flowtype/no-weak-types\n return function weakmapMemoizedPromise(arg : any) : ZalgoPromise {\n return weakmap.getOrSet(arg, () =>\n method.call(this, arg).finally(() => {\n weakmap.delete(arg);\n }));\n };\n};\n\nexport function getOrSet(obj : O, key : string, getter : () => T) : T {\n if (obj.hasOwnProperty(key)) {\n return obj[key];\n }\n\n const val = getter();\n obj[key] = val;\n return val;\n}\n\nexport type CleanupType = {|\n set : (string, T) => T, // eslint-disable-line no-undef\n register : (Function) => {| cancel : () => void |},\n all : (err? : mixed) => ZalgoPromise\n|};\n\nexport function cleanup(obj : Object) : CleanupType {\n\n const tasks = [];\n let cleaned = false;\n let cleanErr;\n\n const cleaner = {\n set(name : string, item : T) : T {\n if (!cleaned) {\n obj[name] = item;\n cleaner.register(() => {\n delete obj[name];\n });\n }\n return item;\n },\n\n register(method : Function) : {| cancel : () => void |} {\n const task = once(() => method(cleanErr));\n\n if (cleaned) {\n method(cleanErr);\n } else {\n tasks.push(task);\n }\n\n return {\n cancel: () => {\n const index = tasks.indexOf(task);\n if (index !== -1) {\n tasks.splice(index, 1);\n }\n }\n };\n },\n\n all(err? : mixed) : ZalgoPromise {\n cleanErr = err;\n\n const results = [];\n cleaned = true;\n\n while (tasks.length) {\n const task = tasks.shift();\n results.push(task());\n }\n\n return ZalgoPromise.all(results).then(noop);\n }\n };\n\n return cleaner;\n}\n\nexport function tryCatch(fn : () => T) : {| result : T, error : void |} | {| result : void, error : mixed |} {\n let result;\n let error;\n\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n\n // $FlowFixMe\n return { result, error };\n}\n\n// eslint-disable-next-line flowtype/no-mutable-array\nexport function removeFromArray>(arr : T, item : X) {\n const index = arr.indexOf(item);\n if (index !== -1) {\n arr.splice(index, 1);\n }\n}\n\nexport function assertExists(name : string, thing : void | null | T) : T {\n if (thing === null || typeof thing === 'undefined') {\n throw new Error(`Expected ${ name } to be present`);\n }\n\n return thing;\n}\n\nexport function unique(arr : $ReadOnlyArray) : $ReadOnlyArray {\n const result = {};\n for (const item of arr) {\n result[item] = true;\n }\n return Object.keys(result);\n}\n\nexport const constHas = (constant : T, value : X) : boolean => {\n return memoizedValues(constant).indexOf(value) !== -1;\n};\n\nexport function dedupeErrors(handler : (mixed) => T) : (mixed) => (T | void) {\n const seenErrors = [];\n const seenStringifiedErrors = {};\n\n return (err) => {\n if (seenErrors.indexOf(err) !== -1) {\n return;\n }\n\n seenErrors.push(err);\n\n const stringifiedError = stringifyError(err);\n if (seenStringifiedErrors[stringifiedError]) {\n return;\n }\n\n seenStringifiedErrors[stringifiedError] = true;\n return handler(err);\n };\n}\n\nexport class ExtendableError extends Error {\n constructor(message : string) {\n super(message);\n // eslint-disable-next-line unicorn/custom-error-definition\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error(message)).stack;\n }\n }\n}\n","/* @flow */\n\nexport function hasNativeWeakMap() : boolean {\n\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n if (typeof Object.freeze === 'undefined') {\n return false;\n }\n\n try {\n\n const testWeakMap = new WeakMap();\n const testKey = {};\n const testValue = '__testvalue__';\n\n Object.freeze(testKey);\n\n testWeakMap.set(testKey, testValue);\n\n if (testWeakMap.get(testKey) === testValue) {\n return true;\n }\n\n return false;\n\n } catch (err) {\n\n return false;\n }\n}\n","/* @flow */\n\nexport const KEY_CODES = {\n ENTER: 13,\n SPACE: 32\n};\n\nexport const ATTRIBUTES = {\n UID: 'data-uid'\n};\n\nexport const UID_HASH_LENGTH = 30;\n","/* @flow */\n/* eslint max-lines: off */\nimport { ZalgoPromise } from '@krakenjs/zalgo-promise/src';\nimport { linkFrameWindow, isWindowClosed, assertSameDomain,\n type SameDomainWindowType, type CrossDomainWindowType } from '@krakenjs/cross-domain-utils/src';\nimport { WeakMap } from '@krakenjs/cross-domain-safe-weakmap/src';\n\nimport { isElement, inlineMemoize, memoize, noop, stringify, capitalizeFirstLetter,\n once, extend, safeInterval, uniqueID, arrayFrom, ExtendableError, strHashStr } from './util';\nimport { isDevice } from './device';\nimport { KEY_CODES, ATTRIBUTES, UID_HASH_LENGTH } from './constants';\nimport type { CancelableType } from './types';\n\ntype ElementRefType = string | HTMLElement;\n\nexport function getBody() : HTMLBodyElement {\n // eslint-disable-next-line compat/compat\n const body = document.body;\n\n if (!body) {\n throw new Error(`Body element not found`);\n }\n\n return body;\n}\n\nexport function isDocumentReady() : boolean {\n // eslint-disable-next-line compat/compat\n return Boolean(document.body) && (document.readyState === 'complete');\n}\n\nexport function isDocumentInteractive() : boolean {\n // eslint-disable-next-line compat/compat\n return Boolean(document.body) && (document.readyState === 'interactive');\n}\n\nexport function urlEncode(str : string) : string {\n return encodeURIComponent(str);\n}\n\nexport function waitForWindowReady() : ZalgoPromise {\n return inlineMemoize(waitForWindowReady, () : ZalgoPromise => {\n return new ZalgoPromise(resolve => {\n if (isDocumentReady()) {\n resolve();\n }\n\n window.addEventListener('load', () => resolve());\n });\n });\n}\n\ntype WaitForDocumentReady = () => ZalgoPromise;\n\nexport const waitForDocumentReady : WaitForDocumentReady = memoize(() => {\n return new ZalgoPromise(resolve => {\n\n if (isDocumentReady() || isDocumentInteractive()) {\n return resolve();\n }\n\n const interval = setInterval(() => {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }, 10);\n });\n});\n\nexport function waitForDocumentBody() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (document.body) {\n return document.body;\n }\n\n return waitForDocumentReady().then(() => {\n if (document.body) {\n return document.body;\n }\n\n throw new Error('Document ready but document.body not present');\n });\n });\n}\n\nexport function parseQuery(queryString : string) : Object {\n return inlineMemoize(parseQuery, () : Object => {\n const params = {};\n\n if (!queryString) {\n return params;\n }\n\n if (queryString.indexOf('=') === -1) {\n return params;\n }\n\n for (let pair of queryString.split('&')) {\n pair = pair.split('=');\n\n if (pair[0] && pair[1]) {\n params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n }\n\n return params;\n }, [ queryString ]);\n}\n\n\nexport function getQueryParam(name : string) : string {\n return parseQuery(window.location.search.slice(1))[name];\n}\n\nexport function urlWillRedirectPage(url : string) : boolean {\n\n if (url.indexOf('#') === -1) {\n return true;\n }\n\n if (url.indexOf('#') === 0) {\n return false;\n }\n\n if (url.split('#')[0] === window.location.href.split('#')[0]) {\n return false;\n }\n\n return true;\n}\n\nexport type Query = {\n [ string ] : boolean | string\n};\n\nexport function formatQuery(obj : Query = {}) : string {\n\n return Object.keys(obj).filter(key => {\n return typeof obj[key] === 'string' || typeof obj[key] === 'boolean';\n }).map(key => {\n const val = obj[key];\n\n if (typeof val !== 'string' && typeof val !== 'boolean') {\n throw new TypeError(`Invalid type for query`);\n }\n\n return `${ urlEncode(key) }=${ urlEncode(val.toString()) }`;\n }).join('&');\n}\n\nexport function extendQuery(originalQuery : string, props : Query = {}) : string {\n\n if (!props || !Object.keys(props).length) {\n return originalQuery;\n }\n\n return formatQuery({\n ...parseQuery(originalQuery),\n ...props\n });\n}\n\nexport function extendUrl(url : string, options : {| query? : Query, hash? : Query |}) : string {\n\n const query = options.query || {};\n const hash = options.hash || {};\n\n let originalUrl;\n let originalQuery;\n let originalHash;\n\n [ originalUrl, originalHash ] = url.split('#');\n [ originalUrl, originalQuery ] = originalUrl.split('?');\n\n const queryString = extendQuery(originalQuery, query);\n const hashString = extendQuery(originalHash, hash);\n\n if (queryString) {\n originalUrl = `${ originalUrl }?${ queryString }`;\n }\n\n if (hashString) {\n originalUrl = `${ originalUrl }#${ hashString }`;\n }\n\n return originalUrl;\n}\n\nexport function redirect(url : string, win : CrossDomainWindowType = window) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n win.location = url;\n if (!urlWillRedirectPage(url)) {\n resolve();\n }\n });\n}\n\nexport function hasMetaViewPort() : boolean {\n const meta = document.querySelector('meta[name=viewport]');\n\n if (isDevice() && window.screen.width < 660 && !meta) {\n return false;\n }\n\n return true;\n}\n\nexport function isElementVisible(el : HTMLElement) : boolean {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n}\n\nexport function getPerformance() : ?Performance {\n return inlineMemoize(getPerformance, () : ?Performance => {\n const performance = window.performance;\n\n if (\n performance &&\n performance.now &&\n performance.timing &&\n performance.timing.connectEnd &&\n performance.timing.navigationStart &&\n (Math.abs(performance.now() - Date.now()) > 1000) &&\n (performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart)) > 0\n ) {\n return performance;\n }\n });\n}\n\nexport function enablePerformance() : boolean {\n return Boolean(getPerformance());\n}\n\nexport function getPageRenderTime() : ZalgoPromise {\n return waitForDocumentReady().then(() => {\n const performance = getPerformance();\n\n if (!performance) {\n return;\n }\n\n const timing = performance.timing;\n\n if (timing.connectEnd && timing.domInteractive) {\n return timing.domInteractive - timing.connectEnd;\n }\n });\n}\n\nexport function htmlEncode(html : string = '') : string {\n return html.toString()\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\n\nexport function isBrowser() : boolean {\n return (typeof window !== 'undefined') && window.location !== undefined;\n}\n\nexport function querySelectorAll(selector : string, doc : HTMLElement = window.document) : $ReadOnlyArray {\n // $FlowFixMe[method-unbinding]\n return Array.prototype.slice.call(doc.querySelectorAll(selector));\n}\n\nexport function onClick(element : HTMLElement, handler : (Event) => void) {\n element.addEventListener('touchstart', noop);\n element.addEventListener('click', handler);\n element.addEventListener('keypress', (event : Event) => {\n // $FlowFixMe\n if (event.keyCode === KEY_CODES.ENTER || event.keyCode === KEY_CODES.SPACE) {\n return handler(event);\n }\n });\n}\n\nexport function getScript({ host = window.location.host, path, reverse = false } : {| host? : string, path : string, reverse? : boolean |}) : ?HTMLScriptElement {\n return inlineMemoize(getScript, () : ?HTMLScriptElement => {\n\n const url = `${ host }${ path }`;\n // $FlowFixMe[method-unbinding]\n const scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));\n\n if (reverse) {\n scripts.reverse();\n }\n\n for (const script of scripts) {\n if (!script.src) {\n continue;\n }\n\n const src = script.src.replace(/^https?:\\/\\//, '').split('?')[0];\n\n if (src === url) {\n return script;\n }\n }\n }, [ path ]);\n}\n\nexport function isLocalStorageEnabled() : boolean {\n return inlineMemoize(isLocalStorageEnabled, () => {\n try {\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (window.localStorage) {\n const value = Math.random().toString();\n window.localStorage.setItem('__test__localStorage__', value);\n const result = window.localStorage.getItem('__test__localStorage__');\n window.localStorage.removeItem('__test__localStorage__');\n if (value === result) {\n return true;\n }\n }\n } catch (err) {\n // pass\n }\n return false;\n });\n}\n\nexport function getBrowserLocales() : $ReadOnlyArray<{| country? : string, lang : string |}> {\n const nav = window.navigator;\n\n const locales = nav.languages\n ? [ ...nav.languages ]\n : [];\n\n if (nav.language) {\n locales.push(nav.language);\n }\n\n if (nav.userLanguage) {\n locales.push(nav.userLanguage);\n }\n\n return locales.map(locale => {\n\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n const [ lang, country ] = locale.split(/[-_]/);\n return { country, lang };\n }\n\n if (locale && locale.match(/^[a-z]{2}$/)) {\n return { lang: locale };\n }\n\n return null;\n\n }).filter(Boolean);\n}\n\n\nexport function appendChild(container : HTMLElement, child : HTMLElement | Text) {\n container.appendChild(child);\n}\n\nexport function getElementSafe(id : ElementRefType, doc : Document | HTMLElement = document) : ?HTMLElement {\n\n if (isElement(id)) {\n // $FlowFixMe\n return id;\n }\n\n if (typeof id === 'string') {\n return doc.querySelector(id);\n }\n}\n\nexport function getElement(id : ElementRefType, doc : Document | HTMLElement = document) : HTMLElement {\n\n const element = getElementSafe(id, doc);\n\n if (element) {\n return element;\n }\n\n throw new Error(`Can not find element: ${ stringify(id) }`);\n}\n\nexport function elementReady(id : ElementRefType) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n const name = stringify(id);\n let el = getElementSafe(id);\n\n if (el) {\n return resolve(el);\n }\n\n if (isDocumentReady()) {\n return reject(new Error(`Document is ready and element ${ name } does not exist`));\n }\n\n const interval = setInterval(() => {\n\n el = getElementSafe(id);\n\n if (el) {\n resolve(el);\n clearInterval(interval);\n return;\n }\n\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(`Document is ready and element ${ name } does not exist`));\n }\n }, 10);\n });\n}\n\n// eslint-disable-next-line unicorn/custom-error-definition\nexport class PopupOpenError extends ExtendableError {}\n\ntype PopupOptions = {|\n name? : string,\n width? : number,\n height? : number,\n top? : number,\n left? : number,\n status? : 0 | 1,\n resizable? : 0 | 1,\n toolbar? : 0 | 1,\n menubar? : 0 | 1,\n scrollbars? : 0 | 1,\n closeOnUnload? : 0 | 1\n|};\n\nexport function popup(url : string, options? : PopupOptions) : CrossDomainWindowType {\n\n // $FlowFixMe\n options = options || {};\n\n const { closeOnUnload = 1, name = '', width, height } = options;\n\n let top = 0;\n let left = 0;\n\n if (width) {\n if (window.outerWidth) {\n left = Math.round((window.outerWidth - width) / 2) + window.screenX;\n } else if (window.screen.width) {\n left = Math.round((window.screen.width - width) / 2);\n }\n }\n\n if (height) {\n if (window.outerHeight) {\n top = Math.round((window.outerHeight - height) / 2) + window.screenY;\n } else if (window.screen.height) {\n top = Math.round((window.screen.height - height) / 2);\n }\n }\n\n delete options.closeOnUnload;\n delete options.name;\n\n if (width && height) {\n // $FlowFixMe\n options = {\n top,\n left,\n width,\n height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1,\n ...options\n };\n }\n\n // eslint-disable-next-line array-callback-return\n const params = Object.keys(options).map(key => {\n // $FlowFixMe\n if (options[key] !== null && options[key] !== undefined) {\n return `${ key }=${ stringify(options[key]) }`;\n }\n }).filter(Boolean).join(',');\n\n let win;\n\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new PopupOpenError(`Can not open popup window - ${ err.stack || err.message }`);\n }\n\n if (isWindowClosed(win)) {\n const err = new PopupOpenError(`Can not open popup window - blocked`);\n throw err;\n }\n\n if (closeOnUnload) {\n window.addEventListener('unload', () => win.close());\n }\n\n return win;\n}\n\n\nexport function writeToWindow(win : SameDomainWindowType, html : string) {\n try {\n win.document.open();\n win.document.write(html);\n win.document.close();\n } catch (err) {\n try {\n win.location = `javascript: document.open(); document.write(${ JSON.stringify(html) }); document.close();`;\n } catch (err2) {\n // pass\n }\n }\n}\n\nexport function writeElementToWindow(win : SameDomainWindowType, el : HTMLElement) {\n\n const tag = el.tagName.toLowerCase();\n\n if (tag !== 'html') {\n throw new Error(`Expected element to be html, got ${ tag }`);\n }\n\n const documentElement = win.document.documentElement;\n\n for (const child of arrayFrom(documentElement.children)) {\n documentElement.removeChild(child);\n }\n\n for (const child of arrayFrom(el.children)) {\n documentElement.appendChild(child);\n }\n}\n\nexport function setStyle(el : HTMLElement, styleText : string, doc : Document = window.document) {\n // $FlowFixMe\n if (el.styleSheet) {\n // $FlowFixMe\n el.styleSheet.cssText = styleText;\n } else {\n el.appendChild(doc.createTextNode(styleText));\n }\n}\n\nexport type ElementOptionsType = {|\n style? : { [ string ] : string },\n id? : string,\n class? : ?$ReadOnlyArray,\n attributes? : { [ string ] : string },\n styleSheet? : ?string,\n html? : ?string\n|};\n\nlet awaitFrameLoadPromises : WeakMap>;\n\nexport function awaitFrameLoad(frame : HTMLIFrameElement) : ZalgoPromise {\n awaitFrameLoadPromises = awaitFrameLoadPromises || new WeakMap();\n\n if (awaitFrameLoadPromises.has(frame)) {\n const promise = awaitFrameLoadPromises.get(frame);\n if (promise) {\n return promise;\n }\n }\n\n const promise = new ZalgoPromise((resolve, reject) => {\n frame.addEventListener('load', () => {\n linkFrameWindow(frame);\n resolve(frame);\n });\n\n frame.addEventListener('error', (err : Event) => {\n if (frame.contentWindow) {\n resolve(frame);\n } else {\n reject(err);\n }\n });\n });\n\n awaitFrameLoadPromises.set(frame, promise);\n\n return promise;\n}\n\nexport function awaitFrameWindow(frame : HTMLIFrameElement) : ZalgoPromise {\n return awaitFrameLoad(frame).then(loadedFrame => {\n\n if (!loadedFrame.contentWindow) {\n throw new Error(`Could not find window in iframe`);\n }\n\n return loadedFrame.contentWindow;\n });\n}\n\nconst getDefaultCreateElementOptions = () : ElementOptionsType => {\n // $FlowFixMe\n return {};\n};\n\nexport function createElement(tag : string = 'div', options : ElementOptionsType = getDefaultCreateElementOptions(), container : ?HTMLElement) : HTMLElement {\n\n tag = tag.toLowerCase();\n const element = document.createElement(tag);\n\n if (options.style) {\n extend(element.style, options.style);\n }\n\n if (options.class) {\n element.className = options.class.join(' ');\n }\n\n if (options.id) {\n element.setAttribute('id', options.id);\n }\n\n if (options.attributes) {\n for (const key of Object.keys(options.attributes)) {\n element.setAttribute(key, options.attributes[key]);\n }\n }\n\n if (options.styleSheet) {\n setStyle(element, options.styleSheet);\n }\n\n if (container) {\n appendChild(container, element);\n }\n\n if (options.html) {\n if (tag === 'iframe') {\n // $FlowFixMe\n if (!container || !element.contentWindow) {\n throw new Error(`Iframe html can not be written unless container provided and iframe in DOM`);\n }\n\n // $FlowFixMe\n writeToWindow(element.contentWindow, options.html);\n\n } else {\n element.innerHTML = options.html;\n }\n }\n\n return element;\n}\n\ntype StringMap = {|\n [ string ] : string\n|};\n\nexport type IframeElementOptionsType = {|\n style? : StringMap,\n class? : ?$ReadOnlyArray,\n attributes? : StringMap,\n styleSheet? : ?string,\n html? : ?string,\n url? : ?string\n|};\n\nconst getDefaultIframeOptions = () : IframeElementOptionsType => {\n // $FlowFixMe\n return {};\n};\n\nconst getDefaultStringMap = () : StringMap => {\n // $FlowFixMe\n return {};\n};\n\nexport function iframe(options : IframeElementOptionsType = getDefaultIframeOptions(), container : ?HTMLElement) : HTMLIFrameElement {\n\n const attributes = options.attributes || getDefaultStringMap();\n const style = options.style || getDefaultStringMap();\n\n // $FlowFixMe\n const newAttributes = {\n allowTransparency: 'true',\n ...attributes\n };\n\n // $FlowFixMe\n const newStyle = {\n backgroundColor: 'transparent',\n border: 'none',\n ...style\n };\n\n const frame = createElement('iframe', {\n attributes: newAttributes,\n style: newStyle,\n html: options.html,\n class: options.class\n });\n\n const isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n\n if (!frame.hasAttribute('id')) {\n frame.setAttribute('id', uniqueID());\n }\n\n // $FlowFixMe\n awaitFrameLoad(frame);\n\n if (container) {\n const el = getElement(container);\n el.appendChild(frame);\n }\n\n if (options.url || isIE) {\n frame.setAttribute('src', options.url || 'about:blank');\n }\n\n // $FlowFixMe\n return frame;\n}\n\nexport function addEventListener(obj : HTMLElement, event : string, handler : (event : Event) => void) : CancelableType {\n obj.addEventListener(event, handler);\n return {\n cancel() {\n obj.removeEventListener(event, handler);\n }\n };\n}\n\nexport function bindEvents(element : HTMLElement, eventNames : $ReadOnlyArray, handler : (event : Event) => void) : CancelableType {\n\n handler = once(handler);\n\n for (const eventName of eventNames) {\n element.addEventListener(eventName, handler);\n }\n\n return {\n cancel: once(() => {\n for (const eventName of eventNames) {\n element.removeEventListener(eventName, handler);\n }\n })\n };\n}\n\nconst VENDOR_PREFIXES = [ 'webkit', 'moz', 'ms', 'o' ];\n\nexport function setVendorCSS(element : HTMLElement, name : string, value : string) {\n\n // $FlowFixMe\n element.style[name] = value;\n\n const capitalizedName = capitalizeFirstLetter(name);\n\n for (const prefix of VENDOR_PREFIXES) {\n // $FlowFixMe\n element.style[`${ prefix }${ capitalizedName }`] = value;\n }\n}\n\nconst ANIMATION_START_EVENTS = [ 'animationstart', 'webkitAnimationStart', 'oAnimationStart', 'MSAnimationStart' ];\nconst ANIMATION_END_EVENTS = [ 'animationend', 'webkitAnimationEnd', 'oAnimationEnd', 'MSAnimationEnd' ];\n\nexport function animate(element : ElementRefType, name : string, clean : (Function) => void, timeout : number = 1000) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n const el = getElement(element);\n\n if (!el) {\n return resolve();\n }\n\n let hasStarted = false;\n\n // eslint-disable-next-line prefer-const\n let startTimeout;\n let endTimeout;\n // eslint-disable-next-line prefer-const\n let startEvent;\n // eslint-disable-next-line prefer-const\n let endEvent;\n\n function cleanUp() {\n clearTimeout(startTimeout);\n clearTimeout(endTimeout);\n startEvent.cancel();\n endEvent.cancel();\n }\n\n startEvent = bindEvents(el, ANIMATION_START_EVENTS, event => {\n\n // $FlowFixMe\n if (event.target !== el || event.animationName !== name) {\n return;\n }\n\n clearTimeout(startTimeout);\n\n event.stopPropagation();\n\n startEvent.cancel();\n hasStarted = true;\n\n endTimeout = setTimeout(() => {\n cleanUp();\n resolve();\n }, timeout);\n });\n\n endEvent = bindEvents(el, ANIMATION_END_EVENTS, event => {\n\n // $FlowFixMe\n if (event.target !== el || event.animationName !== name) {\n return;\n }\n\n cleanUp();\n\n // $FlowFixMe\n if (typeof event.animationName === 'string' && event.animationName !== name) {\n return reject(`Expected animation name to be ${ name }, found ${ event.animationName }`);\n }\n\n return resolve();\n });\n\n setVendorCSS(el, 'animationName', name);\n\n startTimeout = setTimeout(() => {\n if (!hasStarted) {\n cleanUp();\n return resolve();\n }\n }, 200);\n\n if (clean) {\n clean(cleanUp);\n }\n });\n}\n\nexport function makeElementVisible(element : HTMLElement) {\n element.style.setProperty('visibility', '');\n}\n\nexport function makeElementInvisible(element : HTMLElement) {\n element.style.setProperty('visibility', 'hidden', 'important');\n}\n\n\nexport function showElement(element : HTMLElement) {\n element.style.setProperty('display', '');\n}\n\nexport function hideElement(element : HTMLElement) {\n element.style.setProperty('display', 'none', 'important');\n}\n\nexport function destroyElement(element : HTMLElement) {\n if (element && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n}\n\nexport function showAndAnimate(element : HTMLElement, name : string, clean : (Function) => void) : ZalgoPromise {\n const animation = animate(element, name, clean);\n showElement(element);\n return animation;\n}\n\nexport function animateAndHide(element : HTMLElement, name : string, clean : (Function) => void) : ZalgoPromise {\n return animate(element, name, clean).then(() => {\n hideElement(element);\n });\n}\n\nexport function addClass(element : HTMLElement, name : string) {\n element.classList.add(name);\n}\n\nexport function removeClass(element : HTMLElement, name : string) {\n element.classList.remove(name);\n}\n\nexport function isElementClosed(el : HTMLElement) : boolean {\n if (!el || !el.parentNode || !el.ownerDocument || !el.ownerDocument.documentElement || !el.ownerDocument.documentElement.contains(el)) {\n return true;\n }\n return false;\n}\n\nexport function watchElementForClose(element : HTMLElement, handler : () => mixed) : CancelableType {\n handler = once(handler);\n\n let cancelled = false;\n const mutationObservers = [];\n // eslint-disable-next-line prefer-const\n let interval;\n // eslint-disable-next-line prefer-const\n let sacrificialFrame;\n let sacrificialFrameWin;\n\n const cancel = () => {\n cancelled = true;\n for (const observer of mutationObservers) {\n observer.disconnect();\n }\n if (interval) {\n interval.cancel();\n }\n if (sacrificialFrameWin) {\n // eslint-disable-next-line no-use-before-define\n sacrificialFrameWin.removeEventListener('unload', elementClosed);\n }\n if (sacrificialFrame) {\n destroyElement(sacrificialFrame);\n }\n };\n\n const elementClosed = () => {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n\n if (isElementClosed(element)) {\n elementClosed();\n return { cancel };\n }\n\n // Strategy 1: Mutation observer\n\n if (window.MutationObserver) {\n let mutationElement = element.parentElement;\n while (mutationElement) {\n const mutationObserver = new window.MutationObserver(() => {\n if (isElementClosed(element)) {\n elementClosed();\n }\n });\n\n mutationObserver.observe(mutationElement, { childList: true });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n\n // Strategy 2: Sacrificial iframe\n\n sacrificialFrame = document.createElement('iframe');\n sacrificialFrame.setAttribute('name', `__detect_close_${ uniqueID() }__`);\n sacrificialFrame.style.display = 'none';\n awaitFrameWindow(sacrificialFrame).then(frameWin => {\n sacrificialFrameWin = assertSameDomain(frameWin);\n sacrificialFrameWin.addEventListener('unload', elementClosed);\n });\n element.appendChild(sacrificialFrame);\n\n // Strategy 3: Poller\n\n const check = () => {\n if (isElementClosed(element)) {\n elementClosed();\n }\n };\n interval = safeInterval(check, 1000);\n\n return { cancel };\n}\n\nexport function fixScripts(el : HTMLElement, doc : Document = window.document) {\n for (const script of querySelectorAll('script', el)) {\n const parentNode = script.parentNode;\n\n if (!parentNode) {\n continue;\n }\n\n const newScript = doc.createElement('script');\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n}\n\ntype OnResizeOptions = {|\n width? : boolean,\n height? : boolean,\n interval? : number,\n win? : SameDomainWindowType\n|};\n\nexport function onResize(el : HTMLElement, handler : ({| width : number, height : number |}) => void, { width = true, height = true, interval = 100, win = window } : OnResizeOptions = {}) : {| cancel : () => void |} {\n let currentWidth = el.offsetWidth;\n let currentHeight = el.offsetHeight;\n let canceled = false;\n\n handler({ width: currentWidth, height: currentHeight });\n\n const check = () => {\n if (canceled || !isElementVisible(el)) {\n return;\n }\n\n const newWidth = el.offsetWidth;\n const newHeight = el.offsetHeight;\n\n if ((width && newWidth !== currentWidth) || (height && newHeight !== currentHeight)) {\n handler({ width: newWidth, height: newHeight });\n }\n\n currentWidth = newWidth;\n currentHeight = newHeight;\n };\n\n let observer;\n let timeout;\n\n win.addEventListener('resize', check);\n\n if (typeof win.ResizeObserver !== 'undefined') {\n observer = new win.ResizeObserver(check);\n observer.observe(el);\n timeout = safeInterval(check, interval * 10);\n\n } else if (typeof win.MutationObserver !== 'undefined') {\n observer = new win.MutationObserver(check);\n observer.observe(el, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: false\n });\n timeout = safeInterval(check, interval * 10);\n } else {\n timeout = safeInterval(check, interval);\n }\n\n return {\n cancel: () => {\n canceled = true;\n observer.disconnect();\n window.removeEventListener('resize', check);\n timeout.cancel();\n }\n };\n}\n\nexport function getResourceLoadTime(url : string) : ?number {\n const performance = getPerformance();\n\n if (!performance) {\n return;\n }\n\n // $FlowFixMe[method-unbinding]\n if (typeof performance.getEntries !== 'function') {\n return;\n }\n\n const entries = performance.getEntries();\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n\n if (entry && entry.name && entry.name.indexOf(url) === 0 && typeof entry.duration === 'number') {\n return Math.floor(entry.duration);\n }\n }\n}\n\nexport function isShadowElement(element : Node) : boolean {\n while (element.parentNode) {\n element = element.parentNode;\n }\n\n return element.toString() === '[object ShadowRoot]';\n}\n\nexport function getShadowRoot(element : Node) : ?Node {\n while (element.parentNode) {\n element = element.parentNode;\n }\n\n if (isShadowElement(element)) {\n return element;\n }\n}\n\nexport function getShadowHost(element : Node) : ?HTMLElement {\n const shadowRoot = getShadowRoot(element);\n\n // $FlowFixMe\n if (shadowRoot && shadowRoot.host) {\n // $FlowFixMe\n return shadowRoot.host;\n }\n}\n\n\nexport function insertShadowSlot(element : HTMLElement) : HTMLElement {\n const shadowHost = getShadowHost(element);\n\n if (!shadowHost) {\n throw new Error(`Element is not in shadow dom`);\n }\n\n const slotName = `shadow-slot-${ uniqueID() }`;\n const slot = document.createElement('slot');\n slot.setAttribute('name', slotName);\n element.appendChild(slot);\n\n const slotProvider = document.createElement('div');\n slotProvider.setAttribute('slot', slotName);\n shadowHost.appendChild(slotProvider);\n\n if (isShadowElement(shadowHost)) {\n return insertShadowSlot(slotProvider);\n }\n\n return slotProvider;\n}\n\nexport function preventClickFocus(el : HTMLElement) {\n const onFocus = (event : Event) => {\n el.removeEventListener('focus', onFocus);\n event.preventDefault();\n el.blur();\n return false;\n };\n\n el.addEventListener('mousedown', () => {\n el.addEventListener('focus', onFocus);\n setTimeout(() => {\n el.removeEventListener('focus', onFocus);\n }, 1);\n });\n}\n\nexport function getStackTrace() : string {\n try {\n throw new Error('_');\n }\n catch (err) {\n return err.stack || '';\n }\n}\n\nfunction inferCurrentScript() : ?HTMLScriptElement {\n try {\n const stack = getStackTrace();\n const stackDetails = (/.*at [^(]*\\((.*):(.+):(.+)\\)$/ig).exec(stack);\n const scriptLocation = stackDetails && stackDetails[1];\n\n if (!scriptLocation) {\n return;\n }\n\n // $FlowFixMe[method-unbinding]\n for (const script of Array.prototype.slice.call(document.getElementsByTagName('script')).reverse()) {\n if (script.src && script.src === scriptLocation) {\n return script;\n }\n }\n\n } catch (err) {\n // pass\n }\n}\n\n// eslint-disable-next-line compat/compat\nlet currentScript = typeof document !== 'undefined' ? document.currentScript : null;\n\ntype GetCurrentScript = () => HTMLScriptElement;\n\nexport const getCurrentScript : GetCurrentScript = memoize(() => {\n if (currentScript) {\n return currentScript;\n }\n\n currentScript = inferCurrentScript();\n\n if (currentScript) {\n return currentScript;\n }\n\n throw new Error('Can not determine current script');\n});\n\nconst currentUID = uniqueID();\n\ntype GetCurrentScriptUID = () => string;\n\nexport const getCurrentScriptUID : GetCurrentScriptUID = memoize(() => {\n let script;\n\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n\n let uid = script.getAttribute(ATTRIBUTES.UID);\n\n if (uid && typeof uid === 'string') {\n return uid;\n }\n\n uid = script.getAttribute(`${ ATTRIBUTES.UID }-auto`);\n\n if (uid && typeof uid === 'string') {\n return uid;\n }\n\n if (script.src) {\n\n const { src, dataset } = script;\n const stringToHash = JSON.stringify({ src, dataset });\n const hashedString = strHashStr(stringToHash);\n const hashResult = hashedString.slice(hashedString.length - UID_HASH_LENGTH);\n\n uid = `uid_${ hashResult }`;\n } else {\n uid = uniqueID();\n }\n\n script.setAttribute(`${ ATTRIBUTES.UID }-auto`, uid);\n\n return uid;\n});\n\ntype SubmitFormOptions = {|\n url : string,\n target : string,\n body? : {| [string] : string | boolean |},\n method? : string\n|};\n\nexport function submitForm({ url, target, body, method = 'post' } : SubmitFormOptions) {\n const form = document.createElement('form');\n form.setAttribute('target', target);\n form.setAttribute('method', method);\n form.setAttribute('action', url);\n form.style.display = 'none';\n\n if (body) {\n for (const key of Object.keys(body)) {\n const input = document.createElement('input');\n input.setAttribute('name', key);\n input.setAttribute('value', body[key]?.toString());\n form.appendChild(input);\n }\n }\n\n getBody().appendChild(form);\n form.submit();\n getBody().removeChild(form);\n}\n","/* @flow */\n\nimport { uniqueID, getGlobal, inlineMemoize } from './util';\nimport { isLocalStorageEnabled } from './dom';\n\ntype Getter = (handler : (Object) => T) => T;\n\nexport type Storage = {|\n getState : Getter<*>,\n getID : () => string,\n isStateFresh : () => boolean,\n getSessionState : Getter<*>,\n getSessionID : () => string\n|};\n\nconst DEFAULT_SESSION_STORAGE = 20 * 60 * 1000;\n\nexport function getStorage({ name, lifetime = DEFAULT_SESSION_STORAGE } : {| name : string, lifetime? : number |}) : Storage {\n return inlineMemoize(getStorage, () => {\n const STORAGE_KEY = `__${ name }_storage__`;\n const newStateID = uniqueID();\n\n let accessedStorage;\n\n function getState(handler : (storage : Object) => T) : T {\n\n const localStorageEnabled = isLocalStorageEnabled();\n let storage;\n\n if (accessedStorage) {\n storage = accessedStorage;\n }\n\n if (!storage && localStorageEnabled) {\n const rawStorage = window.localStorage.getItem(STORAGE_KEY);\n\n if (rawStorage) {\n storage = JSON.parse(rawStorage);\n }\n }\n\n if (!storage) {\n storage = getGlobal()[STORAGE_KEY];\n }\n\n if (!storage) {\n storage = {\n id: newStateID\n };\n }\n\n if (!storage.id) {\n storage.id = newStateID;\n }\n\n accessedStorage = storage;\n\n const result = handler(storage);\n\n if (localStorageEnabled) {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage));\n } else {\n getGlobal()[STORAGE_KEY] = storage;\n }\n\n accessedStorage = null;\n\n return result;\n }\n\n function getID() : string {\n return getState(storage => storage.id);\n }\n\n function isStateFresh() : boolean {\n return getID() === newStateID;\n }\n\n function getSession(handler : (state : Object) => T) : T {\n return getState(storage => {\n\n let session = storage.__session__;\n const now = Date.now();\n\n if (session && ((now - session.created) > lifetime)) {\n session = null;\n }\n\n if (!session) {\n session = {\n guid: uniqueID(),\n created: now\n };\n }\n\n storage.__session__ = session;\n\n return handler(session);\n });\n }\n\n function getSessionState(handler : (state : Object) => T) : T {\n return getSession(session => {\n session.state = session.state || {};\n return handler(session.state);\n });\n }\n\n function getSessionID() : string {\n return getSession(session => session.guid);\n }\n\n return {\n getState,\n getID,\n isStateFresh,\n getSessionState,\n getSessionID\n };\n }, [ { name, lifetime } ]);\n}\n","/* @flow */\n\nimport { noop } from './util';\nimport { getStorage } from './storage';\n\nfunction getBelterExperimentStorage() : Object {\n return getStorage({ name: 'belter_experiment' });\n}\n\nfunction isEventUnique(name : string) : boolean {\n return getBelterExperimentStorage().getSessionState(state => {\n state.loggedBeacons = state.loggedBeacons || [];\n\n if (state.loggedBeacons.indexOf(name) === -1) {\n state.loggedBeacons.push(name);\n return true;\n }\n\n return false;\n });\n}\n\ntype Payload = {\n [string] : ?(string | boolean)\n};\n\nexport type Experiment = {|\n isEnabled : () => boolean,\n isDisabled : () => boolean,\n getTreatment : () => string,\n log : (string, payload? : Payload) => Experiment,\n logStart : (payload? : Payload) => Experiment,\n logComplete : (payload? : Payload) => Experiment\n|};\n\nfunction getRandomInteger(range : number) : number {\n return Math.floor(Math.random() * range);\n}\n\nfunction getThrottlePercentile(name : string) : number {\n return getBelterExperimentStorage().getState(state => {\n state.throttlePercentiles = state.throttlePercentiles || {};\n state.throttlePercentiles[name] = state.throttlePercentiles[name] || getRandomInteger(100);\n return state.throttlePercentiles[name];\n });\n}\n\nconst THROTTLE_GROUP = {\n TEST: 'test',\n CONTROL: 'control',\n THROTTLE: 'throttle'\n};\n\ntype ExperimentOptions = {|\n name : string,\n sample? : number,\n logTreatment? : ({| name : string, treatment : string, payload : Payload, throttle : number |}) => void,\n logCheckpoint? : ({| name : string, treatment : string, checkpoint : string, payload : Payload, throttle : number |}) => void,\n sticky? : boolean\n|};\n\nexport function experiment({ name, sample = 50, logTreatment = noop, logCheckpoint = noop, sticky = true } : ExperimentOptions) : Experiment {\n\n const throttle = sticky\n ? getThrottlePercentile(name)\n : getRandomInteger(100);\n\n let group;\n\n if (throttle < sample && !__TEST__) {\n group = THROTTLE_GROUP.TEST;\n } else if ((sample >= 50) || ((sample <= throttle) && (throttle < (sample * 2)))) {\n group = THROTTLE_GROUP.CONTROL;\n } else {\n group = THROTTLE_GROUP.THROTTLE;\n }\n\n const treatment = `${ name }_${ group }`;\n\n let started = false;\n let forced = false;\n\n try {\n if (window.localStorage && window.localStorage.getItem(name)) {\n forced = true;\n }\n } catch (err) {\n // pass\n }\n\n const exp = {\n\n isEnabled() : boolean {\n return (group === THROTTLE_GROUP.TEST) || forced;\n },\n\n isDisabled() : boolean {\n return (group !== THROTTLE_GROUP.TEST) && !forced;\n },\n\n getTreatment() : string {\n return treatment;\n },\n\n log(checkpoint : string, payload? : Payload = {}) : Experiment {\n if (!started) {\n return exp;\n }\n\n if (isEventUnique(`${ treatment }_${ JSON.stringify(payload) }`)) {\n logTreatment({ name, treatment, payload, throttle });\n }\n\n if (isEventUnique(`${ treatment }_${ checkpoint }_${ JSON.stringify(payload) }`)) {\n logCheckpoint({ name, treatment, checkpoint, payload, throttle });\n }\n\n return exp;\n },\n\n logStart(payload? : Payload = {}) : Experiment {\n started = true;\n return exp.log(`start`, payload);\n },\n\n logComplete(payload? : Payload = {}) : Experiment {\n return exp.log(`complete`, payload);\n }\n };\n\n return exp;\n}\n","/* @flow */\n\nimport { ZalgoPromise } from '@krakenjs/zalgo-promise/src';\nimport { type SameDomainWindowType } from '@krakenjs/cross-domain-utils/src';\n\ntype RequestOptionsType = {|\n url : string,\n method? : string,\n headers? : { [key : string] : string },\n json? : $ReadOnlyArray | Object,\n data? : { [key : string] : string },\n body? : string,\n win? : SameDomainWindowType,\n timeout? : number\n|};\n\ntype ResponseType = {|\n status : number,\n headers : { [string] : string },\n body : Object\n|};\n\nconst HEADERS = {\n CONTENT_TYPE: 'content-type',\n ACCEPT: 'accept'\n};\n\nconst headerBuilders = [];\n\nfunction parseHeaders(rawHeaders : string = '') : { [string] : string } {\n const result = {};\n for (const line of rawHeaders.trim().split('\\n')) {\n const [ key, ...values ] = line.split(':');\n result[key.toLowerCase()] = values.join(':').trim();\n }\n return result;\n}\n\nexport function request({ url, method = 'get', headers = {}, json, data, body, win = window, timeout = 0 } : RequestOptionsType) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n if ((json && data) || (json && body) || (data && json)) {\n throw new Error(`Only options.json or options.data or options.body should be passed`);\n }\n\n const normalizedHeaders = {};\n\n for (const key of Object.keys(headers)) {\n normalizedHeaders[key.toLowerCase()] = headers[key];\n }\n\n if (json) {\n normalizedHeaders[HEADERS.CONTENT_TYPE] = normalizedHeaders[HEADERS.CONTENT_TYPE] || 'application/json';\n } else if (data || body) {\n normalizedHeaders[HEADERS.CONTENT_TYPE] = normalizedHeaders[HEADERS.CONTENT_TYPE] || 'application/x-www-form-urlencoded; charset=utf-8';\n }\n\n normalizedHeaders[HEADERS.ACCEPT] = normalizedHeaders[HEADERS.ACCEPT] || 'application/json';\n\n for (const headerBuilder of headerBuilders) {\n const builtHeaders = headerBuilder();\n\n for (const key of Object.keys(builtHeaders)) {\n normalizedHeaders[key.toLowerCase()] = builtHeaders[key];\n }\n }\n\n const xhr = new win.XMLHttpRequest();\n\n xhr.addEventListener('load', function xhrLoad() : void {\n\n const responseHeaders = parseHeaders(this.getAllResponseHeaders());\n\n if (!this.status) {\n return reject(new Error(`Request to ${ method.toLowerCase() } ${ url } failed: no response status code.`));\n }\n\n const contentType = responseHeaders['content-type'];\n const isJSON = contentType && (contentType.indexOf('application/json') === 0 || contentType.indexOf('text/json') === 0);\n let responseBody = this.responseText;\n\n try {\n responseBody = JSON.parse(responseBody);\n } catch (err) {\n if (isJSON) {\n return reject(new Error(`Invalid json: ${ this.responseText }.`));\n }\n }\n\n const res = {\n status: this.status,\n headers: responseHeaders,\n body: responseBody\n };\n\n return resolve(res);\n\n }, false);\n\n xhr.addEventListener('error', (evt) => {\n reject(new Error(`Request to ${ method.toLowerCase() } ${ url } failed: ${ evt.toString() }.`));\n }, false);\n\n xhr.open(method, url, true);\n\n for (const key in normalizedHeaders) {\n if (normalizedHeaders.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, normalizedHeaders[key]);\n }\n }\n\n if (json) {\n body = JSON.stringify(json);\n } else if (data) {\n body = Object.keys(data).map(key => {\n return `${ encodeURIComponent(key) }=${ data ? encodeURIComponent(data[key]) : '' }`;\n }).join('&');\n }\n\n xhr.timeout = timeout;\n xhr.ontimeout = function xhrTimeout() {\n reject(new Error(`Request to ${ method.toLowerCase() } ${ url } has timed out`));\n };\n\n xhr.send(body);\n });\n}\n\nexport function addHeaderBuilder(method : () => { [string] : string }) {\n headerBuilders.push(method);\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","/* @flow */\n\nexport function isPromise(item : mixed) : boolean {\n try {\n if (!item) {\n return false;\n }\n\n if (typeof Promise !== 'undefined' && item instanceof Promise) {\n return true;\n }\n\n if (typeof window !== 'undefined' && typeof window.Window === 'function' && item instanceof window.Window) {\n return false;\n }\n\n if (typeof window !== 'undefined' && typeof window.constructor === 'function' && item instanceof window.constructor) {\n return false;\n }\n\n const toString = ({}).toString;\n\n if (toString) {\n const name = toString.call(item);\n\n if (name === '[object Window]' || name === '[object global]' || name === '[object DOMWindow]') {\n return false;\n }\n }\n\n if (typeof item.then === 'function') {\n return true;\n }\n } catch (err) {\n return false;\n }\n\n return false;\n}\n","/* @flow */\n\nimport type { ZalgoPromise } from './promise';\n\nconst dispatchedErrors = [];\nconst possiblyUnhandledPromiseHandlers : Array<(mixed, promise? : ZalgoPromise) => void> = [];\n\nexport function dispatchPossiblyUnhandledError(err : mixed, promise : ZalgoPromise) {\n\n if (dispatchedErrors.indexOf(err) !== -1) {\n return;\n }\n\n dispatchedErrors.push(err);\n\n setTimeout(() => {\n if (__DEBUG__) {\n // $FlowFixMe\n throw new Error(`${ err.stack || err.toString() }\\n\\nFrom promise:\\n\\n${ promise.stack }`);\n }\n\n throw err;\n }, 1);\n\n for (let j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) {\n // $FlowFixMe\n possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n}\n\nexport function onPossiblyUnhandledException(handler : (mixed, promise? : ZalgoPromise) => void) : {| cancel : () => void |} {\n possiblyUnhandledPromiseHandlers.push(handler);\n\n return {\n cancel() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n}\n","/* @flow */\n\nimport type { ZalgoPromise } from './promise';\n\nlet activeCount = 0;\nlet flushPromise;\n\nfunction flushActive() {\n if (!activeCount && flushPromise) {\n const promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n}\n\nexport function startActive() {\n activeCount += 1;\n}\n\nexport function endActive() {\n activeCount -= 1;\n flushActive();\n}\n\nexport function awaitActive(Zalgo : Class>) : ZalgoPromise { // eslint-disable-line no-undef\n const promise = flushPromise = flushPromise || new Zalgo();\n flushActive();\n return promise;\n}\n","/* @flow */\n/* eslint no-use-before-define: off */\n\nimport { isPromise } from './utils';\nimport { onPossiblyUnhandledException, dispatchPossiblyUnhandledError } from './exceptions';\nimport { startActive, endActive, awaitActive } from './flush';\n\nexport class ZalgoPromise {\n\n resolved : boolean;\n rejected : boolean;\n errorHandled : boolean;\n value : R;\n error : mixed;\n // eslint-disable-next-line flowtype/no-mutable-array\n handlers : Array<{|\n promise : ZalgoPromise<*>,\n onSuccess : void | (result : R) => mixed,\n onError : void | (error : mixed) => mixed\n |}>;\n dispatching : boolean;\n stack : string;\n\n constructor(handler : ?(resolve : (result : R) => void, reject : (error : mixed) => void) => void) {\n\n this.resolved = false;\n this.rejected = false;\n this.errorHandled = false;\n\n this.handlers = [];\n\n if (handler) {\n\n let result;\n let error;\n let resolved = false;\n let rejected = false;\n let isAsync = false;\n\n startActive();\n\n try {\n handler(res => {\n if (isAsync) {\n this.resolve(res);\n } else {\n resolved = true;\n result = res;\n }\n\n }, err => {\n if (isAsync) {\n this.reject(err);\n } else {\n rejected = true;\n error = err;\n }\n });\n\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n\n endActive();\n\n isAsync = true;\n\n if (resolved) {\n // $FlowFixMe\n this.resolve(result);\n } else if (rejected) {\n this.reject(error);\n }\n }\n\n if (__DEBUG__) {\n try {\n throw new Error(`ZalgoPromise`);\n } catch (err) {\n this.stack = err.stack;\n }\n }\n }\n\n resolve(result : R) : ZalgoPromise {\n if (this.resolved || this.rejected) {\n return this;\n }\n\n if (isPromise(result)) {\n throw new Error('Can not resolve promise with another promise');\n }\n\n this.resolved = true;\n this.value = result;\n this.dispatch();\n\n return this;\n }\n\n reject(error : mixed) : ZalgoPromise {\n if (this.resolved || this.rejected) {\n return this;\n }\n\n if (isPromise(error)) {\n throw new Error('Can not reject promise with another promise');\n }\n\n if (!error) {\n // $FlowFixMe\n const err = (error && typeof error.toString === 'function' ? error.toString() : Object.prototype.toString.call(error));\n error = new Error(`Expected reject to be called with Error, got ${ err }`);\n }\n\n this.rejected = true;\n this.error = error;\n\n if (!this.errorHandled) {\n setTimeout(() => {\n if (!this.errorHandled) {\n dispatchPossiblyUnhandledError(error, this);\n }\n }, 1);\n }\n\n this.dispatch();\n\n return this;\n }\n\n asyncReject(error : mixed) : ZalgoPromise {\n this.errorHandled = true;\n this.reject(error);\n return this;\n }\n\n dispatch() {\n\n const { dispatching, resolved, rejected, handlers } = this;\n\n if (dispatching) {\n return;\n }\n\n if (!resolved && !rejected) {\n return;\n }\n\n this.dispatching = true;\n startActive();\n\n const chain = (firstPromise : ZalgoPromise, secondPromise : ZalgoPromise) => {\n return firstPromise.then(res => {\n secondPromise.resolve(res);\n }, err => {\n secondPromise.reject(err);\n });\n };\n\n for (let i = 0; i < handlers.length; i++) {\n\n const { onSuccess, onError, promise } = handlers[i];\n\n let result;\n\n if (resolved) {\n\n try {\n result = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n }\n\n } else if (rejected) {\n\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n\n try {\n result = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n\n if (result instanceof ZalgoPromise && (result.resolved || result.rejected)) {\n const promiseResult : ZalgoPromise<*> = result;\n\n if (promiseResult.resolved) {\n promise.resolve(promiseResult.value);\n } else {\n promise.reject(promiseResult.error);\n }\n\n promiseResult.errorHandled = true;\n\n } else if (isPromise(result)) {\n\n if (result instanceof ZalgoPromise && (result.resolved || result.rejected)) {\n if (result.resolved) {\n promise.resolve(result.value);\n } else {\n promise.reject(result.error);\n }\n\n } else {\n // $FlowFixMe\n chain(result, promise);\n }\n\n } else {\n\n promise.resolve(result);\n }\n }\n\n handlers.length = 0;\n this.dispatching = false;\n endActive();\n }\n\n then(onSuccess : void | (result : R) => (ZalgoPromise | Y), onError : void | (error : mixed) => (ZalgoPromise | Y)) : ZalgoPromise {\n\n if (onSuccess && typeof onSuccess !== 'function' && !onSuccess.call) {\n throw new Error('Promise.then expected a function for success handler');\n }\n\n if (onError && typeof onError !== 'function' && !onError.call) {\n throw new Error('Promise.then expected a function for error handler');\n }\n\n const promise = new ZalgoPromise();\n\n this.handlers.push({\n promise,\n onSuccess,\n onError\n });\n\n this.errorHandled = true;\n\n this.dispatch();\n\n return promise;\n }\n\n catch(onError : (error : mixed) => ZalgoPromise | Y) : ZalgoPromise {\n // $FlowFixMe incompatible-call\n const resultPromise : ZalgoPromise = this.then(undefined, onError);\n return resultPromise;\n }\n\n finally(onFinally : () => mixed) : ZalgoPromise {\n\n if (onFinally && typeof onFinally !== 'function' && !onFinally.call) {\n throw new Error('Promise.finally expected a function');\n }\n\n return this.then((result) => {\n return ZalgoPromise.try(onFinally)\n .then(() => {\n return result;\n });\n }, (err) => {\n return ZalgoPromise.try(onFinally)\n .then(() => {\n throw err;\n });\n });\n }\n\n timeout(time : number, err : ?Error) : ZalgoPromise {\n\n if (this.resolved || this.rejected) {\n return this;\n }\n\n const timeout = setTimeout(() => {\n\n if (this.resolved || this.rejected) {\n return;\n }\n\n this.reject(err || new Error(`Promise timed out after ${ time }ms`));\n\n }, time);\n\n return this.then(result => {\n clearTimeout(timeout);\n return result;\n });\n }\n\n // $FlowFixMe\n toPromise() : Promise {\n // $FlowFixMe\n if (typeof Promise === 'undefined') {\n throw new TypeError(`Could not find Promise`);\n }\n // $FlowFixMe\n return Promise.resolve(this); // eslint-disable-line compat/compat\n }\n\n lazy() : ZalgoPromise {\n this.errorHandled = true;\n return this;\n }\n\n static resolve(value : ZalgoPromise | Y) : ZalgoPromise {\n\n if (value instanceof ZalgoPromise) {\n // $FlowFixMe incompatible-type-arg\n const result : ZalgoPromise = value;\n return result;\n }\n\n if (isPromise(value)) {\n // $FlowFixMe\n return new ZalgoPromise((resolve, reject) => value.then(resolve, reject));\n }\n\n return new ZalgoPromise().resolve(value);\n }\n\n static reject(error : mixed) : ZalgoPromise {\n return new ZalgoPromise().reject(error);\n }\n\n static asyncReject(error : mixed) : ZalgoPromise {\n return new ZalgoPromise().asyncReject(error);\n }\n\n static all>(promises : X) : ZalgoPromise<$TupleMap(ZalgoPromise | Y) => Y>> { // eslint-disable-line no-undef\n\n const promise = new ZalgoPromise();\n let count = promises.length;\n // eslint-disable-next-line no-undef, unicorn/prefer-spread\n const results = ([] : $TupleMap(ZalgoPromise | Y) => Y>).slice();\n\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n\n const chain = (i : number, firstPromise : ZalgoPromise, secondPromise : ZalgoPromise) => {\n return firstPromise.then(res => {\n results[i] = res;\n count -= 1;\n if (count === 0) {\n promise.resolve(results);\n }\n }, err => {\n secondPromise.reject(err);\n });\n };\n\n for (let i = 0; i < promises.length; i++) {\n const prom = promises[i];\n\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n\n if (count === 0) {\n promise.resolve(results);\n }\n\n return promise;\n }\n\n static hash(promises : O) : ZalgoPromise<$ObjMap(ZalgoPromise | Y) => Y>> { // eslint-disable-line no-undef\n const result = {};\n const awaitPromises = [];\n\n for (const key in promises) {\n if (promises.hasOwnProperty(key)) {\n const value = promises[key];\n\n if (isPromise(value)) {\n awaitPromises.push(value.then(res => {\n result[key] = res;\n }));\n } else {\n result[key] = value;\n }\n }\n }\n\n return ZalgoPromise.all(awaitPromises).then(() => result);\n }\n\n static map(items : $ReadOnlyArray, method : (T) => (ZalgoPromise | X)) : ZalgoPromise<$ReadOnlyArray> {\n // $FlowFixMe\n return ZalgoPromise.all(items.map(method));\n }\n\n static onPossiblyUnhandledException(handler : (err : mixed) => void) : {| cancel : () => void |} {\n return onPossiblyUnhandledException(handler);\n }\n\n static try>(method : (...args : $ReadOnlyArray) => (ZalgoPromise | Y), context? : C, args? : A) : ZalgoPromise {\n\n if (method && typeof method !== 'function' && !method.call) {\n throw new Error('Promise.try expected a function');\n }\n\n let result : ZalgoPromise | Y;\n\n startActive();\n\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n\n endActive();\n\n // $FlowFixMe incompatible-call\n const resultPromise = ZalgoPromise.resolve(result);\n\n return resultPromise;\n }\n\n static delay(delay : number) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n setTimeout(resolve, delay);\n });\n }\n\n static isPromise(value : mixed) : boolean {\n\n if (value && value instanceof ZalgoPromise) {\n return true;\n }\n\n return isPromise(value);\n }\n\n static flush() : ZalgoPromise {\n return awaitActive(ZalgoPromise);\n }\n}\n","import{options as n}from\"preact\";var t,r,u,i,o=0,c=[],f=[],e=n.__b,a=n.__r,v=n.diffed,l=n.__c,m=n.unmount;function d(t,u){n.__h&&n.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:f}),i.__[t]}function p(n){return o=1,y(z,n)}function y(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):z(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){r.u=!0;var c=r.shouldComponentUpdate;r.shouldComponentUpdate=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!!i&&(!c||c.call(this,n,t,r))}}return o.__N||o.__}function h(u,i){var o=d(t++,3);!n.__s&&w(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o))}function s(u,i){var o=d(t++,4);!n.__s&&w(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o))}function _(n){return o=5,F(function(){return{current:n}},[])}function A(n,t,r){o=6,s(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function F(n,r){var u=d(t++,7);return w(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x(t,r){n.useDebugValue&&n.useDebugValue(r?r(t):t)}function V(n){var u=d(t++,10),i=p();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n){u.__&&u.__(n),i[1](n)}),[i[0],function(){i[1](void 0)}]}function b(){for(var t;t=c.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(j),t.__H.__h.forEach(k),t.__H.__h=[]}catch(r){t.__H.__h=[],n.__e(r,t.__v)}}n.__b=function(n){r=null,e&&e(n)},n.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=f,n.__N=n.i=void 0})):(i.__h.forEach(j),i.__h.forEach(k),i.__h=[])),u=r},n.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==c.push(o)&&i===n.requestAnimationFrame||((i=n.requestAnimationFrame)||function(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r))})(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==f&&(n.__=n.__V),n.i=void 0,n.__V=f})),u=r=null},n.__c=function(t,r){r.some(function(t){try{t.__h.forEach(j),t.__h=t.__h.filter(function(n){return!n.__||k(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],n.__e(u,t.__v)}}),l&&l(t,r)},n.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{j(n)}catch(n){r=n}}),r&&n.__e(r,u.__v))};var g=\"function\"==typeof requestAnimationFrame;function j(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function k(n){var t=r;n.__c=n.__(),r=t}function w(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function z(n,t){return\"function\"==typeof t?t(n):t}export{p as useState,y as useReducer,h as useEffect,s as useLayoutEffect,_ as useRef,A as useImperativeHandle,F as useMemo,T as useCallback,q as useContext,x as useDebugValue,V as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","/* @flow */\n\nexport const PROTOCOL = {\n MOCK: ('mock:' : 'mock:'),\n FILE: ('file:' : 'file:'),\n ABOUT: ('about:' : 'about:')\n};\n\nexport const WILDCARD = '*';\n\nexport const WINDOW_TYPE = {\n IFRAME: ('iframe' : 'iframe'),\n POPUP: ('popup' : 'popup')\n};\n","/* @flow */\n/* eslint max-lines: 0 */\n\nimport { isRegex, noop } from './util';\nimport type { CrossDomainWindowType, SameDomainWindowType, DomainMatcher } from './types';\nimport { PROTOCOL, WILDCARD } from './constants';\n\nconst IE_WIN_ACCESS_ERROR = 'Call was rejected by callee.\\r\\n';\n\nexport function getActualProtocol(win : SameDomainWindowType = window) : ?string {\n return win.location.protocol;\n}\n\nexport function getProtocol(win : SameDomainWindowType = window) : ?string {\n if (win.mockDomain) {\n const protocol = win.mockDomain.split('//')[0];\n\n if (protocol) {\n return protocol;\n }\n }\n\n return getActualProtocol(win);\n}\n\nexport function isFileProtocol(win : SameDomainWindowType = window) : boolean {\n return getProtocol(win) === PROTOCOL.FILE;\n}\n\nexport function isAboutProtocol(win : SameDomainWindowType = window) : boolean {\n return getProtocol(win) === PROTOCOL.ABOUT;\n}\n\nexport function isMockProtocol(win : SameDomainWindowType = window) : boolean {\n return getProtocol(win) === PROTOCOL.MOCK;\n}\n\nexport function getParent(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n\n if (!win) {\n return;\n }\n\n try {\n if (win.parent && win.parent !== win) {\n return win.parent;\n }\n } catch (err) {\n // pass\n }\n}\n\nexport function getOpener(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n\n if (!win) {\n return;\n }\n\n // Make sure we're not actually an iframe which has had window.open() called on us\n if (getParent(win)) {\n return;\n }\n\n try {\n return win.opener;\n } catch (err) {\n // pass\n }\n}\n\nexport function canReadFromWindow(win : CrossDomainWindowType | SameDomainWindowType) : boolean {\n try {\n // $FlowFixMe\n noop(win && win.location && win.location.href);\n return true;\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function getActualDomain(win? : SameDomainWindowType = window) : string {\n\n const location = win.location;\n\n if (!location) {\n throw new Error(`Can not read window location`);\n }\n\n const protocol = getActualProtocol(win);\n\n if (!protocol) {\n throw new Error(`Can not read window protocol`);\n }\n\n if (protocol === PROTOCOL.FILE) {\n return `${ PROTOCOL.FILE }//`;\n }\n\n if (protocol === PROTOCOL.ABOUT) {\n\n const parent = getParent(win);\n if (parent && canReadFromWindow(parent)) {\n // $FlowFixMe\n return getActualDomain(parent);\n }\n\n return `${ PROTOCOL.ABOUT }//`;\n }\n\n const host = location.host;\n\n if (!host) {\n throw new Error(`Can not read window host`);\n }\n\n return `${ protocol }//${ host }`;\n}\n\nexport function getDomain(win? : SameDomainWindowType = window) : string {\n\n const domain = getActualDomain(win);\n\n if (domain && win.mockDomain && win.mockDomain.indexOf(PROTOCOL.MOCK) === 0) {\n return win.mockDomain;\n }\n\n return domain;\n}\n\nexport function isBlankDomain(win : CrossDomainWindowType) : boolean {\n try {\n // $FlowFixMe\n if (!win.location.href) {\n return true;\n }\n\n if (win.location.href === 'about:blank') {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isActuallySameDomain(win : CrossDomainWindowType) : boolean {\n\n try {\n if (win === window) {\n return true;\n }\n\n } catch (err) {\n // pass\n }\n\n try {\n const desc = Object.getOwnPropertyDescriptor(win, 'location');\n\n if (desc && desc.enumerable === false) {\n return false;\n }\n\n } catch (err) {\n // pass\n }\n\n try {\n // $FlowFixMe\n if (isAboutProtocol(win) && canReadFromWindow(win)) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n try {\n // $FlowFixMe\n if (isMockProtocol(win) && canReadFromWindow(win)) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n try {\n // $FlowFixMe\n if (getActualDomain(win) === getActualDomain(window)) {\n return true;\n }\n\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isSameDomain(win : CrossDomainWindowType | SameDomainWindowType) : boolean {\n\n if (!isActuallySameDomain(win)) {\n return false;\n }\n\n try {\n if (win === window) {\n return true;\n }\n \n // $FlowFixMe\n if (isAboutProtocol(win) && canReadFromWindow(win)) {\n return true;\n }\n\n // $FlowFixMe\n if (getDomain(window) === getDomain(win)) {\n return true;\n }\n\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\n\nexport function assertSameDomain(win : CrossDomainWindowType | SameDomainWindowType) : SameDomainWindowType {\n if (!isSameDomain(win)) {\n throw new Error(`Expected window to be same domain`);\n }\n\n // $FlowFixMe\n return win;\n}\n\nexport function getParents(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const result = [];\n\n try {\n\n while (win.parent !== win) {\n result.push(win.parent);\n win = win.parent;\n }\n\n } catch (err) {\n // pass\n }\n\n return result;\n}\n\nexport function isAncestorParent(parent : CrossDomainWindowType, child : CrossDomainWindowType) : boolean {\n\n if (!parent || !child) {\n return false;\n }\n\n const childParent = getParent(child);\n\n if (childParent) {\n return childParent === parent;\n }\n\n if (getParents(child).indexOf(parent) !== -1) {\n return true;\n }\n\n return false;\n}\n\nexport function getFrames(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const result = [];\n\n let frames;\n\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n\n let len;\n\n try {\n len = frames.length;\n } catch (err) {\n // pass\n }\n\n if (len === 0) {\n return result;\n }\n\n if (len) {\n for (let i = 0; i < len; i++) {\n\n let frame;\n\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n\n result.push(frame);\n }\n\n return result;\n }\n\n for (let i = 0; i < 100; i++) {\n let frame;\n\n try {\n frame = frames[i];\n } catch (err) {\n return result;\n }\n\n if (!frame) {\n return result;\n }\n\n result.push(frame);\n }\n\n return result;\n}\n\n\nexport function getAllChildFrames(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const result = [];\n\n for (const frame of getFrames(win)) {\n result.push(frame);\n\n for (const childFrame of getAllChildFrames(frame)) {\n result.push(childFrame);\n }\n }\n\n return result;\n}\n\nexport function getTop(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n\n try {\n if (win.top) {\n return win.top;\n }\n } catch (err) {\n // pass\n }\n\n if (getParent(win) === win) {\n return win;\n }\n\n try {\n if (isAncestorParent(window, win) && window.top) {\n return window.top;\n }\n } catch (err) {\n // pass\n }\n\n try {\n if (isAncestorParent(win, window) && window.top) {\n return window.top;\n }\n } catch (err) {\n // pass\n }\n\n for (const frame of getAllChildFrames(win)) {\n try {\n if (frame.top) {\n return frame.top;\n }\n } catch (err) {\n // pass\n }\n\n if (getParent(frame) === frame) {\n return frame;\n }\n }\n}\n\nexport function getNextOpener(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n return getOpener(getTop(win) || win);\n}\n\nexport function getUltimateTop(win? : CrossDomainWindowType = window) : CrossDomainWindowType {\n const opener = getNextOpener(win);\n\n if (opener) {\n return getUltimateTop(opener);\n }\n\n return top;\n}\n\nexport function getAllFramesInWindow(win : CrossDomainWindowType) : $ReadOnlyArray {\n const top = getTop(win);\n\n if (!top) {\n throw new Error(`Can not determine top window`);\n }\n\n let result = [ ...getAllChildFrames(top), top ];\n\n // Win may be in shadow dom\n if (result.indexOf(win) === -1) {\n result = [ ...result, win, ...getAllChildFrames(win) ];\n }\n\n return result;\n}\n\nexport function getAllWindows(win? : CrossDomainWindowType = window) : $ReadOnlyArray {\n const frames = getAllFramesInWindow(win);\n const opener = getNextOpener(win);\n\n if (opener) {\n return [ ...getAllWindows(opener), ...frames ];\n } else {\n return frames;\n }\n}\n\nexport function isTop(win : CrossDomainWindowType) : boolean {\n return win === getTop(win);\n}\n\nexport function isFrameWindowClosed(frame : HTMLIFrameElement) : boolean {\n\n if (!frame.contentWindow) {\n return true;\n }\n\n if (!frame.parentNode) {\n return true;\n }\n\n const doc = frame.ownerDocument;\n\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n let parent = frame;\n\n while (parent.parentNode && parent.parentNode !== parent) {\n parent = parent.parentNode;\n }\n\n // $FlowFixMe\n if (!parent.host || !doc.documentElement.contains(parent.host)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction safeIndexOf(collection : $ReadOnlyArray, item : T) : number {\n for (let i = 0; i < collection.length; i++) {\n\n try {\n if (collection[i] === item) {\n return i;\n }\n } catch (err) {\n // pass\n }\n }\n\n return -1;\n}\n\nconst iframeWindows = [];\nconst iframeFrames = [];\n\nexport function isWindowClosed(win : CrossDomainWindowType, allowMock : boolean = true) : boolean {\n\n try {\n if (win === window) {\n return false;\n }\n } catch (err) {\n return true;\n }\n\n try {\n if (!win) {\n return true;\n }\n\n } catch (err) {\n return true;\n }\n\n try {\n if (win.closed) {\n return true;\n }\n\n } catch (err) {\n\n // I love you so much IE\n\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return false;\n }\n\n return true;\n }\n\n\n if (allowMock && isSameDomain(win)) {\n try {\n // $FlowFixMe\n if (win.mockclosed) {\n return true;\n }\n } catch (err) {\n // pass\n }\n }\n\n // Mobile safari\n\n try {\n if (!win.parent || !win.top) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n // Yes, this actually happens in IE. win === win errors out when the window\n // is from an iframe, and the iframe was removed from the page.\n\n try {\n noop(win === win); // eslint-disable-line no-self-compare\n } catch (err) {\n return true;\n }\n\n // IE orphaned frame\n\n const iframeIndex = safeIndexOf(iframeWindows, win);\n\n if (iframeIndex !== -1) {\n const frame = iframeFrames[iframeIndex];\n\n if (frame && isFrameWindowClosed(frame)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction cleanIframes() {\n for (let i = 0; i < iframeWindows.length; i++) {\n let closed = false;\n\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {\n // pass\n }\n\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n}\n\nexport function linkFrameWindow(frame : HTMLIFrameElement) {\n\n cleanIframes();\n\n if (frame && frame.contentWindow) {\n try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {\n // pass\n }\n }\n}\n\nexport function getUserAgent(win : ?SameDomainWindowType) : string {\n win = win || window;\n return win.navigator.mockUserAgent || win.navigator.userAgent;\n}\n\n\nexport function getFrameByName(win : CrossDomainWindowType, name : string) : ?CrossDomainWindowType {\n\n const winFrames = getFrames(win);\n\n for (const childFrame of winFrames) {\n try {\n // $FlowFixMe\n if (isSameDomain(childFrame) && childFrame.name === name && winFrames.indexOf(childFrame) !== -1) {\n return childFrame;\n }\n } catch (err) {\n // pass\n }\n }\n\n try {\n // $FlowFixMe\n if (winFrames.indexOf(win.frames[name]) !== -1) {\n // $FlowFixMe\n return win.frames[name];\n }\n } catch (err) {\n // pass\n }\n\n try {\n if (winFrames.indexOf(win[name]) !== -1) {\n return win[name];\n }\n } catch (err) {\n // pass\n }\n}\n\nexport function findChildFrameByName(win : CrossDomainWindowType, name : string) : ?CrossDomainWindowType {\n\n const frame = getFrameByName(win, name);\n\n if (frame) {\n return frame;\n }\n\n for (const childFrame of getFrames(win)) {\n const namedFrame = findChildFrameByName(childFrame, name);\n\n if (namedFrame) {\n return namedFrame;\n }\n }\n}\n\nexport function findFrameByName(win : CrossDomainWindowType, name : string) : ?CrossDomainWindowType {\n const frame = getFrameByName(win, name);\n\n if (frame) {\n return frame;\n }\n\n const top = getTop(win) || win;\n\n return findChildFrameByName(top, name);\n}\n\nexport function isParent(win : CrossDomainWindowType, frame : CrossDomainWindowType) : boolean {\n\n const frameParent = getParent(frame);\n\n if (frameParent) {\n return frameParent === win;\n }\n\n for (const childFrame of getFrames(win)) {\n if (childFrame === frame) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isOpener(parent : CrossDomainWindowType, child : CrossDomainWindowType) : boolean {\n\n return parent === getOpener(child);\n}\n\nexport function getAncestor(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n win = win || window;\n\n const opener = getOpener(win);\n\n if (opener) {\n return opener;\n }\n\n const parent = getParent(win);\n\n if (parent) {\n return parent;\n }\n}\n\nexport function getAncestors(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const results = [];\n\n let ancestor = win;\n\n while (ancestor) {\n ancestor = getAncestor(ancestor);\n if (ancestor) {\n results.push(ancestor);\n }\n }\n\n return results;\n}\n\n\nexport function isAncestor(parent : CrossDomainWindowType, child : CrossDomainWindowType) : boolean {\n\n const actualParent = getAncestor(child);\n\n if (actualParent) {\n if (actualParent === parent) {\n return true;\n }\n\n return false;\n }\n\n if (child === parent) {\n return false;\n }\n\n if (getTop(child) === child) {\n return false;\n }\n\n for (const frame of getFrames(parent)) {\n if (frame === child) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isPopup(win? : CrossDomainWindowType = window) : boolean {\n return Boolean(getOpener(win));\n}\n\nexport function isIframe(win? : CrossDomainWindowType = window) : boolean {\n return Boolean(getParent(win));\n}\n\nexport function isFullpage(win? : CrossDomainWindowType = window) : boolean {\n return Boolean(!isIframe(win) && !isPopup(win));\n}\n\nfunction anyMatch(collection1, collection2) : boolean {\n\n for (const item1 of collection1) {\n for (const item2 of collection2) {\n if (item1 === item2) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function getDistanceFromTop(win : CrossDomainWindowType = window) : number {\n let distance = 0;\n let parent = win;\n\n while (parent) {\n parent = getParent(parent);\n if (parent) {\n distance += 1;\n }\n }\n\n return distance;\n}\n\nexport function getNthParent(win : CrossDomainWindowType, n : number = 1) : ?CrossDomainWindowType {\n let parent = win;\n\n for (let i = 0; i < n; i++) {\n if (!parent) {\n return;\n }\n\n parent = getParent(parent);\n }\n\n return parent;\n}\n\nexport function getNthParentFromTop(win : CrossDomainWindowType, n : number = 1) : ?CrossDomainWindowType {\n return getNthParent(win, getDistanceFromTop(win) - n);\n}\n\nexport function isSameTopWindow(win1 : CrossDomainWindowType, win2 : CrossDomainWindowType) : boolean {\n\n const top1 = getTop(win1) || win1;\n const top2 = getTop(win2) || win2;\n\n try {\n if (top1 && top2) {\n if (top1 === top2) {\n return true;\n }\n\n return false;\n }\n } catch (err) {\n // pass\n }\n\n const allFrames1 = getAllFramesInWindow(win1);\n const allFrames2 = getAllFramesInWindow(win2);\n\n if (anyMatch(allFrames1, allFrames2)) {\n return true;\n }\n\n const opener1 = getOpener(top1);\n const opener2 = getOpener(top2);\n\n if (opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2)) {\n return false;\n }\n\n if (opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1)) {\n return false;\n }\n\n return false;\n}\n\nexport function matchDomain(pattern : DomainMatcher, origin : DomainMatcher) : boolean {\n\n if (typeof pattern === 'string') {\n\n if (typeof origin === 'string') {\n return pattern === WILDCARD || origin === pattern;\n }\n\n if (isRegex(origin)) {\n return false;\n }\n\n if (Array.isArray(origin)) {\n return false;\n }\n }\n\n if (isRegex(pattern)) {\n\n if (isRegex(origin)) {\n return pattern.toString() === origin.toString();\n }\n\n if (Array.isArray(origin)) {\n return false;\n }\n\n // $FlowFixMe\n return Boolean(origin.match(pattern));\n }\n\n if (Array.isArray(pattern)) {\n\n if (Array.isArray(origin)) {\n return JSON.stringify(pattern) === JSON.stringify(origin);\n }\n\n if (isRegex(origin)) {\n return false;\n }\n\n return pattern.some(subpattern => matchDomain(subpattern, origin));\n }\n\n return false;\n}\n\nexport function stringifyDomainPattern(pattern : DomainMatcher) : string {\n if (Array.isArray(pattern)) {\n return `(${ pattern.join(' | ') })`;\n } else if (isRegex(pattern)) {\n return `RegExp(${ pattern.toString() })`;\n } else {\n return pattern.toString();\n }\n}\n\nexport function getDomainFromUrl(url : string) : string {\n\n let domain;\n\n if (url.match(/^(https?|mock|file):\\/\\//)) {\n domain = url;\n } else {\n return getDomain();\n }\n\n domain = domain.split('/').slice(0, 3).join('/');\n\n return domain;\n}\n\nexport function onCloseWindow(win : CrossDomainWindowType, callback : Function, delay : number = 1000, maxtime : number = Infinity) : {| cancel : () => void |} {\n\n let timeout;\n\n const check = () => {\n\n if (isWindowClosed(win)) {\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n return callback();\n }\n\n if (maxtime <= 0) {\n clearTimeout(timeout);\n } else {\n maxtime -= delay;\n timeout = setTimeout(check, delay);\n }\n };\n\n check();\n\n return {\n cancel() {\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n };\n}\n\n// eslint-disable-next-line complexity\nexport function isWindow(obj : Object) : boolean {\n\n try {\n if (obj === window) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n // $FlowFixMe method-unbinding\n if (Object.prototype.toString.call(obj) === '[object Window]') {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (window.Window && obj instanceof window.Window) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (obj && obj.self === obj) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (obj && obj.parent === obj) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (obj && obj.top === obj) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (noop(obj === obj) === '__unlikely_value__') { // eslint-disable-line no-self-compare\n return false;\n }\n\n } catch (err) {\n return true;\n }\n\n try {\n if (obj && obj.__cross_domain_utils_window_check__ === '__unlikely_value__') {\n return false;\n }\n\n } catch (err) {\n return true;\n }\n\n try {\n if ('postMessage' in obj && 'self' in obj && 'location' in obj) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isBrowser() : boolean {\n return (typeof window !== 'undefined' && typeof window.location !== 'undefined');\n}\n\nexport function isCurrentDomain(domain : string) : boolean {\n if (!isBrowser()) {\n return false;\n }\n\n return (getDomain() === domain);\n}\n\nexport function isMockDomain(domain : string) : boolean {\n return domain.indexOf(PROTOCOL.MOCK) === 0;\n}\n\nexport function normalizeMockUrl(url : string) : string {\n if (!isMockDomain(getDomainFromUrl(url))) {\n return url;\n }\n\n if (!__TEST__) {\n throw new Error(`Mock urls not supported out of test mode`);\n }\n\n return url.replace(/^mock:\\/\\/[^/]+/, getActualDomain(window));\n}\n\nexport function getFrameForWindow(win : CrossDomainWindowType) : ?HTMLElement {\n if (isSameDomain(win)) {\n return assertSameDomain(win).frameElement;\n }\n\n for (const frame of document.querySelectorAll('iframe')) {\n if (frame && frame.contentWindow && frame.contentWindow === win) {\n return frame;\n }\n }\n}\n\nexport function closeWindow(win : CrossDomainWindowType) {\n if (isIframe(win)) {\n const frame = getFrameForWindow(win);\n if (frame && frame.parentElement) {\n frame.parentElement.removeChild(frame);\n return;\n }\n }\n\n try {\n win.close();\n } catch (err) {\n // pass\n }\n}\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","/* @flow */\n\nimport { ENV, PROTOCOL, COMPONENTS, PLATFORM, type FundingEligibilityType } from '@paypal/sdk-constants/src';\nimport { isDevice } from '@krakenjs/belter/src';\n\nexport function getSDKHost() : string {\n return __SDK_HOST__;\n}\n\nexport function getProtocol() : $Values {\n return (typeof __PROTOCOL__ !== 'undefined') ? __PROTOCOL__ : PROTOCOL.HTTPS;\n}\n\nexport function getHost() : string {\n return __HOST__;\n}\n\nexport function getHostName() : string {\n return __HOSTNAME__;\n}\n\nexport function getPort() : number {\n return __PORT__;\n}\n\nexport function getPath() : string {\n return __PATH__;\n}\n\nexport function getEnv() : $Values {\n return __ENV__;\n}\n\nexport function getPayPalDomain() : string {\n return __PAYPAL_DOMAIN__;\n}\n\nexport function getPayPalAPIDomain() : string {\n return __PAYPAL_API_DOMAIN__;\n}\n\nexport function getDefaultServiceStageHost() : ?string {\n if (typeof __SERVICE_STAGE_HOST__ !== 'undefined' && __SERVICE_STAGE_HOST__ !== null) {\n return __SERVICE_STAGE_HOST__;\n }\n}\n\nexport function getDefaultStageHost() : ?string {\n if (typeof __STAGE_HOST__ !== 'undefined' && __STAGE_HOST__ !== null) {\n return __STAGE_HOST__;\n }\n}\n\nexport function getDefaultAPIStageHost() : ?string {\n const serviceStageHost = getDefaultServiceStageHost();\n const stageHost = getDefaultStageHost();\n\n if (serviceStageHost) {\n return serviceStageHost;\n } else if (stageHost) {\n return stageHost;\n }\n}\n\nexport function getStageHost() : ?string {\n return getDefaultStageHost();\n}\n\nexport function getAPIStageHost() : ?string {\n const defaultAPIStageHost = getDefaultAPIStageHost();\n\n if (defaultAPIStageHost) {\n return defaultAPIStageHost.replace('www.', 'api.');\n }\n}\n\nexport function getVersion() : string {\n return __VERSION__;\n}\n\nexport function getCorrelationID() : string {\n return __CORRELATION_ID__;\n}\n\nexport function getDefaultNamespace() : string {\n return __NAMESPACE__;\n}\n\nexport function getDebug() : boolean {\n return __DEBUG__;\n}\n\nexport function getComponents() : $ReadOnlyArray<$Values> {\n return __COMPONENTS__;\n}\n\nexport function getFundingEligibility() : FundingEligibilityType {\n return __FUNDING_ELIGIBILITY__;\n}\n\nexport function getPlatform() : $Values {\n return isDevice() ? PLATFORM.MOBILE : PLATFORM.DESKTOP;\n}\n","/* @flow */\n\nexport const SUPPORTED_BROWSERS = {\n msie: '11',\n firefox: '30',\n chrome: '27',\n safari: '7',\n opera: '16',\n msedge: '12',\n samsungBrowser: '2.1',\n silk: '59.3',\n ucbrowser: '10.0.0.488',\n vivaldi: '1.91'\n};\n\nconst SANDBOX_ALIAS = 'AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R';\n\nexport const CLIENT_ID_ALIAS = {\n sandbox: SANDBOX_ALIAS,\n sb: SANDBOX_ALIAS,\n test: SANDBOX_ALIAS\n};\n\nexport const URI = {\n LOGGER: `/xoplatform/logger/api/logger`,\n AUTH: `/v1/oauth2/token`,\n ORDER: `/v2/checkout/orders`\n};\n","/* @flow */\n\nimport { getCurrentScriptUID, ATTRIBUTES, parseQuery, getBrowserLocales, base64decode,\n values, getCurrentScript, memoize, stringifyError, getScript } from '@krakenjs/belter/src';\nimport { COUNTRY, SDK_SETTINGS, SDK_QUERY_KEYS, INTENT, COMMIT, VAULT, CURRENCY,\n FUNDING, CARD, COUNTRY_LANGS, DEFAULT_INTENT, DEFAULT_CURRENCY, DEFAULT_VAULT,\n QUERY_BOOL, LANG, type LocaleType, DEFAULT_SALE_COMMIT, DEFAULT_NONSALE_COMMIT,\n PAGE_TYPES } from '@paypal/sdk-constants/src';\n\nimport { getPath, getDefaultNamespace, getSDKHost } from './global';\nimport { CLIENT_ID_ALIAS } from './config';\nimport { getComputedLocales } from './utils';\n\ntype GetSDKScript = () => HTMLScriptElement;\n\nexport const getSDKScript : GetSDKScript = memoize(() => {\n if (__TEST__) {\n const script = getScript({ host: getSDKHost(), path: getPath(), reverse: true });\n if (!script) {\n throw new Error(`Can not find SDK test script`);\n }\n return script;\n }\n\n try {\n return getCurrentScript();\n } catch (err) {\n throw new Error(`PayPal Payments SDK script not found on page! Expected to find