{"version":3,"sources":["webpack://[name]/./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.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/some.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/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/object/define-property.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]/./desktop/static/js/models/domaintypes.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/constants.js","webpack://[name]/./desktop/static/js/overlay/shared/constants.js","webpack://[name]/./node_modules/core-js-pure/es/array/virtual/concat.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/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/some.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/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/features/object/define-property.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-object.js","webpack://[name]/./node_modules/core-js-pure/internals/array-for-each.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/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/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.js","webpack://[name]/./node_modules/core-js-pure/internals/is-forced.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-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-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.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/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.includes.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://[name]/./node_modules/core-js-pure/modules/es.array.some.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.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.symbol.js","webpack://[name]/./node_modules/core-js-pure/modules/web.dom-collections.iterator.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/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/some.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/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/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/overlay/parent-frame/dom/dominjector.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/dom/stylist.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/dom/expando.js","webpack://[name]/./desktop/static/js/overlay/shared/iframemessage.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/controllers/actiondirector.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/controllers/iframeobserver.js","webpack://[name]/./desktop/static/js/is-staging.js","webpack://[name]/./desktop/static/js/models/InjectedData.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/models/overlayconfig.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/controllers/parentframeobserver.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/controllers/overlay.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/validation/configvalidator.js","webpack://[name]/./desktop/static/js/overlay/parent-frame/yxtanswersoverlay.js"],"names":["exports","STAGING","PROD","OVERLAY_CONTAINER_ID","IFRAME_CONTAINER_ID","IFRAME_ID","BUTTON_FRAME_ID","COLLAPSE","EXPAND","BUTTON_ASSET","INIT","CONFIG","IFRAME_CONNECTED","BUTTON_CONNECTED","IFRAME_READY","QUERY_SUBMITTED","CLEAR_BUTTON_HIT","TOGGLE_OVERLAY","BUTTON_READY","TRANSITION_TIMING","BOX_SHADOW_NORMAL","BOX_SHADOW_NONE","BOX_SHADOW_ACTIVE","WIDTH_DESKTOP","WIDTH_MOBILE","MIN_HEIGHT","CONTAINER_HEIGHT_TALLER","MAX_HEIGHT_DESKTOP","MAX_WIDTH_DESKTOP","MAX_HEIGHT_MOBILE","MAX_WIDTH_MOBILE","BASE_SPACING","ZINDEX_HIDDEN","ZINDEX_FRONTMOST","ZINDEX_ALMOST_FRONTMOST","DEFAULT_BUTTON_SIZE","PROMPTS_SPACING","MAX_BUTTON_WIDTH","MAX_LABEL_WIDTH","BUTTON_SPACING","DomInjector","domain","experiencePath","offset","alignment","buttonBackgroundColor","verticalOffset","vertical","horizontalOffset","horizontal","overlayContainerEl","_injectOverlayContainer","iframeContainerEl","_injectIFrameContainer","_injectIFrame","_injectButtonFrame","document","createElement","id","Selectors","style","AnimationStyling","body","appendChild","wrapperEl","classList","add","iframeEl","src","_buildAnswersExperienceUrl","name","_buildButtonFrameUrl","referrerPageUrl","window","location","href","split","referrerPageUrlParam","FilePaths","Stylist","config","_overlayContainerEl","querySelector","_iframeWrapperEl","_iframeEl","_buttonFrameEl","buttonFrameEl","_iframeBackground","iframeBackground","_alignment","_currentWidth","_minHeight","_buttonHeight","_buttonWidth","minHeight","_setMinHeight","_addButtonHoverState","_addMediaQueryListener","isTaller","height","width","Math","min","addEventListener","mediaQuery","matchMedia","_updateStyling","matches","addListener","e","isMobile","max","Expando","_stylist","_shouldShowButton","shouldShowButton","_isExpanded","_isTaller","_expandCallback","_collapseCallback","size","init","totalHeight","shrink","collapse","showButton","applyCollapsedStyling","applyExpandedStyling","applyTallerStyling","applyShorterStyling","type","callback","ExternalActionTypes","console","warn","setButtonSize","IFrameMessage","details","ActionDirector","expando","ActionTypes","_sendMessageToIFrame","start","expand","_toggle","grow","addCallback","isExpanded","message","iFrameResizer","sendMessage","toObject","require","IFrameObserver","mediator","iframeSelector","_mediator","_iframeSelector","_hasBeenInitialized","initializationEventType","iFrameResize","checkOrigin","sizeHeight","autoResize","scrolling","heightCalculationMethod","onInit","onInteraction","isCollapsed","onMessage","data","stagingDomains","defaultStagingDomains","_stagingDomains","currentUrl","InjectedData","injectedData","JSON","parse","process","injectedPagesData","pages","isStaging","getStagingDomain","getProdDomain","_getDomain","DomainTypes","domainType","injectedDomains","_getInjectedPagesDomains","isHttps","protocol","domains","OverlayConfig","getDomain","background","prompts","hideDefaultButton","customSelector","button","color","labelText","text","backgroundColor","foregroundColor","panel","heading","header","subtitle","imageUrl","icon","ParentFrameObserver","customButtonSelector","customButtonEl","_initCustomButton","_initGenericClickListener","isButtonClick","contains","target","Overlay","inject","_attachObservers","attach","ConfigValidator","_validatePanel","_validatePrompts","_validateCustomSelector","hasPanelConfig","hasPrompts","length","YextAnswersOverlay","_isInitialized","validate","parsedConfig","overlayMediator","create","actionType","global","YxtAnswersOverlay","readyState","event","YxtAnswersOverlaySettings"],"mappings":"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","file":"overlay.js","sourcesContent":["module.exports = require(\"core-js-pure/stable/instance/concat\");","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/some\");","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/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/features/object/define-property\");","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;","exports.DomainTypes = {\n STAGING: 'staging',\n PROD: 'prod'\n};","/**\n * Identifiers for elements injected into the parent frame\n */\nexports.Selectors = {\n OVERLAY_CONTAINER_ID: 'YxtAnswersOverlay',\n IFRAME_CONTAINER_ID: 'YxtAnswersOverlay-container',\n IFRAME_ID: 'YxtAnswersOverlay-iframe',\n BUTTON_FRAME_ID: 'YxtAnswersOverlay-buttonFrame',\n};\n\n/**\n * The string values of these ExternalActionTypes are keys that users can hook into;\n * they must not change without notice.\n */\nexports.ExternalActionTypes = {\n COLLAPSE: 'collapse',\n EXPAND: 'expand',\n};\n\nexports.FilePaths = {\n /**\n * Corresponds to the button static asset path defined in the webpack-config\n */\n BUTTON_ASSET: 'overlay-button.html'\n};\n\n","/**\n * Internal-only, action types that the iframes and parent frame use as action\n * identifiers. The string values of these are not important, they just need to\n * be consistent across frames.\n */\nexports.ActionTypes = {\n INIT: 'init',\n CONFIG: 'config',\n IFRAME_CONNECTED: 'iframeConnected',\n BUTTON_CONNECTED: 'buttonConnected',\n IFRAME_READY: 'iframeReady',\n COLLAPSE: 'collapse',\n EXPAND: 'expand',\n QUERY_SUBMITTED: 'querySubmitted',\n CLEAR_BUTTON_HIT: 'clearButtonHit',\n TOGGLE_OVERLAY: 'toggle',\n BUTTON_READY: 'buttonReady'\n};\n\n/**\n * Animation constants determined by UX.\n */\nexports.AnimationStyling = {\n TRANSITION_TIMING: '.4s',\n BOX_SHADOW_NORMAL: '0 3px 10px 0 rgba(0,0,0,0.4)',\n BOX_SHADOW_NONE: '0 3px 10px 0 rgba(0,0,0,0)',\n BOX_SHADOW_ACTIVE: '0 3px 10px 0 rgba(0,0,0,0.7)',\n WIDTH_DESKTOP: '445px',\n WIDTH_MOBILE: '100vw',\n MIN_HEIGHT: 450,\n CONTAINER_HEIGHT_TALLER: '100vh',\n MAX_HEIGHT_DESKTOP: 'calc(100% - 32px)',\n MAX_WIDTH_DESKTOP: 'calc(100% - 32px)',\n MAX_HEIGHT_MOBILE: '100%',\n MAX_WIDTH_MOBILE: '100%',\n BASE_SPACING: '16px',\n ZINDEX_HIDDEN: '−2147483648',\n ZINDEX_FRONTMOST: '2147483647',\n ZINDEX_ALMOST_FRONTMOST: '2147483646',\n DEFAULT_BUTTON_SIZE: 65,\n PROMPTS_SPACING: 58,\n MAX_BUTTON_WIDTH: 420,\n MAX_LABEL_WIDTH: 360,\n BUTTON_SPACING: 8\n};\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\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.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 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.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.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","var parent = require('../../es/object/define-property');\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","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","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 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 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 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","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 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","'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 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');\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","'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","'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 $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 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 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 $ = 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","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","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\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/some');\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/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","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