{"version":3,"file":"auth0-spa-js.production.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/has.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/redefine.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/to-integer.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/core-js/internals/a-function.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/entry-unbind.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/es/string/starts-with.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/define-iterator.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/modules/es.array.from.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/es/array/from.js","../node_modules/core-js/internals/array-buffer-view-core.js","../node_modules/core-js/internals/array-buffer-native.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/modules/es.typed-array.slice.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/array-method-uses-to-length.js","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/es/array/includes.js","../node_modules/core-js/modules/es.string.includes.js","../node_modules/core-js/es/string/includes.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/redefine-all.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/modules/es.set.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/es/set/index.js","../node_modules/promise-polyfill/src/finally.js","../node_modules/promise-polyfill/src/index.js","../node_modules/promise-polyfill/src/polyfill.js","../node_modules/fast-text-encoding/text.min.js","../node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","../node_modules/browser-tabs-lock/processLock.js","../node_modules/browser-tabs-lock/index.js","../src/constants.ts","../src/errors.ts","../src/utils.ts","../node_modules/unfetch/src/index.mjs","../src/scope.ts","../src/cache.ts","../src/transaction-manager.ts","../src/jwt.ts","../node_modules/es-cookie/src/es-cookie.js","../src/storage.ts","../src/Auth0Client.ts","../src/version.ts","../src/index.ts","../src/index.cjs.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = {};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","import promiseFinally from './finally';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\nif (!('Promise' in globalNS)) {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n}\n","(function(l){function m(){}function k(a,c){a=void 0===a?\"utf-8\":a;c=void 0===c?{fatal:!1}:c;if(-1===r.indexOf(a.toLowerCase()))throw new RangeError(\"Failed to construct 'TextDecoder': The encoding label provided ('\"+a+\"') is invalid.\");if(c.fatal)throw Error(\"Failed to construct 'TextDecoder': the 'fatal' option is unsupported.\");}function t(a){return Buffer.from(a.buffer,a.byteOffset,a.byteLength).toString(\"utf-8\")}function u(a){var c=URL.createObjectURL(new Blob([a],{type:\"text/plain;charset=UTF-8\"}));\ntry{var f=new XMLHttpRequest;f.open(\"GET\",c,!1);f.send();return f.responseText}catch(e){return q(a)}finally{URL.revokeObjectURL(c)}}function q(a){for(var c=0,f=Math.min(65536,a.length+1),e=new Uint16Array(f),h=[],d=0;;){var b=c=f-1){h.push(String.fromCharCode.apply(null,e.subarray(0,d)));if(!b)return h.join(\"\");a=a.subarray(c);d=c=0}b=a[c++];if(0===(b&128))e[d++]=b;else if(192===(b&224)){var g=a[c++]&63;e[d++]=(b&31)<<6|g}else if(224===(b&240)){g=a[c++]&63;var n=a[c++]&63;e[d++]=\n(b&31)<<12|g<<6|n}else if(240===(b&248)){g=a[c++]&63;n=a[c++]&63;var v=a[c++]&63;b=(b&7)<<18|g<<12|n<<6|v;65535>>10&1023|55296,b=56320|b&1023);e[d++]=b}}}if(l.TextEncoder&&l.TextDecoder)return!1;var r=[\"utf-8\",\"utf8\",\"unicode-1-1-utf-8\"];Object.defineProperty(m.prototype,\"encoding\",{value:\"utf-8\"});m.prototype.encode=function(a,c){c=void 0===c?{stream:!1}:c;if(c.stream)throw Error(\"Failed to encode: the 'stream' option is unsupported.\");c=0;for(var f=a.length,e=0,h=Math.max(32,\nf+(f>>>1)+7),d=new Uint8Array(h>>>3<<3);c=b){if(c=b)continue}e+4>d.length&&(h+=8,h*=1+c/a.length*2,h=h>>>3<<3,g=new Uint8Array(h),g.set(d),d=g);if(0===(b&4294967168))d[e++]=b;else{if(0===(b&4294965248))d[e++]=b>>>6&31|192;else if(0===(b&4294901760))d[e++]=b>>>12&15|224,d[e++]=b>>>6&63|128;else if(0===(b&4292870144))d[e++]=b>>>18&7|240,d[e++]=b>>>12&\n63|128,d[e++]=b>>>6&63|128;else continue;d[e++]=b&63|128}}return d.slice?d.slice(0,e):d.subarray(0,e)};Object.defineProperty(k.prototype,\"encoding\",{value:\"utf-8\"});Object.defineProperty(k.prototype,\"fatal\",{value:!1});Object.defineProperty(k.prototype,\"ignoreBOM\",{value:!1});var p=q;\"function\"===typeof Buffer&&Buffer.from?p=t:\"function\"===typeof Blob&&\"function\"===typeof URL&&\"function\"===typeof URL.createObjectURL&&(p=u);k.prototype.decode=function(a,c){c=void 0===c?{stream:!1}:c;if(c.stream)throw Error(\"Failed to decode: the 'stream' option is unsupported.\");\na=a instanceof Uint8Array?a:a.buffer instanceof ArrayBuffer?new Uint8Array(a.buffer):new Uint8Array(a);return p(a)};l.TextEncoder=m;l.TextDecoder=k})(\"undefined\"!==typeof window?window:\"undefined\"!==typeof global?global:this);\n","(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n})));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ProcessLocking = /** @class */ (function () {\n function ProcessLocking() {\n var _this = this;\n this.locked = new Map();\n this.addToLocked = function (key, toAdd) {\n var callbacks = _this.locked.get(key);\n if (callbacks === undefined) {\n if (toAdd === undefined) {\n _this.locked.set(key, []);\n }\n else {\n _this.locked.set(key, [toAdd]);\n }\n }\n else {\n if (toAdd !== undefined) {\n callbacks.unshift(toAdd);\n _this.locked.set(key, callbacks);\n }\n }\n };\n this.isLocked = function (key) {\n return _this.locked.has(key);\n };\n this.lock = function (key) {\n return new Promise(function (resolve, reject) {\n if (_this.isLocked(key)) {\n _this.addToLocked(key, resolve);\n }\n else {\n _this.addToLocked(key);\n resolve();\n }\n });\n };\n this.unlock = function (key) {\n var callbacks = _this.locked.get(key);\n if (callbacks === undefined || callbacks.length === 0) {\n _this.locked.delete(key);\n return;\n }\n var toCall = callbacks.pop();\n _this.locked.set(key, callbacks);\n if (toCall !== undefined) {\n setTimeout(toCall, 0);\n }\n };\n }\n ProcessLocking.getInstance = function () {\n if (ProcessLocking.instance === undefined) {\n ProcessLocking.instance = new ProcessLocking();\n }\n return ProcessLocking.instance;\n };\n return ProcessLocking;\n}());\nfunction getLock() {\n return ProcessLocking.getInstance();\n}\nexports.default = getLock;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar processLock_1 = require(\"./processLock\");\n/**\n * @author: SuperTokens (https://github.com/supertokens)\n * This library was created as a part of a larger project, SuperTokens(https://supertokens.io) - the best session management solution.\n * You can also check out our other projects on https://github.com/supertokens\n *\n * To contribute to this package visit https://github.com/supertokens/browser-tabs-lock\n * If you face any problems you can file an issue on https://github.com/supertokens/browser-tabs-lock/issues\n *\n * If you have any questions or if you just want to say hi visit https://supertokens.io/discord\n */\n/**\n * @constant\n * @type {string}\n * @default\n * @description All the locks taken by this package will have this as prefix\n*/\nvar LOCK_STORAGE_KEY = 'browser-tabs-lock-key';\n/**\n * @function delay\n * @param {number} milliseconds - How long the delay should be in terms of milliseconds\n * @returns {Promise}\n */\nfunction delay(milliseconds) {\n return new Promise(function (resolve) { return setTimeout(resolve, milliseconds); });\n}\n/**\n * @function generateRandomString\n * @params {number} length - How long the random string should be\n * @returns {string}\n * @description returns random string whose length is equal to the length passed as parameter\n */\nfunction generateRandomString(length) {\n var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n var randomstring = '';\n for (var i = 0; i < length; i++) {\n var INDEX = Math.floor(Math.random() * CHARS.length);\n randomstring += CHARS[INDEX];\n }\n return randomstring;\n}\n/**\n * @function getLockId\n * @returns {string}\n * @description Generates an id which will be unique for the browser tab\n */\nfunction getLockId() {\n return Date.now().toString() + generateRandomString(15);\n}\nvar SuperTokensLock = /** @class */ (function () {\n function SuperTokensLock() {\n this.acquiredIatSet = new Set();\n this.id = getLockId();\n this.acquireLock = this.acquireLock.bind(this);\n this.releaseLock = this.releaseLock.bind(this);\n this.releaseLock__private__ = this.releaseLock__private__.bind(this);\n this.waitForSomethingToChange = this.waitForSomethingToChange.bind(this);\n this.refreshLockWhileAcquired = this.refreshLockWhileAcquired.bind(this);\n if (SuperTokensLock.waiters === undefined) {\n SuperTokensLock.waiters = [];\n }\n }\n /**\n * @async\n * @memberOf Lock\n * @function acquireLock\n * @param {string} lockKey - Key for which the lock is being acquired\n * @param {number} [timeout=5000] - Maximum time for which the function will wait to acquire the lock\n * @returns {Promise}\n * @description Will return true if lock is being acquired, else false.\n * Also the lock can be acquired for maximum 10 secs\n */\n SuperTokensLock.prototype.acquireLock = function (lockKey, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n return __awaiter(this, void 0, void 0, function () {\n var iat, MAX_TIME, STORAGE_KEY, STORAGE, lockObj, TIMEOUT_KEY, lockObjPostDelay;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n iat = Date.now() + generateRandomString(4);\n MAX_TIME = Date.now() + timeout;\n STORAGE_KEY = LOCK_STORAGE_KEY + \"-\" + lockKey;\n STORAGE = window.localStorage;\n _a.label = 1;\n case 1:\n if (!(Date.now() < MAX_TIME)) return [3 /*break*/, 8];\n return [4 /*yield*/, delay(30)];\n case 2:\n _a.sent();\n lockObj = STORAGE.getItem(STORAGE_KEY);\n if (!(lockObj === null)) return [3 /*break*/, 5];\n TIMEOUT_KEY = this.id + \"-\" + lockKey + \"-\" + iat;\n // there is a problem if setItem happens at the exact same time for 2 different processes.. so we add some random delay here.\n return [4 /*yield*/, delay(Math.floor(Math.random() * 25))];\n case 3:\n // there is a problem if setItem happens at the exact same time for 2 different processes.. so we add some random delay here.\n _a.sent();\n STORAGE.setItem(STORAGE_KEY, JSON.stringify({\n id: this.id,\n iat: iat,\n timeoutKey: TIMEOUT_KEY,\n timeAcquired: Date.now(),\n timeRefreshed: Date.now()\n }));\n return [4 /*yield*/, delay(30)];\n case 4:\n _a.sent(); // this is to prevent race conditions. This time must be more than the time it takes for storage.setItem\n lockObjPostDelay = STORAGE.getItem(STORAGE_KEY);\n if (lockObjPostDelay !== null) {\n lockObjPostDelay = JSON.parse(lockObjPostDelay);\n if (lockObjPostDelay.id === this.id && lockObjPostDelay.iat === iat) {\n this.acquiredIatSet.add(iat);\n this.refreshLockWhileAcquired(STORAGE_KEY, iat);\n return [2 /*return*/, true];\n }\n }\n return [3 /*break*/, 7];\n case 5:\n SuperTokensLock.lockCorrector();\n return [4 /*yield*/, this.waitForSomethingToChange(MAX_TIME)];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7:\n iat = Date.now() + generateRandomString(4);\n return [3 /*break*/, 1];\n case 8: return [2 /*return*/, false];\n }\n });\n });\n };\n SuperTokensLock.prototype.refreshLockWhileAcquired = function (storageKey, iat) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n var STORAGE, lockObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, processLock_1.default().lock(iat)];\n case 1:\n _a.sent();\n if (!this.acquiredIatSet.has(iat)) {\n processLock_1.default().unlock(iat);\n return [2 /*return*/];\n }\n STORAGE = window.localStorage;\n lockObj = STORAGE.getItem(storageKey);\n if (lockObj !== null) {\n lockObj = JSON.parse(lockObj);\n lockObj.timeRefreshed = Date.now();\n STORAGE.setItem(storageKey, JSON.stringify(lockObj));\n processLock_1.default().unlock(iat);\n }\n else {\n processLock_1.default().unlock(iat);\n return [2 /*return*/];\n }\n this.refreshLockWhileAcquired(storageKey, iat);\n return [2 /*return*/];\n }\n });\n }); }, 1000);\n return [2 /*return*/];\n });\n });\n };\n SuperTokensLock.prototype.waitForSomethingToChange = function (MAX_TIME) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, new Promise(function (resolve) {\n var resolvedCalled = false;\n var startedAt = Date.now();\n var MIN_TIME_TO_WAIT = 50; // ms\n var removedListeners = false;\n function stopWaiting() {\n if (!removedListeners) {\n window.removeEventListener('storage', stopWaiting);\n SuperTokensLock.removeFromWaiting(stopWaiting);\n clearTimeout(timeOutId);\n removedListeners = true;\n }\n if (!resolvedCalled) {\n resolvedCalled = true;\n var timeToWait = MIN_TIME_TO_WAIT - (Date.now() - startedAt);\n if (timeToWait > 0) {\n setTimeout(resolve, timeToWait);\n }\n else {\n resolve();\n }\n }\n }\n window.addEventListener('storage', stopWaiting);\n SuperTokensLock.addToWaiting(stopWaiting);\n var timeOutId = setTimeout(stopWaiting, Math.max(0, MAX_TIME - Date.now()));\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SuperTokensLock.addToWaiting = function (func) {\n this.removeFromWaiting(func);\n if (SuperTokensLock.waiters === undefined) {\n return;\n }\n SuperTokensLock.waiters.push(func);\n };\n SuperTokensLock.removeFromWaiting = function (func) {\n if (SuperTokensLock.waiters === undefined) {\n return;\n }\n SuperTokensLock.waiters = SuperTokensLock.waiters.filter(function (i) { return i !== func; });\n };\n SuperTokensLock.notifyWaiters = function () {\n if (SuperTokensLock.waiters === undefined) {\n return;\n }\n var waiters = SuperTokensLock.waiters.slice(); // so that if Lock.waiters is changed it's ok.\n waiters.forEach(function (i) { return i(); });\n };\n /**\n * @function releaseLock\n * @memberOf Lock\n * @param {string} lockKey - Key for which lock is being released\n * @returns {void}\n * @description Release a lock.\n */\n SuperTokensLock.prototype.releaseLock = function (lockKey) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.releaseLock__private__(lockKey)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * @function releaseLock\n * @memberOf Lock\n * @param {string} lockKey - Key for which lock is being released\n * @returns {void}\n * @description Release a lock.\n */\n SuperTokensLock.prototype.releaseLock__private__ = function (lockKey) {\n return __awaiter(this, void 0, void 0, function () {\n var STORAGE, STORAGE_KEY, lockObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n STORAGE = window.localStorage;\n STORAGE_KEY = LOCK_STORAGE_KEY + \"-\" + lockKey;\n lockObj = STORAGE.getItem(STORAGE_KEY);\n if (lockObj === null) {\n return [2 /*return*/];\n }\n lockObj = JSON.parse(lockObj);\n if (!(lockObj.id === this.id)) return [3 /*break*/, 2];\n return [4 /*yield*/, processLock_1.default().lock(lockObj.iat)];\n case 1:\n _a.sent();\n this.acquiredIatSet.delete(lockObj.iat);\n STORAGE.removeItem(STORAGE_KEY);\n processLock_1.default().unlock(lockObj.iat);\n SuperTokensLock.notifyWaiters();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @function lockCorrector\n * @returns {void}\n * @description If a lock is acquired by a tab and the tab is closed before the lock is\n * released, this function will release those locks\n */\n SuperTokensLock.lockCorrector = function () {\n var MIN_ALLOWED_TIME = Date.now() - 5000;\n var STORAGE = window.localStorage;\n var KEYS = Object.keys(STORAGE);\n var notifyWaiters = false;\n for (var i = 0; i < KEYS.length; i++) {\n var LOCK_KEY = KEYS[i];\n if (LOCK_KEY.includes(LOCK_STORAGE_KEY)) {\n var lockObj = STORAGE.getItem(LOCK_KEY);\n if (lockObj !== null) {\n lockObj = JSON.parse(lockObj);\n if ((lockObj.timeRefreshed === undefined && lockObj.timeAcquired < MIN_ALLOWED_TIME) ||\n (lockObj.timeRefreshed !== undefined && lockObj.timeRefreshed < MIN_ALLOWED_TIME)) {\n STORAGE.removeItem(LOCK_KEY);\n notifyWaiters = true;\n }\n }\n }\n }\n if (notifyWaiters) {\n SuperTokensLock.notifyWaiters();\n }\n };\n SuperTokensLock.waiters = undefined;\n return SuperTokensLock;\n}());\nexports.default = SuperTokensLock;\n","import { PopupConfigOptions } from './global';\n\n/**\n * @ignore\n */\nexport const DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS = 60;\n\n/**\n * @ignore\n */\nexport const DEFAULT_POPUP_CONFIG_OPTIONS: PopupConfigOptions = {\n timeoutInSeconds: DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS\n};\n\n/**\n * @ignore\n */\nexport const DEFAULT_SILENT_TOKEN_RETRY_COUNT = 3;\n\n/**\n * @ignore\n */\nexport const CLEANUP_IFRAME_TIMEOUT_IN_SECONDS = 2;\n\n/**\n * @ignore\n */\nexport const DEFAULT_FETCH_TIMEOUT_MS = 10000;\n\nexport const CACHE_LOCATION_MEMORY = 'memory';\nexport const CACHE_LOCATION_LOCAL_STORAGE = 'localstorage';\nexport const MISSING_REFRESH_TOKEN_ERROR_MESSAGE =\n 'The web worker is missing the refresh token';\n\n/**\n * @ignore\n */\nexport const DEFAULT_SCOPE = 'openid profile email';\n\n/**\n * A list of errors that can be issued by the authorization server which the\n * user can recover from by signing in interactively.\n * https://openid.net/specs/openid-connect-core-1_0.html#AuthError\n * @ignore\n */\nexport const RECOVERABLE_ERRORS = [\n 'login_required',\n 'consent_required',\n 'interaction_required',\n 'account_selection_required',\n // Strictly speaking the user can't recover from `access_denied` - but they\n // can get more information about their access being denied by logging in\n // interactively.\n 'access_denied'\n];\n","export class GenericError extends Error {\n constructor(public error: string, public error_description: string) {\n super(error_description);\n\n Object.setPrototypeOf(this, GenericError.prototype);\n }\n\n static fromPayload({\n error,\n error_description\n }: {\n error: string;\n error_description: string;\n }) {\n return new GenericError(error, error_description);\n }\n}\n\nexport class AuthenticationError extends GenericError {\n constructor(\n error: string,\n error_description: string,\n public state: string,\n public appState: any = null\n ) {\n super(error, error_description);\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n\nexport class TimeoutError extends GenericError {\n constructor() {\n super('timeout', 'Timeout');\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n\nexport class PopupTimeoutError extends TimeoutError {\n constructor(public popup: Window) {\n super();\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, PopupTimeoutError.prototype);\n }\n}\n","import fetch from 'unfetch';\n\nimport {\n AuthenticationResult,\n PopupConfigOptions,\n TokenEndpointOptions\n} from './global';\n\nimport {\n DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS,\n DEFAULT_SILENT_TOKEN_RETRY_COUNT,\n DEFAULT_FETCH_TIMEOUT_MS,\n CLEANUP_IFRAME_TIMEOUT_IN_SECONDS\n} from './constants';\n\nimport { PopupTimeoutError, TimeoutError, GenericError } from './errors';\n\nexport const createAbortController = () => new AbortController();\n\nexport const parseQueryResult = (queryString: string) => {\n if (queryString.indexOf('#') > -1) {\n queryString = queryString.substr(0, queryString.indexOf('#'));\n }\n\n const queryParams = queryString.split('&');\n\n const parsedQuery: any = {};\n queryParams.forEach(qp => {\n const [key, val] = qp.split('=');\n parsedQuery[key] = decodeURIComponent(val);\n });\n\n return {\n ...parsedQuery,\n expires_in: parseInt(parsedQuery.expires_in)\n } as AuthenticationResult;\n};\n\nexport const runIframe = (\n authorizeUrl: string,\n eventOrigin: string,\n timeoutInSeconds: number = DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS\n) => {\n return new Promise((res, rej) => {\n const iframe = window.document.createElement('iframe');\n iframe.setAttribute('width', '0');\n iframe.setAttribute('height', '0');\n iframe.style.display = 'none';\n\n const removeIframe = () => {\n if (window.document.body.contains(iframe)) {\n window.document.body.removeChild(iframe);\n }\n };\n\n const timeoutSetTimeoutId = setTimeout(() => {\n rej(new TimeoutError());\n removeIframe();\n }, timeoutInSeconds * 1000);\n\n const iframeEventHandler = function (e: MessageEvent) {\n if (e.origin != eventOrigin) return;\n if (!e.data || e.data.type !== 'authorization_response') return;\n const eventSource = e.source;\n if (eventSource) {\n (eventSource as any).close();\n }\n e.data.response.error\n ? rej(GenericError.fromPayload(e.data.response))\n : res(e.data.response);\n clearTimeout(timeoutSetTimeoutId);\n window.removeEventListener('message', iframeEventHandler, false);\n // Delay the removal of the iframe to prevent hanging loading status\n // in Chrome: https://github.com/auth0/auth0-spa-js/issues/240\n setTimeout(removeIframe, CLEANUP_IFRAME_TIMEOUT_IN_SECONDS * 1000);\n };\n window.addEventListener('message', iframeEventHandler, false);\n window.document.body.appendChild(iframe);\n iframe.setAttribute('src', authorizeUrl);\n });\n};\n\nconst openPopup = (url: string) => {\n const width = 400;\n const height = 600;\n const left = window.screenX + (window.innerWidth - width) / 2;\n const top = window.screenY + (window.innerHeight - height) / 2;\n\n return window.open(\n url,\n 'auth0:authorize:popup',\n `left=${left},top=${top},width=${width},height=${height},resizable,scrollbars=yes,status=1`\n );\n};\n\nexport const runPopup = (authorizeUrl: string, config: PopupConfigOptions) => {\n let popup = config.popup;\n\n if (popup) {\n popup.location.href = authorizeUrl;\n } else {\n popup = openPopup(authorizeUrl);\n }\n\n if (!popup) {\n throw new Error('Could not open popup');\n }\n\n return new Promise((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new PopupTimeoutError(popup));\n }, (config.timeoutInSeconds || DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS) * 1000);\n window.addEventListener('message', e => {\n if (!e.data || e.data.type !== 'authorization_response') {\n return;\n }\n clearTimeout(timeoutId);\n popup.close();\n if (e.data.response.error) {\n return reject(GenericError.fromPayload(e.data.response));\n }\n resolve(e.data.response);\n });\n });\n};\n\nexport const getCrypto = () => {\n //ie 11.x uses msCrypto\n return (window.crypto || (window as any).msCrypto) as Crypto;\n};\n\nexport const getCryptoSubtle = () => {\n const crypto = getCrypto();\n //safari 10.x uses webkitSubtle\n return crypto.subtle || (crypto as any).webkitSubtle;\n};\nexport const createRandomString = () => {\n const charset =\n '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.';\n let random = '';\n const randomValues = Array.from(\n getCrypto().getRandomValues(new Uint8Array(43))\n );\n randomValues.forEach(v => (random += charset[v % charset.length]));\n return random;\n};\n\nexport const encode = (value: string) => btoa(value);\nexport const decode = (value: string) => atob(value);\n\nexport const createQueryParams = (params: any) => {\n return Object.keys(params)\n .filter(k => typeof params[k] !== 'undefined')\n .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k]))\n .join('&');\n};\n\nexport const sha256 = async (s: string) => {\n const digestOp: any = getCryptoSubtle().digest(\n { name: 'SHA-256' },\n new TextEncoder().encode(s)\n );\n\n // msCrypto (IE11) uses the old spec, which is not Promise based\n // https://msdn.microsoft.com/en-us/expression/dn904640(v=vs.71)\n // Instead of returning a promise, it returns a CryptoOperation\n // with a result property in it.\n // As a result, the various events need to be handled in the event that we're\n // working in IE11 (hence the msCrypto check). These events just call resolve\n // or reject depending on their intention.\n if ((window as any).msCrypto) {\n return new Promise((res, rej) => {\n digestOp.oncomplete = (e: any) => {\n res(e.target.result);\n };\n\n digestOp.onerror = (e: ErrorEvent) => {\n rej(e.error);\n };\n\n digestOp.onabort = () => {\n rej('The digest operation was aborted');\n };\n });\n }\n\n return await digestOp;\n};\n\nconst urlEncodeB64 = (input: string) => {\n const b64Chars: { [index: string]: string } = { '+': '-', '/': '_', '=': '' };\n return input.replace(/[+/=]/g, (m: string) => b64Chars[m]);\n};\n\n// https://stackoverflow.com/questions/30106476/\nconst decodeB64 = (input: string) =>\n decodeURIComponent(\n atob(input)\n .split('')\n .map(c => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join('')\n );\n\nexport const urlDecodeB64 = (input: string) =>\n decodeB64(input.replace(/_/g, '/').replace(/-/g, '+'));\n\nexport const bufferToBase64UrlEncoded = (input: number[] | Uint8Array) => {\n const ie11SafeInput = new Uint8Array(input);\n return urlEncodeB64(\n window.btoa(String.fromCharCode(...Array.from(ie11SafeInput)))\n );\n};\n\nconst sendMessage = (message: any, to: Worker) =>\n new Promise(function (resolve, reject) {\n const messageChannel = new MessageChannel();\n messageChannel.port1.onmessage = function (event) {\n // Only for fetch errors, as these get retried\n if (event.data.error) {\n reject(new Error(event.data.error));\n } else {\n resolve(event.data);\n }\n };\n to.postMessage(message, [messageChannel.port2]);\n });\n\nconst switchFetch = async (\n url: string,\n audience: string,\n scope: string,\n opts: { [index: string]: any },\n timeout: number,\n worker: Worker\n) => {\n if (worker) {\n // AbortSignal is not serializable, need to implement in the Web Worker\n delete opts.signal;\n return sendMessage({ url, audience, scope, timeout, ...opts }, worker);\n } else {\n const response = await fetch(url, opts);\n return {\n ok: response.ok,\n json: await response.json()\n };\n }\n};\n\nexport const fetchWithTimeout = (\n url: string,\n audience: string,\n scope: string,\n options: { [index: string]: any },\n worker: Worker,\n timeout = DEFAULT_FETCH_TIMEOUT_MS\n) => {\n const controller = createAbortController();\n const signal = controller.signal;\n\n const fetchOptions = {\n ...options,\n signal\n };\n\n let timeoutId: ReturnType;\n // The promise will resolve with one of these two promises (the fetch or the timeout), whichever completes first.\n return Promise.race([\n switchFetch(url, audience, scope, fetchOptions, timeout, worker),\n new Promise((_, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n reject(new Error(\"Timeout when executing 'fetch'\"));\n }, timeout);\n })\n ]).finally(() => {\n clearTimeout(timeoutId);\n });\n};\n\nconst getJSON = async (\n url: string,\n timeout: number,\n audience: string,\n scope: string,\n options: { [index: string]: any },\n worker: Worker\n) => {\n let fetchError: null | Error = null;\n let response: any;\n\n for (let i = 0; i < DEFAULT_SILENT_TOKEN_RETRY_COUNT; i++) {\n try {\n response = await fetchWithTimeout(\n url,\n audience,\n scope,\n options,\n worker,\n timeout\n );\n fetchError = null;\n break;\n } catch (e) {\n // Fetch only fails in the case of a network issue, so should be\n // retried here. Failure status (4xx, 5xx, etc) return a resolved Promise\n // with the failure in the body.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\n fetchError = e;\n }\n }\n\n if (fetchError) {\n // unfetch uses XMLHttpRequest under the hood which throws\n // ProgressEvents on error, which don't have message properties\n fetchError.message = fetchError.message || 'Failed to fetch';\n throw fetchError;\n }\n\n const {\n json: { error, error_description, ...success },\n ok\n } = response;\n\n if (!ok) {\n const errorMessage =\n error_description || `HTTP error. Unable to fetch ${url}`;\n const e: any = new Error(errorMessage);\n\n e.error = error || 'request_error';\n e.error_description = errorMessage;\n\n throw e;\n }\n\n return success;\n};\n\nexport const oauthToken = async (\n { baseUrl, timeout, audience, scope, ...options }: TokenEndpointOptions,\n worker: Worker\n) =>\n await getJSON(\n `${baseUrl}/oauth/token`,\n timeout,\n audience || 'default',\n scope,\n {\n method: 'POST',\n body: JSON.stringify({\n redirect_uri: window.location.origin,\n ...options\n }),\n headers: {\n 'Content-type': 'application/json'\n }\n },\n worker\n );\n\nexport const validateCrypto = () => {\n if (!getCrypto()) {\n throw new Error(\n 'For security reasons, `window.crypto` is required to run `auth0-spa-js`.'\n );\n }\n if (typeof getCryptoSubtle() === 'undefined') {\n throw new Error(`\n auth0-spa-js must run on a secure origin.\n See https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin \n for more information.\n `);\n }\n};\n","export default function(url, options) {\n\toptions = options || {};\n\treturn new Promise( (resolve, reject) => {\n\t\tconst request = new XMLHttpRequest();\n\t\tconst keys = [];\n\t\tconst all = [];\n\t\tconst headers = {};\n\n\t\tconst response = () => ({\n\t\t\tok: (request.status/100|0) == 2,\t\t// 200-299\n\t\t\tstatusText: request.statusText,\n\t\t\tstatus: request.status,\n\t\t\turl: request.responseURL,\n\t\t\ttext: () => Promise.resolve(request.responseText),\n\t\t\tjson: () => Promise.resolve(JSON.parse(request.responseText)),\n\t\t\tblob: () => Promise.resolve(new Blob([request.response])),\n\t\t\tclone: response,\n\t\t\theaders: {\n\t\t\t\tkeys: () => keys,\n\t\t\t\tentries: () => all,\n\t\t\t\tget: n => headers[n.toLowerCase()],\n\t\t\t\thas: n => n.toLowerCase() in headers\n\t\t\t}\n\t\t});\n\n\t\trequest.open(options.method || 'get', url, true);\n\n\t\trequest.onload = () => {\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (m, key, value) => {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theaders[key] = headers[key] ? `${headers[key]},${value}` : value;\n\t\t\t});\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\tfor (const i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.send(options.body || null);\n\t});\n}\n","/**\n * @ignore\n */\nconst dedupe = (arr: string[]) => Array.from(new Set(arr));\n\n/**\n * @ignore\n */\nexport const getUniqueScopes = (...scopes: string[]) => {\n return dedupe(scopes.join(' ').trim().split(/\\s+/)).join(' ');\n};\n","import { IdToken } from './global';\n\ninterface CacheKeyData {\n audience: string;\n scope: string;\n client_id: string;\n}\n\ninterface DecodedToken {\n claims: IdToken;\n user: any;\n}\n\ninterface CacheEntry {\n id_token: string;\n access_token: string;\n expires_in: number;\n decodedToken: DecodedToken;\n audience: string;\n scope: string;\n client_id: string;\n refresh_token?: string;\n}\n\nexport interface ICache {\n save(entry: CacheEntry): void;\n get(key: CacheKeyData, expiryAdjustmentSeconds?: number): Partial;\n clear(): void;\n}\n\nconst keyPrefix = '@@auth0spajs@@';\nconst DEFAULT_EXPIRY_ADJUSTMENT_SECONDS = 0;\n\nconst createKey = (e: CacheKeyData) =>\n `${keyPrefix}::${e.client_id}::${e.audience}::${e.scope}`;\n\ntype CachePayload = {\n body: Partial;\n expiresAt: number;\n};\n\n/**\n * Wraps the specified cache entry and returns the payload\n * @param entry The cache entry to wrap\n */\nconst wrapCacheEntry = (entry: CacheEntry): CachePayload => {\n const expiresInTime = Math.floor(Date.now() / 1000) + entry.expires_in;\n const expirySeconds = Math.min(expiresInTime, entry.decodedToken.claims.exp);\n\n return {\n body: entry,\n expiresAt: expirySeconds\n };\n};\n\nexport class LocalStorageCache implements ICache {\n public save(entry: CacheEntry): void {\n const cacheKey = createKey(entry);\n const payload = wrapCacheEntry(entry);\n\n window.localStorage.setItem(cacheKey, JSON.stringify(payload));\n }\n\n public get(\n key: CacheKeyData,\n expiryAdjustmentSeconds = DEFAULT_EXPIRY_ADJUSTMENT_SECONDS\n ): Partial {\n const cacheKey = createKey(key);\n const payload = this.readJson(cacheKey);\n const nowSeconds = Math.floor(Date.now() / 1000);\n\n if (!payload) return;\n\n if (payload.expiresAt - expiryAdjustmentSeconds < nowSeconds) {\n if (payload.body.refresh_token) {\n const newPayload = this.stripData(payload);\n this.writeJson(cacheKey, newPayload);\n\n return newPayload.body;\n }\n\n localStorage.removeItem(cacheKey);\n return;\n }\n\n return payload.body;\n }\n\n public clear() {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n if (localStorage.key(i).startsWith(keyPrefix)) {\n localStorage.removeItem(localStorage.key(i));\n }\n }\n }\n\n /**\n * Retrieves data from local storage and parses it into the correct format\n * @param cacheKey The cache key\n */\n private readJson(cacheKey: string): CachePayload {\n const json = window.localStorage.getItem(cacheKey);\n let payload;\n\n if (!json) {\n return;\n }\n\n payload = JSON.parse(json);\n\n if (!payload) {\n return;\n }\n\n return payload;\n }\n\n /**\n * Writes the payload as JSON to localstorage\n * @param cacheKey The cache key\n * @param payload The payload to write as JSON\n */\n private writeJson(cacheKey: string, payload: CachePayload) {\n localStorage.setItem(cacheKey, JSON.stringify(payload));\n }\n\n /**\n * Produce a copy of the payload with everything removed except the refresh token\n * @param payload The payload\n */\n private stripData(payload: CachePayload): CachePayload {\n const { refresh_token } = payload.body;\n\n const strippedPayload: CachePayload = {\n body: { refresh_token: refresh_token },\n expiresAt: payload.expiresAt\n };\n\n return strippedPayload;\n }\n}\n\nexport class InMemoryCache {\n public enclosedCache: ICache = (function () {\n let cache: CachePayload = {\n body: {},\n expiresAt: 0\n };\n\n return {\n save(entry: CacheEntry) {\n const key = createKey(entry);\n const payload = wrapCacheEntry(entry);\n\n cache[key] = payload;\n },\n\n get(\n key: CacheKeyData,\n expiryAdjustmentSeconds = DEFAULT_EXPIRY_ADJUSTMENT_SECONDS\n ) {\n const cacheKey = createKey(key);\n const wrappedEntry: CachePayload = cache[cacheKey];\n const nowSeconds = Math.floor(Date.now() / 1000);\n\n if (!wrappedEntry) {\n return;\n }\n\n if (wrappedEntry.expiresAt - expiryAdjustmentSeconds < nowSeconds) {\n if (wrappedEntry.body.refresh_token) {\n wrappedEntry.body = {\n refresh_token: wrappedEntry.body.refresh_token\n };\n\n return wrappedEntry.body;\n }\n\n delete cache[cacheKey];\n\n return;\n }\n\n return wrappedEntry.body;\n },\n\n clear() {\n cache = {\n body: {},\n expiresAt: 0\n };\n }\n };\n })();\n}\n","import { ClientStorage } from './storage';\n\nconst TRANSACTION_STORAGE_KEY = 'a0.spajs.txs';\n\ninterface Transaction {\n nonce: string;\n scope: string;\n audience: string;\n appState?: any;\n code_verifier: string;\n redirect_uri: string;\n}\n\nexport default class TransactionManager {\n private transaction: Transaction;\n\n constructor(private storage: ClientStorage) {\n this.transaction = this.storage.get(TRANSACTION_STORAGE_KEY);\n }\n\n public create(transaction: Transaction) {\n this.transaction = transaction;\n\n this.storage.save(TRANSACTION_STORAGE_KEY, transaction, {\n daysUntilExpire: 1\n });\n }\n\n public get(): Transaction {\n return this.transaction;\n }\n\n public remove() {\n delete this.transaction;\n this.storage.remove(TRANSACTION_STORAGE_KEY);\n }\n}\n","import { urlDecodeB64 } from './utils';\nimport { IdToken, JWTVerifyOptions } from './global';\n\nconst isNumber = n => typeof n === 'number';\n\nconst idTokendecoded = [\n 'iss',\n 'aud',\n 'exp',\n 'nbf',\n 'iat',\n 'jti',\n 'azp',\n 'nonce',\n 'auth_time',\n 'at_hash',\n 'c_hash',\n 'acr',\n 'amr',\n 'sub_jwk',\n 'cnf',\n 'sip_from_tag',\n 'sip_date',\n 'sip_callid',\n 'sip_cseq_num',\n 'sip_via_branch',\n 'orig',\n 'dest',\n 'mky',\n 'events',\n 'toe',\n 'txn',\n 'rph',\n 'sid',\n 'vot',\n 'vtm'\n];\n\nexport const decode = (token: string) => {\n const parts = token.split('.');\n const [header, payload, signature] = parts;\n\n if (parts.length !== 3 || !header || !payload || !signature) {\n throw new Error('ID token could not be decoded');\n }\n const payloadJSON = JSON.parse(urlDecodeB64(payload));\n const claims: IdToken = { __raw: token };\n const user: any = {};\n Object.keys(payloadJSON).forEach(k => {\n claims[k] = payloadJSON[k];\n if (!idTokendecoded.includes(k)) {\n user[k] = payloadJSON[k];\n }\n });\n return {\n encoded: { header, payload, signature },\n header: JSON.parse(urlDecodeB64(header)),\n claims,\n user\n };\n};\n\nexport const verify = (options: JWTVerifyOptions) => {\n if (!options.id_token) {\n throw new Error('ID token is required but missing');\n }\n\n const decoded = decode(options.id_token);\n\n if (!decoded.claims.iss) {\n throw new Error(\n 'Issuer (iss) claim must be a string present in the ID token'\n );\n }\n\n if (decoded.claims.iss !== options.iss) {\n throw new Error(\n `Issuer (iss) claim mismatch in the ID token; expected \"${options.iss}\", found \"${decoded.claims.iss}\"`\n );\n }\n\n if (!decoded.user.sub) {\n throw new Error(\n 'Subject (sub) claim must be a string present in the ID token'\n );\n }\n\n if (decoded.header.alg !== 'RS256') {\n throw new Error(\n `Signature algorithm of \"${decoded.header.alg}\" is not supported. Expected the ID token to be signed with \"RS256\".`\n );\n }\n\n if (\n !decoded.claims.aud ||\n !(\n typeof decoded.claims.aud === 'string' ||\n Array.isArray(decoded.claims.aud)\n )\n ) {\n throw new Error(\n 'Audience (aud) claim must be a string or array of strings present in the ID token'\n );\n }\n if (Array.isArray(decoded.claims.aud)) {\n if (!decoded.claims.aud.includes(options.aud)) {\n throw new Error(\n `Audience (aud) claim mismatch in the ID token; expected \"${\n options.aud\n }\" but was not one of \"${decoded.claims.aud.join(', ')}\"`\n );\n }\n if (decoded.claims.aud.length > 1) {\n if (!decoded.claims.azp) {\n throw new Error(\n 'Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values'\n );\n }\n if (decoded.claims.azp !== options.aud) {\n throw new Error(\n `Authorized Party (azp) claim mismatch in the ID token; expected \"${options.aud}\", found \"${decoded.claims.azp}\"`\n );\n }\n }\n } else if (decoded.claims.aud !== options.aud) {\n throw new Error(\n `Audience (aud) claim mismatch in the ID token; expected \"${options.aud}\" but found \"${decoded.claims.aud}\"`\n );\n }\n if (options.nonce) {\n if (!decoded.claims.nonce) {\n throw new Error(\n 'Nonce (nonce) claim must be a string present in the ID token'\n );\n }\n if (decoded.claims.nonce !== options.nonce) {\n throw new Error(\n `Nonce (nonce) claim mismatch in the ID token; expected \"${options.nonce}\", found \"${decoded.claims.nonce}\"`\n );\n }\n }\n\n if (options.max_age && !isNumber(decoded.claims.auth_time)) {\n throw new Error(\n 'Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified'\n );\n }\n\n /* istanbul ignore next */\n if (!isNumber(decoded.claims.exp)) {\n throw new Error(\n 'Expiration Time (exp) claim must be a number present in the ID token'\n );\n }\n if (!isNumber(decoded.claims.iat)) {\n throw new Error(\n 'Issued At (iat) claim must be a number present in the ID token'\n );\n }\n\n const leeway = options.leeway || 60;\n const now = new Date(Date.now());\n const expDate = new Date(0);\n const nbfDate = new Date(0);\n const authTimeDate = new Date(0);\n\n authTimeDate.setUTCSeconds(\n parseInt(decoded.claims.auth_time) + options.max_age + leeway\n );\n\n expDate.setUTCSeconds(decoded.claims.exp + leeway);\n nbfDate.setUTCSeconds(decoded.claims.nbf - leeway);\n\n if (now > expDate) {\n throw new Error(\n `Expiration Time (exp) claim error in the ID token; current time (${now}) is after expiration time (${expDate})`\n );\n }\n if (isNumber(decoded.claims.nbf) && now < nbfDate) {\n throw new Error(\n `Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Currrent time (${now}) is before ${nbfDate}`\n );\n }\n if (isNumber(decoded.claims.auth_time) && now > authTimeDate) {\n throw new Error(\n `Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Currrent time (${now}) is after last auth at ${authTimeDate}`\n );\n }\n return decoded;\n};\n","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nexports.__esModule = true;\r\nfunction stringifyAttribute(name, value) {\r\n if (!value) {\r\n return '';\r\n }\r\n var stringified = '; ' + name;\r\n if (value === true) {\r\n return stringified; // boolean attributes shouldn't have a value\r\n }\r\n return stringified + '=' + value;\r\n}\r\nfunction stringifyAttributes(attributes) {\r\n if (typeof attributes.expires === 'number') {\r\n var expires = new Date();\r\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\r\n attributes.expires = expires;\r\n }\r\n return stringifyAttribute('Expires', attributes.expires ? attributes.expires.toUTCString() : '')\r\n + stringifyAttribute('Domain', attributes.domain)\r\n + stringifyAttribute('Path', attributes.path)\r\n + stringifyAttribute('Secure', attributes.secure)\r\n + stringifyAttribute('SameSite', attributes.sameSite);\r\n}\r\nfunction encode(name, value, attributes) {\r\n return encodeURIComponent(name)\r\n .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent) // allowed special characters\r\n .replace(/\\(/g, '%28').replace(/\\)/g, '%29') // replace opening and closing parens\r\n + '=' + encodeURIComponent(value)\r\n // allowed special characters\r\n .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent)\r\n + stringifyAttributes(attributes);\r\n}\r\nexports.encode = encode;\r\nfunction parse(cookieString) {\r\n var result = {};\r\n var cookies = cookieString ? cookieString.split('; ') : [];\r\n var rdecode = /(%[\\dA-F]{2})+/gi;\r\n for (var i = 0; i < cookies.length; i++) {\r\n var parts = cookies[i].split('=');\r\n var cookie = parts.slice(1).join('=');\r\n if (cookie.charAt(0) === '\"') {\r\n cookie = cookie.slice(1, -1);\r\n }\r\n try {\r\n var name_1 = parts[0].replace(rdecode, decodeURIComponent);\r\n result[name_1] = cookie.replace(rdecode, decodeURIComponent);\r\n }\r\n catch (e) {\r\n // ignore cookies with invalid name/value encoding\r\n }\r\n }\r\n return result;\r\n}\r\nexports.parse = parse;\r\nfunction getAll() {\r\n return parse(document.cookie);\r\n}\r\nexports.getAll = getAll;\r\nfunction get(name) {\r\n return getAll()[name];\r\n}\r\nexports.get = get;\r\nfunction set(name, value, attributes) {\r\n document.cookie = encode(name, value, __assign({ path: '/' }, attributes));\r\n}\r\nexports.set = set;\r\nfunction remove(name, attributes) {\r\n set(name, '', __assign(__assign({}, attributes), { expires: -1 }));\r\n}\r\nexports.remove = remove;\r\n","import * as Cookies from 'es-cookie';\n\ninterface ClientStorageOptions {\n daysUntilExpire: number;\n}\n\n/**\n * Defines a type that handles storage to/from a storage location\n */\nexport type ClientStorage = {\n get(key: string): T;\n save(key: string, value: any, options?: ClientStorageOptions): void;\n remove(key: string): void;\n};\n\n/**\n * A storage protocol for marshalling data to/from cookies\n */\nexport const CookieStorage = {\n get(key: string) {\n const value = Cookies.get(key);\n if (typeof value === 'undefined') {\n return;\n }\n return JSON.parse(value);\n },\n\n save(key: string, value: any, options?: ClientStorageOptions): void {\n let cookieAttributes: Cookies.CookieAttributes = {};\n if ('https:' === window.location.protocol) {\n cookieAttributes = {\n secure: true,\n sameSite: 'none'\n };\n }\n cookieAttributes.expires = options.daysUntilExpire;\n Cookies.set(key, JSON.stringify(value), cookieAttributes);\n },\n\n remove(key: string) {\n Cookies.remove(key);\n }\n} as ClientStorage;\n\n/**\n * @ignore\n */\nconst LEGACY_PREFIX = '_legacy_';\n\n/**\n * Cookie storage that creates a cookie for modern and legacy browsers.\n * See: https://web.dev/samesite-cookie-recipes/#handling-incompatible-clients\n */\nexport const CookieStorageWithLegacySameSite = {\n get(key: string) {\n const value = CookieStorage.get(key);\n if (value) {\n return value;\n }\n return CookieStorage.get(`${LEGACY_PREFIX}${key}`);\n },\n\n save(key: string, value: any, options?: ClientStorageOptions): void {\n let cookieAttributes: Cookies.CookieAttributes = {};\n if ('https:' === window.location.protocol) {\n cookieAttributes = { secure: true };\n }\n cookieAttributes.expires = options.daysUntilExpire;\n Cookies.set(\n `${LEGACY_PREFIX}${key}`,\n JSON.stringify(value),\n cookieAttributes\n );\n CookieStorage.save(key, value, options);\n },\n\n remove(key: string) {\n CookieStorage.remove(key);\n CookieStorage.remove(`${LEGACY_PREFIX}${key}`);\n }\n} as ClientStorage;\n\n/**\n * A storage protocol for marshalling data to/from session storage\n */\nexport const SessionStorage = {\n get(key: string) {\n if (typeof sessionStorage === 'undefined') {\n return;\n }\n const value = sessionStorage.getItem(key);\n if (typeof value === 'undefined') {\n return;\n }\n return JSON.parse(value);\n },\n\n save(key: string, value: any): void {\n sessionStorage.setItem(key, JSON.stringify(value));\n },\n\n remove(key: string) {\n sessionStorage.removeItem(key);\n }\n} as ClientStorage;\n","import Lock from 'browser-tabs-lock';\n\nimport {\n createQueryParams,\n runPopup,\n parseQueryResult,\n encode,\n createRandomString,\n runIframe,\n sha256,\n bufferToBase64UrlEncoded,\n oauthToken,\n validateCrypto\n} from './utils';\n\nimport { getUniqueScopes } from './scope';\nimport { InMemoryCache, ICache, LocalStorageCache } from './cache';\nimport TransactionManager from './transaction-manager';\nimport { verify as verifyIdToken } from './jwt';\nimport { AuthenticationError } from './errors';\nimport {\n ClientStorage,\n CookieStorage,\n CookieStorageWithLegacySameSite,\n SessionStorage\n} from './storage';\n\nimport {\n CACHE_LOCATION_MEMORY,\n DEFAULT_POPUP_CONFIG_OPTIONS,\n DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS,\n MISSING_REFRESH_TOKEN_ERROR_MESSAGE,\n DEFAULT_SCOPE,\n RECOVERABLE_ERRORS\n} from './constants';\n\nimport version from './version';\n\nimport {\n Auth0ClientOptions,\n BaseLoginOptions,\n AuthorizeOptions,\n RedirectLoginOptions,\n PopupLoginOptions,\n PopupConfigOptions,\n GetUserOptions,\n GetIdTokenClaimsOptions,\n RedirectLoginResult,\n GetTokenSilentlyOptions,\n GetTokenWithPopupOptions,\n LogoutOptions,\n RefreshTokenOptions,\n OAuthTokenOptions,\n CacheLocation\n} from './global';\n\n// @ts-ignore\nimport TokenWorker from './token.worker.ts';\n\n/**\n * @ignore\n */\nconst lock = new Lock();\n\n/**\n * @ignore\n */\nconst GET_TOKEN_SILENTLY_LOCK_KEY = 'auth0.lock.getTokenSilently';\n\n/**\n * @ignore\n */\nconst cacheLocationBuilders = {\n memory: () => new InMemoryCache().enclosedCache,\n localstorage: () => new LocalStorageCache()\n};\n\n/**\n * @ignore\n */\nconst cacheFactory = (location: string) => {\n return cacheLocationBuilders[location];\n};\n\n/**\n * @ignore\n */\nconst isIE11 = () => /Trident.*rv:11\\.0/.test(navigator.userAgent);\n\n/**\n * @ignore\n */\nconst getTokenIssuer = (issuer, domainUrl) => {\n if (issuer) {\n return issuer.startsWith('https://') ? issuer : `https://${issuer}/`;\n }\n return `${domainUrl}/`;\n};\n\n/**\n * @ignore\n */\nconst getCustomInitialOptions = (\n options: Auth0ClientOptions\n): BaseLoginOptions => {\n const {\n advancedOptions,\n audience,\n auth0Client,\n authorizeTimeoutInSeconds,\n cacheLocation,\n client_id,\n domain,\n issuer,\n leeway,\n max_age,\n redirect_uri,\n scope,\n useRefreshTokens,\n ...customParams\n } = options;\n return customParams;\n};\n\n/**\n * Auth0 SDK for Single Page Applications using [Authorization Code Grant Flow with PKCE](https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce).\n */\nexport default class Auth0Client {\n private cache: ICache;\n private transactionManager: TransactionManager;\n private customOptions: BaseLoginOptions;\n private domainUrl: string;\n private tokenIssuer: string;\n private defaultScope: string;\n private scope: string;\n private cookieStorage: ClientStorage;\n\n cacheLocation: CacheLocation;\n private worker: Worker;\n\n constructor(private options: Auth0ClientOptions) {\n typeof window !== 'undefined' && validateCrypto();\n this.cacheLocation = options.cacheLocation || CACHE_LOCATION_MEMORY;\n this.cookieStorage =\n options.legacySameSiteCookie === false\n ? CookieStorage\n : CookieStorageWithLegacySameSite;\n\n if (!cacheFactory(this.cacheLocation)) {\n throw new Error(`Invalid cache location \"${this.cacheLocation}\"`);\n }\n\n this.cache = cacheFactory(this.cacheLocation)();\n this.scope = this.options.scope;\n this.transactionManager = new TransactionManager(SessionStorage);\n this.domainUrl = `https://${this.options.domain}`;\n this.tokenIssuer = getTokenIssuer(this.options.issuer, this.domainUrl);\n\n this.defaultScope = getUniqueScopes(\n 'openid',\n this.options?.advancedOptions?.defaultScope !== undefined\n ? this.options.advancedOptions.defaultScope\n : DEFAULT_SCOPE\n );\n\n // If using refresh tokens, automatically specify the `offline_access` scope.\n // Note we cannot add this to 'defaultScope' above as the scopes are used in the\n // cache keys - changing the order could invalidate the keys\n if (this.options.useRefreshTokens) {\n this.scope = getUniqueScopes(this.scope, 'offline_access');\n }\n\n // Don't use web workers unless using refresh tokens in memory and not IE11\n if (\n typeof window !== 'undefined' &&\n window.Worker &&\n this.options.useRefreshTokens &&\n this.cacheLocation === CACHE_LOCATION_MEMORY &&\n !isIE11()\n ) {\n this.worker = new TokenWorker();\n }\n\n this.customOptions = getCustomInitialOptions(options);\n }\n\n private _url(path) {\n const auth0Client = encodeURIComponent(\n btoa(\n JSON.stringify(\n this.options.auth0Client || {\n name: 'auth0-spa-js',\n version: version\n }\n )\n )\n );\n return `${this.domainUrl}${path}&auth0Client=${auth0Client}`;\n }\n\n private _getParams(\n authorizeOptions: BaseLoginOptions,\n state: string,\n nonce: string,\n code_challenge: string,\n redirect_uri: string\n ): AuthorizeOptions {\n const {\n domain,\n leeway,\n useRefreshTokens,\n auth0Client,\n cacheLocation,\n advancedOptions,\n ...withoutDomain\n } = this.options;\n\n return {\n ...withoutDomain,\n ...authorizeOptions,\n scope: getUniqueScopes(\n this.defaultScope,\n this.scope,\n authorizeOptions.scope\n ),\n response_type: 'code',\n response_mode: 'query',\n state,\n nonce,\n redirect_uri: redirect_uri || this.options.redirect_uri,\n code_challenge,\n code_challenge_method: 'S256'\n };\n }\n private _authorizeUrl(authorizeOptions: AuthorizeOptions) {\n return this._url(`/authorize?${createQueryParams(authorizeOptions)}`);\n }\n private _verifyIdToken(id_token: string, nonce?: string) {\n return verifyIdToken({\n iss: this.tokenIssuer,\n aud: this.options.client_id,\n id_token,\n nonce,\n leeway: this.options.leeway,\n max_age: this._parseNumber(this.options.max_age)\n });\n }\n private _parseNumber(value: any): number {\n if (typeof value !== 'string') {\n return value;\n }\n return parseInt(value, 10) || undefined;\n }\n\n /**\n * ```js\n * await auth0.buildAuthorizeUrl(options);\n * ```\n *\n * Builds an `/authorize` URL for loginWithRedirect using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated.\n *\n * @param options\n */\n\n public async buildAuthorizeUrl(\n options: RedirectLoginOptions = {}\n ): Promise {\n const { redirect_uri, appState, ...authorizeOptions } = options;\n\n const stateIn = encode(createRandomString());\n const nonceIn = encode(createRandomString());\n const code_verifier = createRandomString();\n const code_challengeBuffer = await sha256(code_verifier);\n const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);\n const fragment = options.fragment ? `#${options.fragment}` : '';\n\n const params = this._getParams(\n authorizeOptions,\n stateIn,\n nonceIn,\n code_challenge,\n redirect_uri\n );\n\n const url = this._authorizeUrl(params);\n\n this.transactionManager.create({\n nonce: nonceIn,\n code_verifier,\n appState,\n scope: params.scope,\n audience: params.audience || 'default',\n redirect_uri: params.redirect_uri\n });\n\n return url + fragment;\n }\n\n /**\n * ```js\n * await auth0.loginWithPopup(options);\n * ```\n *\n * Opens a popup with the `/authorize` URL using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated. If the response is successful,\n * results will be valid according to their expiration times.\n *\n * IMPORTANT: This method has to be called from an event handler\n * that was started by the user like a button click, for example,\n * otherwise the popup will be blocked in most browsers.\n *\n * @param options\n * @param config\n */\n public async loginWithPopup(\n options: PopupLoginOptions = {},\n config: PopupConfigOptions = {}\n ) {\n const { ...authorizeOptions } = options;\n const stateIn = encode(createRandomString());\n const nonceIn = encode(createRandomString());\n const code_verifier = createRandomString();\n const code_challengeBuffer = await sha256(code_verifier);\n const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);\n\n const params = this._getParams(\n authorizeOptions,\n stateIn,\n nonceIn,\n code_challenge,\n this.options.redirect_uri || window.location.origin\n );\n\n const url = this._authorizeUrl({\n ...params,\n response_mode: 'web_message'\n });\n\n const codeResult = await runPopup(url, {\n ...config,\n timeoutInSeconds:\n config.timeoutInSeconds ||\n this.options.authorizeTimeoutInSeconds ||\n DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS\n });\n\n if (stateIn !== codeResult.state) {\n throw new Error('Invalid state');\n }\n\n const authResult = await oauthToken(\n {\n audience: params.audience,\n scope: params.scope,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n code_verifier,\n code: codeResult.code,\n grant_type: 'authorization_code',\n redirect_uri: params.redirect_uri\n } as OAuthTokenOptions,\n this.worker\n );\n\n const decodedToken = this._verifyIdToken(authResult.id_token, nonceIn);\n\n const cacheEntry = {\n ...authResult,\n decodedToken,\n scope: params.scope,\n audience: params.audience || 'default',\n client_id: this.options.client_id\n };\n\n this.cache.save(cacheEntry);\n\n this.cookieStorage.save('auth0.is.authenticated', true, {\n daysUntilExpire: 1\n });\n }\n\n /**\n * ```js\n * const user = await auth0.getUser();\n * ```\n *\n * Returns the user information if available (decoded\n * from the `id_token`).\n *\n * @param options\n */\n public async getUser(options: GetUserOptions = {}) {\n const audience = options.audience || this.options.audience || 'default';\n const scope = getUniqueScopes(this.defaultScope, this.scope, options.scope);\n\n const cache = this.cache.get({\n client_id: this.options.client_id,\n audience,\n scope\n });\n\n return cache && cache.decodedToken && cache.decodedToken.user;\n }\n\n /**\n * ```js\n * const claims = await auth0.getIdTokenClaims();\n * ```\n *\n * Returns all claims from the id_token if available.\n *\n * @param options\n */\n public async getIdTokenClaims(options: GetIdTokenClaimsOptions = {}) {\n const audience = options.audience || this.options.audience || 'default';\n const scope = getUniqueScopes(this.defaultScope, this.scope, options.scope);\n\n const cache = this.cache.get({\n client_id: this.options.client_id,\n audience,\n scope\n });\n\n return cache && cache.decodedToken && cache.decodedToken.claims;\n }\n\n /**\n * ```js\n * await auth0.loginWithRedirect(options);\n * ```\n *\n * Performs a redirect to `/authorize` using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated.\n *\n * @param options\n */\n public async loginWithRedirect(options: RedirectLoginOptions = {}) {\n const url = await this.buildAuthorizeUrl(options);\n window.location.assign(url);\n }\n\n /**\n * After the browser redirects back to the callback page,\n * call `handleRedirectCallback` to handle success and error\n * responses from Auth0. If the response is successful, results\n * will be valid according to their expiration times.\n */\n public async handleRedirectCallback(\n url: string = window.location.href\n ): Promise {\n const queryStringFragments = url.split('?').slice(1);\n if (queryStringFragments.length === 0) {\n throw new Error('There are no query params available for parsing.');\n }\n const { state, code, error, error_description } = parseQueryResult(\n queryStringFragments.join('')\n );\n\n const transaction = this.transactionManager.get();\n\n // Transaction should have a `code_verifier` to do PKCE and a `nonce` for CSRF protection\n if (!transaction || !transaction.code_verifier || !transaction.nonce) {\n throw new Error('Invalid state');\n }\n\n if (error) {\n this.transactionManager.remove();\n\n throw new AuthenticationError(\n error,\n error_description,\n state,\n transaction.appState\n );\n }\n\n this.transactionManager.remove();\n\n const tokenOptions = {\n audience: transaction.audience,\n scope: transaction.scope,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n code_verifier: transaction.code_verifier,\n grant_type: 'authorization_code',\n code\n } as OAuthTokenOptions;\n\n // some old versions of the SDK might not have added redirect_uri to the\n // transaction, we dont want the key to be set to undefined.\n if (undefined !== transaction.redirect_uri) {\n tokenOptions.redirect_uri = transaction.redirect_uri;\n }\n\n const authResult = await oauthToken(tokenOptions, this.worker);\n\n const decodedToken = this._verifyIdToken(\n authResult.id_token,\n transaction.nonce\n );\n\n const cacheEntry = {\n ...authResult,\n decodedToken,\n audience: transaction.audience,\n scope: transaction.scope,\n client_id: this.options.client_id\n };\n\n this.cache.save(cacheEntry);\n\n this.cookieStorage.save('auth0.is.authenticated', true, {\n daysUntilExpire: 1\n });\n\n return {\n appState: transaction.appState\n };\n }\n\n /**\n * ```js\n * await auth0.checkSession();\n * ```\n *\n * Check if the user is logged in using `getTokenSilently`. The difference\n * with `getTokenSilently` is that this doesn't return a token, but it will\n * pre-fill the token cache.\n *\n * It should be used for silently logging in the user when you instantiate the\n * `Auth0Client` constructor. You should not need this if you are using the\n * `createAuth0Client` factory.\n *\n * @param options\n */\n public async checkSession(options?: GetTokenSilentlyOptions) {\n if (\n this.cacheLocation === CACHE_LOCATION_MEMORY &&\n !this.cookieStorage.get('auth0.is.authenticated')\n ) {\n return;\n }\n\n try {\n await this.getTokenSilently(options);\n } catch (error) {\n if (!RECOVERABLE_ERRORS.includes(error.error)) {\n throw error;\n }\n }\n }\n\n /**\n * ```js\n * const token = await auth0.getTokenSilently(options);\n * ```\n *\n * If there's a valid token stored, return it. Otherwise, opens an\n * iframe with the `/authorize` URL using the parameters provided\n * as arguments. Random and secure `state` and `nonce` parameters\n * will be auto-generated. If the response is successful, results\n * will be valid according to their expiration times.\n *\n * If refresh tokens are used, the token endpoint is called directly with the\n * 'refresh_token' grant. If no refresh token is available to make this call,\n * the SDK falls back to using an iframe to the '/authorize' URL.\n *\n * This method may use a web worker to perform the token call if the in-memory\n * cache is used.\n *\n * If an `audience` value is given to this function, the SDK always falls\n * back to using an iframe to make the token exchange.\n *\n * Note that in all cases, falling back to an iframe requires access to\n * the `auth0` cookie.\n *\n * @param options\n */\n public async getTokenSilently(options: GetTokenSilentlyOptions = {}) {\n const { ignoreCache, ...getTokenOptions } = {\n audience: this.options.audience,\n ignoreCache: false,\n ...options,\n scope: getUniqueScopes(this.defaultScope, this.scope, options.scope)\n };\n\n const getAccessTokenFromCache = () => {\n const cache = this.cache.get(\n {\n scope: getTokenOptions.scope,\n audience: getTokenOptions.audience || 'default',\n client_id: this.options.client_id\n },\n 60 // get a new token if within 60 seconds of expiring\n );\n\n return cache && cache.access_token;\n };\n\n // Check the cache before acquiring the lock to avoid the latency of\n // `lock.acquireLock` when the cache is populated.\n if (!ignoreCache) {\n let accessToken = getAccessTokenFromCache();\n if (accessToken) {\n return accessToken;\n }\n }\n\n try {\n await lock.acquireLock(GET_TOKEN_SILENTLY_LOCK_KEY, 5000);\n // Check the cache a second time, because it may have been populated\n // by a previous call while this call was waiting to acquire the lock.\n if (!ignoreCache) {\n let accessToken = getAccessTokenFromCache();\n if (accessToken) {\n return accessToken;\n }\n }\n\n const authResult = this.options.useRefreshTokens\n ? await this._getTokenUsingRefreshToken(getTokenOptions)\n : await this._getTokenFromIFrame(getTokenOptions);\n\n this.cache.save({ client_id: this.options.client_id, ...authResult });\n\n this.cookieStorage.save('auth0.is.authenticated', true, {\n daysUntilExpire: 1\n });\n\n return authResult.access_token;\n } catch (e) {\n throw e;\n } finally {\n await lock.releaseLock(GET_TOKEN_SILENTLY_LOCK_KEY);\n }\n }\n\n /**\n * ```js\n * const token = await auth0.getTokenWithPopup(options);\n * ```\n * Opens a popup with the `/authorize` URL using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated. If the response is successful,\n * results will be valid according to their expiration times.\n *\n * @param options\n * @param config\n */\n public async getTokenWithPopup(\n options: GetTokenWithPopupOptions = {},\n config: PopupConfigOptions = {}\n ) {\n options.audience = options.audience || this.options.audience;\n options.scope = getUniqueScopes(\n this.defaultScope,\n this.scope,\n options.scope\n );\n config = {\n ...DEFAULT_POPUP_CONFIG_OPTIONS,\n ...config\n };\n\n await this.loginWithPopup(options, config);\n\n const cache = this.cache.get({\n scope: options.scope,\n audience: options.audience || 'default',\n client_id: this.options.client_id\n });\n\n return cache.access_token;\n }\n\n /**\n * ```js\n * const isAuthenticated = await auth0.isAuthenticated();\n * ```\n *\n * Returns `true` if there's valid information stored,\n * otherwise returns `false`.\n *\n */\n public async isAuthenticated() {\n const user = await this.getUser();\n return !!user;\n }\n\n /**\n * ```js\n * auth0.logout();\n * ```\n *\n * Clears the application session and performs a redirect to `/v2/logout`, using\n * the parameters provided as arguments, to clear the Auth0 session.\n * If the `federated` option is specified it also clears the Identity Provider session.\n * If the `localOnly` option is specified, it only clears the application session.\n * It is invalid to set both the `federated` and `localOnly` options to `true`,\n * and an error will be thrown if you do.\n * [Read more about how Logout works at Auth0](https://auth0.com/docs/logout).\n *\n * @param options\n */\n public logout(options: LogoutOptions = {}) {\n if (options.client_id !== null) {\n options.client_id = options.client_id || this.options.client_id;\n } else {\n delete options.client_id;\n }\n\n const { federated, localOnly, ...logoutOptions } = options;\n\n if (localOnly && federated) {\n throw new Error(\n 'It is invalid to set both the `federated` and `localOnly` options to `true`'\n );\n }\n\n this.cache.clear();\n this.cookieStorage.remove('auth0.is.authenticated');\n\n if (localOnly) {\n return;\n }\n\n const federatedQuery = federated ? `&federated` : '';\n const url = this._url(`/v2/logout?${createQueryParams(logoutOptions)}`);\n\n window.location.assign(`${url}${federatedQuery}`);\n }\n\n private async _getTokenFromIFrame(\n options: GetTokenSilentlyOptions\n ): Promise {\n const stateIn = encode(createRandomString());\n const nonceIn = encode(createRandomString());\n const code_verifier = createRandomString();\n const code_challengeBuffer = await sha256(code_verifier);\n const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);\n\n const params = this._getParams(\n options,\n stateIn,\n nonceIn,\n code_challenge,\n options.redirect_uri ||\n this.options.redirect_uri ||\n window.location.origin\n );\n\n const url = this._authorizeUrl({\n ...params,\n prompt: 'none',\n response_mode: 'web_message'\n });\n\n const timeout =\n options.timeoutInSeconds || this.options.authorizeTimeoutInSeconds;\n const codeResult = await runIframe(url, this.domainUrl, timeout);\n\n if (stateIn !== codeResult.state) {\n throw new Error('Invalid state');\n }\n\n const {\n scope,\n audience,\n redirect_uri,\n ignoreCache,\n timeoutInSeconds,\n ...customOptions\n } = options;\n\n const tokenResult = await oauthToken(\n {\n ...this.customOptions,\n ...customOptions,\n scope,\n audience,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n code_verifier,\n code: codeResult.code,\n grant_type: 'authorization_code',\n redirect_uri: params.redirect_uri\n } as OAuthTokenOptions,\n this.worker\n );\n\n const decodedToken = this._verifyIdToken(tokenResult.id_token, nonceIn);\n\n return {\n ...tokenResult,\n decodedToken,\n scope: params.scope,\n audience: params.audience || 'default'\n };\n }\n\n private async _getTokenUsingRefreshToken(\n options: GetTokenSilentlyOptions\n ): Promise {\n options.scope = getUniqueScopes(\n this.defaultScope,\n this.options.scope,\n options.scope\n );\n\n const cache = this.cache.get({\n scope: options.scope,\n audience: options.audience || 'default',\n client_id: this.options.client_id\n });\n\n // If you don't have a refresh token in memory\n // and you don't have a refresh token in web worker memory\n // fallback to an iframe.\n if ((!cache || !cache.refresh_token) && !this.worker) {\n return await this._getTokenFromIFrame(options);\n }\n\n const redirect_uri =\n options.redirect_uri ||\n this.options.redirect_uri ||\n window.location.origin;\n\n let tokenResult;\n\n const {\n scope,\n audience,\n ignoreCache,\n timeoutInSeconds,\n ...customOptions\n } = options;\n\n try {\n tokenResult = await oauthToken(\n {\n ...this.customOptions,\n ...customOptions,\n audience,\n scope,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n grant_type: 'refresh_token',\n refresh_token: cache && cache.refresh_token,\n redirect_uri\n } as RefreshTokenOptions,\n this.worker\n );\n } catch (e) {\n // The web worker didn't have a refresh token in memory so\n // fallback to an iframe.\n if (e.message === MISSING_REFRESH_TOKEN_ERROR_MESSAGE) {\n return await this._getTokenFromIFrame(options);\n }\n throw e;\n }\n\n const decodedToken = this._verifyIdToken(tokenResult.id_token);\n\n return {\n ...tokenResult,\n decodedToken,\n scope: options.scope,\n audience: options.audience || 'default'\n };\n }\n}\n","export default '1.12.1';\n","import 'core-js/es/string/starts-with';\nimport 'core-js/es/array/from';\nimport 'core-js/es/typed-array/slice';\nimport 'core-js/es/array/includes';\nimport 'core-js/es/string/includes';\nimport 'core-js/es/set';\nimport 'promise-polyfill/src/polyfill';\nimport 'fast-text-encoding';\nimport 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only';\n\nimport Auth0Client from './Auth0Client';\nimport { Auth0ClientOptions } from './global';\n\nimport './global';\n\nexport * from './global';\n\nexport default async function createAuth0Client(options: Auth0ClientOptions) {\n const auth0 = new Auth0Client(options);\n await auth0.checkSession();\n return auth0;\n}\n\nexport { Auth0Client };\n","import createAuth0Client, { Auth0Client } from './index';\n\n/**\n * @ignore\n */\nconst wrapper = createAuth0Client as any;\n\nwrapper.Auth0Client = Auth0Client;\nwrapper.createAuth0Client = createAuth0Client;\n\nexport default wrapper;\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","check","it","Math","globalThis","window","self","global","Function","exec","error","fails","defineProperty","get","nativePropertyIsEnumerable","getOwnPropertyDescriptor","1","V","descriptor","enumerable","bitmap","configurable","writable","toString","slice","split","classof","undefined","IndexedObject","requireObjectCoercible","input","PREFERRED_STRING","isObject","fn","val","valueOf","key","document","EXISTS","createElement","DESCRIPTORS","a","nativeGetOwnPropertyDescriptor","O","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","has","createPropertyDescriptor","propertyIsEnumerableModule","String","nativeDefineProperty","Attributes","anObject","object","definePropertyModule","createNonEnumerableProperty","SHARED","setGlobal","functionToString","store","inspectSource","set","WeakMap","test","module","version","mode","copyright","id","postfix","random","keys","shared","uid","NATIVE_WEAK_MAP","wmget","wmhas","wmset","metadata","STATE","sharedKey","hiddenKeys","objectHas","enforce","getterFor","TYPE","state","type","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","source","join","aFunction","variable","namespace","method","path","ceil","floor","argument","isNaN","min","toInteger","max","createMethod","IS_INCLUDES","$this","el","fromIndex","toLength","index","integer","toAbsoluteIndex","includes","require$$0","names","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","target","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","copyConstructorProperties","sham","redefine","NATIVE_SYMBOL","WellKnownSymbolsStore","createWellKnownSymbol","USE_SYMBOL_AS_UID","withoutSetter","name","MATCH","wellKnownSymbol","isRegExp","METHOD_NAME","regexp","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","correctIsRegExpLogic","MDN_POLYFILL_BUG","proto","searchString","that","notARegExp","search","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","c","CONSTRUCTOR","METHOD","bind","entryUnbind","CONVERT_TO_STRING","pos","first","second","S","position","size","charCodeAt","charAt","codeAt","F","getPrototypeOf","IE_PROTO","ObjectPrototype","CORRECT_PROTOTYPE_GETTER","toObject","ITERATOR","BUGGY_SAFARI_ITERATORS","activeXDocument","defineProperties","Properties","objectKeys","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","documentCreateElement","style","display","html","appendChild","src","contentWindow","open","TO_STRING_TAG","TAG","returnThis","setter","CORRECT_SETTER","aPossiblePrototype","IteratorsCore","KEYS","VALUES","ENTRIES","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","setToStringTag","Iterators","createIteratorConstructor","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","$","STRING_ITERATOR","setInternalState","defineIterator","iterated","point","returnMethod","ArrayPrototype","propertyKey","CORRECT_ARGUMENTS","classofRaw","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","SAFE_CLOSING","called","iteratorWithReturn","from","SKIP_CLOSING","ITERATION_SUPPORT","INCORRECT_ITERATION","checkCorrectnessOfIteration","iterable","arrayLike","C","argumentsLength","mapfn","mapping","iteratorMethod","getIteratorMethod","isArrayIteratorMethod","createProperty","callWithSafeIterationClosing","ArrayBuffer","DataView","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","NATIVE_ARRAY_BUFFER","opera","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","isTypedArray","ARRAY","TypedArrayConstructor","property","SPECIES","aTypedArray","ArrayBufferViewCore","aTypedArrayConstructor","$slice","start","end","list","defaultConstructor","speciesConstructor","UNSCOPABLES","cache","thrower","$includes","USES_TO_LENGTH","ACCESSORS","argument0","argument1","arrayMethodUsesToLength","addToUnscopables","isExtensible","preventExtensions","METADATA","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","FREEZING","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","stop","Constructor","require$$1","internalStateGetterFor","CONSTRUCTOR_NAME","wrapper","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","forEach","getConstructor","InternalMetadataModule","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","anInstance","Wrapper","NewTarget","NewTargetPrototype","inheritIfRequired","iterate","clear","setStrong","collection","init","last","define","previous","entry","getEntry","removed","redefineAll","delete","prev","callbackfn","add","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","kind","setSpecies","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","Arguments","ArrayValues","ArrayIteratorMethods","COLLECTION_NAME","DOMIterables","Collection","CollectionPrototype","Set","finallyConstructor","callback","reason","setTimeoutFunc","setTimeout","isArray","x","Boolean","noop","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","promise","newValue","finale","_unhandledRejectionFn","len","Handler","ex","prom","promiseFinally","all","arr","args","remaining","res","race","setImmediate","err","console","warn","globalNS","Error","l","m","k","fatal","r","RangeError","q","h","fromCharCode","subarray","TextEncoder","TextDecoder","encode","stream","Buffer","buffer","byteOffset","byteLength","Blob","URL","createObjectURL","XMLHttpRequest","send","responseText","revokeObjectURL","decode","_classCallCheck","_defineProperties","props","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","o","_isNativeReflectConstruct","Reflect","construct","Proxy","Date","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","_superPropBase","_get","receiver","base","desc","Emitter","listeners","stack","splice","event","_this","debounce","defaultPrevented","AbortSignal","_Emitter","_super","_this2","aborted","onabort","AbortController","Event","createEvent","initEvent","createEventObject","bubbles","cancelable","signal","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","log","Request","toStringTag","factory","exports","ProcessLocking","locked","Map","addToLocked","toAdd","callbacks","unshift","isLocked","lock","unlock","toCall","getInstance","LOCK_STORAGE_KEY","delay","milliseconds","generateRandomString","CHARS","randomstring","SuperTokensLock","acquiredIatSet","now","acquireLock","releaseLock","releaseLock__private__","waitForSomethingToChange","refreshLockWhileAcquired","waiters","lockKey","timeout","iat","MAX_TIME","STORAGE_KEY","STORAGE","TIMEOUT_KEY","lockObjPostDelay","_a","localStorage","getItem","setItem","JSON","stringify","timeoutKey","timeAcquired","timeRefreshed","parse","lockCorrector","storageKey","lockObj","processLock_1","default","resolvedCalled","startedAt","removedListeners","stopWaiting","removeEventListener","removeFromWaiting","clearTimeout","timeOutId","timeToWait","addEventListener","addToWaiting","func","filter","notifyWaiters","removeItem","MIN_ALLOWED_TIME","LOCK_KEY","DEFAULT_POPUP_CONFIG_OPTIONS","timeoutInSeconds","CACHE_LOCATION_MEMORY","RECOVERABLE_ERRORS","error_description","GenericError","appState","AuthenticationError","TimeoutError","popup","PopupTimeoutError","runIframe","authorizeUrl","eventOrigin","rej","setAttribute","removeIframe","contains","removeChild","timeoutSetTimeoutId","iframeEventHandler","origin","eventSource","response","fromPayload","CLEANUP_IFRAME_TIMEOUT_IN_SECONDS","runPopup","config","url","left","top","location","href","screenX","innerWidth","screenY","innerHeight","timeoutId","getCrypto","crypto","msCrypto","getCryptoSubtle","subtle","webkitSubtle","createRandomString","charset","getRandomValues","btoa","createQueryParams","params","map","encodeURIComponent","sha256","digestOp","digest","oncomplete","onerror","urlDecodeB64","decodeURIComponent","atob","decodeB64","bufferToBase64UrlEncoded","ie11SafeInput","b64Chars","+","/","=","urlEncodeB64","switchFetch","audience","scope","opts","worker","message","to","messageChannel","MessageChannel","port1","onmessage","postMessage","port2","request","headers","ok","status","statusText","responseURL","text","json","blob","clone","const","onload","getAllResponseHeaders","withCredentials","credentials","setRequestHeader","_b","fetchWithTimeout","controller","fetchOptions","abort","finally","getJSON","fetchError","e_1","success","errorMessage","oauthToken","baseUrl","redirect_uri","Content-type","dedupe","getUniqueScopes","_i","scopes","trim","keyPrefix","createKey","client_id","wrapCacheEntry","expiresInTime","expires_in","expiresAt","decodedToken","claims","exp","LocalStorageCache","cacheKey","payload","expiryAdjustmentSeconds","readJson","nowSeconds","refresh_token","newPayload","stripData","writeJson","save","wrappedEntry","TRANSACTION_STORAGE_KEY","storage","transaction","TransactionManager","daysUntilExpire","remove","isNumber","idTokendecoded","verify","id_token","decoded","token","parts","header","signature","payloadJSON","__raw","user","encoded","iss","sub","alg","aud","azp","nonce","max_age","auth_time","leeway","expDate","nbfDate","authTimeDate","setUTCSeconds","parseInt","nbf","stringifyAttribute","stringified","attributes","expires","setMilliseconds","getMilliseconds","toUTCString","secure","sameSite","stringifyAttributes","cookieString","cookies","rdecode","cookie","getAll","CookieStorage","Cookies.get","cookieAttributes","protocol","Cookies.set","Cookies.remove","CookieStorageWithLegacySameSite","SessionStorage","sessionStorage","Lock","GET_TOKEN_SILENTLY_LOCK_KEY","cacheLocationBuilders","memory","InMemoryCache","enclosedCache","localstorage","cacheFactory","issuer","domainUrl","validateCrypto","cacheLocation","cookieStorage","legacySameSiteCookie","transactionManager","tokenIssuer","defaultScope","advancedOptions","useRefreshTokens","Worker","navigator","userAgent","TokenWorker","customOptions","getCustomInitialOptions","Auth0Client","auth0Client","authorizeOptions","code_challenge","withoutDomain","response_type","response_mode","code_challenge_method","_url","verifyIdToken","_parseNumber","stateIn","nonceIn","code_verifier","code_challengeBuffer","fragment","_getParams","_authorizeUrl","authorizeTimeoutInSeconds","codeResult","code","grant_type","authResult","_verifyIdToken","cacheEntry","buildAuthorizeUrl","queryStringFragments","queryString","substr","queryParams","parsedQuery","qp","parseQueryResult","tokenOptions","getTokenSilently","error_1","ignoreCache","getTokenOptions","getAccessTokenFromCache","access_token","accessToken","_c","_getTokenUsingRefreshToken","_getTokenFromIFrame","loginWithPopup","getUser","federated","localOnly","logoutOptions","federatedQuery","prompt","tokenResult","e_2","createAuth0Client","auth0","checkSession"],"mappings":"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"}