@monei-js/components 1.7.10 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -9
- package/dist/chunk.js +13 -0
- package/dist/index.cjs +1623 -0
- package/dist/index.d.cts +510 -0
- package/dist/index.d.ts +508 -14
- package/dist/index.js +1596 -7
- package/dist/monei.umd.production.min.js +64 -0
- package/dist/monei.umd.production.min.js.map +1 -0
- package/package.json +41 -65
- package/src/bridge/types.ts +102 -0
- package/dist/api.d.ts +0 -13
- package/dist/bizum/container.d.ts +0 -4
- package/dist/bizum/index.d.ts +0 -5
- package/dist/bizum/modal.d.ts +0 -3
- package/dist/bizum/types.d.ts +0 -30
- package/dist/cardInput/index.d.ts +0 -8
- package/dist/cardInput/types.d.ts +0 -51
- package/dist/click2pay/container.d.ts +0 -4
- package/dist/click2pay/index.d.ts +0 -5
- package/dist/click2pay/modal.d.ts +0 -3
- package/dist/click2pay/types.d.ts +0 -23
- package/dist/cofidis/container.d.ts +0 -4
- package/dist/cofidis/index.d.ts +0 -6
- package/dist/cofidis/modal.d.ts +0 -3
- package/dist/cofidis/types.d.ts +0 -45
- package/dist/cofidis/widget.d.ts +0 -3
- package/dist/cofidisLoan/container.d.ts +0 -4
- package/dist/cofidisLoan/index.d.ts +0 -7
- package/dist/cofidisLoan/modal.d.ts +0 -4
- package/dist/cofidisLoan/types.d.ts +0 -45
- package/dist/cofidisLoan/widget.d.ts +0 -4
- package/dist/components.cjs.development.js +0 -18997
- package/dist/components.cjs.development.js.map +0 -1
- package/dist/components.cjs.production.min.js +0 -2
- package/dist/components.cjs.production.min.js.map +0 -1
- package/dist/components.esm.js +0 -18979
- package/dist/components.esm.js.map +0 -1
- package/dist/config.d.ts +0 -28
- package/dist/container.d.ts +0 -1
- package/dist/enums.d.ts +0 -4
- package/dist/googlePay/index.d.ts +0 -4
- package/dist/googlePay/types.d.ts +0 -21
- package/dist/paymentModal/container.d.ts +0 -4
- package/dist/paymentModal/index.d.ts +0 -6
- package/dist/paymentModal/types.d.ts +0 -28
- package/dist/paymentRequest/index.d.ts +0 -4
- package/dist/paymentRequest/types.d.ts +0 -22
- package/dist/paypal/index.d.ts +0 -4
- package/dist/paypal/types.d.ts +0 -27
- package/dist/types.d.ts +0 -194
- package/dist/utils.d.ts +0 -11
- package/types/belter.d.ts +0 -1
- package/types/component.d.ts +0 -196
- package/types/css.d.ts +0 -9
- package/types/global.d.ts +0 -3
- package/types/post-robot.d.ts +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.cjs.development.js","sources":["../../node_modules/regenerator-runtime/runtime.js","../src/utils.ts","../src/config.ts","../src/api.ts","../../node_modules/post-robot/dist/post-robot.js","../../node_modules/post-robot/index.js","../../node_modules/@krakenjs/zoid/dist/zoid.frameworks.js","../../node_modules/belter/dist/belter.js","../../node_modules/belter/index.js","../src/enums.ts","../src/container.ts","../src/cardInput/index.ts","../src/paymentModal/index.ts","../src/paypal/index.ts","../src/bizum/container.ts","../src/bizum/modal.ts","../src/bizum/index.ts","../src/cofidis/container.ts","../src/cofidis/modal.ts","../src/cofidis/widget.ts","../src/cofidis/index.ts","../src/cofidisLoan/container.ts","../src/cofidisLoan/modal.ts","../src/cofidisLoan/widget.ts","../src/cofidisLoan/index.ts","../src/googlePay/index.ts","../src/paymentRequest/index.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import {Thumbmark} from '@thumbmarkjs/thumbmarkjs';\nimport {CSSObject} from '../types/css';\nimport {GetPaymentMethodsResponse} from './types';\n\nexport const transformStyle = (style: CSSObject) => {\n return Object.keys(style).reduce<any>((result, prop) => {\n if (typeof style[prop] === 'string') {\n result[prop] = style[prop];\n } else {\n result[prop] = `${style[prop]}px`;\n }\n return result;\n }, {});\n};\n\nexport const loadScript = (\n src: string,\n nonce?: string,\n dataset?: Record<string, string | undefined>,\n forceReload?: boolean\n): Promise<HTMLScriptElement> => {\n return new Promise((resolve, reject) => {\n const existingScript = Array.from(document.scripts).find((s) => s.src === src);\n if (existingScript) {\n if (forceReload) {\n existingScript.remove();\n } else {\n resolve(existingScript);\n return;\n }\n }\n const script = document.createElement('script');\n script.src = src;\n script.onload = () => resolve(script);\n script.onerror = (error) => reject(error);\n if (nonce) {\n script.setAttribute('nonce', nonce);\n }\n if (dataset) {\n Object.keys(dataset).forEach((key) => {\n if (dataset[key]) {\n script.dataset[key] = dataset[key];\n }\n });\n }\n document.head.appendChild(script);\n });\n};\n\nexport const stringify = (obj: Record<string, any>) => {\n return Object.keys(obj)\n .reduce<string[]>((result, key) => {\n if (obj[key] !== undefined) {\n result.push(`${key}=${obj[key]}`);\n }\n return result;\n }, [])\n .join('&');\n};\n\nexport const fixLocalstorage = () => {\n let localStorage: Storage;\n try {\n localStorage = window.localStorage;\n } catch (error) {\n const localStorageMock = (() => {\n let store = new Map();\n return {\n getItem(key: string): string {\n return store.get(key);\n },\n\n setItem: function (key: string, value: string) {\n store.set(key, value);\n },\n\n clear: function () {\n store = new Map();\n },\n\n removeItem: function (key: string) {\n store.delete(key);\n }\n };\n })();\n\n Object.defineProperty(window, 'localStorage', {value: localStorageMock});\n localStorage = localStorageMock as Storage;\n }\n return localStorage;\n};\n\nconst getLanguage = () => {\n let lang;\n const localStorage = fixLocalstorage();\n try {\n lang = localStorage.getItem('i18nextLng');\n } catch (error) {}\n if (lang) {\n return lang.split('-')[0];\n }\n return '';\n};\n\nconst safe = (fn: () => unknown): string => {\n try {\n return String(fn() ?? '');\n } catch {\n return '';\n }\n};\n\nexport const getClientEnv = () => {\n const env = [\n window.screen.colorDepth,\n window.screen.height,\n window.screen.width,\n new Date().getTimezoneOffset(),\n getLanguage(),\n safe(() => Intl.DateTimeFormat().resolvedOptions().timeZone),\n safe(() => window.devicePixelRatio),\n safe(() => navigator.hardwareConcurrency),\n safe(() => (navigator as any).deviceMemory),\n safe(() => navigator.maxTouchPoints),\n safe(() => navigator.platform),\n safe(() => navigator.languages?.join(','))\n ].join('|');\n return window.btoa(env);\n};\n\nconst FINGERPRINT_SEED_KEY = '_monei_fp';\n\nconst randomHex = (length: number): string => {\n if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {\n const bytes = new Uint8Array(length);\n crypto.getRandomValues(bytes);\n return Array.from(bytes, (b) => (b % 16).toString(16)).join('');\n }\n return Array.from({length}, () => Math.floor(Math.random() * 16).toString(16)).join('');\n};\n\nlet cachedSeed: string | null = null;\n\nconst getPersistentSeed = async (): Promise<Record<string, string>> => {\n if (cachedSeed) return {seed: cachedSeed};\n try {\n const localStorage = fixLocalstorage();\n cachedSeed = localStorage.getItem(FINGERPRINT_SEED_KEY);\n if (!cachedSeed) {\n cachedSeed = randomHex(32);\n try {\n localStorage.setItem(FINGERPRINT_SEED_KEY, cachedSeed);\n } catch {}\n }\n } catch {\n cachedSeed = randomHex(32);\n }\n return {seed: cachedSeed};\n};\n\nconst thumbmark = new Thumbmark({logging: false});\nthumbmark.includeComponent('persistent_seed', getPersistentSeed);\n\nexport const getClientFingerprint = async (): Promise<string> => {\n const [, result] = await withError(thumbmark.get());\n return result?.thumbmark ?? '';\n};\n\nexport const withError = async <T>(p: Promise<T>): Promise<[Error | undefined, T | undefined]> => {\n try {\n return [undefined, await p];\n } catch (err) {\n return [err as Error, undefined];\n }\n};\n\nexport const isMethodSupported = (config: GetPaymentMethodsResponse, paymentMethod: string) => {\n return config.paymentMethods && config.paymentMethods.includes(paymentMethod);\n};\n\nexport const validateComponentProps = (props: any) => {\n if (props.paymentId) return;\n if (props.accountId && props.amount && props.currency) return;\n throw new Error('You need to provide paymentId or accountId amount and currency');\n};\n","type Stage = 'local' | 'dev' | 'prod';\n\nconst stage = (process.env.STAGE as Stage) || 'local';\nconst domain = process.env.DOMAIN || 'http://localhost:3001';\nconst version = process.env.VERSION || 'v1';\n\ntype Config = {\n version: string;\n domain: string;\n stage: string;\n rootDomain: string;\n isProduction: boolean;\n paymentPageUrl: string;\n posPaymentPageUrl: string;\n cardInputUrl: string;\n paymentModalUrl: string;\n bizumUrl: string;\n bizumButtonUrl: string;\n cofidisUrl: string;\n cofidisButtonUrl: string;\n cofidisWidgetUrl: string;\n cofidisLoanUrl: string;\n cofidisLoanButtonUrl: string;\n cofidisLoanWidgetUrl: string;\n paypalUrl: string;\n apiUrl: string;\n googlePayUrl: string;\n paymentRequestUrl: string;\n secureDomain: string;\n click2PayUrl: string;\n click2PayButtonUrl: string;\n};\n\nconst globalConfig = {\n domain,\n version,\n stage,\n isProduction: stage === 'prod',\n paymentPageUrl: `${domain}/${version}/payment-page/`,\n posPaymentPageUrl: `${domain}/${version}/pos-payment-page/`,\n cardInputUrl: `${domain}/${version}/inner-card-input/`,\n paymentModalUrl: `${domain}/${version}/inner-payment-modal/`,\n paypalUrl: `${domain}/${version}/inner-paypal/`,\n bizumUrl: `${domain}/${version}/inner-bizum/`,\n bizumButtonUrl: `${domain}/${version}/inner-bizum-button/`,\n cofidisUrl: `${domain}/${version}/inner-cofidis/`,\n cofidisButtonUrl: `${domain}/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `${domain}/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `${domain}/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `${domain}/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `${domain}/${version}/inner-cofidis-loan-widget/`,\n googlePayUrl: `${domain}/${version}/inner-google-pay/`,\n paymentRequestUrl: `${domain}/${version}/inner-payment-request/`,\n click2PayUrl: `${domain}/${version}/inner-click2pay/`,\n click2PayButtonUrl: `${domain}/${version}/inner-click2pay-button/`\n};\n\nconst stageConfig = {\n local: {\n paymentPageUrl: `http://localhost:8080/`,\n posPaymentPageUrl: `http://localhost:8080/`,\n cardInputUrl: `http://localhost:3001/${version}/inner-card-input/`,\n paymentModalUrl: `http://localhost:3002/${version}/inner-payment-modal/`,\n paypalUrl: `http://localhost:3003/${version}/inner-paypal/`,\n bizumUrl: `http://localhost:3004/${version}/inner-bizum/`,\n bizumButtonUrl: `http://localhost:3005/${version}/inner-bizum-button/`,\n googlePayUrl: `http://localhost:3006/${version}/inner-google-pay/`,\n paymentRequestUrl: `https://monei-local.ngrok.io/${version}/inner-payment-request/`,\n click2PayUrl: `http://localhost:3008/inner-click2pay/`,\n click2PayButtonUrl: `http://localhost:3009/inner-click2pay-button/`,\n cofidisUrl: `http://localhost:3010/${version}/inner-cofidis/`,\n cofidisButtonUrl: `http://localhost:3011/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `http://localhost:3012/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `http://localhost:3013/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `http://localhost:3014/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `http://localhost:3015/${version}/inner-cofidis-loan-widget/`,\n apiUrl: 'https://api.monei-dev.com/v1',\n secureDomain: 'https://secure.monei-dev.com',\n rootDomain: 'monei-dev.com'\n },\n dev: {\n apiUrl: 'https://api.monei-dev.com/v1',\n secureDomain: 'https://secure.monei-dev.com',\n rootDomain: 'monei-dev.com'\n },\n prod: {\n apiUrl: 'https://api.monei.com/v1',\n secureDomain: 'https://secure.monei.com',\n rootDomain: 'monei.com'\n }\n};\n\nexport const config = {...globalConfig, ...stageConfig[stage]} as Config;\n","import {config} from './config';\nimport {ConfirmPaymentParams} from './paymentModal';\nimport {\n CalculateFinancingRequest,\n CalculateFinancingResponse,\n CreateApplePaySessionRequest,\n CreatePaymentRequest,\n CreateTokenRequest,\n CreateTokenResponse,\n GetPaymentMethodsRequest,\n GetPaymentMethodsResponse,\n PaymentResult,\n SendPaymentReceiptRequest,\n ValidateBizumPhoneRequest\n} from './types';\nimport {getClientEnv, getClientFingerprint, stringify, withError} from './utils';\n\ntype RequestParams = {\n method?: string;\n headers?: any;\n body?: any;\n};\nconst request = async (url: string, {method = 'GET', headers, body}: RequestParams = {}) => {\n if (method === 'POST') headers = {'Content-Type': 'application/json', ...headers};\n const res = await fetch(`${config.apiUrl}${url}`, {\n method,\n headers,\n body: body ? JSON.stringify(body) : undefined\n });\n const [, result] = await withError(res.json());\n if (!res.ok) throw result || new Error(res.statusText);\n return result;\n};\n\nconst pmCache: Record<string, Promise<GetPaymentMethodsResponse>> = {};\n\nexport const getPaymentMethods = async ({\n accountId,\n paymentId\n}: GetPaymentMethodsRequest): Promise<GetPaymentMethodsResponse> => {\n let params: GetPaymentMethodsRequest;\n if (paymentId) params = {paymentId};\n else if (accountId) params = {accountId};\n else throw new Error('You need to provide paymentId or accountId');\n const query = stringify(params);\n if (query in pmCache) return pmCache[query];\n const promise = request(`/payment-methods?${query}`);\n pmCache[query] = promise;\n return promise;\n};\n\nexport const createToken = async ({\n paymentMethod,\n paymentId,\n sessionId,\n amount,\n currency,\n accountId,\n transactionType\n}: CreateTokenRequest): Promise<CreateTokenResponse> => {\n let body: CreateTokenRequest;\n if (paymentId) {\n body = {paymentId, paymentMethod};\n } else if (accountId) {\n body = {accountId, paymentMethod, sessionId, amount, currency, transactionType};\n } else throw new Error('You need to provide paymentId or accountId');\n return request('/tokens', {\n method: 'POST',\n headers: {'X-Client-Env': getClientEnv(), 'X-Client-Fingerprint': await getClientFingerprint()},\n body: body\n });\n};\n\nexport const getPayment = async (paymentId: string): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-get`);\n};\n\nexport const confirmPayment = async ({paymentId, ...body}: ConfirmPaymentParams): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-confirm`, {\n method: 'POST',\n headers: {'X-Client-Env': getClientEnv(), 'X-Client-Fingerprint': await getClientFingerprint()},\n body\n });\n};\n\nexport const createPayment = async ({signature, ...body}: CreatePaymentRequest): Promise<PaymentResult> => {\n return request('/client-payments', {\n method: 'POST',\n headers: {\n 'X-Client-Env': getClientEnv(),\n 'X-Client-Fingerprint': await getClientFingerprint(),\n 'Client-Signature': signature\n },\n body\n });\n};\n\nexport const sendPaymentReceipt = async ({\n paymentId,\n customerEmail,\n signature,\n language\n}: SendPaymentReceiptRequest): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-receipt`, {\n method: 'POST',\n body: {customerEmail, signature, language}\n });\n};\n\nexport const createApplePaySession = async (body: CreateApplePaySessionRequest) => {\n return request(`/apple-pay/sessions`, {method: 'POST', body});\n};\n\nexport const calculateFinancing = async (req: CalculateFinancingRequest): Promise<CalculateFinancingResponse> => {\n return request(`/cofidis/calculate-financing`, {method: 'POST', body: req});\n};\n\nexport const validateBizumPhone = async (req: ValidateBizumPhoneRequest): Promise<{isValid: boolean}> => {\n return request(`/bizum/validate-phone`, {method: 'POST', body: req});\n};\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"postRobot\", [], factory) : \"object\" == typeof exports ? exports.postRobot = factory() : root.postRobot = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"Promise\", (function() {\n return promise_ZalgoPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return src_types_TYPES_0;\n }));\n __webpack_require__.d(__webpack_exports__, \"ProxyWindow\", (function() {\n return window_ProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setup\", (function() {\n return setup;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializeMessage\", (function() {\n return setup_serializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializeMessage\", (function() {\n return setup_deserializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"createProxyWindow\", (function() {\n return createProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"toProxyWindow\", (function() {\n return setup_toProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"on\", (function() {\n return on_on;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return on_once;\n }));\n __webpack_require__.d(__webpack_exports__, \"send\", (function() {\n return send_send;\n }));\n __webpack_require__.d(__webpack_exports__, \"markWindowKnown\", (function() {\n return markWindowKnown;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanUpWindow\", (function() {\n return cleanUpWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"bridge\", (function() {}));\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || getParent(win) || void 0;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function closeWindow(win) {\n try {\n win.close();\n } catch (err) {}\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + function(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n Error;\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i20 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i20 < _Array$prototype$slic2.length; _i20++) {\n var script = _Array$prototype$slic2[_i20];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_42__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER);\n var defaultDeserializers = {};\n new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? \"popup\" : \"iframe\";\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n },\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href) {\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n var sameDomain = isSameDomain(win);\n var frame = function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return \"popup\" === type;\n }));\n };\n _proto.setLocation = function(href) {\n var _this = this;\n return this.serializedWindow.setLocation(href).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name);\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return (item = args, [].slice.call(item)).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n var item;\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Request origin \" + origin + \" does not match domain \" + options.domain.toString());\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_42__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n (options = options || {}).name = name;\n options.handler = handler || options.handler;\n var win = options.window;\n var domain = options.domain;\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, win = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n domain = domain || \"*\";\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var nameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var domainListeners = util_getOrSet(nameListeners, name, (function() {\n return {};\n }));\n var strDomain = domain.toString();\n var regexListeners;\n var regexListener;\n util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(regexListener = {\n regex: domain,\n listener: listener\n }) : domainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete domainListeners[strDomain];\n if (regexListener) {\n regexListeners.splice(regexListeners.indexOf(regexListener, 1));\n regexListeners.length || delete domainListeners.__domain_regex__;\n }\n Object.keys(domainListeners).length || delete nameListeners[name];\n win && !Object.keys(nameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: win,\n domain: domain\n }, {\n handler: options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n },\n window: win,\n domain: domain || \"*\",\n name: name\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n function on_once(name, options, handler) {\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n var promise = new promise_ZalgoPromise;\n var listener;\n options.errorHandler = function(err) {\n listener.cancel();\n promise.reject(err);\n };\n listener = on_on(name, options, (function(event) {\n listener.cancel();\n promise.resolve(event);\n if (handler) return handler(event);\n }));\n promise.cancel = listener.cancel;\n return promise;\n }\n var send_send = function send(win, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (function(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (getParent(frame) === frame) return frame;\n }\n }(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return function(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = function(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n !function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout && promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }();\n loop();\n }), 500);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }();\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function createProxyWindow(win) {\n return new window_ProxyWindow({\n send: send_send,\n win: win\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function setup() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return function(obj, event, handler) {\n obj.addEventListener(\"message\", handler);\n return {\n cancel: function() {\n obj.removeEventListener(\"message\", handler);\n }\n };\n }(window, 0, (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }\n function destroy() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_42__;\n }\n var src_types_TYPES_0 = !0;\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n setup();\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/post-robot'); // eslint-disable-line import/no-commonjs\n\n// $FlowFixMe\nmodule.exports.default = module.exports; // eslint-disable-line import/no-commonjs\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"zoid\", [], factory) : \"object\" == typeof exports ? exports.zoid = factory() : root.zoid = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"create\", (function() {\n return component_create;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return component_destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyComponents\", (function() {\n return destroyComponents;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyAll\", (function() {\n return destroyAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_TYPE\", (function() {\n return PROP_TYPE;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_SERIALIZATION\", (function() {\n return PROP_SERIALIZATION;\n }));\n __webpack_require__.d(__webpack_exports__, \"CONTEXT\", (function() {\n return CONTEXT;\n }));\n __webpack_require__.d(__webpack_exports__, \"EVENT\", (function() {\n return EVENT;\n }));\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n var promiseResult = _result2;\n promiseResult.resolved ? promise.resolve(promiseResult.value) : promise.reject(promiseResult.error);\n promiseResult.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n _proto.lazy = function() {\n this.errorHandled = !0;\n return this;\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [].slice();\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var WINDOW_TYPE = {\n IFRAME: \"iframe\",\n POPUP: \"popup\"\n };\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function getActualProtocol(win) {\n void 0 === win && (win = window);\n return win.location.protocol;\n }\n function getProtocol(win) {\n void 0 === win && (win = window);\n if (win.mockDomain) {\n var protocol = win.mockDomain.split(\"//\")[0];\n if (protocol) return protocol;\n }\n return getActualProtocol(win);\n }\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === getProtocol(win);\n }\n function utils_getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !utils_getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = getActualProtocol(win);\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = utils_getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (function(win) {\n void 0 === win && (win = window);\n return \"mock:\" === getProtocol(win);\n }(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = utils_getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }\n function getTop(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (utils_getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = getAllChildFrames(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (utils_getParent(frame) === frame) return frame;\n }\n }\n function getAllFramesInWindow(win) {\n var top = getTop(win);\n if (!top) throw new Error(\"Can not determine top window\");\n var result = [].concat(getAllChildFrames(top), [ top ]);\n -1 === result.indexOf(win) && (result = [].concat(result, [ win ], getAllChildFrames(win)));\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function utils_getUserAgent(win) {\n return (win = win || window).navigator.mockUserAgent || win.navigator.userAgent;\n }\n function getFrameByName(win, name) {\n var winFrames = getFrames(win);\n for (var _i9 = 0; _i9 < winFrames.length; _i9++) {\n var childFrame = winFrames[_i9];\n try {\n if (isSameDomain(childFrame) && childFrame.name === name && -1 !== winFrames.indexOf(childFrame)) return childFrame;\n } catch (err) {}\n }\n try {\n if (-1 !== winFrames.indexOf(win.frames[name])) return win.frames[name];\n } catch (err) {}\n try {\n if (-1 !== winFrames.indexOf(win[name])) return win[name];\n } catch (err) {}\n }\n function isOpener(parent, child) {\n return parent === getOpener(child);\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || utils_getParent(win) || void 0;\n }\n function anyMatch(collection1, collection2) {\n for (var _i17 = 0; _i17 < collection1.length; _i17++) {\n var item1 = collection1[_i17];\n for (var _i19 = 0; _i19 < collection2.length; _i19++) if (item1 === collection2[_i19]) return !0;\n }\n return !1;\n }\n function getDistanceFromTop(win) {\n void 0 === win && (win = window);\n var distance = 0;\n var parent = win;\n for (;parent; ) (parent = utils_getParent(parent)) && (distance += 1);\n return distance;\n }\n function isSameTopWindow(win1, win2) {\n var top1 = getTop(win1) || win1;\n var top2 = getTop(win2) || win2;\n try {\n if (top1 && top2) return top1 === top2;\n } catch (err) {}\n var allFrames1 = getAllFramesInWindow(win1);\n var allFrames2 = getAllFramesInWindow(win2);\n if (anyMatch(allFrames1, allFrames2)) return !0;\n var opener1 = getOpener(top1);\n var opener2 = getOpener(top2);\n return opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2) || opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1), \n !1;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function getDomainFromUrl(url) {\n return url.match(/^(https?|mock|file):\\/\\//) ? url.split(\"/\").slice(0, 3).join(\"/\") : getDomain();\n }\n function onCloseWindow(win, callback, delay, maxtime) {\n void 0 === delay && (delay = 1e3);\n void 0 === maxtime && (maxtime = 1 / 0);\n var timeout;\n !function check() {\n if (isWindowClosed(win)) {\n timeout && clearTimeout(timeout);\n return callback();\n }\n if (maxtime <= 0) clearTimeout(timeout); else {\n maxtime -= delay;\n timeout = setTimeout(check, delay);\n }\n }();\n return {\n cancel: function() {\n timeout && clearTimeout(timeout);\n }\n };\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function normalizeMockUrl(url) {\n if (!(domain = getDomainFromUrl(url), 0 === domain.indexOf(\"mock:\"))) return url;\n var domain;\n throw new Error(\"Mock urls not supported out of test mode\");\n }\n function getFrameForWindow(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }\n function closeWindow(win) {\n if (function(win) {\n void 0 === win && (win = window);\n return Boolean(utils_getParent(win));\n }(win)) {\n var frame = getFrameForWindow(win);\n if (frame && frame.parentElement) {\n frame.parentElement.removeChild(frame);\n return;\n }\n }\n try {\n win.close();\n } catch (err) {}\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function isElement(element) {\n var passed = !1;\n try {\n (element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument) && (passed = !0);\n } catch (_) {}\n return passed;\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n }))).replace(/[=]/g, \"\");\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\").replace(/[=]/g, \"\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"uid_\" + \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : isElement(val) ? {} : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey;\n try {\n cacheKey = serializeArgs(args);\n } catch (_unused) {\n return method.apply(this, arguments);\n }\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function identity(item) {\n return item;\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function dasherizeToCamel(string) {\n return string.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n }));\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObjectObject(obj) {\n return \"object\" == typeof (item = obj) && null !== item && \"[object Object]\" === {}.toString.call(obj);\n var item;\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return 1;\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function isDefined(value) {\n return null != value;\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n var cleaner = {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n cleaner.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n var task = once((function() {\n return method(cleanErr);\n }));\n cleaned ? method(cleanErr) : tasks.push(task);\n return {\n cancel: function() {\n var index = tasks.indexOf(task);\n -1 !== index && tasks.splice(index, 1);\n }\n };\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n return cleaner;\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n function getBody() {\n var body = document.body;\n if (!body) throw new Error(\"Body element not found\");\n return body;\n }\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return encodeURIComponent(str);\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function parseQuery(queryString) {\n return function(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }.apply(void 0, args);\n }(parseQuery, 0, [ queryString ]);\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? function(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key] || \"boolean\" == typeof obj[key];\n })).map((function(key) {\n var val = obj[key];\n if (\"string\" != typeof val && \"boolean\" != typeof val) throw new TypeError(\"Invalid type for query\");\n return urlEncode(key) + \"=\" + urlEncode(val.toString());\n })).join(\"&\");\n }(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n resolve(el);\n clearInterval(interval);\n } else 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 var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function dom_iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = function(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && function(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }(element, options.styleSheet);\n if (options.html) {\n if (\"iframe\" === tag) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n element.innerHTML = options.html;\n }\n return element;\n }(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && function(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && function(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n if (script.src) {\n var hashedString = function(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }(JSON.stringify({\n src: script.src,\n dataset: script.dataset\n }));\n uid = \"uid_\" + hashedString.slice(hashedString.length - 30);\n } else uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return parseInt(max * toNum(dim) / 100, 10);\n if (\"string\" == typeof (str = dim) && /^[0-9]+px$/.test(str)) return toNum(dim);\n var str;\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_11_0_0__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function awaitWindowHello(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER[void 0] = function(val) {\n return serializeType(\"undefined\", val);\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER[void 0] = function() {}, _DESERIALIZER);\n var defaultDeserializers = {};\n function needsBridgeForBrowser() {\n return !!utils_getUserAgent(window).match(/MSIE|trident|edge\\/12|edge\\/13/i);\n }\n function needsBridgeForWin(win) {\n return !isSameTopWindow(window, win);\n }\n function needsBridgeForDomain(domain, win) {\n if (domain) {\n if (getDomain() !== getDomainFromUrl(domain)) return !0;\n } else if (win && !isSameDomain(win)) return !0;\n return !1;\n }\n function needsBridge(_ref) {\n var win = _ref.win, domain = _ref.domain;\n return !(!needsBridgeForBrowser() || domain && !needsBridgeForDomain(domain, win) || win && !needsBridgeForWin(win));\n }\n function getBridgeName(domain) {\n return \"__postrobot_bridge___\" + (domain = domain || getDomainFromUrl(domain)).replace(/[^a-zA-Z0-9]+/g, \"_\");\n }\n function isBridge() {\n return Boolean(window.name && window.name === getBridgeName(getDomain()));\n }\n var documentBodyReady = new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function registerRemoteWindow(win) {\n windowStore(\"remoteWindowPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }\n function findRemoteWindow(win) {\n var remoteWinPromise = windowStore(\"remoteWindowPromises\").get(win);\n if (!remoteWinPromise) throw new Error(\"Remote window promise not found\");\n return remoteWinPromise;\n }\n function registerRemoteSendMessage(win, domain, sendMessage) {\n findRemoteWindow(win).resolve((function(remoteWin, remoteDomain, message) {\n if (remoteWin !== win) throw new Error(\"Remote window does not match window\");\n if (!matchDomain(remoteDomain, domain)) throw new Error(\"Remote domain \" + remoteDomain + \" does not match domain \" + domain);\n sendMessage.fireAndForget(message);\n }));\n }\n function rejectRemoteSendMessage(win, err) {\n findRemoteWindow(win).reject(err).catch(src_util_noop);\n }\n function linkWindow(_ref3) {\n var win = _ref3.win, name = _ref3.name, domain = _ref3.domain;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n var popupWindowsByWin = windowStore(\"popupWindowsByWin\");\n for (var _i2 = 0, _popupWindowsByName$k2 = popupWindowsByName.keys(); _i2 < _popupWindowsByName$k2.length; _i2++) {\n var winName = _popupWindowsByName$k2[_i2];\n var _details = popupWindowsByName.get(winName);\n _details && !isWindowClosed(_details.win) || popupWindowsByName.del(winName);\n }\n if (isWindowClosed(win)) return {\n win: win,\n name: name,\n domain: domain\n };\n var details = popupWindowsByWin.getOrSet(win, (function() {\n return name ? popupWindowsByName.getOrSet(name, (function() {\n return {\n win: win,\n name: name\n };\n })) : {\n win: win\n };\n }));\n if (details.win && details.win !== win) throw new Error(\"Different window already linked for window: \" + (name || \"undefined\"));\n if (name) {\n details.name = name;\n popupWindowsByName.set(name, details);\n }\n if (domain) {\n details.domain = domain;\n registerRemoteWindow(win);\n }\n popupWindowsByWin.set(win, details);\n return details;\n }\n function setupBridge(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n windowOpen = window.open, window.open = function(url, name, options, last) {\n var win = windowOpen.call(this, normalizeMockUrl(url), name, options, last);\n if (!win) return win;\n linkWindow({\n win: win,\n name: name,\n domain: url ? getDomainFromUrl(url) : null\n });\n return win;\n };\n var windowOpen;\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n on(\"postrobot_open_tunnel\", (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var bridgePromise = globalStore(\"bridges\").get(origin);\n if (!bridgePromise) throw new Error(\"Can not find bridge promise for domain \" + origin);\n return bridgePromise.then((function(bridge) {\n if (source !== bridge) throw new Error(\"Message source does not matched registered bridge for domain \" + origin);\n if (!data.name) throw new Error(\"Register window expected to be passed window name\");\n if (!data.sendMessage) throw new Error(\"Register window expected to be passed sendMessage method\");\n if (!popupWindowsByName.has(data.name)) throw new Error(\"Window with name \" + data.name + \" does not exist, or was not opened by this window\");\n var getWindowDetails = function() {\n return popupWindowsByName.get(data.name);\n };\n if (!getWindowDetails().domain) throw new Error(\"We do not have a registered domain for window \" + data.name);\n if (getWindowDetails().domain !== origin) throw new Error(\"Message origin \" + origin + \" does not matched registered window origin \" + (getWindowDetails().domain || \"unknown\"));\n registerRemoteSendMessage(getWindowDetails().win, origin, data.sendMessage);\n return {\n sendMessage: function(message) {\n if (window && !window.closed && getWindowDetails()) {\n var domain = getWindowDetails().domain;\n if (domain) try {\n receiveMessage({\n data: message,\n origin: domain,\n source: getWindowDetails().win\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }\n };\n }));\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n !function(_ref2) {\n var send = _ref2.send;\n global_getGlobal(window).openTunnelToParent = function(_ref3) {\n var name = _ref3.name, source = _ref3.source, canary = _ref3.canary, sendMessage = _ref3.sendMessage;\n var tunnelWindows = globalStore(\"tunnelWindows\");\n var parentWindow = utils_getParent(window);\n if (!parentWindow) throw new Error(\"No parent window found to open tunnel to\");\n var id = function(_ref) {\n var name = _ref.name, source = _ref.source, canary = _ref.canary, sendMessage = _ref.sendMessage;\n !function() {\n var tunnelWindows = globalStore(\"tunnelWindows\");\n for (var _i2 = 0, _tunnelWindows$keys2 = tunnelWindows.keys(); _i2 < _tunnelWindows$keys2.length; _i2++) {\n var key = _tunnelWindows$keys2[_i2];\n isWindowClosed(tunnelWindows[key].source) && tunnelWindows.del(key);\n }\n }();\n var id = uniqueID();\n globalStore(\"tunnelWindows\").set(id, {\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return id;\n }({\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return send(parentWindow, \"postrobot_open_tunnel\", {\n name: name,\n sendMessage: function() {\n var tunnelWindow = tunnelWindows.get(id);\n if (tunnelWindow && tunnelWindow.source && !isWindowClosed(tunnelWindow.source)) {\n try {\n tunnelWindow.canary();\n } catch (err) {\n return;\n }\n tunnelWindow.sendMessage.apply(this, arguments);\n }\n }\n }, {\n domain: \"*\"\n });\n };\n }({\n send: send\n });\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n promise_ZalgoPromise.try((function() {\n var opener = getOpener(window);\n if (opener && needsBridge({\n win: opener\n })) {\n registerRemoteWindow(opener);\n return (win = opener, windowStore(\"remoteBridgeAwaiters\").getOrSet(win, (function() {\n return promise_ZalgoPromise.try((function() {\n var frame = getFrameByName(win, getBridgeName(getDomain()));\n if (frame) return isSameDomain(frame) && global_getGlobal(assertSameDomain(frame)) ? frame : new promise_ZalgoPromise((function(resolve) {\n var interval;\n var timeout;\n interval = setInterval((function() {\n if (frame && isSameDomain(frame) && global_getGlobal(assertSameDomain(frame))) {\n clearInterval(interval);\n clearTimeout(timeout);\n return resolve(frame);\n }\n }), 100);\n timeout = setTimeout((function() {\n clearInterval(interval);\n return resolve();\n }), 2e3);\n }));\n }));\n }))).then((function(bridge) {\n return bridge ? window.name ? global_getGlobal(assertSameDomain(bridge)).openTunnelToParent({\n name: window.name,\n source: window,\n canary: function() {},\n sendMessage: function(message) {\n try {\n window;\n } catch (err) {\n return;\n }\n if (window && !window.closed) try {\n receiveMessage({\n data: message,\n origin: this.origin,\n source: this.source\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }).then((function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n if (source !== opener) throw new Error(\"Source does not match opener\");\n registerRemoteSendMessage(source, origin, data.sendMessage);\n })).catch((function(err) {\n rejectRemoteSendMessage(opener, err);\n throw err;\n })) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: window does not have a name\")) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: no bridge found in opener\"));\n }));\n var win;\n }\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n }\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? WINDOW_TYPE.POPUP : WINDOW_TYPE.IFRAME;\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n var getName = function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n };\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: getName,\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href, opts) {\n void 0 === opts && (opts = {});\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n var _opts$method = opts.method, method = void 0 === _opts$method ? \"get\" : _opts$method, body = opts.body;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (\"post\" === method) return getName().then((function(name) {\n if (!name) throw new Error(\"Can not post to window without target name\");\n !function(_ref3) {\n var url = _ref3.url, target = _ref3.target, body = _ref3.body, _ref3$method = _ref3.method, method = void 0 === _ref3$method ? \"post\" : _ref3$method;\n var 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 if (body) for (var _i24 = 0, _Object$keys4 = Object.keys(body); _i24 < _Object$keys4.length; _i24++) {\n var _body$key;\n var key = _Object$keys4[_i24];\n var input = document.createElement(\"input\");\n input.setAttribute(\"name\", key);\n input.setAttribute(\"value\", null == (_body$key = body[key]) ? void 0 : _body$key.toString());\n form.appendChild(input);\n }\n getBody().appendChild(form);\n form.submit();\n getBody().removeChild(form);\n }({\n url: href,\n target: name,\n method: method,\n body: body\n });\n }));\n if (\"get\" !== method) throw new Error(\"Unsupported method: \" + method);\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n linkWindow({\n win: win,\n name: name\n });\n var sameDomain = isSameDomain(win);\n var frame = getFrameForWindow(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return type === WINDOW_TYPE.POPUP;\n }));\n };\n _proto.setLocation = function(href, opts) {\n var _this = this;\n return this.serializedWindow.setLocation(href, opts).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name, \"noopener\");\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return arrayFrom(args).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_bridge = function(win, serializedMessage, domain) {\n if (!needsBridgeForBrowser() && !isBridge()) throw new Error(\"Bridge not needed for browser\");\n if (isSameDomain(win)) throw new Error(\"Post message through bridge disabled between same domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use bridge to communicate between two different windows, not between frames\");\n !function(win, domain, message) {\n var messagingChild = isOpener(window, win);\n var messagingParent = isOpener(win, window);\n if (!messagingChild && !messagingParent) throw new Error(\"Can only send messages to and from parent and popup windows\");\n findRemoteWindow(win).then((function(sendMessage) {\n return sendMessage(win, domain, message);\n }));\n }(win, domain, serializedMessage);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_global = function(win, serializedMessage) {\n if (!utils_getUserAgent(window).match(/MSIE|rv:11|trident|edge\\/12|edge\\/13/i)) throw new Error(\"Global messaging not needed for browser\");\n if (!isSameDomain(win)) throw new Error(\"Post message through global disabled between different domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use global to communicate between two different windows, not between frames\");\n var foreignGlobal = global_getGlobal(win);\n if (!foreignGlobal) throw new Error(\"Can not find postRobot global on foreign window\");\n foreignGlobal.receiveMessage({\n source: window,\n origin: getDomain(),\n data: serializedMessage\n });\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_11_0_0__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_11_0_0__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n var _ret, _loop = function() {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return {\n v: void 0\n };\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return {\n v: void 0\n };\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? function(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? function(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() + \")\" : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }(source, origin, message) : \"postrobot_message_ack\" === message.type && function(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n };\n for (var _i2 = 0; _i2 < messages.length; _i2++) if (_ret = _loop()) return _ret.v;\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, winCandidate = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (winCandidate && \"*\" !== winCandidate && window_ProxyWindow.isProxyWindow(winCandidate)) {\n var requestListenerPromise = winCandidate.awaitWindow().then((function(actualWin) {\n return addRequestListener({\n name: name,\n win: actualWin,\n domain: domain\n }, listener);\n }));\n return {\n cancel: function() {\n requestListenerPromise.then((function(requestListener) {\n return requestListener.cancel();\n }), src_util_noop);\n }\n };\n }\n var win = winCandidate;\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n var strDomain = (domain = domain || \"*\").toString();\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var winNameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var winNameDomainListeners = util_getOrSet(winNameListeners, name, (function() {\n return {};\n }));\n var winNameDomainRegexListeners;\n var winNameDomainRegexListener;\n util_isRegex(domain) ? (winNameDomainRegexListeners = util_getOrSet(winNameDomainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(winNameDomainRegexListener = {\n regex: domain,\n listener: listener\n }) : winNameDomainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete winNameDomainListeners[strDomain];\n if (winNameDomainRegexListener) {\n winNameDomainRegexListeners.splice(winNameDomainRegexListeners.indexOf(winNameDomainRegexListener, 1));\n winNameDomainRegexListeners.length || delete winNameDomainListeners.__domain_regex__;\n }\n Object.keys(winNameDomainListeners).length || delete winNameListeners[name];\n win && !Object.keys(winNameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: options.window,\n domain: options.domain || \"*\"\n }, {\n handler: handler || options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n }\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n var send_send = function send(winOrProxyWin, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return window_ProxyWindow.toProxyWindow(winOrProxyWin, {\n send: send\n }).awaitWindow().then((function(win) {\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (getTop(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return awaitWindowHello(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = safeInterval((function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n return responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout ? promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : void 0 : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }), 500);\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n }));\n };\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n var src_bridge;\n src_bridge = {\n setupBridge: setupBridge,\n openBridge: function(url, domain) {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n domain = domain || getDomainFromUrl(url);\n return bridges.getOrSet(domain, (function() {\n return promise_ZalgoPromise.try((function() {\n if (getDomain() === domain) throw new Error(\"Can not open bridge on the same domain as current domain: \" + domain);\n var name = getBridgeName(domain);\n if (getFrameByName(window, name)) throw new Error(\"Frame with name \" + name + \" already exists on page\");\n var iframe = function(name, url) {\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"name\", name);\n iframe.setAttribute(\"id\", name);\n iframe.setAttribute(\"style\", \"display: none; margin: 0; padding: 0; border: 0px none; overflow: hidden;\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"border\", \"0\");\n iframe.setAttribute(\"scrolling\", \"no\");\n iframe.setAttribute(\"allowTransparency\", \"true\");\n iframe.setAttribute(\"tabindex\", \"-1\");\n iframe.setAttribute(\"hidden\", \"true\");\n iframe.setAttribute(\"title\", \"\");\n iframe.setAttribute(\"role\", \"presentation\");\n iframe.src = url;\n return iframe;\n }(name, url);\n bridgeFrames.set(domain, iframe);\n return documentBodyReady.then((function(body) {\n body.appendChild(iframe);\n var bridge = iframe.contentWindow;\n return new promise_ZalgoPromise((function(resolve, reject) {\n iframe.addEventListener(\"load\", resolve);\n iframe.addEventListener(\"error\", reject);\n })).then((function() {\n return awaitWindowHello(bridge, 5e3, \"Bridge \" + url);\n })).then((function() {\n return bridge;\n }));\n }));\n }));\n }));\n },\n linkWindow: linkWindow,\n linkUrl: function(win, url) {\n linkWindow({\n win: win,\n domain: getDomainFromUrl(url)\n });\n },\n isBridge: isBridge,\n needsBridge: needsBridge,\n needsBridgeForBrowser: needsBridgeForBrowser,\n hasBridge: function(url, domain) {\n return globalStore(\"bridges\").has(domain || getDomainFromUrl(url));\n },\n needsBridgeForWin: needsBridgeForWin,\n needsBridgeForDomain: needsBridgeForDomain,\n destroyBridges: function() {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n for (var _i4 = 0, _bridgeFrames$keys2 = bridgeFrames.keys(); _i4 < _bridgeFrames$keys2.length; _i4++) {\n var frame = bridgeFrames.get(_bridgeFrames$keys2[_i4]);\n frame && frame.parentNode && frame.parentNode.removeChild(frame);\n }\n bridgeFrames.reset();\n bridges.reset();\n }\n };\n function lib_global_getGlobal(win) {\n if (!isSameDomain(win)) throw new Error(\"Can not get global for window on different domain\");\n win.__zoid_10_3_3__ || (win.__zoid_10_3_3__ = {});\n return win.__zoid_10_3_3__;\n }\n function tryGlobal(win, handler) {\n try {\n return handler(lib_global_getGlobal(win));\n } catch (err) {}\n }\n function getProxyObject(obj) {\n return {\n get: function() {\n var _this = this;\n return promise_ZalgoPromise.try((function() {\n if (_this.source && _this.source !== window) throw new Error(\"Can not call get on proxy object from a remote window\");\n return obj;\n }));\n }\n };\n }\n function basicSerialize(data) {\n return base64encode(JSON.stringify(data));\n }\n function getUIDRefStore(win) {\n var global = lib_global_getGlobal(win);\n global.references = global.references || {};\n return global.references;\n }\n function crossDomainSerialize(_ref) {\n var data = _ref.data, metaData = _ref.metaData, sender = _ref.sender, receiver = _ref.receiver, _ref$passByReference = _ref.passByReference, passByReference = void 0 !== _ref$passByReference && _ref$passByReference, _ref$basic = _ref.basic, basic = void 0 !== _ref$basic && _ref$basic;\n var proxyWin = setup_toProxyWindow(receiver.win);\n var serializedMessage = basic ? JSON.stringify(data) : serializeMessage(proxyWin, receiver.domain, data, {\n on: on_on,\n send: send_send\n });\n var reference = passByReference ? function(val) {\n var uid = uniqueID();\n getUIDRefStore(window)[uid] = val;\n return {\n type: \"uid\",\n uid: uid\n };\n }(serializedMessage) : {\n type: \"raw\",\n val: serializedMessage\n };\n return {\n serializedData: basicSerialize({\n sender: {\n domain: sender.domain\n },\n metaData: metaData,\n reference: reference\n }),\n cleanReference: function() {\n win = window, \"uid\" === (ref = reference).type && delete getUIDRefStore(win)[ref.uid];\n var win, ref;\n }\n };\n }\n function crossDomainDeserialize(_ref2) {\n var sender = _ref2.sender, _ref2$basic = _ref2.basic, basic = void 0 !== _ref2$basic && _ref2$basic;\n var message = function(serializedData) {\n return JSON.parse(function(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }(serializedData));\n }(_ref2.data);\n var reference = message.reference, metaData = message.metaData;\n var win;\n win = \"function\" == typeof sender.win ? sender.win({\n metaData: metaData\n }) : sender.win;\n var domain;\n domain = \"function\" == typeof sender.domain ? sender.domain({\n metaData: metaData\n }) : \"string\" == typeof sender.domain ? sender.domain : message.sender.domain;\n var serializedData = function(win, ref) {\n if (\"raw\" === ref.type) return ref.val;\n if (\"uid\" === ref.type) return getUIDRefStore(win)[ref.uid];\n throw new Error(\"Unsupported ref type: \" + ref.type);\n }(win, reference);\n return {\n data: basic ? JSON.parse(serializedData) : function(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }(win, domain, serializedData),\n metaData: metaData,\n sender: {\n win: win,\n domain: domain\n },\n reference: reference\n };\n }\n var PROP_TYPE = {\n STRING: \"string\",\n OBJECT: \"object\",\n FUNCTION: \"function\",\n BOOLEAN: \"boolean\",\n NUMBER: \"number\",\n ARRAY: \"array\"\n };\n var PROP_SERIALIZATION = {\n JSON: \"json\",\n DOTIFY: \"dotify\",\n BASE64: \"base64\"\n };\n var CONTEXT = WINDOW_TYPE;\n var EVENT = {\n RENDER: \"zoid-render\",\n RENDERED: \"zoid-rendered\",\n PRERENDER: \"zoid-prerender\",\n PRERENDERED: \"zoid-prerendered\",\n DISPLAY: \"zoid-display\",\n ERROR: \"zoid-error\",\n CLOSE: \"zoid-close\",\n DESTROY: \"zoid-destroy\",\n PROPS: \"zoid-props\",\n RESIZE: \"zoid-resize\",\n FOCUS: \"zoid-focus\"\n };\n function buildChildWindowName(_ref) {\n return \"__zoid__\" + _ref.name + \"__\" + _ref.serializedPayload + \"__\";\n }\n function parseWindowName(windowName) {\n if (!windowName) throw new Error(\"No window name\");\n var _windowName$split = windowName.split(\"__\"), zoidcomp = _windowName$split[1], name = _windowName$split[2], serializedInitialPayload = _windowName$split[3];\n if (\"zoid\" !== zoidcomp) throw new Error(\"Window not rendered by zoid - got \" + zoidcomp);\n if (!name) throw new Error(\"Expected component name\");\n if (!serializedInitialPayload) throw new Error(\"Expected serialized payload ref\");\n return {\n name: name,\n serializedInitialPayload: serializedInitialPayload\n };\n }\n var parseInitialParentPayload = memoize((function(windowName) {\n var _crossDomainDeseriali = crossDomainDeserialize({\n data: parseWindowName(windowName).serializedInitialPayload,\n sender: {\n win: function(_ref2) {\n return function(windowRef) {\n if (\"opener\" === windowRef.type) return assertExists(\"opener\", getOpener(window));\n if (\"parent\" === windowRef.type && \"number\" == typeof windowRef.distance) return assertExists(\"parent\", function(win, n) {\n void 0 === n && (n = 1);\n return function(win, n) {\n void 0 === n && (n = 1);\n var parent = win;\n for (var i = 0; i < n; i++) {\n if (!parent) return;\n parent = utils_getParent(parent);\n }\n return parent;\n }(win, getDistanceFromTop(win) - n);\n }(window, windowRef.distance));\n if (\"global\" === windowRef.type && windowRef.uid && \"string\" == typeof windowRef.uid) {\n var uid = windowRef.uid;\n var ancestor = getAncestor(window);\n if (!ancestor) throw new Error(\"Can not find ancestor window\");\n for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(ancestor); _i2 < _getAllFramesInWindow2.length; _i2++) {\n var frame = _getAllFramesInWindow2[_i2];\n if (isSameDomain(frame)) {\n var win = tryGlobal(frame, (function(global) {\n return global.windows && global.windows[uid];\n }));\n if (win) return win;\n }\n }\n } else if (\"name\" === windowRef.type) {\n var name = windowRef.name;\n return assertExists(\"namedWindow\", function(win, name) {\n return getFrameByName(win, name) || function findChildFrameByName(win, name) {\n var frame = getFrameByName(win, name);\n if (frame) return frame;\n for (var _i11 = 0, _getFrames4 = getFrames(win); _i11 < _getFrames4.length; _i11++) {\n var namedFrame = findChildFrameByName(_getFrames4[_i11], name);\n if (namedFrame) return namedFrame;\n }\n }(getTop(win) || win, name);\n }(assertExists(\"ancestor\", getAncestor(window)), name));\n }\n throw new Error(\"Unable to find \" + windowRef.type + \" parent component window\");\n }(_ref2.metaData.windowRef);\n }\n }\n });\n return {\n parent: _crossDomainDeseriali.sender,\n payload: _crossDomainDeseriali.data,\n reference: _crossDomainDeseriali.reference\n };\n }));\n function getInitialParentPayload() {\n return parseInitialParentPayload(window.name);\n }\n function window_getWindowRef(targetWindow, currentWindow) {\n void 0 === currentWindow && (currentWindow = window);\n if (targetWindow === utils_getParent(currentWindow)) return {\n type: \"parent\",\n distance: getDistanceFromTop(targetWindow)\n };\n if (targetWindow === getOpener(currentWindow)) return {\n type: \"opener\"\n };\n if (isSameDomain(targetWindow) && !(win = targetWindow, win === getTop(win))) {\n var windowName = assertSameDomain(targetWindow).name;\n if (windowName) return {\n type: \"name\",\n name: windowName\n };\n }\n var win;\n }\n function normalizeChildProp(propsDef, props, key, value, helpers) {\n if (!propsDef.hasOwnProperty(key)) return value;\n var prop = propsDef[key];\n return \"function\" == typeof prop.childDecorate ? prop.childDecorate({\n value: value,\n uid: helpers.uid,\n tag: helpers.tag,\n close: helpers.close,\n focus: helpers.focus,\n onError: helpers.onError,\n onProps: helpers.onProps,\n resize: helpers.resize,\n getParent: helpers.getParent,\n getParentDomain: helpers.getParentDomain,\n show: helpers.show,\n hide: helpers.hide,\n export: helpers.export,\n getSiblings: helpers.getSiblings\n }) : value;\n }\n function child_focus() {\n return promise_ZalgoPromise.try((function() {\n window.focus();\n }));\n }\n function child_destroy() {\n return promise_ZalgoPromise.try((function() {\n window.close();\n }));\n }\n var props_defaultNoop = function() {\n return src_util_noop;\n };\n var props_decorateOnce = function(_ref) {\n return once(_ref.value);\n };\n function eachProp(props, propsDef, handler) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(_extends({}, props, propsDef)); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n handler(key, propsDef[key], props[key]);\n }\n }\n function serializeProps(propsDef, props, method) {\n var params = {};\n return promise_ZalgoPromise.all(function(props, propsDef, handler) {\n var results = [];\n eachProp(props, propsDef, (function(key, propDef, value) {\n var result = function(key, propDef, value) {\n return promise_ZalgoPromise.resolve().then((function() {\n var _METHOD$GET$METHOD$PO, _METHOD$GET$METHOD$PO2;\n if (null != value && propDef) {\n var getParam = (_METHOD$GET$METHOD$PO = {}, _METHOD$GET$METHOD$PO.get = propDef.queryParam, \n _METHOD$GET$METHOD$PO.post = propDef.bodyParam, _METHOD$GET$METHOD$PO)[method];\n var getValue = (_METHOD$GET$METHOD$PO2 = {}, _METHOD$GET$METHOD$PO2.get = propDef.queryValue, \n _METHOD$GET$METHOD$PO2.post = propDef.bodyValue, _METHOD$GET$METHOD$PO2)[method];\n if (getParam) return promise_ZalgoPromise.hash({\n finalParam: promise_ZalgoPromise.try((function() {\n return \"function\" == typeof getParam ? getParam({\n value: value\n }) : \"string\" == typeof getParam ? getParam : key;\n })),\n finalValue: promise_ZalgoPromise.try((function() {\n return \"function\" == typeof getValue && isDefined(value) ? getValue({\n value: value\n }) : value;\n }))\n }).then((function(_ref) {\n var finalParam = _ref.finalParam, finalValue = _ref.finalValue;\n var result;\n if (\"boolean\" == typeof finalValue) result = finalValue.toString(); else if (\"string\" == typeof finalValue) result = finalValue.toString(); else if (\"object\" == typeof finalValue && null !== finalValue) {\n if (propDef.serialization === PROP_SERIALIZATION.JSON) result = JSON.stringify(finalValue); else if (propDef.serialization === PROP_SERIALIZATION.BASE64) result = base64encode(JSON.stringify(finalValue)); else if (propDef.serialization === PROP_SERIALIZATION.DOTIFY || !propDef.serialization) {\n result = function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = obj[key].toString());\n return newobj;\n }(finalValue, key);\n for (var _i2 = 0, _Object$keys2 = Object.keys(result); _i2 < _Object$keys2.length; _i2++) {\n var dotkey = _Object$keys2[_i2];\n params[dotkey] = result[dotkey];\n }\n return;\n }\n } else \"number\" == typeof finalValue && (result = finalValue.toString());\n params[finalParam] = result;\n }));\n }\n }));\n }(key, propDef, value);\n results.push(result);\n }));\n return results;\n }(props, propsDef)).then((function() {\n return params;\n }));\n }\n function parentComponent(_ref) {\n var uid = _ref.uid, options = _ref.options, _ref$overrides = _ref.overrides, overrides = void 0 === _ref$overrides ? {} : _ref$overrides, _ref$parentWin = _ref.parentWin, parentWin = void 0 === _ref$parentWin ? window : _ref$parentWin;\n var propsDef = options.propsDef, containerTemplate = options.containerTemplate, prerenderTemplate = options.prerenderTemplate, tag = options.tag, name = options.name, attributes = options.attributes, dimensions = options.dimensions, autoResize = options.autoResize, url = options.url, domainMatch = options.domain, xports = options.exports;\n var initPromise = new promise_ZalgoPromise;\n var handledErrors = [];\n var clean = cleanup();\n var state = {};\n var inputProps = {};\n var internalState = {\n visible: !0\n };\n var event = overrides.event ? overrides.event : (triggered = {}, handlers = {}, \n emitter = {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = emitter.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function() {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop();\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return emitter.trigger.apply(emitter, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n });\n var triggered, handlers, emitter;\n var props = overrides.props ? overrides.props : {};\n var currentProxyWin;\n var currentProxyContainer;\n var childComponent;\n var currentChildDomain;\n var currentContainer;\n var isRenderFinished = !1;\n var onErrorOverride = overrides.onError;\n var getProxyContainerOverride = overrides.getProxyContainer;\n var showOverride = overrides.show;\n var hideOverride = overrides.hide;\n var closeOverride = overrides.close;\n var renderContainerOverride = overrides.renderContainer;\n var getProxyWindowOverride = overrides.getProxyWindow;\n var setProxyWinOverride = overrides.setProxyWin;\n var openFrameOverride = overrides.openFrame;\n var openPrerenderFrameOverride = overrides.openPrerenderFrame;\n var prerenderOverride = overrides.prerender;\n var openOverride = overrides.open;\n var openPrerenderOverride = overrides.openPrerender;\n var watchForUnloadOverride = overrides.watchForUnload;\n var getInternalStateOverride = overrides.getInternalState;\n var setInternalStateOverride = overrides.setInternalState;\n var getDimensions = function() {\n return \"function\" == typeof dimensions ? dimensions({\n props: props\n }) : dimensions;\n };\n var resolveInitPromise = function() {\n return promise_ZalgoPromise.try((function() {\n return overrides.resolveInitPromise ? overrides.resolveInitPromise() : initPromise.resolve();\n }));\n };\n var rejectInitPromise = function(err) {\n return promise_ZalgoPromise.try((function() {\n return overrides.rejectInitPromise ? overrides.rejectInitPromise(err) : initPromise.reject(err);\n }));\n };\n var getPropsForChild = function(initialChildDomain) {\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n if (!prop || !1 !== prop.sendToChild) {\n var trustedChild = prop && prop.trustedDomains && prop.trustedDomains.length > 0 ? prop.trustedDomains.reduce((function(acc, val) {\n return acc || matchDomain(val, initialChildDomain);\n }), !1) : matchDomain(initialChildDomain, getDomain(window));\n prop && prop.sameDomain && !trustedChild || prop && prop.trustedDomains && !trustedChild || (result[key] = props[key]);\n }\n }\n return promise_ZalgoPromise.hash(result);\n };\n var getInternalState = function() {\n return promise_ZalgoPromise.try((function() {\n return getInternalStateOverride ? getInternalStateOverride() : internalState;\n }));\n };\n var setInternalState = function(newInternalState) {\n return promise_ZalgoPromise.try((function() {\n return setInternalStateOverride ? setInternalStateOverride(newInternalState) : internalState = _extends({}, internalState, newInternalState);\n }));\n };\n var getProxyWindow = function() {\n return getProxyWindowOverride ? getProxyWindowOverride() : promise_ZalgoPromise.try((function() {\n var windowProp = props.window;\n if (windowProp) {\n var _proxyWin = setup_toProxyWindow(windowProp);\n clean.register((function() {\n return windowProp.close();\n }));\n return _proxyWin;\n }\n return new window_ProxyWindow({\n send: send_send\n });\n }));\n };\n var setProxyWin = function(proxyWin) {\n return setProxyWinOverride ? setProxyWinOverride(proxyWin) : promise_ZalgoPromise.try((function() {\n currentProxyWin = proxyWin;\n }));\n };\n var show = function() {\n return showOverride ? showOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !0\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(showElement) : null\n }).then(src_util_noop);\n };\n var hide = function() {\n return hideOverride ? hideOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !1\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(hideElement) : null\n }).then(src_util_noop);\n };\n var getUrl = function() {\n return \"function\" == typeof url ? url({\n props: props\n }) : url;\n };\n var getAttributes = function() {\n return \"function\" == typeof attributes ? attributes({\n props: props\n }) : attributes;\n };\n var getInitialChildDomain = function() {\n return getDomainFromUrl(getUrl());\n };\n var openFrame = function(context, _ref2) {\n var windowName = _ref2.windowName;\n return openFrameOverride ? openFrameOverride(context, {\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: windowName,\n title: name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerenderFrame = function(context) {\n return openPrerenderFrameOverride ? openPrerenderFrameOverride(context) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: \"__zoid_prerender_frame__\" + name + \"_\" + uniqueID() + \"__\",\n title: \"prerender__\" + name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerender = function(context, proxyWin, proxyPrerenderFrame) {\n return openPrerenderOverride ? openPrerenderOverride(context, proxyWin, proxyPrerenderFrame) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyPrerenderFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyPrerenderFrame.get().then((function(prerenderFrame) {\n clean.register((function() {\n return destroyElement(prerenderFrame);\n }));\n return awaitFrameWindow(prerenderFrame).then((function(prerenderFrameWindow) {\n return assertSameDomain(prerenderFrameWindow);\n })).then((function(win) {\n return setup_toProxyWindow(win);\n }));\n }));\n }\n if (context === CONTEXT.POPUP) return proxyWin;\n throw new Error(\"No render context available for \" + context);\n }));\n };\n var focus = function() {\n return promise_ZalgoPromise.try((function() {\n if (currentProxyWin) return promise_ZalgoPromise.all([ event.trigger(EVENT.FOCUS), currentProxyWin.focus() ]).then(src_util_noop);\n }));\n };\n var getCurrentWindowReferenceUID = function() {\n var global = lib_global_getGlobal(window);\n global.windows = global.windows || {};\n global.windows[uid] = window;\n clean.register((function() {\n delete global.windows[uid];\n }));\n return uid;\n };\n var getWindowRef = function(target, initialChildDomain, context, proxyWin) {\n if (initialChildDomain === getDomain(window)) return {\n type: \"global\",\n uid: getCurrentWindowReferenceUID()\n };\n if (target !== window) throw new Error(\"Can not construct cross-domain window reference for different target window\");\n if (props.window) {\n var actualComponentWindow = proxyWin.getWindow();\n if (!actualComponentWindow) throw new Error(\"Can not construct cross-domain window reference for lazy window prop\");\n if (getAncestor(actualComponentWindow) !== window) throw new Error(\"Can not construct cross-domain window reference for window prop with different ancestor\");\n }\n if (context === CONTEXT.POPUP) return {\n type: \"opener\"\n };\n if (context === CONTEXT.IFRAME) return {\n type: \"parent\",\n distance: getDistanceFromTop(window)\n };\n throw new Error(\"Can not construct window reference for child\");\n };\n var initChild = function(childDomain, childExports) {\n return promise_ZalgoPromise.try((function() {\n var _currentProxyWin;\n currentChildDomain = childDomain;\n childComponent = childExports;\n null == (_currentProxyWin = currentProxyWin) || _currentProxyWin.isPopup().then((function(isPopup) {\n if (\"\" !== (null == childExports ? void 0 : childExports.name) && isPopup) {\n var _currentProxyWin2;\n null == (_currentProxyWin2 = currentProxyWin) || _currentProxyWin2.setName(null == childExports ? void 0 : childExports.name);\n }\n })).finally((function() {\n resolveInitPromise();\n clean.register((function() {\n return childExports.close.fireAndForget().catch(src_util_noop);\n }));\n }));\n }));\n };\n var resize = function(_ref3) {\n var width = _ref3.width, height = _ref3.height;\n return promise_ZalgoPromise.try((function() {\n event.trigger(EVENT.RESIZE, {\n width: width,\n height: height\n });\n }));\n };\n var destroy = function(err) {\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.DESTROY);\n })).catch(src_util_noop).then((function() {\n return clean.all(err);\n })).then((function() {\n var error = err || new Error(\"Component destroyed\");\n currentContainer && isElementClosed(currentContainer) || \"Window navigated away\" === error.message ? initPromise.resolve() : initPromise.asyncReject(error);\n }));\n };\n var close = memoize((function(err) {\n return promise_ZalgoPromise.try((function() {\n if (closeOverride) {\n if (isWindowClosed(closeOverride.__source__)) return;\n return closeOverride();\n }\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.CLOSE);\n })).then((function() {\n return destroy(err || new Error(\"Component closed\"));\n }));\n }));\n }));\n var open = function(context, _ref4) {\n var proxyWin = _ref4.proxyWin, proxyFrame = _ref4.proxyFrame, windowName = _ref4.windowName;\n return openOverride ? openOverride(context, {\n proxyWin: proxyWin,\n proxyFrame: proxyFrame,\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyFrame.get().then((function(frame) {\n return awaitFrameWindow(frame).then((function(win) {\n clean.register((function() {\n return destroyElement(frame);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }));\n }));\n }\n if (context === CONTEXT.POPUP) {\n var _getDimensions = getDimensions(), _getDimensions$width = _getDimensions.width, width = void 0 === _getDimensions$width ? \"300px\" : _getDimensions$width, _getDimensions$height = _getDimensions.height, height = void 0 === _getDimensions$height ? \"150px\" : _getDimensions$height;\n width = normalizeDimension(width, window.outerWidth);\n height = normalizeDimension(height, window.outerWidth);\n var win = function(url, options) {\n var _options$closeOnUnloa = (options = options || {}).closeOnUnload, closeOnUnload = void 0 === _options$closeOnUnloa ? 1 : _options$closeOnUnloa, _options$name = options.name, name = void 0 === _options$name ? \"\" : _options$name, width = options.width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n delete options.closeOnUnload;\n delete options.name;\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(\"\", name, params);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n closeOnUnload && window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }(0, _extends({\n name: windowName,\n width: width,\n height: height\n }, getAttributes().popup));\n clean.register((function() {\n return closeWindow(win);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }\n throw new Error(\"No render context available for \" + context);\n })).then((function(win) {\n proxyWin.setWindow(win, {\n send: send_send\n });\n return proxyWin.setName(windowName).then((function() {\n return proxyWin;\n }));\n }));\n };\n var watchForUnload = function() {\n return promise_ZalgoPromise.try((function() {\n var unloadWindowListener = addEventListener(window, \"unload\", once((function() {\n destroy(new Error(\"Window navigated away\"));\n })));\n var closeParentWindowListener = onCloseWindow(parentWin, destroy, 3e3);\n clean.register(closeParentWindowListener.cancel);\n clean.register(unloadWindowListener.cancel);\n if (watchForUnloadOverride) return watchForUnloadOverride();\n }));\n };\n var checkWindowClose = function(proxyWin) {\n var closed = !1;\n return proxyWin.isClosed().then((function(isClosed) {\n if (isClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n return promise_ZalgoPromise.delay(200).then((function() {\n return proxyWin.isClosed();\n })).then((function(secondIsClosed) {\n if (secondIsClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n }));\n })).then((function() {\n return closed;\n }));\n };\n var onError = function(err) {\n return onErrorOverride ? onErrorOverride(err) : promise_ZalgoPromise.try((function() {\n if (-1 === handledErrors.indexOf(err)) {\n handledErrors.push(err);\n initPromise.asyncReject(err);\n return event.trigger(EVENT.ERROR, err);\n }\n }));\n };\n var exportsPromise = new promise_ZalgoPromise;\n var xport = function(actualExports) {\n return promise_ZalgoPromise.try((function() {\n exportsPromise.resolve(actualExports);\n }));\n };\n initChild.onError = onError;\n var renderTemplate = function(renderer, _ref8) {\n return renderer({\n uid: uid,\n container: _ref8.container,\n context: _ref8.context,\n doc: _ref8.doc,\n frame: _ref8.frame,\n prerenderFrame: _ref8.prerenderFrame,\n focus: focus,\n close: close,\n state: state,\n props: props,\n tag: tag,\n dimensions: getDimensions(),\n event: event\n });\n };\n var prerender = function(proxyPrerenderWin, _ref9) {\n var context = _ref9.context;\n return prerenderOverride ? prerenderOverride(proxyPrerenderWin, {\n context: context\n }) : promise_ZalgoPromise.try((function() {\n if (prerenderTemplate) {\n event.trigger(EVENT.PRERENDER);\n var prerenderWindow = proxyPrerenderWin.getWindow();\n if (prerenderWindow && isSameDomain(prerenderWindow) && function(win) {\n try {\n if (!win.location.href) return !0;\n if (\"about:blank\" === win.location.href) return !0;\n } catch (err) {}\n return !1;\n }(prerenderWindow)) {\n var doc = (prerenderWindow = assertSameDomain(prerenderWindow)).document;\n var el = renderTemplate(prerenderTemplate, {\n context: context,\n doc: doc\n });\n if (el) {\n if (el.ownerDocument !== doc) throw new Error(\"Expected prerender template to have been created with document from child window\");\n !function(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }(prerenderWindow, el);\n var _autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, _autoResize$element = autoResize.element, element = void 0 === _autoResize$element ? \"body\" : _autoResize$element;\n if ((element = getElementSafe(element, doc)) && (width || height)) {\n var prerenderResizeListener = onResize(element, (function(_ref10) {\n resize({\n width: width ? _ref10.width : void 0,\n height: height ? _ref10.height : void 0\n });\n }), {\n width: width,\n height: height,\n win: prerenderWindow\n });\n event.on(EVENT.RENDERED, prerenderResizeListener.cancel);\n }\n event.trigger(EVENT.PRERENDERED);\n }\n }\n }\n }));\n };\n var renderContainer = function(proxyContainer, _ref11) {\n var proxyFrame = _ref11.proxyFrame, proxyPrerenderFrame = _ref11.proxyPrerenderFrame, context = _ref11.context, rerender = _ref11.rerender;\n return renderContainerOverride ? renderContainerOverride(proxyContainer, {\n proxyFrame: proxyFrame,\n proxyPrerenderFrame: proxyPrerenderFrame,\n context: context,\n rerender: rerender\n }) : promise_ZalgoPromise.hash({\n container: proxyContainer.get(),\n frame: proxyFrame ? proxyFrame.get() : null,\n prerenderFrame: proxyPrerenderFrame ? proxyPrerenderFrame.get() : null,\n internalState: getInternalState()\n }).then((function(_ref12) {\n var container = _ref12.container, visible = _ref12.internalState.visible;\n var innerContainer = renderTemplate(containerTemplate, {\n context: context,\n container: container,\n frame: _ref12.frame,\n prerenderFrame: _ref12.prerenderFrame,\n doc: document\n });\n if (innerContainer) {\n visible || hideElement(innerContainer);\n appendChild(container, innerContainer);\n var containerWatcher = function(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = assertSameDomain(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }(innerContainer, (function() {\n var removeError = new Error(\"Detected container element removed from DOM\");\n return promise_ZalgoPromise.delay(1).then((function() {\n if (!isElementClosed(innerContainer)) {\n clean.all(removeError);\n return rerender().then(resolveInitPromise, rejectInitPromise);\n }\n close(removeError);\n }));\n }));\n clean.register((function() {\n return containerWatcher.cancel();\n }));\n clean.register((function() {\n return destroyElement(innerContainer);\n }));\n return currentProxyContainer = getProxyObject(innerContainer);\n }\n }));\n };\n var getHelpers = function() {\n return {\n state: state,\n event: event,\n close: close,\n focus: focus,\n resize: resize,\n onError: onError,\n updateProps: updateProps,\n show: show,\n hide: hide\n };\n };\n var setProps = function(newInputProps) {\n void 0 === newInputProps && (newInputProps = {});\n var container = currentContainer;\n var helpers = getHelpers();\n extend(inputProps, newInputProps);\n !function(propsDef, existingProps, inputProps, helpers, container) {\n var state = helpers.state, close = helpers.close, focus = helpers.focus, event = helpers.event, onError = helpers.onError;\n eachProp(inputProps, propsDef, (function(key, propDef, val) {\n var valueDetermined = !1;\n var value = val;\n Object.defineProperty(existingProps, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n if (valueDetermined) return value;\n valueDetermined = !0;\n return function() {\n if (!propDef) return value;\n var alias = propDef.alias;\n alias && !isDefined(val) && isDefined(inputProps[alias]) && (value = inputProps[alias]);\n propDef.value && (value = propDef.value({\n props: existingProps,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError,\n container: container\n }));\n !propDef.default || isDefined(value) || isDefined(inputProps[key]) || (value = propDef.default({\n props: existingProps,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError,\n container: container\n }));\n if (isDefined(value)) {\n if (propDef.type === PROP_TYPE.ARRAY ? !Array.isArray(value) : typeof value !== propDef.type) throw new TypeError(\"Prop is not of type \" + propDef.type + \": \" + key);\n } else if (!1 !== propDef.required && !isDefined(inputProps[key])) throw new Error('Expected prop \"' + key + '\" to be defined');\n isDefined(value) && propDef.decorate && (value = propDef.decorate({\n value: value,\n props: existingProps,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError,\n container: container\n }));\n return value;\n }();\n }\n });\n }));\n eachProp(existingProps, propsDef, src_util_noop);\n }(propsDef, props, inputProps, helpers, container);\n };\n var updateProps = function(newProps) {\n setProps(newProps);\n return initPromise.then((function() {\n var child = childComponent;\n var proxyWin = currentProxyWin;\n if (child && proxyWin && currentChildDomain) return getPropsForChild(currentChildDomain).then((function(childProps) {\n return child.updateProps(childProps).catch((function(err) {\n return checkWindowClose(proxyWin).then((function(closed) {\n if (!closed) throw err;\n }));\n }));\n }));\n }));\n };\n var getProxyContainer = function(container) {\n return getProxyContainerOverride ? getProxyContainerOverride(container) : promise_ZalgoPromise.try((function() {\n return elementReady(container);\n })).then((function(containerElement) {\n isShadowElement(containerElement) && (containerElement = function insertShadowSlot(element) {\n var shadowHost = function(element) {\n var shadowRoot = function(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }(element);\n if (shadowRoot && shadowRoot.host) return shadowRoot.host;\n }(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return isShadowElement(shadowHost) ? insertShadowSlot(slotProvider) : slotProvider;\n }(containerElement));\n currentContainer = containerElement;\n return getProxyObject(containerElement);\n }));\n };\n return {\n init: function() {\n !function() {\n event.on(EVENT.RENDER, (function() {\n return props.onRender();\n }));\n event.on(EVENT.PRERENDER, (function() {\n return props.onPrerender();\n }));\n event.on(EVENT.DISPLAY, (function() {\n return props.onDisplay();\n }));\n event.on(EVENT.RENDERED, (function() {\n return props.onRendered();\n }));\n event.on(EVENT.PRERENDERED, (function() {\n return props.onPrerendered();\n }));\n event.on(EVENT.CLOSE, (function() {\n return props.onClose();\n }));\n event.on(EVENT.DESTROY, (function() {\n return props.onDestroy();\n }));\n event.on(EVENT.RESIZE, (function() {\n return props.onResize();\n }));\n event.on(EVENT.FOCUS, (function() {\n return props.onFocus();\n }));\n event.on(EVENT.PROPS, (function(newProps) {\n return props.onProps(newProps);\n }));\n event.on(EVENT.ERROR, (function(err) {\n return props && props.onError ? props.onError(err) : rejectInitPromise(err).then((function() {\n setTimeout((function() {\n throw err;\n }), 1);\n }));\n }));\n clean.register(event.reset);\n }();\n },\n render: function(_ref14) {\n var target = _ref14.target, container = _ref14.container, context = _ref14.context, rerender = _ref14.rerender;\n return promise_ZalgoPromise.try((function() {\n var initialChildDomain = getInitialChildDomain();\n var childDomainMatch = domainMatch || getInitialChildDomain();\n !function(target, childDomainMatch, container) {\n if (target !== window) {\n if (!isSameTopWindow(window, target)) throw new Error(\"Can only renderTo an adjacent frame\");\n var origin = getDomain();\n if (!matchDomain(childDomainMatch, origin) && !isSameDomain(target)) throw new Error(\"Can not render remotely to \" + childDomainMatch.toString() + \" - can only render to \" + origin);\n if (container && \"string\" != typeof container) throw new Error(\"Container passed to renderTo must be a string selector, got \" + typeof container + \" }\");\n }\n }(target, childDomainMatch, container);\n var delegatePromise = promise_ZalgoPromise.try((function() {\n if (target !== window) return function(context, target) {\n var delegateProps = {};\n for (var _i4 = 0, _Object$keys4 = Object.keys(props); _i4 < _Object$keys4.length; _i4++) {\n var propName = _Object$keys4[_i4];\n var propDef = propsDef[propName];\n propDef && propDef.allowDelegate && (delegateProps[propName] = props[propName]);\n }\n var childOverridesPromise = send_send(target, \"zoid_delegate_\" + name, {\n uid: uid,\n overrides: {\n props: delegateProps,\n event: event,\n close: close,\n onError: onError,\n getInternalState: getInternalState,\n setInternalState: setInternalState,\n resolveInitPromise: resolveInitPromise,\n rejectInitPromise: rejectInitPromise\n }\n }).then((function(_ref13) {\n var parentComp = _ref13.data.parent;\n clean.register((function(err) {\n if (!isWindowClosed(target)) return parentComp.destroy(err);\n }));\n return parentComp.getDelegateOverrides();\n })).catch((function(err) {\n throw new Error(\"Unable to delegate rendering. Possibly the component is not loaded in the target window.\\n\\n\" + stringifyError(err));\n }));\n getProxyContainerOverride = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyContainer.apply(childOverrides, args);\n }));\n };\n renderContainerOverride = function() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.renderContainer.apply(childOverrides, args);\n }));\n };\n showOverride = function() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.show.apply(childOverrides, args);\n }));\n };\n hideOverride = function() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.hide.apply(childOverrides, args);\n }));\n };\n watchForUnloadOverride = function() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) args[_key5] = arguments[_key5];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.watchForUnload.apply(childOverrides, args);\n }));\n };\n if (context === CONTEXT.IFRAME) {\n getProxyWindowOverride = function() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) args[_key6] = arguments[_key6];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyWindow.apply(childOverrides, args);\n }));\n };\n openFrameOverride = function() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) args[_key7] = arguments[_key7];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openFrame.apply(childOverrides, args);\n }));\n };\n openPrerenderFrameOverride = function() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) args[_key8] = arguments[_key8];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerenderFrame.apply(childOverrides, args);\n }));\n };\n prerenderOverride = function() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) args[_key9] = arguments[_key9];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.prerender.apply(childOverrides, args);\n }));\n };\n openOverride = function() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) args[_key10] = arguments[_key10];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.open.apply(childOverrides, args);\n }));\n };\n openPrerenderOverride = function() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) args[_key11] = arguments[_key11];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerender.apply(childOverrides, args);\n }));\n };\n } else context === CONTEXT.POPUP && (setProxyWinOverride = function() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) args[_key12] = arguments[_key12];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.setProxyWin.apply(childOverrides, args);\n }));\n });\n return childOverridesPromise;\n }(context, target);\n }));\n var windowProp = props.window;\n var watchForUnloadPromise = watchForUnload();\n var buildBodyPromise = serializeProps(propsDef, props, \"post\");\n var onRenderPromise = event.trigger(EVENT.RENDER);\n var getProxyContainerPromise = getProxyContainer(container);\n var getProxyWindowPromise = getProxyWindow();\n var finalSetPropsPromise = getProxyContainerPromise.then((function() {\n return setProps();\n }));\n var buildUrlPromise = finalSetPropsPromise.then((function() {\n return serializeProps(propsDef, props, \"get\").then((function(query) {\n return function(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }(normalizeMockUrl(getUrl()), {\n query: query\n });\n }));\n }));\n var buildWindowNamePromise = getProxyWindowPromise.then((function(proxyWin) {\n return function(_temp2) {\n var _ref6 = void 0 === _temp2 ? {} : _temp2, proxyWin = _ref6.proxyWin, initialChildDomain = _ref6.initialChildDomain, childDomainMatch = _ref6.childDomainMatch, _ref6$target = _ref6.target, target = void 0 === _ref6$target ? window : _ref6$target, context = _ref6.context;\n return function(_temp) {\n var _ref5 = void 0 === _temp ? {} : _temp, proxyWin = _ref5.proxyWin, childDomainMatch = _ref5.childDomainMatch, context = _ref5.context;\n return getPropsForChild(_ref5.initialChildDomain).then((function(childProps) {\n return {\n uid: uid,\n context: context,\n tag: tag,\n childDomainMatch: childDomainMatch,\n version: \"10_3_3\",\n props: childProps,\n exports: (win = proxyWin, {\n init: function(childExports) {\n return initChild(this.origin, childExports);\n },\n close: close,\n checkClose: function() {\n return checkWindowClose(win);\n },\n resize: resize,\n onError: onError,\n show: show,\n hide: hide,\n export: xport\n })\n };\n var win;\n }));\n }({\n proxyWin: proxyWin,\n initialChildDomain: initialChildDomain,\n childDomainMatch: childDomainMatch,\n context: context\n }).then((function(childPayload) {\n var _crossDomainSerialize = crossDomainSerialize({\n data: childPayload,\n metaData: {\n windowRef: getWindowRef(target, initialChildDomain, context, proxyWin)\n },\n sender: {\n domain: getDomain(window)\n },\n receiver: {\n win: proxyWin,\n domain: childDomainMatch\n },\n passByReference: initialChildDomain === getDomain()\n }), serializedData = _crossDomainSerialize.serializedData;\n clean.register(_crossDomainSerialize.cleanReference);\n return serializedData;\n }));\n }({\n proxyWin: (_ref7 = {\n proxyWin: proxyWin,\n initialChildDomain: initialChildDomain,\n childDomainMatch: childDomainMatch,\n target: target,\n context: context\n }).proxyWin,\n initialChildDomain: _ref7.initialChildDomain,\n childDomainMatch: _ref7.childDomainMatch,\n target: _ref7.target,\n context: _ref7.context\n }).then((function(serializedPayload) {\n return buildChildWindowName({\n name: name,\n serializedPayload: serializedPayload\n });\n }));\n var _ref7;\n }));\n var openFramePromise = buildWindowNamePromise.then((function(windowName) {\n return openFrame(context, {\n windowName: windowName\n });\n }));\n var openPrerenderFramePromise = openPrerenderFrame(context);\n var renderContainerPromise = promise_ZalgoPromise.hash({\n proxyContainer: getProxyContainerPromise,\n proxyFrame: openFramePromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref15) {\n return renderContainer(_ref15.proxyContainer, {\n context: context,\n proxyFrame: _ref15.proxyFrame,\n proxyPrerenderFrame: _ref15.proxyPrerenderFrame,\n rerender: rerender\n });\n })).then((function(proxyContainer) {\n return proxyContainer;\n }));\n var openPromise = promise_ZalgoPromise.hash({\n windowName: buildWindowNamePromise,\n proxyFrame: openFramePromise,\n proxyWin: getProxyWindowPromise\n }).then((function(_ref16) {\n var proxyWin = _ref16.proxyWin;\n return windowProp ? proxyWin : open(context, {\n windowName: _ref16.windowName,\n proxyWin: proxyWin,\n proxyFrame: _ref16.proxyFrame\n });\n }));\n var openPrerenderPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref17) {\n return openPrerender(context, _ref17.proxyWin, _ref17.proxyPrerenderFrame);\n }));\n var setStatePromise = openPromise.then((function(proxyWin) {\n currentProxyWin = proxyWin;\n return setProxyWin(proxyWin);\n }));\n var prerenderPromise = promise_ZalgoPromise.hash({\n proxyPrerenderWin: openPrerenderPromise,\n state: setStatePromise\n }).then((function(_ref18) {\n return prerender(_ref18.proxyPrerenderWin, {\n context: context\n });\n }));\n var setWindowNamePromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n windowName: buildWindowNamePromise\n }).then((function(_ref19) {\n if (windowProp) return _ref19.proxyWin.setName(_ref19.windowName);\n }));\n var getMethodPromise = promise_ZalgoPromise.hash({\n body: buildBodyPromise\n }).then((function(_ref20) {\n return options.method ? options.method : Object.keys(_ref20.body).length ? \"post\" : \"get\";\n }));\n var loadUrlPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n windowUrl: buildUrlPromise,\n body: buildBodyPromise,\n method: getMethodPromise,\n windowName: setWindowNamePromise,\n prerender: prerenderPromise\n }).then((function(_ref21) {\n return _ref21.proxyWin.setLocation(_ref21.windowUrl, {\n method: _ref21.method,\n body: _ref21.body\n });\n }));\n var watchForClosePromise = openPromise.then((function(proxyWin) {\n !function watchForClose(proxyWin, context) {\n var cancelled = !1;\n clean.register((function() {\n cancelled = !0;\n }));\n return promise_ZalgoPromise.delay(2e3).then((function() {\n return proxyWin.isClosed();\n })).then((function(isClosed) {\n if (!cancelled) {\n if (context === CONTEXT.POPUP && isClosed) return close(new Error(\"Detected popup close\"));\n var isCurrentContainerClosed = Boolean(currentContainer && isElementClosed(currentContainer));\n return context === CONTEXT.IFRAME && isClosed && (isCurrentContainerClosed || isRenderFinished) ? close(new Error(\"Detected iframe close\")) : watchForClose(proxyWin, context);\n }\n }));\n }(proxyWin, context);\n }));\n var onDisplayPromise = promise_ZalgoPromise.hash({\n container: renderContainerPromise,\n prerender: prerenderPromise\n }).then((function() {\n return event.trigger(EVENT.DISPLAY);\n }));\n var openBridgePromise = openPromise.then((function(proxyWin) {\n return function(proxyWin, initialChildDomain, context) {\n return promise_ZalgoPromise.try((function() {\n return proxyWin.awaitWindow();\n })).then((function(win) {\n if (src_bridge && src_bridge.needsBridge({\n win: win,\n domain: initialChildDomain\n }) && !src_bridge.hasBridge(initialChildDomain, initialChildDomain)) {\n var bridgeUrl = \"function\" == typeof options.bridgeUrl ? options.bridgeUrl({\n props: props\n }) : options.bridgeUrl;\n if (!bridgeUrl) throw new Error(\"Bridge needed to render \" + context);\n var bridgeDomain = getDomainFromUrl(bridgeUrl);\n src_bridge.linkUrl(win, initialChildDomain);\n return src_bridge.openBridge(normalizeMockUrl(bridgeUrl), bridgeDomain);\n }\n }));\n }(proxyWin, initialChildDomain, context);\n }));\n var runTimeoutPromise = loadUrlPromise.then((function() {\n return promise_ZalgoPromise.try((function() {\n var timeout = props.timeout;\n if (timeout) return initPromise.timeout(timeout, new Error(\"Loading component timed out after \" + timeout + \" milliseconds\"));\n }));\n }));\n var onRenderedPromise = initPromise.then((function() {\n isRenderFinished = !0;\n return event.trigger(EVENT.RENDERED);\n }));\n return promise_ZalgoPromise.hash({\n initPromise: initPromise,\n buildUrlPromise: buildUrlPromise,\n onRenderPromise: onRenderPromise,\n getProxyContainerPromise: getProxyContainerPromise,\n openFramePromise: openFramePromise,\n openPrerenderFramePromise: openPrerenderFramePromise,\n renderContainerPromise: renderContainerPromise,\n openPromise: openPromise,\n openPrerenderPromise: openPrerenderPromise,\n setStatePromise: setStatePromise,\n prerenderPromise: prerenderPromise,\n loadUrlPromise: loadUrlPromise,\n buildWindowNamePromise: buildWindowNamePromise,\n setWindowNamePromise: setWindowNamePromise,\n watchForClosePromise: watchForClosePromise,\n onDisplayPromise: onDisplayPromise,\n openBridgePromise: openBridgePromise,\n runTimeoutPromise: runTimeoutPromise,\n onRenderedPromise: onRenderedPromise,\n delegatePromise: delegatePromise,\n watchForUnloadPromise: watchForUnloadPromise,\n finalSetPropsPromise: finalSetPropsPromise\n });\n })).catch((function(err) {\n return promise_ZalgoPromise.all([ onError(err), destroy(err) ]).then((function() {\n throw err;\n }), (function() {\n throw err;\n }));\n })).then(src_util_noop);\n },\n destroy: destroy,\n getProps: function() {\n return props;\n },\n setProps: setProps,\n export: xport,\n getHelpers: getHelpers,\n getDelegateOverrides: function() {\n return promise_ZalgoPromise.try((function() {\n return {\n getProxyContainer: getProxyContainer,\n show: show,\n hide: hide,\n renderContainer: renderContainer,\n getProxyWindow: getProxyWindow,\n watchForUnload: watchForUnload,\n openFrame: openFrame,\n openPrerenderFrame: openPrerenderFrame,\n prerender: prerender,\n open: open,\n openPrerender: openPrerender,\n setProxyWin: setProxyWin\n };\n }));\n },\n getExports: function() {\n return xports({\n getExports: function() {\n return exportsPromise;\n }\n });\n }\n };\n }\n var react = {\n register: function(tag, propsDef, init, _ref) {\n var React = _ref.React, ReactDOM = _ref.ReactDOM;\n return function(_React$Component) {\n _inheritsLoose(_class, _React$Component);\n function _class() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = _class.prototype;\n _proto.render = function() {\n return React.createElement(\"div\", null);\n };\n _proto.componentDidMount = function() {\n var el = ReactDOM.findDOMNode(this);\n var parent = init(extend({}, this.props));\n parent.render(el, CONTEXT.IFRAME);\n this.setState({\n parent: parent\n });\n };\n _proto.componentDidUpdate = function() {\n this.state && this.state.parent && this.state.parent.updateProps(extend({}, this.props)).catch(src_util_noop);\n };\n return _class;\n }(React.Component);\n }\n };\n var vue = {\n register: function(tag, propsDef, init, Vue) {\n return Vue.component(tag, {\n render: function(createElement) {\n return createElement(\"div\");\n },\n inheritAttrs: !1,\n mounted: function() {\n var el = this.$el;\n this.parent = init(_extends({}, (props = this.$attrs, Object.keys(props).reduce((function(acc, key) {\n var value = props[key];\n if (\"style-object\" === key || \"styleObject\" === key) {\n acc.style = value;\n acc.styleObject = value;\n } else key.includes(\"-\") ? acc[dasherizeToCamel(key)] = value : acc[key] = value;\n return acc;\n }), {}))));\n var props;\n this.parent.render(el, CONTEXT.IFRAME);\n },\n watch: {\n $attrs: {\n handler: function() {\n this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs)).catch(src_util_noop);\n },\n deep: !0\n }\n }\n });\n }\n };\n var vue3 = {\n register: function(tag, propsDef, init) {\n return {\n template: \"<div></div>\",\n inheritAttrs: !1,\n mounted: function() {\n var el = this.$el;\n this.parent = init(_extends({}, (props = this.$attrs, Object.keys(props).reduce((function(acc, key) {\n var value = props[key];\n if (\"style-object\" === key || \"styleObject\" === key) {\n acc.style = value;\n acc.styleObject = value;\n } else key.includes(\"-\") ? acc[dasherizeToCamel(key)] = value : acc[key] = value;\n return acc;\n }), {}))));\n var props;\n this.parent.render(el, CONTEXT.IFRAME);\n },\n watch: {\n $attrs: {\n handler: function() {\n this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs)).catch(src_util_noop);\n },\n deep: !0\n }\n }\n };\n }\n };\n var angular = {\n register: function(tag, propsDef, init, ng) {\n return ng.module(tag, []).directive(dasherizeToCamel(tag), (function() {\n var scope = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(propsDef); _i2 < _Object$keys2.length; _i2++) scope[_Object$keys2[_i2]] = \"=\";\n scope.props = \"=\";\n return {\n scope: scope,\n restrict: \"E\",\n controller: [ \"$scope\", \"$element\", function($scope, $element) {\n function safeApply() {\n if (\"$apply\" !== $scope.$root.$$phase && \"$digest\" !== $scope.$root.$$phase) try {\n $scope.$apply();\n } catch (err) {}\n }\n var getProps = function() {\n return replaceObject($scope.props, (function(item) {\n return \"function\" == typeof item ? function() {\n var result = item.apply(this, arguments);\n safeApply();\n return result;\n } : item;\n }));\n };\n var instance = init(getProps());\n instance.render($element[0], CONTEXT.IFRAME);\n $scope.$watch((function() {\n instance.updateProps(getProps()).catch(src_util_noop);\n }));\n } ]\n };\n }));\n }\n };\n var angular2 = {\n register: function(tag, propsDef, init, _ref) {\n var AngularComponent = _ref.Component, NgModule = _ref.NgModule, ElementRef = _ref.ElementRef, NgZone = _ref.NgZone, Inject = _ref.Inject;\n var ComponentInstance = function() {\n function ComponentInstance(elementRef, zone) {\n this.elementRef = void 0;\n this.internalProps = void 0;\n this.parent = void 0;\n this.props = void 0;\n this.zone = void 0;\n this._props = void 0;\n this._props = {};\n this.elementRef = elementRef;\n this.zone = zone;\n }\n var _proto = ComponentInstance.prototype;\n _proto.getProps = function() {\n var _this = this;\n return replaceObject(_extends({}, this.internalProps, this.props), (function(item) {\n if (\"function\" == typeof item) {\n var zone = _this.zone;\n return function() {\n var _arguments = arguments, _this2 = this;\n return zone.run((function() {\n return item.apply(_this2, _arguments);\n }));\n };\n }\n return item;\n }));\n };\n _proto.ngOnInit = function() {\n var targetElement = this.elementRef.nativeElement;\n this.parent = init(this.getProps());\n this.parent.render(targetElement, CONTEXT.IFRAME);\n };\n _proto.ngDoCheck = function() {\n if (this.parent && !function(obj1, obj2) {\n var checked = {};\n for (var key in obj1) if (obj1.hasOwnProperty(key)) {\n checked[key] = !0;\n if (obj1[key] !== obj2[key]) return !1;\n }\n for (var _key in obj2) if (!checked[_key]) return !1;\n return !0;\n }(this._props, this.props)) {\n this._props = _extends({}, this.props);\n this.parent.updateProps(this.getProps());\n }\n };\n return ComponentInstance;\n }();\n ComponentInstance.annotations = void 0;\n ComponentInstance.parameters = void 0;\n ComponentInstance.parameters = [ [ new Inject(ElementRef) ], [ new Inject(NgZone) ] ];\n ComponentInstance.annotations = [ new AngularComponent({\n selector: tag,\n template: \"<div></div>\",\n inputs: [ \"props\" ]\n }) ];\n var ModuleInstance = function() {};\n ModuleInstance.annotations = void 0;\n ModuleInstance.annotations = [ new NgModule({\n declarations: [ ComponentInstance ],\n exports: [ ComponentInstance ]\n }) ];\n return ModuleInstance;\n }\n };\n function defaultContainerTemplate(_ref) {\n var uid = _ref.uid, frame = _ref.frame, prerenderFrame = _ref.prerenderFrame, doc = _ref.doc, props = _ref.props, event = _ref.event, dimensions = _ref.dimensions;\n var width = dimensions.width, height = dimensions.height;\n if (frame && prerenderFrame) {\n var div = doc.createElement(\"div\");\n div.setAttribute(\"id\", uid);\n var style = doc.createElement(\"style\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n style.appendChild(doc.createTextNode(\"\\n #\" + uid + \" {\\n display: inline-block;\\n position: relative;\\n width: \" + width + \";\\n height: \" + height + \";\\n }\\n\\n #\" + uid + \" > iframe {\\n display: inline-block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n transition: opacity .2s ease-in-out;\\n }\\n\\n #\" + uid + \" > iframe.zoid-invisible {\\n opacity: 0;\\n }\\n\\n #\" + uid + \" > iframe.zoid-visible {\\n opacity: 1;\\n }\\n \"));\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n prerenderFrame.classList.add(\"zoid-visible\");\n frame.classList.add(\"zoid-invisible\");\n event.on(EVENT.RENDERED, (function() {\n prerenderFrame.classList.remove(\"zoid-visible\");\n prerenderFrame.classList.add(\"zoid-invisible\");\n frame.classList.remove(\"zoid-invisible\");\n frame.classList.add(\"zoid-visible\");\n setTimeout((function() {\n destroyElement(prerenderFrame);\n }), 1);\n }));\n event.on(EVENT.RESIZE, (function(_ref2) {\n var newWidth = _ref2.width, newHeight = _ref2.height;\n \"number\" == typeof newWidth && (div.style.width = toCSS(newWidth));\n \"number\" == typeof newHeight && (div.style.height = toCSS(newHeight));\n }));\n return div;\n }\n }\n function defaultPrerenderTemplate(_ref) {\n var doc = _ref.doc, props = _ref.props;\n var html = doc.createElement(\"html\");\n var body = doc.createElement(\"body\");\n var style = doc.createElement(\"style\");\n var spinner = doc.createElement(\"div\");\n spinner.classList.add(\"spinner\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n html.appendChild(body);\n body.appendChild(spinner);\n body.appendChild(style);\n style.appendChild(doc.createTextNode(\"\\n html, body {\\n width: 100%;\\n height: 100%;\\n }\\n\\n .spinner {\\n position: fixed;\\n max-height: 60vmin;\\n max-width: 60vmin;\\n height: 40px;\\n width: 40px;\\n top: 50%;\\n left: 50%;\\n box-sizing: border-box;\\n border: 3px solid rgba(0, 0, 0, .2);\\n border-top-color: rgba(33, 128, 192, 0.8);\\n border-radius: 100%;\\n animation: rotation .7s infinite linear;\\n }\\n\\n @keyframes rotation {\\n from {\\n transform: translateX(-50%) translateY(-50%) rotate(0deg);\\n }\\n to {\\n transform: translateX(-50%) translateY(-50%) rotate(359deg);\\n }\\n }\\n \"));\n return html;\n }\n var cleanInstances = cleanup();\n var cleanZoid = cleanup();\n function component(opts) {\n var options = function(options) {\n var tag = options.tag, url = options.url, domain = options.domain, bridgeUrl = options.bridgeUrl, _options$props = options.props, props = void 0 === _options$props ? {} : _options$props, _options$dimensions = options.dimensions, dimensions = void 0 === _options$dimensions ? {} : _options$dimensions, _options$autoResize = options.autoResize, autoResize = void 0 === _options$autoResize ? {} : _options$autoResize, _options$allowedParen = options.allowedParentDomains, allowedParentDomains = void 0 === _options$allowedParen ? \"*\" : _options$allowedParen, _options$attributes = options.attributes, attributes = void 0 === _options$attributes ? {} : _options$attributes, _options$defaultConte = options.defaultContext, defaultContext = void 0 === _options$defaultConte ? CONTEXT.IFRAME : _options$defaultConte, _options$containerTem = options.containerTemplate, containerTemplate = void 0 === _options$containerTem ? defaultContainerTemplate : _options$containerTem, _options$prerenderTem = options.prerenderTemplate, prerenderTemplate = void 0 === _options$prerenderTem ? defaultPrerenderTemplate : _options$prerenderTem, validate = options.validate, _options$eligible = options.eligible, eligible = void 0 === _options$eligible ? function() {\n return {\n eligible: !0\n };\n } : _options$eligible, _options$logger = options.logger, logger = void 0 === _options$logger ? {\n info: src_util_noop\n } : _options$logger, _options$exports = options.exports, xportsDefinition = void 0 === _options$exports ? src_util_noop : _options$exports, method = options.method, _options$children = options.children, children = void 0 === _options$children ? function() {\n return {};\n } : _options$children;\n var name = tag.replace(/-/g, \"_\");\n var propsDef = _extends({}, {\n window: {\n type: PROP_TYPE.OBJECT,\n sendToChild: !1,\n required: !1,\n allowDelegate: !0,\n validate: function(_ref2) {\n var value = _ref2.value;\n if (!isWindow(value) && !window_ProxyWindow.isProxyWindow(value)) throw new Error(\"Expected Window or ProxyWindow\");\n if (isWindow(value)) {\n if (isWindowClosed(value)) throw new Error(\"Window is closed\");\n if (!isSameDomain(value)) throw new Error(\"Window is not same domain\");\n }\n },\n decorate: function(_ref3) {\n return setup_toProxyWindow(_ref3.value);\n }\n },\n timeout: {\n type: PROP_TYPE.NUMBER,\n required: !1,\n sendToChild: !1\n },\n cspNonce: {\n type: PROP_TYPE.STRING,\n required: !1\n },\n onDisplay: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRendered: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRender: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onPrerendered: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onPrerender: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onClose: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onDestroy: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onResize: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n onFocus: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n close: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref4) {\n return _ref4.close;\n }\n },\n focus: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref5) {\n return _ref5.focus;\n }\n },\n resize: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref6) {\n return _ref6.resize;\n }\n },\n uid: {\n type: PROP_TYPE.STRING,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref7) {\n return _ref7.uid;\n }\n },\n tag: {\n type: PROP_TYPE.STRING,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref8) {\n return _ref8.tag;\n }\n },\n getParent: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref9) {\n return _ref9.getParent;\n }\n },\n getParentDomain: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref10) {\n return _ref10.getParentDomain;\n }\n },\n show: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref11) {\n return _ref11.show;\n }\n },\n hide: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref12) {\n return _ref12.hide;\n }\n },\n export: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref13) {\n return _ref13.export;\n }\n },\n onError: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref14) {\n return _ref14.onError;\n }\n },\n onProps: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref15) {\n return _ref15.onProps;\n }\n },\n getSiblings: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref16) {\n return _ref16.getSiblings;\n }\n }\n }, props);\n if (!containerTemplate) throw new Error(\"Container template required\");\n return {\n name: name,\n tag: tag,\n url: url,\n domain: domain,\n bridgeUrl: bridgeUrl,\n method: method,\n propsDef: propsDef,\n dimensions: dimensions,\n autoResize: autoResize,\n allowedParentDomains: allowedParentDomains,\n attributes: attributes,\n defaultContext: defaultContext,\n containerTemplate: containerTemplate,\n prerenderTemplate: prerenderTemplate,\n validate: validate,\n logger: logger,\n eligible: eligible,\n children: children,\n exports: \"function\" == typeof xportsDefinition ? xportsDefinition : function(_ref) {\n var getExports = _ref.getExports;\n var result = {};\n var _loop = function() {\n var key = _Object$keys2[_i2];\n var type = xportsDefinition[key].type;\n var valuePromise = getExports().then((function(res) {\n return res[key];\n }));\n result[key] = type === PROP_TYPE.FUNCTION ? function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return valuePromise.then((function(value) {\n return value.apply(void 0, args);\n }));\n } : valuePromise;\n };\n for (var _i2 = 0, _Object$keys2 = Object.keys(xportsDefinition); _i2 < _Object$keys2.length; _i2++) _loop();\n return result;\n }\n };\n }(opts);\n var name = options.name, tag = options.tag, defaultContext = options.defaultContext, propsDef = options.propsDef, eligible = options.eligible, children = options.children;\n var global = lib_global_getGlobal(window);\n var driverCache = {};\n var instances = [];\n var isChild = function() {\n if (function(name) {\n try {\n return parseWindowName(window.name).name === name;\n } catch (err) {}\n return !1;\n }(name)) {\n var _payload = getInitialParentPayload().payload;\n if (_payload.tag === tag && matchDomain(_payload.childDomainMatch, getDomain())) return !0;\n }\n return !1;\n };\n var registerChild = memoize((function() {\n if (isChild()) {\n if (window.xprops) {\n delete global.components[tag];\n throw new Error(\"Can not register \" + name + \" as child - child already registered\");\n }\n var child = function(options) {\n var tag = options.tag, propsDef = options.propsDef, autoResize = options.autoResize, allowedParentDomains = options.allowedParentDomains;\n var onPropHandlers = [];\n var _getInitialParentPayl = getInitialParentPayload(), parent = _getInitialParentPayl.parent, payload = _getInitialParentPayl.payload;\n var parentComponentWindow = parent.win, parentDomain = parent.domain;\n var props;\n var exportsPromise = new promise_ZalgoPromise;\n var version = payload.version, uid = payload.uid, parentExports = payload.exports, context = payload.context, initialProps = payload.props;\n if (!function(version1, version2) {\n if (!/_/.test(version1) || !/_/.test(\"10_3_3\")) throw new Error(\"Versions are in an invalid format (\" + version1 + \", 10_3_3)\");\n return version1.split(\"_\")[0] === \"10_3_3\".split(\"_\")[0];\n }(version)) throw new Error(\"Parent window has zoid version \" + version + \", child window has version 10_3_3\");\n var show = parentExports.show, hide = parentExports.hide, close = parentExports.close, onError = parentExports.onError, checkClose = parentExports.checkClose, parentExport = parentExports.export, parentResize = parentExports.resize, parentInit = parentExports.init;\n var getParent = function() {\n return parentComponentWindow;\n };\n var getParentDomain = function() {\n return parentDomain;\n };\n var onProps = function(handler) {\n onPropHandlers.push(handler);\n return {\n cancel: function() {\n onPropHandlers.splice(onPropHandlers.indexOf(handler), 1);\n }\n };\n };\n var resize = function(_ref) {\n return parentResize.fireAndForget({\n width: _ref.width,\n height: _ref.height\n });\n };\n var xport = function(xports) {\n exportsPromise.resolve(xports);\n return parentExport(xports);\n };\n var getSiblings = function(_temp) {\n var anyParent = (void 0 === _temp ? {} : _temp).anyParent;\n var result = [];\n var currentParent = props.parent;\n void 0 === anyParent && (anyParent = !currentParent);\n if (!anyParent && !currentParent) throw new Error(\"No parent found for \" + tag + \" child\");\n for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(window); _i2 < _getAllFramesInWindow2.length; _i2++) {\n var win = _getAllFramesInWindow2[_i2];\n if (isSameDomain(win)) {\n var xprops = assertSameDomain(win).xprops;\n if (xprops && getParent() === xprops.getParent()) {\n var winParent = xprops.parent;\n if (anyParent || !currentParent || winParent && winParent.uid === currentParent.uid) {\n var xports = tryGlobal(win, (function(global) {\n return global.exports;\n }));\n result.push({\n props: xprops,\n exports: xports\n });\n }\n }\n }\n }\n return result;\n };\n var setProps = function(newProps, origin, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var normalizedProps = function(parentComponentWindow, propsDef, props, origin, helpers, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n var trustedChild = prop && prop.trustedDomains && prop.trustedDomains.length > 0 ? prop.trustedDomains.reduce((function(acc, val) {\n return acc || matchDomain(val, getDomain(window));\n }), !1) : origin === getDomain(window) || isSameDomain(parentComponentWindow);\n if ((!prop || !prop.sameDomain || trustedChild) && (!prop || !prop.trustedDomains || trustedChild)) {\n var value = normalizeChildProp(propsDef, 0, key, props[key], helpers);\n result[key] = value;\n prop && prop.alias && !result[prop.alias] && (result[prop.alias] = value);\n }\n }\n if (!isUpdate) for (var _i4 = 0, _Object$keys4 = Object.keys(propsDef); _i4 < _Object$keys4.length; _i4++) {\n var _key = _Object$keys4[_i4];\n props.hasOwnProperty(_key) || (result[_key] = normalizeChildProp(propsDef, 0, _key, void 0, helpers));\n }\n return result;\n }(parentComponentWindow, propsDef, newProps, origin, {\n tag: tag,\n show: show,\n hide: hide,\n close: close,\n focus: child_focus,\n onError: onError,\n resize: resize,\n getSiblings: getSiblings,\n onProps: onProps,\n getParent: getParent,\n getParentDomain: getParentDomain,\n uid: uid,\n export: xport\n }, isUpdate);\n props ? extend(props, normalizedProps) : props = normalizedProps;\n for (var _i4 = 0; _i4 < onPropHandlers.length; _i4++) (0, onPropHandlers[_i4])(props);\n };\n var updateProps = function(newProps) {\n return promise_ZalgoPromise.try((function() {\n return setProps(newProps, parentDomain, !0);\n }));\n };\n return {\n init: function() {\n return promise_ZalgoPromise.try((function() {\n var updatedChildName = \"\";\n isSameDomain(parentComponentWindow) && (updatedChildName = function(_ref3) {\n var componentName = _ref3.componentName, parentComponentWindow = _ref3.parentComponentWindow;\n var _crossDomainDeseriali2 = crossDomainDeserialize({\n data: parseWindowName(window.name).serializedInitialPayload,\n sender: {\n win: parentComponentWindow\n },\n basic: !0\n }), sender = _crossDomainDeseriali2.sender;\n if (\"uid\" === _crossDomainDeseriali2.reference.type || \"global\" === _crossDomainDeseriali2.metaData.windowRef.type) {\n var childWindowName = buildChildWindowName({\n name: componentName,\n serializedPayload: crossDomainSerialize({\n data: _crossDomainDeseriali2.data,\n metaData: {\n windowRef: window_getWindowRef(parentComponentWindow)\n },\n sender: {\n domain: sender.domain\n },\n receiver: {\n win: window,\n domain: getDomain()\n },\n basic: !0\n }).serializedData\n });\n window.name = childWindowName;\n return childWindowName;\n }\n }({\n componentName: options.name,\n parentComponentWindow: parentComponentWindow\n }) || \"\");\n lib_global_getGlobal(window).exports = options.exports({\n getExports: function() {\n return exportsPromise;\n }\n });\n !function(allowedParentDomains, domain) {\n if (!matchDomain(allowedParentDomains, domain)) throw new Error(\"Can not be rendered by domain: \" + domain);\n }(allowedParentDomains, parentDomain);\n markWindowKnown(parentComponentWindow);\n !function() {\n window.addEventListener(\"beforeunload\", (function() {\n checkClose.fireAndForget();\n }));\n window.addEventListener(\"unload\", (function() {\n checkClose.fireAndForget();\n }));\n onCloseWindow(parentComponentWindow, (function() {\n child_destroy();\n }));\n }();\n return parentInit({\n name: updatedChildName,\n updateProps: updateProps,\n close: child_destroy\n });\n })).then((function() {\n return (_autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, \n _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, \n _autoResize$element = autoResize.element, elementReady(void 0 === _autoResize$element ? \"body\" : _autoResize$element).catch(src_util_noop).then((function(element) {\n return {\n width: width,\n height: height,\n element: element\n };\n }))).then((function(_ref3) {\n var width = _ref3.width, height = _ref3.height, element = _ref3.element;\n element && (width || height) && context !== CONTEXT.POPUP && onResize(element, (function(_ref4) {\n resize({\n width: width ? _ref4.width : void 0,\n height: height ? _ref4.height : void 0\n });\n }), {\n width: width,\n height: height\n });\n }));\n var _autoResize$width, width, _autoResize$height, height, _autoResize$element;\n })).catch((function(err) {\n onError(err);\n }));\n },\n getProps: function() {\n if (props) return props;\n setProps(initialProps, parentDomain);\n return props;\n }\n };\n }(options);\n child.init();\n return child;\n }\n }));\n var init = function init(inputProps) {\n var instance;\n var uid = \"zoid-\" + tag + \"-\" + uniqueID();\n var props = inputProps || {};\n var _eligible = eligible({\n props: props\n }), eligibility = _eligible.eligible, reason = _eligible.reason;\n var onDestroy = props.onDestroy;\n props.onDestroy = function() {\n instance && eligibility && instances.splice(instances.indexOf(instance), 1);\n if (onDestroy) return onDestroy.apply(void 0, arguments);\n };\n var parent = parentComponent({\n uid: uid,\n options: options\n });\n parent.init();\n eligibility ? parent.setProps(props) : props.onDestroy && props.onDestroy();\n cleanInstances.register((function(err) {\n return parent.destroy(err || new Error(\"zoid destroyed all components\"));\n }));\n var clone = function(_temp) {\n var _ref4$decorate = (void 0 === _temp ? {} : _temp).decorate;\n return init((void 0 === _ref4$decorate ? identity : _ref4$decorate)(props));\n };\n var _render = function(target, container, context) {\n return promise_ZalgoPromise.try((function() {\n if (!eligibility) {\n var err = new Error(reason || name + \" component is not eligible\");\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }\n if (!isWindow(target)) throw new Error(\"Must pass window to renderTo\");\n return function(props, context) {\n return promise_ZalgoPromise.try((function() {\n if (props.window) return setup_toProxyWindow(props.window).getType();\n if (context) {\n if (context !== CONTEXT.IFRAME && context !== CONTEXT.POPUP) throw new Error(\"Unrecognized context: \" + context);\n return context;\n }\n return defaultContext;\n }));\n }(props, context);\n })).then((function(finalContext) {\n container = function(context, container) {\n if (container) {\n if (\"string\" != typeof container && !isElement(container)) throw new TypeError(\"Expected string or element selector to be passed\");\n return container;\n }\n if (context === CONTEXT.POPUP) return \"body\";\n throw new Error(\"Expected element to be passed to render iframe\");\n }(finalContext, container);\n if (target !== window && \"string\" != typeof container) throw new Error(\"Must pass string element when rendering to another window\");\n return parent.render({\n target: target,\n container: container,\n context: finalContext,\n rerender: function() {\n var newInstance = clone();\n extend(instance, newInstance);\n return newInstance.renderTo(target, container, context);\n }\n });\n })).catch((function(err) {\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }));\n };\n instance = _extends({}, parent.getExports(), parent.getHelpers(), function() {\n var childComponents = children();\n var result = {};\n var _loop2 = function() {\n var childName = _Object$keys4[_i4];\n var Child = childComponents[childName];\n result[childName] = function(childInputProps) {\n var parentProps = parent.getProps();\n var childProps = _extends({}, childInputProps, {\n parent: {\n uid: uid,\n props: parentProps,\n export: parent.export\n }\n });\n return Child(childProps);\n };\n };\n for (var _i4 = 0, _Object$keys4 = Object.keys(childComponents); _i4 < _Object$keys4.length; _i4++) _loop2();\n return result;\n }(), {\n isEligible: function() {\n return eligibility;\n },\n clone: clone,\n render: function(container, context) {\n return _render(window, container, context);\n },\n renderTo: function(target, container, context) {\n return _render(target, container, context);\n }\n });\n eligibility && instances.push(instance);\n return instance;\n };\n registerChild();\n !function() {\n var allowDelegateListener = on_on(\"zoid_allow_delegate_\" + name, (function() {\n return !0;\n }));\n var delegateListener = on_on(\"zoid_delegate_\" + name, (function(_ref2) {\n var _ref2$data = _ref2.data;\n return {\n parent: parentComponent({\n uid: _ref2$data.uid,\n options: options,\n overrides: _ref2$data.overrides,\n parentWin: _ref2.source\n })\n };\n }));\n cleanZoid.register(allowDelegateListener.cancel);\n cleanZoid.register(delegateListener.cancel);\n }();\n global.components = global.components || {};\n if (global.components[tag]) throw new Error(\"Can not register multiple components with the same tag: \" + tag);\n global.components[tag] = !0;\n return {\n init: init,\n instances: instances,\n driver: function(driverName, dep) {\n var drivers = {\n react: react,\n angular: angular,\n vue: vue,\n vue3: vue3,\n angular2: angular2\n };\n if (!drivers[driverName]) throw new Error(\"Could not find driver for framework: \" + driverName);\n driverCache[driverName] || (driverCache[driverName] = drivers[driverName].register(tag, propsDef, init, dep));\n return driverCache[driverName];\n },\n isChild: isChild,\n canRenderTo: function(win) {\n return send_send(win, \"zoid_allow_delegate_\" + name).then((function(_ref3) {\n return _ref3.data;\n })).catch((function() {\n return !1;\n }));\n },\n registerChild: registerChild\n };\n }\n var component_create = function(options) {\n !function() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return addEventListener(window, \"message\", (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n setupBridge({\n on: on_on,\n send: send_send,\n receiveMessage: receive_receiveMessage\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }();\n var comp = component(options);\n var init = function(props) {\n return comp.init(props);\n };\n init.driver = function(name, dep) {\n return comp.driver(name, dep);\n };\n init.isChild = function() {\n return comp.isChild();\n };\n init.canRenderTo = function(win) {\n return comp.canRenderTo(win);\n };\n init.instances = comp.instances;\n var child = comp.registerChild();\n child && (window.xprops = init.xprops = child.getProps());\n return init;\n };\n function destroyComponents(err) {\n src_bridge && src_bridge.destroyBridges();\n var destroyPromise = cleanInstances.all(err);\n cleanInstances = cleanup();\n return destroyPromise;\n }\n var destroyAll = destroyComponents;\n function component_destroy(err) {\n destroyAll();\n delete window.__zoid_10_3_3__;\n !function() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_11_0_0__;\n }();\n return cleanZoid.all(err);\n }\n } ]);\n}));","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"belter\", [], factory) : \"object\" == typeof exports ? exports.belter = factory() : root.belter = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"getUserAgent\", (function() {\n return getUserAgent;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDevice\", (function() {\n return isDevice;\n }));\n __webpack_require__.d(__webpack_exports__, \"isWebView\", (function() {\n return isWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isStandAlone\", (function() {\n return isStandAlone;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFacebookWebView\", (function() {\n return isFacebookWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFirefoxIOS\", (function() {\n return isFirefoxIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isEdgeIOS\", (function() {\n return isEdgeIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isOperaMini\", (function() {\n return isOperaMini;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroid\", (function() {\n return isAndroid;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIos\", (function() {\n return isIos;\n }));\n __webpack_require__.d(__webpack_exports__, \"isGoogleSearchApp\", (function() {\n return isGoogleSearchApp;\n }));\n __webpack_require__.d(__webpack_exports__, \"isQQBrowser\", (function() {\n return isQQBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIosWebview\", (function() {\n return isIosWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVC\", (function() {\n return isSFVC;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVCorSafari\", (function() {\n return isSFVCorSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroidWebview\", (function() {\n return isAndroidWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIE\", (function() {\n return device_isIE;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIECompHeader\", (function() {\n return isIECompHeader;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElectron\", (function() {\n return isElectron;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIEIntranet\", (function() {\n return isIEIntranet;\n }));\n __webpack_require__.d(__webpack_exports__, \"isMacOsCna\", (function() {\n return isMacOsCna;\n }));\n __webpack_require__.d(__webpack_exports__, \"supportsPopups\", (function() {\n return supportsPopups;\n }));\n __webpack_require__.d(__webpack_exports__, \"isChrome\", (function() {\n return isChrome;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSafari\", (function() {\n return isSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isApplePaySupported\", (function() {\n return isApplePaySupported;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentReady\", (function() {\n return isDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentInteractive\", (function() {\n return isDocumentInteractive;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlEncode\", (function() {\n return urlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForWindowReady\", (function() {\n return waitForWindowReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentReady\", (function() {\n return waitForDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentBody\", (function() {\n return waitForDocumentBody;\n }));\n __webpack_require__.d(__webpack_exports__, \"parseQuery\", (function() {\n return parseQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"getQueryParam\", (function() {\n return getQueryParam;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlWillRedirectPage\", (function() {\n return urlWillRedirectPage;\n }));\n __webpack_require__.d(__webpack_exports__, \"formatQuery\", (function() {\n return formatQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendQuery\", (function() {\n return extendQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendUrl\", (function() {\n return extendUrl;\n }));\n __webpack_require__.d(__webpack_exports__, \"redirect\", (function() {\n return redirect;\n }));\n __webpack_require__.d(__webpack_exports__, \"hasMetaViewPort\", (function() {\n return hasMetaViewPort;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementVisible\", (function() {\n return isElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPerformance\", (function() {\n return getPerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"enablePerformance\", (function() {\n return enablePerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPageRenderTime\", (function() {\n return getPageRenderTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"htmlEncode\", (function() {\n return htmlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"isBrowser\", (function() {\n return dom_isBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"querySelectorAll\", (function() {\n return querySelectorAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"onClick\", (function() {\n return onClick;\n }));\n __webpack_require__.d(__webpack_exports__, \"getScript\", (function() {\n return getScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"isLocalStorageEnabled\", (function() {\n return isLocalStorageEnabled;\n }));\n __webpack_require__.d(__webpack_exports__, \"getBrowserLocales\", (function() {\n return getBrowserLocales;\n }));\n __webpack_require__.d(__webpack_exports__, \"appendChild\", (function() {\n return appendChild;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElement\", (function() {\n return isElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElementSafe\", (function() {\n return getElementSafe;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElement\", (function() {\n return getElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"elementReady\", (function() {\n return elementReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"popup\", (function() {\n return popup;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeToWindow\", (function() {\n return writeToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeElementToWindow\", (function() {\n return writeElementToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setStyle\", (function() {\n return setStyle;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameLoad\", (function() {\n return awaitFrameLoad;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameWindow\", (function() {\n return awaitFrameWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"createElement\", (function() {\n return createElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"iframe\", (function() {\n return iframe;\n }));\n __webpack_require__.d(__webpack_exports__, \"addEventListener\", (function() {\n return addEventListener;\n }));\n __webpack_require__.d(__webpack_exports__, \"bindEvents\", (function() {\n return bindEvents;\n }));\n __webpack_require__.d(__webpack_exports__, \"setVendorCSS\", (function() {\n return setVendorCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"animate\", (function() {\n return animate;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementVisible\", (function() {\n return makeElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementInvisible\", (function() {\n return makeElementInvisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"showElement\", (function() {\n return showElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"hideElement\", (function() {\n return hideElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyElement\", (function() {\n return destroyElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"showAndAnimate\", (function() {\n return showAndAnimate;\n }));\n __webpack_require__.d(__webpack_exports__, \"animateAndHide\", (function() {\n return animateAndHide;\n }));\n __webpack_require__.d(__webpack_exports__, \"addClass\", (function() {\n return addClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeClass\", (function() {\n return removeClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementClosed\", (function() {\n return isElementClosed;\n }));\n __webpack_require__.d(__webpack_exports__, \"watchElementForClose\", (function() {\n return watchElementForClose;\n }));\n __webpack_require__.d(__webpack_exports__, \"fixScripts\", (function() {\n return fixScripts;\n }));\n __webpack_require__.d(__webpack_exports__, \"onResize\", (function() {\n return onResize;\n }));\n __webpack_require__.d(__webpack_exports__, \"getResourceLoadTime\", (function() {\n return getResourceLoadTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"isShadowElement\", (function() {\n return isShadowElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowRoot\", (function() {\n return getShadowRoot;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowHost\", (function() {\n return getShadowHost;\n }));\n __webpack_require__.d(__webpack_exports__, \"insertShadowSlot\", (function() {\n return insertShadowSlot;\n }));\n __webpack_require__.d(__webpack_exports__, \"preventClickFocus\", (function() {\n return preventClickFocus;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStackTrace\", (function() {\n return getStackTrace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScript\", (function() {\n return getCurrentScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScriptUID\", (function() {\n return getCurrentScriptUID;\n }));\n __webpack_require__.d(__webpack_exports__, \"experiment\", (function() {\n return experiment;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobalNameSpace\", (function() {\n return getGlobalNameSpace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStorage\", (function() {\n return getStorage;\n }));\n __webpack_require__.d(__webpack_exports__, \"getFunctionName\", (function() {\n return getFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"setFunctionName\", (function() {\n return setFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64encode\", (function() {\n return base64encode;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64decode\", (function() {\n return base64decode;\n }));\n __webpack_require__.d(__webpack_exports__, \"uniqueID\", (function() {\n return uniqueID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobal\", (function() {\n return getGlobal;\n }));\n __webpack_require__.d(__webpack_exports__, \"getObjectID\", (function() {\n return getObjectID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getEmptyObject\", (function() {\n return getEmptyObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoize\", (function() {\n return memoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseIdentity\", (function() {\n return promiseIdentity;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizePromise\", (function() {\n return memoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"promisify\", (function() {\n return promisify;\n }));\n __webpack_require__.d(__webpack_exports__, \"inlineMemoize\", (function() {\n return inlineMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"noop\", (function() {\n return src_util_noop;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return once;\n }));\n __webpack_require__.d(__webpack_exports__, \"hashStr\", (function() {\n return hashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"strHashStr\", (function() {\n return strHashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"match\", (function() {\n return match;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitKey\", (function() {\n return awaitKey;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyError\", (function() {\n return stringifyError;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyErrorMessage\", (function() {\n return stringifyErrorMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringify\", (function() {\n return stringify;\n }));\n __webpack_require__.d(__webpack_exports__, \"domainMatches\", (function() {\n return domainMatches;\n }));\n __webpack_require__.d(__webpack_exports__, \"patchMethod\", (function() {\n return patchMethod;\n }));\n __webpack_require__.d(__webpack_exports__, \"extend\", (function() {\n return extend;\n }));\n __webpack_require__.d(__webpack_exports__, \"values\", (function() {\n return util_values;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizedValues\", (function() {\n return memoizedValues;\n }));\n __webpack_require__.d(__webpack_exports__, \"perc\", (function() {\n return perc;\n }));\n __webpack_require__.d(__webpack_exports__, \"min\", (function() {\n return min;\n }));\n __webpack_require__.d(__webpack_exports__, \"max\", (function() {\n return max;\n }));\n __webpack_require__.d(__webpack_exports__, \"roundUp\", (function() {\n return roundUp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexMap\", (function() {\n return regexMap;\n }));\n __webpack_require__.d(__webpack_exports__, \"svgToBase64\", (function() {\n return svgToBase64;\n }));\n __webpack_require__.d(__webpack_exports__, \"objFilter\", (function() {\n return objFilter;\n }));\n __webpack_require__.d(__webpack_exports__, \"identity\", (function() {\n return identity;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexTokenize\", (function() {\n return regexTokenize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseDebounce\", (function() {\n return promiseDebounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeInterval\", (function() {\n return safeInterval;\n }));\n __webpack_require__.d(__webpack_exports__, \"isInteger\", (function() {\n return isInteger;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFloat\", (function() {\n return isFloat;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializePrimitive\", (function() {\n return serializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializePrimitive\", (function() {\n return deserializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"dotify\", (function() {\n return dotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"undotify\", (function() {\n return undotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"eventEmitter\", (function() {\n return eventEmitter;\n }));\n __webpack_require__.d(__webpack_exports__, \"camelToDasherize\", (function() {\n return camelToDasherize;\n }));\n __webpack_require__.d(__webpack_exports__, \"dasherizeToCamel\", (function() {\n return dasherizeToCamel;\n }));\n __webpack_require__.d(__webpack_exports__, \"capitalizeFirstLetter\", (function() {\n return capitalizeFirstLetter;\n }));\n __webpack_require__.d(__webpack_exports__, \"get\", (function() {\n return util_get;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeTimeout\", (function() {\n return safeTimeout;\n }));\n __webpack_require__.d(__webpack_exports__, \"defineLazyProp\", (function() {\n return defineLazyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"arrayFrom\", (function() {\n return arrayFrom;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObject\", (function() {\n return isObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObjectObject\", (function() {\n return isObjectObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPlainObject\", (function() {\n return isPlainObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"replaceObject\", (function() {\n return replaceObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"copyProp\", (function() {\n return copyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regex\", (function() {\n return regex;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexAll\", (function() {\n return regexAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDefined\", (function() {\n return isDefined;\n }));\n __webpack_require__.d(__webpack_exports__, \"cycle\", (function() {\n return cycle;\n }));\n __webpack_require__.d(__webpack_exports__, \"debounce\", (function() {\n return debounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"isRegex\", (function() {\n return util_isRegex;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoize\", (function() {\n return util_weakMapMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoizePromise\", (function() {\n return util_weakMapMemoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"getOrSet\", (function() {\n return getOrSet;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanup\", (function() {\n return cleanup;\n }));\n __webpack_require__.d(__webpack_exports__, \"tryCatch\", (function() {\n return tryCatch;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeFromArray\", (function() {\n return removeFromArray;\n }));\n __webpack_require__.d(__webpack_exports__, \"assertExists\", (function() {\n return assertExists;\n }));\n __webpack_require__.d(__webpack_exports__, \"unique\", (function() {\n return unique;\n }));\n __webpack_require__.d(__webpack_exports__, \"constHas\", (function() {\n return constHas;\n }));\n __webpack_require__.d(__webpack_exports__, \"dedupeErrors\", (function() {\n return dedupeErrors;\n }));\n __webpack_require__.d(__webpack_exports__, \"ExtendableError\", (function() {\n return util_ExtendableError;\n }));\n __webpack_require__.d(__webpack_exports__, \"request\", (function() {\n return request;\n }));\n __webpack_require__.d(__webpack_exports__, \"addHeaderBuilder\", (function() {\n return addHeaderBuilder;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return types_TYPES;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoized\", (function() {\n return memoized;\n }));\n __webpack_require__.d(__webpack_exports__, \"promise\", (function() {\n return decorators_promise;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPerc\", (function() {\n return isPerc;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPx\", (function() {\n return isPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toNum\", (function() {\n return toNum;\n }));\n __webpack_require__.d(__webpack_exports__, \"toPx\", (function() {\n return toPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toCSS\", (function() {\n return toCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"percOf\", (function() {\n return percOf;\n }));\n __webpack_require__.d(__webpack_exports__, \"normalizeDimension\", (function() {\n return normalizeDimension;\n }));\n __webpack_require__.d(__webpack_exports__, \"wrapPromise\", (function() {\n return wrapPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"KEY_CODES\", (function() {\n return KEY_CODES;\n }));\n __webpack_require__.d(__webpack_exports__, \"ATTRIBUTES\", (function() {\n return ATTRIBUTES;\n }));\n __webpack_require__.d(__webpack_exports__, \"iPhoneScreenHeightMatrix\", (function() {\n return iPhoneScreenHeightMatrix;\n }));\n var iPhoneScreenHeightMatrix = {\n 926: {\n device: \"iPhone 12 Pro Max\",\n textSizeHeights: [ 752, 748, 744, 738 ],\n zoomHeight: {\n 1.15: [ 752, 747, 744, 738 ],\n 1.25: [ 753, 748, 744, 738 ],\n 1.5: [ 752, 749, 744, 738 ],\n 1.75: [ 753, 747, 744, 739 ],\n 2: [ 752, 748, 744 ],\n 2.5: [ 753, 748 ],\n 3: [ 753, 744 ]\n },\n maybeSafari: {\n 2: [ 738 ],\n 2.5: [ 745, 738 ],\n 3: [ 747, 738 ]\n }\n },\n 896: {\n device: \"iPhone XS Max, iPhone 11 Pro Max, iPhone XR, iPhone 11\",\n textSizeHeights: [ 721, 717, 713, 707 ],\n zoomHeight: {\n 1.15: [ 721, 716, 713, 707 ],\n 1.25: [ 721, 718, 713, 708 ],\n 1.5: [ 722, 717, 713 ],\n 1.75: [ 721, 718, 712, 707 ],\n 2: [ 722, 718, 714, 708 ],\n 2.5: [ 720, 718, 713, 708 ],\n 3: [ 720, 717, 708 ]\n },\n maybeSafari: {\n 1.5: [ 707 ],\n 3: [ 714 ]\n }\n },\n 844: {\n device: \"iPhone 12, iPhone 12 Pro\",\n textSizeHeights: [ 670, 666, 662, 656 ],\n zoomHeight: {\n 1.15: [ 670, 666, 662 ],\n 1.25: [ 670, 666, 663, 656 ],\n 1.5: [ 671, 666, 662 ],\n 1.75: [ 670, 667, 662, 656 ],\n 2: [ 670, 666, 662 ],\n 2.5: [ 670, 663 ],\n 3: [ 669, 666, 663, 657 ]\n },\n maybeSafari: {\n 1.15: [ 656 ],\n 1.5: [ 656 ],\n 2: [ 656 ],\n 2.5: [ 665, 655 ],\n 3: [ 663 ]\n }\n },\n 812: {\n device: \"iPhone X, iPhone XS, iPhone 11 Pro, iPhone 12 Mini\",\n textSizeHeights: [ 641, 637, 633, 627 ],\n zoomHeight: {\n 1.15: [ 641, 637, 633, 627 ],\n 1.25: [ 641, 638, 633, 628 ],\n 1.5: [ 641, 638, 633, 627 ],\n 1.75: [ 641, 637, 634 ],\n 2: [ 642, 638, 634, 628 ],\n 2.5: [ 640, 638, 633, 628 ],\n 3: [ 642, 633 ]\n },\n maybeSafari: {\n 1.75: [ 627 ],\n 3: [ 636, 627 ]\n }\n },\n 736: {\n device: \"iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus, iPhone 8 Plus\",\n textSizeHeights: [ 628, 624, 620, 614 ],\n zoomHeight: {\n 1.15: [ 628, 624, 620, 614 ],\n 1.25: [ 628, 624, 620, 614 ],\n 1.5: [ 629, 624, 620 ],\n 1.75: [ 628, 625, 620, 614 ],\n 2: [ 628, 624, 620 ],\n 2.5: [ 628, 625, 620, 615 ],\n 3: [ 627, 624, 615 ]\n },\n maybeSafari: {\n 1.5: [ 614 ],\n 2: [ 614 ],\n 3: [ 621 ]\n }\n },\n 667: {\n device: \"iPhone 6, iPhone 6S, iPhone 7, iPhone 8, iPhone SE2\",\n textSizeHeights: [ 559, 555, 551, 545 ],\n zoomHeight: {\n 1.15: [ 559, 555, 551, 545 ],\n 1.25: [ 559, 555, 551, 545 ],\n 1.5: [ 560, 555, 551 ],\n 1.75: [ 558, 555, 551 ],\n 2: [ 560, 556, 552, 546 ],\n 2.5: [ 560, 555, 550 ],\n 3: [ 558, 555, 546 ]\n },\n maybeSafari: {\n 1.5: [ 545 ],\n 1.75: [ 544 ],\n 2.5: [ 545 ],\n 3: [ 552 ]\n }\n }\n };\n function getUserAgent() {\n return window.navigator.mockUserAgent || window.navigator.userAgent;\n }\n function isDevice(userAgent) {\n void 0 === userAgent && (userAgent = getUserAgent());\n return !!userAgent.match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i);\n }\n function isWebView() {\n var userAgent = getUserAgent();\n return /(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)|.*WKWebView/i.test(userAgent) || /\\bwv\\b/.test(userAgent) || /Android.*Version\\/(\\d)\\.(\\d)/i.test(userAgent);\n }\n function isStandAlone() {\n return !0 === window.navigator.standalone || window.matchMedia(\"(display-mode: standalone)\").matches;\n }\n function isFacebookWebView(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FBAN/.test(ua) || /FBAV/.test(ua);\n }\n function isFirefoxIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FxiOS/i.test(ua);\n }\n function isEdgeIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /EdgiOS/i.test(ua);\n }\n function isOperaMini(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Opera Mini/i.test(ua);\n }\n function isAndroid(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Android/.test(ua);\n }\n function isIos(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /iPhone|iPod|iPad/.test(ua);\n }\n function isGoogleSearchApp(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /\\bGSA\\b/.test(ua);\n }\n function isQQBrowser(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /QQBrowser/.test(ua);\n }\n function isIosWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isIos(ua) && (!!isGoogleSearchApp(ua) || /.+AppleWebKit(?!.*Safari)|.*WKWebView/.test(ua));\n }\n function isSFVC(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n return scale > 1 && device.zoomHeight[scale] ? -1 !== device.zoomHeight[scale].indexOf(computedHeight) : -1 !== device.textSizeHeights.indexOf(computedHeight);\n }\n return !1;\n }\n function isSFVCorSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var sfvc = isSFVC(ua);\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n var possibleSafariSizes = device.maybeSafari;\n var maybeSafari = !1;\n scale > 1 && possibleSafariSizes[scale] && -1 !== possibleSafariSizes[scale].indexOf(computedHeight) && (maybeSafari = !0);\n return sfvc || maybeSafari;\n }\n return !1;\n }\n function isAndroidWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isAndroid(ua) && /Version\\/[\\d.]+/.test(ua) && !isOperaMini(ua);\n }\n function device_isIE() {\n return !!window.document.documentMode || Boolean(window.navigator && window.navigator.userAgent && /Edge|MSIE|rv:11/i.test(window.navigator.userAgent));\n }\n function isIECompHeader() {\n var mHttp = window.document.querySelector('meta[http-equiv=\"X-UA-Compatible\"]');\n var mContent = window.document.querySelector('meta[content=\"IE=edge\"]');\n return !(!mHttp || !mContent);\n }\n function isElectron() {\n return !(\"undefined\" == typeof process || !process.versions || !process.versions.electron);\n }\n function isIEIntranet() {\n if (window.document.documentMode) try {\n var status = window.status;\n window.status = \"testIntranetMode\";\n if (\"testIntranetMode\" === window.status) {\n window.status = status;\n return !0;\n }\n return !1;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n function isMacOsCna() {\n var userAgent = getUserAgent();\n return /Macintosh.*AppleWebKit(?!.*Safari)/i.test(userAgent);\n }\n function supportsPopups(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !(isIosWebview(ua) || isAndroidWebview(ua) || isOperaMini(ua) || isFirefoxIOS(ua) || isEdgeIOS(ua) || isFacebookWebView(ua) || isQQBrowser(ua) || isElectron() || isMacOsCna() || isStandAlone());\n }\n function isChrome(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Chrome|Chromium|CriOS/.test(ua);\n }\n function isSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Safari/.test(ua) && !isChrome(ua);\n }\n function isApplePaySupported() {\n try {\n if (window.ApplePaySession && window.ApplePaySession.supportsVersion(3) && window.ApplePaySession.canMakePayments()) return !0;\n } catch (e) {\n return !1;\n }\n return !1;\n }\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = function(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function base64decode(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n function getGlobal() {\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof global) return global;\n throw new Error(\"No global found\");\n }\n var objectIDs;\n function getObjectID(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + getObjectID(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function promiseIdentity(item) {\n return promise_ZalgoPromise.resolve(item);\n }\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function promisify(method, options) {\n void 0 === options && (options = {});\n function promisifiedFunction() {\n return promise_ZalgoPromise.try(method, this, arguments);\n }\n options.name && (promisifiedFunction.displayName = options.name + \":promisified\");\n return setFunctionName(promisifiedFunction, getFunctionName(method) + \"::promisified\");\n }\n function inlineMemoize(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function hashStr(str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) hash += str[i].charCodeAt(0) * Math.pow(i % 10 + 1, 5);\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n }\n function strHashStr(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }\n function match(str, pattern) {\n var regmatch = str.match(pattern);\n if (regmatch) return regmatch[1];\n }\n function awaitKey(obj, key) {\n return new promise_ZalgoPromise((function(resolve) {\n var value = obj[key];\n if (value) return resolve(value);\n delete obj[key];\n Object.defineProperty(obj, key, {\n configurable: !0,\n set: function(item) {\n (value = item) && resolve(value);\n },\n get: function() {\n return value;\n }\n });\n }));\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringifyErrorMessage(err) {\n var defaultMessage = \"<unknown error: \" + {}.toString.call(err) + \">\";\n return err ? err instanceof Error ? err.message || defaultMessage : \"string\" == typeof err.message && err.message || defaultMessage : defaultMessage;\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function domainMatches(hostname, domain) {\n var index = (hostname = hostname.split(\"://\")[1]).indexOf(domain);\n return -1 !== index && hostname.slice(index) === domain;\n }\n function patchMethod(obj, name, handler) {\n var original = obj[name];\n obj[name] = function() {\n var _arguments2 = arguments, _this2 = this;\n return handler({\n context: this,\n args: [].slice.call(arguments),\n original: original,\n callOriginal: function() {\n return original.apply(_this2, _arguments2);\n }\n });\n };\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n var util_values = function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n };\n var memoizedValues = memoize(util_values);\n function perc(pixels, percentage) {\n return Math.round(pixels * percentage / 100);\n }\n function min() {\n return Math.min.apply(Math, arguments);\n }\n function max() {\n return Math.max.apply(Math, arguments);\n }\n function roundUp(num, nearest) {\n var remainder = num % nearest;\n return remainder ? num - remainder + nearest : num;\n }\n function regexMap(str, regexp, handler) {\n var results = [];\n str.replace(regexp, (function(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n }));\n return results;\n }\n function svgToBase64(svg) {\n return \"data:image/svg+xml;base64,\" + base64encode(svg);\n }\n function objFilter(obj, filter) {\n void 0 === filter && (filter = Boolean);\n var result = {};\n for (var key in obj) obj.hasOwnProperty(key) && filter(obj[key], key) && (result[key] = obj[key]);\n return result;\n }\n function identity(item) {\n return item;\n }\n function regexTokenize(text, regexp) {\n var result = [];\n text.replace(regexp, (function(token) {\n result.push(token);\n return \"\";\n }));\n return result;\n }\n function promiseDebounce(method, delay) {\n void 0 === delay && (delay = 50);\n var promise;\n var timeout;\n return setFunctionName((function() {\n timeout && clearTimeout(timeout);\n var localPromise = promise = promise || new promise_ZalgoPromise;\n timeout = setTimeout((function() {\n promise = null;\n timeout = null;\n promise_ZalgoPromise.try(method).then((function(result) {\n localPromise.resolve(result);\n }), (function(err) {\n localPromise.reject(err);\n }));\n }), delay);\n return localPromise;\n }), getFunctionName(method) + \"::promiseDebounced\");\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function isInteger(str) {\n return Boolean(str.match(/^[0-9]+$/));\n }\n function isFloat(str) {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n }\n function serializePrimitive(value) {\n return value.toString();\n }\n function deserializePrimitive(value) {\n return \"true\" === value || \"false\" !== value && (isInteger(value) ? parseInt(value, 10) : isFloat(value) ? parseFloat(value) : value);\n }\n function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = serializePrimitive(obj[key]));\n return newobj;\n }\n function undotify(obj) {\n var result = {};\n for (var key in obj) if (obj.hasOwnProperty(key) && \"string\" == typeof obj[key]) {\n var value = obj[key];\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(\",\").map(deserializePrimitive);\n } else value = deserializePrimitive(value);\n var keyResult = result;\n var parts = key.split(\".\");\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var isLast = i + 1 === parts.length;\n var isIndex = !isLast && isInteger(parts[i + 1]);\n if (\"constructor\" === part || \"prototype\" === part || \"__proto__\" === part) throw new Error(\"Disallowed key: \" + part);\n isLast ? keyResult[part] = value : keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n return result;\n }\n function eventEmitter() {\n var triggered = {};\n var handlers = {};\n return {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = this.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function(_i2) {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop(_i2);\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return this.trigger.apply(this, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n };\n }\n function camelToDasherize(string) {\n return string.replace(/([A-Z])/g, (function(g) {\n return \"-\" + g.toLowerCase();\n }));\n }\n function dasherizeToCamel(string) {\n return string.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n }));\n }\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n }\n function util_get(item, path, def) {\n if (!path) return def;\n var pathParts = path.split(\".\");\n for (var i = 0; i < pathParts.length; i++) {\n if (\"object\" != typeof item || null === item) return def;\n item = item[pathParts[i]];\n }\n return void 0 === item ? def : item;\n }\n function safeTimeout(method, time) {\n var interval = safeInterval((function() {\n if ((time -= 100) <= 0) {\n interval.cancel();\n method();\n }\n }), 100);\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObject(item) {\n return \"object\" == typeof item && null !== item;\n }\n function isObjectObject(obj) {\n return isObject(obj) && \"[object Object]\" === {}.toString.call(obj);\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return \"continue\";\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function copyProp(source, target, name, def) {\n if (source.hasOwnProperty(name)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, name);\n Object.defineProperty(target, name, descriptor);\n } else target[name] = def;\n }\n function regex(pattern, string, start) {\n void 0 === start && (start = 0);\n \"string\" == typeof pattern && (pattern = new RegExp(pattern));\n var result = string.slice(start).match(pattern);\n if (result) {\n var index = result.index;\n var regmatch = result[0];\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 replace: function(text) {\n return regmatch ? \"\" + regmatch.slice(0, start + index) + text + regmatch.slice(index + regmatch.length) : \"\";\n }\n };\n }\n }\n function regexAll(pattern, string) {\n var matches = [];\n var start = 0;\n for (;;) {\n var regmatch = regex(pattern, string, start);\n if (!regmatch) break;\n matches.push(regmatch);\n start = match.end;\n }\n return matches;\n }\n function isDefined(value) {\n return null != value;\n }\n function cycle(method) {\n return promise_ZalgoPromise.try(method).then((function() {\n return cycle(method);\n }));\n }\n function debounce(method, time) {\n void 0 === time && (time = 100);\n var timeout;\n return setFunctionName((function() {\n var _arguments3 = arguments, _this3 = this;\n clearTimeout(timeout);\n timeout = setTimeout((function() {\n return method.apply(_this3, _arguments3);\n }), time);\n }), getFunctionName(method) + \"::debounced\");\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var util_weakMapMemoize = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this4 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this4, arg);\n }));\n };\n };\n var util_weakMapMemoizePromise = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this5 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this5, arg).finally((function() {\n weakmap.delete(arg);\n }));\n }));\n };\n };\n function getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n return {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n this.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n cleaned ? method(cleanErr) : tasks.push(once((function() {\n return method(cleanErr);\n })));\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n }\n function tryCatch(fn) {\n var result;\n var error;\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n return {\n result: result,\n error: error\n };\n }\n function removeFromArray(arr, item) {\n var index = arr.indexOf(item);\n -1 !== index && arr.splice(index, 1);\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n function unique(arr) {\n var result = {};\n for (var _i4 = 0; _i4 < arr.length; _i4++) result[arr[_i4]] = !0;\n return Object.keys(result);\n }\n var constHas = function(constant, value) {\n return -1 !== memoizedValues(constant).indexOf(value);\n };\n function dedupeErrors(handler) {\n var seenErrors = [];\n var seenStringifiedErrors = {};\n return function(err) {\n if (-1 === seenErrors.indexOf(err)) {\n seenErrors.push(err);\n var stringifiedError = stringifyError(err);\n if (!seenStringifiedErrors[stringifiedError]) {\n seenStringifiedErrors[stringifiedError] = !0;\n return handler(err);\n }\n }\n };\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n var KEY_CODES = {\n ENTER: 13,\n SPACE: 32\n };\n var ATTRIBUTES = {\n UID: \"data-uid\"\n };\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return encodeURIComponent(str);\n }\n function waitForWindowReady() {\n return inlineMemoize(waitForWindowReady, (function() {\n return new promise_ZalgoPromise((function(resolve) {\n isDocumentReady() && resolve();\n window.addEventListener(\"load\", (function() {\n return resolve();\n }));\n }));\n }));\n }\n var waitForDocumentReady = memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function waitForDocumentBody() {\n return promise_ZalgoPromise.try((function() {\n return document.body ? document.body : waitForDocumentReady().then((function() {\n if (document.body) return document.body;\n throw new Error(\"Document ready but document.body not present\");\n }));\n }));\n }\n function parseQuery(queryString) {\n return inlineMemoize(parseQuery, (function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }), [ queryString ]);\n }\n function getQueryParam(name) {\n return parseQuery(window.location.search.slice(1))[name];\n }\n function urlWillRedirectPage(url) {\n return -1 === url.indexOf(\"#\") || 0 !== url.indexOf(\"#\") && url.split(\"#\")[0] !== window.location.href.split(\"#\")[0];\n }\n function formatQuery(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key] || \"boolean\" == typeof obj[key];\n })).map((function(key) {\n var val = obj[key];\n if (\"string\" != typeof val && \"boolean\" != typeof val) throw new TypeError(\"Invalid type for query\");\n return urlEncode(key) + \"=\" + urlEncode(val.toString());\n })).join(\"&\");\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? formatQuery(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function extendUrl(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }\n function redirect(url, win) {\n void 0 === win && (win = window);\n return new promise_ZalgoPromise((function(resolve) {\n win.location = url;\n urlWillRedirectPage(url) || resolve();\n }));\n }\n function hasMetaViewPort() {\n var meta = document.querySelector(\"meta[name=viewport]\");\n return !(isDevice() && window.screen.width < 660 && !meta);\n }\n function isElementVisible(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }\n function getPerformance() {\n return inlineMemoize(getPerformance, (function() {\n var performance = window.performance;\n if (performance && performance.now && performance.timing && performance.timing.connectEnd && performance.timing.navigationStart && Math.abs(performance.now() - Date.now()) > 1e3 && performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart) > 0) return performance;\n }));\n }\n function enablePerformance() {\n return Boolean(getPerformance());\n }\n function getPageRenderTime() {\n return waitForDocumentReady().then((function() {\n var performance = getPerformance();\n if (performance) {\n var timing = performance.timing;\n return timing.connectEnd && timing.domInteractive ? timing.domInteractive - timing.connectEnd : void 0;\n }\n }));\n }\n function htmlEncode(html) {\n void 0 === html && (html = \"\");\n return html.toString().replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/\\//g, \"/\");\n }\n function dom_isBrowser() {\n return \"undefined\" != typeof window && void 0 !== window.location;\n }\n function querySelectorAll(selector, doc) {\n void 0 === doc && (doc = window.document);\n return [].slice.call(doc.querySelectorAll(selector));\n }\n function onClick(element, handler) {\n element.addEventListener(\"touchstart\", src_util_noop);\n element.addEventListener(\"click\", handler);\n element.addEventListener(\"keypress\", (function(event) {\n if (event.keyCode === KEY_CODES.ENTER || event.keyCode === KEY_CODES.SPACE) return handler(event);\n }));\n }\n function getScript(_ref) {\n var _ref$host = _ref.host, host = void 0 === _ref$host ? window.location.host : _ref$host, path = _ref.path, _ref$reverse = _ref.reverse, reverse = void 0 !== _ref$reverse && _ref$reverse;\n return inlineMemoize(getScript, (function() {\n var url = \"\" + host + path;\n var scripts = [].slice.call(document.getElementsByTagName(\"script\"));\n reverse && scripts.reverse();\n for (var _i4 = 0; _i4 < scripts.length; _i4++) {\n var script = scripts[_i4];\n if (script.src && script.src.replace(/^https?:\\/\\//, \"\").split(\"?\")[0] === url) return script;\n }\n }), [ path ]);\n }\n function isLocalStorageEnabled() {\n return inlineMemoize(isLocalStorageEnabled, (function() {\n try {\n if (\"undefined\" == typeof window) return !1;\n if (window.localStorage) {\n var value = Math.random().toString();\n window.localStorage.setItem(\"__test__localStorage__\", value);\n var result = window.localStorage.getItem(\"__test__localStorage__\");\n window.localStorage.removeItem(\"__test__localStorage__\");\n if (value === result) return !0;\n }\n } catch (err) {}\n return !1;\n }));\n }\n function getBrowserLocales() {\n var nav = window.navigator;\n var locales = nav.languages ? [].concat(nav.languages) : [];\n nav.language && locales.push(nav.language);\n nav.userLanguage && locales.push(nav.userLanguage);\n return locales.map((function(locale) {\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n var _locale$split = locale.split(/[-_]/);\n return {\n country: _locale$split[1],\n lang: _locale$split[0]\n };\n }\n return locale && locale.match(/^[a-z]{2}$/) ? {\n lang: locale\n } : null;\n })).filter(Boolean);\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function isElement(element) {\n return element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument;\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function getElement(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n clearInterval(interval);\n return resolve(el);\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 var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n function popup(url, options) {\n var width = (options = options || {}).width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var name = options.name || \"\";\n delete options.name;\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }\n function writeToWindow(win, html) {\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 }\n }\n function writeElementToWindow(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }\n function setStyle(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function createElement(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && setStyle(element, options.styleSheet);\n container && appendChild(container, element);\n if (options.html) if (\"iframe\" === tag) {\n if (!container || !element.contentWindow) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n writeToWindow(element.contentWindow, options.html);\n } else element.innerHTML = options.html;\n return element;\n }\n function iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = createElement(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && getElement(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function bindEvents(element, eventNames, handler) {\n handler = once(handler);\n for (var _i12 = 0; _i12 < eventNames.length; _i12++) element.addEventListener(eventNames[_i12], handler);\n return {\n cancel: once((function() {\n for (var _i14 = 0; _i14 < eventNames.length; _i14++) element.removeEventListener(eventNames[_i14], handler);\n }))\n };\n }\n var VENDOR_PREFIXES = [ \"webkit\", \"moz\", \"ms\", \"o\" ];\n function setVendorCSS(element, name, value) {\n element.style[name] = value;\n var capitalizedName = capitalizeFirstLetter(name);\n for (var _i16 = 0; _i16 < VENDOR_PREFIXES.length; _i16++) element.style[\"\" + VENDOR_PREFIXES[_i16] + capitalizedName] = value;\n }\n var ANIMATION_START_EVENTS = [ \"animationstart\", \"webkitAnimationStart\", \"oAnimationStart\", \"MSAnimationStart\" ];\n var ANIMATION_END_EVENTS = [ \"animationend\", \"webkitAnimationEnd\", \"oAnimationEnd\", \"MSAnimationEnd\" ];\n function animate(element, name, clean, timeout) {\n void 0 === timeout && (timeout = 1e3);\n return new promise_ZalgoPromise((function(resolve, reject) {\n var el = getElement(element);\n if (!el) return resolve();\n var hasStarted = !1;\n var startTimeout;\n var endTimeout;\n var startEvent;\n var endEvent;\n function cleanUp() {\n clearTimeout(startTimeout);\n clearTimeout(endTimeout);\n startEvent.cancel();\n endEvent.cancel();\n }\n startEvent = bindEvents(el, ANIMATION_START_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n clearTimeout(startTimeout);\n event.stopPropagation();\n startEvent.cancel();\n hasStarted = !0;\n endTimeout = setTimeout((function() {\n cleanUp();\n resolve();\n }), timeout);\n }\n }));\n endEvent = bindEvents(el, ANIMATION_END_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n cleanUp();\n return \"string\" == typeof event.animationName && event.animationName !== name ? reject(\"Expected animation name to be \" + name + \", found \" + event.animationName) : resolve();\n }\n }));\n setVendorCSS(el, \"animationName\", name);\n startTimeout = setTimeout((function() {\n if (!hasStarted) {\n cleanUp();\n return resolve();\n }\n }), 200);\n clean && clean(cleanUp);\n }));\n }\n function makeElementVisible(element) {\n element.style.setProperty(\"visibility\", \"\");\n }\n function makeElementInvisible(element) {\n element.style.setProperty(\"visibility\", \"hidden\", \"important\");\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function showAndAnimate(element, name, clean) {\n var animation = animate(element, name, clean);\n showElement(element);\n return animation;\n }\n function animateAndHide(element, name, clean) {\n return animate(element, name, clean).then((function() {\n hideElement(element);\n }));\n }\n function addClass(element, name) {\n element.classList.add(name);\n }\n function removeClass(element, name) {\n element.classList.remove(name);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function watchElementForClose(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = function(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }\n function fixScripts(el, doc) {\n void 0 === doc && (doc = window.document);\n for (var _i20 = 0, _querySelectorAll2 = querySelectorAll(\"script\", el); _i20 < _querySelectorAll2.length; _i20++) {\n var script = _querySelectorAll2[_i20];\n var parentNode = script.parentNode;\n if (parentNode) {\n var newScript = doc.createElement(\"script\");\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n }\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && isElementVisible(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function getResourceLoadTime(url) {\n var performance = getPerformance();\n if (performance && \"function\" == typeof performance.getEntries) {\n var entries = performance.getEntries();\n for (var i = 0; i < entries.length; i++) {\n var entry = entries[i];\n if (entry && entry.name && 0 === entry.name.indexOf(url) && \"number\" == typeof entry.duration) return Math.floor(entry.duration);\n }\n }\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n function getShadowRoot(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }\n function getShadowHost(element) {\n var shadowRoot = getShadowRoot(element);\n if (shadowRoot.host) return shadowRoot.host;\n }\n function insertShadowSlot(element) {\n var shadowHost = getShadowHost(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n if (isShadowElement(shadowHost)) throw new Error(\"Host element is also in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return slotProvider;\n }\n function preventClickFocus(el) {\n var onFocus = function onFocus(event) {\n el.removeEventListener(\"focus\", onFocus);\n event.preventDefault();\n el.blur();\n return !1;\n };\n el.addEventListener(\"mousedown\", (function() {\n el.addEventListener(\"focus\", onFocus);\n setTimeout((function() {\n el.removeEventListener(\"focus\", onFocus);\n }), 1);\n }));\n }\n function getStackTrace() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = getStackTrace();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n var getCurrentScriptUID = memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(ATTRIBUTES.UID);\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(ATTRIBUTES.UID + \"-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(ATTRIBUTES.UID + \"-auto\", uid);\n return uid;\n }));\n function getStorage(_ref) {\n var name = _ref.name, _ref$lifetime = _ref.lifetime, lifetime = void 0 === _ref$lifetime ? 12e5 : _ref$lifetime;\n return inlineMemoize(getStorage, (function() {\n var STORAGE_KEY = \"__\" + name + \"_storage__\";\n var newStateID = uniqueID();\n var accessedStorage;\n function getState(handler) {\n var localStorageEnabled = isLocalStorageEnabled();\n var storage;\n accessedStorage && (storage = accessedStorage);\n if (!storage && localStorageEnabled) {\n var rawStorage = window.localStorage.getItem(STORAGE_KEY);\n rawStorage && (storage = JSON.parse(rawStorage));\n }\n storage || (storage = getGlobal()[STORAGE_KEY]);\n storage || (storage = {\n id: newStateID\n });\n storage.id || (storage.id = newStateID);\n accessedStorage = storage;\n var result = handler(storage);\n localStorageEnabled ? window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage)) : getGlobal()[STORAGE_KEY] = storage;\n accessedStorage = null;\n return result;\n }\n function getID() {\n return getState((function(storage) {\n return storage.id;\n }));\n }\n function getSession(handler) {\n return getState((function(storage) {\n var session = storage.__session__;\n var now = Date.now();\n session && now - session.created > lifetime && (session = null);\n session || (session = {\n guid: uniqueID(),\n created: now\n });\n storage.__session__ = session;\n return handler(session);\n }));\n }\n return {\n getState: getState,\n getID: getID,\n isStateFresh: function() {\n return getID() === newStateID;\n },\n getSessionState: function(handler) {\n return getSession((function(session) {\n session.state = session.state || {};\n return handler(session.state);\n }));\n },\n getSessionID: function() {\n return getSession((function(session) {\n return session.guid;\n }));\n }\n };\n }), [ {\n name: name,\n lifetime: lifetime\n } ]);\n }\n function getBelterExperimentStorage() {\n return getStorage({\n name: \"belter_experiment\"\n });\n }\n function isEventUnique(name) {\n return getBelterExperimentStorage().getSessionState((function(state) {\n state.loggedBeacons = state.loggedBeacons || [];\n if (-1 === state.loggedBeacons.indexOf(name)) {\n state.loggedBeacons.push(name);\n return !0;\n }\n return !1;\n }));\n }\n function getRandomInteger(range) {\n return Math.floor(Math.random() * range);\n }\n function experiment(_ref) {\n var name = _ref.name, _ref$sample = _ref.sample, sample = void 0 === _ref$sample ? 50 : _ref$sample, _ref$logTreatment = _ref.logTreatment, logTreatment = void 0 === _ref$logTreatment ? src_util_noop : _ref$logTreatment, _ref$logCheckpoint = _ref.logCheckpoint, logCheckpoint = void 0 === _ref$logCheckpoint ? src_util_noop : _ref$logCheckpoint, _ref$sticky = _ref.sticky;\n var throttle = void 0 === _ref$sticky || _ref$sticky ? function(name) {\n return getBelterExperimentStorage().getState((function(state) {\n state.throttlePercentiles = state.throttlePercentiles || {};\n state.throttlePercentiles[name] = state.throttlePercentiles[name] || getRandomInteger(100);\n return state.throttlePercentiles[name];\n }));\n }(name) : getRandomInteger(100);\n var group;\n var treatment = name + \"_\" + (group = throttle < sample ? \"test\" : sample >= 50 || sample <= throttle && throttle < 2 * sample ? \"control\" : \"throttle\");\n var started = !1;\n var forced = !1;\n try {\n window.localStorage && window.localStorage.getItem(name) && (forced = !0);\n } catch (err) {}\n return {\n isEnabled: function() {\n return \"test\" === group || forced;\n },\n isDisabled: function() {\n return \"test\" !== group && !forced;\n },\n getTreatment: function() {\n return treatment;\n },\n log: function(checkpoint, payload) {\n void 0 === payload && (payload = {});\n if (!started) return this;\n isEventUnique(treatment + \"_\" + JSON.stringify(payload)) && logTreatment({\n name: name,\n treatment: treatment,\n payload: payload,\n throttle: throttle\n });\n isEventUnique(treatment + \"_\" + checkpoint + \"_\" + JSON.stringify(payload)) && logCheckpoint({\n name: name,\n treatment: treatment,\n checkpoint: checkpoint,\n payload: payload,\n throttle: throttle\n });\n return this;\n },\n logStart: function(payload) {\n void 0 === payload && (payload = {});\n started = !0;\n return this.log(\"start\", payload);\n },\n logComplete: function(payload) {\n void 0 === payload && (payload = {});\n return this.log(\"complete\", payload);\n }\n };\n }\n function getGlobalNameSpace(_ref) {\n var name = _ref.name, _ref$version = _ref.version, version = void 0 === _ref$version ? \"latest\" : _ref$version;\n var global = getGlobal();\n var globalKey = \"__\" + name + \"__\" + version + \"_global__\";\n var namespace = global[globalKey] = global[globalKey] || {};\n return {\n get: function(key, defValue) {\n defValue = defValue || {};\n return namespace[key] = namespace[key] || defValue;\n }\n };\n }\n var headerBuilders = [];\n function request(_ref) {\n var url = _ref.url, _ref$method = _ref.method, method = void 0 === _ref$method ? \"get\" : _ref$method, _ref$headers = _ref.headers, headers = void 0 === _ref$headers ? {} : _ref$headers, json = _ref.json, data = _ref.data, body = _ref.body, _ref$win = _ref.win, win = void 0 === _ref$win ? window : _ref$win, _ref$timeout = _ref.timeout, timeout = void 0 === _ref$timeout ? 0 : _ref$timeout;\n return new promise_ZalgoPromise((function(resolve, reject) {\n if (json && data || json && body || data && json) throw new Error(\"Only options.json or options.data or options.body should be passed\");\n var normalizedHeaders = {};\n for (var _i4 = 0, _Object$keys2 = Object.keys(headers); _i4 < _Object$keys2.length; _i4++) {\n var _key2 = _Object$keys2[_i4];\n normalizedHeaders[_key2.toLowerCase()] = headers[_key2];\n }\n json ? normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/json\" : (data || body) && (normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/x-www-form-urlencoded; charset=utf-8\");\n normalizedHeaders.accept = normalizedHeaders.accept || \"application/json\";\n for (var _i6 = 0; _i6 < headerBuilders.length; _i6++) {\n var builtHeaders = (0, headerBuilders[_i6])();\n for (var _i8 = 0, _Object$keys4 = Object.keys(builtHeaders); _i8 < _Object$keys4.length; _i8++) {\n var _key3 = _Object$keys4[_i8];\n normalizedHeaders[_key3.toLowerCase()] = builtHeaders[_key3];\n }\n }\n var xhr = new win.XMLHttpRequest;\n xhr.addEventListener(\"load\", (function() {\n var responseHeaders = function(rawHeaders) {\n void 0 === rawHeaders && (rawHeaders = \"\");\n var result = {};\n for (var _i2 = 0, _rawHeaders$trim$spli2 = rawHeaders.trim().split(\"\\n\"); _i2 < _rawHeaders$trim$spli2.length; _i2++) {\n var _line$split = _rawHeaders$trim$spli2[_i2].split(\":\"), _key = _line$split[0], values = _line$split.slice(1);\n result[_key.toLowerCase()] = values.join(\":\").trim();\n }\n return result;\n }(this.getAllResponseHeaders());\n if (!this.status) return reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: no response status code.\"));\n var contentType = responseHeaders[\"content-type\"];\n var isJSON = contentType && (0 === contentType.indexOf(\"application/json\") || 0 === contentType.indexOf(\"text/json\"));\n var responseBody = this.responseText;\n try {\n responseBody = JSON.parse(responseBody);\n } catch (err) {\n if (isJSON) return reject(new Error(\"Invalid json: \" + this.responseText + \".\"));\n }\n return resolve({\n status: this.status,\n headers: responseHeaders,\n body: responseBody\n });\n }), !1);\n xhr.addEventListener(\"error\", (function(evt) {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: \" + evt.toString() + \".\"));\n }), !1);\n xhr.open(method, url, !0);\n for (var _key4 in normalizedHeaders) normalizedHeaders.hasOwnProperty(_key4) && xhr.setRequestHeader(_key4, normalizedHeaders[_key4]);\n json ? body = JSON.stringify(json) : data && (body = Object.keys(data).map((function(key) {\n return encodeURIComponent(key) + \"=\" + (data ? encodeURIComponent(data[key]) : \"\");\n })).join(\"&\"));\n xhr.timeout = timeout;\n xhr.ontimeout = function() {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" has timed out\"));\n };\n xhr.send(body);\n }));\n }\n function addHeaderBuilder(method) {\n headerBuilders.push(method);\n }\n var types_TYPES = !0;\n function memoized(target, name, descriptor) {\n descriptor.value = memoize(descriptor.value, {\n name: name,\n thisNamespace: !0\n });\n }\n function decorators_promise(target, name, descriptor) {\n descriptor.value = promisify(descriptor.value, {\n name: name\n });\n }\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function isPx(str) {\n return \"string\" == typeof str && /^[0-9]+px$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function percOf(num, perc) {\n return parseInt(num * toNum(perc) / 100, 10);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return percOf(max, dim);\n if (isPx(dim)) return toNum(dim);\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function wrapPromise(method, _temp) {\n var _ref$timeout = (void 0 === _temp ? {} : _temp).timeout;\n var expected = [];\n var promises = [];\n var timer = setTimeout((function() {\n expected.length && promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + expected[0] + \" to be called\")));\n }), void 0 === _ref$timeout ? 5e3 : _ref$timeout);\n var expect = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n removeFromArray(expected, name);\n var _tryCatch = tryCatch((function() {\n var _fn;\n return (_fn = fn).call.apply(_fn, [ _this ].concat(args));\n })), result = _tryCatch.result, error = _tryCatch.error;\n if (error) {\n promises.push(promise_ZalgoPromise.asyncReject(error));\n throw error;\n }\n promises.push(promise_ZalgoPromise.resolve(result));\n return result;\n };\n };\n var avoid = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n return function() {\n var _fn2;\n promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + name + \" to not be called\")));\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return (_fn2 = fn).call.apply(_fn2, [ this ].concat(args));\n };\n };\n var expectError = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this2 = this;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n removeFromArray(expected, name);\n var _tryCatch2 = tryCatch((function() {\n var _fn3;\n return (_fn3 = fn).call.apply(_fn3, [ _this2 ].concat(args));\n })), result = _tryCatch2.result, error = _tryCatch2.error;\n if (error) throw error;\n promises.push(promise_ZalgoPromise.resolve(result).then((function() {\n throw new Error(\"Expected \" + name + \" to throw an error\");\n }), src_util_noop));\n return result;\n };\n };\n var wait = function wait() {\n return promise_ZalgoPromise.try((function() {\n if (promises.length) return promises.pop();\n })).then((function() {\n return promises.length ? wait() : expected.length ? promise_ZalgoPromise.delay(10).then(wait) : void 0;\n }));\n };\n promises.push(promise_ZalgoPromise.try((function() {\n return method({\n expect: expect,\n avoid: avoid,\n expectError: expectError,\n error: avoid,\n wait: wait\n });\n })));\n return wait().then((function() {\n clearTimeout(timer);\n }));\n }\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/belter'); // eslint-disable-line import/no-commonjs\n","export enum CLASS {\n VISIBLE = 'is-visible',\n INVISIBLE = 'is-invisible'\n}\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from './enums';\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n div.setAttribute('id', uid);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n display: block;\n position: relative;\n width: ${width};\n height: ${height};\n }\n #${uid} > iframe {\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n frame.allowPaymentRequest = 'true';\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","import postRobot from 'post-robot';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {containerTemplate} from '../container';\nimport {CardInputProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {transformStyle, validateComponentProps} from '../utils';\nimport {config} from '../config';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst CREATE_TOKEN_EVENT = 'CREATE_TOKEN';\n\nconst getCreateTokenFunction = (ref: any) => {\n if (ref.state?.__createToken) {\n return ref.state.__createToken;\n }\n if (ref.parent?.state?.__createToken) {\n return ref.parent.state.__createToken;\n }\n if (ref.state?.parent?.state?.__createToken) {\n return ref.state.parent.state.__createToken;\n }\n throw new Error('Index is not registered');\n};\n\nexport const createToken = async (\n component?: MoneiComponent<CardInputProps>,\n options?: any\n): Promise<{token?: string; error?: string}> => {\n const {data} = await getCreateTokenFunction(component)(options);\n return data;\n};\n\nconst options: ComponentOptionsType<CardInputProps> = {\n tag: 'monei-card-input',\n url: config.cardInputUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n alias: 'orderId'\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onBlur: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onEnter: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onChange: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onFocus: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n placeholders: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n errorMessages: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n },\n validate: validateComponentProps,\n containerTemplate: (params) => {\n params.state.__createToken = (data: any = {}) => {\n if (!params.frame) {\n throw new Error('CardInput instance is not registered');\n }\n return postRobot.send(params.frame.contentWindow, CREATE_TOKEN_EVENT, data, {\n domain: config.domain\n });\n };\n return containerTemplate(params);\n },\n prerenderTemplate: ({doc, props}) => {\n const html = doc.createElement('html');\n const body = doc.createElement('body');\n body.style.margin = '0';\n const div = doc.createElement('div');\n div.style.height = '36px';\n div.style.boxSizing = 'border-box';\n const style = props.style || props.innerStyle;\n if (style?.base) {\n Object.assign(div.style, transformStyle(style.base));\n }\n if (style?.loading) {\n Object.assign(div.style, transformStyle(style.loading));\n }\n body.appendChild(div);\n html.appendChild(body);\n return html;\n }\n};\n\nexport const CardInput: MoneiComponent<CardInputProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {ConfirmPaymentParams, PaymentModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {PaymentResult} from '../types';\nimport {containerTemplate} from '../container';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<PaymentModalProps> = {\n tag: 'monei-payment-modal',\n url: config.paymentModalUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n isOpen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: true\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n generatePaymentToken: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n fullscreen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n customer: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n paymentMethod: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n allowedPaymentMethods: {\n type: zoid.PROP_TYPE.ARRAY,\n required: false\n },\n customDomain: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n billingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n shippingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n onResult: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n }\n }\n};\n\nexport const PaymentModal: MoneiComponent<PaymentModalProps> = zoid.create(options);\n\nexport const confirmPayment = async (params: ConfirmPaymentParams) => {\n const rootNode = document.createElement('div');\n const bodyOverflow = document.body.style.overflow;\n document.body.appendChild(rootNode);\n return new Promise<PaymentResult>(async (resolve, reject) => {\n const modal = new PaymentModal({\n ...params,\n isOpen: true,\n onOpen: () => {\n Object.assign(document.body.style, {overflow: 'hidden'});\n Object.assign(rootNode.style, {\n position: 'fixed',\n overflow: 'hidden',\n display: 'block',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: '100%',\n height: '100%',\n zIndex: 99999\n });\n },\n onResult: (result: any) => {\n resolve(result);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n },\n onError: (error: any) => {\n reject(error);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n }\n });\n await modal.render(rootNode);\n });\n};\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {createToken, getPaymentMethods} from '../api';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {loadScript} from '../utils';\nimport {PayPalProps} from './types';\n\nexport * from './types';\n\nconst namespace = 'monei-paypal';\n\nconst onLoadPaypal = async (props: PayPalProps, state: any, src: string) => {\n const script = await loadScript(src, props.cspNonce, {namespace, cspNonce: props.cspNonce}, true);\n state.__scriptId = script.dataset.uidAuto;\n const defaultStyle = {\n layout: 'horizontal',\n tagline: false\n };\n const style = {...defaultStyle, ...props.style};\n if (typeof style.height === 'string') {\n style.height = parseInt(style.height.replace('px', ''));\n }\n props.onLoad?.(true);\n let token: string | undefined;\n await window[namespace]\n .Buttons({\n createOrder: async () => {\n try {\n const result = await createToken({\n paymentId: props.paymentId,\n accountId: props.accountId,\n sessionId: props.sessionId,\n amount: props.amount,\n currency: props.currency,\n transactionType: props.transactionType,\n paymentMethod: {\n paypal: {}\n }\n });\n token = result.paymentToken;\n return result.paypal?.orderId;\n } catch (error) {\n props.onError?.(error);\n return;\n }\n },\n onApprove: function (data: any) {\n if (data.orderID) {\n props.onSubmit({token});\n } else {\n props.onError?.(data);\n }\n },\n onClick: function (_data: any, actions: any) {\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return actions.reject();\n },\n style\n })\n .render(state.__container);\n};\n\nconst options: ComponentOptionsType<PayPalProps> = {\n tag: namespace,\n url: config.paypalUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: (params) => {\n params.state.__container = params.container;\n if (!params.props.accountId && !params.props.paymentId) {\n throw new Error('You need to provide paymentId or accountId');\n }\n const container = containerTemplate(params);\n params.event.on(zoid.EVENT.DESTROY, () => {\n window[namespace].Buttons.instances.forEach((instance: any) => {\n instance.close();\n });\n const scriptId = params.state.__scriptId;\n if (scriptId) {\n const script = document.querySelector(`script[data-uid-auto=\"${scriptId}\"]`);\n if (script) {\n script.remove();\n }\n }\n });\n return container;\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n cspNonce: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onLoadPayPal: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props, state}: {props: PayPalProps; state: any}) {\n return onLoadPaypal.bind(null, props, state);\n }\n }\n }\n};\n\nexport const PayPal: MoneiComponent<PayPalProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n\n if (props.isHidden) {\n div.setAttribute('id', uid);\n div.style.display = 'none';\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n return div;\n }\n\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {BizumModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<BizumModalProps> = {\n tag: 'monei-bizum',\n url: config.bizumUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n isHidden: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n },\n exports: {\n setPhoneNumber: {\n type: 'function'\n },\n getPhoneNumber: {\n type: 'function'\n }\n }\n};\n\nexport const BizumModal: MoneiComponent<BizumModalProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {GetPaymentMethodsResponse} from '..';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {getPaymentMethods} from '../api';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {BizumModal} from './modal';\nimport {BizumProps} from './types';\n\nexport * from './modal';\nexport * from './types';\n\nconst options: ComponentOptionsType<BizumProps> = {\n tag: 'monei-bizum-button',\n url: config.bizumButtonUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props, state}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency}: GetPaymentMethodsResponse) => {\n if (state.isOpen) return;\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return;\n state.isOpen = true;\n const bizumModal = new BizumModal({\n amount,\n currency,\n ...props,\n onClose: () => {\n state.isOpen = false;\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => bizumModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return bizumModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Bizum: MoneiComponent<BizumProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisModalProps> = {\n tag: 'monei-cofidis',\n url: config.cofidisUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisModal: MoneiComponent<CofidisModalProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisWidgetProps> = {\n tag: 'monei-cofidis-widget',\n url: config.cofidisWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisWidget: MoneiComponent<CofidisWidgetProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisProps> = {\n tag: 'monei-cofidis-button',\n url: config.cofidisButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return;\n const cofidisModal = new CofidisModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Cofidis: MoneiComponent<CofidisProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisLoanModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisLoanModalProps> = {\n tag: 'monei-cofidis-loan',\n url: config.cofidisLoanUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisLoanModal: MoneiComponent<CofidisLoanModalProps> = zoid.create(options);\nexport const CofidisPayModal = CofidisLoanModal;\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisLoanWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisLoanWidgetProps> = {\n tag: 'monei-cofidis-loan-widget',\n url: config.cofidisLoanWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisLoanWidget: MoneiComponent<CofidisLoanWidgetProps> = zoid.create(options);\nexport const CofidisPayWidget = CofidisLoanWidget;\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisLoanProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisLoanModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisLoanProps> = {\n tag: 'monei-cofidis-loan-button',\n url: config.cofidisLoanButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return;\n const cofidisModal = new CofidisLoanModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const CofidisLoan: MoneiComponent<CofidisLoanProps> = zoid.create(options);\nexport const CofidisPay = CofidisLoan;\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {GooglePayProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<GooglePayProps> = {\n tag: 'monei-google-pay',\n url: config.googlePayUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n }\n};\n\nexport const GooglePay: MoneiComponent<GooglePayProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {createApplePaySession, createToken, getPaymentMethods} from '../api';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {PaymentRequestProps} from './types';\n\nexport * from './types';\n\ntype Context = {\n accountId: string;\n domainName: string;\n displayName: string;\n};\n\nconst onApplePayButtonClicked = async (props: PaymentRequestProps, request: any, context: Context) => {\n const session = new window.ApplePaySession(3, request);\n session.onvalidatemerchant = async (event: any) => {\n try {\n const merchantSession = await createApplePaySession({\n ...context,\n validationUrl: event.validationURL\n });\n session.completeMerchantValidation(merchantSession);\n } catch (error) {\n session.abort();\n }\n };\n\n session.onpaymentauthorized = async (event: any) => {\n const paymentToken = JSON.stringify(event.payment.token);\n const token = window.btoa(paymentToken);\n try {\n const result = await createToken({\n accountId: props.accountId,\n paymentId: props.paymentId,\n sessionId: props.sessionId,\n paymentMethod: {\n applePay: {token}\n }\n });\n props.onSubmit({token: result.paymentToken, error: result.error});\n session.completePayment({\n status: window.ApplePaySession.STATUS_SUCCESS\n });\n } catch (error) {\n props.onError?.(error);\n session.completePayment({\n status: window.ApplePaySession.STATUS_FAILURE\n });\n }\n };\n session.begin();\n};\n\nconst options: ComponentOptionsType<PaymentRequestProps> = {\n tag: 'monei-payment-request',\n url: config.paymentRequestUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __isApplePaySupported: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false,\n value: () => {\n try {\n return window.ApplePaySession?.canMakePayments();\n } catch (error) {\n return false;\n }\n }\n },\n __onApplePayButtonClicked: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props}: {props: PaymentRequestProps}) {\n return onApplePayButtonClicked.bind(null, props);\n }\n }\n }\n};\n\nexport const PaymentRequest: MoneiComponent<PaymentRequestProps> = zoid.create(options);\n","export enum NextActionType {\n CONFIRM = 'CONFIRM',\n FRICTIONLESS_CHALLENGE = 'FRICTIONLESS_CHALLENGE',\n BIZUM_CHALLENGE = 'BIZUM_CHALLENGE',\n CHALLENGE = 'CHALLENGE',\n COMPLETE = 'COMPLETE'\n}\n\nexport enum CardBrand {\n Visa = 'visa',\n Mastercard = 'mastercard',\n Amex = 'amex',\n Discover = 'discover',\n Diners = 'diners',\n JCB = 'jcb',\n Maestro = 'maestro',\n UnionPay = 'unionpay',\n Elo = 'elo',\n Hipercard = 'hipercard'\n}\n\nexport enum TransactionType {\n AUTH = 'AUTH',\n SALE = 'SALE',\n PAYOUT = 'PAYOUT',\n VERIF = 'VERIF'\n}\n\nexport interface PaymentResult {\n id: string;\n status: string;\n orderId?: string;\n amount?: number;\n currency?: string;\n accountId?: string;\n statusCode?: string;\n statusMessage?: string;\n nextAction?: {\n type: NextActionType;\n mustRedirect: boolean;\n redirectUrl: string;\n };\n}\n\nexport interface Customer {\n email?: string;\n name?: string;\n phone?: string;\n}\n\nexport interface Address {\n country?: string;\n city?: string;\n line1?: string;\n line2?: string;\n zip?: string;\n state?: string;\n}\n\nexport interface BillingDetails {\n name?: string;\n email?: string;\n phone?: string;\n company?: string;\n address?: Address;\n}\n\nexport interface PaymentMethod {\n card?: {\n cardholderName?: string;\n cardholderEmail?: string;\n };\n}\n\nexport type GetPaymentMethodsRequest = {\n accountId?: string;\n paymentId?: string;\n t?: number;\n};\n\nexport type GetPaymentMethodsResponse = {\n paymentMethods: string[];\n livemode: boolean;\n accountId: string;\n amount?: number;\n currency?: string;\n merchantName?: string;\n merchantUrl?: string;\n countryCode?: string;\n metadata: {\n card: {\n brands: CardBrand[];\n };\n paypal?: {\n clientId: string;\n merchantId: string;\n };\n googlePay?: {\n merchantId: string;\n cvcRequired?: boolean;\n };\n applePay?: {\n merchantId: string;\n };\n clickToPay?: {\n tokenSupport: boolean;\n preselected: boolean;\n visa: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n mastercard: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n discover: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n };\n };\n};\n\nexport type CreateTokenRequest = {\n accountId?: string;\n paymentId?: string;\n sessionId?: string;\n amount?: number;\n currency?: string;\n transactionType?: TransactionType;\n paymentMethod: {\n card?: {\n number: string;\n expMonth: string;\n expYear: string;\n cvc: string;\n };\n paypal?: {};\n cofidis?: {};\n googlePay?: {\n token: string;\n };\n applePay?: {\n token: string;\n };\n bizum?: {\n phoneNumber: string;\n remember?: boolean;\n };\n clickToPay?: {\n token: string;\n cardBrand: string;\n };\n };\n};\n\nexport type CreateTokenResponse = {\n paymentToken?: string;\n error?: string;\n paypal?: {\n orderId: string;\n };\n};\n\nexport type CreatePaymentRequest = {\n accountId: string;\n pointOfSaleId: string;\n amount: number;\n currency: string;\n signature: string;\n};\n\nexport type SendPaymentReceiptRequest = {\n paymentId: string;\n signature: string;\n customerEmail?: string;\n language?: string;\n};\n\nexport type CreateApplePaySessionRequest = {\n accountId: string;\n validationUrl: string;\n domainName: string;\n displayName: string;\n};\n\nexport type CalculateFinancingRequest = {\n amount: number;\n accountId: string;\n paymentMethod?: string;\n};\n\nexport type CalculateFinancingResponse = Array<{\n financingAmount: number;\n tin: number;\n interestAmount: number;\n tae: number;\n quote: number;\n installments: number;\n totalAmount: number;\n legalPhrase: string;\n capEuros: number;\n capPercent: number;\n}>;\n\nexport type ValidateBizumPhoneRequest = {\n accountId?: string;\n paymentId?: string;\n amount?: number;\n phoneNumber: string;\n};\n","import * as _utils from './utils';\nimport * as _api from './api';\n\nexport * from './cardInput';\nexport * from './paymentModal';\nexport * from './paypal';\nexport * from './bizum';\nexport * from './cofidis';\nexport * from './cofidisLoan';\nexport * from './googlePay';\nexport * from './paymentRequest';\nexport * from './config';\nexport * from './types';\nexport const api = _api;\nexport const utils = _utils;\n"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","arg","type","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","constructor","displayName","defineIteratorMethods","forEach","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","error","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","object","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","transformStyle","style","reduce","prop","loadScript","src","nonce","dataset","forceReload","existingScript","Array","from","document","scripts","find","s","remove","script","createElement","onload","onerror","setAttribute","head","appendChild","stringify","join","fixLocalstorage","localStorage","window","localStorageMock","store","Map","getItem","get","setItem","set","clear","removeItem","getLanguage","lang","split","safe","String","getClientEnv","env","screen","colorDepth","height","width","Date","getTimezoneOffset","Intl","DateTimeFormat","resolvedOptions","timeZone","devicePixelRatio","navigator","hardwareConcurrency","deviceMemory","maxTouchPoints","platform","languages","btoa","FINGERPRINT_SEED_KEY","randomHex","crypto","getRandomValues","bytes","Uint8Array","b","Math","floor","random","cachedSeed","getPersistentSeed","seed","thumbmark","Thumbmark","logging","includeComponent","getClientFingerprint","withError","p","isMethodSupported","config","paymentMethod","paymentMethods","includes","validateComponentProps","props","paymentId","accountId","amount","currency","stage","process","domain","version","globalConfig","isProduction","paymentPageUrl","posPaymentPageUrl","cardInputUrl","paymentModalUrl","paypalUrl","bizumUrl","bizumButtonUrl","cofidisUrl","cofidisButtonUrl","cofidisWidgetUrl","cofidisLoanUrl","cofidisLoanButtonUrl","cofidisLoanWidgetUrl","googlePayUrl","paymentRequestUrl","click2PayUrl","click2PayButtonUrl","stageConfig","local","apiUrl","secureDomain","rootDomain","dev","prod","request","url","headers","body","fetch","JSON","res","json","ok","statusText","pmCache","getPaymentMethods","params","query","promise","createToken","sessionId","transactionType","getPayment","confirmPayment","createPayment","signature","sendPaymentReceipt","customerEmail","language","createApplePaySession","calculateFinancing","req","validateBizumPhone","root","factory","this","modules","installedModules","__webpack_require__","moduleId","l","m","c","d","getter","o","r","t","mode","__esModule","ns","bind","n","property","__webpack_exports__","promise_ZalgoPromise","src_types_TYPES_0","window_ProxyWindow","setup","destroy","setup_serializeMessage","setup_deserializeMessage","createProxyWindow","setup_toProxyWindow","on_on","on_once","send_send","markWindowKnown","cleanUpWindow","isRegex","item","IE_WIN_ACCESS_ERROR","isAboutProtocol","win","location","protocol","getParent","parent","getOpener","opener","canReadFromWindow","getActualDomain","host","getDomain","mockDomain","indexOf","isSameDomain","desc","getOwnPropertyDescriptor","assertSameDomain","isAncestorParent","child","childParent","getFrames","frames","len","frame","_i","_frame","iframeWindows","iframeFrames","isWindowClosed","allowMock","closed","message","mockclosed","top","iframeIndex","collection","contentWindow","parentNode","doc","ownerDocument","documentElement","contains","getAncestor","matchDomain","pattern","origin","isArray","Boolean","match","some","subpattern","isWindow","Window","__cross_domain_utils_window_check__","closeWindow","close","utils_isPromise","_toString","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushPromise","flushActive","startActive","endActive","ZalgoPromise","handler","_this","resolved","rejected","errorHandled","handlers","dispatching","stack","_result","_error","isAsync","_proto","dispatch","_this2","_err","setTimeout","j","asyncReject","chain","firstPromise","secondPromise","_handlers$i","onSuccess","onError","_result2","onFinally","timeout","time","_this3","clearTimeout","toPromise","all","promises","count","results","prom","hash","awaitPromises","_loop","map","items","onPossiblyUnhandledException","cancel","splice","args","apply","delay","_delay","isPromise","flush","Zalgo","util_safeIndexOf","weakmap_CrossDomainSafeWeakMap","CrossDomainSafeWeakMap","weakmap","WeakMap","freeze","testWeakMap","testKey","_cleanupClosedWindows","isSafeToReadWrite","index","has","getOrSet","getFunctionName","__name__","setFunctionName","uniqueID","chars","replace","str","encodeURIComponent","p1","fromCharCode","parseInt","Buffer","toISOString","toLowerCase","objectIDs","serializeArgs","subkey","val","uid","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","memoize","options","_options$thisNamespac","thisNamespace","cacheTime","simpleCache","thisCache","memoizeIndex","memoizedFunction","_len","arguments","_key","cache","cacheKey","cacheResult","now","memoizePromise","memoizedPromiseFunction","_arguments","_len2","_key2","src_util_noop","stringifyError","level","newErr","util_isRegex","util_getOrSet","isDocumentReady","readyState","isDocumentInteractive","interval","setInterval","clearInterval","currentScript","getCurrentScript","stackDetails","exec","scriptLocation","_i20","_Array$prototype$slic2","getElementsByTagName","currentUID","getAttribute","global_getGlobal","globalKey","getObj","globalStore","defStore","storeKey","defVal","del","WildCard","getWildcard","global","WINDOW_WILDCARD","windowStore","winStore","getStore","getInstanceID","resolveHelloPromise","_ref","helloPromises","existingPromise","newPromise","sayHello","_ref4","send","instanceID","_ref5","data","getWindowInstanceID","_ref6","_ref7","isSerializedType","__type__","determineType","serializeType","__val__","_SERIALIZER","SERIALIZER","code","regex","source","date","toJSON","array","string","number","defaultSerializers","_DESERIALIZER","DESERIALIZER","_ref2","RegExp","defaultDeserializers","cleanupProxyWindows","idToProxyWindow","_i2","_idToProxyWindow$keys2","id","shouldClean","getSerializedWindow","winPromise","_ref$id","windowNamePromise","windowTypePromise","getType","getName","focus","isClosed","setLocation","href","setName","sameDomain","frameElement","_i21","_document$querySelect2","querySelectorAll","ProxyWindow","serializedWindow","isProxyWindow","actualWindow","actualWindowPromise","getID","setWindow","isPopup","_this4","isPopupPromise","getNamePromise","reopenPromise","_ref3","open","focusPromise","getWindow","awaitWindow","matchWindow","_this5","proxyInstanceID","knownWindowInstanceID","unwrap","serialize","toProxyWindow","deserialize","_ref8","_ref9","addMethod","methodStore","proxyWindowMethods","lookupMethod","function_serializeFunction","destination","on","meth","methodSource","__id__","serializeMessage","_serialize","serializers","serializer","deserializeMessage","_deserialize","deserializers","parse","deserializer","cross_domain_zalgo_promise","serializedPromise","cross_domain_function","serializedFunction","getDeserializedFunction","opts","crossDomainFunctionWrapper","_args","fireAndForget","__origin__","__source__","cross_domain_window","SEND_MESSAGE_STRATEGIES","postrobot_post_message","serializedMessage","postMessage","send_sendMessage","domainBuffer","buffer","__post_robot_10_0_42__","strategies","errors","strategyName","getResponseListener","deleteResponseListener","isResponseListenerErrored","getRequestListener","requestListeners","_i4","winQualifier","nameListeners","domainListeners","__domain_regex__","_i6","_domainListeners$__DO2","_domainListeners$__DO3","listener","handleRequest","logName","sendResponse","ack","pathname","handleError","handleAck","handleResponse","receive_receiveMessage","event","receivedMessages","messages","parsedMessage","parseMessages","requestListener","addRequestListener","listenersCollection","_i8","_win2","_i10","_listenersCollection","_i12","_domain2","_i14","existingListener","strDomain","regexListeners","regexListener","errorHandler","domainMatcher","responseTimeout","childTimeout","actualParent","_i7","_getAllChildFrames4","getAllChildFrames","_i3","_getFrames2","_i5","_getAllChildFrames2","_i15","_getFrames8","_temp","targetDomain","actualDomain","normalizedDomain","responseListener","reqPromises","totalAckTimeout","totalResTimeout","ackTimeout","resTimeout","loop","cancelled","max","initialized","receiveMessage","addEventListener","removeEventListener","sourceElement","originalEvent","responseListeners","_responseListeners$ke2","_requestPromises$get2","require","dom_PopupOpenError","component_create","component_destroy","destroyComponents","destroyAll","PROP_TYPE","PROP_SERIALIZATION","CONTEXT","EVENT","_setPrototypeOf","_inheritsLoose","subClass","superClass","_extends","assign","target","promiseResult","lazy","WINDOW_TYPE","IFRAME","POPUP","getActualProtocol","getProtocol","utils_getParent","getTop","getAllFramesInWindow","concat","utils_getUserAgent","mockUserAgent","userAgent","getFrameByName","winFrames","_i9","childFrame","isOpener","anyMatch","collection1","collection2","_i17","item1","_i19","getDistanceFromTop","distance","isSameTopWindow","win1","win2","top1","top2","allFrames1","allFrames2","opener1","opener2","getDomainFromUrl","onCloseWindow","callback","maxtime","check","normalizeMockUrl","getFrameForWindow","parentElement","removeChild","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","e","construct_construct","Parent","Class","a","instance","wrapNativeSuper_wrapNativeSuper","_cache","Wrapper","isElement","element","passed","Element","nodeType","_","base64encode","_unused","once","called","extend","identity","safeInterval","dasherizeToCamel","g","toUpperCase","defineLazyProp","arrayFrom","isObjectObject","isPlainObject","replaceObject","replacer","fullKey","_loop2","itemKey","_loop3","isDefined","cleanup","tasks","cleaned","cleanErr","cleaner","register","task","shift","assertExists","thing","util_ExtendableError","_Error","ExtendableError","_this6","captureStackTrace","ReferenceError","getBody","urlEncode","parseQuery","queryString","logic","__inline_memoize_cache__","_queryString$split2","pair","decodeURIComponent","extendQuery","originalQuery","filter","container","getElementSafe","querySelector","elementReady","el","_ExtendableError","PopupOpenError","awaitFrameLoadPromises","awaitFrameLoad","_promise","awaitFrameWindow","loadedFrame","dom_iframe","tag","className","attributes","_Object$keys2","styleSheet","styleText","cssText","createTextNode","html","innerHTML","allowTransparency","backgroundColor","border","isIE","hasAttribute","showElement","setProperty","hideElement","destroyElement","isElementClosed","onResize","_ref2$width","_ref2$height","_ref2$interval","_ref2$win","currentWidth","offsetWidth","currentHeight","offsetHeight","canceled","getClientRects","newWidth","newHeight","observer","ResizeObserver","observe","MutationObserver","childList","subtree","characterData","disconnect","isShadowElement","_i22","hashedString","total","charCodeAt","abs","isPerc","test","toNum","toPx","toCSS","normalizeDimension","dim","awaitWindowHello","needsBridgeForBrowser","needsBridgeForWin","needsBridgeForDomain","needsBridge","getBridgeName","isBridge","documentBodyReady","registerRemoteWindow","findRemoteWindow","remoteWinPromise","registerRemoteSendMessage","sendMessage","remoteWin","remoteDomain","rejectRemoteSendMessage","linkWindow","popupWindowsByName","popupWindowsByWin","_popupWindowsByName$k2","winName","_details","details","setupBridge","windowOpen","last","bridgePromise","bridge","getWindowDetails","openTunnelToParent","canary","tunnelWindows","parentWindow","_tunnelWindows$keys2","tunnelWindow","_opts$method","_ref3$method","form","display","_i24","_Object$keys4","_body$key","input","submit","postrobot_bridge","messagingChild","messagingParent","postrobot_global","foreignGlobal","__post_robot_11_0_0__","_ret","v","winCandidate","requestListenerPromise","actualWin","winNameListeners","winNameDomainListeners","winNameDomainRegexListeners","winNameDomainRegexListener","winOrProxyWin","src_bridge","openBridge","bridges","bridgeFrames","iframe","linkUrl","hasBridge","destroyBridges","_bridgeFrames$keys2","lib_global_getGlobal","__zoid_10_3_3__","tryGlobal","getProxyObject","basicSerialize","getUIDRefStore","references","crossDomainSerialize","metaData","sender","receiver","_ref$passByReference","passByReference","_ref$basic","basic","proxyWin","reference","serializedData","cleanReference","ref","crossDomainDeserialize","_ref2$basic","atob","STRING","OBJECT","FUNCTION","BOOLEAN","NUMBER","ARRAY","DOTIFY","BASE64","RENDER","RENDERED","PRERENDER","PRERENDERED","DISPLAY","ERROR","CLOSE","DESTROY","PROPS","RESIZE","FOCUS","buildChildWindowName","serializedPayload","parseWindowName","windowName","_windowName$split","zoidcomp","serializedInitialPayload","parseInitialParentPayload","_crossDomainDeseriali","windowRef","ancestor","_getAllFramesInWindow2","windows","findChildFrameByName","_i11","_getFrames4","namedFrame","payload","getInitialParentPayload","window_getWindowRef","targetWindow","currentWindow","normalizeChildProp","propsDef","helpers","childDecorate","onProps","resize","getParentDomain","show","hide","getSiblings","child_focus","child_destroy","props_defaultNoop","props_decorateOnce","eachProp","serializeProps","propDef","_METHOD$GET$METHOD$PO","_METHOD$GET$METHOD$PO2","getParam","queryParam","post","bodyParam","getValue","queryValue","bodyValue","finalParam","finalValue","serialization","dotify","prefix","newobj","every","dotkey","parentComponent","_ref$overrides","overrides","_ref$parentWin","parentWin","containerTemplate","prerenderTemplate","dimensions","autoResize","domainMatch","xports","initPromise","handledErrors","clean","inputProps","internalState","visible","triggered","emitter","eventName","handlerList","trigger","_len3","_key3","triggerOnce","_len4","_key4","currentProxyWin","currentProxyContainer","childComponent","currentChildDomain","currentContainer","isRenderFinished","onErrorOverride","getProxyContainerOverride","getProxyContainer","showOverride","hideOverride","closeOverride","renderContainerOverride","renderContainer","getProxyWindowOverride","getProxyWindow","setProxyWinOverride","setProxyWin","openFrameOverride","openFrame","openPrerenderFrameOverride","openPrerenderFrame","prerenderOverride","prerender","openOverride","openPrerenderOverride","openPrerender","watchForUnloadOverride","watchForUnload","getInternalStateOverride","getInternalState","setInternalStateOverride","setInternalState","getDimensions","resolveInitPromise","rejectInitPromise","getPropsForChild","initialChildDomain","sendToChild","trustedChild","trustedDomains","acc","newInternalState","windowProp","_proxyWin","setState","getUrl","getAttributes","getInitialChildDomain","title","proxyPrerenderFrame","prerenderFrame","prerenderFrameWindow","getCurrentWindowReferenceUID","getWindowRef","actualComponentWindow","initChild","childDomain","childExports","_currentProxyWin","_currentProxyWin2","proxyFrame","_getDimensions","_getDimensions$width","_getDimensions$height","outerWidth","_options$closeOnUnloa","closeOnUnload","_options$name","left","round","screenX","outerHeight","screenY","status","toolbar","menubar","resizable","scrollbars","popup","unloadWindowListener","closeParentWindowListener","checkWindowClose","secondIsClosed","exportsPromise","xport","actualExports","renderTemplate","renderer","proxyPrerenderWin","prerenderWindow","tagName","_arrayFrom2","children","_arrayFrom4","_autoResize$width","_autoResize$height","_autoResize$element","prerenderResizeListener","_ref10","proxyContainer","_ref11","rerender","_ref12","innerContainer","containerWatcher","mutationObservers","sacrificialFrame","sacrificialFrameWin","_i18","elementClosed","mutationElement","mutationObserver","frameWin","removeError","getHelpers","updateProps","setProps","newInputProps","existingProps","valueDetermined","alias","required","decorate","newProps","childProps","containerElement","insertShadowSlot","shadowHost","shadowRoot","slotName","slot","slotProvider","init","onRender","onPrerender","onDisplay","onRendered","onPrerendered","onClose","onDestroy","onFocus","render","_ref14","childDomainMatch","delegatePromise","delegateProps","propName","allowDelegate","childOverridesPromise","_ref13","parentComp","getDelegateOverrides","childOverrides","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","_len11","_key11","_len12","_key12","watchForUnloadPromise","buildBodyPromise","onRenderPromise","getProxyContainerPromise","getProxyWindowPromise","finalSetPropsPromise","buildUrlPromise","originalUrl","originalHash","_url$split","_originalUrl$split","hashString","buildWindowNamePromise","_temp2","_ref6$target","checkClose","childPayload","_crossDomainSerialize","openFramePromise","openPrerenderFramePromise","renderContainerPromise","_ref15","openPromise","_ref16","openPrerenderPromise","_ref17","setStatePromise","prerenderPromise","_ref18","setWindowNamePromise","_ref19","getMethodPromise","_ref20","loadUrlPromise","windowUrl","_ref21","watchForClosePromise","watchForClose","isCurrentContainerClosed","onDisplayPromise","openBridgePromise","bridgeUrl","bridgeDomain","runTimeoutPromise","onRenderedPromise","getProps","getExports","react","React","ReactDOM","_React$Component","_class","componentDidMount","findDOMNode","componentDidUpdate","Component","vue","Vue","component","inheritAttrs","mounted","$el","$attrs","styleObject","watch","deep","vue3","template","angular","ng","directive","scope","restrict","controller","$scope","$element","safeApply","$root","$$phase","$apply","$watch","angular2","AngularComponent","NgModule","ElementRef","NgZone","Inject","ComponentInstance","elementRef","zone","internalProps","_props","run","ngOnInit","targetElement","nativeElement","ngDoCheck","obj1","obj2","checked","annotations","parameters","selector","inputs","ModuleInstance","declarations","defaultContainerTemplate","div","cspNonce","classList","add","defaultPrerenderTemplate","spinner","cleanInstances","cleanZoid","_options$props","_options$dimensions","_options$autoResize","_options$allowedParen","allowedParentDomains","_options$attributes","_options$defaultConte","defaultContext","_options$containerTem","_options$prerenderTem","validate","_options$eligible","eligible","_options$logger","logger","_options$exports","xportsDefinition","_options$children","valuePromise","driverCache","instances","isChild","_payload","registerChild","xprops","components","onPropHandlers","_getInitialParentPayl","parentComponentWindow","parentDomain","parentExports","initialProps","version1","version2","parentExport","parentResize","parentInit","anyParent","currentParent","winParent","isUpdate","normalizedProps","updatedChildName","componentName","_crossDomainDeseriali2","childWindowName","_eligible","eligibility","reason","clone","_ref4$decorate","_render","finalContext","newInstance","renderTo","childComponents","childName","Child","childInputProps","parentProps","isEligible","allowDelegateListener","delegateListener","_ref2$data","driver","driverName","dep","drivers","canRenderTo","comp","destroyPromise","getUserAgent","isDevice","isWebView","isStandAlone","isFacebookWebView","isFirefoxIOS","isEdgeIOS","isOperaMini","isAndroid","isIos","isGoogleSearchApp","isQQBrowser","isIosWebview","isSFVC","isSFVCorSafari","isAndroidWebview","device_isIE","isIECompHeader","isElectron","isIEIntranet","isMacOsCna","supportsPopups","isChrome","isSafari","isApplePaySupported","waitForWindowReady","waitForDocumentReady","waitForDocumentBody","getQueryParam","urlWillRedirectPage","formatQuery","extendUrl","redirect","hasMetaViewPort","isElementVisible","getPerformance","enablePerformance","getPageRenderTime","htmlEncode","dom_isBrowser","onClick","getScript","isLocalStorageEnabled","getBrowserLocales","getElement","writeToWindow","writeElementToWindow","setStyle","bindEvents","setVendorCSS","animate","makeElementVisible","makeElementInvisible","showAndAnimate","animateAndHide","addClass","removeClass","watchElementForClose","fixScripts","getResourceLoadTime","getShadowRoot","getShadowHost","preventClickFocus","getStackTrace","getCurrentScriptUID","experiment","getGlobalNameSpace","getStorage","base64decode","getGlobal","getObjectID","promiseIdentity","promisify","inlineMemoize","hashStr","strHashStr","awaitKey","stringifyErrorMessage","domainMatches","patchMethod","util_values","memoizedValues","perc","min","roundUp","regexMap","svgToBase64","objFilter","regexTokenize","promiseDebounce","isInteger","isFloat","serializePrimitive","deserializePrimitive","undotify","eventEmitter","camelToDasherize","capitalizeFirstLetter","util_get","safeTimeout","isObject","copyProp","regexAll","cycle","debounce","util_weakMapMemoize","util_weakMapMemoizePromise","removeFromArray","unique","constHas","dedupeErrors","addHeaderBuilder","types_TYPES","memoized","decorators_promise","isPx","percOf","wrapPromise","KEY_CODES","ATTRIBUTES","iPhoneScreenHeightMatrix","device","textSizeHeights","zoomHeight","maybeSafari","standalone","matchMedia","matches","ua","innerHeight","scale","innerWidth","computedHeight","sfvc","possibleSafariSizes","documentMode","mHttp","mContent","versions","electron","ApplePaySession","supportsVersion","canMakePayments","promisifiedFunction","pow","sqrt","regmatch","defaultMessage","hostname","original","_arguments2","callOriginal","pixels","percentage","num","nearest","remainder","regexp","svg","text","token","localPromise","parseFloat","keyResult","parts","part","isLast","isIndex","path","def","pathParts","descriptor","start","groups","end","_arguments3","arr","constant","seenErrors","seenStringifiedErrors","stringifiedError","ENTER","SPACE","UID","search","meta","performance","timing","connectEnd","navigationStart","domInteractive","keyCode","_ref$host","_ref$reverse","nav","locales","userLanguage","locale","_locale$split","country","write","err2","eventNames","VENDOR_PREFIXES","capitalizedName","_i16","ANIMATION_START_EVENTS","ANIMATION_END_EVENTS","hasStarted","startTimeout","endTimeout","startEvent","endEvent","cleanUp","animationName","stopPropagation","animation","_querySelectorAll2","newScript","textContent","replaceChild","getEntries","entries","duration","preventDefault","blur","_ref$lifetime","lifetime","STORAGE_KEY","newStateID","accessedStorage","getState","localStorageEnabled","storage","rawStorage","getSession","session","__session__","created","guid","isStateFresh","getSessionState","getSessionID","getBelterExperimentStorage","isEventUnique","loggedBeacons","getRandomInteger","range","_ref$sample","sample","_ref$logTreatment","logTreatment","_ref$logCheckpoint","logCheckpoint","_ref$sticky","sticky","throttle","throttlePercentiles","group","treatment","started","forced","isEnabled","isDisabled","getTreatment","log","checkpoint","logStart","logComplete","_ref$version","namespace","defValue","headerBuilders","_ref$method","_ref$headers","_ref$win","_ref$timeout","normalizedHeaders","accept","builtHeaders","xhr","XMLHttpRequest","responseHeaders","rawHeaders","_rawHeaders$trim$spli2","trim","_line$split","getAllResponseHeaders","contentType","isJSON","responseBody","responseText","evt","setRequestHeader","ontimeout","expected","timer","expect","_tryCatch","_fn","avoid","_fn2","expectError","_tryCatch2","_fn3","wait","CLASS","INVISIBLE","VISIBLE","allowPaymentRequest","zoid","belter","CREATE_TOKEN_EVENT","getCreateTokenFunction","__createToken","onBlur","onEnter","onChange","onLoad","placeholders","errorMessages","__getConfig","postRobot","margin","boxSizing","innerStyle","base","loading","CardInput","isOpen","generatePaymentToken","fullscreen","customer","allowedPaymentMethods","customDomain","billingDetails","shippingDetails","onResult","onOpen","PaymentModal","rootNode","bodyOverflow","overflow","modal","position","bottom","right","zIndex","onLoadPaypal","__scriptId","uidAuto","defaultStyle","layout","tagline","Buttons","createOrder","paypal","paymentToken","orderId","onApprove","orderID","onSubmit","_data","actions","shouldOpen","onBeforeOpen","__container","scriptId","__onLoadPayPal","PayPal","isHidden","backdrop","BEFORE_CLOSE","phoneNumber","onBeforeClose","setPhoneNumber","getPhoneNumber","BizumModal","__onClick","bizumModal","onpopstate","history","pushState","Bizum","CofidisModal","amountInt","showLogo","CofidisWidget","hint","__onHintClick","cofidisModal","Cofidis","CofidisLoanModal","CofidisPayModal","CofidisLoanWidget","CofidisPayWidget","CofidisLoan","CofidisPay","onBeforeSubmit","GooglePay","onApplePayButtonClicked","onvalidatemerchant","validationUrl","validationURL","merchantSession","completeMerchantValidation","abort","onpaymentauthorized","payment","applePay","completePayment","STATUS_SUCCESS","STATUS_FAILURE","begin","__isApplePaySupported","__onApplePayButtonClicked","PaymentRequest","NextActionType","CardBrand","TransactionType","api","_api","utils","_utils"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|