{"version":3,"sources":["webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/entries.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/some.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/json/stringify.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/url-search-params.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/array/from.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/get-iterator.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/is-iterable.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js/symbol.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/arrayWithoutHoles.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/createClass.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/defineProperty.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/iterableToArray.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/nonIterableSpread.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/toConsumableArray.js","webpack://[name]/./node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","webpack://[name]/./desktop/static/js/models/domaintypes.js","webpack://[name]/./node_modules/core-js-pure/es/array/from.js","webpack://[name]/./node_modules/core-js-pure/es/array/is-array.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/concat.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/entries.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/filter.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/for-each.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/includes.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/slice.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/some.js","webpack://[name]/./node_modules/core-js-pure/es/instance/concat.js","webpack://[name]/./node_modules/core-js-pure/es/instance/filter.js","webpack://[name]/./node_modules/core-js-pure/es/instance/includes.js","webpack://[name]/./node_modules/core-js-pure/es/instance/slice.js","webpack://[name]/./node_modules/core-js-pure/es/instance/some.js","webpack://[name]/./node_modules/core-js-pure/es/json/stringify.js","webpack://[name]/./node_modules/core-js-pure/es/object/define-properties.js","webpack://[name]/./node_modules/core-js-pure/es/object/define-property.js","webpack://[name]/./node_modules/core-js-pure/es/object/entries.js","webpack://[name]/./node_modules/core-js-pure/es/object/get-own-property-descriptor.js","webpack://[name]/./node_modules/core-js-pure/es/object/get-own-property-descriptors.js","webpack://[name]/./node_modules/core-js-pure/es/object/get-own-property-symbols.js","webpack://[name]/./node_modules/core-js-pure/es/object/keys.js","webpack://[name]/./node_modules/core-js-pure/es/string/virtual/includes.js","webpack://[name]/./node_modules/core-js-pure/es/symbol/index.js","webpack://[name]/./node_modules/core-js-pure/features/array/from.js","webpack://[name]/./node_modules/core-js-pure/features/array/is-array.js","webpack://[name]/./node_modules/core-js-pure/features/get-iterator-method.js","webpack://[name]/./node_modules/core-js-pure/features/get-iterator.js","webpack://[name]/./node_modules/core-js-pure/features/instance/slice.js","webpack://[name]/./node_modules/core-js-pure/features/is-iterable.js","webpack://[name]/./node_modules/core-js-pure/features/object/define-property.js","webpack://[name]/./node_modules/core-js-pure/features/symbol/index.js","webpack://[name]/./node_modules/core-js-pure/internals/a-function.js","webpack://[name]/./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://[name]/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://[name]/./node_modules/core-js-pure/internals/an-instance.js","webpack://[name]/./node_modules/core-js-pure/internals/an-object.js","webpack://[name]/./node_modules/core-js-pure/internals/array-for-each.js","webpack://[name]/./node_modules/core-js-pure/internals/array-from.js","webpack://[name]/./node_modules/core-js-pure/internals/array-includes.js","webpack://[name]/./node_modules/core-js-pure/internals/array-iteration.js","webpack://[name]/./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack://[name]/./node_modules/core-js-pure/internals/array-method-is-strict.js","webpack://[name]/./node_modules/core-js-pure/internals/array-method-uses-to-length.js","webpack://[name]/./node_modules/core-js-pure/internals/array-species-create.js","webpack://[name]/./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack://[name]/./node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack://[name]/./node_modules/core-js-pure/internals/classof-raw.js","webpack://[name]/./node_modules/core-js-pure/internals/classof.js","webpack://[name]/./node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack://[name]/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://[name]/./node_modules/core-js-pure/internals/create-iterator-constructor.js","webpack://[name]/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://[name]/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://[name]/./node_modules/core-js-pure/internals/create-property.js","webpack://[name]/./node_modules/core-js-pure/internals/define-iterator.js","webpack://[name]/./node_modules/core-js-pure/internals/define-well-known-symbol.js","webpack://[name]/./node_modules/core-js-pure/internals/descriptors.js","webpack://[name]/./node_modules/core-js-pure/internals/document-create-element.js","webpack://[name]/./node_modules/core-js-pure/internals/dom-iterables.js","webpack://[name]/./node_modules/core-js-pure/internals/engine-user-agent.js","webpack://[name]/./node_modules/core-js-pure/internals/engine-v8-version.js","webpack://[name]/./node_modules/core-js-pure/internals/entry-virtual.js","webpack://[name]/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://[name]/./node_modules/core-js-pure/internals/export.js","webpack://[name]/./node_modules/core-js-pure/internals/fails.js","webpack://[name]/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://[name]/./node_modules/core-js-pure/internals/get-built-in.js","webpack://[name]/./node_modules/core-js-pure/internals/get-iterator-method.js","webpack://[name]/./node_modules/core-js-pure/internals/get-iterator.js","webpack://[name]/./node_modules/core-js-pure/internals/global.js","webpack://[name]/./node_modules/core-js-pure/internals/has.js","webpack://[name]/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://[name]/./node_modules/core-js-pure/internals/html.js","webpack://[name]/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://[name]/./node_modules/core-js-pure/internals/indexed-object.js","webpack://[name]/./node_modules/core-js-pure/internals/inspect-source.js","webpack://[name]/./node_modules/core-js-pure/internals/internal-state.js","webpack://[name]/./node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack://[name]/./node_modules/core-js-pure/internals/is-array.js","webpack://[name]/./node_modules/core-js-pure/internals/is-forced.js","webpack://[name]/./node_modules/core-js-pure/internals/is-iterable.js","webpack://[name]/./node_modules/core-js-pure/internals/is-object.js","webpack://[name]/./node_modules/core-js-pure/internals/is-pure.js","webpack://[name]/./node_modules/core-js-pure/internals/is-regexp.js","webpack://[name]/./node_modules/core-js-pure/internals/iterators-core.js","webpack://[name]/./node_modules/core-js-pure/internals/iterators.js","webpack://[name]/./node_modules/core-js-pure/internals/native-symbol.js","webpack://[name]/./node_modules/core-js-pure/internals/native-url.js","webpack://[name]/./node_modules/core-js-pure/internals/native-weak-map.js","webpack://[name]/./node_modules/core-js-pure/internals/not-a-regexp.js","webpack://[name]/./node_modules/core-js-pure/internals/object-create.js","webpack://[name]/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://[name]/./node_modules/core-js-pure/internals/object-define-property.js","webpack://[name]/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://[name]/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://[name]/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://[name]/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://[name]/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://[name]/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://[name]/./node_modules/core-js-pure/internals/object-keys.js","webpack://[name]/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://[name]/./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://[name]/./node_modules/core-js-pure/internals/object-to-array.js","webpack://[name]/./node_modules/core-js-pure/internals/object-to-string.js","webpack://[name]/./node_modules/core-js-pure/internals/own-keys.js","webpack://[name]/./node_modules/core-js-pure/internals/path.js","webpack://[name]/./node_modules/core-js-pure/internals/redefine-all.js","webpack://[name]/./node_modules/core-js-pure/internals/redefine.js","webpack://[name]/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://[name]/./node_modules/core-js-pure/internals/set-global.js","webpack://[name]/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://[name]/./node_modules/core-js-pure/internals/shared-key.js","webpack://[name]/./node_modules/core-js-pure/internals/shared-store.js","webpack://[name]/./node_modules/core-js-pure/internals/shared.js","webpack://[name]/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://[name]/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://[name]/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://[name]/./node_modules/core-js-pure/internals/to-integer.js","webpack://[name]/./node_modules/core-js-pure/internals/to-length.js","webpack://[name]/./node_modules/core-js-pure/internals/to-object.js","webpack://[name]/./node_modules/core-js-pure/internals/to-primitive.js","webpack://[name]/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://[name]/./node_modules/core-js-pure/internals/uid.js","webpack://[name]/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://[name]/./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack://[name]/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.concat.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.filter.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.for-each.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.from.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.includes.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.is-array.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.slice.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.some.js","webpack://[name]/./node_modules/core-js-pure/modules/es.json.stringify.js","webpack://[name]/./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack://[name]/./node_modules/core-js-pure/modules/es.math.to-string-tag.js","webpack://[name]/./node_modules/core-js-pure/modules/es.object.define-properties.js","webpack://[name]/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://[name]/./node_modules/core-js-pure/modules/es.object.entries.js","webpack://[name]/./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","webpack://[name]/./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","webpack://[name]/./node_modules/core-js-pure/modules/es.object.keys.js","webpack://[name]/./node_modules/core-js-pure/modules/es.string.includes.js","webpack://[name]/./node_modules/core-js-pure/modules/es.string.iterator.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.match.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.search.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.species.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.split.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack://[name]/./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack://[name]/./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack://[name]/./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack://[name]/./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack://[name]/./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack://[name]/./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack://[name]/./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://[name]/./node_modules/core-js-pure/modules/web.url-search-params.js","webpack://[name]/./node_modules/core-js-pure/stable/array/from.js","webpack://[name]/./node_modules/core-js-pure/stable/array/is-array.js","webpack://[name]/./node_modules/core-js-pure/stable/array/virtual/entries.js","webpack://[name]/./node_modules/core-js-pure/stable/array/virtual/for-each.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/concat.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/entries.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/filter.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/for-each.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/includes.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/slice.js","webpack://[name]/./node_modules/core-js-pure/stable/instance/some.js","webpack://[name]/./node_modules/core-js-pure/stable/json/stringify.js","webpack://[name]/./node_modules/core-js-pure/stable/object/define-properties.js","webpack://[name]/./node_modules/core-js-pure/stable/object/define-property.js","webpack://[name]/./node_modules/core-js-pure/stable/object/entries.js","webpack://[name]/./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","webpack://[name]/./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","webpack://[name]/./node_modules/core-js-pure/stable/object/get-own-property-symbols.js","webpack://[name]/./node_modules/core-js-pure/stable/object/keys.js","webpack://[name]/./node_modules/core-js-pure/stable/symbol/index.js","webpack://[name]/./node_modules/core-js-pure/stable/url-search-params/index.js","webpack://[name]/./node_modules/core-js-pure/web/url-search-params.js","webpack://[name]/./node_modules/iframe-resizer/index.js","webpack://[name]/./node_modules/iframe-resizer/js/iframeResizer.contentWindow.js","webpack://[name]/./node_modules/iframe-resizer/js/iframeResizer.js","webpack://[name]/./node_modules/iframe-resizer/js/index.js","webpack://[name]/webpack/bootstrap","webpack://[name]/webpack/runtime/compat get default export","webpack://[name]/webpack/runtime/define property getters","webpack://[name]/webpack/runtime/global","webpack://[name]/webpack/runtime/hasOwnProperty shorthand","webpack://[name]/webpack/runtime/make namespace object","webpack://[name]/./desktop/static/js/iframe-common.js","webpack://[name]/./desktop/static/js/is-staging.js","webpack://[name]/./desktop/static/js/models/InjectedData.js","webpack://[name]/./desktop/static/js/utils.js","webpack://[name]/./desktop/static/js/runtime-config.js","webpack://[name]/./desktop/static/js/answers-experience-frame.js","webpack://[name]/./desktop/static/js/iframe.js"],"names":["exports","STAGING","PROD","require","iframeInitialized","iframeMessageQueue","domain","answersExperienceFrame","isLocalHost","window","location","host","split","containerEl","document","querySelector","iframe","createElement","pathToIndex","dataset","path","allow","calcFrameSrc","paramString","search","substr","length","params","verticalUrl","referrerPageUrl","encodeURIComponent","referrer","new_params","_filterInstanceProperty","call","param","i","kv","push","hostname","iframeUrl","console","log","join","src","frameBorder","style","width","minWidth","id","addEventListener","documentElement","scrollTop","body","onpopstate","contentWindow","replace","appendChild","e","isTrusted","sendToIframe","eventType","type","iFrameResize","checkOrigin","onInit","initAnswersExperience","hasManuallyInitialized","runtimeConfig","getAll","shift","onMessage","messageData","_context","message","JSON","parse","action","iframeOffsetTop","offsetTop","safeDecode","value","_includesInstanceProperty","decodeURIComponent","messageParams","_URLSearchParams","_concatInstanceProperty","_toConsumableArray","_iterator","_createForOfIteratorHelper","_entriesInstanceProperty","_step","s","n","done","_step$value","_slicedToArray","key","decodedValue","set","err","f","pageTitle","title","iFrameResizer","resize","currLocation","href","newLocation","history","replaceState","query","obj","sendMessage","stagingDomains","defaultStagingDomains","_stagingDomains","currentUrl","_someInstanceProperty","InjectedData","_classCallCheck","injectedData","process","_createClass","injectedPagesData","pages","isStaging","getStagingDomain","getProdDomain","_getDomain","DomainTypes","domainType","injectedDomains","_getInjectedPagesDomains","isHttps","protocol","domains","toLowerCase","localeCode","localeCodeSections","language","parseModifierAndRegion","numSections","ambiguous","modifier","region","error","concat","capitalizeFirstLetterOnly","raw","charAt","toUpperCase","_sliceInstanceProperty","parsedLocale","_objectSpread","RuntimeConfig","initialConfig","arguments","undefined","_data","_generalListeners","_keySpecificListeners","_validateSet","_callGeneralListeners","_callKeySpecificListeners","listener","callback","Error","_this","_forEachInstanceProperty","_this2","_context2","get","valueType","canonicalizeBoolean","newConfig","_defineProperty","_JSON$stringify","_context3","AnswersExperienceFrame","_hasManuallyInitialized","registerListener","updatedConfig","config","_Object$entries","_ref","_ref2","getDomain","generateIFrame"],"mappings":"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","file":"iframe.js","sourcesContent":["module.exports = require(\"core-js-pure/stable/array/from\");","module.exports = require(\"core-js-pure/stable/array/is-array\");","module.exports = require(\"core-js-pure/stable/instance/concat\");","module.exports = require(\"core-js-pure/stable/instance/entries\");","module.exports = require(\"core-js-pure/stable/instance/filter\");","module.exports = require(\"core-js-pure/stable/instance/for-each\");","module.exports = require(\"core-js-pure/stable/instance/includes\");","module.exports = require(\"core-js-pure/stable/instance/slice\");","module.exports = require(\"core-js-pure/stable/instance/some\");","module.exports = require(\"core-js-pure/stable/json/stringify\");","module.exports = require(\"core-js-pure/stable/object/define-properties\");","module.exports = require(\"core-js-pure/stable/object/define-property\");","module.exports = require(\"core-js-pure/stable/object/entries\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-symbols\");","module.exports = require(\"core-js-pure/stable/object/keys\");","module.exports = require(\"core-js-pure/stable/symbol\");","module.exports = require(\"core-js-pure/stable/url-search-params\");","module.exports = require(\"core-js-pure/features/array/from\");","module.exports = require(\"core-js-pure/features/array/is-array\");","module.exports = require(\"core-js-pure/features/get-iterator-method\");","module.exports = require(\"core-js-pure/features/get-iterator\");","module.exports = require(\"core-js-pure/features/instance/slice\");","module.exports = require(\"core-js-pure/features/is-iterable\");","module.exports = require(\"core-js-pure/features/object/define-property\");","module.exports = require(\"core-js-pure/features/symbol\");","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var _Array$isArray = require(\"../core-js/array/is-array\");\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var _Array$isArray = require(\"../core-js/array/is-array\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var _Object$defineProperty = require(\"../core-js/object/define-property\");\n\nfunction _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\n _Object$defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","var _Object$defineProperty = require(\"../core-js/object/define-property\");\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var _Array$from = require(\"../core-js/array/from\");\n\nvar _isIterable = require(\"../core-js/is-iterable\");\n\nvar _Symbol = require(\"../core-js/symbol\");\n\nfunction _iterableToArray(iter) {\n if (typeof _Symbol !== \"undefined\" && _isIterable(Object(iter))) return _Array$from(iter);\n}\n\nmodule.exports = _iterableToArray;","var _getIterator = require(\"../core-js/get-iterator\");\n\nvar _isIterable = require(\"../core-js/is-iterable\");\n\nvar _Symbol = require(\"../core-js/symbol\");\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof _Symbol === \"undefined\" || !_isIterable(Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var _Array$from = require(\"../core-js/array/from\");\n\nvar _sliceInstanceProperty = require(\"../core-js/instance/slice\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","exports.DomainTypes = {\n STAGING: 'staging',\n PROD: 'prod'\n};","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\n","require('../../../modules/es.array.iterator');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').entries;\n","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n","require('../../../modules/es.array.for-each');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').forEach;\n","require('../../../modules/es.array.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').includes;\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","require('../../../modules/es.array.some');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').some;\n","var concat = require('../array/virtual/concat');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.concat;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.concat) ? concat : own;\n};\n","var filter = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filter) ? filter : own;\n};\n","var arrayIncludes = require('../array/virtual/includes');\nvar stringIncludes = require('../string/virtual/includes');\n\nvar ArrayPrototype = Array.prototype;\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.includes;\n if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.includes)) return arrayIncludes;\n if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.includes)) {\n return stringIncludes;\n } return own;\n};\n","var slice = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.slice) ? slice : own;\n};\n","var some = require('../array/virtual/some');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.some;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.some) ? some : own;\n};\n","require('../../modules/es.json.stringify');\nvar core = require('../../internals/path');\n\nif (!core.JSON) core.JSON = { stringify: JSON.stringify };\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function stringify(it, replacer, space) {\n return core.JSON.stringify.apply(null, arguments);\n};\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","require('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","require('../../../modules/es.string.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').includes;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar getIterator = require('../internals/get-iterator');\n\nmodule.exports = getIterator;\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar isIterable = require('../internals/is-iterable');\n\nmodule.exports = isIterable;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.observable');\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\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","module.exports = function () { /* empty */ };\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 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","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\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","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 bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\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');\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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\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 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","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","'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 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","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","'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","'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","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\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","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","// 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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\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","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof NativeConstructor) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return NativeConstructor.apply(this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\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 PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || (path[TARGET] = {});\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && has(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty === typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && typeof sourceProperty == 'function') resultProperty = bind(Function.call, sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n target[key] = resultProperty;\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!has(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n path[VIRTUAL_PROTOTYPE][key] = sourceProperty;\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\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 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 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 anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\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","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\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 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","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 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","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\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 classof = require('../internals/classof');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = true;\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","'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","module.exports = {};\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 fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\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 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 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 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 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 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 toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\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 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 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","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","'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","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 DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\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 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","module.exports = {};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) {\n if (options && options.unsafe && target[key]) target[key] = src[key];\n else redefine(target, key, src[key], options);\n } return target;\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n};\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","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 TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!has(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\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","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 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.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\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","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","// 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","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 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 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 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 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 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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\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","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\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 $ = 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","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.github.io/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\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","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar re = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar fix = function (match, offset, string) {\n var prev = string.charAt(offset - 1);\n var next = string.charAt(offset + 1);\n if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {\n return '\\\\u' + match.charCodeAt(0).toString(16);\n } return match;\n};\n\nvar FORCED = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nif ($stringify) {\n // https://github.com/tc39/proposal-well-formed-stringify\n $({ target: 'JSON', stat: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var result = $stringify.apply(null, arguments);\n return typeof result == 'string' ? result.replace(re, fix) : result;\n }\n });\n}\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\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","'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 defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","require('./es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../../es/array/virtual/entries');\n\nmodule.exports = parent;\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","require('../../modules/web.dom-collections.iterator');\nvar entries = require('../array/virtual/entries');\nvar classof = require('../../internals/classof');\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.entries;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.entries)\n // eslint-disable-next-line no-prototype-builtins\n || DOMIterables.hasOwnProperty(classof(it)) ? entries : own;\n};\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","require('../../modules/web.dom-collections.iterator');\nvar forEach = require('../array/virtual/for-each');\nvar classof = require('../../internals/classof');\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.forEach)\n // eslint-disable-next-line no-prototype-builtins\n || DOMIterables.hasOwnProperty(classof(it)) ? forEach : own;\n};\n","var parent = require('../../es/instance/includes');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/some');\n\nmodule.exports = parent;\n","var parent = require('../../es/json/stringify');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/entries');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol');\n\nmodule.exports = parent;\n","var parent = require('../../web/url-search-params');\n\nmodule.exports = parent;\n","require('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URLSearchParams;\n","module.exports = require('./js')\n","/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function () {\n warn('onMessage function not defined')\n },\n onReady = function () {},\n onPageInfo = function () {},\n customCalcMethods = {\n height: function () {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function () {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n get: function () {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function () {\n previous = getNow()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function () {\n var now = getNow()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n var getNow =\n Date.now ||\n function () {\n /* istanbul ignore next */ // Not testable in PhantonJS\n return new Date().getTime()\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.substr(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined !== data[1] ? Number(data[1]) : bodyMargin // For V1 compatibility\n calculateWidth = undefined !== data[2] ? strBool(data[2]) : calculateWidth\n logging = undefined !== data[3] ? strBool(data[3]) : logging\n interval = undefined !== data[4] ? Number(data[4]) : interval\n autoResize = undefined !== data[6] ? strBool(data[6]) : autoResize\n bodyMarginStr = data[7]\n heightCalcMode = undefined !== data[8] ? data[8] : heightCalcMode\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined !== data[11] ? Number(data[11]) : tolerance\n inPageLinks.enable = undefined !== data[12] ? strBool(data[12]) : false\n resizeFrom = undefined !== data[13] ? data[13] : resizeFrom\n widthCalcMode = undefined !== data[14] ? data[14] : widthCalcMode\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function (eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function (eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventName: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n // function stopMsgsToParent() {\n // log('Disable outgoing messages')\n // sendPermit = false\n // }\n\n // function removeMsgListener() {\n // log('Remove event listener: Message')\n // removeEventListener(window, 'message', receiver)\n // }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n // function teardown() {\n // stopMsgsToParent()\n // removeMsgListener()\n // if (true === autoResize) stopEventListeners()\n // }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset !== undefined\n ? window.pageXOffset\n : document.documentElement.scrollLeft,\n y:\n window.pageYOffset !== undefined\n ? window.pageYOffset\n : document.documentElement.scrollTop\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined !== target) {\n jumpToTarget(target)\n } else {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n }\n }\n\n function checkLocationHash() {\n if ('' !== location.hash && '#' !== location.hash) {\n findTarget(location.href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize))\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n // teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function () {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function () {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src, undefined, undefined)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function () {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null !== retVal ? retVal[prop] : 0\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = getNow()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = getNow() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimention) {\n return [\n dimention.bodyOffset(),\n dimention.bodyScroll(),\n dimention.documentElementOffset(),\n dimention.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (0 === elements.length) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function () {\n return getHeight.bodyOffset() // Backwards compatability\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined !== customHeight ? customHeight : getHeight[heightCalcMode]()\n currentWidth =\n undefined !== customWidth ? customWidth : getWidth[widthCalcMode]()\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (!isDoubleFiredEvent()) {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n } else {\n log('Trigger event cancelled: ' + triggerEvent)\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function () {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined !== msg ? ':' + msg : '')\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function () {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (!initLock) {\n log('Page size reset by host page')\n triggerReset('resetPage')\n } else {\n log('Page reset ignored by init')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatability\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).substr(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.substr(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n ('jQuery' in window && 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibity.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n\n \n})()\n","/*\n * File: iframeResizer.js\n * Desc: Force iframes to size to content.\n * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n * Contributor: Jure Mav - jure.mav@gmail.com\n * Contributor: Reed Dadoune - reed@dadoune.com\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var count = 0,\n logEnabled = false,\n hiddenCheckEnabled = false,\n msgHeader = 'message',\n msgHeaderLen = msgHeader.length,\n msgId = '[iFrameSizer]', // Must match iframe msg ID\n msgIdLen = msgId.length,\n pagePosition = null,\n requestAnimationFrame = window.requestAnimationFrame,\n resetRequiredMethods = {\n max: 1,\n scroll: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n settings = {},\n timer = null,\n defaults = {\n autoResize: true,\n bodyBackground: null,\n bodyMargin: null,\n bodyMarginV1: 8,\n bodyPadding: null,\n checkOrigin: true,\n inPageLinks: false,\n enablePublicMethods: true,\n heightCalculationMethod: 'bodyOffset',\n id: 'iFrameResizer',\n interval: 32,\n log: false,\n maxHeight: Infinity,\n maxWidth: Infinity,\n minHeight: 0,\n minWidth: 0,\n resizeFrom: 'parent',\n scrolling: false,\n sizeHeight: true,\n sizeWidth: false,\n warningTimeout: 5000,\n tolerance: 0,\n widthCalculationMethod: 'scroll',\n onClose: function () {\n return true\n },\n onClosed: function () {},\n onInit: function () {},\n onMessage: function () {\n warn('onMessage function not defined')\n },\n onResized: function () {},\n onScroll: function () {\n return true\n }\n }\n\n function getMutationObserver() {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n )\n }\n\n function addEventListener(el, evt, func) {\n el.addEventListener(evt, func, false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function setupRequestAnimationFrame() {\n var vendors = ['moz', 'webkit', 'o', 'ms']\n var x\n\n // Remove vendor prefixing if prefixed and break early if not\n for (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) {\n requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']\n }\n\n if (!requestAnimationFrame) {\n log('setup', 'RequestAnimationFrame not supported')\n } else {\n // Firefox extension content-scripts have a globalThis object that is not the same as window.\n // Binding `requestAnimationFrame` to window allows the function to work and prevents errors\n // being thrown when run in that context, and should be a no-op in every other context.\n requestAnimationFrame = requestAnimationFrame.bind(window)\n }\n }\n\n function getMyID(iframeId) {\n var retStr = 'Host page: ' + iframeId\n\n if (window.top !== window.self) {\n if (window.parentIFrame && window.parentIFrame.getId) {\n retStr = window.parentIFrame.getId() + ': ' + iframeId\n } else {\n retStr = 'Nested host page: ' + iframeId\n }\n }\n\n return retStr\n }\n\n function formatLogHeader(iframeId) {\n return msgId + '[' + getMyID(iframeId) + ']'\n }\n\n function isLogEnabled(iframeId) {\n return settings[iframeId] ? settings[iframeId].log : logEnabled\n }\n\n function log(iframeId, msg) {\n output('log', iframeId, msg, isLogEnabled(iframeId))\n }\n\n function info(iframeId, msg) {\n output('info', iframeId, msg, isLogEnabled(iframeId))\n }\n\n function warn(iframeId, msg) {\n output('warn', iframeId, msg, true)\n }\n\n function output(type, iframeId, msg, enabled) {\n if (true === enabled && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console[type](formatLogHeader(iframeId), msg)\n }\n }\n\n function iFrameListener(event) {\n function resizeIFrame() {\n function resize() {\n setSize(messageData)\n setPagePosition(iframeId)\n on('onResized', messageData)\n }\n\n ensureInRange('Height')\n ensureInRange('Width')\n\n syncResize(resize, messageData, 'init')\n }\n\n function processMsg() {\n var data = msg.substr(msgIdLen).split(':')\n var height = data[1] ? parseInt(data[1], 10) : 0\n var iframe = settings[data[0]] && settings[data[0]].iframe\n var compStyle = getComputedStyle(iframe)\n\n return {\n iframe: iframe,\n id: data[0],\n height: height + getPaddingEnds(compStyle) + getBorderEnds(compStyle),\n width: data[2],\n type: data[3]\n }\n }\n\n function getPaddingEnds(compStyle) {\n if (compStyle.boxSizing !== 'border-box') {\n return 0\n }\n var top = compStyle.paddingTop ? parseInt(compStyle.paddingTop, 10) : 0\n var bot = compStyle.paddingBottom\n ? parseInt(compStyle.paddingBottom, 10)\n : 0\n return top + bot\n }\n\n function getBorderEnds(compStyle) {\n if (compStyle.boxSizing !== 'border-box') {\n return 0\n }\n var top = compStyle.borderTopWidth\n ? parseInt(compStyle.borderTopWidth, 10)\n : 0\n var bot = compStyle.borderBottomWidth\n ? parseInt(compStyle.borderBottomWidth, 10)\n : 0\n return top + bot\n }\n\n function ensureInRange(Dimension) {\n var max = Number(settings[iframeId]['max' + Dimension]),\n min = Number(settings[iframeId]['min' + Dimension]),\n dimension = Dimension.toLowerCase(),\n size = Number(messageData[dimension])\n\n log(iframeId, 'Checking ' + dimension + ' is in range ' + min + '-' + max)\n\n if (size < min) {\n size = min\n log(iframeId, 'Set ' + dimension + ' to min value')\n }\n\n if (size > max) {\n size = max\n log(iframeId, 'Set ' + dimension + ' to max value')\n }\n\n messageData[dimension] = '' + size\n }\n\n function isMessageFromIFrame() {\n function checkAllowedOrigin() {\n function checkList() {\n var i = 0,\n retCode = false\n\n log(\n iframeId,\n 'Checking connection is from allowed list of origins: ' +\n checkOrigin\n )\n\n for (; i < checkOrigin.length; i++) {\n if (checkOrigin[i] === origin) {\n retCode = true\n break\n }\n }\n return retCode\n }\n\n function checkSingle() {\n var remoteHost = settings[iframeId] && settings[iframeId].remoteHost\n log(iframeId, 'Checking connection is from: ' + remoteHost)\n return origin === remoteHost\n }\n\n return checkOrigin.constructor === Array ? checkList() : checkSingle()\n }\n\n var origin = event.origin,\n checkOrigin = settings[iframeId] && settings[iframeId].checkOrigin\n\n if (checkOrigin && '' + origin !== 'null' && !checkAllowedOrigin()) {\n throw new Error(\n 'Unexpected message received from: ' +\n origin +\n ' for ' +\n messageData.iframe.id +\n '. Message was: ' +\n event.data +\n '. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.'\n )\n }\n\n return true\n }\n\n function isMessageForUs() {\n return (\n msgId === ('' + msg).substr(0, msgIdLen) &&\n msg.substr(msgIdLen).split(':')[0] in settings\n ) // ''+Protects against non-string msg\n }\n\n function isMessageFromMetaParent() {\n // Test if this message is from a parent above us. This is an ugly test, however, updating\n // the message format would break backwards compatibity.\n var retCode = messageData.type in { true: 1, false: 1, undefined: 1 }\n\n if (retCode) {\n log(iframeId, 'Ignoring init message from meta parent page')\n }\n\n return retCode\n }\n\n function getMsgBody(offset) {\n return msg.substr(msg.indexOf(':') + msgHeaderLen + offset)\n }\n\n function forwardMsgFromIFrame(msgBody) {\n log(\n iframeId,\n 'onMessage passed: {iframe: ' +\n messageData.iframe.id +\n ', message: ' +\n msgBody +\n '}'\n )\n on('onMessage', {\n iframe: messageData.iframe,\n message: JSON.parse(msgBody)\n })\n log(iframeId, '--')\n }\n\n function getPageInfo() {\n var bodyPosition = document.body.getBoundingClientRect(),\n iFramePosition = messageData.iframe.getBoundingClientRect()\n\n return JSON.stringify({\n iframeHeight: iFramePosition.height,\n iframeWidth: iFramePosition.width,\n clientHeight: Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n ),\n clientWidth: Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n ),\n offsetTop: parseInt(iFramePosition.top - bodyPosition.top, 10),\n offsetLeft: parseInt(iFramePosition.left - bodyPosition.left, 10),\n scrollTop: window.pageYOffset,\n scrollLeft: window.pageXOffset,\n documentHeight: document.documentElement.clientHeight,\n documentWidth: document.documentElement.clientWidth,\n windowHeight: window.innerHeight,\n windowWidth: window.innerWidth\n })\n }\n\n function sendPageInfoToIframe(iframe, iframeId) {\n function debouncedTrigger() {\n trigger('Send Page Info', 'pageInfo:' + getPageInfo(), iframe, iframeId)\n }\n debounceFrameEvents(debouncedTrigger, 32, iframeId)\n }\n\n function startPageInfoMonitor() {\n function setListener(type, func) {\n function sendPageInfo() {\n if (settings[id]) {\n sendPageInfoToIframe(settings[id].iframe, id)\n } else {\n stop()\n }\n }\n\n ;['scroll', 'resize'].forEach(function (evt) {\n log(id, type + evt + ' listener for sendPageInfo')\n func(window, evt, sendPageInfo)\n })\n }\n\n function stop() {\n setListener('Remove ', removeEventListener)\n }\n\n function start() {\n setListener('Add ', addEventListener)\n }\n\n var id = iframeId // Create locally scoped copy of iFrame ID\n\n start()\n\n if (settings[id]) {\n settings[id].stopPageInfo = stop\n }\n }\n\n function stopPageInfoMonitor() {\n if (settings[iframeId] && settings[iframeId].stopPageInfo) {\n settings[iframeId].stopPageInfo()\n delete settings[iframeId].stopPageInfo\n }\n }\n\n function checkIFrameExists() {\n var retBool = true\n\n if (null === messageData.iframe) {\n warn(iframeId, 'IFrame (' + messageData.id + ') not found')\n retBool = false\n }\n return retBool\n }\n\n function getElementPosition(target) {\n var iFramePosition = target.getBoundingClientRect()\n\n getPagePosition(iframeId)\n\n return {\n x: Math.floor(Number(iFramePosition.left) + Number(pagePosition.x)),\n y: Math.floor(Number(iFramePosition.top) + Number(pagePosition.y))\n }\n }\n\n function scrollRequestFromChild(addOffset) {\n /* istanbul ignore next */ // Not testable in Karma\n function reposition() {\n pagePosition = newPosition\n scrollTo()\n log(iframeId, '--')\n }\n\n function calcOffset() {\n return {\n x: Number(messageData.width) + offset.x,\n y: Number(messageData.height) + offset.y\n }\n }\n\n function scrollParent() {\n if (window.parentIFrame) {\n window.parentIFrame['scrollTo' + (addOffset ? 'Offset' : '')](\n newPosition.x,\n newPosition.y\n )\n } else {\n warn(\n iframeId,\n 'Unable to scroll to requested position, window.parentIFrame not found'\n )\n }\n }\n\n var offset = addOffset\n ? getElementPosition(messageData.iframe)\n : { x: 0, y: 0 },\n newPosition = calcOffset()\n\n log(\n iframeId,\n 'Reposition requested from iFrame (offset x:' +\n offset.x +\n ' y:' +\n offset.y +\n ')'\n )\n\n if (window.top !== window.self) {\n scrollParent()\n } else {\n reposition()\n }\n }\n\n function scrollTo() {\n if (false !== on('onScroll', pagePosition)) {\n setPagePosition(iframeId)\n } else {\n unsetPagePosition()\n }\n }\n\n function findTarget(location) {\n function jumpToTarget() {\n var jumpPosition = getElementPosition(target)\n\n log(\n iframeId,\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n pagePosition = {\n x: jumpPosition.x,\n y: jumpPosition.y\n }\n\n scrollTo()\n log(iframeId, '--')\n }\n\n function jumpToParent() {\n if (window.parentIFrame) {\n window.parentIFrame.moveToAnchor(hash)\n } else {\n log(\n iframeId,\n 'In page link #' +\n hash +\n ' not found and window.parentIFrame not found'\n )\n }\n }\n\n var hash = location.split('#')[1] || '',\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (target) {\n jumpToTarget()\n } else if (window.top !== window.self) {\n jumpToParent()\n } else {\n log(iframeId, 'In page link #' + hash + ' not found')\n }\n }\n\n function on(funcName, val) {\n return chkEvent(iframeId, funcName, val)\n }\n\n function actionMsg() {\n if (settings[iframeId] && settings[iframeId].firstRun) firstRun()\n\n switch (messageData.type) {\n case 'close':\n closeIFrame(messageData.iframe)\n break\n\n case 'message':\n forwardMsgFromIFrame(getMsgBody(6))\n break\n\n case 'autoResize':\n settings[iframeId].autoResize = JSON.parse(getMsgBody(9))\n break\n\n case 'scrollTo':\n scrollRequestFromChild(false)\n break\n\n case 'scrollToOffset':\n scrollRequestFromChild(true)\n break\n\n case 'pageInfo':\n sendPageInfoToIframe(\n settings[iframeId] && settings[iframeId].iframe,\n iframeId\n )\n startPageInfoMonitor()\n break\n\n case 'pageInfoStop':\n stopPageInfoMonitor()\n break\n\n case 'inPageLink':\n findTarget(getMsgBody(9))\n break\n\n case 'reset':\n resetIFrame(messageData)\n break\n\n case 'init':\n resizeIFrame()\n on('onInit', messageData.iframe)\n break\n\n default:\n resizeIFrame()\n }\n }\n\n function hasSettings(iframeId) {\n var retBool = true\n\n if (!settings[iframeId]) {\n retBool = false\n warn(\n messageData.type +\n ' No settings for ' +\n iframeId +\n '. Message was: ' +\n msg\n )\n }\n\n return retBool\n }\n\n function iFrameReadyMsgReceived() {\n // eslint-disable-next-line no-restricted-syntax, guard-for-in\n for (var iframeId in settings) {\n trigger(\n 'iFrame requested init',\n createOutgoingMsg(iframeId),\n settings[iframeId].iframe,\n iframeId\n )\n }\n }\n\n function firstRun() {\n if (settings[iframeId]) {\n settings[iframeId].firstRun = false\n }\n }\n\n var msg = event.data,\n messageData = {},\n iframeId = null\n\n if ('[iFrameResizerChild]Ready' === msg) {\n iFrameReadyMsgReceived()\n } else if (isMessageForUs()) {\n messageData = processMsg()\n iframeId = messageData.id\n if (settings[iframeId]) {\n settings[iframeId].loaded = true\n }\n\n if (!isMessageFromMetaParent() && hasSettings(iframeId)) {\n log(iframeId, 'Received: ' + msg)\n\n if (checkIFrameExists() && isMessageFromIFrame()) {\n actionMsg()\n }\n }\n } else {\n info(iframeId, 'Ignored: ' + msg)\n }\n }\n\n function chkEvent(iframeId, funcName, val) {\n var func = null,\n retVal = null\n\n if (settings[iframeId]) {\n func = settings[iframeId][funcName]\n\n if ('function' === typeof func) {\n retVal = func(val)\n } else {\n throw new TypeError(\n funcName + ' on iFrame[' + iframeId + '] is not a function'\n )\n }\n }\n\n return retVal\n }\n\n function removeIframeListeners(iframe) {\n var iframeId = iframe.id\n delete settings[iframeId]\n }\n\n function closeIFrame(iframe) {\n var iframeId = iframe.id\n if (chkEvent(iframeId, 'onClose', iframeId) === false) {\n log(iframeId, 'Close iframe cancelled by onClose event')\n return\n }\n log(iframeId, 'Removing iFrame: ' + iframeId)\n\n try {\n // Catch race condition error with React\n if (iframe.parentNode) {\n iframe.parentNode.removeChild(iframe)\n }\n } catch (error) {\n warn(error)\n }\n\n chkEvent(iframeId, 'onClosed', iframeId)\n log(iframeId, '--')\n removeIframeListeners(iframe)\n }\n\n function getPagePosition(iframeId) {\n if (null === pagePosition) {\n pagePosition = {\n x:\n window.pageXOffset !== undefined\n ? window.pageXOffset\n : document.documentElement.scrollLeft,\n y:\n window.pageYOffset !== undefined\n ? window.pageYOffset\n : document.documentElement.scrollTop\n }\n log(\n iframeId,\n 'Get page position: ' + pagePosition.x + ',' + pagePosition.y\n )\n }\n }\n\n function setPagePosition(iframeId) {\n if (null !== pagePosition) {\n window.scrollTo(pagePosition.x, pagePosition.y)\n log(\n iframeId,\n 'Set page position: ' + pagePosition.x + ',' + pagePosition.y\n )\n unsetPagePosition()\n }\n }\n\n function unsetPagePosition() {\n pagePosition = null\n }\n\n function resetIFrame(messageData) {\n function reset() {\n setSize(messageData)\n trigger('reset', 'reset', messageData.iframe, messageData.id)\n }\n\n log(\n messageData.id,\n 'Size reset requested by ' +\n ('init' === messageData.type ? 'host page' : 'iFrame')\n )\n getPagePosition(messageData.id)\n syncResize(reset, messageData, 'reset')\n }\n\n function setSize(messageData) {\n function setDimension(dimension) {\n if (!messageData.id) {\n log('undefined', 'messageData id not set')\n return\n }\n messageData.iframe.style[dimension] = messageData[dimension] + 'px'\n log(\n messageData.id,\n 'IFrame (' +\n iframeId +\n ') ' +\n dimension +\n ' set to ' +\n messageData[dimension] +\n 'px'\n )\n }\n\n function chkZero(dimension) {\n // FireFox sets dimension of hidden iFrames to zero.\n // So if we detect that set up an event to check for\n // when iFrame becomes visible.\n\n /* istanbul ignore next */ // Not testable in PhantomJS\n if (!hiddenCheckEnabled && '0' === messageData[dimension]) {\n hiddenCheckEnabled = true\n log(iframeId, 'Hidden iFrame detected, creating visibility listener')\n fixHiddenIFrames()\n }\n }\n\n function processDimension(dimension) {\n setDimension(dimension)\n chkZero(dimension)\n }\n\n var iframeId = messageData.iframe.id\n\n if (settings[iframeId]) {\n if (settings[iframeId].sizeHeight) {\n processDimension('height')\n }\n if (settings[iframeId].sizeWidth) {\n processDimension('width')\n }\n }\n }\n\n function syncResize(func, messageData, doNotSync) {\n /* istanbul ignore if */ // Not testable in PhantomJS\n if (\n doNotSync !== messageData.type &&\n requestAnimationFrame &&\n // including check for jasmine because had trouble getting spy to work in unit test using requestAnimationFrame\n !window.jasmine\n ) {\n log(messageData.id, 'Requesting animation frame')\n requestAnimationFrame(func)\n } else {\n func()\n }\n }\n\n function trigger(calleeMsg, msg, iframe, id, noResponseWarning) {\n function postMessageToIFrame() {\n var target = settings[id] && settings[id].targetOrigin\n log(\n id,\n '[' +\n calleeMsg +\n '] Sending msg to iframe[' +\n id +\n '] (' +\n msg +\n ') targetOrigin: ' +\n target\n )\n iframe.contentWindow.postMessage(msgId + msg, target)\n }\n\n function iFrameNotFound() {\n warn(id, '[' + calleeMsg + '] IFrame(' + id + ') not found')\n }\n\n function chkAndSend() {\n if (\n iframe &&\n 'contentWindow' in iframe &&\n null !== iframe.contentWindow\n ) {\n // Null test for PhantomJS\n postMessageToIFrame()\n } else {\n iFrameNotFound()\n }\n }\n\n function warnOnNoResponse() {\n function warning() {\n if (settings[id] && !settings[id].loaded && !errorShown) {\n errorShown = true\n warn(\n id,\n 'IFrame has not responded within ' +\n settings[id].warningTimeout / 1000 +\n ' seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.'\n )\n }\n }\n\n if (\n !!noResponseWarning &&\n settings[id] &&\n !!settings[id].warningTimeout\n ) {\n settings[id].msgTimeout = setTimeout(\n warning,\n settings[id].warningTimeout\n )\n }\n }\n\n var errorShown = false\n\n id = id || iframe.id\n\n if (settings[id]) {\n chkAndSend()\n warnOnNoResponse()\n }\n }\n\n function createOutgoingMsg(iframeId) {\n return (\n iframeId +\n ':' +\n settings[iframeId].bodyMarginV1 +\n ':' +\n settings[iframeId].sizeWidth +\n ':' +\n settings[iframeId].log +\n ':' +\n settings[iframeId].interval +\n ':' +\n settings[iframeId].enablePublicMethods +\n ':' +\n settings[iframeId].autoResize +\n ':' +\n settings[iframeId].bodyMargin +\n ':' +\n settings[iframeId].heightCalculationMethod +\n ':' +\n settings[iframeId].bodyBackground +\n ':' +\n settings[iframeId].bodyPadding +\n ':' +\n settings[iframeId].tolerance +\n ':' +\n settings[iframeId].inPageLinks +\n ':' +\n settings[iframeId].resizeFrom +\n ':' +\n settings[iframeId].widthCalculationMethod\n )\n }\n\n function setupIFrame(iframe, options) {\n function setLimits() {\n function addStyle(style) {\n if (\n Infinity !== settings[iframeId][style] &&\n 0 !== settings[iframeId][style]\n ) {\n iframe.style[style] = settings[iframeId][style] + 'px'\n log(\n iframeId,\n 'Set ' + style + ' = ' + settings[iframeId][style] + 'px'\n )\n }\n }\n\n function chkMinMax(dimension) {\n if (\n settings[iframeId]['min' + dimension] >\n settings[iframeId]['max' + dimension]\n ) {\n throw new Error(\n 'Value for min' +\n dimension +\n ' can not be greater than max' +\n dimension\n )\n }\n }\n\n chkMinMax('Height')\n chkMinMax('Width')\n\n addStyle('maxHeight')\n addStyle('minHeight')\n addStyle('maxWidth')\n addStyle('minWidth')\n }\n\n function newId() {\n var id = (options && options.id) || defaults.id + count++\n if (null !== document.getElementById(id)) {\n id += count++\n }\n return id\n }\n\n function ensureHasId(iframeId) {\n if ('' === iframeId) {\n // eslint-disable-next-line no-multi-assign\n iframe.id = iframeId = newId()\n logEnabled = (options || {}).log\n log(\n iframeId,\n 'Added missing iframe ID: ' + iframeId + ' (' + iframe.src + ')'\n )\n }\n\n return iframeId\n }\n\n function setScrolling() {\n log(\n iframeId,\n 'IFrame scrolling ' +\n (settings[iframeId] && settings[iframeId].scrolling\n ? 'enabled'\n : 'disabled') +\n ' for ' +\n iframeId\n )\n iframe.style.overflow =\n false === (settings[iframeId] && settings[iframeId].scrolling)\n ? 'hidden'\n : 'auto'\n switch (settings[iframeId] && settings[iframeId].scrolling) {\n case 'omit':\n break\n\n case true:\n iframe.scrolling = 'yes'\n break\n\n case false:\n iframe.scrolling = 'no'\n break\n\n default:\n iframe.scrolling = settings[iframeId]\n ? settings[iframeId].scrolling\n : 'no'\n }\n }\n\n // The V1 iFrame script expects an int, where as in V2 expects a CSS\n // string value such as '1px 3em', so if we have an int for V2, set V1=V2\n // and then convert V2 to a string PX value.\n function setupBodyMarginValues() {\n if (\n 'number' ===\n typeof (settings[iframeId] && settings[iframeId].bodyMargin) ||\n '0' === (settings[iframeId] && settings[iframeId].bodyMargin)\n ) {\n settings[iframeId].bodyMarginV1 = settings[iframeId].bodyMargin\n settings[iframeId].bodyMargin =\n '' + settings[iframeId].bodyMargin + 'px'\n }\n }\n\n function checkReset() {\n // Reduce scope of firstRun to function, because IE8's JS execution\n // context stack is borked and this value gets externally\n // changed midway through running this function!!!\n var firstRun = settings[iframeId] && settings[iframeId].firstRun,\n resetRequertMethod =\n settings[iframeId] &&\n settings[iframeId].heightCalculationMethod in resetRequiredMethods\n\n if (!firstRun && resetRequertMethod) {\n resetIFrame({ iframe: iframe, height: 0, width: 0, type: 'init' })\n }\n }\n\n function setupIFrameObject() {\n if (settings[iframeId]) {\n settings[iframeId].iframe.iFrameResizer = {\n close: closeIFrame.bind(null, settings[iframeId].iframe),\n\n removeListeners: removeIframeListeners.bind(\n null,\n settings[iframeId].iframe\n ),\n\n resize: trigger.bind(\n null,\n 'Window resize',\n 'resize',\n settings[iframeId].iframe\n ),\n\n moveToAnchor: function (anchor) {\n trigger(\n 'Move to anchor',\n 'moveToAnchor:' + anchor,\n settings[iframeId].iframe,\n iframeId\n )\n },\n\n sendMessage: function (message) {\n message = JSON.stringify(message)\n trigger(\n 'Send Message',\n 'message:' + message,\n settings[iframeId].iframe,\n iframeId\n )\n }\n }\n }\n }\n\n // We have to call trigger twice, as we can not be sure if all\n // iframes have completed loading when this code runs. The\n // event listener also catches the page changing in the iFrame.\n function init(msg) {\n function iFrameLoaded() {\n trigger('iFrame.onload', msg, iframe, undefined, true)\n checkReset()\n }\n\n function createDestroyObserver(MutationObserver) {\n if (!iframe.parentNode) {\n return\n }\n\n var destroyObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n var removedNodes = Array.prototype.slice.call(mutation.removedNodes) // Transform NodeList into an Array\n removedNodes.forEach(function (removedNode) {\n if (removedNode === iframe) {\n closeIFrame(iframe)\n }\n })\n })\n })\n destroyObserver.observe(iframe.parentNode, {\n childList: true\n })\n }\n\n var MutationObserver = getMutationObserver()\n if (MutationObserver) {\n createDestroyObserver(MutationObserver)\n }\n\n addEventListener(iframe, 'load', iFrameLoaded)\n trigger('init', msg, iframe, undefined, true)\n }\n\n function checkOptions(options) {\n if ('object' !== typeof options) {\n throw new TypeError('Options is not an object')\n }\n }\n\n function copyOptions(options) {\n // eslint-disable-next-line no-restricted-syntax\n for (var option in defaults) {\n if (Object.prototype.hasOwnProperty.call(defaults, option)) {\n settings[iframeId][option] = Object.prototype.hasOwnProperty.call(\n options,\n option\n )\n ? options[option]\n : defaults[option]\n }\n }\n }\n\n function getTargetOrigin(remoteHost) {\n return '' === remoteHost ||\n null !== remoteHost.match(/^(about:blank|javascript:|file:\\/\\/)/)\n ? '*'\n : remoteHost\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n iframeId,\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function processOptions(options) {\n options = options || {}\n settings[iframeId] = {\n firstRun: true,\n iframe: iframe,\n remoteHost: iframe.src && iframe.src.split('/').slice(0, 3).join('/')\n }\n\n checkOptions(options)\n Object.keys(options).forEach(depricate, options)\n copyOptions(options)\n\n if (settings[iframeId]) {\n settings[iframeId].targetOrigin =\n true === settings[iframeId].checkOrigin\n ? getTargetOrigin(settings[iframeId].remoteHost)\n : '*'\n }\n }\n\n function beenHere() {\n return iframeId in settings && 'iFrameResizer' in iframe\n }\n\n var iframeId = ensureHasId(iframe.id)\n\n if (!beenHere()) {\n processOptions(options)\n setScrolling()\n setLimits()\n setupBodyMarginValues()\n init(createOutgoingMsg(iframeId))\n setupIFrameObject()\n } else {\n warn(iframeId, 'Ignored iFrame, already setup.')\n }\n }\n\n function debouce(fn, time) {\n if (null === timer) {\n timer = setTimeout(function () {\n timer = null\n fn()\n }, time)\n }\n }\n\n var frameTimer = {}\n function debounceFrameEvents(fn, time, frameId) {\n if (!frameTimer[frameId]) {\n frameTimer[frameId] = setTimeout(function () {\n frameTimer[frameId] = null\n fn()\n }, time)\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n\n function fixHiddenIFrames() {\n function checkIFrames() {\n function checkIFrame(settingId) {\n function chkDimension(dimension) {\n return (\n '0px' ===\n (settings[settingId] && settings[settingId].iframe.style[dimension])\n )\n }\n\n function isVisible(el) {\n return null !== el.offsetParent\n }\n\n if (\n settings[settingId] &&\n isVisible(settings[settingId].iframe) &&\n (chkDimension('height') || chkDimension('width'))\n ) {\n trigger(\n 'Visibility change',\n 'resize',\n settings[settingId].iframe,\n settingId\n )\n }\n }\n\n Object.keys(settings).forEach(function (key) {\n checkIFrame(key)\n })\n }\n\n function mutationObserved(mutations) {\n log(\n 'window',\n 'Mutation observed: ' + mutations[0].target + ' ' + mutations[0].type\n )\n debouce(checkIFrames, 16)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n },\n observer = new MutationObserver(mutationObserved)\n\n observer.observe(target, config)\n }\n\n var MutationObserver = getMutationObserver()\n if (MutationObserver) {\n createMutationObserver()\n }\n }\n\n function resizeIFrames(event) {\n function resize() {\n sendTriggerMsg('Window ' + event, 'resize')\n }\n\n log('window', 'Trigger event: ' + event)\n debouce(resize, 16)\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function tabVisible() {\n function resize() {\n sendTriggerMsg('Tab Visable', 'resize')\n }\n\n if ('hidden' !== document.visibilityState) {\n log('document', 'Trigger event: Visiblity change')\n debouce(resize, 16)\n }\n }\n\n function sendTriggerMsg(eventName, event) {\n function isIFrameResizeEnabled(iframeId) {\n return (\n settings[iframeId] &&\n 'parent' === settings[iframeId].resizeFrom &&\n settings[iframeId].autoResize &&\n !settings[iframeId].firstRun\n )\n }\n\n Object.keys(settings).forEach(function (iframeId) {\n if (isIFrameResizeEnabled(iframeId)) {\n trigger(eventName, event, settings[iframeId].iframe, iframeId)\n }\n })\n }\n\n function setupEventListeners() {\n addEventListener(window, 'message', iFrameListener)\n\n addEventListener(window, 'resize', function () {\n resizeIFrames('resize')\n })\n\n addEventListener(document, 'visibilitychange', tabVisible)\n\n addEventListener(document, '-webkit-visibilitychange', tabVisible)\n }\n\n function factory() {\n function init(options, element) {\n function chkType() {\n if (!element.tagName) {\n throw new TypeError('Object is not a valid DOM element')\n } else if ('IFRAME' !== element.tagName.toUpperCase()) {\n throw new TypeError(\n 'Expected