{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/src/app.js","webpack:///./assets/js/src/compat/ie11.js","webpack:///./assets/js/src/compat/polyfills/closest.js","webpack:///./assets/js/src/compat/polyfills/object-fit-polyfill.js","webpack:///./assets/js/src/core/animation-base.js","webpack:///./assets/js/src/core/component-base.js","webpack:///./assets/js/src/core/window-state.js","webpack:///./assets/js/src/modules/accessible-menu.js","webpack:///./assets/js/src/modules/accordion.js","webpack:///./assets/js/src/modules/animation.js","webpack:///./assets/js/src/modules/button-toggle.js","webpack:///./assets/js/src/modules/header-state.js","webpack:///./assets/js/src/modules/hero.js","webpack:///./assets/js/src/modules/hover-motion.js","webpack:///./assets/js/src/modules/jump-link.js","webpack:///./assets/js/src/modules/jump-nav.js","webpack:///./assets/js/src/modules/menu-overview-link.js","webpack:///./assets/js/src/modules/more-or-less.js","webpack:///./assets/js/src/modules/scroll-tracker.js","webpack:///./assets/js/src/modules/sidebar-menu.js","webpack:///./assets/js/src/modules/slider.js","webpack:///./assets/js/src/modules/sliding-toggle.js","webpack:///./assets/js/src/modules/smooth-scroll.js","webpack:///./assets/js/src/modules/tab.js","webpack:///./assets/js/src/modules/table.js","webpack:///./assets/js/src/utils/animations.js","webpack:///./assets/js/src/utils/in-viewport.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reverse.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/number/is-integer.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/number/is-nan.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/object/values.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/array/from.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/get-iterator.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/is-iterable.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/create.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/reflect/get.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/symbol.js","webpack:///./node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/createClass.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/get.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/inherits.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/superPropBase.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/typeof.js","webpack:///./node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@fancyapps/fancybox/dist/jquery.fancybox.css?cd03","webpack:///./node_modules/@fancyapps/fancybox/dist/jquery.fancybox.js","webpack:///./node_modules/core-js-pure/es/array/from.js","webpack:///./node_modules/core-js-pure/es/array/is-array.js","webpack:///./node_modules/core-js-pure/es/array/virtual/concat.js","webpack:///./node_modules/core-js-pure/es/array/virtual/filter.js","webpack:///./node_modules/core-js-pure/es/array/virtual/for-each.js","webpack:///./node_modules/core-js-pure/es/array/virtual/includes.js","webpack:///./node_modules/core-js-pure/es/array/virtual/index-of.js","webpack:///./node_modules/core-js-pure/es/array/virtual/map.js","webpack:///./node_modules/core-js-pure/es/array/virtual/reverse.js","webpack:///./node_modules/core-js-pure/es/array/virtual/slice.js","webpack:///./node_modules/core-js-pure/es/instance/concat.js","webpack:///./node_modules/core-js-pure/es/instance/filter.js","webpack:///./node_modules/core-js-pure/es/instance/includes.js","webpack:///./node_modules/core-js-pure/es/instance/index-of.js","webpack:///./node_modules/core-js-pure/es/instance/map.js","webpack:///./node_modules/core-js-pure/es/instance/reverse.js","webpack:///./node_modules/core-js-pure/es/instance/slice.js","webpack:///./node_modules/core-js-pure/es/instance/trim.js","webpack:///./node_modules/core-js-pure/es/number/is-integer.js","webpack:///./node_modules/core-js-pure/es/number/is-nan.js","webpack:///./node_modules/core-js-pure/es/object/create.js","webpack:///./node_modules/core-js-pure/es/object/define-properties.js","webpack:///./node_modules/core-js-pure/es/object/define-property.js","webpack:///./node_modules/core-js-pure/es/object/entries.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-descriptors.js","webpack:///./node_modules/core-js-pure/es/object/get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/es/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/es/object/keys.js","webpack:///./node_modules/core-js-pure/es/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/es/object/values.js","webpack:///./node_modules/core-js-pure/es/parse-int.js","webpack:///./node_modules/core-js-pure/es/reflect/construct.js","webpack:///./node_modules/core-js-pure/es/reflect/get.js","webpack:///./node_modules/core-js-pure/es/string/virtual/includes.js","webpack:///./node_modules/core-js-pure/es/string/virtual/trim.js","webpack:///./node_modules/core-js-pure/es/symbol/index.js","webpack:///./node_modules/core-js-pure/es/symbol/iterator.js","webpack:///./node_modules/core-js-pure/features/array/from.js","webpack:///./node_modules/core-js-pure/features/array/is-array.js","webpack:///./node_modules/core-js-pure/features/get-iterator.js","webpack:///./node_modules/core-js-pure/features/instance/slice.js","webpack:///./node_modules/core-js-pure/features/is-iterable.js","webpack:///./node_modules/core-js-pure/features/object/create.js","webpack:///./node_modules/core-js-pure/features/object/define-property.js","webpack:///./node_modules/core-js-pure/features/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/features/object/get-prototype-of.js","webpack:///./node_modules/core-js-pure/features/object/set-prototype-of.js","webpack:///./node_modules/core-js-pure/features/reflect/get.js","webpack:///./node_modules/core-js-pure/features/symbol/index.js","webpack:///./node_modules/core-js-pure/features/symbol/iterator.js","webpack:///./node_modules/core-js-pure/internals/a-function.js","webpack:///./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack:///./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack:///./node_modules/core-js-pure/internals/an-object.js","webpack:///./node_modules/core-js-pure/internals/array-for-each.js","webpack:///./node_modules/core-js-pure/internals/array-from.js","webpack:///./node_modules/core-js-pure/internals/array-includes.js","webpack:///./node_modules/core-js-pure/internals/array-iteration.js","webpack:///./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js-pure/internals/array-method-is-strict.js","webpack:///./node_modules/core-js-pure/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js-pure/internals/array-species-create.js","webpack:///./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js-pure/internals/classof-raw.js","webpack:///./node_modules/core-js-pure/internals/classof.js","webpack:///./node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js-pure/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack:///./node_modules/core-js-pure/internals/create-property.js","webpack:///./node_modules/core-js-pure/internals/define-iterator.js","webpack:///./node_modules/core-js-pure/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js-pure/internals/descriptors.js","webpack:///./node_modules/core-js-pure/internals/document-create-element.js","webpack:///./node_modules/core-js-pure/internals/dom-iterables.js","webpack:///./node_modules/core-js-pure/internals/engine-user-agent.js","webpack:///./node_modules/core-js-pure/internals/engine-v8-version.js","webpack:///./node_modules/core-js-pure/internals/entry-virtual.js","webpack:///./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack:///./node_modules/core-js-pure/internals/export.js","webpack:///./node_modules/core-js-pure/internals/fails.js","webpack:///./node_modules/core-js-pure/internals/function-bind-context.js","webpack:///./node_modules/core-js-pure/internals/function-bind.js","webpack:///./node_modules/core-js-pure/internals/get-built-in.js","webpack:///./node_modules/core-js-pure/internals/get-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/get-iterator.js","webpack:///./node_modules/core-js-pure/internals/global.js","webpack:///./node_modules/core-js-pure/internals/has.js","webpack:///./node_modules/core-js-pure/internals/hidden-keys.js","webpack:///./node_modules/core-js-pure/internals/html.js","webpack:///./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack:///./node_modules/core-js-pure/internals/indexed-object.js","webpack:///./node_modules/core-js-pure/internals/inspect-source.js","webpack:///./node_modules/core-js-pure/internals/internal-state.js","webpack:///./node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js-pure/internals/is-array.js","webpack:///./node_modules/core-js-pure/internals/is-forced.js","webpack:///./node_modules/core-js-pure/internals/is-integer.js","webpack:///./node_modules/core-js-pure/internals/is-iterable.js","webpack:///./node_modules/core-js-pure/internals/is-object.js","webpack:///./node_modules/core-js-pure/internals/is-pure.js","webpack:///./node_modules/core-js-pure/internals/is-regexp.js","webpack:///./node_modules/core-js-pure/internals/iterator-close.js","webpack:///./node_modules/core-js-pure/internals/iterators-core.js","webpack:///./node_modules/core-js-pure/internals/iterators.js","webpack:///./node_modules/core-js-pure/internals/native-symbol.js","webpack:///./node_modules/core-js-pure/internals/native-weak-map.js","webpack:///./node_modules/core-js-pure/internals/not-a-regexp.js","webpack:///./node_modules/core-js-pure/internals/number-parse-int.js","webpack:///./node_modules/core-js-pure/internals/object-create.js","webpack:///./node_modules/core-js-pure/internals/object-define-properties.js","webpack:///./node_modules/core-js-pure/internals/object-define-property.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/object-keys-internal.js","webpack:///./node_modules/core-js-pure/internals/object-keys.js","webpack:///./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js-pure/internals/object-to-array.js","webpack:///./node_modules/core-js-pure/internals/object-to-string.js","webpack:///./node_modules/core-js-pure/internals/own-keys.js","webpack:///./node_modules/core-js-pure/internals/path.js","webpack:///./node_modules/core-js-pure/internals/redefine.js","webpack:///./node_modules/core-js-pure/internals/require-object-coercible.js","webpack:///./node_modules/core-js-pure/internals/set-global.js","webpack:///./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack:///./node_modules/core-js-pure/internals/shared-key.js","webpack:///./node_modules/core-js-pure/internals/shared-store.js","webpack:///./node_modules/core-js-pure/internals/shared.js","webpack:///./node_modules/core-js-pure/internals/string-multibyte.js","webpack:///./node_modules/core-js-pure/internals/string-trim-forced.js","webpack:///./node_modules/core-js-pure/internals/string-trim.js","webpack:///./node_modules/core-js-pure/internals/to-absolute-index.js","webpack:///./node_modules/core-js-pure/internals/to-indexed-object.js","webpack:///./node_modules/core-js-pure/internals/to-integer.js","webpack:///./node_modules/core-js-pure/internals/to-length.js","webpack:///./node_modules/core-js-pure/internals/to-object.js","webpack:///./node_modules/core-js-pure/internals/to-primitive.js","webpack:///./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack:///./node_modules/core-js-pure/internals/uid.js","webpack:///./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js-pure/internals/well-known-symbol.js","webpack:///./node_modules/core-js-pure/internals/whitespaces.js","webpack:///./node_modules/core-js-pure/modules/es.array.concat.js","webpack:///./node_modules/core-js-pure/modules/es.array.filter.js","webpack:///./node_modules/core-js-pure/modules/es.array.for-each.js","webpack:///./node_modules/core-js-pure/modules/es.array.from.js","webpack:///./node_modules/core-js-pure/modules/es.array.includes.js","webpack:///./node_modules/core-js-pure/modules/es.array.index-of.js","webpack:///./node_modules/core-js-pure/modules/es.array.is-array.js","webpack:///./node_modules/core-js-pure/modules/es.array.iterator.js","webpack:///./node_modules/core-js-pure/modules/es.array.map.js","webpack:///./node_modules/core-js-pure/modules/es.array.reverse.js","webpack:///./node_modules/core-js-pure/modules/es.array.slice.js","webpack:///./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.math.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.number.is-integer.js","webpack:///./node_modules/core-js-pure/modules/es.number.is-nan.js","webpack:///./node_modules/core-js-pure/modules/es.object.create.js","webpack:///./node_modules/core-js-pure/modules/es.object.define-properties.js","webpack:///./node_modules/core-js-pure/modules/es.object.define-property.js","webpack:///./node_modules/core-js-pure/modules/es.object.entries.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js-pure/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js-pure/modules/es.object.keys.js","webpack:///./node_modules/core-js-pure/modules/es.object.set-prototype-of.js","webpack:///./node_modules/core-js-pure/modules/es.object.to-string.js","webpack:///./node_modules/core-js-pure/modules/es.object.values.js","webpack:///./node_modules/core-js-pure/modules/es.parse-int.js","webpack:///./node_modules/core-js-pure/modules/es.reflect.construct.js","webpack:///./node_modules/core-js-pure/modules/es.reflect.get.js","webpack:///./node_modules/core-js-pure/modules/es.reflect.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.string.includes.js","webpack:///./node_modules/core-js-pure/modules/es.string.iterator.js","webpack:///./node_modules/core-js-pure/modules/es.string.trim.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.description.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.match.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.search.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.species.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.split.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack:///./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack:///./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack:///./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js-pure/modules/web.timers.js","webpack:///./node_modules/core-js-pure/stable/array/from.js","webpack:///./node_modules/core-js-pure/stable/array/virtual/for-each.js","webpack:///./node_modules/core-js-pure/stable/instance/concat.js","webpack:///./node_modules/core-js-pure/stable/instance/filter.js","webpack:///./node_modules/core-js-pure/stable/instance/for-each.js","webpack:///./node_modules/core-js-pure/stable/instance/includes.js","webpack:///./node_modules/core-js-pure/stable/instance/index-of.js","webpack:///./node_modules/core-js-pure/stable/instance/map.js","webpack:///./node_modules/core-js-pure/stable/instance/reverse.js","webpack:///./node_modules/core-js-pure/stable/instance/trim.js","webpack:///./node_modules/core-js-pure/stable/number/is-integer.js","webpack:///./node_modules/core-js-pure/stable/number/is-nan.js","webpack:///./node_modules/core-js-pure/stable/object/define-properties.js","webpack:///./node_modules/core-js-pure/stable/object/define-property.js","webpack:///./node_modules/core-js-pure/stable/object/entries.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","webpack:///./node_modules/core-js-pure/stable/object/get-own-property-symbols.js","webpack:///./node_modules/core-js-pure/stable/object/keys.js","webpack:///./node_modules/core-js-pure/stable/object/values.js","webpack:///./node_modules/core-js-pure/stable/parse-int.js","webpack:///./node_modules/core-js-pure/stable/reflect/construct.js","webpack:///./node_modules/core-js-pure/stable/set-timeout.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/modules/es.array-buffer.slice.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack:///./node_modules/counterup2/dist/index.js","webpack:///./node_modules/document-offset/index.js","webpack:///./node_modules/dom-support/index.js","webpack:///./node_modules/domready/ready.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/get-document/index.js","webpack:///./node_modules/rellax/rellax.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/within-element/index.js","webpack:///external \"jQuery\""],"names":["Drupal","hoverMotion","HoverMotion","add","run","campaignPriorities","Slider","sliderSelector","flickityOpts","lazyLoad","imagesLoaded","wrapAround","allMobileSliders","document","querySelectorAll","slider","mobileSlider","Flickity","watchCSS","arrowShape","pageDots","allGivingOpportunitySliders","GivingOpportunitySlider","cellAlign","on","selectedIndex","cells","length","window","outerWidth","nextButton","isEnabled","element","disabled","addEventListener","resize","$","fancybox","defaults","video","autoStart","media","youtube","params","autoplay","vimeo","headerState","HeaderState","accessibleMenu","AccessibleMenu","menuOverviewLink","MenuOverviewLink","mobileToggle","ButtonToggle","mainConent","getElementById","classList","contains","remove","searchToggle","click","clicked","event","target","nextElementSibling","querySelector","focus","sidebarMenu","SidebarMenu","OhoHero","behaviors","university_relations_accordions","attach","context","accordion","Accordion","jumpLinks","JumpLink","offset","JumpNav","create","singleAnimation","AnimateSingle","sequenceAnimation","AnimateSequence","countAnimation","AnimateCount","moreOrLess","MoreOrLess","slidingToggle","SlidingToggle","tables","Table","university_relations_tabs","tabs","Tab","impactStoriesScrollTracker","ScrollTracker","scrollTrackerItem","trackedValues","speed","startThreshold","Math","abs","innerHeight","directionReverse","alumniCtasScrollTracker","triangleGraphicScrollTracker","unit","testimonialScrollTracker","max","heroScrollTracker","ctaBannerTracker","campaignPrioritiesScrollTracker","eventListing","newsListing","storyListing","undefined","append","Element","prototype","matches","msMatchesSelector","webkitMatchesSelector","closest","s","el","parentElement","parentNode","nodeType","objectFitPolyfill","Modernizr","objectfit","polyfill","selector","css","images","objectFit","match","positionMatch","objectPosition","Array","image","src","getAttribute","style","backgroundImage","backgroundSize","backgroundPosition","display","opacity","styleSheets","styleSheet","href","cssRules","rule","CSSStyleRule","cssText","selectorText","CSSMediaRule","mediaRule","AnimationBase","readyClass","items","item","WindowState","redraw","ComponentBase","componentName","name","options","elements","Document","getOptions","push","init","option","key","value","dataKey","camelToKebab","optionValue","hasAttribute","string","shift","join","toLowerCase","EventEmitter","animate","lastSize","lastScrollPosition","setMaxListeners","update","request","width","innerWidth","height","maxHeight","documentElement","scrollHeight","setCurrentScrollPosition","setCurrentSize","setScrollDirection","windowStateChanged","requestAnimationFrame","type","emit","currentScrollPosition","scrollDirection","currentSize","min","pageYOffset","toString","windowState","buttonClass","hasItemsSelector","openClass","regex","openText","closeText","menu","menuLink","replace","innerHTML","ul","button","createButton","preventDefault","toggle","insertBefore","text","createElement","duration","buttonSelector","contentSelector","textElementSelector","breakpoint","group","open","groupItems","groupOpenItems","setupGroups","location","hash","substr","id","isOpen","toggleAccordion","action","durationOverride","removeAttribute","setAttribute","split","Number","slideUp","slideDown","textElement","delay","centerInViewport","CounterUp","itemsSelector","sequenceItems","sequenceItem","inViewport","sequenceItemIndex","enableAt","disableAt","openClassElement","classElement","body","maxBreakpoint","startAt","classes","scrollUp","scrollDown","atTop","atBottom","beyondThreshold","beyondThresholdAnimate","beyondThresholdBody","all","header","offsetHeight","offsetTop","autoplayVideo","Rellax","motionItem","motionTarget","hoverMotionItems","hoverMotionTargets","hoverMotionItem","randomX","random","randomY","hoverMotionTarget","e","setProperty","screenX","screenY","minDuration","maxDuration","link","smoothScroll","SmoothScroll","scrollTo","hideSelector","isActive","scrolledPastCenter","linkWrapperClass","linkClass","linkActiveClass","targetSelector","minRequired","container","targets","numTargets","showNav","hideElement","createLinksFromTargets","updateJumpNav","links","existingIds","innerText","rand","crypto","getRandomValues","Uint32Array","createLink","wrapper","li","appendChild","updated","index","scrollPositionMiddle","elementMiddle","top","disabledClass","overviewClass","linkText","blockClick","overviewLink","cloneNode","call","childNodes","node","Node","TEXT_NODE","textContent","firstChild","removeEventListener","inactiveClass","minimum","initialCalcMethod","initialVisible","tabbable","runMoreOrLess","tabbableElement","buttonToggle","setHeight","calcItems","calcContainer","marginTop","marginBottom","itemsHeight","floor","scrollTracker","viewportOffset","getBoundingClientRect","trackedItems","sectionOffsetTop","scrollTrackerStartLocation","scrollTrackerEndLocation","bottom","tracker","trackedItem","trackedValue","thresholdOperatorConditions","scrollTrackerCompleteValue","toggleButtonSelector","activeClass","slideToggle","classString","buttons","getLabel","label","counterSelector","counters","updateStatus","sliderContainer","counter","slideNumber","slides","sliderInit","hover","children","buttonClick","buttonHover","siblings","enter","active","scale","offsetWidth","offsetLeft","scrollOffset","stopScrollEvents","offsetOverride","targetPosition","initialPosition","scrollDistance","round","cancelAnimation","cancelAnimationFrame","animation","removeStopEvents","animationDuration","lastTime","performance","now","animateScroll","setFocus","discretePosition","cos","PI","activeElement","buttonContainerSelector","tab","buttonsContainer","contents","child","substring","showTab","content","wrapperElement","wrapperClass","wrapperActiveClass","table","removeProperty","getComputedStyle","overflow","paddingTop","paddingBottom","transitionProperty","transitionDuration","transitionTimingFunction","setTimeout","bounds","inViewportTop","inViewportBottom","inViewportCenterY"],"mappings":"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,mBAAO,CAAC,8GAA2C;;AAErE,6BAA6B,mBAAO,CAAC,sHAA+C;;AAEpF,uBAAuB,mBAAO,CAAC,6FAAoB;;AAEnD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,6C;;;;;;;;;;;ACnBA,uC;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,uCAAuC,IAAI,uBAAuB,IAAI,4EAA4E;;AAElJ;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,uFAAuF,QAAQ;AAC/F,wBAAwB,KAAK,UAAU,QAAQ;AAC/C,0EAA0E,KAAK;AAC/E;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,4EAA4E,OAAO;AACnF,uCAAuC,SAAS;AAChD,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gDAAgD,OAAO;;AAEvD;AACA,+GAA+G,UAAU,oBAAoB;AAC7I;AACA;;AAEA,+FAA+F,MAAM;AACrG;AACA;;AAEA,kGAAkG,OAAO;AACzG;AACA;;AAEA;AACA,0GAA0G,MAAM;AAChH;AACA;;AAEA,4GAA4G,MAAM;AAClH;AACA;;AAEA;AACA;AACA,iHAAiH,OAAO;AACxH;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,wCAAwC;AACxC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,6BAA6B;AAC7B;AACA,wBAAwB;AACxB,2GAA2G;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA,eAAe;AACf;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,EAAE,OAAO,EAAE;AACvC;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iCAAiC,oCAAoC;;AAErE;AACA;AACA,SAAS;AACT;AACA;;AAEA,qDAAqD,gBAAgB;AACrE;AACA,kCAAkC;;AAElC;AACA;;AAEA;;AAEA;AACA,+CAA+C,GAAG;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,EAAE,KAAK,EAAE;AACjC,wBAAwB,QAAQ;AAChC,wBAAwB,QAAQ;AAChC;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA,uBAAuB,iBAAiB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,sDAAsD,KAAK;AAC3D;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,8EAA8E;;AAE9E;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kIAAkI,GAAG;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,IAAI,SAAS,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,wCAAwC,IAAI,SAAS,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;;AAE7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,uBAAuB,sBAAsB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oGAAoG,YAAY;AAChH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,kBAAkB;AACrC;;AAEA;AACA,uBAAuB,gBAAgB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,gHAAgH,aAAa;AAC7H;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uGAAuG,QAAQ;AAC/G;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kGAAkG,OAAO;AACzG;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,eAAe,OAAO;AACtB;AACA,2HAA2H,KAAK;AAChI;AACA;AACA;AACA,mHAAmH,KAAK,QAAQ,OAAO;AACvI;AACA;AACA;AACA,+HAA+H,KAAK,eAAe,OAAO,SAAS,OAAO;AAC1K;AACA;AACA;AACA;AACA,sEAAsE,SAAS;AAC/E;AACA;AACA,GAAG;;AAEH;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,iBAAiB;AACjB,kBAAkB;AAClB,kBAAkB;AAClB,kBAAkB;AAClB;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,EAAE,OAAO,EAAE;AAC7B,kBAAkB,EAAE,KAAK,EAAE;AAC3B,kBAAkB,EAAE,SAAS,EAAE;AAC/B,kBAAkB,EAAE,OAAO,EAAE;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,0CAA0C;AAC1C,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;AACP;AACA,GAAG;AACH,CAAC,oB;;;;;;;;;;;AC//KD,mBAAO,CAAC,mGAAkC;AAC1C,mBAAO,CAAC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A;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA,yCAAyC,kCAAkC;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;;;;;;;;;;;;ACzFA,WAAW,mBAAO,CAAC,wEAAmB;AACtC,UAAU,mBAAO,CAAC,sEAAkB;AACpC,mCAAmC,mBAAO,CAAC,kHAAwC;AACnF,qBAAqB,mBAAO,CAAC,4GAAqC;;AAElE;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACVA,YAAY,mBAAO,CAAC,0EAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;;;;ACLD,aAAa,mBAAO,CAAC,4EAAqB;AAC1C,eAAe,mBAAO,CAAC,kFAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClCA,iBAAiB,mBAAO,CAAC,wFAA2B;;AAEpD;;;;;;;;;;;;ACFA,aAAa,mBAAO,CAAC,4EAAqB;AAC1C,gBAAgB,mBAAO,CAAC,kGAAgC;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,WAAW,mBAAO,CAAC,wEAAmB;;AAEtC;AACA;AACA;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACTa;AACb,aAAa,mBAAO,CAAC,4EAAqB;AAC1C,+BAA+B,mBAAO,CAAC,oIAAiD;AACxF,eAAe,mBAAO,CAAC,kFAAwB;AAC/C,WAAW,mBAAO,CAAC,wEAAmB;AACtC,WAAW,mBAAO,CAAC,0GAAoC;AACvD,kCAAkC,mBAAO,CAAC,4HAA6C;AACvF,UAAU,mBAAO,CAAC,sEAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sFAAsF;;AAEtF,iEAAiE;AACjE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,oFAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvBa;AACb,gBAAgB,mBAAO,CAAC,oFAAyB;AACjD,eAAe,mBAAO,CAAC,kFAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1BA,WAAW,mBAAO,CAAC,wEAAmB;AACtC,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACVA,cAAc,mBAAO,CAAC,8EAAsB;AAC5C,gBAAgB,mBA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IAAqD;AAC/F,kCAAkC,mBAAO,CAAC,8HAA8C;AACxF,qCAAqC,mBAAO,CAAC,oIAAiD;AAC9F,2BAA2B,mBAAO,CAAC,4GAAqC;AACxE,iCAAiC,mBAAO,CAAC,0HAA4C;AACrF,kCAAkC,mBAAO,CAAC,4HAA6C;AACvF,eAAe,mBAAO,CAAC,gFAAuB;AAC9C,aAAa,mBAAO,CAAC,4EAAqB;AAC1C,gBAAgB,mBAAO,CAAC,oFAAyB;AACjD,iBAAiB,mBAAO,CAAC,sFAA0B;AACnD,UAAU,mBAAO,CAAC,sEAAkB;AACpC,sBAAsB,mBAAO,CAAC,kGAAgC;AAC9D,mCAAmC,mBAAO,CAAC,kHAAwC;AACnF,4BAA4B,mBAAO,CAAC,gHAAuC;AAC3E,qBAAqB,mBAAO,CAAC,kGAAgC;AAC7D,0BAA0B,mBAAO,CAAC,4FAA6B;AAC/D,eAAe,mBAAO,CAAC,8FAA8B;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD,sBAAsB,yCAAyC,WAAW,IAAI;AAC9E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA,KAAK;AACL;AACA,mDAAmD,iDAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtTA,4BAA4B,mBAAO,CAAC,gHAAuC;;AAE3E;AACA;;;;;;;;;;;;ACHA,4BAA4B,mBAAO,CAAC,gHAAuC;;AAE3E;AACA;AACA;;;;;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,gHAAuC;;AAE3E;AACA;AACA;;;;;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,gHAAuC;;AAE3E;AACA;AACA;;;;;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,gHAAuC;;AAE3E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FAA4B;AACjD,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;AACb,aAAa,mBAAO,CAAC,2FAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACNA;;;;;;;;;;;;;ACAa;AACb,0BAA0B,mBAAO,CAAC,iGAAkC;AACpE,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,UAAU,mBAAO,CAAC,iEAAkB;AACpC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,UAAU,mBAAO,CAAC,iEAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC3Ja;AACb,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,0BAA0B,mBAAO,CAAC,iGAAkC;AACpE,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,cAAc,mBAAO,CAAC,2EAAuB;AAC7C,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,0BAA0B,mBAAO,CAAC,qHAA4C;AAC9E,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA,GAAG;AACH,8BAA8B;AAC9B,GAAG;AACH,4BAA4B;AAC5B,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACjOa;AACb,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AC5Ba;AACb,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChBA,sBAAsB,mBAAO,CAAC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ACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA,yCAAyC,kCAAkC;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;;;;;;;;;;;;ACzFA,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;;;;ACLD,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,+BAA+B,mBAAO,CAAC,+HAAiD;AACxF,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACNa;AACb;AACA,mBAAO,CAAC,mFAA2B;AACnC,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA;AACA;;;;;;;;;;;;AC5HA,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA,WAAW,mBAAO,CAAC,mEAAmB;AACtC,aAAa,mBAAO,CAAC,uEAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACVA,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa,EAAE;;;;;;;;;;;;;ACZ/B,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;;;;;ACJA;;;;;;;;;;;;ACAA,iBAAiB,mBAAO,CAAC,mFAA2B;;AAEpD;;;;;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,oBAAoB,mBAAO,CAAC,yGAAsC;;AAElE;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACvFA,YAAY,mBAAO,CAAC,qEAAoB;AACxC,cAAc,mBAAO,CAAC,iFAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;;;;ACZD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,yGAAsC;;AAEnE;AACA;AACA;AACA;AAC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rD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtFa;AACb,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,0DAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,kCAAkC,mBAAO,CAAC,uHAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;;;;;AClBA,qBAAqB,mBAAO,CAAC,uGAAqC;AAClE,UAAU,mBAAO,CAAC,iEAAkB;AACpC,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;;;;;ACVA,aAAa,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AAqC,mBAAO,CAAC,+HAAiD;AAC9F,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,wBAAwB,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;;;;;ACrOrC;AACA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,YAAY,mBAAO,CAAC,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AC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC3CY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACtIY;AACb,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,iGAAkC;AACnE,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,mGAAmC;AAChE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;;AAEA;AACA,qCAAqC,iCAAiC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACrIY;AACb,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,kBAAkB,mBAAO,CAAC,6FAAgC;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXY;AACb,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,aAAa,mBAAO,CAAC,yFAA8B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXY;AACb,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,YAAY,mBAAO,CA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,SAAS,SAAS,cAAc,gBAAgB,uBAAuB,4BAA4B,+BAA+B;AAC3J;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,SAAS,QAAQ,SAAS,gBAAgB,MAAM;AAC/F;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,sCAAsC,SAAS,SAAS;AACxD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,2BAA2B,8BAA8B,YAAY,WAAW,cAAc,UAAU,cAAc,kBAAkB,OAAO;AAC5L;AACA;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE,0EAA0E,eAAe;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY,eAAe;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;AC3QD;AACA;AACA;AACA;;AAEA,MAAM,IAA4B;AAClC,OAAO,EACyB;;AAEhC,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;;AC7BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;AC1dA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;AAChD;AACA,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAQN;AACH,CAAC;AACD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wCAAwC;;AAEjE;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,mBAAmB,mBAAmB;;AAEpE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,6HAA6H,gBAAgB;AAC7I,kIAAkI,gBAAgB;AAClJ;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AChfD;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;AClBA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzBA,wB","file":"app.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./assets/js/src/app.js\");\n","/**\n * @file\n * JavaScript entrypoint file for the theme.\n *\n * All JavaScript added to the theme must go through this Webpack entrypoint.\n * Modules are included with import statements. Remove unused modules.\n * Import any module-specific CSS as well, and Webpack will bundle it in\n * /assets/dist/app.css. Module CSS paths are relative to the node_modules\n * folder, i.e. '@glidejs/glide/dist/css/glide.core.css' for Glide's CSS.\n */\n\nimport './compat/ie11';\nimport AccessibleMenu from './modules/accessible-menu';\nimport Accordion from './modules/accordion';\nimport {\n AnimateCount,\n AnimateSingle,\n AnimateSequence,\n} from './modules/animation';\nimport ButtonToggle from './modules/button-toggle';\nimport HeaderState from './modules/header-state';\nimport JumpLink from './modules/jump-link';\nimport JumpNav from './modules/jump-nav';\nimport MenuOverviewLink from './modules/menu-overview-link';\nimport MoreOrLess from './modules/more-or-less';\nimport SidebarMenu from './modules/sidebar-menu';\nimport SlidingToggle from './modules/sliding-toggle';\nimport Slider from './modules/slider';\nimport SmoothScroll from './modules/smooth-scroll';\n// import SystemMessages from './modules/d8/system-messages';\nimport Tab from './modules/tab';\nimport Table from './modules/table';\nimport OhoHero from './modules/hero';\nimport '@fancyapps/fancybox';\nimport '@fancyapps/fancybox/dist/jquery.fancybox.css';\nimport ScrollTracker from './modules/scroll-tracker';\nimport HoverMotion from './modules/hover-motion.js';\n\n(Drupal => {\n\n /**\n * Add line hover motion interactivity.\n */\n const hoverMotion = new HoverMotion();\n hoverMotion.add('.hover-motion-container').run();\n\n /**\n * Campaign Priorities slider\n */\n const campaignPriorities = new Slider({\n sliderSelector: '.campaign-priorities__slider',\n flickityOpts: {\n lazyLoad: true,\n imagesLoaded: true,\n wrapAround: true,\n }\n });\n campaignPriorities.add('.campaign-priorities').run();\n\n\n /**\n * Mobile Slider\n */\n const allMobileSliders = document.querySelectorAll('.mobile-slider');\n\n allMobileSliders.forEach(slider => {\n const mobileSlider = new Flickity( slider, {\n imagesLoaded: true,\n watchCSS: true,\n arrowShape: 'M76.7,86c3.2,3.2,3.2,8.5,0,11.7c-3.2,3.1-8.2,3.1-11.4,0l-42-41.9c-3.2-3.2-3.2-8.5,0-11.7 l42-41.9c1.5-1.5,3.6-2.4,5.7-2.4s4.1,0.8,5.7,2.4c3.2,3.2,3.2,8.5,0,11.7l-36.1,36L76.7,86z',\n pageDots: false,\n });\n });\n\n /**\n * Giving Opportunities Slider\n */\n const allGivingOpportunitySliders = document.querySelectorAll('.featured-giving-opportunities__slider');\n\n allGivingOpportunitySliders.forEach(slider => {\n const GivingOpportunitySlider = new Flickity( slider, {\n imagesLoaded: true,\n arrowShape: 'M76.7,86c3.2,3.2,3.2,8.5,0,11.7c-3.2,3.1-8.2,3.1-11.4,0l-42-41.9c-3.2-3.2-3.2-8.5,0-11.7 l42-41.9c1.5-1.5,3.6-2.4,5.7-2.4s4.1,0.8,5.7,2.4c3.2,3.2,3.2,8.5,0,11.7l-36.1,36L76.7,86z',\n pageDots: false,\n cellAlign: 'left',\n wrapAround: false,\n });\n GivingOpportunitySlider.on( 'change', () => {\n if(GivingOpportunitySlider.selectedIndex == GivingOpportunitySlider.cells.length -2 && window.outerWidth > 768 ) {\n GivingOpportunitySlider.nextButton.isEnabled = false;\n GivingOpportunitySlider.nextButton.element.disabled = true;\n }\n });\n\n // Fixes FireFox slider height miscalculation\n window.addEventListener('load', () => {\n GivingOpportunitySlider.resize();\n })\n });\n\n /**\n * Tells Fancybox not to autoplay videos\n */\n $.fancybox.defaults.video.autoStart = false;\n\n $('[data-fancybox]').fancybox({\n media: {\n youtube: {\n params: {\n autoplay: 0,\n },\n },\n vimeo: {\n params: {\n autoplay: 0,\n },\n },\n },\n });\n\n /**\n * Add the sticky header.\n */\n const headerState = new HeaderState();\n headerState.add('.site-header').run();\n\n /**\n * Add the accessible menu.\n */\n const accessibleMenu = new AccessibleMenu();\n accessibleMenu.add('#main-menu, #audience-menu').run();\n\n /**\n * Add the overview links to the menus.\n */\n const menuOverviewLink = new MenuOverviewLink();\n menuOverviewLink.add('#main-menu, #audience-menu').run();\n\n /**\n * Mobile menu behavior.\n */\n const mobileToggle = new ButtonToggle();\n mobileToggle.add('.mobile-menu-button').run();\n\n /// Close Mobile Menu if you click in the main Content\n const mainConent = document.getElementById(\"main-content\");\n\n mainConent.addEventListener('click', () => {\n\n if(document.getElementById('body').classList.contains('mobile-menu-open')) {\n document.getElementById('body').classList.remove('mobile-menu-open')\n }\n });\n /**\n * Search panel behavior.\n */\n const searchToggle = new ButtonToggle();\n searchToggle.add('.site-search__toggle').run();\n searchToggle.on('toggle', click => {\n if (click.clicked) {\n click.event.target.nextElementSibling.querySelector('input').focus();\n }\n });\n\n /**\n * Add the sidebar menu behavior.\n */\n const sidebarMenu = new SidebarMenu();\n sidebarMenu.add('.sidebar-menu').run();\n\n /**\n * Create Hero\n */\n OhoHero();\n\n /**\n * Create standard accordions.\n */\n Drupal.behaviors.university_relations_accordions = {\n attach: context => {\n const accordion = new Accordion();\n accordion.add('.accordion', context).run();\n },\n };\n\n /**\n * Create jump link scrolling.\n */\n const jumpLinks = new JumpLink({\n offset: 900,\n });\n jumpLinks.add('[href^=\"#\"]:not([href=\"#\"])').run();\n\n /**\n * Create the jump nav.\n */\n new JumpNav().create('.jump-nav');\n\n /**\n * Add standard animations.\n */\n const singleAnimation = new AnimateSingle();\n singleAnimation.add('.oho-animate-single').run();\n const sequenceAnimation = new AnimateSequence();\n sequenceAnimation.add('.oho-animate-sequence').run();\n const countAnimation = new AnimateCount();\n countAnimation.add('.oho-animate-count').run();\n\n /**\n * Create standard more or less.\n */\n const moreOrLess = new MoreOrLess();\n moreOrLess.add('.more-less').run();\n\n /**\n * Create standard sliding toggles.\n */\n const slidingToggle = new SlidingToggle();\n slidingToggle.add('.slide-toggle').run();\n\n /**\n * Wrap tables for responsive styles.\n */\n const tables = new Table();\n tables.add('#main-content table').run();\n\n /**\n * Allow system messages to be dismissable.\n */\n // const systemMessages = new SystemMessages();\n // systemMessages.add('.messages').run();\n\n /**\n * Create standard tabs.\n */\n Drupal.behaviors.university_relations_tabs = {\n attach: context => {\n const tabs = new Tab();\n tabs.add('.tabs', context).run();\n },\n };\n\n// -----------------------\n// ------- SCROLL TRACKING\n// -----------------------\n /**\n * Impact Stories Scroll Tracker\n */\n\n const impactStoriesScrollTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.mobile-slider',\n trackedValues: [\n {\n speed: .25,\n }\n ],\n startThreshold: -Math.abs(window.innerHeight),\n directionReverse: false,\n }\n );\n impactStoriesScrollTracker.add('.impact-stories').run();\n\n /**\n * Alumni CTAs\n */\n\n const alumniCtasScrollTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.alumni-ctas__inner',\n trackedValues: [\n {\n speed: .05,\n }\n ],\n startThreshold: -Math.abs(window.innerHeight),\n directionReverse: false,\n }\n );\n alumniCtasScrollTracker.add('.alumni-ctas').run();\n\n /**\n * Triangle Scroll Tracker\n */\n const triangleGraphicScrollTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.triangle-graphic',\n trackedValues: [\n {\n unit: 'percent',\n speed: .3,\n }\n ],\n startThreshold: -300,\n directionReverse: false,\n }\n );\n triangleGraphicScrollTracker.add('.triangle-graphic-background').run();\n\n /**\n * Testimonial Scroll Tracker\n */\n const testimonialScrollTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.card--testimonial',\n trackedValues: [\n {\n unit: 'percent',\n speed: .3,\n max: 100,\n }\n ],\n startThreshold: -300,\n directionReverse: false,\n }\n );\n testimonialScrollTracker.add('.testimonial--img').run();\n\n /**\n * Hero Scroll Tracker\n */\n const heroScrollTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.card--hero',\n trackedValues: [\n {\n speed: .25,\n max: 400,\n }\n ],\n startThreshold: -150,\n directionReverse: false,\n }\n );\n heroScrollTracker.add('.hero--img').run();\n\n /**\n * CTA Banner Tracker\n */\n const ctaBannerTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.cta-banner__background',\n trackedValues: [\n {\n speed: .17,\n }\n ],\n startThreshold: -Math.abs(window.innerHeight),\n directionReverse: false,\n }\n );\n ctaBannerTracker.add('.cta-banner').run();\n\n /**\n * Campaign Priorities Tracker\n */\n const campaignPrioritiesScrollTracker = new ScrollTracker(\n {\n scrollTrackerItem: '.campaign-priorities__inner',\n trackedValues: [\n {\n speed: .25,\n }\n ],\n startThreshold: -Math.abs(window.innerHeight + 600),\n directionReverse: false,\n }\n );\n campaignPrioritiesScrollTracker.add('.campaign-priorities').run();\n\n /**\n * Access to elements in twig files is at times limited\n * and prevents us from printing them in their flats intended spot\n */\n\n // place events listing in node content div\n const eventListing = document.getElementById(\"block-views-block-news-blog-event-featured-set-event-listing\");\n const newsListing = document.getElementById(\"block-views-block-news-blog-event-featured-set-news-listing\");\n const storyListing = document.getElementById(\"block-featured-set-stories-of-giving-listing\");\n\n if (eventListing != undefined) {\n eventListing.classList.add('js-process--dom-location');\n document.querySelector(\".inner-page-content\").append(eventListing);\n }\n if (newsListing != undefined) {\n newsListing.classList.add('js-process--dom-location');\n document.querySelector(\".inner-page-content\").append(newsListing);\n }\n if (storyListing != undefined) {\n storyListing.classList.add('js-process--dom-location');\n document.querySelector(\".inner-page-content\").append(storyListing);\n }\n\n /**\n * Add a class to the body to style against if this JavaScript did not load\n * correctly or has an error which blocks JavaScript execution.\n */\n document.querySelector('html').classList.add('oho-js');\n})(Drupal);\n","/**\n * @file\n * IE 11 support.\n */\n\nimport './polyfills/closest';\nimport './polyfills/object-fit-polyfill';\n","/**\n * @file\n * closest() polyfill.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n */\n\nif (!Element.prototype.matches) {\n Element.prototype.matches =\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n}\n\nif (!Element.prototype.closest) {\n // eslint-disable-next-line func-names\n Element.prototype.closest = function(s) {\n let el = this;\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n","/**\n * @file\n * objectFitPolyfill function.\n */\n\n/**\n * An object-fit polyfill for browsers that do not support object-fit. Searches\n * the style sheet for selectors using object-fit, then adds the image to the\n * parent node as a background image, while hiding the original.\n */\nfunction objectFitPolyfill() {\n // Only if Modernizr detects no object-fit capability.\n if (undefined === Modernizr || Modernizr.objectfit) {\n return;\n }\n\n /**\n * Run the polyfill on a selector, given the selector's CSS properties.\n *\n * @param {string} selector\n * The image selector to run the polyfill on.\n * @param {string} css\n * The full CSS property string of this selector.\n */\n function polyfill(selector, css) {\n const images = document.querySelectorAll(selector);\n // We've already checked for object-fit before running this function.\n const objectFit = css.match(/object-fit:\\s*([^;]+);/)[1];\n const positionMatch = css.match(/object-position:\\s*([^;]+);/);\n const objectPosition =\n positionMatch instanceof Array ? positionMatch[1] : null;\n\n // If object-fit is cover or contain, do the following for each image:\n // 1. Add the image src to the parent element as a background-image.\n // 2. Set the background-size as cover or contain.\n // 3. Set the background-position on based on background-position.\n // 4. Set the display of the parent element to block.\n // 5. Hide the image by making it transparent.\n // 6. Add the class 'object-fit-polyfill' to the parent element.\n images.forEach(image => {\n const src = image.getAttribute('src');\n image.parentElement.style.backgroundImage = `url(${src})`;\n image.parentElement.style.backgroundSize = objectFit;\n if (objectPosition) {\n image.parentElement.style.backgroundPosition = objectPosition;\n }\n image.parentElement.style.display = 'block';\n image.style.opacity = 0;\n image.parentElement.classList.add('object-fit-polyfill');\n });\n }\n\n // Search the style sheets for theme.css.\n document.styleSheets.forEach(styleSheet => {\n // The href property is empty for inline styles.\n if (styleSheet.href && styleSheet.href.includes('theme.css')) {\n // Search the rules.\n styleSheet.cssRules.forEach(rule => {\n // It's a style rule and has object-fit.\n if (\n rule instanceof CSSStyleRule &&\n rule.cssText.includes('object-fit')\n ) {\n polyfill(rule.selectorText, rule.cssText);\n }\n // It's a media query rule, so seach within.\n if (rule instanceof CSSMediaRule) {\n rule.cssRules.forEach(mediaRule => {\n if (mediaRule.cssText.includes('object-fit')) {\n polyfill(mediaRule.selectorText, mediaRule.cssText);\n }\n });\n }\n });\n }\n });\n}\n\nobjectFitPolyfill();\n","/**\n * @file\n * AnimationBase class.\n */\n\nimport ComponentBase from './component-base';\nimport WindowState from './window-state';\n\n/**\n * The AnimationBase class is a simple way to toggle animate classes on single\n * elements when the element center is in the viewport.\n */\nexport default class AnimationBase extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n */\n constructor() {\n super('animation');\n /**\n * @property {string} readyClass\n * The class to add to animatable elements when they are ready to be animated.\n * This addition of this class sets the initial animate state on an element,\n * and it's removal triggers the animation.\n */\n this.readyClass = 'oho-animate--ready';\n }\n\n /**\n * Add elements to animate, setup options, and add the initial class as well.\n *\n * @param {string} selector\n * The selector of elements to add, in a format querySelectorAll() can use.\n * @param {HTMLDocument|HTMLElement} [context=document] context\n * An optional context to search within. If no context is passed, the entire\n * document is searched.\n * @return {AnimateSingle}\n * The current object, for method chaining.\n */\n add(selector, context = document) {\n super.add(selector, context);\n this.items.forEach(item => {\n item.classList.add(this.readyClass);\n });\n return this;\n }\n\n /**\n * Update each animation item on resize.\n */\n resize() {\n WindowState.on('all', () => this.redraw());\n }\n\n /**\n * Behaviors to run on update. This method should be overridden.\n *\n * @return {AnimationBase}\n * Returns the current object.\n */\n redraw() {\n return this;\n }\n}\n","/**\n * @file\n * ComponentBase class.\n */\n\nimport EventEmitter from 'events';\n\n/**\n * The ComponentBase class provides component methods to easily extend and add\n * more complicated components. The class adds DOM objects from selectors,\n * provides options parsing from data attributes on the selectors, and provides\n * a basic run() method which calls both init() and resize(). These methods\n * should be defined in any classes which inherit from ComponentBase.\n *\n * See the Tab class in tabs.js for a good example of implementing this class.\n */\nexport default class ComponentBase extends EventEmitter {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {string} componentName\n * The component name used in the component's inline data attribute options.\n */\n constructor(componentName = 'component-base') {\n super();\n this.name = componentName;\n this.items = [];\n this.options = [];\n }\n\n /**\n * Add elements.\n *\n * @param {string} selector\n * The selector of elements to add, in a format querySelectorAll() can use.\n * @param {HTMLDocument|HTMLElement} [context=document] context\n * An optional context to search within. If no context is passed, the entire\n * document is searched.\n * @return {ComponentBase}\n * The current object, for method chaining.\n */\n add(selector, context = document) {\n // Get the elements from the context. If the context contains the selector,\n // use that. If not, query the context for the selector pattern.\n const elements =\n !(context instanceof Document) && context.matches(selector)\n ? [context]\n : context.querySelectorAll(selector);\n elements.forEach(element => {\n this.getOptions(element);\n this.items.push(element);\n });\n return this;\n }\n\n /**\n * Run the behaviors on each added item.\n *\n * @return {ComponentBase}\n * Returns the current object.\n */\n run() {\n this.init();\n this.resize();\n return this;\n }\n\n /**\n * Behaviors to run on initial load. This method should be overridden.\n *\n * @return {ComponentBase}\n * Returns the current object.\n */\n init() {\n return this;\n }\n\n /**\n * Behaviors to run on resize. This method should be overridden.\n *\n * @return {ComponentBase}\n * Returns the current object.\n */\n resize() {\n return this;\n }\n\n /**\n * Get the options for each item and attach them to the item object.\n *\n * @param {HTMLElement} item\n * The item to make options for.\n */\n getOptions(item) {\n // Get the options passed on object creation and loop over them.\n const options = Object.entries(this.options);\n options.forEach(option => {\n const [key, value] = option;\n // Create the corresponding data attributes from the options name.\n const dataKey = `data-${this.name}-${ComponentBase.camelToKebab(key)}`;\n // If there is an option data attribute on the item, use that. If\n // not, use the default instead.\n const optionValue = item.hasAttribute(dataKey)\n ? item.getAttribute(dataKey)\n : value;\n // Add the option to the item.\n item[key] = optionValue;\n });\n }\n\n /**\n * Convert a string from camelCase to a kebab-case.\n *\n * Only works with alphabetic strings.\n *\n * @param {string} string\n * The camelCased string to convert.\n * @return {string}\n * A kebab-cased string or the original string if length is not long enough\n * or has no camelCasing.\n */\n static camelToKebab(string) {\n // The string isn't long enough to split, return the original.\n if (string.length < 2) {\n return string;\n }\n // Matching with a repeated regex, because you can't capture a capture group\n // multiple times.\n let matches = string.match(\n /([a-z]+)([A-Z][a-z]+)([A-Z][a-z]+)*([A-Z][a-z]+)*([A-Z][a-z]+)*/,\n );\n // There are no camelCased pieces, return the original.\n if (matches === null || matches.length < 2) {\n return string;\n }\n // Remove the first full match.\n matches.shift();\n // Filter out undefined matches.\n matches = matches.filter(el => {\n return typeof el === 'string';\n });\n return matches.join('-').toLowerCase();\n }\n}\n","/**\n * @file\n * WindowState class.\n */\n\nimport EventEmitter from 'events';\n\n/**\n * The WindowState class provides enhanced window change events: load, scroll,\n * and resize. Along with providing an class to watch for these events, it adds\n * some additional useful data about the window state, as well as limiting the\n * events fired to those initiated by requestAnimationFrame().\n *\n * @fires WindowState#all\n * @fires WindowState#resize\n * @fires WindowState#scroll\n */\nclass WindowState extends EventEmitter {\n /**\n * Set the object's initial state and add event listeners.\n *\n * @constructor\n */\n constructor() {\n super();\n this.animate = true;\n this.lastSize = 0;\n this.lastScrollPosition = 0;\n this.setMaxListeners(15);\n window.addEventListener('load', event => this.update(event));\n window.addEventListener('scroll', event => this.request(event));\n window.addEventListener('resize', event => this.request(event));\n }\n\n /**\n * Update the object's state and call the emitters.\n *\n * @param {Object} event\n * The calling event; either load, resize, or scroll.\n */\n update(event) {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n this.maxHeight = document.documentElement.scrollHeight - this.height;\n this.setCurrentScrollPosition();\n this.setCurrentSize();\n this.setScrollDirection();\n\n // Check if the window state has changed, and if not then retry the update\n // on the next animation frame and stop early.\n if (!this.windowStateChanged()) {\n window.requestAnimationFrame(() => {\n this.update(event);\n });\n this.animate = false;\n return;\n }\n\n if (['load', 'resize', 'scroll'].indexOf(event.type) > -1) {\n /**\n * Emit an 'all' event on all window state changes.\n *\n * @event WindowState#all\n * @type {Object}\n * @property {int} width\n * The current window width.\n * @property {int} height\n * The current window height.\n * @property {int} currentScrollPosition\n * The current scroll position.\n * @property {int} maxHeight\n * The maximum scrollable height of the document.\n * @property {string} scrollDirection\n * The last scroll direction, up or down.\n */\n this.emit('all', {\n event,\n width: this.width,\n height: this.height,\n currentScrollPosition: this.currentScrollPosition,\n maxHeight: this.maxHeight,\n scrollDirection: this.scrollDirection,\n });\n }\n\n if (['load', 'resize'].indexOf(event.type) > -1) {\n /**\n * Emit a 'resize' event when the window size is changed or on load.\n *\n * @event WindowState#resize\n * @type {Object}\n * @property {int} width\n * The current window width.\n * @property {int} height\n * The current window height.\n * @property {int} maxHeight\n * The maximum scrollable height of the document.\n */\n this.emit('resize', {\n width: this.width,\n height: this.height,\n maxHeight: this.maxHeight,\n });\n }\n\n if (['load', 'scroll'].indexOf(event.type) > -1) {\n /**\n * Emit a 'scroll' event when the window is scrolled or on load.\n *\n * @event WindowState#scroll\n * @type {Object}\n * @property {int} currentScrollPosition\n * The current scroll position.\n * @property {int} maxHeight\n * The maximum scrollable height of the document.\n * @property {string} scrollDirection\n * The last scroll direction, up or down.\n */\n this.emit('scroll', {\n currentScrollPosition: this.currentScrollPosition,\n maxHeight: this.maxHeight,\n scrollDirection: this.scrollDirection,\n });\n }\n\n // Update the last states.\n this.lastScrollPosition = this.currentScrollPosition;\n this.lastSize = this.currentSize;\n this.animate = true;\n }\n\n /**\n * Request that the object's state be updated, if it hasn't been updated\n * recently.\n *\n * @param {Object} event\n * The calling event; either load, resize, or scroll.\n */\n request(event) {\n if (this.animate) {\n window.requestAnimationFrame(() => {\n this.update(event);\n });\n this.animate = false;\n }\n }\n\n /**\n * Set the current scroll position.\n *\n * Constrains the scroll position between 0 and the window height. This\n * prevents browsers that allow for a \"bounce\" behavior beyond the document\n * from calling scroll events with odd values during the bounce and\n * incorrectly triggering an up or down scroll event when beyond the page\n * bounds (mostly Safari).\n */\n setCurrentScrollPosition() {\n this.currentScrollPosition = Math.min(\n Math.max(0, window.pageYOffset),\n this.maxHeight,\n );\n }\n\n /**\n * Set the current window size.\n *\n * Window size is a concatenated string of width and height, so we can track\n * changes to all dimensions with one variable.\n */\n setCurrentSize() {\n this.currentSize = this.width.toString() + this.height.toString();\n }\n\n /**\n * Set the scroll direction.\n */\n setScrollDirection() {\n if (this.currentScrollPosition > this.lastScrollPosition) {\n this.scrollDirection = 'down';\n } else if (this.currentScrollPosition < this.lastScrollPosition) {\n this.scrollDirection = 'up';\n } else {\n this.scrollDirection = 'none';\n }\n }\n\n /**\n * Check if the window state has changed, either a scroll or size change.\n *\n * @return {bool}\n * True if the window state has changed, false if not.\n */\n windowStateChanged() {\n return (\n this.lastSize !== this.currentSize ||\n this.lastScrollPosition !== this.currentScrollPosition\n );\n }\n}\n\n/**\n * Create only one instance of WindowState and export that instance each time.\n */\nconst windowState = new WindowState();\nexport default windowState;\n","/**\n * @file\n * AccessibleMenu class.\n */\n\nimport ComponentBase from '../core/component-base';\n\n/**\n * The AccessibleMenu class makes any menu tree accessible by keyboard\n * navigation. The class adds buttons with descriptive labels inside menu items\n * with children, and updates the text based on the current toggled state, as\n * well as toggling classes on the button parent.\n *\n * @fires AcressibleMenu#toggle\n */\nexport default class AccessibleMenu extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Menu options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('menu');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the menu DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-menu.\n *\n * @property {string} buttonClass\n * The class added to the inserted button. Defaults to\n * 'menu-item__button', or the value of the [data-menu-button-class]\n * attribute.\n * @property {string} hasItemsSelector\n * The selectors of menu items which have children. Defaults to\n * '.menu-item--expanded > a, .menu-item--expanded > span', or the value\n * of the [data-menu-has-items-selector] attribute.\n * @property {string} openClass\n * The class to add to open menu items, specified by hasItemsSelector.\n * Defaults to 'menu-item--open', or the value of the\n * [data-menu-open-class] attribute.\n * @property {RegExp} regex\n * The regex search string to look for in the close and open text.\n * Defaults to /%s/, or the value of the [data-menu-regex] attribute.\n * @property {string} closeText\n * The text pattern for the close text. Can have the regex string for\n * replacement. Defaults to 'Close the %s menu', or the value of the\n * [data-menu-close-text] attribute.\n * @property {string} openText\n * The text pattern for the open text. Can have the regex string for\n * replacement. Defaults to 'Open the %s menu', or the value of the\n * [data-menu-open-text] attribute.\n */\n this.options = {\n ...{\n buttonClass: 'menu-item__button',\n hasItemsSelector:\n '.menu-item--expanded > a, .menu-item--expanded > span',\n openClass: 'menu-item--open',\n regex: /%s/,\n openText: 'Open the %s menu',\n closeText: 'Close the %s menu',\n },\n ...options,\n };\n }\n\n /**\n * Add the accessible menu behaviors or each menu.\n */\n init() {\n this.items.forEach(menu => {\n menu.querySelectorAll(this.options.hasItemsSelector).forEach(menuLink => {\n // Create the open and close text for each button from the link text.\n const openText = menu.openText.replace(\n this.options.regex,\n menuLink.innerHTML,\n );\n const closeText = menu.closeText.replace(\n this.options.regex,\n menuLink.innerHTML,\n );\n\n // The menu item's ul.\n const ul = menuLink.parentElement.querySelector('ul');\n\n // Create the button and add the class toggle and update the button text\n // on click.\n const button = this.createButton(openText);\n button.addEventListener('click', event => {\n event.preventDefault();\n menuLink.parentElement.classList.toggle(this.options.openClass);\n button.innerHTML =\n button.innerHTML === openText ? closeText : openText;\n\n /**\n * Emit a 'toggle' event on all every button click.\n *\n * @event AccessibleMenu#toggle\n * @type {string} state\n * The current state of the menu item, either 'open' or 'closed'.\n */\n this.emit('toggle', {\n event,\n clicked: button.innerHTML === openText,\n });\n });\n\n // Add the button before the ul.\n menuLink.parentElement.insertBefore(button, ul);\n });\n });\n }\n\n /**\n * Create the button to insert.\n *\n * @param {string} text\n * The text of the button.\n *\n * @return {HTMLElement}\n * The button element.\n */\n createButton(text) {\n const button = document.createElement('button');\n button.classList.add(this.options.buttonClass);\n button.innerHTML = text;\n return button;\n }\n}\n","/**\n * @file\n * Accordion class.\n */\n\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\nimport { slideDown, slideUp } from '../utils/animations';\n\n/**\n * The Accordion class provides an easy way to create accordions with smart text\n * toggling for accessibility, and also the option of creating an accordion\n * which is only visible below a breakpoint.\n */\nexport default class Accordion extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Accordion options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('accordion');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specified on object creation by passing an object, or inline as data\n * attributes on the accordion DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-accordion.\n *\n * @property {int} duration\n * The duration of the toggle animation, in ms. Defaults to 400, or the\n * value of the [data-accordion-duration] attribute.\n * @property {string} openText\n * The accordion open text, which is prepended to the accordion label.\n * Defaults to 'Click to open', or the value of the\n * [data-accordion-open-text] attribute.\n * @property {string} closeText\n * The accordion close text, which is prepended to the accordion label.\n * Defaults to 'Click to close', or the value of the\n * [data-accordion-close-text] attribute.\n * @property {string} openClass\n * The class to add to the calling element when the accordion is opened.\n * Defaults to 'accordion--open', or the value of the\n * [data-accordion-open-class] attribute.\n * @property {string} buttonSelector\n * The selector of the accordion button. Defaults to '.accordion__button',\n * or the value of the [data-accordion-button-selector] attribute.\n * @property {string} contentSelector\n * The selector of the accordion content. Defaults to\n * '.accordion__content', or the value of the\n * [data-accordion-content-selector] attribute.\n * @property {string} textElementSelector\n * The selector of the accordion button. Defaults to '.show-for-sr',\n * or the value of the [data-accordion-text-element-selector] attribute.\n * @property {int} breakpoint\n * The accordion breakpoint, at or above which the accordion does not\n * display. Useful for making a mobile-only accordion. Set to -1 to never\n * create a mobile accordion. Defaults to -1, or the value of\n * the [data-accordion-breakpoint] attribute.\n * @property {string} group\n * The accordion group, which is used to determine the initial open state\n * of items within that group. Set to '' to not create a group. Defaults\n * to '', or the value of the [data-accordion-group] attribute.\n * @property {string} open\n * Set accordions to be open on page load. Can be 'self', which opens the\n * calling accordion, or a comma-separated string of values which are used\n * in conjunction with the group property to open accordions within a\n * group. Valid values for open are 'first' and 'last', as well as 1-index\n * integers. Defaults to '', or the value of the [data-accordion-open]\n * attribute.\n */\n this.options = {\n ...{\n duration: 400,\n openText: 'Click to open',\n closeText: 'Click to close',\n openClass: 'accordion--open',\n buttonSelector: '.accordion__button',\n contentSelector: '.accordion__content',\n textElementSelector: '.show-for-sr',\n breakpoint: -1,\n group: '',\n open: '',\n },\n ...options,\n };\n\n /**\n * The accordion group and group items.\n *\n * The object keys are the group names, and the value is an array of\n * accordion HTMLElements in that group.\n *\n * @type {Object}\n */\n this.groupItems = {};\n\n /**\n * The accordion group open item indecies.\n *\n * The object keys are the group names, and the value is a 1-index array of\n * integers corresponding to the initial open items.\n *\n * @type {Object}\n */\n this.groupOpenItems = {};\n }\n\n /**\n * Initialize each accordion.\n */\n init() {\n this.setupGroups();\n this.items.forEach(accordion => {\n // If the item declares it should be open initially, open it.\n if (accordion.open === 'self') {\n Accordion.toggle(accordion, 'open');\n }\n\n // If the item is in a group and should be open on load, open it.\n if (this.groupItems[accordion.group]) {\n this.groupItems[accordion.group].forEach((item, key) => {\n // Check that the current item is the accordion being processed in\n // init, and that the accordion is marked to be open on load.\n if (\n item === accordion &&\n this.groupOpenItems[accordion.group].indexOf(key + 1) !== -1\n ) {\n Accordion.toggle(accordion, 'open', 0);\n }\n });\n }\n\n // If the item's hash is in the url on load, open it.\n if (\n window.location.hash.length &&\n window.location.hash.substr(1) === accordion.id\n ) {\n Accordion.toggle(accordion, 'open', 0);\n }\n\n // Add the click event.\n const button = accordion.querySelector(accordion.buttonSelector);\n button.addEventListener('click', event => {\n event.preventDefault();\n if (accordion.isOpen) {\n Accordion.toggle(accordion, 'close');\n } else {\n Accordion.toggle(accordion, 'open');\n }\n });\n\n // Update the accordion after init. This is needed because WindowState\n // events do not fire after ajax loads.\n this.update(WindowState.width);\n\n /**\n * Expose the toggle method publicly.\n *\n * @param {string} action\n * The toggle action, either 'open' or 'close'.\n * @param {int|null} durationOverride\n * Override the animation duration.\n */\n accordion.toggleAccordion = (action, durationOverride = null) => {\n Accordion.toggle(accordion, action, durationOverride);\n };\n });\n }\n\n /**\n * Update each accordion on resize.\n */\n resize() {\n WindowState.on('resize', resize => {\n this.update(resize.width);\n });\n }\n\n /**\n * Update the accordion state.\n *\n * @param {int} width\n * The current window width.\n */\n update(width) {\n this.items.forEach(accordion => {\n const button = accordion.querySelector(accordion.buttonSelector);\n // Add the mobile accordion behavior.\n if (accordion.breakpoint > -1) {\n if (width < accordion.breakpoint) {\n button.removeAttribute('disabled');\n } else {\n button.setAttribute('disabled', 'disabled');\n }\n }\n });\n }\n\n /**\n * Setup the accordion groups and initial states.\n */\n setupGroups() {\n this.items.forEach(accordion => {\n // Only run if the accordion has a group defined and the group has not\n // had it's definitions set yet.\n if (accordion.group && !(accordion.group in this.groupItems)) {\n // Get all accordions in this group.\n this.groupItems[accordion.group] = this.items.filter(\n item => item.group === accordion.group,\n );\n\n // Get a list of the open items for the group as a 1-index array.\n // Convert 'first' and 'last' options to integers.\n this.groupOpenItems[accordion.group] = accordion.open\n .split(',')\n .map(item => {\n if (item === 'first') {\n return 1;\n }\n if (item === 'last') {\n return this.groupItems[accordion.group].length;\n }\n // Ensure we return an integer, never a string.\n return Number(item);\n });\n }\n });\n }\n\n /**\n * Open or close an accordion.\n *\n * @param {HTMLElement} accordion\n * The accordion to toggle.\n * @param {string} action\n * The toggle action, either 'open' or 'close'.\n * @param {int|null} durationOverride\n * Override the animation duration.\n */\n static toggle(accordion, action, durationOverride = null) {\n // Run the toggle actions.\n if (action === 'close') {\n accordion.classList.remove(accordion.openClass);\n slideUp(\n accordion.querySelector(accordion.contentSelector),\n durationOverride !== null ? durationOverride : accordion.duration,\n );\n accordion.isOpen = false;\n }\n if (action === 'open') {\n accordion.classList.add(accordion.openClass);\n slideDown(\n accordion.querySelector(accordion.contentSelector),\n durationOverride !== null ? durationOverride : accordion.duration,\n );\n accordion.isOpen = true;\n }\n\n // Update the text, if the element exists.\n const button = accordion.querySelector(accordion.buttonSelector);\n const textElement = button.querySelector(accordion.textElementSelector);\n if (textElement) {\n textElement.innerHTML =\n action === 'open' ? accordion.closeText : accordion.openText;\n }\n }\n}\n","/**\n * @file\n * Animation classes.\n */\n\nimport CounterUp from 'counterup2';\nimport AnimationBase from '../core/animation-base';\nimport { inViewport, centerInViewport } from '../utils/in-viewport';\n\n/**\n * The AnimateCount class is a simple way to toggle number counting from zero to\n * the end number in the HTML when the element center is in the viewport.\n */\nexport class AnimateCount extends AnimationBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Count animation options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super();\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the animation DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-animation.\n *\n * @property {int} delay\n * The delay between each number animation, in ms. Defaults to 16, or the\n * value of the [data-animation-delay] attribute.\n * @property {int} duration\n * The total animation duration, in ms. Defaults to 1000, or the value of\n * the [data-animation-duration] attribute.\n *\n * @see https://github.com/bfintal/Counter-Up2\n */\n this.options = {\n ...{\n delay: 16,\n duration: 1000,\n },\n ...options,\n };\n }\n\n /**\n * Update the animation items. Useful if elements have been added to the DOM\n * and an redraw needs triggering.\n */\n redraw() {\n this.items.forEach(item => {\n if (item.classList.contains(this.readyClass) && centerInViewport(item)) {\n item.classList.remove(this.readyClass);\n CounterUp(item, {\n duration: item.duration,\n delay: item.delay,\n });\n }\n });\n }\n}\n\n/**\n * The AnimateSingle class is a simple way to toggle animate classes on single\n * elements when the element center is in the viewport.\n */\nexport class AnimateSingle extends AnimationBase {\n /**\n * Update the animation items. Useful if elements have been added to the DOM\n * and an redraw needs triggering.\n */\n redraw() {\n this.items.forEach(item => {\n if (item.classList.contains(this.readyClass) && centerInViewport(item)) {\n item.classList.remove(this.readyClass);\n }\n });\n }\n}\n\n/**\n * The AnimateSequence class is a simple way to toggle animate classes on group\n * of elements when the container element is in the viewport. The sequence\n * elements are animated in order on a delay.\n */\nexport class AnimateSequence extends AnimationBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Sequence animation options. See object definition in the constructor\n * below.\n */\n constructor(options = {}) {\n super();\n\n /**\n * Create the options from supplied options and defaults. Options:\n *\n * @property {int} delay\n * The delay between subsequent animations of each element, in ms.\n * Defaults to 400, or the value of the [data-animation-delay] attribute.\n * @property {string} itemsSelector\n * The selector for each of the items to animate in sequence. Defaults to\n * '.oho-animate', or the value of the [data-animation-items-selector]\n * attribute.\n */\n this.options = {\n ...{\n delay: 250,\n itemsSelector: '.oho-animate',\n },\n ...options,\n };\n }\n\n /**\n * Add elements to animate, and add the initial class as well.\n *\n * @param {string} selector\n * The selector of elements to add, in a format querySelectorAll() can use.\n * @param {HTMLDocument|HTMLElement} [context=document] context\n * An optional context to search within. If no context is passed, the entire\n * document is searched.\n * @return {AnimateSingle}\n * The current object, for method chaining.\n */\n add(selector, context = document) {\n super.add(selector, context);\n this.items.forEach(item => {\n const sequenceItems = item.querySelectorAll(item.itemsSelector);\n sequenceItems.forEach(sequenceItem =>\n sequenceItem.classList.add(this.readyClass),\n );\n });\n return this;\n }\n\n /**\n * Update the animation sequence items. Useful if elements have been added to\n * the DOM and an redraw needs triggering.\n */\n redraw() {\n this.items.forEach(item => {\n if (item.classList.contains(this.readyClass) && inViewport(item)) {\n item.classList.remove(this.readyClass);\n const sequenceItems = item.querySelectorAll(item.itemsSelector);\n sequenceItems.forEach((sequenceItem, sequenceItemIndex) =>\n // Disabling ESLint's warnings about nested callbacks here.\n setTimeout(() => sequenceItem.classList.remove(this.readyClass), // eslint-disable-line\n item.delay * sequenceItemIndex,\n ),\n );\n }\n });\n }\n}\n","/**\n * @file\n * ButtonToggle class.\n */\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\n/**\n * The ButtonToggle class provides an easy way to add a toggleable button. The\n * class toggles a class on , updates the button label based on state,\n * takes care of enabling or disabling based on screen width, and provides an\n * event which can be used to trigger more advanced behaviors.\n *\n * @fires ButtonToggle#toggle\n */\nexport default class ButtonToggle extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * ButtonToggle options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('button');\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the button DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-button.\n *\n * @property {String} openText\n * The open text of the button. Defaults to 'Click to open', or the value\n * of the [data-button-open-text] attribute.\n * @property {String} closeText\n * The close text of the button. Defaults to 'Click to close', or the\n * value of the [data-button-close-text] attribute.\n * @property {Number} enableAt\n * The screen width at which to enable the button behaviors. Set 0 to\n * always enable. Defaults to 0, or the value of the\n * [data-button-enable-at] attribute.\n * @property {Number} disableAt\n * The screen width at which to disable the button behaviors. Set -1 to\n * never disable. Defaults to -1, or the value of the\n * [data-button-disable-at] attribute.\n * @property {String} openClass\n * Class to add to when the button is clicked. Defaults to '', or\n * the value of the [data-button-open-class] attribute.\n * @property {String} openClassElement\n * The closest parent element to add the open class to. Defaults to\n * 'body', or the value of the [data-button-open-class-element] attribute.\n * If the element is not found in the parent tree, this reverts to body.\n * @property {Number} duration\n * The duration of the toggle animamtions, in ms. Defaults to 400, or the\n * value of the [data-button-duration] attribute.\n */\n this.options = {\n ...{\n openText: 'Click to open',\n closeText: 'Click to close',\n enableAt: 0,\n disableAt: -1,\n openClass: '',\n openClassElement: 'body',\n duration: 400,\n },\n ...options,\n };\n }\n\n /**\n * Add the button behaviors.\n */\n init() {\n this.items.forEach(button => {\n // Track the current state, clicked unclicked.\n let clicked = false;\n // Determine what element is to hold the text, either a .show-for-sr\n // element in the button, or the button itself if a .show-for-sr element\n // does not exist.\n let textElement = button.querySelectorAll('.show-for-sr');\n if (!textElement.length) {\n textElement = button;\n } else {\n [textElement] = textElement;\n }\n // Set the initial text.\n textElement.innerHTML = button.openText;\n // Add a click event listener to the button.\n button.addEventListener('click', event => {\n // Only if the button is not disabled.\n if (!button.hasAttribute('disabled')) {\n // The element which the open class is added defaults to body.\n let classElement = document.body;\n // If a selector is specified, and is not body, get the closest parent\n // of that selector and use it, or body if there is no parent found.\n if (\n button.openClassElement.length &&\n button.openClassElement !== 'body'\n ) {\n classElement = button.closest(button.openClassElement)\n ? button.closest(button.openClassElement)\n : document.body;\n }\n // Toggle the class.\n classElement.classList.toggle(button.openClass);\n // Update the state.\n clicked = !clicked;\n // Update the text.\n textElement.innerHTML = clicked ? button.closeText : button.openText;\n /**\n * Emit an 'toggle' event on clicks.\n *\n * @event ButtonToggle#toggle\n * @type {Object}\n * @property {HTMLElement} button\n * The button that triggered the event.\n * @property {bool} clicked\n * The current state of the button.\n */\n this.emit('toggle', { event, clicked });\n }\n });\n });\n }\n\n /**\n * Update each button on resize, disabling the button if appropriate.\n */\n resize() {\n WindowState.on('resize', resize => {\n this.items.forEach(button => {\n // Determine the max breakpoint. If disableAt is -1, choose an\n // unrealistically high number.\n const maxBreakpoint =\n button.disableAt === -1 ? 99999 : button.disableAt;\n const disabled = !(\n button.enableAt <= resize.width && resize.width < maxBreakpoint\n );\n if (disabled) {\n button.setAttribute('disabled', 'disabled');\n } else {\n button.removeAttribute('disabled');\n }\n });\n });\n }\n}\n","/**\n * @file\n * HeaderState class.\n */\n\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\n\nexport default class HeaderState extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * HeaderState options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('header');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the button DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-button.\n *\n * @property {int} startAt\n * The screen width at which to enable the header behavior. Set 0 to\n * always enable. Defaults to 0, or the value of the\n * [data-header-start-at] attribute.\n * @property {int} startThreshold\n * The scroll distance from the top after which the beyondThreshold\n * classes are added to the body and elements. Set to -1 to use the\n * calclated height of the calling element. Defaults to -1, or the value\n * of the [data-header-start-threshold] attribute.\n * @property {string} scrollUp\n * The class to add when scrolling up.\n * @property {string} scrollDown\n * The class to add when scrolling down.\n * @property {string} atTop\n * The class to add when scrolled to the page top.\n * @property {string} atBottom\n * The class to add when scrolled to the page bottom.\n * @property {string} beyondThreshold\n * The class to add when scrolled beyond the scroll threshold.\n * @property {string} beyondThresholdAnimate\n * The animation class to add when scrolled beyond the scroll threshold.\n * This class is added on a short delay, and is intended for adding any\n * animation CSS rules after main display rules, so there is no transition\n * artifacts or oddnesss.\n * @property {string} beyondThresholdBody\n * The class to add to the body when scrolleed beyond the scroll\n * threshold.\n */\n this.options = {\n ...{\n startAt: 0,\n startThreshold: -1,\n classes: {\n scrollUp: 'site-header--scroll-up',\n scrollDown: 'site-header--scroll-down',\n atTop: 'site-header--at-top',\n atBottom: 'site-header--at-bottom',\n beyondThreshold: 'site-header--beyond-threshold',\n beyondThresholdAnimate: 'site-header--beyond-threshold-animate',\n beyondThresholdBody: 'site-header-beyond-threshold',\n },\n },\n ...options,\n };\n }\n\n /**\n * @inheritdoc\n */\n resize() {\n WindowState.on('all', all => {\n this.items.forEach(header => {\n // If the start threshold is -1, set the threshold to the current header\n // height.\n if (header.startThreshold === -1) {\n header.startThreshold = header.offsetHeight + header.offsetTop;\n }\n\n // If we're below the breakpoint, remove classes.\n if (all.event.type === 'resize' && all.width < header.startAt) {\n header.classList.remove(header.classes.scrollUp);\n header.classList.remove(header.classes.scrollDown);\n header.classList.remove(header.classes.atTop);\n header.classList.remove(header.classes.atBottom);\n header.classList.remove(header.classes.beyondThreshold);\n header.classList.remove(header.classes.beyondThresholdAnimate);\n }\n\n // At or above the breakpoint, add all the classes.\n if (\n ['load', 'scroll'].indexOf(all.event.type) !== -1 &&\n all.width >= header.startAt\n ) {\n // Add the beyond threshold class if beyond the threshold.\n if (all.currentScrollPosition >= header.startThreshold) {\n document.body.classList.add(header.classes.beyondThresholdBody);\n header.classList.add(header.classes.beyondThreshold);\n setTimeout(\n () => header.classList.add(header.classes.beyondThresholdAnimate),\n 10,\n );\n } else if (all.currentScrollPosition < header.startThreshold) {\n document.body.classList.remove(header.classes.beyondThresholdBody);\n header.classList.remove(header.classes.beyondThreshold);\n header.classList.remove(header.classes.beyondThresholdAnimate);\n }\n\n // Add the scroll direction classes.\n if (all.scrollDirection === 'up') {\n header.classList.add(header.classes.scrollUp);\n header.classList.remove(header.classes.scrollDown);\n } else if (all.scrollDirection === 'down') {\n header.classList.remove(header.classes.scrollUp);\n header.classList.add(header.classes.scrollDown);\n }\n\n // Add and remove the top class.\n if (all.currentScrollPosition === 0) {\n header.classList.add(header.classes.atTop);\n } else {\n header.classList.remove(header.classes.atTop);\n }\n\n // Add and remove the bottom class.\n if (all.currentScrollPosition === all.maxHeight) {\n header.classList.add(header.classes.atBottom);\n } else {\n header.classList.remove(header.classes.atBottom);\n }\n }\n });\n });\n }\n}\n","/**\n * @file\n * JavaScript for hero behaviors.\n *\n * @todo: Needs conversion to ES6.\n */\n\nimport Rellax from 'rellax';\n\nexport default function OhoHero() {\n // Establish parallax for both the video\n // and messaging components to create some depth.\n\n // We add autoplay if above a certain size. (10/30/2019 Chrome will always pass touchevents as true)\n // --- additionally Safari does not support autoplay on any touch device\n /**\n * Add the Autoplay to heroes with videos\n */\n const autoplayVideo = document.querySelectorAll('.autoplay-video');\n\n if (autoplayVideo.length && window.innerWidth > 768) {\n autoplayVideo.forEach(video => {\n video.setAttribute('autoplay', 'true');\n video.setAttribute('preload', 'true');\n });\n }\n\n if (!$('.has-alert').length) {\n if ($('.hero--parallax').length) {\n // Establish parallax for both the video & Images\n (() => new Rellax('.hero--parallax .hero__media'))();\n }\n }\n}\n","/**\n * @file\n * Hover Motion\n * motion tracking that responds to mouse movement\n */\nimport ComponentBase from '../core/component-base';\n\nexport default class HoverMotion extends ComponentBase {\n\n constructor(options = {}) {\n super('hover-motion');\n\n this.options = {\n ...{\n motionItem: '.hover-motion-item',\n motionTarget: '.hover-motion-target',\n },\n ...options,\n };\n }\n\n init() {\n\n this.items.forEach(hoverMotion => {\n const hoverMotionItems = hoverMotion.querySelectorAll(hoverMotion.motionItem),\n hoverMotionTargets = hoverMotion.querySelectorAll(hoverMotion.motionTarget);\n\n hoverMotionItems.forEach(hoverMotionItem => {\n\n const randomX = Math.random() * (.03 - .01) + .01,\n randomY = Math.random() * (.03 - .01) + .01;\n\n /// Track the motion of the mouse\n hoverMotionTargets.forEach(hoverMotionTarget => {\n hoverMotionTarget.addEventListener(\"mousemove\", (e) => {\n hoverMotion.setAttribute('data-anim-unset', 'false');\n\n hoverMotionItem.style.setProperty('--x', + e.screenX * randomX + \"px\");\n hoverMotionItem.style.setProperty('--y', + e.screenY * randomY + \"px\");\n\n });\n });\n });\n });\n }\n}\n","/**\n * @file\n * JumpLink class.\n */\n\nimport ComponentBase from '../core/component-base';\nimport SmoothScroll from './smooth-scroll';\n\n/**\n * The JumpLink class allows for easy creation of smooth scrolling jump links,\n * piggy-backing on the native HTML anchor link behavior.\n */\nexport default class JumpLink extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * JumpLink options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('jump-link');\n\n /**\n * Create the options from supplied options and defaults. These options are\n * passed directly to SmoothScroll. See the smooth-scroll.js constructor for\n * detailed information.\n */\n this.options = {\n ...{\n offset: 200,\n minDuration: 250,\n maxDuration: 1000,\n },\n ...options,\n };\n }\n\n /**\n * Add the scroll behaviors on each jump link.\n */\n init() {\n this.items.forEach(link => {\n const id = link.getAttribute('href');\n const target = document.querySelector(id);\n if (document.querySelector(id) != undefined ) {\n link.addEventListener('click', () => {\n if (typeof target.toggleAccordion === 'function') {\n target.toggleAccordion('open');\n }\n const smoothScroll = new SmoothScroll(link.options);\n smoothScroll.scrollTo(target);\n });\n }\n });\n }\n}\n","/**\n * @file\n * JumpNav class.\n */\n\nimport offset from 'document-offset';\nimport SmoothScroll from './smooth-scroll';\nimport WindowState from '../core/window-state';\n\n/**\n * The JumpNav class provides an easy way to create a jump navigation from\n * elements on a page. The class generates appropriate ids, creates the jump\n * links, watches scroll and adds a class to the active jump link, and adds\n * smooth scrolling to the jump links.\n */\nexport default class JumpNav {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * JumpNav options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n /**\n * Create the options from supplied options and defaults. Options:\n *\n * @property {string} hideSelector\n * A selector of an element to hide if there are no jump links to be added\n * Defaults to '[data-jump-nav-hide]'.\n * @property {callback} isActive\n * The class to add to generated jump link wrappers. Defaults to the\n * scrolledPastCenter() method on this class.\n * @property {string} linkWrapperClass\n * The class to add to generated jump link wrappers. Defaults to\n * 'jump-nav__item'.\n * @property {string} linkClass\n * The class to add to generated jump links. Defaults to\n * 'jump-nav__link'.\n * @property {string} linkActiveClass\n * The class to add to the active jump link. Defaults to\n * jump-nav__link--active'.\n * @property {string} targetSelector\n * target selectors to search the DOM for. Matched selectors are used to\n * create the jump links. Defaults to '[data-jump-nav-heading]'.\n * @property {int} minRequired\n * The minimum number of targets required to generate the jump links.\n * Defaults to 0.\n * @property {int} minDuration\n * The minimum duration of the scroll animation, in milliseconds. This is\n * passed directly to SmoothScroll. Defaults to 250.\n * @property {int} maxDuration\n * The maximum duration of the scroll animation, in milliseconds. This is\n * passed directly to SmoothScroll. Defaults to 1000.\n */\n this.options = {\n ...{\n hideSelector: '[data-jump-nav-hide]',\n isActive: JumpNav.scrolledPastCenter,\n linkWrapperClass: 'jump-nav__item',\n linkClass: 'jump-nav__link',\n linkActiveClass: 'jump-nav__link--active',\n targetSelector: '[data-jump-nav-heading]',\n minRequired: 0,\n minDuration: 250,\n maxDuration: 1000,\n },\n ...options,\n };\n\n this.smoothScroll = new SmoothScroll({\n minDuration: this.options.minDuration,\n maxDuration: this.options.maxDuration,\n });\n\n return this;\n }\n\n /**\n * Create the jump nav.\n *\n * @param {string} selector\n * Selector of the jump nav element.\n */\n create(selector) {\n // Get the jump link container.\n this.container = document.querySelector(selector);\n\n // No container, so just stop.\n if (this.container === null) {\n return;\n }\n\n // Get all the possible targets on the page.\n this.targets = document.querySelectorAll(this.options.targetSelector);\n\n // Get the number of targets.\n this.numTargets = this.targets.length;\n\n // Flag whether the jump nav should be shown. The jump nav is shown if there\n // are targets, or if the number of targets is greater than the minimum\n // number reqquired.\n const showNav =\n this.numTargets && this.options.minRequired <= this.numTargets;\n\n // Hide this element, if it's been determined to be unnecessary.\n const hideElement = document.querySelector(this.options.hideSelector);\n hideElement.style.display = showNav ? 'initial' : 'none';\n\n // Empty the container, in case the links need to be regenerated later.\n this.container.innerHTML = '';\n\n // If there are no jump nav targets, or the number of targets is less than\n // the minimum required number, stop this altogether.\n if (!showNav) {\n return;\n }\n\n // Create the jump links.\n this.createLinksFromTargets();\n\n // Reverse the targets so we can sort from the bottom up,\n this.targets = Array.from(this.targets).reverse();\n\n // On all window behaviors, update the jump nav.\n WindowState.on('all', () => this.updateJumpNav());\n }\n\n /**\n * Create the jump link markup.\n *\n * @param {string} id\n * The link's id.\n * @param {string} text\n * The link's text.\n * @return {HTMLElement}\n * Link markup.\n */\n createLink(id, text) {\n // Create the link.\n const link = document.createElement('a');\n link.setAttribute('href', `#${id}`);\n link.classList.add(this.options.linkClass);\n link.innerHTML = text;\n\n // Get the link target element and add the click event.\n const target = document.getElementById(id);\n link.addEventListener('click', () =>\n this.smoothScroll.scrollTo(target, WindowState.height / 2.5),\n );\n\n return link;\n }\n\n /**\n * Process each of the targets, creating the jump links from them.\n *\n * Do following things:\n * 1. Get the id of the target, or calculate one from the text.\n * 2. Append a random string to the id if it's a duplicate.\n * 3. Create the link markup and element.\n * 4. Add the link to the links property.\n * 5. Add click handler to the link.\n * 6. Wrap the link and add it to the DOM.\n */\n createLinksFromTargets() {\n this.links = [];\n const existingIds = [];\n\n // Create the jump links from the targets.\n this.targets.forEach(target => {\n\n // Set the link text\n // If there is no data-jump-nav-link-text value, use the element's innerText, and set the heading\n\n if(target.getAttribute('data-jump-nav-link-text') == undefined) {\n target.setAttribute('data-jump-nav-link-text', target.innerText);\n }\n // Define the text const\n const text = target.getAttribute('data-jump-nav-link-text');\n\n // If the element has no text, the text is just blank, or the jumNavHeading is undefined, stop.\n if (!text.length || !text.trim()) {\n return;\n }\n\n // Get the target's id.\n let id = target.getAttribute('id');\n\n // If there is no id, create one from the text.\n if (id === null) {\n id = text.toLowerCase().replace(/[^a-z]/g, '-');\n target.setAttribute('id', id);\n }\n\n // If this id is a duplicate, add a random number string after and use\n // this id instead, and replace the target id with the calculated one.\n if (existingIds.indexOf(id) !== -1) {\n const rand = window.crypto\n .getRandomValues(new Uint32Array(1))\n .toString();\n id = `${id}-${rand}`;\n target.setAttribute('id', id);\n }\n\n // Push the id we're using into the ids array, so we can look up duplicate\n // ids quickly on subsequent iterations.\n existingIds.push(id);\n\n // Create the link.\n const link = this.createLink(id, text);\n\n // Add the link to the links property.\n this.links.push(link);\n });\n\n // Insert the links and wrapping li.\n this.links.forEach(link => {\n const wrapper = document.createElement('li');\n wrapper.classList.add(this.options.linkWrapperClass);\n const li = this.container.appendChild(wrapper);\n li.appendChild(link);\n });\n }\n\n /**\n * Check if an element is scrolled past the window center.\n *\n * @param {HTMLElement} element\n * The element which to test against.\n * @return {boolean}\n * True if it is, false if not.\n */\n static scrolledPastCenter(element) {\n const scrollPositionMiddle =\n WindowState.currentScrollPosition + WindowState.height / 2;\n const elementMiddle = offset(element).top + element.offsetHeight / 2;\n return elementMiddle < scrollPositionMiddle;\n }\n\n /**\n * Update the jump nav state. Add a class to the active item, and remove the\n * class from other elements.\n */\n updateJumpNav() {\n // Track whether a link has been updated.\n let updated = false;\n\n this.targets.forEach((target, index) => {\n // Set the item active according according to the callback, or if it's the\n // last item (no active items were found; the page is higher, so set the\n // first). The targets property is reversed, so this checks from the\n // bottom up. Also stop checking if an element has been updated already.\n if (\n !updated &&\n (this.options.isActive(target) || index === this.numTargets - 1)\n ) {\n this.links.forEach(link => {\n if (link.getAttribute('href') === `#${target.getAttribute('id')}`) {\n link.classList.add(this.options.linkActiveClass);\n } else {\n link.classList.remove(this.options.linkActiveClass);\n }\n });\n updated = true;\n }\n });\n }\n}\n","/**\n * @file\n * MenuOverviewLink class.\n */\n\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\n\n/**\n * The MenuOverviewLink class clones menu links that have submenus and inserts\n * the cloned link as the first item in the submenu. It also prevents clicking\n * on the original link. This allows for menus that have a full clickable target\n * on mobile.\n */\nexport default class MenuOverviewLink extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Menu options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('menu');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the menu DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-menu.\n *\n * @property {int} disableAt\n * The screen width at which to disable the overview behaviors. Set -1 to\n * never disable. Defaults to 1024, or the value of the\n * [data-menu-disable-at] attribute.\n * @property {string} hasItemsSelector\n * The selectors of menu items which have children. Defaults to\n * '.menu-item--expanded > a, .menu-item--expanded > span', or the value\n * of the [data-menu-has-items-selector] attribute.\n * @property {string} disabledClass\n * The class to add to the menu link's li element. Defaults to\n * 'menu-item--disabled', or the value of the [data-menu-disabled-class]\n * attribute.\n * @property {string} overviewClass\n * The class to add to the overview link's li element. Defaults to\n * 'menu-item--overview', or the value of the [data-menu-overview-class]\n * attribute.\n * @property {string} regex\n * The regex search string to look for in the link text. Defaults to /%s/,\n * or the value of the [data-menu-regex] attribute.\n * @property {string} linkText\n * The text pattern for the link text. Can use the regex string for\n * replacement. Defaults to '%s', or the value of the\n * [data-menu-close-text] attribute.\n */\n this.options = {\n ...{\n disableAt: 1024,\n hasItemsSelector: '.menu-item--expanded > a',\n disabledClass: 'menu-item--disabled',\n overviewClass: 'menu-item--overview',\n regex: /%s/,\n linkText: '%s',\n },\n ...options,\n };\n\n // Add a method for blocking click, so we have a function signature to\n // remove.\n this.blockClick = event => {\n event.preventDefault();\n };\n }\n\n /**\n * Add the overview link to each menu with children.\n */\n init() {\n this.items.forEach(menu => {\n menu.querySelectorAll(this.options.hasItemsSelector).forEach(menuLink => {\n // Create the overview link.\n const overviewLink = menuLink.cloneNode(true);\n\n // Remove all non-text nodes from the link.\n Array.prototype.forEach.call(overviewLink.childNodes, node => {\n if (node.nodeType !== Node.TEXT_NODE) {\n node.remove();\n }\n });\n\n // Allow alteration of the overview link text.\n overviewLink.textContent = menu.linkText.replace(\n menu.regex,\n overviewLink.textContent,\n );\n\n // Add the overview link in an li.\n const li = document.createElement('li');\n li.classList.add(this.options.overviewClass);\n li.appendChild(overviewLink);\n\n // Add the overview li to the submenu.\n const ul = menuLink.parentElement.querySelector('ul');\n ul.insertBefore(li, ul.firstChild);\n });\n });\n }\n\n /**\n * Disable the top link or the overview link based on breakpoint.\n */\n resize() {\n WindowState.on('resize', resize => {\n this.items.forEach(menu => {\n menu\n .querySelectorAll(this.options.hasItemsSelector)\n .forEach(menuLink => {\n // The width is below the disable value, prevent click and add the\n // disabled class.\n if (\n resize.width <\n (this.options.disableAt === -1 ? 99999 : this.options.disableAt)\n ) {\n menuLink.addEventListener('click', this.blockClick);\n menuLink.parentElement.classList.add(this.options.disabledClass);\n }\n // The width is above the disable value, allow click and remove the\n // disablei class.\n else {\n menuLink.removeEventListener('click', this.blockClick);\n menuLink.parentElement.classList.remove(\n this.options.disabledClass,\n );\n }\n });\n });\n });\n }\n}\n","/**\n * @file\n * MoreOrLess class.\n */\n\nimport ButtonToggle from './button-toggle';\nimport ComponentBase from '../core/component-base';\n\n/**\n * The MoreOrLess class provides an easy way to accessibly expand and collapse\n * a section on click.\n */\nexport default class MoreOrLess extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * MoreOrLess options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('more-or-less');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the more or less DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with\n * data-more-or-less.\n *\n * @property {String} buttonSelector\n * The selector of the toggle button. Defaults to '.more-less__toggle', or\n * the value of the [data-more-or-less-button-selector] attribute.\n * @property {String} inactiveClass\n * The class to add to the more or less container when the minimum number\n * of items needed to trigger the more or less are not found. Defaults to\n * '.more-less--inactve', or the value of the [data-more-or-less-inactive]\n * attribute.\n * @property {Number} minimum\n * The minimum number of items needed to trigger the more or less\n * behavior. A selector must also be specified. Defaults to 0, or the\n * value of the [data-more-or-less-minimum] attribute.\n * @property {String} selector\n * The selector to count items of. Used in conjunction with the minimum\n * option. Must be supplied, or present as the\n * [data-more-or-less-selector] attribute.\n * @property {String} initialCalcMethod\n * An optional string to indicate the method used to calculate the initial\n * height. Can be either 'items', to calculate the initial height by\n * items using the selector option; a CSS selector string, to calculate\n * the initial height based on the height of the selector passed; or\n * empty, to disable initial height calculation. Defaults to '', or the\n * value of the [data-more-or-less-initial-calc-method] attribute.\n * @property {Number} initialVisible\n * The number of initial visibility, used by initialCalcMethod. If\n * initialCalcMethod is set to 'items', this is the number of items to\n * calculate the height of. If initialCalcMethod is set to a CSS selector,\n * this is the multiplier of the height (.5 for 50% of the initial\n * height). Set to -1 to disable. Defaults to -1, or the value of the\n * [data-more-or-less-initial-visible] attribute.\n */\n this.options = {\n ...{\n buttonSelector: '.more-less__toggle',\n inactiveClass: 'more-less--inactive',\n minimum: 0,\n selector: '',\n initialCalcMethod: '',\n initialVisible: -1,\n },\n ...options,\n };\n\n // An array of tabbable selectors, plus anything with a positive tabindex.\n // @see https://www.w3.org/TR/html5/editing.html#the-tabindex-attribute\n this.tabbable = [\n 'a[href]',\n 'link[href]',\n `button:not(${this.options.buttonSelector})`,\n 'input:not([type=\"hidden\"])',\n 'select',\n 'textarea',\n '[draggable]',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]:not([tabindex=\"-1\"])',\n ];\n }\n\n /**\n * Initialize each more or less.\n */\n init() {\n this.items.forEach(moreOrLess => {\n // A flag to record whether the more or less should run. If the minimum is\n // 0, we always run it.\n let runMoreOrLess = moreOrLess.minimum === 0;\n\n // If there is a minimum and a selector to check, ensure that the number\n // of items is more than the minimum before running the more or less.\n if (moreOrLess.minimum > 0 && moreOrLess.selector.length) {\n const items = moreOrLess.querySelectorAll(moreOrLess.selector);\n if (items.length >= moreOrLess.minimum) {\n runMoreOrLess = true;\n }\n }\n\n // We have enough items to run the more or less.\n if (runMoreOrLess) {\n // Get all tabbable elements in the more or less - but not the toggle\n // button - and set them to untabbable until the more or less is opened.\n const tabbable = moreOrLess.querySelectorAll(this.tabbable.join(','));\n tabbable.forEach(tabbableElement => {\n tabbableElement.setAttribute('tabindex', '-1');\n });\n\n // Add button toggling.\n const buttonToggle = new ButtonToggle();\n buttonToggle.add(moreOrLess.buttonSelector, moreOrLess).run();\n buttonToggle.on('toggle', toggle => {\n // Update the tabindex to allow or disallow tabbing based on the state.\n tabbable.forEach(tabbableElement => {\n tabbableElement.setAttribute(\n 'tabindex',\n toggle.clicked ? '0' : '-1',\n );\n });\n });\n\n // Recalculate again after a slight delay. Allows for image loading or\n // other scripts to run on the content within.\n // @todo This is super hacky and should definitely be replaced with an\n // event.\n MoreOrLess.setHeight(moreOrLess);\n setTimeout(() => {\n MoreOrLess.setHeight(moreOrLess);\n }, 2000);\n }\n // Not enough items to run the more or less, so add the inactive class and\n // disable the button so it doesn't register for screen readers.\n else {\n const buttonToggle = moreOrLess.querySelector(\n moreOrLess.buttonSelector,\n );\n buttonToggle.setAttribute('disabled', 'disabled');\n moreOrLess.classList.add(moreOrLess.inactiveClass);\n }\n });\n }\n\n /**\n * Set the height of the more or less container.\n *\n * @param {HTMLElement} moreOrLess\n * The more or less element to calculate on.\n */\n static setHeight(moreOrLess) {\n // Calculate the initial visibility maxHeight.\n let maxHeight = -1;\n if (moreOrLess.initialCalcMethod === 'items') {\n maxHeight = MoreOrLess.calcItems(moreOrLess);\n } else if (moreOrLess.initialCalcMethod.length) {\n maxHeight = MoreOrLess.calcContainer(moreOrLess);\n }\n\n // If there is a max-height, set it.\n if (maxHeight >= 0) {\n moreOrLess.style.maxHeight = `${maxHeight}px`;\n }\n }\n\n /**\n * Calculate the initial height of the more or less container from a single\n * element.\n *\n * @param {HTMLElement} moreOrLess\n * The more or less element to calculate on.\n * @return {Number}\n * The calculated initial height, or -1 if no height can be calculated.\n */\n static calcContainer(moreOrLess) {\n const container = moreOrLess.querySelector(moreOrLess.initialCalcMethod);\n if (\n moreOrLess.initialVisible > 0 &&\n moreOrLess.selector.length > 0 &&\n container\n ) {\n let marginTop = parseInt(container.style.marginTop, 10);\n marginTop = Number.isNaN(marginTop) ? 0 : marginTop;\n let marginBottom = parseInt(container.style.marginBottom, 10);\n marginBottom = Number.isNaN(marginBottom) ? 0 : marginBottom;\n return (\n (container.offsetHeight + marginTop + marginBottom) *\n moreOrLess.initialVisible\n );\n }\n return -1;\n }\n\n /**\n * Calculate the initial height of the more or less container by adding the\n * heights of multiple elements.\n *\n * @param {HTMLElement} moreOrLess\n * The more or less element to calculate on.\n * @return {Number}\n * The calculated initial height, or -1 if no height can be calculated.\n */\n static calcItems(moreOrLess) {\n const items = moreOrLess.querySelectorAll(moreOrLess.selector);\n if (\n moreOrLess.initialVisible > 0 &&\n moreOrLess.selector.length > 0 &&\n items.length\n ) {\n let itemsHeight = 0;\n items.forEach((item, index) => {\n // Add the heights of the whole items.\n if (index < Math.floor(moreOrLess.initialVisible)) {\n itemsHeight += item.offsetHeight;\n }\n // Add the decimal height of the last item, if it exitst.\n if (\n index === Math.floor(moreOrLess.initialVisible) &&\n moreOrLess.initialVisible % 1\n ) {\n itemsHeight += item.offsetHeight * (moreOrLess.initialVisible % 1);\n }\n });\n return itemsHeight;\n }\n return -1;\n }\n}\n","/**\n * @file\n * Scroll Tracker\n * appends a scroll-tracker custom CSS rule to use within stylesheet\n * use to CSS transition any element.\n */\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\n\nexport default class ScrollTracker extends ComponentBase {\n constructor(options = {}) {\n super('scroll-tracker');\n\n /**\n *\n * @property {String} scrollTrackerItem\n * pass in an item to track.\n * Defaults to '.scroll-tracker__item'.\n * @property {Array} trackedValues\n * Each tracked value updates a custom CSS style on scrollTrackerItem and has 3 options\n * - @property {string} unit Which units of measurement need to be tracked IE: px, deg, %, vw\n * - @property {string} speed The Offset Speed the tracker will count at\n * - @property {string} max A max value to stop counting at\n *\n * - Tracking more than 2 styles could lead to performance issues\n *\n * @property {value} startThreshold\n * Set a starting threshold for the tracking to begin by pass a positive integer\n * Defaults to 200\n * @property {bool} directionReverse\n * Set values to count backwards.\n * Defaults to false\n */\n\n this.options = {\n ...{\n scrollTrackerItem: '.scroll-tracker__item',\n trackedValues: [\n {\n unit: 'px',\n speed: 0.14,\n max: null,\n },\n ],\n startThreshold: 200,\n directionReverse: false,\n },\n ...options,\n };\n }\n\n init() {\n window.addEventListener(\n 'load',\n () => {\n // / For every scroll tracked section section\n // / --------------------------\n this.items.forEach(scrollTracker => {\n const viewportOffset = scrollTracker.getBoundingClientRect();\n const trackedItems = scrollTracker.querySelectorAll(\n scrollTracker.scrollTrackerItem,\n );\n const sectionOffsetTop = window.pageYOffset + viewportOffset.top;\n const scrollTrackerStartLocation = sectionOffsetTop;\n const scrollTrackerEndLocation =\n window.pageYOffset + viewportOffset.bottom;\n let tracker = 0;\n\n WindowState.on('all', all => {\n /**\n * We calculate the tracking using the position of the page on scroll\n * & the postion of the element in relation to the viewport\n * by subtracting them from each other we get the starting value 0\n */\n tracker =\n all.currentScrollPosition -\n (sectionOffsetTop + scrollTracker.startThreshold);\n\n /**\n * If reverse is set to true, we just append a negative operator to the tracker\n * NOTE: this can also be done via CSS calc()\n */\n if (scrollTracker.directionReverse == true) {\n tracker = -Math.abs(tracker);\n }\n\n /**\n * When in the Threshold we update the tracking of the line,\n * but we want to see the tracking start sooner than when the start location scrollTop is 0\n * -200 is an approximate value\n */\n\n trackedItems.forEach(trackedItem => {\n scrollTracker.trackedValues.forEach(trackedValue => {\n // / If directionReverse is true increment backwards away from starting number\n // / --------------------------\n let thresholdOperatorConditions = null;\n\n if (\n trackedValue.max != null &&\n scrollTracker.directionReverse == true\n ) {\n trackedValue.max = -Math.abs(trackedValue.max);\n thresholdOperatorConditions =\n tracker * trackedValue.speed >= trackedValue.max;\n } else {\n thresholdOperatorConditions =\n tracker * trackedValue.speed <= trackedValue.max;\n }\n\n // / Set the completed value, if a max is set use that, otherwise use the section height & speed\n // / --------------------------\n let scrollTrackerCompleteValue = 0;\n\n if (trackedValue.max != null) {\n scrollTrackerCompleteValue = trackedValue.max;\n } else {\n scrollTrackerCompleteValue =\n scrollTracker.offsetHeight * trackedValue.speed;\n }\n\n // / Set Tracker number to 0 if we are above the threshold\n // / --------------------------\n if (\n all.currentScrollPosition <\n scrollTrackerStartLocation + scrollTracker.startThreshold\n ) {\n // Conditions depending on what unit it assigned\n // / --------------------------\n if (trackedValue.unit == null) {\n trackedItem.style.setProperty('--scroll-tracker', 0);\n } else if (trackedValue.unit == 'percent') {\n trackedItem.style.setProperty(\n '--scroll-tracker--percent',\n `${0}%`,\n );\n } else {\n trackedItem.style.setProperty(\n `--scroll-tracker--${trackedValue.unit}`,\n 0 + trackedValue.unit,\n );\n }\n }\n\n // / Check if we are within the starting and end thresholds and Start Counting\n // / --------------------------\n if (\n all.currentScrollPosition >=\n scrollTrackerStartLocation + scrollTracker.startThreshold &&\n all.currentScrollPosition < scrollTrackerEndLocation\n ) {\n // Check if the tracker value hasn't exceeded a max if one is set\n if (trackedValue.max == null || thresholdOperatorConditions) {\n // Conditions depending on what unit it assigned\n // (NOTE: You can't use certain characters within css rules like \"%\" so the custom rule name\n // in some cases won't match the units of icrement.\n // / --------------------------\n if (trackedValue.unit == null) {\n trackedItem.style.setProperty(\n '--scroll-tracker',\n tracker * trackedValue.speed,\n );\n } else if (trackedValue.unit == 'percent') {\n trackedItem.style.setProperty(\n '--scroll-tracker--percent',\n `${tracker * trackedValue.speed}%`,\n );\n } else {\n trackedItem.style.setProperty(\n `--scroll-tracker--${trackedValue.unit}`,\n tracker * trackedValue.speed + trackedValue.unit,\n );\n }\n }\n }\n\n // / Set finished states if we've passed by the section\n // / --------------------------\n if (all.currentScrollPosition > scrollTrackerEndLocation) {\n // Conditions depending on what unit it assigned\n // / --------------------------\n if (trackedValue.unit == null) {\n trackedItem.style.setProperty(\n '--scroll-tracker',\n scrollTrackerCompleteValue,\n );\n } else if (trackedValue.unit == 'percent') {\n trackedItem.style.setProperty(\n '--scroll-tracker--percent',\n `${scrollTrackerCompleteValue}%`,\n );\n } else {\n trackedItem.style.setProperty(\n `--scroll-tracker--${trackedValue.unit}`,\n scrollTrackerCompleteValue + trackedValue.unit,\n );\n }\n }\n });\n });\n });\n });\n },\n false,\n );\n }\n}\n","/**\n * @file\n * SidebarMenu class.\n */\n\nimport AccessibleMenu from './accessible-menu';\nimport ButtonToggle from './button-toggle';\nimport ComponentBase from '../core/component-base';\nimport { slideToggle } from '../utils/animations';\n\n/**\n * The SiidebarMenu class provides an easy way to add the following behaviors to\n * a sidebar menu: menu item open and close buttons, accessibility, and an open\n * and close menu button for mobile screens.\n */\nexport default class SidebarMenu extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * SidebarMenu options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('menu');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the sidebar menu DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-menu.\n *\n * @property {string} toggleButtonSelector\n * The selector of the mobile open and close button. Defaults to\n * '.sidebar-menu__toggle', or the value of the\n * [data-menu-toggle-button-selector] attribute.\n * @property {string} activeClass\n * The class of active trail items. Defaults to 'menu-item--active-trail',\n * or the value of the [data-menu-active-class] attribute.\n * @property {int} duration\n * The duration of the toggle animamtions, in ms. Defaults to 400, or the\n * value of the [data-menu-duration] attribute.\n * @property {Object} accessibleMenu\n * Options passed to AccessibleMenu when making the sidebar accessible\n * menu. See accessible-menu.js for more information.\n * @property {Object} buttonToggle\n * Options passed to ButtonToggle when making the sidebar mobile toggle\n * button. See button-toggle.js for more information.\n */\n this.options = {\n ...{\n toggleButtonSelector: '.sidebar-menu__toggle',\n activeClass: 'menu-item--active-trail',\n duration: 400,\n accessibleMenu: {\n buttonClass: 'menu-item__button',\n hasItemsSelector:\n '.menu-item--expanded > a, .menu-item--expanded > span',\n openClass: 'menu-item--open',\n regex: /%s/,\n openText: 'Open the %s menu',\n closeText: 'Close the %s menu',\n },\n buttonToggle: {\n openText: 'Click to open',\n closeText: 'Click to close',\n enableAt: 0,\n disableAt: -1,\n openClass: '',\n duration: 400,\n },\n },\n ...options,\n };\n }\n\n /**\n * Add the sidebar menu behaviors on each menu.\n */\n init() {\n this.items.forEach(menu => {\n // Add the toggle behavior.\n const toggle = new ButtonToggle();\n toggle.add(this.options.toggleButtonSelector, menu).run();\n toggle.on('toggle', click => {\n slideToggle(\n click.event.target.nextElementSibling,\n this.options.duration,\n );\n });\n\n // Make the menu accessible.\n const accessibleMenu = new AccessibleMenu(this.options.AccessibleMenu);\n // Get the classes on the moneu.\n const classes = [];\n menu.classList.forEach((classString, index) => {\n if (Number.isInteger(index)) {\n classes.push(`.${classString}`);\n }\n });\n accessibleMenu.add(classes.join('')).run();\n accessibleMenu.on('toggle', click => {\n slideToggle(\n click.event.target.nextElementSibling,\n this.options.duration,\n );\n });\n\n // Set the initial state, both classes and text.\n const buttons = menu.querySelectorAll(\n `.${this.options.accessibleMenu.buttonClass}`,\n );\n buttons.forEach(button => {\n const li = button.closest('li');\n // If the menu item's inital state is active.\n if (li.classList.contains(this.options.activeClass)) {\n // Set the open class.\n li.classList.add(this.options.accessibleMenu.openClass);\n // Change to the close text.\n button.textContent = menu.closeText.replace(\n this.options.accessibleMenu.regex,\n this.getLabel(button, menu.openText),\n );\n }\n });\n });\n }\n\n /**\n * Get the menu item label from the default open text.\n *\n * @param {HTMLElement} button\n * The button elemnt to get the text of.\n * @param {string} openText\n * The menu open text.\n * @return {string}\n * The menu label.\n */\n getLabel(button, openText) {\n const text = button.textContent;\n const regex = openText.replace(this.options.accessibleMenu.regex, '(.*)');\n const label = text.match(regex);\n return label[1];\n }\n}\n","/* eslint-disable no-new */\n\nimport ComponentBase from '../core/component-base';\n\nexport default class Slider extends ComponentBase {\n constructor(options = {}) {\n super('slider');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the accordion DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-accordion.\n *\n * @property {int} sliderSelector\n * Target DOM element that contains the sides to be used to init\n *\n * @property {int} slider Type\n * Target DOM element that contains the sides to be used to init\n */\n\n this.options = {\n ...{\n counterSelector: '.slide-counter',\n flickityOpts: {\n imagesLoaded: true,\n },\n },\n ...options,\n };\n }\n\n /**\n * Initialize each Slider.\n */\n init() {\n this.items.forEach(slider => {\n const targets = slider.querySelectorAll(slider.sliderSelector);\n const counters = slider.querySelectorAll(slider.counterSelector);\n\n const updateStatus = (sliderContainer) => {\n counters.forEach(counter => {\n const slideNumber = sliderContainer.selectedIndex + 1;\n counter.innerHTML = slideNumber + ' of ' + sliderContainer.slides.length;\n });\n };\n\n targets.forEach(target => {\n const sliderInit = new Flickity( target, slider.flickityOpts);\n\n if(counters.length) {\n updateStatus(sliderInit);\n sliderInit.on( 'change', () => { updateStatus(sliderInit) } );\n }\n });\n });\n }\n}\n","/**\n * @file\n * SlidingToggle class.\n */\n\nimport ComponentBase from '../core/component-base';\n\n/**\n * The SlidingToggle class provides an easy way to add a sliding animation to\n * clicked or hovered buttons using CSS custom properties. In order for this to\n * work correctly, the default size for buttons must be set to 100px (or\n * equivalent) in CSS, as the custom property scales the animation off this\n * value.\n */\nexport default class SlidingToggle extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * SlidingToggle options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('slide-toggle');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the slide toggle DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with\n * data-slide-toggle.\n *\n * @property {string} hover\n * Whether or not to add hover behavior to this sliding toggle. Either\n * 'true' or 'false'. Defaults to 'true', or the value of the\n * [data-slide-toggle-hover] attribute.\n * @property {string} buttonSelector\n * The selector of the slide toggle button elements. Defaults to\n * '.slide-toggle__button', or the value of the\n * [data-slide-toggle-button-selector] attribute.\n */\n this.options = {\n ...{\n hover: 'false',\n buttonSelector: '.slide-toggle__button',\n },\n ...options,\n };\n }\n\n /**\n * Initialize each sliding toggle.\n */\n init() {\n // Set the initial state on window load, not DOM ready, because we may need\n // fonts to load to calculate the correct initial button widths.\n window.addEventListener('load', () => {\n this.items.forEach(slidingToggle =>\n SlidingToggle.update(slidingToggle.children[0].children[0]),\n );\n });\n\n // Add the behaviors.\n this.items.forEach(slidingToggle => {\n const buttons = slidingToggle.querySelectorAll(\n slidingToggle.buttonSelector,\n );\n buttons.forEach(button => {\n // Add click behaviors.\n SlidingToggle.buttonClick(button, buttons);\n\n // Add hover behaviors, if the option is set.\n if (slidingToggle.hover === 'true') {\n SlidingToggle.buttonHover(button, slidingToggle);\n }\n });\n });\n }\n\n /**\n * Add the click behaviors to a button element.\n *\n * @param {HTMLElement} button\n * The button to add click behaviors to.\n * @param {NodeList} siblings\n * The siblings of the button behaviors are being added to.\n */\n static buttonClick(button, siblings) {\n button.addEventListener('click', event => {\n // Update the element.\n SlidingToggle.update(event.target);\n // Reset selected on the buttons, then add it to the clicked the button.\n siblings.forEach(all => all.setAttribute('aria-selected', 'false'));\n button.setAttribute('aria-selected', 'true');\n });\n }\n\n /**\n * Add the hover behaviors to a button element.\n *\n * @param {HTMLElement} button\n * The button to add hover behaviors to.\n * @param {HTMLElement} slidingToggle\n * The sliding toggle element.\n */\n static buttonHover(button, slidingToggle) {\n button.addEventListener('mouseenter', enter =>\n SlidingToggle.update(enter.target),\n );\n button.addEventListener('mouseleave', () => {\n // If there is an clicked element, set that to the active button on hover\n // off. Otherwise just set the first item as the active button.\n const active = slidingToggle.querySelector('[aria-selected=\"true\"]');\n if (active !== null) {\n SlidingToggle.update(active);\n } else {\n SlidingToggle.update(slidingToggle.children[0].children[0]);\n }\n });\n }\n\n /**\n * Update the variables to reflect the current button element.\n *\n * @param {HTMLElement} button\n * The active button.\n */\n static update(button) {\n // We set the width to 100px in the CSS, so calculate the scale off that\n // base value.\n const scale = button.parentElement.offsetWidth / 100;\n const offset = button.parentElement.offsetLeft;\n button.parentElement.parentElement.setAttribute(\n 'style',\n `--slide-toggle-offset: ${offset}px; --slide-toggle-scale: ${scale}`,\n );\n }\n}\n","/**\n * @file\n * SmoothScroll class.\n */\nimport offset from 'document-offset';\nimport WindowState from '../core/window-state';\n\n/**\n * The SmoothScroll class animates scroll to an element, bounding the animation\n * duration between a min and max value, and easing the animation start and end\n * speeds.\n */\nexport default class SmoothScroll {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * SmoothScroll options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n /**\n * Create the options from supplied options and defaults. Options:\n *\n * @property {int} offset\n * The scroll offset from page top after the animation is complete. Useful\n * for accounting for sticky headers. Defaults to 0.\n * @property {int} minDuration\n * The minimum duration of the scroll animation, in milliseconds. Defaults\n * to 250.\n * @property {int} maxDuration\n * The maximum duration of the scroll animation, in milliseconds. Defaults\n * to 250.\n */\n this.options = {\n ...{\n scrollOffset: 0,\n minDuration: 250,\n maxDuration: 1000,\n },\n ...options,\n };\n\n this.stopScrollEvents = [\n 'mousedown',\n 'wheel',\n 'DOMMouseScroll',\n 'mousewheel',\n 'keyup',\n 'touchmove',\n ];\n }\n\n /**\n * Scroll to an element.\n *\n * @param {HTMLElement} element\n * The element to scroll to.\n * @param {int} offsetOverride\n * A scroll specific offset override.\n */\n scrollTo(element, offsetOverride) {\n this.target = element;\n\n // Use the offset override, if available.\n const scrollOffset =\n offsetOverride !== undefined ? offsetOverride : this.options.scrollOffset + 200;\n\n // Save the target element's position.\n this.targetPosition = offset(this.target).top - scrollOffset;\n\n // Check that a scroll animation is actually needed.\n if (window.pageYOffset === this.targetPosition) {\n return;\n }\n\n // Save the initial scroll position.\n this.initialPosition = WindowState.currentScrollPosition;\n\n // Calculate the scroll distance needed. Scroll distance can never be more\n // than the document height.\n this.scrollDistance = Math.round(\n Math.min(WindowState.maxHeight, this.targetPosition) -\n this.initialPosition,\n );\n\n // Calculate the duration needed based on the distance. Duration can never\n // be more than the maxDuration or less than the minDuration.\n this.duration = Math.min(\n Math.max(\n this.options.maxDuration *\n (Math.abs(this.scrollDistance) / WindowState.maxHeight),\n this.options.minDuration,\n ),\n this.options.maxDuration,\n );\n\n // Create a function reference for the stop scroll events listeners, so we\n // have a reference to remove when the animation is finished.\n this.cancelAnimation = () => {\n cancelAnimationFrame(this.animation);\n this.removeStopEvents();\n };\n\n // Stop the scrolling when any of the stop scroll events happen.\n this.stopScrollEvents.forEach(event =>\n window.addEventListener(event, this.cancelAnimation),\n );\n\n // Set the animationDuration counter to 0.\n this.animationDuration = 0;\n\n // Record the initial timestamp.\n this.lastTime = performance.now();\n\n // Start the scroll.\n this.animation = window.requestAnimationFrame(() => this.animateScroll());\n }\n\n /**\n * Scroll animation callback. Scrolls the page in discrete chunks using\n * requestAnimationFrame.\n */\n animateScroll() {\n // Get the current timestamp.\n const now = performance.now();\n\n // Increment the animationDuration with the difference between now and the\n // last update, and normalize over the animation duration.\n this.animationDuration += (now - this.lastTime) / this.duration;\n\n // When the animationDuration gets incremented to one, we can stop and\n // remove the event listeners added, because the animation has reached it's\n // full duration.\n if (this.animationDuration >= 1) {\n this.setFocus();\n this.removeStopEvents();\n return;\n }\n\n // Calculate out the discrete position for this animation frame.\n const discretePosition = Math.round(\n // The cosine will always be between -1 and 1, because the animation\n // duration is between 0 and 1. So this expression evaluates from 0 to 1,\n // depending on the cosine, which is no more than pi, based on the return\n // above.\n ((1 - Math.cos(this.animationDuration * Math.PI)) / 2) *\n // The discrete part above multiplied by the scroll distance gives the\n // new discrete position for this animation chunk.\n this.scrollDistance,\n );\n\n // Animate this chunk, taking into account the inital position.\n window.scrollTo(0, this.initialPosition + discretePosition);\n\n // Record this chunk's timestamp.\n this.lastTime = now;\n\n // Run it again.\n this.animation = window.requestAnimationFrame(() => this.animateScroll());\n }\n\n /**\n * Remove the stop scroll event listeners.\n */\n removeStopEvents() {\n this.stopScrollEvents.forEach(event =>\n window.removeEventListener(event, this.cancelAnimation),\n );\n }\n\n /**\n * Set the user's focus to the target element.\n */\n setFocus() {\n this.target.focus();\n if (document.activeElement !== this.target) {\n this.target.setAttribute('tabindex', '-1');\n this.target.focus();\n }\n }\n}\n","/**\n * @file\n * Tab class.\n */\n\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\n\n/**\n * The Tab class provides an easy way to create tabs with text toggling for\n * accessibily, which turn to agccordions on mobile.\n */\nexport default class Tab extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Tab options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('tab');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the tab DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-tab.\n *\n * @property {int} breakpoint\n * The tabs breakpoint, below which the tabs function as accordions. Set\n * to -1 to always show tabs. This number must be in sync with the\n * accordion markup that doubles as tab content. Defaults to 769, or the\n * value of the [data-tab-breakpoint] attribute.\n * @property {string} buttonContainerSelector\n * The selector of the button container element. Defaults to\n * '.tabs__buttons', or the value of the\n * [data-tab-button-container-selector] attribute.\n * @property {string} buttonSelector\n * The selector of the button elements. Defaults to '.tabs__button', or\n * the value of the [data-tab-button-selector] attribute.\n * @property {string} contentSelector\n * The selector of the tab content elements. Defaults to '.accordion', or\n * the value of the [data-tab-content-selector] attribute.\n */\n this.options = {\n ...{\n breakpoint: 768,\n buttonContainerSelector: '.tabs__buttons',\n buttonSelector: '.tabs__button',\n contentSelector: '.accordion',\n },\n ...options,\n };\n }\n\n /**\n * Initialize each tab.\n */\n init() {\n this.items.forEach(tab => {\n const buttonsContainer = tab.querySelector(tab.buttonContainerSelector);\n const buttons = buttonsContainer.querySelectorAll(tab.buttonSelector);\n const contents = [];\n\n // Get the tab contents that are immediate children of the tab.\n const children = Object.values(tab.children);\n children.forEach(child => {\n if (child.classList.contains(tab.contentSelector.substring(1))) {\n contents.push(child);\n }\n });\n\n // Set the initial state,\n Tab.showTab(buttons, contents, 0);\n\n // Add the button click behavior.\n buttons.forEach((button, index) => {\n button.addEventListener('click', () => {\n Tab.showTab(buttons, contents, index);\n });\n });\n });\n }\n\n /**\n * Update each tab on resize.\n */\n resize() {\n WindowState.on('resize', resize => {\n this.items.forEach(tab => {\n const buttonsContainer = tab.querySelector(tab.buttonContainerSelector);\n const buttons = buttonsContainer.querySelectorAll(tab.buttonSelector);\n // Disable the tab buttons when below the breakpoint.\n if (tab.breakpoint > -1) {\n buttons.forEach(button => {\n if (resize.width < tab.breakpoint) {\n button.setAttribute('disabled', 'disabled');\n } else {\n button.removeAttribute('disabled');\n }\n });\n }\n });\n });\n }\n\n /**\n * Show a tab and hide all others.\n *\n * @param {NodeLst} buttons\n * The buttons to toggle.\n * @param {Array} contents\n * The contents to toggle, an array of HTMLElements.\n * @param {int} index\n * The index of the tab to show.\n */\n static showTab(buttons, contents, index) {\n // Reset all to tabs and contents to unselected/hidden.\n buttons.forEach(button => {\n button.setAttribute('aria-selected', 'false');\n });\n contents.forEach(content => {\n content.setAttribute('aria-hidden', 'true');\n });\n // Show the correct tab and contents.\n buttons[index].setAttribute('aria-selected', 'true');\n contents[index].setAttribute('aria-hidden', 'false');\n }\n}\n","/**\n * @file\n * Table class.\n */\n\nimport ComponentBase from '../core/component-base';\nimport WindowState from '../core/window-state';\n\n/**\n * The Table class helps in making tables usable on mobile. The class will wrap\n * all tables in an element and add an active class when the table width is\n * creater than the wrapping element's width. This allows for styling, like an\n * overflow, to be added conditionally only when the table needs it.\n */\nexport default class Table extends ComponentBase {\n /**\n * Set the object's initial state.\n *\n * @constructor\n * @param {Object} options\n * Table options. See object definition in the constructor below.\n */\n constructor(options = {}) {\n super('table');\n\n /**\n * Create the options from supplied options and defaults. Options can be\n * specificed on object creation by passing an object, or inline as data\n * attributes on the accordion DOM element. Data attribute options are\n * kebab-cased versions of the options below, prefixed with data-accordion.\n *\n * @property {string} wrapperElement\n * The element to wrap all tables with. Defaults to 'div'.\n * @property {string} wrapperClass\n * The class to add to the wrapper element. Defaults to 'mobile-table'.\n * @property {string} wrapperActiveClass\n * The class to add to the wrapper element when the table width is greater\n * than the wrapper width. Defaults to 'mobile-table--scroll'.\n */\n this.options = {\n ...{\n wrapperElement: 'div',\n wrapperClass: 'mobile-table',\n wrapperActiveClass: 'mobile-table--scroll',\n },\n ...options,\n };\n }\n\n /**\n * Initialize each table, wrapping it in the element and saving the warpper as\n * a property on the table object.\n */\n init() {\n this.items.forEach(table => {\n table.wrapper = document.createElement(this.options.wrapperElement);\n table.wrapper.classList.add(this.options.wrapperClass);\n table.parentNode.insertBefore(table.wrapper, table);\n table.wrapper.appendChild(table);\n });\n }\n\n /**\n * Update each table on resize, adding the active class if the table width is\n * greater than the wrapper width.\n */\n resize() {\n WindowState.on('resize', () => {\n this.items.forEach(table => {\n if (table.offsetWidth > table.wrapper.offsetWidth) {\n table.wrapper.classList.add(this.options.wrapperActiveClass);\n } else {\n table.wrapper.classList.remove(this.options.wrapperActiveClass);\n }\n });\n });\n }\n}\n","/**\n * @file\n * Animation functions.\n */\n\n/**\n * Make an element visible by sliding down.\n *\n * @param {HTMLElement} element\n * The element to toggle.\n * @param {int} duration\n * The duration in milliseconds.\n */\nexport function slideDown(element, duration = 500) {\n element.style.removeProperty('display');\n let { display } = window.getComputedStyle(element);\n if (display === 'none') {\n display = 'block';\n }\n element.style.display = display;\n const height = element.offsetHeight;\n element.style.overflow = 'hidden';\n element.style.height = 0;\n element.style.paddingTop = 0;\n element.style.paddingBottom = 0;\n element.style.marginTop = 0;\n element.style.marginBottom = 0;\n // Allow unused expression here, querying offsetHeight causes the browser to\n // recalculate the correct height.\n element.offsetHeight; // eslint-disable-line\n element.style.transitionProperty = 'height, margin, padding';\n element.style.transitionDuration = `${duration}ms`;\n element.style.transitionTimingFunction = 'ease-in-out';\n element.style.height = `${height}px`;\n element.style.removeProperty('padding-top');\n element.style.removeProperty('padding-bottom');\n element.style.removeProperty('margin-top');\n element.style.removeProperty('margin-bottom');\n window.setTimeout(() => {\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n}\n\n/**\n * Make an element hidden by sliding up.\n *\n * @param {HTMLElement} element\n * The element to toggle.\n * @param {int} duration\n * The duration in milliseconds.\n */\nexport function slideUp(element, duration = 500) {\n element.style.height = `${element.offsetHeight}px`;\n element.style.transitionProperty = 'height, margin, padding';\n element.style.transitionDuration = `${duration}ms`;\n element.style.transitionTimingFunction = 'ease-in-out';\n // Allow unused expression here, querying offsetHeight causes the browser to\n // recalculate the correct height.\n element.offsetHeight; // eslint-disable-line\n element.style.overflow = 'hidden';\n element.style.height = 0;\n element.style.paddingTop = 0;\n element.style.paddingBottom = 0;\n element.style.marginTop = 0;\n element.style.marginBottom = 0;\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('height');\n element.style.removeProperty('padding-top');\n element.style.removeProperty('padding-bottom');\n element.style.removeProperty('margin-top');\n element.style.removeProperty('margin-bottom');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n}\n\n/**\n * Toggle the slideDown or slideUp, depending on the element's state.\n *\n * @param {HTMLElement} element\n * The element to toggle.\n * @param {int} duration\n * The duration in milliseconds.\n *\n * @see https://stackoverflow.com/questions/29949331/convert-jquery-slidetoggle-code-to-javascript\n */\nexport function slideToggle(element, duration = 500) {\n if (window.getComputedStyle(element).display === 'none') {\n slideDown(element, duration);\n return;\n }\n slideUp(element, duration);\n}\n","/**\n * @file\n * In Viewport functions.\n */\n\n/**\n * Test if any part element is in the current viewport.\n *\n * @param {HTMLElement} element\n * The element to determine if is in the viewport.\n * @return {boolean}\n * True if it is, false if it's not.\n */\nexport function inViewport(element) {\n const bounds = element.getBoundingClientRect();\n const inViewportTop = bounds.top - window.innerHeight < 0;\n const inViewportBottom = bounds.bottom > 0;\n return inViewportTop && inViewportBottom;\n}\n\n/**\n * Test if the center of an element is in the current viewport.\n *\n * @param {HTMLElement} element\n * The element to determine if the center is in the viewport.\n * @return {boolean}\n * True if it is, false if it's not.\n */\nexport function centerInViewport(element) {\n const bounds = element.getBoundingClientRect();\n const inViewportCenterY =\n bounds.top + bounds.height / 2 - window.innerHeight < 0;\n return inViewportCenterY;\n}\n","module.exports = require(\"core-js-pure/stable/array/from\");","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/index-of\");","module.exports = require(\"core-js-pure/stable/instance/map\");","module.exports = require(\"core-js-pure/stable/instance/reverse\");","module.exports = require(\"core-js-pure/stable/instance/trim\");","module.exports = require(\"core-js-pure/stable/number/is-integer\");","module.exports = require(\"core-js-pure/stable/number/is-nan\");","module.exports = require(\"core-js-pure/stable/object/define-properties\");","module.exports = require(\"core-js-pure/stable/object/define-property\");","module.exports = require(\"core-js-pure/stable/object/entries\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-symbols\");","module.exports = require(\"core-js-pure/stable/object/keys\");","module.exports = require(\"core-js-pure/stable/object/values\");","module.exports = require(\"core-js-pure/stable/parse-int\");","module.exports = require(\"core-js-pure/stable/reflect/construct\");","module.exports = require(\"core-js-pure/stable/set-timeout\");","module.exports = require(\"core-js-pure/features/array/from\");","module.exports = require(\"core-js-pure/features/array/is-array\");","module.exports = require(\"core-js-pure/features/get-iterator\");","module.exports = require(\"core-js-pure/features/instance/slice\");","module.exports = require(\"core-js-pure/features/is-iterable\");","module.exports = require(\"core-js-pure/features/object/create\");","module.exports = require(\"core-js-pure/features/object/define-property\");","module.exports = require(\"core-js-pure/features/object/get-own-property-descriptor\");","module.exports = require(\"core-js-pure/features/object/get-prototype-of\");","module.exports = require(\"core-js-pure/features/object/set-prototype-of\");","module.exports = require(\"core-js-pure/features/reflect/get\");","module.exports = require(\"core-js-pure/features/symbol\");","module.exports = require(\"core-js-pure/features/symbol/iterator\");","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var _Array$isArray = require(\"@babel/runtime-corejs3/core-js/array/is-array\");\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","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(\"@babel/runtime-corejs3/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(\"@babel/runtime-corejs3/core-js/object/define-property\");\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js/object/get-own-property-descriptor\");\n\nvar _Reflect$get = require(\"@babel/runtime-corejs3/core-js/reflect/get\");\n\nvar superPropBase = require(\"./superPropBase\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && _Reflect$get) {\n module.exports = _get = _Reflect$get;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n\n var desc = _Object$getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;","var _Object$getPrototypeOf = require(\"@babel/runtime-corejs3/core-js/object/get-prototype-of\");\n\nvar _Object$setPrototypeOf = require(\"@babel/runtime-corejs3/core-js/object/set-prototype-of\");\n\nfunction _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || _Object$getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var _Object$create = require(\"@babel/runtime-corejs3/core-js/object/create\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = _Object$create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _getIterator = require(\"@babel/runtime-corejs3/core-js/get-iterator\");\n\nvar _isIterable = require(\"@babel/runtime-corejs3/core-js/is-iterable\");\n\nvar _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof _Symbol === \"undefined\" || !_isIterable(Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","var _Object$setPrototypeOf = require(\"@babel/runtime-corejs3/core-js/object/set-prototype-of\");\n\nfunction _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;","var _Symbol$iterator = require(\"@babel/runtime-corejs3/core-js/symbol/iterator\");\n\nvar _Symbol = require(\"@babel/runtime-corejs3/core-js/symbol\");\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var _Array$from = require(\"@babel/runtime-corejs3/core-js/array/from\");\n\nvar _sliceInstanceProperty = require(\"@babel/runtime-corejs3/core-js/instance/slice\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","// extracted by mini-css-extract-plugin","// ==================================================\n// fancyBox v3.5.7\n//\n// Licensed GPLv3 for open source use\n// or fancyBox Commercial License for commercial use\n//\n// http://fancyapps.com/fancybox/\n// Copyright 2019 fancyApps\n//\n// ==================================================\n(function (window, document, $, undefined) {\r\n \"use strict\";\r\n\r\n window.console = window.console || {\r\n info: function (stuff) {}\r\n };\r\n\r\n // If there's no jQuery, fancyBox can't work\r\n // =========================================\r\n\r\n if (!$) {\r\n return;\r\n }\r\n\r\n // Check if fancyBox is already initialized\r\n // ========================================\r\n\r\n if ($.fn.fancybox) {\r\n console.info(\"fancyBox already initialized\");\r\n\r\n return;\r\n }\r\n\r\n // Private default settings\r\n // ========================\r\n\r\n var defaults = {\r\n // Close existing modals\r\n // Set this to false if you do not need to stack multiple instances\r\n closeExisting: false,\r\n\r\n // Enable infinite gallery navigation\r\n loop: false,\r\n\r\n // Horizontal space between slides\r\n gutter: 50,\r\n\r\n // Enable keyboard navigation\r\n keyboard: true,\r\n\r\n // Should allow caption to overlap the content\r\n preventCaptionOverlap: true,\r\n\r\n // Should display navigation arrows at the screen edges\r\n arrows: true,\r\n\r\n // Should display counter at the top left corner\r\n infobar: true,\r\n\r\n // Should display close button (using `btnTpl.smallBtn` template) over the content\r\n // Can be true, false, \"auto\"\r\n // If \"auto\" - will be automatically enabled for \"html\", \"inline\" or \"ajax\" items\r\n smallBtn: \"auto\",\r\n\r\n // Should display toolbar (buttons at the top)\r\n // Can be true, false, \"auto\"\r\n // If \"auto\" - will be automatically hidden if \"smallBtn\" is enabled\r\n toolbar: \"auto\",\r\n\r\n // What buttons should appear in the top right corner.\r\n // Buttons will be created using templates from `btnTpl` option\r\n // and they will be placed into toolbar (class=\"fancybox-toolbar\"` element)\r\n buttons: [\r\n \"zoom\",\r\n //\"share\",\r\n \"slideShow\",\r\n //\"fullScreen\",\r\n //\"download\",\r\n \"thumbs\",\r\n \"close\"\r\n ],\r\n\r\n // Detect \"idle\" time in seconds\r\n idleTime: 3,\r\n\r\n // Disable right-click and use simple image protection for images\r\n protect: false,\r\n\r\n // Shortcut to make content \"modal\" - disable keyboard navigtion, hide buttons, etc\r\n modal: false,\r\n\r\n image: {\r\n // Wait for images to load before displaying\r\n // true - wait for image to load and then display;\r\n // false - display thumbnail and load the full-sized image over top,\r\n // requires predefined image dimensions (`data-width` and `data-height` attributes)\r\n preload: false\r\n },\r\n\r\n ajax: {\r\n // Object containing settings for ajax request\r\n settings: {\r\n // This helps to indicate that request comes from the modal\r\n // Feel free to change naming\r\n data: {\r\n fancybox: true\r\n }\r\n }\r\n },\r\n\r\n iframe: {\r\n // Iframe template\r\n tpl: '',\r\n\r\n // Preload iframe before displaying it\r\n // This allows to calculate iframe content width and height\r\n // (note: Due to \"Same Origin Policy\", you can't get cross domain data).\r\n preload: true,\r\n\r\n // Custom CSS styling for iframe wrapping element\r\n // You can use this to set custom iframe dimensions\r\n css: {},\r\n\r\n // Iframe tag attributes\r\n attr: {\r\n scrolling: \"auto\"\r\n }\r\n },\r\n\r\n // For HTML5 video only\r\n video: {\r\n tpl: '\",\r\n format: \"\", // custom video format\r\n autoStart: true\r\n },\r\n\r\n // Default content type if cannot be detected automatically\r\n defaultType: \"image\",\r\n\r\n // Open/close animation type\r\n // Possible values:\r\n // false - disable\r\n // \"zoom\" - zoom images from/to thumbnail\r\n // \"fade\"\r\n // \"zoom-in-out\"\r\n //\r\n animationEffect: \"zoom\",\r\n\r\n // Duration in ms for open/close animation\r\n animationDuration: 366,\r\n\r\n // Should image change opacity while zooming\r\n // If opacity is \"auto\", then opacity will be changed if image and thumbnail have different aspect ratios\r\n zoomOpacity: \"auto\",\r\n\r\n // Transition effect between slides\r\n //\r\n // Possible values:\r\n // false - disable\r\n // \"fade'\r\n // \"slide'\r\n // \"circular'\r\n // \"tube'\r\n // \"zoom-in-out'\r\n // \"rotate'\r\n //\r\n transitionEffect: \"fade\",\r\n\r\n // Duration in ms for transition animation\r\n transitionDuration: 366,\r\n\r\n // Custom CSS class for slide element\r\n slideClass: \"\",\r\n\r\n // Custom CSS class for layout\r\n baseClass: \"\",\r\n\r\n // Base template for layout\r\n baseTpl: '
' +\r\n '
' +\r\n '
' +\r\n '
 / 
' +\r\n '
{{buttons}}
' +\r\n '
{{arrows}}
' +\r\n '
' +\r\n '
' +\r\n \"
\" +\r\n \"
\",\r\n\r\n // Loading indicator template\r\n spinnerTpl: '
',\r\n\r\n // Error message template\r\n errorTpl: '

{{ERROR}}

',\r\n\r\n btnTpl: {\r\n download: '' +\r\n '' +\r\n \"\",\r\n\r\n zoom: '\",\r\n\r\n close: '\",\r\n\r\n // Arrows\r\n arrowLeft: '\",\r\n\r\n arrowRight: '\",\r\n\r\n // This small close button will be appended to your html/inline/ajax content by default,\r\n // if \"smallBtn\" option is not set to false\r\n smallBtn: '\"\r\n },\r\n\r\n // Container is injected into this element\r\n parentEl: \"body\",\r\n\r\n // Hide browser vertical scrollbars; use at your own risk\r\n hideScrollbar: true,\r\n\r\n // Focus handling\r\n // ==============\r\n\r\n // Try to focus on the first focusable element after opening\r\n autoFocus: true,\r\n\r\n // Put focus back to active element after closing\r\n backFocus: true,\r\n\r\n // Do not let user to focus on element outside modal content\r\n trapFocus: true,\r\n\r\n // Module specific options\r\n // =======================\r\n\r\n fullScreen: {\r\n autoStart: false\r\n },\r\n\r\n // Set `touch: false` to disable panning/swiping\r\n touch: {\r\n vertical: true, // Allow to drag content vertically\r\n momentum: true // Continue movement after releasing mouse/touch when panning\r\n },\r\n\r\n // Hash value when initializing manually,\r\n // set `false` to disable hash change\r\n hash: null,\r\n\r\n // Customize or add new media types\r\n // Example:\r\n /*\r\n media : {\r\n youtube : {\r\n params : {\r\n autoplay : 0\r\n }\r\n }\r\n }\r\n */\r\n media: {},\r\n\r\n slideShow: {\r\n autoStart: false,\r\n speed: 3000\r\n },\r\n\r\n thumbs: {\r\n autoStart: false, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\r\n },\r\n\r\n // Use mousewheel to navigate gallery\r\n // If 'auto' - enabled for images only\r\n wheel: \"auto\",\r\n\r\n // Callbacks\r\n //==========\r\n\r\n // See Documentation/API/Events for more information\r\n // Example:\r\n /*\r\n afterShow: function( instance, current ) {\r\n console.info( 'Clicked element:' );\r\n console.info( current.opts.$orig );\r\n }\r\n */\r\n\r\n onInit: $.noop, // When instance has been initialized\r\n\r\n beforeLoad: $.noop, // Before the content of a slide is being loaded\r\n afterLoad: $.noop, // When the content of a slide is done loading\r\n\r\n beforeShow: $.noop, // Before open animation starts\r\n afterShow: $.noop, // When content is done loading and animating\r\n\r\n beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.\r\n afterClose: $.noop, // After instance has been closed\r\n\r\n onActivate: $.noop, // When instance is brought to front\r\n onDeactivate: $.noop, // When other instance has been activated\r\n\r\n // Interaction\r\n // ===========\r\n\r\n // Use options below to customize taken action when user clicks or double clicks on the fancyBox area,\r\n // each option can be string or method that returns value.\r\n //\r\n // Possible values:\r\n // \"close\" - close instance\r\n // \"next\" - move to next gallery item\r\n // \"nextOrClose\" - move to next gallery item or close if gallery has only one item\r\n // \"toggleControls\" - show/hide controls\r\n // \"zoom\" - zoom image (if loaded)\r\n // false - do nothing\r\n\r\n // Clicked on the content\r\n clickContent: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n },\r\n\r\n // Clicked on the slide\r\n clickSlide: \"close\",\r\n\r\n // Clicked on the background (backdrop) element;\r\n // if you have not changed the layout, then most likely you need to use `clickSlide` option\r\n clickOutside: \"close\",\r\n\r\n // Same as previous two, but for double click\r\n dblclickContent: false,\r\n dblclickSlide: false,\r\n dblclickOutside: false,\r\n\r\n // Custom options when mobile device is detected\r\n // =============================================\r\n\r\n mobile: {\r\n preventCaptionOverlap: false,\r\n idleTime: false,\r\n clickContent: function (current, event) {\r\n return current.type === \"image\" ? \"toggleControls\" : false;\r\n },\r\n clickSlide: function (current, event) {\r\n return current.type === \"image\" ? \"toggleControls\" : \"close\";\r\n },\r\n dblclickContent: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n },\r\n dblclickSlide: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n }\r\n },\r\n\r\n // Internationalization\r\n // ====================\r\n\r\n lang: \"en\",\r\n i18n: {\r\n en: {\r\n CLOSE: \"Close\",\r\n NEXT: \"Next\",\r\n PREV: \"Previous\",\r\n ERROR: \"The requested content cannot be loaded.
Please try again later.\",\r\n PLAY_START: \"Start slideshow\",\r\n PLAY_STOP: \"Pause slideshow\",\r\n FULL_SCREEN: \"Full screen\",\r\n THUMBS: \"Thumbnails\",\r\n DOWNLOAD: \"Download\",\r\n SHARE: \"Share\",\r\n ZOOM: \"Zoom\"\r\n },\r\n de: {\r\n CLOSE: \"Schließen\",\r\n NEXT: \"Weiter\",\r\n PREV: \"Zurück\",\r\n ERROR: \"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.\",\r\n PLAY_START: \"Diaschau starten\",\r\n PLAY_STOP: \"Diaschau beenden\",\r\n FULL_SCREEN: \"Vollbild\",\r\n THUMBS: \"Vorschaubilder\",\r\n DOWNLOAD: \"Herunterladen\",\r\n SHARE: \"Teilen\",\r\n ZOOM: \"Vergrößern\"\r\n }\r\n }\r\n };\r\n\r\n // Few useful variables and methods\r\n // ================================\r\n\r\n var $W = $(window);\r\n var $D = $(document);\r\n\r\n var called = 0;\r\n\r\n // Check if an object is a jQuery object and not a native JavaScript object\r\n // ========================================================================\r\n var isQuery = function (obj) {\r\n return obj && obj.hasOwnProperty && obj instanceof $;\r\n };\r\n\r\n // Handle multiple browsers for \"requestAnimationFrame\" and \"cancelAnimationFrame\"\r\n // ===============================================================================\r\n var requestAFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n }\r\n );\r\n })();\r\n\r\n var cancelAFrame = (function () {\r\n return (\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n }\r\n );\r\n })();\r\n\r\n // Detect the supported transition-end event property name\r\n // =======================================================\r\n var transitionEnd = (function () {\r\n var el = document.createElement(\"fakeelement\"),\r\n t;\r\n\r\n var transitions = {\r\n transition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n WebkitTransition: \"webkitTransitionEnd\"\r\n };\r\n\r\n for (t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n\r\n return \"transitionend\";\r\n })();\r\n\r\n // Force redraw on an element.\r\n // This helps in cases where the browser doesn't redraw an updated element properly\r\n // ================================================================================\r\n var forceRedraw = function ($el) {\r\n return $el && $el.length && $el[0].offsetHeight;\r\n };\r\n\r\n // Exclude array (`buttons`) options from deep merging\r\n // ===================================================\r\n var mergeOpts = function (opts1, opts2) {\r\n var rez = $.extend(true, {}, opts1, opts2);\r\n\r\n $.each(opts2, function (key, value) {\r\n if ($.isArray(value)) {\r\n rez[key] = value;\r\n }\r\n });\r\n\r\n return rez;\r\n };\r\n\r\n // How much of an element is visible in viewport\r\n // =============================================\r\n\r\n var inViewport = function (elem) {\r\n var elemCenter, rez;\r\n\r\n if (!elem || elem.ownerDocument !== document) {\r\n return false;\r\n }\r\n\r\n $(\".fancybox-container\").css(\"pointer-events\", \"none\");\r\n\r\n elemCenter = {\r\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\r\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\r\n };\r\n\r\n rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;\r\n\r\n $(\".fancybox-container\").css(\"pointer-events\", \"\");\r\n\r\n return rez;\r\n };\r\n\r\n // Class definition\r\n // ================\r\n\r\n var FancyBox = function (content, opts, index) {\r\n var self = this;\r\n\r\n self.opts = mergeOpts({\r\n index: index\r\n }, $.fancybox.defaults);\r\n\r\n if ($.isPlainObject(opts)) {\r\n self.opts = mergeOpts(self.opts, opts);\r\n }\r\n\r\n if ($.fancybox.isMobile) {\r\n self.opts = mergeOpts(self.opts, self.opts.mobile);\r\n }\r\n\r\n self.id = self.opts.id || ++called;\r\n\r\n self.currIndex = parseInt(self.opts.index, 10) || 0;\r\n self.prevIndex = null;\r\n\r\n self.prevPos = null;\r\n self.currPos = 0;\r\n\r\n self.firstRun = true;\r\n\r\n // All group items\r\n self.group = [];\r\n\r\n // Existing slides (for current, next and previous gallery items)\r\n self.slides = {};\r\n\r\n // Create group elements\r\n self.addContent(content);\r\n\r\n if (!self.group.length) {\r\n return;\r\n }\r\n\r\n self.init();\r\n };\r\n\r\n $.extend(FancyBox.prototype, {\r\n // Create DOM structure\r\n // ====================\r\n\r\n init: function () {\r\n var self = this,\r\n firstItem = self.group[self.currIndex],\r\n firstItemOpts = firstItem.opts,\r\n $container,\r\n buttonStr;\r\n\r\n if (firstItemOpts.closeExisting) {\r\n $.fancybox.close(true);\r\n }\r\n\r\n // Hide scrollbars\r\n // ===============\r\n\r\n $(\"body\").addClass(\"fancybox-active\");\r\n\r\n if (\r\n !$.fancybox.getInstance() &&\r\n firstItemOpts.hideScrollbar !== false &&\r\n !$.fancybox.isMobile &&\r\n document.body.scrollHeight > window.innerHeight\r\n ) {\r\n $(\"head\").append(\r\n '\"\r\n );\r\n\r\n $(\"body\").addClass(\"compensate-for-scrollbar\");\r\n }\r\n\r\n // Build html markup and set references\r\n // ====================================\r\n\r\n // Build html code for buttons and insert into main template\r\n buttonStr = \"\";\r\n\r\n $.each(firstItemOpts.buttons, function (index, value) {\r\n buttonStr += firstItemOpts.btnTpl[value] || \"\";\r\n });\r\n\r\n // Create markup from base template, it will be initially hidden to\r\n // avoid unnecessary work like painting while initializing is not complete\r\n $container = $(\r\n self.translate(\r\n self,\r\n firstItemOpts.baseTpl\r\n .replace(\"{{buttons}}\", buttonStr)\r\n .replace(\"{{arrows}}\", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)\r\n )\r\n )\r\n .attr(\"id\", \"fancybox-container-\" + self.id)\r\n .addClass(firstItemOpts.baseClass)\r\n .data(\"FancyBox\", self)\r\n .appendTo(firstItemOpts.parentEl);\r\n\r\n // Create object holding references to jQuery wrapped nodes\r\n self.$refs = {\r\n container: $container\r\n };\r\n\r\n [\"bg\", \"inner\", \"infobar\", \"toolbar\", \"stage\", \"caption\", \"navigation\"].forEach(function (item) {\r\n self.$refs[item] = $container.find(\".fancybox-\" + item);\r\n });\r\n\r\n self.trigger(\"onInit\");\r\n\r\n // Enable events, deactive previous instances\r\n self.activate();\r\n\r\n // Build slides, load and reveal content\r\n self.jumpTo(self.currIndex);\r\n },\r\n\r\n // Simple i18n support - replaces object keys found in template\r\n // with corresponding values\r\n // ============================================================\r\n\r\n translate: function (obj, str) {\r\n var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en;\r\n\r\n return str.replace(/\\{\\{(\\w+)\\}\\}/g, function (match, n) {\r\n return arr[n] === undefined ? match : arr[n];\r\n });\r\n },\r\n\r\n // Populate current group with fresh content\r\n // Check if each object has valid type and content\r\n // ===============================================\r\n\r\n addContent: function (content) {\r\n var self = this,\r\n items = $.makeArray(content),\r\n thumbs;\r\n\r\n $.each(items, function (i, item) {\r\n var obj = {},\r\n opts = {},\r\n $item,\r\n type,\r\n found,\r\n src,\r\n srcParts;\r\n\r\n // Step 1 - Make sure we have an object\r\n // ====================================\r\n\r\n if ($.isPlainObject(item)) {\r\n // We probably have manual usage here, something like\r\n // $.fancybox.open( [ { src : \"image.jpg\", type : \"image\" } ] )\r\n\r\n obj = item;\r\n opts = item.opts || item;\r\n } else if ($.type(item) === \"object\" && $(item).length) {\r\n // Here we probably have jQuery collection returned by some selector\r\n $item = $(item);\r\n\r\n // Support attributes like `data-options='{\"touch\" : false}'` and `data-touch='false'`\r\n opts = $item.data() || {};\r\n opts = $.extend(true, {}, opts, opts.options);\r\n\r\n // Here we store clicked element\r\n opts.$orig = $item;\r\n\r\n obj.src = self.opts.src || opts.src || $item.attr(\"href\");\r\n\r\n // Assume that simple syntax is used, for example:\r\n // `$.fancybox.open( $(\"#test\"), {} );`\r\n if (!obj.type && !obj.src) {\r\n obj.type = \"inline\";\r\n obj.src = item;\r\n }\r\n } else {\r\n // Assume we have a simple html code, for example:\r\n // $.fancybox.open( '

Hi!

' );\r\n obj = {\r\n type: \"html\",\r\n src: item + \"\"\r\n };\r\n }\r\n\r\n // Each gallery object has full collection of options\r\n obj.opts = $.extend(true, {}, self.opts, opts);\r\n\r\n // Do not merge buttons array\r\n if ($.isArray(opts.buttons)) {\r\n obj.opts.buttons = opts.buttons;\r\n }\r\n\r\n if ($.fancybox.isMobile && obj.opts.mobile) {\r\n obj.opts = mergeOpts(obj.opts, obj.opts.mobile);\r\n }\r\n\r\n // Step 2 - Make sure we have content type, if not - try to guess\r\n // ==============================================================\r\n\r\n type = obj.type || obj.opts.type;\r\n src = obj.src || \"\";\r\n\r\n if (!type && src) {\r\n if ((found = src.match(/\\.(mp4|mov|ogv|webm)((\\?|#).*)?$/i))) {\r\n type = \"video\";\r\n\r\n if (!obj.opts.video.format) {\r\n obj.opts.video.format = \"video/\" + (found[1] === \"ogv\" ? \"ogg\" : found[1]);\r\n }\r\n } else if (src.match(/(^data:image\\/[a-z0-9+\\/=]*,)|(\\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\\?|#).*)?$)/i)) {\r\n type = \"image\";\r\n } else if (src.match(/\\.(pdf)((\\?|#).*)?$/i)) {\r\n type = \"iframe\";\r\n obj = $.extend(true, obj, {\r\n contentType: \"pdf\",\r\n opts: {\r\n iframe: {\r\n preload: false\r\n }\r\n }\r\n });\r\n } else if (src.charAt(0) === \"#\") {\r\n type = \"inline\";\r\n }\r\n }\r\n\r\n if (type) {\r\n obj.type = type;\r\n } else {\r\n self.trigger(\"objectNeedsType\", obj);\r\n }\r\n\r\n if (!obj.contentType) {\r\n obj.contentType = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1 ? \"html\" : obj.type;\r\n }\r\n\r\n // Step 3 - Some adjustments\r\n // =========================\r\n\r\n obj.index = self.group.length;\r\n\r\n if (obj.opts.smallBtn == \"auto\") {\r\n obj.opts.smallBtn = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1;\r\n }\r\n\r\n if (obj.opts.toolbar === \"auto\") {\r\n obj.opts.toolbar = !obj.opts.smallBtn;\r\n }\r\n\r\n // Find thumbnail image, check if exists and if is in the viewport\r\n obj.$thumb = obj.opts.$thumb || null;\r\n\r\n if (obj.opts.$trigger && obj.index === self.opts.index) {\r\n obj.$thumb = obj.opts.$trigger.find(\"img:first\");\r\n\r\n if (obj.$thumb.length) {\r\n obj.opts.$orig = obj.opts.$trigger;\r\n }\r\n }\r\n\r\n if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {\r\n obj.$thumb = obj.opts.$orig.find(\"img:first\");\r\n }\r\n\r\n if (obj.$thumb && !obj.$thumb.length) {\r\n obj.$thumb = null;\r\n }\r\n\r\n obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);\r\n\r\n // \"caption\" is a \"special\" option, it can be used to customize caption per gallery item\r\n if ($.type(obj.opts.caption) === \"function\") {\r\n obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);\r\n }\r\n\r\n if ($.type(self.opts.caption) === \"function\") {\r\n obj.opts.caption = self.opts.caption.apply(item, [self, obj]);\r\n }\r\n\r\n // Make sure we have caption as a string or jQuery object\r\n if (!(obj.opts.caption instanceof $)) {\r\n obj.opts.caption = obj.opts.caption === undefined ? \"\" : obj.opts.caption + \"\";\r\n }\r\n\r\n // Check if url contains \"filter\" used to filter the content\r\n // Example: \"ajax.html #something\"\r\n if (obj.type === \"ajax\") {\r\n srcParts = src.split(/\\s+/, 2);\r\n\r\n if (srcParts.length > 1) {\r\n obj.src = srcParts.shift();\r\n\r\n obj.opts.filter = srcParts.shift();\r\n }\r\n }\r\n\r\n // Hide all buttons and disable interactivity for modal items\r\n if (obj.opts.modal) {\r\n obj.opts = $.extend(true, obj.opts, {\r\n trapFocus: true,\r\n // Remove buttons\r\n infobar: 0,\r\n toolbar: 0,\r\n\r\n smallBtn: 0,\r\n\r\n // Disable keyboard navigation\r\n keyboard: 0,\r\n\r\n // Disable some modules\r\n slideShow: 0,\r\n fullScreen: 0,\r\n thumbs: 0,\r\n touch: 0,\r\n\r\n // Disable click event handlers\r\n clickContent: false,\r\n clickSlide: false,\r\n clickOutside: false,\r\n dblclickContent: false,\r\n dblclickSlide: false,\r\n dblclickOutside: false\r\n });\r\n }\r\n\r\n // Step 4 - Add processed object to group\r\n // ======================================\r\n\r\n self.group.push(obj);\r\n });\r\n\r\n // Update controls if gallery is already opened\r\n if (Object.keys(self.slides).length) {\r\n self.updateControls();\r\n\r\n // Update thumbnails, if needed\r\n thumbs = self.Thumbs;\r\n\r\n if (thumbs && thumbs.isActive) {\r\n thumbs.create();\r\n\r\n thumbs.focus();\r\n }\r\n }\r\n },\r\n\r\n // Attach an event handler functions for:\r\n // - navigation buttons\r\n // - browser scrolling, resizing;\r\n // - focusing\r\n // - keyboard\r\n // - detecting inactivity\r\n // ======================================\r\n\r\n addEvents: function () {\r\n var self = this;\r\n\r\n self.removeEvents();\r\n\r\n // Make navigation elements clickable\r\n // ==================================\r\n\r\n self.$refs.container\r\n .on(\"click.fb-close\", \"[data-fancybox-close]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.close(e);\r\n })\r\n .on(\"touchstart.fb-prev click.fb-prev\", \"[data-fancybox-prev]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.previous();\r\n })\r\n .on(\"touchstart.fb-next click.fb-next\", \"[data-fancybox-next]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.next();\r\n })\r\n .on(\"click.fb\", \"[data-fancybox-zoom]\", function (e) {\r\n // Click handler for zoom button\r\n self[self.isScaledDown() ? \"scaleToActual\" : \"scaleToFit\"]();\r\n });\r\n\r\n // Handle page scrolling and browser resizing\r\n // ==========================================\r\n\r\n $W.on(\"orientationchange.fb resize.fb\", function (e) {\r\n if (e && e.originalEvent && e.originalEvent.type === \"resize\") {\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n self.update(e);\r\n });\r\n } else {\r\n if (self.current && self.current.type === \"iframe\") {\r\n self.$refs.stage.hide();\r\n }\r\n\r\n setTimeout(\r\n function () {\r\n self.$refs.stage.show();\r\n\r\n self.update(e);\r\n },\r\n $.fancybox.isMobile ? 600 : 250\r\n );\r\n }\r\n });\r\n\r\n $D.on(\"keydown.fb\", function (e) {\r\n var instance = $.fancybox ? $.fancybox.getInstance() : null,\r\n current = instance.current,\r\n keycode = e.keyCode || e.which;\r\n\r\n // Trap keyboard focus inside of the modal\r\n // =======================================\r\n\r\n if (keycode == 9) {\r\n if (current.opts.trapFocus) {\r\n self.focus(e);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Enable keyboard navigation\r\n // ==========================\r\n\r\n if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is(\"input,textarea,video,audio,select\")) {\r\n return;\r\n }\r\n\r\n // Backspace and Esc keys\r\n if (keycode === 8 || keycode === 27) {\r\n e.preventDefault();\r\n\r\n self.close(e);\r\n\r\n return;\r\n }\r\n\r\n // Left arrow and Up arrow\r\n if (keycode === 37 || keycode === 38) {\r\n e.preventDefault();\r\n\r\n self.previous();\r\n\r\n return;\r\n }\r\n\r\n // Righ arrow and Down arrow\r\n if (keycode === 39 || keycode === 40) {\r\n e.preventDefault();\r\n\r\n self.next();\r\n\r\n return;\r\n }\r\n\r\n self.trigger(\"afterKeydown\", e, keycode);\r\n });\r\n\r\n // Hide controls after some inactivity period\r\n if (self.group[self.currIndex].opts.idleTime) {\r\n self.idleSecondsCounter = 0;\r\n\r\n $D.on(\r\n \"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle\",\r\n function (e) {\r\n self.idleSecondsCounter = 0;\r\n\r\n if (self.isIdle) {\r\n self.showControls();\r\n }\r\n\r\n self.isIdle = false;\r\n }\r\n );\r\n\r\n self.idleInterval = window.setInterval(function () {\r\n self.idleSecondsCounter++;\r\n\r\n if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {\r\n self.isIdle = true;\r\n self.idleSecondsCounter = 0;\r\n\r\n self.hideControls();\r\n }\r\n }, 1000);\r\n }\r\n },\r\n\r\n // Remove events added by the core\r\n // ===============================\r\n\r\n removeEvents: function () {\r\n var self = this;\r\n\r\n $W.off(\"orientationchange.fb resize.fb\");\r\n $D.off(\"keydown.fb .fb-idle\");\r\n\r\n this.$refs.container.off(\".fb-close .fb-prev .fb-next\");\r\n\r\n if (self.idleInterval) {\r\n window.clearInterval(self.idleInterval);\r\n\r\n self.idleInterval = null;\r\n }\r\n },\r\n\r\n // Change to previous gallery item\r\n // ===============================\r\n\r\n previous: function (duration) {\r\n return this.jumpTo(this.currPos - 1, duration);\r\n },\r\n\r\n // Change to next gallery item\r\n // ===========================\r\n\r\n next: function (duration) {\r\n return this.jumpTo(this.currPos + 1, duration);\r\n },\r\n\r\n // Switch to selected gallery item\r\n // ===============================\r\n\r\n jumpTo: function (pos, duration) {\r\n var self = this,\r\n groupLen = self.group.length,\r\n firstRun,\r\n isMoved,\r\n loop,\r\n current,\r\n previous,\r\n slidePos,\r\n stagePos,\r\n prop,\r\n diff;\r\n\r\n if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {\r\n return;\r\n }\r\n\r\n // Should loop?\r\n pos = parseInt(pos, 10);\r\n loop = self.current ? self.current.opts.loop : self.opts.loop;\r\n\r\n if (!loop && (pos < 0 || pos >= groupLen)) {\r\n return false;\r\n }\r\n\r\n // Check if opening for the first time; this helps to speed things up\r\n firstRun = self.firstRun = !Object.keys(self.slides).length;\r\n\r\n // Create slides\r\n previous = self.current;\r\n\r\n self.prevIndex = self.currIndex;\r\n self.prevPos = self.currPos;\r\n\r\n current = self.createSlide(pos);\r\n\r\n if (groupLen > 1) {\r\n if (loop || current.index < groupLen - 1) {\r\n self.createSlide(pos + 1);\r\n }\r\n\r\n if (loop || current.index > 0) {\r\n self.createSlide(pos - 1);\r\n }\r\n }\r\n\r\n self.current = current;\r\n self.currIndex = current.index;\r\n self.currPos = current.pos;\r\n\r\n self.trigger(\"beforeShow\", firstRun);\r\n\r\n self.updateControls();\r\n\r\n // Validate duration length\r\n current.forcedDuration = undefined;\r\n\r\n if ($.isNumeric(duration)) {\r\n current.forcedDuration = duration;\r\n } else {\r\n duration = current.opts[firstRun ? \"animationDuration\" : \"transitionDuration\"];\r\n }\r\n\r\n duration = parseInt(duration, 10);\r\n\r\n // Check if user has swiped the slides or if still animating\r\n isMoved = self.isMoved(current);\r\n\r\n // Make sure current slide is visible\r\n current.$slide.addClass(\"fancybox-slide--current\");\r\n\r\n // Fresh start - reveal container, current slide and start loading content\r\n if (firstRun) {\r\n if (current.opts.animationEffect && duration) {\r\n self.$refs.container.css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n self.$refs.container.addClass(\"fancybox-is-open\").trigger(\"focus\");\r\n\r\n // Attempt to load content into slide\r\n // This will later call `afterLoad` -> `revealContent`\r\n self.loadSlide(current);\r\n\r\n self.preload(\"image\");\r\n\r\n return;\r\n }\r\n\r\n // Get actual slide/stage positions (before cleaning up)\r\n slidePos = $.fancybox.getTranslate(previous.$slide);\r\n stagePos = $.fancybox.getTranslate(self.$refs.stage);\r\n\r\n // Clean up all slides\r\n $.each(self.slides, function (index, slide) {\r\n $.fancybox.stop(slide.$slide, true);\r\n });\r\n\r\n if (previous.pos !== current.pos) {\r\n previous.isComplete = false;\r\n }\r\n\r\n previous.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--current\");\r\n\r\n // If slides are out of place, then animate them to correct position\r\n if (isMoved) {\r\n // Calculate horizontal swipe distance\r\n diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);\r\n\r\n $.each(self.slides, function (index, slide) {\r\n slide.$slide.removeClass(\"fancybox-animated\").removeClass(function (index, className) {\r\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\r\n });\r\n\r\n // Make sure that each slide is in equal distance\r\n // This is mostly needed for freshly added slides, because they are not yet positioned\r\n var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: 0,\r\n left: leftPos - stagePos.left + diff\r\n });\r\n\r\n if (slide.pos !== current.pos) {\r\n slide.$slide.addClass(\"fancybox-slide--\" + (slide.pos > current.pos ? \"next\" : \"previous\"));\r\n }\r\n\r\n // Redraw to make sure that transition will start\r\n forceRedraw(slide.$slide);\r\n\r\n // Animate the slide\r\n $.fancybox.animate(\r\n slide.$slide, {\r\n top: 0,\r\n left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter\r\n },\r\n duration,\r\n function () {\r\n slide.$slide\r\n .css({\r\n transform: \"\",\r\n opacity: \"\"\r\n })\r\n .removeClass(\"fancybox-slide--next fancybox-slide--previous\");\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n }\r\n );\r\n });\r\n } else if (duration && current.opts.transitionEffect) {\r\n // Set transition effect for previously active slide\r\n prop = \"fancybox-animated fancybox-fx-\" + current.opts.transitionEffect;\r\n\r\n previous.$slide.addClass(\"fancybox-slide--\" + (previous.pos > current.pos ? \"next\" : \"previous\"));\r\n\r\n $.fancybox.animate(\r\n previous.$slide,\r\n prop,\r\n duration,\r\n function () {\r\n previous.$slide.removeClass(prop).removeClass(\"fancybox-slide--next fancybox-slide--previous\");\r\n },\r\n false\r\n );\r\n }\r\n\r\n if (current.isLoaded) {\r\n self.revealContent(current);\r\n } else {\r\n self.loadSlide(current);\r\n }\r\n\r\n self.preload(\"image\");\r\n },\r\n\r\n // Create new \"slide\" element\r\n // These are gallery items that are actually added to DOM\r\n // =======================================================\r\n\r\n createSlide: function (pos) {\r\n var self = this,\r\n $slide,\r\n index;\r\n\r\n index = pos % self.group.length;\r\n index = index < 0 ? self.group.length + index : index;\r\n\r\n if (!self.slides[pos] && self.group[index]) {\r\n $slide = $('
').appendTo(self.$refs.stage);\r\n\r\n self.slides[pos] = $.extend(true, {}, self.group[index], {\r\n pos: pos,\r\n $slide: $slide,\r\n isLoaded: false\r\n });\r\n\r\n self.updateSlide(self.slides[pos]);\r\n }\r\n\r\n return self.slides[pos];\r\n },\r\n\r\n // Scale image to the actual size of the image;\r\n // x and y values should be relative to the slide\r\n // ==============================================\r\n\r\n scaleToActual: function (x, y, duration) {\r\n var self = this,\r\n current = self.current,\r\n $content = current.$content,\r\n canvasWidth = $.fancybox.getTranslate(current.$slide).width,\r\n canvasHeight = $.fancybox.getTranslate(current.$slide).height,\r\n newImgWidth = current.width,\r\n newImgHeight = current.height,\r\n imgPos,\r\n posX,\r\n posY,\r\n scaleX,\r\n scaleY;\r\n\r\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\r\n return;\r\n }\r\n\r\n self.isAnimating = true;\r\n\r\n $.fancybox.stop($content);\r\n\r\n x = x === undefined ? canvasWidth * 0.5 : x;\r\n y = y === undefined ? canvasHeight * 0.5 : y;\r\n\r\n imgPos = $.fancybox.getTranslate($content);\r\n\r\n imgPos.top -= $.fancybox.getTranslate(current.$slide).top;\r\n imgPos.left -= $.fancybox.getTranslate(current.$slide).left;\r\n\r\n scaleX = newImgWidth / imgPos.width;\r\n scaleY = newImgHeight / imgPos.height;\r\n\r\n // Get center position for original image\r\n posX = canvasWidth * 0.5 - newImgWidth * 0.5;\r\n posY = canvasHeight * 0.5 - newImgHeight * 0.5;\r\n\r\n // Make sure image does not move away from edges\r\n if (newImgWidth > canvasWidth) {\r\n posX = imgPos.left * scaleX - (x * scaleX - x);\r\n\r\n if (posX > 0) {\r\n posX = 0;\r\n }\r\n\r\n if (posX < canvasWidth - newImgWidth) {\r\n posX = canvasWidth - newImgWidth;\r\n }\r\n }\r\n\r\n if (newImgHeight > canvasHeight) {\r\n posY = imgPos.top * scaleY - (y * scaleY - y);\r\n\r\n if (posY > 0) {\r\n posY = 0;\r\n }\r\n\r\n if (posY < canvasHeight - newImgHeight) {\r\n posY = canvasHeight - newImgHeight;\r\n }\r\n }\r\n\r\n self.updateCursor(newImgWidth, newImgHeight);\r\n\r\n $.fancybox.animate(\r\n $content, {\r\n top: posY,\r\n left: posX,\r\n scaleX: scaleX,\r\n scaleY: scaleY\r\n },\r\n duration || 366,\r\n function () {\r\n self.isAnimating = false;\r\n }\r\n );\r\n\r\n // Stop slideshow\r\n if (self.SlideShow && self.SlideShow.isActive) {\r\n self.SlideShow.stop();\r\n }\r\n },\r\n\r\n // Scale image to fit inside parent element\r\n // ========================================\r\n\r\n scaleToFit: function (duration) {\r\n var self = this,\r\n current = self.current,\r\n $content = current.$content,\r\n end;\r\n\r\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\r\n return;\r\n }\r\n\r\n self.isAnimating = true;\r\n\r\n $.fancybox.stop($content);\r\n\r\n end = self.getFitPos(current);\r\n\r\n self.updateCursor(end.width, end.height);\r\n\r\n $.fancybox.animate(\r\n $content, {\r\n top: end.top,\r\n left: end.left,\r\n scaleX: end.width / $content.width(),\r\n scaleY: end.height / $content.height()\r\n },\r\n duration || 366,\r\n function () {\r\n self.isAnimating = false;\r\n }\r\n );\r\n },\r\n\r\n // Calculate image size to fit inside viewport\r\n // ===========================================\r\n\r\n getFitPos: function (slide) {\r\n var self = this,\r\n $content = slide.$content,\r\n $slide = slide.$slide,\r\n width = slide.width || slide.opts.width,\r\n height = slide.height || slide.opts.height,\r\n maxWidth,\r\n maxHeight,\r\n minRatio,\r\n aspectRatio,\r\n rez = {};\r\n\r\n if (!slide.isLoaded || !$content || !$content.length) {\r\n return false;\r\n }\r\n\r\n maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;\r\n maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;\r\n\r\n maxWidth -=\r\n parseFloat($slide.css(\"paddingLeft\")) +\r\n parseFloat($slide.css(\"paddingRight\")) +\r\n parseFloat($content.css(\"marginLeft\")) +\r\n parseFloat($content.css(\"marginRight\"));\r\n\r\n maxHeight -=\r\n parseFloat($slide.css(\"paddingTop\")) +\r\n parseFloat($slide.css(\"paddingBottom\")) +\r\n parseFloat($content.css(\"marginTop\")) +\r\n parseFloat($content.css(\"marginBottom\"));\r\n\r\n if (!width || !height) {\r\n width = maxWidth;\r\n height = maxHeight;\r\n }\r\n\r\n minRatio = Math.min(1, maxWidth / width, maxHeight / height);\r\n\r\n width = minRatio * width;\r\n height = minRatio * height;\r\n\r\n // Adjust width/height to precisely fit into container\r\n if (width > maxWidth - 0.5) {\r\n width = maxWidth;\r\n }\r\n\r\n if (height > maxHeight - 0.5) {\r\n height = maxHeight;\r\n }\r\n\r\n if (slide.type === \"image\") {\r\n rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css(\"paddingTop\"));\r\n rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css(\"paddingLeft\"));\r\n } else if (slide.contentType === \"video\") {\r\n // Force aspect ratio for the video\r\n // \"I say the whole world must learn of our peaceful ways… by force!\"\r\n aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;\r\n\r\n if (height > width / aspectRatio) {\r\n height = width / aspectRatio;\r\n } else if (width > height * aspectRatio) {\r\n width = height * aspectRatio;\r\n }\r\n }\r\n\r\n rez.width = width;\r\n rez.height = height;\r\n\r\n return rez;\r\n },\r\n\r\n // Update content size and position for all slides\r\n // ==============================================\r\n\r\n update: function (e) {\r\n var self = this;\r\n\r\n $.each(self.slides, function (key, slide) {\r\n self.updateSlide(slide, e);\r\n });\r\n },\r\n\r\n // Update slide content position and size\r\n // ======================================\r\n\r\n updateSlide: function (slide, e) {\r\n var self = this,\r\n $content = slide && slide.$content,\r\n width = slide.width || slide.opts.width,\r\n height = slide.height || slide.opts.height,\r\n $slide = slide.$slide;\r\n\r\n // First, prevent caption overlap, if needed\r\n self.adjustCaption(slide);\r\n\r\n // Then resize content to fit inside the slide\r\n if ($content && (width || height || slide.contentType === \"video\") && !slide.hasError) {\r\n $.fancybox.stop($content);\r\n\r\n $.fancybox.setTranslate($content, self.getFitPos(slide));\r\n\r\n if (slide.pos === self.currPos) {\r\n self.isAnimating = false;\r\n\r\n self.updateCursor();\r\n }\r\n }\r\n\r\n // Then some adjustments\r\n self.adjustLayout(slide);\r\n\r\n if ($slide.length) {\r\n $slide.trigger(\"refresh\");\r\n\r\n if (slide.pos === self.currPos) {\r\n self.$refs.toolbar\r\n .add(self.$refs.navigation.find(\".fancybox-button--arrow_right\"))\r\n .toggleClass(\"compensate-for-scrollbar\", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);\r\n }\r\n }\r\n\r\n self.trigger(\"onUpdate\", slide, e);\r\n },\r\n\r\n // Horizontally center slide\r\n // =========================\r\n\r\n centerSlide: function (duration) {\r\n var self = this,\r\n current = self.current,\r\n $slide = current.$slide;\r\n\r\n if (self.isClosing || !current) {\r\n return;\r\n }\r\n\r\n $slide.siblings().css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n $slide\r\n .parent()\r\n .children()\r\n .removeClass(\"fancybox-slide--previous fancybox-slide--next\");\r\n\r\n $.fancybox.animate(\r\n $slide, {\r\n top: 0,\r\n left: 0,\r\n opacity: 1\r\n },\r\n duration === undefined ? 0 : duration,\r\n function () {\r\n // Clean up\r\n $slide.css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n if (!current.isComplete) {\r\n self.complete();\r\n }\r\n },\r\n false\r\n );\r\n },\r\n\r\n // Check if current slide is moved (swiped)\r\n // ========================================\r\n\r\n isMoved: function (slide) {\r\n var current = slide || this.current,\r\n slidePos,\r\n stagePos;\r\n\r\n if (!current) {\r\n return false;\r\n }\r\n\r\n stagePos = $.fancybox.getTranslate(this.$refs.stage);\r\n slidePos = $.fancybox.getTranslate(current.$slide);\r\n\r\n return (\r\n !current.$slide.hasClass(\"fancybox-animated\") &&\r\n (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)\r\n );\r\n },\r\n\r\n // Update cursor style depending if content can be zoomed\r\n // ======================================================\r\n\r\n updateCursor: function (nextWidth, nextHeight) {\r\n var self = this,\r\n current = self.current,\r\n $container = self.$refs.container,\r\n canPan,\r\n isZoomable;\r\n\r\n if (!current || self.isClosing || !self.Guestures) {\r\n return;\r\n }\r\n\r\n $container.removeClass(\"fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan\");\r\n\r\n canPan = self.canPan(nextWidth, nextHeight);\r\n\r\n isZoomable = canPan ? true : self.isZoomable();\r\n\r\n $container.toggleClass(\"fancybox-is-zoomable\", isZoomable);\r\n\r\n $(\"[data-fancybox-zoom]\").prop(\"disabled\", !isZoomable);\r\n\r\n if (canPan) {\r\n $container.addClass(\"fancybox-can-pan\");\r\n } else if (\r\n isZoomable &&\r\n (current.opts.clickContent === \"zoom\" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == \"zoom\"))\r\n ) {\r\n $container.addClass(\"fancybox-can-zoomIn\");\r\n } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== \"video\") {\r\n $container.addClass(\"fancybox-can-swipe\");\r\n }\r\n },\r\n\r\n // Check if current slide is zoomable\r\n // ==================================\r\n\r\n isZoomable: function () {\r\n var self = this,\r\n current = self.current,\r\n fitPos;\r\n\r\n // Assume that slide is zoomable if:\r\n // - image is still loading\r\n // - actual size of the image is smaller than available area\r\n if (current && !self.isClosing && current.type === \"image\" && !current.hasError) {\r\n if (!current.isLoaded) {\r\n return true;\r\n }\r\n\r\n fitPos = self.getFitPos(current);\r\n\r\n if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Check if current image dimensions are smaller than actual\r\n // =========================================================\r\n\r\n isScaledDown: function (nextWidth, nextHeight) {\r\n var self = this,\r\n rez = false,\r\n current = self.current,\r\n $content = current.$content;\r\n\r\n if (nextWidth !== undefined && nextHeight !== undefined) {\r\n rez = nextWidth < current.width && nextHeight < current.height;\r\n } else if ($content) {\r\n rez = $.fancybox.getTranslate($content);\r\n rez = rez.width < current.width && rez.height < current.height;\r\n }\r\n\r\n return rez;\r\n },\r\n\r\n // Check if image dimensions exceed parent element\r\n // ===============================================\r\n\r\n canPan: function (nextWidth, nextHeight) {\r\n var self = this,\r\n current = self.current,\r\n pos = null,\r\n rez = false;\r\n\r\n if (current.type === \"image\" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {\r\n rez = self.getFitPos(current);\r\n\r\n if (nextWidth !== undefined && nextHeight !== undefined) {\r\n pos = {\r\n width: nextWidth,\r\n height: nextHeight\r\n };\r\n } else if (current.isComplete) {\r\n pos = $.fancybox.getTranslate(current.$content);\r\n }\r\n\r\n if (pos && rez) {\r\n rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;\r\n }\r\n }\r\n\r\n return rez;\r\n },\r\n\r\n // Load content into the slide\r\n // ===========================\r\n\r\n loadSlide: function (slide) {\r\n var self = this,\r\n type,\r\n $slide,\r\n ajaxLoad;\r\n\r\n if (slide.isLoading || slide.isLoaded) {\r\n return;\r\n }\r\n\r\n slide.isLoading = true;\r\n\r\n if (self.trigger(\"beforeLoad\", slide) === false) {\r\n slide.isLoading = false;\r\n\r\n return false;\r\n }\r\n\r\n type = slide.type;\r\n $slide = slide.$slide;\r\n\r\n $slide\r\n .off(\"refresh\")\r\n .trigger(\"onReset\")\r\n .addClass(slide.opts.slideClass);\r\n\r\n // Create content depending on the type\r\n switch (type) {\r\n case \"image\":\r\n self.setImage(slide);\r\n\r\n break;\r\n\r\n case \"iframe\":\r\n self.setIframe(slide);\r\n\r\n break;\r\n\r\n case \"html\":\r\n self.setContent(slide, slide.src || slide.content);\r\n\r\n break;\r\n\r\n case \"video\":\r\n self.setContent(\r\n slide,\r\n slide.opts.video.tpl\r\n .replace(/\\{\\{src\\}\\}/gi, slide.src)\r\n .replace(\"{{format}}\", slide.opts.videoFormat || slide.opts.video.format || \"\")\r\n .replace(\"{{poster}}\", slide.thumb || \"\")\r\n );\r\n\r\n break;\r\n\r\n case \"inline\":\r\n if ($(slide.src).length) {\r\n self.setContent(slide, $(slide.src));\r\n } else {\r\n self.setError(slide);\r\n }\r\n\r\n break;\r\n\r\n case \"ajax\":\r\n self.showLoading(slide);\r\n\r\n ajaxLoad = $.ajax(\r\n $.extend({}, slide.opts.ajax.settings, {\r\n url: slide.src,\r\n success: function (data, textStatus) {\r\n if (textStatus === \"success\") {\r\n self.setContent(slide, data);\r\n }\r\n },\r\n error: function (jqXHR, textStatus) {\r\n if (jqXHR && textStatus !== \"abort\") {\r\n self.setError(slide);\r\n }\r\n }\r\n })\r\n );\r\n\r\n $slide.one(\"onReset\", function () {\r\n ajaxLoad.abort();\r\n });\r\n\r\n break;\r\n\r\n default:\r\n self.setError(slide);\r\n\r\n break;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n // Use thumbnail image, if possible\r\n // ================================\r\n\r\n setImage: function (slide) {\r\n var self = this,\r\n ghost;\r\n\r\n // Check if need to show loading icon\r\n setTimeout(function () {\r\n var $img = slide.$image;\r\n\r\n if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {\r\n self.showLoading(slide);\r\n }\r\n }, 50);\r\n\r\n //Check if image has srcset\r\n self.checkSrcset(slide);\r\n\r\n // This will be wrapper containing both ghost and actual image\r\n slide.$content = $('
')\r\n .addClass(\"fancybox-is-hidden\")\r\n .appendTo(slide.$slide.addClass(\"fancybox-slide--image\"));\r\n\r\n // If we have a thumbnail, we can display it while actual image is loading\r\n // Users will not stare at black screen and actual image will appear gradually\r\n if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {\r\n slide.width = slide.opts.width;\r\n slide.height = slide.opts.height;\r\n\r\n ghost = document.createElement(\"img\");\r\n\r\n ghost.onerror = function () {\r\n $(this).remove();\r\n\r\n slide.$ghost = null;\r\n };\r\n\r\n ghost.onload = function () {\r\n self.afterLoad(slide);\r\n };\r\n\r\n slide.$ghost = $(ghost)\r\n .addClass(\"fancybox-image\")\r\n .appendTo(slide.$content)\r\n .attr(\"src\", slide.thumb);\r\n }\r\n\r\n // Start loading actual image\r\n self.setBigImage(slide);\r\n },\r\n\r\n // Check if image has srcset and get the source\r\n // ============================================\r\n checkSrcset: function (slide) {\r\n var srcset = slide.opts.srcset || slide.opts.image.srcset,\r\n found,\r\n temp,\r\n pxRatio,\r\n windowWidth;\r\n\r\n // If we have \"srcset\", then we need to find first matching \"src\" value.\r\n // This is necessary, because when you set an src attribute, the browser will preload the image\r\n // before any javascript or even CSS is applied.\r\n if (srcset) {\r\n pxRatio = window.devicePixelRatio || 1;\r\n windowWidth = window.innerWidth * pxRatio;\r\n\r\n temp = srcset.split(\",\").map(function (el) {\r\n var ret = {};\r\n\r\n el.trim()\r\n .split(/\\s+/)\r\n .forEach(function (el, i) {\r\n var value = parseInt(el.substring(0, el.length - 1), 10);\r\n\r\n if (i === 0) {\r\n return (ret.url = el);\r\n }\r\n\r\n if (value) {\r\n ret.value = value;\r\n ret.postfix = el[el.length - 1];\r\n }\r\n });\r\n\r\n return ret;\r\n });\r\n\r\n // Sort by value\r\n temp.sort(function (a, b) {\r\n return a.value - b.value;\r\n });\r\n\r\n // Ok, now we have an array of all srcset values\r\n for (var j = 0; j < temp.length; j++) {\r\n var el = temp[j];\r\n\r\n if ((el.postfix === \"w\" && el.value >= windowWidth) || (el.postfix === \"x\" && el.value >= pxRatio)) {\r\n found = el;\r\n break;\r\n }\r\n }\r\n\r\n // If not found, take the last one\r\n if (!found && temp.length) {\r\n found = temp[temp.length - 1];\r\n }\r\n\r\n if (found) {\r\n slide.src = found.url;\r\n\r\n // If we have default width/height values, we can calculate height for matching source\r\n if (slide.width && slide.height && found.postfix == \"w\") {\r\n slide.height = (slide.width / slide.height) * found.value;\r\n slide.width = found.value;\r\n }\r\n\r\n slide.opts.srcset = srcset;\r\n }\r\n }\r\n },\r\n\r\n // Create full-size image\r\n // ======================\r\n\r\n setBigImage: function (slide) {\r\n var self = this,\r\n img = document.createElement(\"img\"),\r\n $img = $(img);\r\n\r\n slide.$image = $img\r\n .one(\"error\", function () {\r\n self.setError(slide);\r\n })\r\n .one(\"load\", function () {\r\n var sizes;\r\n\r\n if (!slide.$ghost) {\r\n self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);\r\n\r\n self.afterLoad(slide);\r\n }\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n if (slide.opts.srcset) {\r\n sizes = slide.opts.sizes;\r\n\r\n if (!sizes || sizes === \"auto\") {\r\n sizes =\r\n (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? \"100\" : Math.round((slide.width / slide.height) * 100)) +\r\n \"vw\";\r\n }\r\n\r\n $img.attr(\"sizes\", sizes).attr(\"srcset\", slide.opts.srcset);\r\n }\r\n\r\n // Hide temporary image after some delay\r\n if (slide.$ghost) {\r\n setTimeout(function () {\r\n if (slide.$ghost && !self.isClosing) {\r\n slide.$ghost.hide();\r\n }\r\n }, Math.min(300, Math.max(1000, slide.height / 1600)));\r\n }\r\n\r\n self.hideLoading(slide);\r\n })\r\n .addClass(\"fancybox-image\")\r\n .attr(\"src\", slide.src)\r\n .appendTo(slide.$content);\r\n\r\n if ((img.complete || img.readyState == \"complete\") && $img.naturalWidth && $img.naturalHeight) {\r\n $img.trigger(\"load\");\r\n } else if (img.error) {\r\n $img.trigger(\"error\");\r\n }\r\n },\r\n\r\n // Computes the slide size from image size and maxWidth/maxHeight\r\n // ==============================================================\r\n\r\n resolveImageSlideSize: function (slide, imgWidth, imgHeight) {\r\n var maxWidth = parseInt(slide.opts.width, 10),\r\n maxHeight = parseInt(slide.opts.height, 10);\r\n\r\n // Sets the default values from the image\r\n slide.width = imgWidth;\r\n slide.height = imgHeight;\r\n\r\n if (maxWidth > 0) {\r\n slide.width = maxWidth;\r\n slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);\r\n }\r\n\r\n if (maxHeight > 0) {\r\n slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);\r\n slide.height = maxHeight;\r\n }\r\n },\r\n\r\n // Create iframe wrapper, iframe and bindings\r\n // ==========================================\r\n\r\n setIframe: function (slide) {\r\n var self = this,\r\n opts = slide.opts.iframe,\r\n $slide = slide.$slide,\r\n $iframe;\r\n\r\n slide.$content = $('
')\r\n .css(opts.css)\r\n .appendTo($slide);\r\n\r\n $slide.addClass(\"fancybox-slide--\" + slide.contentType);\r\n\r\n slide.$iframe = $iframe = $(opts.tpl.replace(/\\{rnd\\}/g, new Date().getTime()))\r\n .attr(opts.attr)\r\n .appendTo(slide.$content);\r\n\r\n if (opts.preload) {\r\n self.showLoading(slide);\r\n\r\n // Unfortunately, it is not always possible to determine if iframe is successfully loaded\r\n // (due to browser security policy)\r\n\r\n $iframe.on(\"load.fb error.fb\", function (e) {\r\n this.isReady = 1;\r\n\r\n slide.$slide.trigger(\"refresh\");\r\n\r\n self.afterLoad(slide);\r\n });\r\n\r\n // Recalculate iframe content size\r\n // ===============================\r\n\r\n $slide.on(\"refresh.fb\", function () {\r\n var $content = slide.$content,\r\n frameWidth = opts.css.width,\r\n frameHeight = opts.css.height,\r\n $contents,\r\n $body;\r\n\r\n if ($iframe[0].isReady !== 1) {\r\n return;\r\n }\r\n\r\n try {\r\n $contents = $iframe.contents();\r\n $body = $contents.find(\"body\");\r\n } catch (ignore) {}\r\n\r\n // Calculate content dimensions, if it is accessible\r\n if ($body && $body.length && $body.children().length) {\r\n // Avoid scrolling to top (if multiple instances)\r\n $slide.css(\"overflow\", \"visible\");\r\n\r\n $content.css({\r\n width: \"100%\",\r\n \"max-width\": \"100%\",\r\n height: \"9999px\"\r\n });\r\n\r\n if (frameWidth === undefined) {\r\n frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));\r\n }\r\n\r\n $content.css(\"width\", frameWidth ? frameWidth : \"\").css(\"max-width\", \"\");\r\n\r\n if (frameHeight === undefined) {\r\n frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));\r\n }\r\n\r\n $content.css(\"height\", frameHeight ? frameHeight : \"\");\r\n\r\n $slide.css(\"overflow\", \"auto\");\r\n }\r\n\r\n $content.removeClass(\"fancybox-is-hidden\");\r\n });\r\n } else {\r\n self.afterLoad(slide);\r\n }\r\n\r\n $iframe.attr(\"src\", slide.src);\r\n\r\n // Remove iframe if closing or changing gallery item\r\n $slide.one(\"onReset\", function () {\r\n // This helps IE not to throw errors when closing\r\n try {\r\n $(this)\r\n .find(\"iframe\")\r\n .hide()\r\n .unbind()\r\n .attr(\"src\", \"//about:blank\");\r\n } catch (ignore) {}\r\n\r\n $(this)\r\n .off(\"refresh.fb\")\r\n .empty();\r\n\r\n slide.isLoaded = false;\r\n slide.isRevealed = false;\r\n });\r\n },\r\n\r\n // Wrap and append content to the slide\r\n // ======================================\r\n\r\n setContent: function (slide, content) {\r\n var self = this;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n self.hideLoading(slide);\r\n\r\n if (slide.$content) {\r\n $.fancybox.stop(slide.$content);\r\n }\r\n\r\n slide.$slide.empty();\r\n\r\n // If content is a jQuery object, then it will be moved to the slide.\r\n // The placeholder is created so we will know where to put it back.\r\n if (isQuery(content) && content.parent().length) {\r\n // Make sure content is not already moved to fancyBox\r\n if (content.hasClass(\"fancybox-content\") || content.parent().hasClass(\"fancybox-content\")) {\r\n content.parents(\".fancybox-slide\").trigger(\"onReset\");\r\n }\r\n\r\n // Create temporary element marking original place of the content\r\n slide.$placeholder = $(\"
\")\r\n .hide()\r\n .insertAfter(content);\r\n\r\n // Make sure content is visible\r\n content.css(\"display\", \"inline-block\");\r\n } else if (!slide.hasError) {\r\n // If content is just a plain text, try to convert it to html\r\n if ($.type(content) === \"string\") {\r\n content = $(\"
\")\r\n .append($.trim(content))\r\n .contents();\r\n }\r\n\r\n // If \"filter\" option is provided, then filter content\r\n if (slide.opts.filter) {\r\n content = $(\"
\")\r\n .html(content)\r\n .find(slide.opts.filter);\r\n }\r\n }\r\n\r\n slide.$slide.one(\"onReset\", function () {\r\n // Pause all html5 video/audio\r\n $(this)\r\n .find(\"video,audio\")\r\n .trigger(\"pause\");\r\n\r\n // Put content back\r\n if (slide.$placeholder) {\r\n slide.$placeholder.after(content.removeClass(\"fancybox-content\").hide()).remove();\r\n\r\n slide.$placeholder = null;\r\n }\r\n\r\n // Remove custom close button\r\n if (slide.$smallBtn) {\r\n slide.$smallBtn.remove();\r\n\r\n slide.$smallBtn = null;\r\n }\r\n\r\n // Remove content and mark slide as not loaded\r\n if (!slide.hasError) {\r\n $(this).empty();\r\n\r\n slide.isLoaded = false;\r\n slide.isRevealed = false;\r\n }\r\n });\r\n\r\n $(content).appendTo(slide.$slide);\r\n\r\n if ($(content).is(\"video,audio\")) {\r\n $(content).addClass(\"fancybox-video\");\r\n\r\n $(content).wrap(\"
\");\r\n\r\n slide.contentType = \"video\";\r\n\r\n slide.opts.width = slide.opts.width || $(content).attr(\"width\");\r\n slide.opts.height = slide.opts.height || $(content).attr(\"height\");\r\n }\r\n\r\n slide.$content = slide.$slide\r\n .children()\r\n .filter(\"div,form,main,video,audio,article,.fancybox-content\")\r\n .first();\r\n\r\n slide.$content.siblings().hide();\r\n\r\n // Re-check if there is a valid content\r\n // (in some cases, ajax response can contain various elements or plain text)\r\n if (!slide.$content.length) {\r\n slide.$content = slide.$slide\r\n .wrapInner(\"
\")\r\n .children()\r\n .first();\r\n }\r\n\r\n slide.$content.addClass(\"fancybox-content\");\r\n\r\n slide.$slide.addClass(\"fancybox-slide--\" + slide.contentType);\r\n\r\n self.afterLoad(slide);\r\n },\r\n\r\n // Display error message\r\n // =====================\r\n\r\n setError: function (slide) {\r\n slide.hasError = true;\r\n\r\n slide.$slide\r\n .trigger(\"onReset\")\r\n .removeClass(\"fancybox-slide--\" + slide.contentType)\r\n .addClass(\"fancybox-slide--error\");\r\n\r\n slide.contentType = \"html\";\r\n\r\n this.setContent(slide, this.translate(slide, slide.opts.errorTpl));\r\n\r\n if (slide.pos === this.currPos) {\r\n this.isAnimating = false;\r\n }\r\n },\r\n\r\n // Show loading icon inside the slide\r\n // ==================================\r\n\r\n showLoading: function (slide) {\r\n var self = this;\r\n\r\n slide = slide || self.current;\r\n\r\n if (slide && !slide.$spinner) {\r\n slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))\r\n .appendTo(slide.$slide)\r\n .hide()\r\n .fadeIn(\"fast\");\r\n }\r\n },\r\n\r\n // Remove loading icon from the slide\r\n // ==================================\r\n\r\n hideLoading: function (slide) {\r\n var self = this;\r\n\r\n slide = slide || self.current;\r\n\r\n if (slide && slide.$spinner) {\r\n slide.$spinner.stop().remove();\r\n\r\n delete slide.$spinner;\r\n }\r\n },\r\n\r\n // Adjustments after slide content has been loaded\r\n // ===============================================\r\n\r\n afterLoad: function (slide) {\r\n var self = this;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n slide.isLoading = false;\r\n slide.isLoaded = true;\r\n\r\n self.trigger(\"afterLoad\", slide);\r\n\r\n self.hideLoading(slide);\r\n\r\n // Add small close button\r\n if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {\r\n slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);\r\n }\r\n\r\n // Disable right click\r\n if (slide.opts.protect && slide.$content && !slide.hasError) {\r\n slide.$content.on(\"contextmenu.fb\", function (e) {\r\n if (e.button == 2) {\r\n e.preventDefault();\r\n }\r\n\r\n return true;\r\n });\r\n\r\n // Add fake element on top of the image\r\n // This makes a bit harder for user to select image\r\n if (slide.type === \"image\") {\r\n $('
').appendTo(slide.$content);\r\n }\r\n }\r\n\r\n self.adjustCaption(slide);\r\n\r\n self.adjustLayout(slide);\r\n\r\n if (slide.pos === self.currPos) {\r\n self.updateCursor();\r\n }\r\n\r\n self.revealContent(slide);\r\n },\r\n\r\n // Prevent caption overlap,\r\n // fix css inconsistency across browsers\r\n // =====================================\r\n\r\n adjustCaption: function (slide) {\r\n var self = this,\r\n current = slide || self.current,\r\n caption = current.opts.caption,\r\n preventOverlap = current.opts.preventCaptionOverlap,\r\n $caption = self.$refs.caption,\r\n $clone,\r\n captionH = false;\r\n\r\n $caption.toggleClass(\"fancybox-caption--separate\", preventOverlap);\r\n\r\n if (preventOverlap && caption && caption.length) {\r\n if (current.pos !== self.currPos) {\r\n $clone = $caption.clone().appendTo($caption.parent());\r\n\r\n $clone\r\n .children()\r\n .eq(0)\r\n .empty()\r\n .html(caption);\r\n\r\n captionH = $clone.outerHeight(true);\r\n\r\n $clone.empty().remove();\r\n } else if (self.$caption) {\r\n captionH = self.$caption.outerHeight(true);\r\n }\r\n\r\n current.$slide.css(\"padding-bottom\", captionH || \"\");\r\n }\r\n },\r\n\r\n // Simple hack to fix inconsistency across browsers, described here (affects Edge, too):\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=748518\r\n // ====================================================================================\r\n\r\n adjustLayout: function (slide) {\r\n var self = this,\r\n current = slide || self.current,\r\n scrollHeight,\r\n marginBottom,\r\n inlinePadding,\r\n actualPadding;\r\n\r\n if (current.isLoaded && current.opts.disableLayoutFix !== true) {\r\n current.$content.css(\"margin-bottom\", \"\");\r\n\r\n // If we would always set margin-bottom for the content,\r\n // then it would potentially break vertical align\r\n if (current.$content.outerHeight() > current.$slide.height() + 0.5) {\r\n inlinePadding = current.$slide[0].style[\"padding-bottom\"];\r\n actualPadding = current.$slide.css(\"padding-bottom\");\r\n\r\n if (parseFloat(actualPadding) > 0) {\r\n scrollHeight = current.$slide[0].scrollHeight;\r\n\r\n current.$slide.css(\"padding-bottom\", 0);\r\n\r\n if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {\r\n marginBottom = actualPadding;\r\n }\r\n\r\n current.$slide.css(\"padding-bottom\", inlinePadding);\r\n }\r\n }\r\n\r\n current.$content.css(\"margin-bottom\", marginBottom);\r\n }\r\n },\r\n\r\n // Make content visible\r\n // This method is called right after content has been loaded or\r\n // user navigates gallery and transition should start\r\n // ============================================================\r\n\r\n revealContent: function (slide) {\r\n var self = this,\r\n $slide = slide.$slide,\r\n end = false,\r\n start = false,\r\n isMoved = self.isMoved(slide),\r\n isRevealed = slide.isRevealed,\r\n effect,\r\n effectClassName,\r\n duration,\r\n opacity;\r\n\r\n slide.isRevealed = true;\r\n\r\n effect = slide.opts[self.firstRun ? \"animationEffect\" : \"transitionEffect\"];\r\n duration = slide.opts[self.firstRun ? \"animationDuration\" : \"transitionDuration\"];\r\n\r\n duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);\r\n\r\n if (isMoved || slide.pos !== self.currPos || !duration) {\r\n effect = false;\r\n }\r\n\r\n // Check if can zoom\r\n if (effect === \"zoom\") {\r\n if (slide.pos === self.currPos && duration && slide.type === \"image\" && !slide.hasError && (start = self.getThumbPos(slide))) {\r\n end = self.getFitPos(slide);\r\n } else {\r\n effect = \"fade\";\r\n }\r\n }\r\n\r\n // Zoom animation\r\n // ==============\r\n if (effect === \"zoom\") {\r\n self.isAnimating = true;\r\n\r\n end.scaleX = end.width / start.width;\r\n end.scaleY = end.height / start.height;\r\n\r\n // Check if we need to animate opacity\r\n opacity = slide.opts.zoomOpacity;\r\n\r\n if (opacity == \"auto\") {\r\n opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;\r\n }\r\n\r\n if (opacity) {\r\n start.opacity = 0.1;\r\n end.opacity = 1;\r\n }\r\n\r\n // Draw image at start position\r\n $.fancybox.setTranslate(slide.$content.removeClass(\"fancybox-is-hidden\"), start);\r\n\r\n forceRedraw(slide.$content);\r\n\r\n // Start animation\r\n $.fancybox.animate(slide.$content, end, duration, function () {\r\n self.isAnimating = false;\r\n\r\n self.complete();\r\n });\r\n\r\n return;\r\n }\r\n\r\n self.updateSlide(slide);\r\n\r\n // Simply show content if no effect\r\n // ================================\r\n if (!effect) {\r\n slide.$content.removeClass(\"fancybox-is-hidden\");\r\n\r\n if (!isRevealed && isMoved && slide.type === \"image\" && !slide.hasError) {\r\n slide.$content.hide().fadeIn(\"fast\");\r\n }\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Prepare for CSS transiton\r\n // =========================\r\n $.fancybox.stop($slide);\r\n\r\n //effectClassName = \"fancybox-animated fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-fx-\" + effect;\r\n effectClassName = \"fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-animated fancybox-fx-\" + effect;\r\n\r\n $slide.addClass(effectClassName).removeClass(\"fancybox-slide--current\"); //.addClass(effectClassName);\r\n\r\n slide.$content.removeClass(\"fancybox-is-hidden\");\r\n\r\n // Force reflow\r\n forceRedraw($slide);\r\n\r\n if (slide.type !== \"image\") {\r\n slide.$content.hide().show(0);\r\n }\r\n\r\n $.fancybox.animate(\r\n $slide,\r\n \"fancybox-slide--current\",\r\n duration,\r\n function () {\r\n $slide.removeClass(effectClassName).css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n },\r\n true\r\n );\r\n },\r\n\r\n // Check if we can and have to zoom from thumbnail\r\n //================================================\r\n\r\n getThumbPos: function (slide) {\r\n var rez = false,\r\n $thumb = slide.$thumb,\r\n thumbPos,\r\n btw,\r\n brw,\r\n bbw,\r\n blw;\r\n\r\n if (!$thumb || !inViewport($thumb[0])) {\r\n return false;\r\n }\r\n\r\n thumbPos = $.fancybox.getTranslate($thumb);\r\n\r\n btw = parseFloat($thumb.css(\"border-top-width\") || 0);\r\n brw = parseFloat($thumb.css(\"border-right-width\") || 0);\r\n bbw = parseFloat($thumb.css(\"border-bottom-width\") || 0);\r\n blw = parseFloat($thumb.css(\"border-left-width\") || 0);\r\n\r\n rez = {\r\n top: thumbPos.top + btw,\r\n left: thumbPos.left + blw,\r\n width: thumbPos.width - brw - blw,\r\n height: thumbPos.height - btw - bbw,\r\n scaleX: 1,\r\n scaleY: 1\r\n };\r\n\r\n return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;\r\n },\r\n\r\n // Final adjustments after current gallery item is moved to position\r\n // and it`s content is loaded\r\n // ==================================================================\r\n\r\n complete: function () {\r\n var self = this,\r\n current = self.current,\r\n slides = {},\r\n $el;\r\n\r\n if (self.isMoved() || !current.isLoaded) {\r\n return;\r\n }\r\n\r\n if (!current.isComplete) {\r\n current.isComplete = true;\r\n\r\n current.$slide.siblings().trigger(\"onReset\");\r\n\r\n self.preload(\"inline\");\r\n\r\n // Trigger any CSS transiton inside the slide\r\n forceRedraw(current.$slide);\r\n\r\n current.$slide.addClass(\"fancybox-slide--complete\");\r\n\r\n // Remove unnecessary slides\r\n $.each(self.slides, function (key, slide) {\r\n if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {\r\n slides[slide.pos] = slide;\r\n } else if (slide) {\r\n $.fancybox.stop(slide.$slide);\r\n\r\n slide.$slide.off().remove();\r\n }\r\n });\r\n\r\n self.slides = slides;\r\n }\r\n\r\n self.isAnimating = false;\r\n\r\n self.updateCursor();\r\n\r\n self.trigger(\"afterShow\");\r\n\r\n // Autoplay first html5 video/audio\r\n if (!!current.opts.video.autoStart) {\r\n current.$slide\r\n .find(\"video,audio\")\r\n .filter(\":visible:first\")\r\n .trigger(\"play\")\r\n .one(\"ended\", function () {\r\n if (Document.exitFullscreen) {\r\n Document.exitFullscreen();\r\n } else if (this.webkitExitFullscreen) {\r\n this.webkitExitFullscreen();\r\n }\r\n\r\n self.next();\r\n });\r\n }\r\n\r\n // Try to focus on the first focusable element\r\n if (current.opts.autoFocus && current.contentType === \"html\") {\r\n // Look for the first input with autofocus attribute\r\n $el = current.$content.find(\"input[autofocus]:enabled:visible:first\");\r\n\r\n if ($el.length) {\r\n $el.trigger(\"focus\");\r\n } else {\r\n self.focus(null, true);\r\n }\r\n }\r\n\r\n // Avoid jumping\r\n current.$slide.scrollTop(0).scrollLeft(0);\r\n },\r\n\r\n // Preload next and previous slides\r\n // ================================\r\n\r\n preload: function (type) {\r\n var self = this,\r\n prev,\r\n next;\r\n\r\n if (self.group.length < 2) {\r\n return;\r\n }\r\n\r\n next = self.slides[self.currPos + 1];\r\n prev = self.slides[self.currPos - 1];\r\n\r\n if (prev && prev.type === type) {\r\n self.loadSlide(prev);\r\n }\r\n\r\n if (next && next.type === type) {\r\n self.loadSlide(next);\r\n }\r\n },\r\n\r\n // Try to find and focus on the first focusable element\r\n // ====================================================\r\n\r\n focus: function (e, firstRun) {\r\n var self = this,\r\n focusableStr = [\r\n \"a[href]\",\r\n \"area[href]\",\r\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\r\n \"select:not([disabled]):not([aria-hidden])\",\r\n \"textarea:not([disabled]):not([aria-hidden])\",\r\n \"button:not([disabled]):not([aria-hidden])\",\r\n \"iframe\",\r\n \"object\",\r\n \"embed\",\r\n \"video\",\r\n \"audio\",\r\n \"[contenteditable]\",\r\n '[tabindex]:not([tabindex^=\"-\"])'\r\n ].join(\",\"),\r\n focusableItems,\r\n focusedItemIndex;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n if (e || !self.current || !self.current.isComplete) {\r\n // Focus on any element inside fancybox\r\n focusableItems = self.$refs.container.find(\"*:visible\");\r\n } else {\r\n // Focus inside current slide\r\n focusableItems = self.current.$slide.find(\"*:visible\" + (firstRun ? \":not(.fancybox-close-small)\" : \"\"));\r\n }\r\n\r\n focusableItems = focusableItems.filter(focusableStr).filter(function () {\r\n return $(this).css(\"visibility\") !== \"hidden\" && !$(this).hasClass(\"disabled\");\r\n });\r\n\r\n if (focusableItems.length) {\r\n focusedItemIndex = focusableItems.index(document.activeElement);\r\n\r\n if (e && e.shiftKey) {\r\n // Back tab\r\n if (focusedItemIndex < 0 || focusedItemIndex == 0) {\r\n e.preventDefault();\r\n\r\n focusableItems.eq(focusableItems.length - 1).trigger(\"focus\");\r\n }\r\n } else {\r\n // Outside or Forward tab\r\n if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {\r\n if (e) {\r\n e.preventDefault();\r\n }\r\n\r\n focusableItems.eq(0).trigger(\"focus\");\r\n }\r\n }\r\n } else {\r\n self.$refs.container.trigger(\"focus\");\r\n }\r\n },\r\n\r\n // Activates current instance - brings container to the front and enables keyboard,\r\n // notifies other instances about deactivating\r\n // =================================================================================\r\n\r\n activate: function () {\r\n var self = this;\r\n\r\n // Deactivate all instances\r\n $(\".fancybox-container\").each(function () {\r\n var instance = $(this).data(\"FancyBox\");\r\n\r\n // Skip self and closing instances\r\n if (instance && instance.id !== self.id && !instance.isClosing) {\r\n instance.trigger(\"onDeactivate\");\r\n\r\n instance.removeEvents();\r\n\r\n instance.isVisible = false;\r\n }\r\n });\r\n\r\n self.isVisible = true;\r\n\r\n if (self.current || self.isIdle) {\r\n self.update();\r\n\r\n self.updateControls();\r\n }\r\n\r\n self.trigger(\"onActivate\");\r\n\r\n self.addEvents();\r\n },\r\n\r\n // Start closing procedure\r\n // This will start \"zoom-out\" animation if needed and clean everything up afterwards\r\n // =================================================================================\r\n\r\n close: function (e, d) {\r\n var self = this,\r\n current = self.current,\r\n effect,\r\n duration,\r\n $content,\r\n domRect,\r\n opacity,\r\n start,\r\n end;\r\n\r\n var done = function () {\r\n self.cleanUp(e);\r\n };\r\n\r\n if (self.isClosing) {\r\n return false;\r\n }\r\n\r\n self.isClosing = true;\r\n\r\n // If beforeClose callback prevents closing, make sure content is centered\r\n if (self.trigger(\"beforeClose\", e) === false) {\r\n self.isClosing = false;\r\n\r\n requestAFrame(function () {\r\n self.update();\r\n });\r\n\r\n return false;\r\n }\r\n\r\n // Remove all events\r\n // If there are multiple instances, they will be set again by \"activate\" method\r\n self.removeEvents();\r\n\r\n $content = current.$content;\r\n effect = current.opts.animationEffect;\r\n duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;\r\n\r\n current.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated\");\r\n\r\n if (e !== true) {\r\n $.fancybox.stop(current.$slide);\r\n } else {\r\n effect = false;\r\n }\r\n\r\n // Remove other slides\r\n current.$slide\r\n .siblings()\r\n .trigger(\"onReset\")\r\n .remove();\r\n\r\n // Trigger animations\r\n if (duration) {\r\n self.$refs.container\r\n .removeClass(\"fancybox-is-open\")\r\n .addClass(\"fancybox-is-closing\")\r\n .css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n // Clean up\r\n self.hideLoading(current);\r\n\r\n self.hideControls(true);\r\n\r\n self.updateCursor();\r\n\r\n // Check if possible to zoom-out\r\n if (\r\n effect === \"zoom\" &&\r\n !($content && duration && current.type === \"image\" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))\r\n ) {\r\n effect = \"fade\";\r\n }\r\n\r\n if (effect === \"zoom\") {\r\n $.fancybox.stop($content);\r\n\r\n domRect = $.fancybox.getTranslate($content);\r\n\r\n start = {\r\n top: domRect.top,\r\n left: domRect.left,\r\n scaleX: domRect.width / end.width,\r\n scaleY: domRect.height / end.height,\r\n width: end.width,\r\n height: end.height\r\n };\r\n\r\n // Check if we need to animate opacity\r\n opacity = current.opts.zoomOpacity;\r\n\r\n if (opacity == \"auto\") {\r\n opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;\r\n }\r\n\r\n if (opacity) {\r\n end.opacity = 0;\r\n }\r\n\r\n $.fancybox.setTranslate($content, start);\r\n\r\n forceRedraw($content);\r\n\r\n $.fancybox.animate($content, end, duration, done);\r\n\r\n return true;\r\n }\r\n\r\n if (effect && duration) {\r\n $.fancybox.animate(\r\n current.$slide.addClass(\"fancybox-slide--previous\").removeClass(\"fancybox-slide--current\"),\r\n \"fancybox-animated fancybox-fx-\" + effect,\r\n duration,\r\n done\r\n );\r\n } else {\r\n // If skip animation\r\n if (e === true) {\r\n setTimeout(done, duration);\r\n } else {\r\n done();\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n // Final adjustments after removing the instance\r\n // =============================================\r\n\r\n cleanUp: function (e) {\r\n var self = this,\r\n instance,\r\n $focus = self.current.opts.$orig,\r\n x,\r\n y;\r\n\r\n self.current.$slide.trigger(\"onReset\");\r\n\r\n self.$refs.container.empty().remove();\r\n\r\n self.trigger(\"afterClose\", e);\r\n\r\n // Place back focus\r\n if (!!self.current.opts.backFocus) {\r\n if (!$focus || !$focus.length || !$focus.is(\":visible\")) {\r\n $focus = self.$trigger;\r\n }\r\n\r\n if ($focus && $focus.length) {\r\n x = window.scrollX;\r\n y = window.scrollY;\r\n\r\n $focus.trigger(\"focus\");\r\n\r\n $(\"html, body\")\r\n .scrollTop(y)\r\n .scrollLeft(x);\r\n }\r\n }\r\n\r\n self.current = null;\r\n\r\n // Check if there are other instances\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n instance.activate();\r\n } else {\r\n $(\"body\").removeClass(\"fancybox-active compensate-for-scrollbar\");\r\n\r\n $(\"#fancybox-style-noscroll\").remove();\r\n }\r\n },\r\n\r\n // Call callback and trigger an event\r\n // ==================================\r\n\r\n trigger: function (name, slide) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n self = this,\r\n obj = slide && slide.opts ? slide : self.current,\r\n rez;\r\n\r\n if (obj) {\r\n args.unshift(obj);\r\n } else {\r\n obj = self;\r\n }\r\n\r\n args.unshift(self);\r\n\r\n if ($.isFunction(obj.opts[name])) {\r\n rez = obj.opts[name].apply(obj, args);\r\n }\r\n\r\n if (rez === false) {\r\n return rez;\r\n }\r\n\r\n if (name === \"afterClose\" || !self.$refs) {\r\n $D.trigger(name + \".fb\", args);\r\n } else {\r\n self.$refs.container.trigger(name + \".fb\", args);\r\n }\r\n },\r\n\r\n // Update infobar values, navigation button states and reveal caption\r\n // ==================================================================\r\n\r\n updateControls: function () {\r\n var self = this,\r\n current = self.current,\r\n index = current.index,\r\n $container = self.$refs.container,\r\n $caption = self.$refs.caption,\r\n caption = current.opts.caption;\r\n\r\n // Recalculate content dimensions\r\n current.$slide.trigger(\"refresh\");\r\n\r\n // Set caption\r\n if (caption && caption.length) {\r\n self.$caption = $caption;\r\n\r\n $caption\r\n .children()\r\n .eq(0)\r\n .html(caption);\r\n } else {\r\n self.$caption = null;\r\n }\r\n\r\n if (!self.hasHiddenControls && !self.isIdle) {\r\n self.showControls();\r\n }\r\n\r\n // Update info and navigation elements\r\n $container.find(\"[data-fancybox-count]\").html(self.group.length);\r\n $container.find(\"[data-fancybox-index]\").html(index + 1);\r\n\r\n $container.find(\"[data-fancybox-prev]\").prop(\"disabled\", !current.opts.loop && index <= 0);\r\n $container.find(\"[data-fancybox-next]\").prop(\"disabled\", !current.opts.loop && index >= self.group.length - 1);\r\n\r\n if (current.type === \"image\") {\r\n // Re-enable buttons; update download button source\r\n $container\r\n .find(\"[data-fancybox-zoom]\")\r\n .show()\r\n .end()\r\n .find(\"[data-fancybox-download]\")\r\n .attr(\"href\", current.opts.image.src || current.src)\r\n .show();\r\n } else if (current.opts.toolbar) {\r\n $container.find(\"[data-fancybox-download],[data-fancybox-zoom]\").hide();\r\n }\r\n\r\n // Make sure focus is not on disabled button/element\r\n if ($(document.activeElement).is(\":hidden,[disabled]\")) {\r\n self.$refs.container.trigger(\"focus\");\r\n }\r\n },\r\n\r\n // Hide toolbar and caption\r\n // ========================\r\n\r\n hideControls: function (andCaption) {\r\n var self = this,\r\n arr = [\"infobar\", \"toolbar\", \"nav\"];\r\n\r\n if (andCaption || !self.current.opts.preventCaptionOverlap) {\r\n arr.push(\"caption\");\r\n }\r\n\r\n this.$refs.container.removeClass(\r\n arr\r\n .map(function (i) {\r\n return \"fancybox-show-\" + i;\r\n })\r\n .join(\" \")\r\n );\r\n\r\n this.hasHiddenControls = true;\r\n },\r\n\r\n showControls: function () {\r\n var self = this,\r\n opts = self.current ? self.current.opts : self.opts,\r\n $container = self.$refs.container;\r\n\r\n self.hasHiddenControls = false;\r\n self.idleSecondsCounter = 0;\r\n\r\n $container\r\n .toggleClass(\"fancybox-show-toolbar\", !!(opts.toolbar && opts.buttons))\r\n .toggleClass(\"fancybox-show-infobar\", !!(opts.infobar && self.group.length > 1))\r\n .toggleClass(\"fancybox-show-caption\", !!self.$caption)\r\n .toggleClass(\"fancybox-show-nav\", !!(opts.arrows && self.group.length > 1))\r\n .toggleClass(\"fancybox-is-modal\", !!opts.modal);\r\n },\r\n\r\n // Toggle toolbar and caption\r\n // ==========================\r\n\r\n toggleControls: function () {\r\n if (this.hasHiddenControls) {\r\n this.showControls();\r\n } else {\r\n this.hideControls();\r\n }\r\n }\r\n });\r\n\r\n $.fancybox = {\r\n version: \"3.5.7\",\r\n defaults: defaults,\r\n\r\n // Get current instance and execute a command.\r\n //\r\n // Examples of usage:\r\n //\r\n // $instance = $.fancybox.getInstance();\r\n // $.fancybox.getInstance().jumpTo( 1 );\r\n // $.fancybox.getInstance( 'jumpTo', 1 );\r\n // $.fancybox.getInstance( function() {\r\n // console.info( this.currIndex );\r\n // });\r\n // ======================================================\r\n\r\n getInstance: function (command) {\r\n var instance = $('.fancybox-container:not(\".fancybox-is-closing\"):last').data(\"FancyBox\"),\r\n args = Array.prototype.slice.call(arguments, 1);\r\n\r\n if (instance instanceof FancyBox) {\r\n if ($.type(command) === \"string\") {\r\n instance[command].apply(instance, args);\r\n } else if ($.type(command) === \"function\") {\r\n command.apply(instance, args);\r\n }\r\n\r\n return instance;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Create new instance\r\n // ===================\r\n\r\n open: function (items, opts, index) {\r\n return new FancyBox(items, opts, index);\r\n },\r\n\r\n // Close current or all instances\r\n // ==============================\r\n\r\n close: function (all) {\r\n var instance = this.getInstance();\r\n\r\n if (instance) {\r\n instance.close();\r\n\r\n // Try to find and close next instance\r\n if (all === true) {\r\n this.close(all);\r\n }\r\n }\r\n },\r\n\r\n // Close all instances and unbind all events\r\n // =========================================\r\n\r\n destroy: function () {\r\n this.close(true);\r\n\r\n $D.add(\"body\").off(\"click.fb-start\", \"**\");\r\n },\r\n\r\n // Try to detect mobile devices\r\n // ============================\r\n\r\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\r\n\r\n // Detect if 'translate3d' support is available\r\n // ============================================\r\n\r\n use3d: (function () {\r\n var div = document.createElement(\"div\");\r\n\r\n return (\r\n window.getComputedStyle &&\r\n window.getComputedStyle(div) &&\r\n window.getComputedStyle(div).getPropertyValue(\"transform\") &&\r\n !(document.documentMode && document.documentMode < 11)\r\n );\r\n })(),\r\n\r\n // Helper function to get current visual state of an element\r\n // returns array[ top, left, horizontal-scale, vertical-scale, opacity ]\r\n // =====================================================================\r\n\r\n getTranslate: function ($el) {\r\n var domRect;\r\n\r\n if (!$el || !$el.length) {\r\n return false;\r\n }\r\n\r\n domRect = $el[0].getBoundingClientRect();\r\n\r\n return {\r\n top: domRect.top || 0,\r\n left: domRect.left || 0,\r\n width: domRect.width,\r\n height: domRect.height,\r\n opacity: parseFloat($el.css(\"opacity\"))\r\n };\r\n },\r\n\r\n // Shortcut for setting \"translate3d\" properties for element\r\n // Can set be used to set opacity, too\r\n // ========================================================\r\n\r\n setTranslate: function ($el, props) {\r\n var str = \"\",\r\n css = {};\r\n\r\n if (!$el || !props) {\r\n return;\r\n }\r\n\r\n if (props.left !== undefined || props.top !== undefined) {\r\n str =\r\n (props.left === undefined ? $el.position().left : props.left) +\r\n \"px, \" +\r\n (props.top === undefined ? $el.position().top : props.top) +\r\n \"px\";\r\n\r\n if (this.use3d) {\r\n str = \"translate3d(\" + str + \", 0px)\";\r\n } else {\r\n str = \"translate(\" + str + \")\";\r\n }\r\n }\r\n\r\n if (props.scaleX !== undefined && props.scaleY !== undefined) {\r\n str += \" scale(\" + props.scaleX + \", \" + props.scaleY + \")\";\r\n } else if (props.scaleX !== undefined) {\r\n str += \" scaleX(\" + props.scaleX + \")\";\r\n }\r\n\r\n if (str.length) {\r\n css.transform = str;\r\n }\r\n\r\n if (props.opacity !== undefined) {\r\n css.opacity = props.opacity;\r\n }\r\n\r\n if (props.width !== undefined) {\r\n css.width = props.width;\r\n }\r\n\r\n if (props.height !== undefined) {\r\n css.height = props.height;\r\n }\r\n\r\n return $el.css(css);\r\n },\r\n\r\n // Simple CSS transition handler\r\n // =============================\r\n\r\n animate: function ($el, to, duration, callback, leaveAnimationName) {\r\n var self = this,\r\n from;\r\n\r\n if ($.isFunction(duration)) {\r\n callback = duration;\r\n duration = null;\r\n }\r\n\r\n self.stop($el);\r\n\r\n from = self.getTranslate($el);\r\n\r\n $el.on(transitionEnd, function (e) {\r\n // Skip events from child elements and z-index change\r\n if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == \"z-index\")) {\r\n return;\r\n }\r\n\r\n self.stop($el);\r\n\r\n if ($.isNumeric(duration)) {\r\n $el.css(\"transition-duration\", \"\");\r\n }\r\n\r\n if ($.isPlainObject(to)) {\r\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\r\n self.setTranslate($el, {\r\n top: to.top,\r\n left: to.left,\r\n width: from.width * to.scaleX,\r\n height: from.height * to.scaleY,\r\n scaleX: 1,\r\n scaleY: 1\r\n });\r\n }\r\n } else if (leaveAnimationName !== true) {\r\n $el.removeClass(to);\r\n }\r\n\r\n if ($.isFunction(callback)) {\r\n callback(e);\r\n }\r\n });\r\n\r\n if ($.isNumeric(duration)) {\r\n $el.css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n // Start animation by changing CSS properties or class name\r\n if ($.isPlainObject(to)) {\r\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\r\n delete to.width;\r\n delete to.height;\r\n\r\n if ($el.parent().hasClass(\"fancybox-slide--image\")) {\r\n $el.parent().addClass(\"fancybox-is-scaling\");\r\n }\r\n }\r\n\r\n $.fancybox.setTranslate($el, to);\r\n } else {\r\n $el.addClass(to);\r\n }\r\n\r\n // Make sure that `transitionend` callback gets fired\r\n $el.data(\r\n \"timer\",\r\n setTimeout(function () {\r\n $el.trigger(transitionEnd);\r\n }, duration + 33)\r\n );\r\n },\r\n\r\n stop: function ($el, callCallback) {\r\n if ($el && $el.length) {\r\n clearTimeout($el.data(\"timer\"));\r\n\r\n if (callCallback) {\r\n $el.trigger(transitionEnd);\r\n }\r\n\r\n $el.off(transitionEnd).css(\"transition-duration\", \"\");\r\n\r\n $el.parent().removeClass(\"fancybox-is-scaling\");\r\n }\r\n }\r\n };\r\n\r\n // Default click handler for \"fancyboxed\" links\r\n // ============================================\r\n\r\n function _run(e, opts) {\r\n var items = [],\r\n index = 0,\r\n $target,\r\n value,\r\n instance;\r\n\r\n // Avoid opening multiple times\r\n if (e && e.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n opts = opts || {};\r\n\r\n if (e && e.data) {\r\n opts = mergeOpts(e.data.options, opts);\r\n }\r\n\r\n $target = opts.$target || $(e.currentTarget).trigger(\"blur\");\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance && instance.$trigger && instance.$trigger.is($target)) {\r\n return;\r\n }\r\n\r\n if (opts.selector) {\r\n items = $(opts.selector);\r\n } else {\r\n // Get all related items and find index for clicked one\r\n value = $target.attr(\"data-fancybox\") || \"\";\r\n\r\n if (value) {\r\n items = e.data ? e.data.items : [];\r\n items = items.length ? items.filter('[data-fancybox=\"' + value + '\"]') : $('[data-fancybox=\"' + value + '\"]');\r\n } else {\r\n items = [$target];\r\n }\r\n }\r\n\r\n index = $(items).index($target);\r\n\r\n // Sometimes current item can not be found\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n\r\n instance = $.fancybox.open(items, opts, index);\r\n\r\n // Save last active element\r\n instance.$trigger = $target;\r\n }\r\n\r\n // Create a jQuery plugin\r\n // ======================\r\n\r\n $.fn.fancybox = function (options) {\r\n var selector;\r\n\r\n options = options || {};\r\n selector = options.selector || false;\r\n\r\n if (selector) {\r\n // Use body element instead of document so it executes first\r\n $(\"body\")\r\n .off(\"click.fb-start\", selector)\r\n .on(\"click.fb-start\", selector, {\r\n options: options\r\n }, _run);\r\n } else {\r\n this.off(\"click.fb-start\").on(\r\n \"click.fb-start\", {\r\n items: this,\r\n options: options\r\n },\r\n _run\r\n );\r\n }\r\n\r\n return this;\r\n };\r\n\r\n // Self initializing plugin for all elements having `data-fancybox` attribute\r\n // ==========================================================================\r\n\r\n $D.on(\"click.fb-start\", \"[data-fancybox]\", _run);\r\n\r\n // Enable \"trigger elements\"\r\n // =========================\r\n\r\n $D.on(\"click.fb-start\", \"[data-fancybox-trigger]\", function (e) {\r\n $('[data-fancybox=\"' + $(this).attr(\"data-fancybox-trigger\") + '\"]')\r\n .eq($(this).attr(\"data-fancybox-index\") || 0)\r\n .trigger(\"click.fb-start\", {\r\n $trigger: $(this)\r\n });\r\n });\r\n\r\n // Track focus event for better accessibility styling\r\n // ==================================================\r\n (function () {\r\n var buttonStr = \".fancybox-button\",\r\n focusStr = \"fancybox-focus\",\r\n $pressed = null;\r\n\r\n $D.on(\"mousedown mouseup focus blur\", buttonStr, function (e) {\r\n switch (e.type) {\r\n case \"mousedown\":\r\n $pressed = $(this);\r\n break;\r\n case \"mouseup\":\r\n $pressed = null;\r\n break;\r\n case \"focusin\":\r\n $(buttonStr).removeClass(focusStr);\r\n\r\n if (!$(this).is($pressed) && !$(this).is(\"[disabled]\")) {\r\n $(this).addClass(focusStr);\r\n }\r\n break;\r\n case \"focusout\":\r\n $(buttonStr).removeClass(focusStr);\r\n break;\r\n }\r\n });\r\n })();\r\n})(window, document, jQuery);\n// ==========================================================================\r\n//\r\n// Media\r\n// Adds additional media type support\r\n//\r\n// ==========================================================================\r\n(function ($) {\r\n \"use strict\";\r\n\r\n // Object containing properties for each media type\r\n var defaults = {\r\n youtube: {\r\n matcher: /(youtube\\.com|youtu\\.be|youtube\\-nocookie\\.com)\\/(watch\\?(.*&)?v=|v\\/|u\\/|embed\\/?)?(videoseries\\?list=(.*)|[\\w-]{11}|\\?listType=(.*)&list=(.*))(.*)/i,\r\n params: {\r\n autoplay: 1,\r\n autohide: 1,\r\n fs: 1,\r\n rel: 0,\r\n hd: 1,\r\n wmode: \"transparent\",\r\n enablejsapi: 1,\r\n html5: 1\r\n },\r\n paramPlace: 8,\r\n type: \"iframe\",\r\n url: \"https://www.youtube-nocookie.com/embed/$4\",\r\n thumb: \"https://img.youtube.com/vi/$4/hqdefault.jpg\"\r\n },\r\n\r\n vimeo: {\r\n matcher: /^.+vimeo.com\\/(.*\\/)?([\\d]+)(.*)?/,\r\n params: {\r\n autoplay: 1,\r\n hd: 1,\r\n show_title: 1,\r\n show_byline: 1,\r\n show_portrait: 0,\r\n fullscreen: 1\r\n },\r\n paramPlace: 3,\r\n type: \"iframe\",\r\n url: \"//player.vimeo.com/video/$2\"\r\n },\r\n\r\n instagram: {\r\n matcher: /(instagr\\.am|instagram\\.com)\\/p\\/([a-zA-Z0-9_\\-]+)\\/?/i,\r\n type: \"image\",\r\n url: \"//$1/p/$2/media/?size=l\"\r\n },\r\n\r\n // Examples:\r\n // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16\r\n // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z\r\n // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en\r\n // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572\r\n gmap_place: {\r\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(((maps\\/(place\\/(.*)\\/)?\\@(.*),(\\d+.?\\d+?)z))|(\\?ll=))(.*)?/i,\r\n type: \"iframe\",\r\n url: function (rez) {\r\n return (\r\n \"//maps.google.\" +\r\n rez[2] +\r\n \"/?ll=\" +\r\n (rez[9] ? rez[9] + \"&z=\" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\\//, \"&\") : \"\") : rez[12] + \"\").replace(/\\?/, \"&\") +\r\n \"&output=\" +\r\n (rez[12] && rez[12].indexOf(\"layer=c\") > 0 ? \"svembed\" : \"embed\")\r\n );\r\n }\r\n },\r\n\r\n // Examples:\r\n // https://www.google.com/maps/search/Empire+State+Building/\r\n // https://www.google.com/maps/search/?api=1&query=centurylink+field\r\n // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393\r\n gmap_search: {\r\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(maps\\/search\\/)(.*)/i,\r\n type: \"iframe\",\r\n url: function (rez) {\r\n return \"//maps.google.\" + rez[2] + \"/maps?q=\" + rez[5].replace(\"query=\", \"q=\").replace(\"api=1\", \"\") + \"&output=embed\";\r\n }\r\n }\r\n };\r\n\r\n // Formats matching url to final form\r\n var format = function (url, rez, params) {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n params = params || \"\";\r\n\r\n if ($.type(params) === \"object\") {\r\n params = $.param(params, true);\r\n }\r\n\r\n $.each(rez, function (key, value) {\r\n url = url.replace(\"$\" + key, value || \"\");\r\n });\r\n\r\n if (params.length) {\r\n url += (url.indexOf(\"?\") > 0 ? \"&\" : \"?\") + params;\r\n }\r\n\r\n return url;\r\n };\r\n\r\n $(document).on(\"objectNeedsType.fb\", function (e, instance, item) {\r\n var url = item.src || \"\",\r\n type = false,\r\n media,\r\n thumb,\r\n rez,\r\n params,\r\n urlParams,\r\n paramObj,\r\n provider;\r\n\r\n media = $.extend(true, {}, defaults, item.opts.media);\r\n\r\n // Look for any matching media type\r\n $.each(media, function (providerName, providerOpts) {\r\n rez = url.match(providerOpts.matcher);\r\n\r\n if (!rez) {\r\n return;\r\n }\r\n\r\n type = providerOpts.type;\r\n provider = providerName;\r\n paramObj = {};\r\n\r\n if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {\r\n urlParams = rez[providerOpts.paramPlace];\r\n\r\n if (urlParams[0] == \"?\") {\r\n urlParams = urlParams.substring(1);\r\n }\r\n\r\n urlParams = urlParams.split(\"&\");\r\n\r\n for (var m = 0; m < urlParams.length; ++m) {\r\n var p = urlParams[m].split(\"=\", 2);\r\n\r\n if (p.length == 2) {\r\n paramObj[p[0]] = decodeURIComponent(p[1].replace(/\\+/g, \" \"));\r\n }\r\n }\r\n }\r\n\r\n params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);\r\n\r\n url =\r\n $.type(providerOpts.url) === \"function\" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);\r\n\r\n thumb =\r\n $.type(providerOpts.thumb) === \"function\" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);\r\n\r\n if (providerName === \"youtube\") {\r\n url = url.replace(/&t=((\\d+)m)?(\\d+)s/, function (match, p1, m, s) {\r\n return \"&start=\" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));\r\n });\r\n } else if (providerName === \"vimeo\") {\r\n url = url.replace(\"&%23\", \"#\");\r\n }\r\n\r\n return false;\r\n });\r\n\r\n // If it is found, then change content type and update the url\r\n\r\n if (type) {\r\n if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {\r\n item.opts.thumb = thumb;\r\n }\r\n\r\n if (type === \"iframe\") {\r\n item.opts = $.extend(true, item.opts, {\r\n iframe: {\r\n preload: false,\r\n attr: {\r\n scrolling: \"no\"\r\n }\r\n }\r\n });\r\n }\r\n\r\n $.extend(item, {\r\n type: type,\r\n src: url,\r\n origSrc: item.src,\r\n contentSource: provider,\r\n contentType: type === \"image\" ? \"image\" : provider == \"gmap_place\" || provider == \"gmap_search\" ? \"map\" : \"video\"\r\n });\r\n } else if (url) {\r\n item.type = item.opts.defaultType;\r\n }\r\n });\r\n\r\n // Load YouTube/Video API on request to detect when video finished playing\r\n var VideoAPILoader = {\r\n youtube: {\r\n src: \"https://www.youtube.com/iframe_api\",\r\n class: \"YT\",\r\n loading: false,\r\n loaded: false\r\n },\r\n\r\n vimeo: {\r\n src: \"https://player.vimeo.com/api/player.js\",\r\n class: \"Vimeo\",\r\n loading: false,\r\n loaded: false\r\n },\r\n\r\n load: function (vendor) {\r\n var _this = this,\r\n script;\r\n\r\n if (this[vendor].loaded) {\r\n setTimeout(function () {\r\n _this.done(vendor);\r\n });\r\n return;\r\n }\r\n\r\n if (this[vendor].loading) {\r\n return;\r\n }\r\n\r\n this[vendor].loading = true;\r\n\r\n script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = this[vendor].src;\r\n\r\n if (vendor === \"youtube\") {\r\n window.onYouTubeIframeAPIReady = function () {\r\n _this[vendor].loaded = true;\r\n _this.done(vendor);\r\n };\r\n } else {\r\n script.onload = function () {\r\n _this[vendor].loaded = true;\r\n _this.done(vendor);\r\n };\r\n }\r\n\r\n document.body.appendChild(script);\r\n },\r\n done: function (vendor) {\r\n var instance, $el, player;\r\n\r\n if (vendor === \"youtube\") {\r\n delete window.onYouTubeIframeAPIReady;\r\n }\r\n\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n $el = instance.current.$content.find(\"iframe\");\r\n\r\n if (vendor === \"youtube\" && YT !== undefined && YT) {\r\n player = new YT.Player($el.attr(\"id\"), {\r\n events: {\r\n onStateChange: function (e) {\r\n if (e.data == 0) {\r\n instance.next();\r\n }\r\n }\r\n }\r\n });\r\n } else if (vendor === \"vimeo\" && Vimeo !== undefined && Vimeo) {\r\n player = new Vimeo.Player($el);\r\n\r\n player.on(\"ended\", function () {\r\n instance.next();\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n $(document).on({\r\n \"afterShow.fb\": function (e, instance, current) {\r\n if (instance.group.length > 1 && (current.contentSource === \"youtube\" || current.contentSource === \"vimeo\")) {\r\n VideoAPILoader.load(current.contentSource);\r\n }\r\n }\r\n });\r\n})(jQuery);\n// ==========================================================================\r\n//\r\n// Guestures\r\n// Adds touch guestures, handles click and tap events\r\n//\r\n// ==========================================================================\r\n(function (window, document, $) {\r\n \"use strict\";\r\n\r\n var requestAFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n }\r\n );\r\n })();\r\n\r\n var cancelAFrame = (function () {\r\n return (\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n }\r\n );\r\n })();\r\n\r\n var getPointerXY = function (e) {\r\n var result = [];\r\n\r\n e = e.originalEvent || e || window.e;\r\n e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];\r\n\r\n for (var key in e) {\r\n if (e[key].pageX) {\r\n result.push({\r\n x: e[key].pageX,\r\n y: e[key].pageY\r\n });\r\n } else if (e[key].clientX) {\r\n result.push({\r\n x: e[key].clientX,\r\n y: e[key].clientY\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n var distance = function (point2, point1, what) {\r\n if (!point1 || !point2) {\r\n return 0;\r\n }\r\n\r\n if (what === \"x\") {\r\n return point2.x - point1.x;\r\n } else if (what === \"y\") {\r\n return point2.y - point1.y;\r\n }\r\n\r\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\r\n };\r\n\r\n var isClickable = function ($el) {\r\n if (\r\n $el.is('a,area,button,[role=\"button\"],input,label,select,summary,textarea,video,audio,iframe') ||\r\n $.isFunction($el.get(0).onclick) ||\r\n $el.data(\"selectable\")\r\n ) {\r\n return true;\r\n }\r\n\r\n // Check for attributes like data-fancybox-next or data-fancybox-close\r\n for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {\r\n if (atts[i].nodeName.substr(0, 14) === \"data-fancybox-\") {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var hasScrollbars = function (el) {\r\n var overflowY = window.getComputedStyle(el)[\"overflow-y\"],\r\n overflowX = window.getComputedStyle(el)[\"overflow-x\"],\r\n vertical = (overflowY === \"scroll\" || overflowY === \"auto\") && el.scrollHeight > el.clientHeight,\r\n horizontal = (overflowX === \"scroll\" || overflowX === \"auto\") && el.scrollWidth > el.clientWidth;\r\n\r\n return vertical || horizontal;\r\n };\r\n\r\n var isScrollable = function ($el) {\r\n var rez = false;\r\n\r\n while (true) {\r\n rez = hasScrollbars($el.get(0));\r\n\r\n if (rez) {\r\n break;\r\n }\r\n\r\n $el = $el.parent();\r\n\r\n if (!$el.length || $el.hasClass(\"fancybox-stage\") || $el.is(\"body\")) {\r\n break;\r\n }\r\n }\r\n\r\n return rez;\r\n };\r\n\r\n var Guestures = function (instance) {\r\n var self = this;\r\n\r\n self.instance = instance;\r\n\r\n self.$bg = instance.$refs.bg;\r\n self.$stage = instance.$refs.stage;\r\n self.$container = instance.$refs.container;\r\n\r\n self.destroy();\r\n\r\n self.$container.on(\"touchstart.fb.touch mousedown.fb.touch\", $.proxy(self, \"ontouchstart\"));\r\n };\r\n\r\n Guestures.prototype.destroy = function () {\r\n var self = this;\r\n\r\n self.$container.off(\".fb.touch\");\r\n\r\n $(document).off(\".fb.touch\");\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n self.requestId = null;\r\n }\r\n\r\n if (self.tapped) {\r\n clearTimeout(self.tapped);\r\n self.tapped = null;\r\n }\r\n };\r\n\r\n Guestures.prototype.ontouchstart = function (e) {\r\n var self = this,\r\n $target = $(e.target),\r\n instance = self.instance,\r\n current = instance.current,\r\n $slide = current.$slide,\r\n $content = current.$content,\r\n isTouchDevice = e.type == \"touchstart\";\r\n\r\n // Do not respond to both (touch and mouse) events\r\n if (isTouchDevice) {\r\n self.$container.off(\"mousedown.fb.touch\");\r\n }\r\n\r\n // Ignore right click\r\n if (e.originalEvent && e.originalEvent.button == 2) {\r\n return;\r\n }\r\n\r\n // Ignore taping on links, buttons, input elements\r\n if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {\r\n return;\r\n }\r\n // Ignore clicks on the scrollbar\r\n if (!$target.is(\"img\") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {\r\n return;\r\n }\r\n\r\n // Ignore clicks while zooming or closing\r\n if (!current || instance.isAnimating || current.$slide.hasClass(\"fancybox-animated\")) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n return;\r\n }\r\n\r\n self.realPoints = self.startPoints = getPointerXY(e);\r\n\r\n if (!self.startPoints.length) {\r\n return;\r\n }\r\n\r\n // Allow other scripts to catch touch event if \"touch\" is set to false\r\n if (current.touch) {\r\n e.stopPropagation();\r\n }\r\n\r\n self.startEvent = e;\r\n\r\n self.canTap = true;\r\n self.$target = $target;\r\n self.$content = $content;\r\n self.opts = current.opts.touch;\r\n\r\n self.isPanning = false;\r\n self.isSwiping = false;\r\n self.isZooming = false;\r\n self.isScrolling = false;\r\n self.canPan = instance.canPan();\r\n\r\n self.startTime = new Date().getTime();\r\n self.distanceX = self.distanceY = self.distance = 0;\r\n\r\n self.canvasWidth = Math.round($slide[0].clientWidth);\r\n self.canvasHeight = Math.round($slide[0].clientHeight);\r\n\r\n self.contentLastPos = null;\r\n self.contentStartPos = $.fancybox.getTranslate(self.$content) || {\r\n top: 0,\r\n left: 0\r\n };\r\n self.sliderStartPos = $.fancybox.getTranslate($slide);\r\n\r\n // Since position will be absolute, but we need to make it relative to the stage\r\n self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);\r\n\r\n self.sliderStartPos.top -= self.stagePos.top;\r\n self.sliderStartPos.left -= self.stagePos.left;\r\n\r\n self.contentStartPos.top -= self.stagePos.top;\r\n self.contentStartPos.left -= self.stagePos.left;\r\n\r\n $(document)\r\n .off(\".fb.touch\")\r\n .on(isTouchDevice ? \"touchend.fb.touch touchcancel.fb.touch\" : \"mouseup.fb.touch mouseleave.fb.touch\", $.proxy(self, \"ontouchend\"))\r\n .on(isTouchDevice ? \"touchmove.fb.touch\" : \"mousemove.fb.touch\", $.proxy(self, \"ontouchmove\"));\r\n\r\n if ($.fancybox.isMobile) {\r\n document.addEventListener(\"scroll\", self.onscroll, true);\r\n }\r\n\r\n // Skip if clicked outside the sliding area\r\n if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {\r\n if ($target.is(\".fancybox-image\")) {\r\n e.preventDefault();\r\n }\r\n\r\n if (!($.fancybox.isMobile && $target.parents(\".fancybox-caption\").length)) {\r\n return;\r\n }\r\n }\r\n\r\n self.isScrollable = isScrollable($target) || isScrollable($target.parent());\r\n\r\n // Check if element is scrollable and try to prevent default behavior (scrolling)\r\n if (!($.fancybox.isMobile && self.isScrollable)) {\r\n e.preventDefault();\r\n }\r\n\r\n // One finger or mouse click - swipe or pan an image\r\n if (self.startPoints.length === 1 || current.hasError) {\r\n if (self.canPan) {\r\n $.fancybox.stop(self.$content);\r\n\r\n self.isPanning = true;\r\n } else {\r\n self.isSwiping = true;\r\n }\r\n\r\n self.$container.addClass(\"fancybox-is-grabbing\");\r\n }\r\n\r\n // Two fingers - zoom image\r\n if (self.startPoints.length === 2 && current.type === \"image\" && (current.isLoaded || current.$ghost)) {\r\n self.canTap = false;\r\n self.isSwiping = false;\r\n self.isPanning = false;\r\n\r\n self.isZooming = true;\r\n\r\n $.fancybox.stop(self.$content);\r\n\r\n self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();\r\n self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();\r\n\r\n self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;\r\n self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;\r\n\r\n self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);\r\n }\r\n };\r\n\r\n Guestures.prototype.onscroll = function (e) {\r\n var self = this;\r\n\r\n self.isScrolling = true;\r\n\r\n document.removeEventListener(\"scroll\", self.onscroll, true);\r\n };\r\n\r\n Guestures.prototype.ontouchmove = function (e) {\r\n var self = this;\r\n\r\n // Make sure user has not released over iframe or disabled element\r\n if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {\r\n self.ontouchend(e);\r\n return;\r\n }\r\n\r\n if (self.isScrolling) {\r\n self.canTap = false;\r\n return;\r\n }\r\n\r\n self.newPoints = getPointerXY(e);\r\n\r\n if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {\r\n return;\r\n }\r\n\r\n if (!(self.isSwiping && self.isSwiping === true)) {\r\n e.preventDefault();\r\n }\r\n\r\n self.distanceX = distance(self.newPoints[0], self.startPoints[0], \"x\");\r\n self.distanceY = distance(self.newPoints[0], self.startPoints[0], \"y\");\r\n\r\n self.distance = distance(self.newPoints[0], self.startPoints[0]);\r\n\r\n // Skip false ontouchmove events (Chrome)\r\n if (self.distance > 0) {\r\n if (self.isSwiping) {\r\n self.onSwipe(e);\r\n } else if (self.isPanning) {\r\n self.onPan();\r\n } else if (self.isZooming) {\r\n self.onZoom();\r\n }\r\n }\r\n };\r\n\r\n Guestures.prototype.onSwipe = function (e) {\r\n var self = this,\r\n instance = self.instance,\r\n swiping = self.isSwiping,\r\n left = self.sliderStartPos.left || 0,\r\n angle;\r\n\r\n // If direction is not yet determined\r\n if (swiping === true) {\r\n // We need at least 10px distance to correctly calculate an angle\r\n if (Math.abs(self.distance) > 10) {\r\n self.canTap = false;\r\n\r\n if (instance.group.length < 2 && self.opts.vertical) {\r\n self.isSwiping = \"y\";\r\n } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === \"auto\" && $(window).width() > 800)) {\r\n self.isSwiping = \"x\";\r\n } else {\r\n angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);\r\n\r\n self.isSwiping = angle > 45 && angle < 135 ? \"y\" : \"x\";\r\n }\r\n\r\n if (self.isSwiping === \"y\" && $.fancybox.isMobile && self.isScrollable) {\r\n self.isScrolling = true;\r\n\r\n return;\r\n }\r\n\r\n instance.isDragging = self.isSwiping;\r\n\r\n // Reset points to avoid jumping, because we dropped first swipes to calculate the angle\r\n self.startPoints = self.newPoints;\r\n\r\n $.each(instance.slides, function (index, slide) {\r\n var slidePos, stagePos;\r\n\r\n $.fancybox.stop(slide.$slide);\r\n\r\n slidePos = $.fancybox.getTranslate(slide.$slide);\r\n stagePos = $.fancybox.getTranslate(instance.$refs.stage);\r\n\r\n slide.$slide\r\n .css({\r\n transform: \"\",\r\n opacity: \"\",\r\n \"transition-duration\": \"\"\r\n })\r\n .removeClass(\"fancybox-animated\")\r\n .removeClass(function (index, className) {\r\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\r\n });\r\n\r\n if (slide.pos === instance.current.pos) {\r\n self.sliderStartPos.top = slidePos.top - stagePos.top;\r\n self.sliderStartPos.left = slidePos.left - stagePos.left;\r\n }\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: slidePos.top - stagePos.top,\r\n left: slidePos.left - stagePos.left\r\n });\r\n });\r\n\r\n // Stop slideshow\r\n if (instance.SlideShow && instance.SlideShow.isActive) {\r\n instance.SlideShow.stop();\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Sticky edges\r\n if (swiping == \"x\") {\r\n if (\r\n self.distanceX > 0 &&\r\n (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))\r\n ) {\r\n left = left + Math.pow(self.distanceX, 0.8);\r\n } else if (\r\n self.distanceX < 0 &&\r\n (self.instance.group.length < 2 ||\r\n (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))\r\n ) {\r\n left = left - Math.pow(-self.distanceX, 0.8);\r\n } else {\r\n left = left + self.distanceX;\r\n }\r\n }\r\n\r\n self.sliderLastPos = {\r\n top: swiping == \"x\" ? 0 : self.sliderStartPos.top + self.distanceY,\r\n left: left\r\n };\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n\r\n self.requestId = null;\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n if (self.sliderLastPos) {\r\n $.each(self.instance.slides, function (index, slide) {\r\n var pos = slide.pos - self.instance.currPos;\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: self.sliderLastPos.top,\r\n left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter\r\n });\r\n });\r\n\r\n self.$container.addClass(\"fancybox-is-sliding\");\r\n }\r\n });\r\n };\r\n\r\n Guestures.prototype.onPan = function () {\r\n var self = this;\r\n\r\n // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)\r\n if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {\r\n self.startPoints = self.newPoints;\r\n return;\r\n }\r\n\r\n self.canTap = false;\r\n\r\n self.contentLastPos = self.limitMovement();\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\r\n });\r\n };\r\n\r\n // Make panning sticky to the edges\r\n Guestures.prototype.limitMovement = function () {\r\n var self = this;\r\n\r\n var canvasWidth = self.canvasWidth;\r\n var canvasHeight = self.canvasHeight;\r\n\r\n var distanceX = self.distanceX;\r\n var distanceY = self.distanceY;\r\n\r\n var contentStartPos = self.contentStartPos;\r\n\r\n var currentOffsetX = contentStartPos.left;\r\n var currentOffsetY = contentStartPos.top;\r\n\r\n var currentWidth = contentStartPos.width;\r\n var currentHeight = contentStartPos.height;\r\n\r\n var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;\r\n\r\n if (currentWidth > canvasWidth) {\r\n newOffsetX = currentOffsetX + distanceX;\r\n } else {\r\n newOffsetX = currentOffsetX;\r\n }\r\n\r\n newOffsetY = currentOffsetY + distanceY;\r\n\r\n // Slow down proportionally to traveled distance\r\n minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);\r\n minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);\r\n\r\n maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);\r\n maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);\r\n\r\n // ->\r\n if (distanceX > 0 && newOffsetX > minTranslateX) {\r\n newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;\r\n }\r\n\r\n // <-\r\n if (distanceX < 0 && newOffsetX < maxTranslateX) {\r\n newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;\r\n }\r\n\r\n // \\/\r\n if (distanceY > 0 && newOffsetY > minTranslateY) {\r\n newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;\r\n }\r\n\r\n // /\\\r\n if (distanceY < 0 && newOffsetY < maxTranslateY) {\r\n newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;\r\n }\r\n\r\n return {\r\n top: newOffsetY,\r\n left: newOffsetX\r\n };\r\n };\r\n\r\n Guestures.prototype.limitPosition = function (newOffsetX, newOffsetY, newWidth, newHeight) {\r\n var self = this;\r\n\r\n var canvasWidth = self.canvasWidth;\r\n var canvasHeight = self.canvasHeight;\r\n\r\n if (newWidth > canvasWidth) {\r\n newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;\r\n newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;\r\n } else {\r\n // Center horizontally\r\n newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);\r\n }\r\n\r\n if (newHeight > canvasHeight) {\r\n newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;\r\n newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;\r\n } else {\r\n // Center vertically\r\n newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);\r\n }\r\n\r\n return {\r\n top: newOffsetY,\r\n left: newOffsetX\r\n };\r\n };\r\n\r\n Guestures.prototype.onZoom = function () {\r\n var self = this;\r\n\r\n // Calculate current distance between points to get pinch ratio and new width and height\r\n var contentStartPos = self.contentStartPos;\r\n\r\n var currentWidth = contentStartPos.width;\r\n var currentHeight = contentStartPos.height;\r\n\r\n var currentOffsetX = contentStartPos.left;\r\n var currentOffsetY = contentStartPos.top;\r\n\r\n var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);\r\n\r\n var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;\r\n\r\n var newWidth = Math.floor(currentWidth * pinchRatio);\r\n var newHeight = Math.floor(currentHeight * pinchRatio);\r\n\r\n // This is the translation due to pinch-zooming\r\n var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;\r\n var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;\r\n\r\n // Point between the two touches\r\n var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();\r\n var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();\r\n\r\n // And this is the translation due to translation of the centerpoint\r\n // between the two fingers\r\n var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;\r\n var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;\r\n\r\n // The new offset is the old/current one plus the total translation\r\n var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);\r\n var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);\r\n\r\n var newPos = {\r\n top: newOffsetY,\r\n left: newOffsetX,\r\n scaleX: pinchRatio,\r\n scaleY: pinchRatio\r\n };\r\n\r\n self.canTap = false;\r\n\r\n self.newWidth = newWidth;\r\n self.newHeight = newHeight;\r\n\r\n self.contentLastPos = newPos;\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\r\n });\r\n };\r\n\r\n Guestures.prototype.ontouchend = function (e) {\r\n var self = this;\r\n\r\n var swiping = self.isSwiping;\r\n var panning = self.isPanning;\r\n var zooming = self.isZooming;\r\n var scrolling = self.isScrolling;\r\n\r\n self.endPoints = getPointerXY(e);\r\n self.dMs = Math.max(new Date().getTime() - self.startTime, 1);\r\n\r\n self.$container.removeClass(\"fancybox-is-grabbing\");\r\n\r\n $(document).off(\".fb.touch\");\r\n\r\n document.removeEventListener(\"scroll\", self.onscroll, true);\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n\r\n self.requestId = null;\r\n }\r\n\r\n self.isSwiping = false;\r\n self.isPanning = false;\r\n self.isZooming = false;\r\n self.isScrolling = false;\r\n\r\n self.instance.isDragging = false;\r\n\r\n if (self.canTap) {\r\n return self.onTap(e);\r\n }\r\n\r\n self.speed = 100;\r\n\r\n // Speed in px/ms\r\n self.velocityX = (self.distanceX / self.dMs) * 0.5;\r\n self.velocityY = (self.distanceY / self.dMs) * 0.5;\r\n\r\n if (panning) {\r\n self.endPanning();\r\n } else if (zooming) {\r\n self.endZooming();\r\n } else {\r\n self.endSwiping(swiping, scrolling);\r\n }\r\n\r\n return;\r\n };\r\n\r\n Guestures.prototype.endSwiping = function (swiping, scrolling) {\r\n var self = this,\r\n ret = false,\r\n len = self.instance.group.length,\r\n distanceX = Math.abs(self.distanceX),\r\n canAdvance = swiping == \"x\" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),\r\n speedX = 300;\r\n\r\n self.sliderLastPos = null;\r\n\r\n // Close if swiped vertically / navigate if horizontally\r\n if (swiping == \"y\" && !scrolling && Math.abs(self.distanceY) > 50) {\r\n // Continue vertical movement\r\n $.fancybox.animate(\r\n self.instance.current.$slide, {\r\n top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,\r\n opacity: 0\r\n },\r\n 200\r\n );\r\n ret = self.instance.close(true, 250);\r\n } else if (canAdvance && self.distanceX > 0) {\r\n ret = self.instance.previous(speedX);\r\n } else if (canAdvance && self.distanceX < 0) {\r\n ret = self.instance.next(speedX);\r\n }\r\n\r\n if (ret === false && (swiping == \"x\" || swiping == \"y\")) {\r\n self.instance.centerSlide(200);\r\n }\r\n\r\n self.$container.removeClass(\"fancybox-is-sliding\");\r\n };\r\n\r\n // Limit panning from edges\r\n // ========================\r\n Guestures.prototype.endPanning = function () {\r\n var self = this,\r\n newOffsetX,\r\n newOffsetY,\r\n newPos;\r\n\r\n if (!self.contentLastPos) {\r\n return;\r\n }\r\n\r\n if (self.opts.momentum === false || self.dMs > 350) {\r\n newOffsetX = self.contentLastPos.left;\r\n newOffsetY = self.contentLastPos.top;\r\n } else {\r\n // Continue movement\r\n newOffsetX = self.contentLastPos.left + self.velocityX * 500;\r\n newOffsetY = self.contentLastPos.top + self.velocityY * 500;\r\n }\r\n\r\n newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);\r\n\r\n newPos.width = self.contentStartPos.width;\r\n newPos.height = self.contentStartPos.height;\r\n\r\n $.fancybox.animate(self.$content, newPos, 366);\r\n };\r\n\r\n Guestures.prototype.endZooming = function () {\r\n var self = this;\r\n\r\n var current = self.instance.current;\r\n\r\n var newOffsetX, newOffsetY, newPos, reset;\r\n\r\n var newWidth = self.newWidth;\r\n var newHeight = self.newHeight;\r\n\r\n if (!self.contentLastPos) {\r\n return;\r\n }\r\n\r\n newOffsetX = self.contentLastPos.left;\r\n newOffsetY = self.contentLastPos.top;\r\n\r\n reset = {\r\n top: newOffsetY,\r\n left: newOffsetX,\r\n width: newWidth,\r\n height: newHeight,\r\n scaleX: 1,\r\n scaleY: 1\r\n };\r\n\r\n // Reset scalex/scaleY values; this helps for perfomance and does not break animation\r\n $.fancybox.setTranslate(self.$content, reset);\r\n\r\n if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {\r\n self.instance.scaleToFit(150);\r\n } else if (newWidth > current.width || newHeight > current.height) {\r\n self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);\r\n } else {\r\n newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);\r\n\r\n $.fancybox.animate(self.$content, newPos, 150);\r\n }\r\n };\r\n\r\n Guestures.prototype.onTap = function (e) {\r\n var self = this;\r\n var $target = $(e.target);\r\n\r\n var instance = self.instance;\r\n var current = instance.current;\r\n\r\n var endPoints = (e && getPointerXY(e)) || self.startPoints;\r\n\r\n var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;\r\n var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;\r\n\r\n var where;\r\n\r\n var process = function (prefix) {\r\n var action = current.opts[prefix];\r\n\r\n if ($.isFunction(action)) {\r\n action = action.apply(instance, [current, e]);\r\n }\r\n\r\n if (!action) {\r\n return;\r\n }\r\n\r\n switch (action) {\r\n case \"close\":\r\n instance.close(self.startEvent);\r\n\r\n break;\r\n\r\n case \"toggleControls\":\r\n instance.toggleControls();\r\n\r\n break;\r\n\r\n case \"next\":\r\n instance.next();\r\n\r\n break;\r\n\r\n case \"nextOrClose\":\r\n if (instance.group.length > 1) {\r\n instance.next();\r\n } else {\r\n instance.close(self.startEvent);\r\n }\r\n\r\n break;\r\n\r\n case \"zoom\":\r\n if (current.type == \"image\" && (current.isLoaded || current.$ghost)) {\r\n if (instance.canPan()) {\r\n instance.scaleToFit();\r\n } else if (instance.isScaledDown()) {\r\n instance.scaleToActual(tapX, tapY);\r\n } else if (instance.group.length < 2) {\r\n instance.close(self.startEvent);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n };\r\n\r\n // Ignore right click\r\n if (e.originalEvent && e.originalEvent.button == 2) {\r\n return;\r\n }\r\n\r\n // Skip if clicked on the scrollbar\r\n if (!$target.is(\"img\") && tapX > $target[0].clientWidth + $target.offset().left) {\r\n return;\r\n }\r\n\r\n // Check where is clicked\r\n if ($target.is(\".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container\")) {\r\n where = \"Outside\";\r\n } else if ($target.is(\".fancybox-slide\")) {\r\n where = \"Slide\";\r\n } else if (\r\n instance.current.$content &&\r\n instance.current.$content\r\n .find($target)\r\n .addBack()\r\n .filter($target).length\r\n ) {\r\n where = \"Content\";\r\n } else {\r\n return;\r\n }\r\n\r\n // Check if this is a double tap\r\n if (self.tapped) {\r\n // Stop previously created single tap\r\n clearTimeout(self.tapped);\r\n self.tapped = null;\r\n\r\n // Skip if distance between taps is too big\r\n if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {\r\n return this;\r\n }\r\n\r\n // OK, now we assume that this is a double-tap\r\n process(\"dblclick\" + where);\r\n } else {\r\n // Single tap will be processed if user has not clicked second time within 300ms\r\n // or there is no need to wait for double-tap\r\n self.tapX = tapX;\r\n self.tapY = tapY;\r\n\r\n if (current.opts[\"dblclick\" + where] && current.opts[\"dblclick\" + where] !== current.opts[\"click\" + where]) {\r\n self.tapped = setTimeout(function () {\r\n self.tapped = null;\r\n\r\n if (!instance.isAnimating) {\r\n process(\"click\" + where);\r\n }\r\n }, 500);\r\n } else {\r\n process(\"click\" + where);\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n $(document)\r\n .on(\"onActivate.fb\", function (e, instance) {\r\n if (instance && !instance.Guestures) {\r\n instance.Guestures = new Guestures(instance);\r\n }\r\n })\r\n .on(\"beforeClose.fb\", function (e, instance) {\r\n if (instance && instance.Guestures) {\r\n instance.Guestures.destroy();\r\n }\r\n });\r\n})(window, document, jQuery);\n// ==========================================================================\r\n//\r\n// SlideShow\r\n// Enables slideshow functionality\r\n//\r\n// Example of usage:\r\n// $.fancybox.getInstance().SlideShow.start()\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n slideShow: '\"\r\n },\r\n slideShow: {\r\n autoStart: false,\r\n speed: 3000,\r\n progress: true\r\n }\r\n });\r\n\r\n var SlideShow = function (instance) {\r\n this.instance = instance;\r\n this.init();\r\n };\r\n\r\n $.extend(SlideShow.prototype, {\r\n timer: null,\r\n isActive: false,\r\n $button: null,\r\n\r\n init: function () {\r\n var self = this,\r\n instance = self.instance,\r\n opts = instance.group[instance.currIndex].opts.slideShow;\r\n\r\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-play]\").on(\"click\", function () {\r\n self.toggle();\r\n });\r\n\r\n if (instance.group.length < 2 || !opts) {\r\n self.$button.hide();\r\n } else if (opts.progress) {\r\n self.$progress = $('
').appendTo(instance.$refs.inner);\r\n }\r\n },\r\n\r\n set: function (force) {\r\n var self = this,\r\n instance = self.instance,\r\n current = instance.current;\r\n\r\n // Check if reached last element\r\n if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {\r\n if (self.isActive && current.contentType !== \"video\") {\r\n if (self.$progress) {\r\n $.fancybox.animate(self.$progress.show(), {\r\n scaleX: 1\r\n }, current.opts.slideShow.speed);\r\n }\r\n\r\n self.timer = setTimeout(function () {\r\n if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) {\r\n instance.jumpTo(0);\r\n } else {\r\n instance.next();\r\n }\r\n }, current.opts.slideShow.speed);\r\n }\r\n } else {\r\n self.stop();\r\n instance.idleSecondsCounter = 0;\r\n instance.showControls();\r\n }\r\n },\r\n\r\n clear: function () {\r\n var self = this;\r\n\r\n clearTimeout(self.timer);\r\n\r\n self.timer = null;\r\n\r\n if (self.$progress) {\r\n self.$progress.removeAttr(\"style\").hide();\r\n }\r\n },\r\n\r\n start: function () {\r\n var self = this,\r\n current = self.instance.current;\r\n\r\n if (current) {\r\n self.$button\r\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP)\r\n .removeClass(\"fancybox-button--play\")\r\n .addClass(\"fancybox-button--pause\");\r\n\r\n self.isActive = true;\r\n\r\n if (current.isComplete) {\r\n self.set(true);\r\n }\r\n\r\n self.instance.trigger(\"onSlideShowChange\", true);\r\n }\r\n },\r\n\r\n stop: function () {\r\n var self = this,\r\n current = self.instance.current;\r\n\r\n self.clear();\r\n\r\n self.$button\r\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START)\r\n .removeClass(\"fancybox-button--pause\")\r\n .addClass(\"fancybox-button--play\");\r\n\r\n self.isActive = false;\r\n\r\n self.instance.trigger(\"onSlideShowChange\", false);\r\n\r\n if (self.$progress) {\r\n self.$progress.removeAttr(\"style\").hide();\r\n }\r\n },\r\n\r\n toggle: function () {\r\n var self = this;\r\n\r\n if (self.isActive) {\r\n self.stop();\r\n } else {\r\n self.start();\r\n }\r\n }\r\n });\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n if (instance && !instance.SlideShow) {\r\n instance.SlideShow = new SlideShow(instance);\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (firstRun) {\r\n if (SlideShow && current.opts.slideShow.autoStart) {\r\n SlideShow.start();\r\n }\r\n } else if (SlideShow && SlideShow.isActive) {\r\n SlideShow.clear();\r\n }\r\n },\r\n\r\n \"afterShow.fb\": function (e, instance, current) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow && SlideShow.isActive) {\r\n SlideShow.set();\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n // \"P\" or Spacebar\r\n if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is(\"button,a,input\")) {\r\n keypress.preventDefault();\r\n\r\n SlideShow.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb onDeactivate.fb\": function (e, instance) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow) {\r\n SlideShow.stop();\r\n }\r\n }\r\n });\r\n\r\n // Page Visibility API to pause slideshow when window is not active\r\n $(document).on(\"visibilitychange\", function () {\r\n var instance = $.fancybox.getInstance(),\r\n SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow && SlideShow.isActive) {\r\n if (document.hidden) {\r\n SlideShow.clear();\r\n } else {\r\n SlideShow.set();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\n// ==========================================================================\r\n//\r\n// FullScreen\r\n// Adds fullscreen functionality\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n // Collection of methods supported by user browser\r\n var fn = (function () {\r\n var fnMap = [\r\n [\"requestFullscreen\", \"exitFullscreen\", \"fullscreenElement\", \"fullscreenEnabled\", \"fullscreenchange\", \"fullscreenerror\"],\r\n // new WebKit\r\n [\r\n \"webkitRequestFullscreen\",\r\n \"webkitExitFullscreen\",\r\n \"webkitFullscreenElement\",\r\n \"webkitFullscreenEnabled\",\r\n \"webkitfullscreenchange\",\r\n \"webkitfullscreenerror\"\r\n ],\r\n // old WebKit (Safari 5.1)\r\n [\r\n \"webkitRequestFullScreen\",\r\n \"webkitCancelFullScreen\",\r\n \"webkitCurrentFullScreenElement\",\r\n \"webkitCancelFullScreen\",\r\n \"webkitfullscreenchange\",\r\n \"webkitfullscreenerror\"\r\n ],\r\n [\r\n \"mozRequestFullScreen\",\r\n \"mozCancelFullScreen\",\r\n \"mozFullScreenElement\",\r\n \"mozFullScreenEnabled\",\r\n \"mozfullscreenchange\",\r\n \"mozfullscreenerror\"\r\n ],\r\n [\"msRequestFullscreen\", \"msExitFullscreen\", \"msFullscreenElement\", \"msFullscreenEnabled\", \"MSFullscreenChange\", \"MSFullscreenError\"]\r\n ];\r\n\r\n var ret = {};\r\n\r\n for (var i = 0; i < fnMap.length; i++) {\r\n var val = fnMap[i];\r\n\r\n if (val && val[1] in document) {\r\n for (var j = 0; j < val.length; j++) {\r\n ret[fnMap[0][j]] = val[j];\r\n }\r\n\r\n return ret;\r\n }\r\n }\r\n\r\n return false;\r\n })();\r\n\r\n if (fn) {\r\n var FullScreen = {\r\n request: function (elem) {\r\n elem = elem || document.documentElement;\r\n\r\n elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);\r\n },\r\n exit: function () {\r\n document[fn.exitFullscreen]();\r\n },\r\n toggle: function (elem) {\r\n elem = elem || document.documentElement;\r\n\r\n if (this.isFullscreen()) {\r\n this.exit();\r\n } else {\r\n this.request(elem);\r\n }\r\n },\r\n isFullscreen: function () {\r\n return Boolean(document[fn.fullscreenElement]);\r\n },\r\n enabled: function () {\r\n return Boolean(document[fn.fullscreenEnabled]);\r\n }\r\n };\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n fullScreen: '\"\r\n },\r\n fullScreen: {\r\n autoStart: false\r\n }\r\n });\r\n\r\n $(document).on(fn.fullscreenchange, function () {\r\n var isFullscreen = FullScreen.isFullscreen(),\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n // If image is zooming, then force to stop and reposition properly\r\n if (instance.current && instance.current.type === \"image\" && instance.isAnimating) {\r\n instance.isAnimating = false;\r\n\r\n instance.update(true, true, 0);\r\n\r\n if (!instance.isComplete) {\r\n instance.complete();\r\n }\r\n }\r\n\r\n instance.trigger(\"onFullscreenChange\", isFullscreen);\r\n\r\n instance.$refs.container.toggleClass(\"fancybox-is-fullscreen\", isFullscreen);\r\n\r\n instance.$refs.toolbar\r\n .find(\"[data-fancybox-fullscreen]\")\r\n .toggleClass(\"fancybox-button--fsenter\", !isFullscreen)\r\n .toggleClass(\"fancybox-button--fsexit\", isFullscreen);\r\n }\r\n });\r\n }\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var $container;\r\n\r\n if (!fn) {\r\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").remove();\r\n\r\n return;\r\n }\r\n\r\n if (instance && instance.group[instance.currIndex].opts.fullScreen) {\r\n $container = instance.$refs.container;\r\n\r\n $container.on(\"click.fb-fullscreen\", \"[data-fancybox-fullscreen]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n FullScreen.toggle();\r\n });\r\n\r\n if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {\r\n FullScreen.request();\r\n }\r\n\r\n // Expose API\r\n instance.FullScreen = FullScreen;\r\n } else if (instance) {\r\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").hide();\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n // \"F\"\r\n if (instance && instance.FullScreen && keycode === 70) {\r\n keypress.preventDefault();\r\n\r\n instance.FullScreen.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance) {\r\n if (instance && instance.FullScreen && instance.$refs.container.hasClass(\"fancybox-is-fullscreen\")) {\r\n FullScreen.exit();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\n// ==========================================================================\r\n//\r\n// Thumbs\r\n// Displays thumbnails in a grid\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n var CLASS = \"fancybox-thumbs\",\r\n CLASS_ACTIVE = CLASS + \"-active\";\r\n\r\n // Make sure there are default values\r\n $.fancybox.defaults = $.extend(\r\n true, {\r\n btnTpl: {\r\n thumbs: '\"\r\n },\r\n thumbs: {\r\n autoStart: false, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\r\n }\r\n },\r\n $.fancybox.defaults\r\n );\r\n\r\n var FancyThumbs = function (instance) {\r\n this.init(instance);\r\n };\r\n\r\n $.extend(FancyThumbs.prototype, {\r\n $button: null,\r\n $grid: null,\r\n $list: null,\r\n isVisible: false,\r\n isActive: false,\r\n\r\n init: function (instance) {\r\n var self = this,\r\n group = instance.group,\r\n enabled = 0;\r\n\r\n self.instance = instance;\r\n self.opts = group[instance.currIndex].opts.thumbs;\r\n\r\n instance.Thumbs = self;\r\n\r\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-thumbs]\");\r\n\r\n // Enable thumbs if at least two group items have thumbnails\r\n for (var i = 0, len = group.length; i < len; i++) {\r\n if (group[i].thumb) {\r\n enabled++;\r\n }\r\n\r\n if (enabled > 1) {\r\n break;\r\n }\r\n }\r\n\r\n if (enabled > 1 && !!self.opts) {\r\n self.$button.removeAttr(\"style\").on(\"click\", function () {\r\n self.toggle();\r\n });\r\n\r\n self.isActive = true;\r\n } else {\r\n self.$button.hide();\r\n }\r\n },\r\n\r\n create: function () {\r\n var self = this,\r\n instance = self.instance,\r\n parentEl = self.opts.parentEl,\r\n list = [],\r\n src;\r\n\r\n if (!self.$grid) {\r\n // Create main element\r\n self.$grid = $('
').appendTo(\r\n instance.$refs.container\r\n .find(parentEl)\r\n .addBack()\r\n .filter(parentEl)\r\n );\r\n\r\n // Add \"click\" event that performs gallery navigation\r\n self.$grid.on(\"click\", \"a\", function () {\r\n instance.jumpTo($(this).attr(\"data-index\"));\r\n });\r\n }\r\n\r\n // Build the list\r\n if (!self.$list) {\r\n self.$list = $('
').appendTo(self.$grid);\r\n }\r\n\r\n $.each(instance.group, function (i, item) {\r\n src = item.thumb;\r\n\r\n if (!src && item.type === \"image\") {\r\n src = item.src;\r\n }\r\n\r\n list.push(\r\n '\"\r\n );\r\n });\r\n\r\n self.$list[0].innerHTML = list.join(\"\");\r\n\r\n if (self.opts.axis === \"x\") {\r\n // Set fixed width for list element to enable horizontal scrolling\r\n self.$list.width(\r\n parseInt(self.$grid.css(\"padding-right\"), 10) +\r\n instance.group.length *\r\n self.$list\r\n .children()\r\n .eq(0)\r\n .outerWidth(true)\r\n );\r\n }\r\n },\r\n\r\n focus: function (duration) {\r\n var self = this,\r\n $list = self.$list,\r\n $grid = self.$grid,\r\n thumb,\r\n thumbPos;\r\n\r\n if (!self.instance.current) {\r\n return;\r\n }\r\n\r\n thumb = $list\r\n .children()\r\n .removeClass(CLASS_ACTIVE)\r\n .filter('[data-index=\"' + self.instance.current.index + '\"]')\r\n .addClass(CLASS_ACTIVE);\r\n\r\n thumbPos = thumb.position();\r\n\r\n // Check if need to scroll to make current thumb visible\r\n if (self.opts.axis === \"y\" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {\r\n $list.stop().animate({\r\n scrollTop: $list.scrollTop() + thumbPos.top\r\n },\r\n duration\r\n );\r\n } else if (\r\n self.opts.axis === \"x\" &&\r\n (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))\r\n ) {\r\n $list\r\n .parent()\r\n .stop()\r\n .animate({\r\n scrollLeft: thumbPos.left\r\n },\r\n duration\r\n );\r\n }\r\n },\r\n\r\n update: function () {\r\n var that = this;\r\n that.instance.$refs.container.toggleClass(\"fancybox-show-thumbs\", this.isVisible);\r\n\r\n if (that.isVisible) {\r\n if (!that.$grid) {\r\n that.create();\r\n }\r\n\r\n that.instance.trigger(\"onThumbsShow\");\r\n\r\n that.focus(0);\r\n } else if (that.$grid) {\r\n that.instance.trigger(\"onThumbsHide\");\r\n }\r\n\r\n // Update content position\r\n that.instance.update();\r\n },\r\n\r\n hide: function () {\r\n this.isVisible = false;\r\n this.update();\r\n },\r\n\r\n show: function () {\r\n this.isVisible = true;\r\n this.update();\r\n },\r\n\r\n toggle: function () {\r\n this.isVisible = !this.isVisible;\r\n this.update();\r\n }\r\n });\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var Thumbs;\r\n\r\n if (instance && !instance.Thumbs) {\r\n Thumbs = new FancyThumbs(instance);\r\n\r\n if (Thumbs.isActive && Thumbs.opts.autoStart === true) {\r\n Thumbs.show();\r\n }\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, item, firstRun) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n if (Thumbs && Thumbs.isVisible) {\r\n Thumbs.focus(firstRun ? 0 : 250);\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n // \"G\"\r\n if (Thumbs && Thumbs.isActive && keycode === 71) {\r\n keypress.preventDefault();\r\n\r\n Thumbs.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {\r\n Thumbs.$grid.hide();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\n//// ==========================================================================\r\n//\r\n// Share\r\n// Displays simple form for sharing current url\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n share: '\"\r\n },\r\n share: {\r\n url: function (instance, item) {\r\n return (\r\n (!instance.currentHash && !(item.type === \"inline\" || item.type === \"html\") ? item.origSrc || item.src : false) || window.location\r\n );\r\n },\r\n tpl: '
' +\r\n \"

{{SHARE}}

\" +\r\n \"

\" +\r\n '' +\r\n '' +\r\n \"Facebook\" +\r\n \"\" +\r\n '' +\r\n '' +\r\n \"Twitter\" +\r\n \"\" +\r\n '' +\r\n '' +\r\n \"Pinterest\" +\r\n \"\" +\r\n \"

\" +\r\n '

' +\r\n \"
\"\r\n }\r\n });\r\n\r\n function escapeHtml(string) {\r\n var entityMap = {\r\n \"&\": \"&\",\r\n \"<\": \"<\",\r\n \">\": \">\",\r\n '\"': \""\",\r\n \"'\": \"'\",\r\n \"/\": \"/\",\r\n \"`\": \"`\",\r\n \"=\": \"=\"\r\n };\r\n\r\n return String(string).replace(/[&<>\"'`=\\/]/g, function (s) {\r\n return entityMap[s];\r\n });\r\n }\r\n\r\n $(document).on(\"click\", \"[data-fancybox-share]\", function () {\r\n var instance = $.fancybox.getInstance(),\r\n current = instance.current || null,\r\n url,\r\n tpl;\r\n\r\n if (!current) {\r\n return;\r\n }\r\n\r\n if ($.type(current.opts.share.url) === \"function\") {\r\n url = current.opts.share.url.apply(current, [instance, current]);\r\n }\r\n\r\n tpl = current.opts.share.tpl\r\n .replace(/\\{\\{media\\}\\}/g, current.type === \"image\" ? encodeURIComponent(current.src) : \"\")\r\n .replace(/\\{\\{url\\}\\}/g, encodeURIComponent(url))\r\n .replace(/\\{\\{url_raw\\}\\}/g, escapeHtml(url))\r\n .replace(/\\{\\{descr\\}\\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : \"\");\r\n\r\n $.fancybox.open({\r\n src: instance.translate(instance, tpl),\r\n type: \"html\",\r\n opts: {\r\n touch: false,\r\n animationEffect: false,\r\n afterLoad: function (shareInstance, shareCurrent) {\r\n // Close self if parent instance is closing\r\n instance.$refs.container.one(\"beforeClose.fb\", function () {\r\n shareInstance.close(null, 0);\r\n });\r\n\r\n // Opening links in a popup window\r\n shareCurrent.$content.find(\".fancybox-share__button\").click(function () {\r\n window.open(this.href, \"Share\", \"width=550, height=450\");\r\n return false;\r\n });\r\n },\r\n mobile: {\r\n autoFocus: false\r\n }\r\n }\r\n });\r\n });\r\n})(document, jQuery);\n// ==========================================================================\r\n//\r\n// Hash\r\n// Enables linking to each modal\r\n//\r\n// ==========================================================================\r\n(function (window, document, $) {\r\n \"use strict\";\r\n\r\n // Simple $.escapeSelector polyfill (for jQuery prior v3)\r\n if (!$.escapeSelector) {\r\n $.escapeSelector = function (sel) {\r\n var rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\r\n var fcssescape = function (ch, asCodePoint) {\r\n if (asCodePoint) {\r\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\r\n if (ch === \"\\0\") {\r\n return \"\\uFFFD\";\r\n }\r\n\r\n // Control characters and (dependent upon position) numbers get escaped as code points\r\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + \" \";\r\n }\r\n\r\n // Other potentially-special ASCII characters get backslash-escaped\r\n return \"\\\\\" + ch;\r\n };\r\n\r\n return (sel + \"\").replace(rcssescape, fcssescape);\r\n };\r\n }\r\n\r\n // Get info about gallery name and current index from url\r\n function parseUrl() {\r\n var hash = window.location.hash.substr(1),\r\n rez = hash.split(\"-\"),\r\n index = rez.length > 1 && /^\\+?\\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,\r\n gallery = rez.join(\"-\");\r\n\r\n return {\r\n hash: hash,\r\n /* Index is starting from 1 */\r\n index: index < 1 ? 1 : index,\r\n gallery: gallery\r\n };\r\n }\r\n\r\n // Trigger click evnt on links to open new fancyBox instance\r\n function triggerFromUrl(url) {\r\n if (url.gallery !== \"\") {\r\n // If we can find element matching 'data-fancybox' atribute,\r\n // then triggering click event should start fancyBox\r\n $(\"[data-fancybox='\" + $.escapeSelector(url.gallery) + \"']\")\r\n .eq(url.index - 1)\r\n .focus()\r\n .trigger(\"click.fb-start\");\r\n }\r\n }\r\n\r\n // Get gallery name from current instance\r\n function getGalleryID(instance) {\r\n var opts, ret;\r\n\r\n if (!instance) {\r\n return false;\r\n }\r\n\r\n opts = instance.current ? instance.current.opts : instance.opts;\r\n ret = opts.hash || (opts.$orig ? opts.$orig.data(\"fancybox\") || opts.$orig.data(\"fancybox-trigger\") : \"\");\r\n\r\n return ret === \"\" ? false : ret;\r\n }\r\n\r\n // Start when DOM becomes ready\r\n $(function () {\r\n // Check if user has disabled this module\r\n if ($.fancybox.defaults.hash === false) {\r\n return;\r\n }\r\n\r\n // Update hash when opening/closing fancyBox\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var url, gallery;\r\n\r\n if (instance.group[instance.currIndex].opts.hash === false) {\r\n return;\r\n }\r\n\r\n url = parseUrl();\r\n gallery = getGalleryID(instance);\r\n\r\n // Make sure gallery start index matches index from hash\r\n if (gallery && url.gallery && gallery == url.gallery) {\r\n instance.currIndex = url.index - 1;\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\r\n var gallery;\r\n\r\n if (!current || current.opts.hash === false) {\r\n return;\r\n }\r\n\r\n // Check if need to update window hash\r\n gallery = getGalleryID(instance);\r\n\r\n if (!gallery) {\r\n return;\r\n }\r\n\r\n // Variable containing last hash value set by fancyBox\r\n // It will be used to determine if fancyBox needs to close after hash change is detected\r\n instance.currentHash = gallery + (instance.group.length > 1 ? \"-\" + (current.index + 1) : \"\");\r\n\r\n // If current hash is the same (this instance most likely is opened by hashchange), then do nothing\r\n if (window.location.hash === \"#\" + instance.currentHash) {\r\n return;\r\n }\r\n\r\n if (firstRun && !instance.origHash) {\r\n instance.origHash = window.location.hash;\r\n }\r\n\r\n if (instance.hashTimer) {\r\n clearTimeout(instance.hashTimer);\r\n }\r\n\r\n // Update hash\r\n instance.hashTimer = setTimeout(function () {\r\n if (\"replaceState\" in window.history) {\r\n window.history[firstRun ? \"pushState\" : \"replaceState\"]({},\r\n document.title,\r\n window.location.pathname + window.location.search + \"#\" + instance.currentHash\r\n );\r\n\r\n if (firstRun) {\r\n instance.hasCreatedHistory = true;\r\n }\r\n } else {\r\n window.location.hash = instance.currentHash;\r\n }\r\n\r\n instance.hashTimer = null;\r\n }, 300);\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance, current) {\r\n if (!current || current.opts.hash === false) {\r\n return;\r\n }\r\n\r\n clearTimeout(instance.hashTimer);\r\n\r\n // Goto previous history entry\r\n if (instance.currentHash && instance.hasCreatedHistory) {\r\n window.history.back();\r\n } else if (instance.currentHash) {\r\n if (\"replaceState\" in window.history) {\r\n window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || \"\"));\r\n } else {\r\n window.location.hash = instance.origHash;\r\n }\r\n }\r\n\r\n instance.currentHash = null;\r\n }\r\n });\r\n\r\n // Check if need to start/close after url has changed\r\n $(window).on(\"hashchange.fb\", function () {\r\n var url = parseUrl(),\r\n fb = null;\r\n\r\n // Find last fancyBox instance that has \"hash\"\r\n $.each(\r\n $(\".fancybox-container\")\r\n .get()\r\n .reverse(),\r\n function (index, value) {\r\n var tmp = $(value).data(\"FancyBox\");\r\n\r\n if (tmp && tmp.currentHash) {\r\n fb = tmp;\r\n return false;\r\n }\r\n }\r\n );\r\n\r\n if (fb) {\r\n // Now, compare hash values\r\n if (fb.currentHash !== url.gallery + \"-\" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {\r\n fb.currentHash = null;\r\n\r\n fb.close();\r\n }\r\n } else if (url.gallery !== \"\") {\r\n triggerFromUrl(url);\r\n }\r\n });\r\n\r\n // Check current hash and trigger click event on matching element to start fancyBox, if needed\r\n setTimeout(function () {\r\n if (!$.fancybox.getInstance()) {\r\n triggerFromUrl(parseUrl());\r\n }\r\n }, 50);\r\n });\r\n})(window, document, jQuery);\n// ==========================================================================\r\n//\r\n// Wheel\r\n// Basic mouse weheel support for gallery navigation\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n var prevTime = new Date().getTime();\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance, current) {\r\n instance.$refs.stage.on(\"mousewheel DOMMouseScroll wheel MozMousePixelScroll\", function (e) {\r\n var current = instance.current,\r\n currTime = new Date().getTime();\r\n\r\n if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === \"auto\" && current.type !== \"image\")) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (current.$slide.hasClass(\"fancybox-animated\")) {\r\n return;\r\n }\r\n\r\n e = e.originalEvent || e;\r\n\r\n if (currTime - prevTime < 250) {\r\n return;\r\n }\r\n\r\n prevTime = currTime;\r\n\r\n instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? \"next\" : \"previous\"]();\r\n });\r\n }\r\n });\r\n})(document, jQuery);","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\n","require('../../../modules/es.array.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.index-of');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').indexOf;\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","require('../../../modules/es.array.reverse');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').reverse;\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\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 indexOf = require('../array/virtual/index-of');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.indexOf;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.indexOf) ? indexOf : own;\n};\n","var map = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.map) ? map : own;\n};\n","var reverse = require('../array/virtual/reverse');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.reverse;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.reverse) ? reverse : own;\n};\n","var slice = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.slice) ? slice : own;\n};\n","var trim = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it === 'string' || it === StringPrototype\n || (it instanceof String && own === StringPrototype.trim) ? trim : own;\n};\n","require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n","require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n","require('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","require('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","require('../../modules/es.object.get-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getPrototypeOf;\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","require('../../modules/es.object.set-prototype-of');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.setPrototypeOf;\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","require('../modules/es.parse-int');\nvar path = require('../internals/path');\n\nmodule.exports = path.parseInt;\n","require('../../modules/es.reflect.construct');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect.construct;\n","require('../../modules/es.reflect.get');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect.get;\n","require('../../../modules/es.string.includes');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').includes;\n","require('../../../modules/es.string.trim');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('String').trim;\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","require('../../modules/es.symbol.iterator');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar getIterator = require('../internals/get-iterator');\n\nmodule.exports = getIterator;\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","require('../modules/web.dom-collections.iterator');\nrequire('../modules/es.string.iterator');\nvar isIterable = require('../internals/is-iterable');\n\nmodule.exports = isIterable;\n","var parent = require('../../es/object/create');\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-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/set-prototype-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/reflect/get');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.observable');\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","var parent = require('../../es/symbol/iterator');\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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* 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","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || 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 shared = require('../internals/shared-store');\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 = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\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 metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","var classof = require('../internals/classof');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = true;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\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 global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar hex = /^[+-]?0[Xx]/;\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(String(string));\n return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));\n} : $parseInt;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","module.exports = {};\n","var 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.7.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\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","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.github.io/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","// empty\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\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 $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\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","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","// empty\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var $ = require('../internals/export');\nvar parseIntImplementation = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != parseIntImplementation }, {\n parseInt: parseIntImplementation\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.github.io/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","// empty\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// empty\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","require('./es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar global = require('../internals/global');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\n\nvar wrap = function (scheduler) {\n return function (handler, timeout /* , ...arguments */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);\n } : handler, timeout);\n };\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n$({ global: true, bind: true, forced: MSIE }, {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n});\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","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/index-of');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/reverse');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","var parent = require('../../es/number/is-integer');\n\nmodule.exports = parent;\n","var parent = require('../../es/number/is-nan');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/entries');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/values');\n\nmodule.exports = parent;\n","var parent = require('../es/parse-int');\n\nmodule.exports = parent;\n","var parent = require('../../es/reflect/construct');\n\nmodule.exports = parent;\n","require('../modules/web.timers');\nvar path = require('../internals/path');\n\nmodule.exports = path.setTimeout;\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","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var 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","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new NativeArrayBuffer(); // eslint-disable-line no-new\n new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\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 aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\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 $ = 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 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","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var 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; })() || 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","// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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 isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","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 shared = require('../internals/shared-store');\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 = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\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 metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\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 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 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","var global = require('../internals/global');\n\nmodule.exports = global;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\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","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","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.7.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return 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 toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* eslint-disable no-new */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anObject = require('../internals/an-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar nativeArrayBufferSlice = ArrayBuffer.prototype.slice;\n\nvar INCORRECT_SLICE = fails(function () {\n return !new ArrayBuffer(2).slice(1, undefined).byteLength;\n});\n\n// `ArrayBuffer.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice\n$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {\n slice: function slice(start, end) {\n if (nativeArrayBufferSlice !== undefined && end === undefined) {\n return nativeArrayBufferSlice.call(anObject(this), start); // FF fix\n }\n var length = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));\n var viewSource = new DataView(this);\n var viewTarget = new DataView(result);\n var index = 0;\n while (first < fin) {\n viewTarget.setUint8(index++, viewSource.getUint8(first++));\n } return result;\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.counterUp=e():t.counterUp=e()}(window,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=0)}([function(t,e,n){\"use strict\";n.r(e),n.d(e,\"divideNumbers\",function(){return o}),n.d(e,\"hasComma\",function(){return i}),n.d(e,\"isFloat\",function(){return u}),n.d(e,\"decimalPlaces\",function(){return l});e.default=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.action,i=void 0===n?\"start\":n,u=e.duration,l=void 0===u?1e3:u,a=e.delay,c=void 0===a?16:a,d=e.lang,f=void 0===d?void 0:d;if(\"stop\"!==i){if(r(t),/[0-9]/.test(t.innerHTML)){var s=o(t.innerHTML,{duration:l||t.getAttribute(\"data-duration\"),lang:f||document.querySelector(\"html\").getAttribute(\"lang\")||void 0,delay:c||t.getAttribute(\"data-delay\")});t._countUpOrigInnerHTML=t.innerHTML,t.innerHTML=s[0],t.style.visibility=\"visible\",t.countUpTimeout=setTimeout(function e(){t.innerHTML=s.shift(),s.length?(clearTimeout(t.countUpTimeout),t.countUpTimeout=setTimeout(e,c)):t._countUpOrigInnerHTML=void 0},c)}}else r(t)};var r=function(t){clearTimeout(t.countUpTimeout),t._countUpOrigInnerHTML&&(t.innerHTML=t._countUpOrigInnerHTML,t._countUpOrigInnerHTML=void 0),t.style.visibility=\"\"},o=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.duration,r=void 0===n?1e3:n,o=e.delay,i=void 0===o?16:o,u=e.lang,l=void 0===u?void 0:u,a=r/i,c=t.toString().split(/(<[^>]+>|[0-9.][,.0-9]*[0-9]*)/),d=[],f=0;f]+>/.test(c[s])){var p=c[s],v=/[0-9]+,[0-9]+/.test(p);p=p.replace(/,/g,\"\");for(var g=/^[0-9]+\\.[0-9]+$/.test(p),y=g?(p.split(\".\")[1]||[]).length:0,b=d.length-1,m=a;m>=1;m--){var T=parseInt(p/a*m,10);g&&(T=parseFloat(p/a*m).toFixed(y),T=parseFloat(T).toLocaleString(l)),v&&(T=T.toLocaleString(l)),d[b--]+=T}}else for(var M=0;M
a\";\n\n\t// Support tests won't run in some limited or non-browser environments\n\tall = div.getElementsByTagName(\"*\");\n\ta = div.getElementsByTagName(\"a\")[ 0 ];\n\tif ( !all || !a || !all.length ) {\n\t\treturn {};\n\t}\n\n\t// First batch of tests\n\tselect = document.createElement(\"select\");\n\topt = select.appendChild( document.createElement(\"option\") );\n\tinput = div.getElementsByTagName(\"input\")[ 0 ];\n\n\ta.style.cssText = \"top:1px;float:left;opacity:.5\";\n\tsupport = {\n\t\t// IE strips leading whitespace when .innerHTML is used\n\t\tleadingWhitespace: ( div.firstChild.nodeType === 3 ),\n\n\t\t// Make sure that tbody elements aren't automatically inserted\n\t\t// IE will insert them into empty tables\n\t\ttbody: !div.getElementsByTagName(\"tbody\").length,\n\n\t\t// Make sure that link elements get serialized correctly by innerHTML\n\t\t// This requires a wrapper element in IE\n\t\thtmlSerialize: !!div.getElementsByTagName(\"link\").length,\n\n\t\t// Get the style information from getAttribute\n\t\t// (IE uses .cssText instead)\n\t\tstyle: /top/.test( a.getAttribute(\"style\") ),\n\n\t\t// Make sure that URLs aren't manipulated\n\t\t// (IE normalizes it by default)\n\t\threfNormalized: ( a.getAttribute(\"href\") === \"/a\" ),\n\n\t\t// Make sure that element opacity exists\n\t\t// (IE uses filter instead)\n\t\t// Use a regex to work around a WebKit issue. See #5145\n\t\topacity: /^0.5/.test( a.style.opacity ),\n\n\t\t// Verify style float existence\n\t\t// (IE uses styleFloat instead of cssFloat)\n\t\tcssFloat: !!a.style.cssFloat,\n\n\t\t// Make sure that if no value is specified for a checkbox\n\t\t// that it defaults to \"on\".\n\t\t// (WebKit defaults to \"\" instead)\n\t\tcheckOn: ( input.value === \"on\" ),\n\n\t\t// Make sure that a selected-by-default option has a working selected property.\n\t\t// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)\n\t\toptSelected: opt.selected,\n\n\t\t// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)\n\t\tgetSetAttribute: div.className !== \"t\",\n\n\t\t// Tests for enctype support on a form (#6743)\n\t\tenctype: !!document.createElement(\"form\").enctype,\n\n\t\t// Makes sure cloning an html5 element does not cause problems\n\t\t// Where outerHTML is undefined, this still works\n\t\thtml5Clone: document.createElement(\"nav\").cloneNode( true ).outerHTML !== \"<:nav>\",\n\n\t\t// jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode\n\t\tboxModel: ( document.compatMode === \"CSS1Compat\" ),\n\n\t\t// Will be defined later\n\t\tsubmitBubbles: true,\n\t\tchangeBubbles: true,\n\t\tfocusinBubbles: false,\n\t\tdeleteExpando: true,\n\t\tnoCloneEvent: true,\n\t\tinlineBlockNeedsLayout: false,\n\t\tshrinkWrapBlocks: false,\n\t\treliableMarginRight: true,\n\t\tboxSizingReliable: true,\n\t\tpixelPosition: false\n\t};\n\n\t// Make sure checked status is properly cloned\n\tinput.checked = true;\n\tsupport.noCloneChecked = input.cloneNode( true ).checked;\n\n\t// Make sure that the options inside disabled selects aren't marked as disabled\n\t// (WebKit marks them as disabled)\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Test to see if it's possible to delete an expando from an element\n\t// Fails in Internet Explorer\n\ttry {\n\t\tdelete div.test;\n\t} catch( e ) {\n\t\tsupport.deleteExpando = false;\n\t}\n\n\tif ( !div.addEventListener && div.attachEvent && div.fireEvent ) {\n\t\tdiv.attachEvent( \"onclick\", clickFn = function() {\n\t\t\t// Cloning a node shouldn't copy over any\n\t\t\t// bound event handlers (IE does this)\n\t\t\tsupport.noCloneEvent = false;\n\t\t});\n\t\tdiv.cloneNode( true ).fireEvent(\"onclick\");\n\t\tdiv.detachEvent( \"onclick\", clickFn );\n\t}\n\n\t// Check if a radio maintains its value\n\t// after being appended to the DOM\n\tinput = document.createElement(\"input\");\n\tinput.value = \"t\";\n\tinput.setAttribute( \"type\", \"radio\" );\n\tsupport.radioValue = input.value === \"t\";\n\n\tinput.setAttribute( \"checked\", \"checked\" );\n\n\t// #11217 - WebKit loses check when the name is after the checked attribute\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\tfragment = document.createDocumentFragment();\n\tfragment.appendChild( div.lastChild );\n\n\t// WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Check if a disconnected checkbox will retain its checked\n\t// value of true after appended to the DOM (IE6/7)\n\tsupport.appendChecked = input.checked;\n\n\tfragment.removeChild( input );\n\tfragment.appendChild( div );\n\n\t// Technique from Juriy Zaytsev\n\t// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/\n\t// We only care about the case where non-standard event systems\n\t// are used, namely in IE. Short-circuiting here helps us to\n\t// avoid an eval call (in setAttribute) which can cause CSP\n\t// to go haywire. See: https://developer.mozilla.org/en/Security/CSP\n\tif ( !div.addEventListener ) {\n\t\tfor ( i in {\n\t\t\tsubmit: true,\n\t\t\tchange: true,\n\t\t\tfocusin: true\n\t\t}) {\n\t\t\teventName = \"on\" + i;\n\t\t\tisSupported = ( eventName in div );\n\t\t\tif ( !isSupported ) {\n\t\t\t\tdiv.setAttribute( eventName, \"return;\" );\n\t\t\t\tisSupported = ( typeof div[ eventName ] === \"function\" );\n\t\t\t}\n\t\t\tsupport[ i + \"Bubbles\" ] = isSupported;\n\t\t}\n\t}\n\n\t// Run tests that need a body at doc ready\n\tdomready(function() {\n\t\tvar container, div, tds, marginDiv,\n\t\t\tdivReset = \"padding:0;margin:0;border:0;display:block;overflow:hidden;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;\",\n\t\t\tbody = document.getElementsByTagName(\"body\")[0];\n\n\t\tif ( !body ) {\n\t\t\t// Return for frameset docs that don't have a body\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer = document.createElement(\"div\");\n\t\tcontainer.style.cssText = \"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\";\n\t\tbody.insertBefore( container, body.firstChild );\n\n\t\t// Construct the test element\n\t\tdiv = document.createElement(\"div\");\n\t\tcontainer.appendChild( div );\n\n //Check if table cells still have offsetWidth/Height when they are set\n //to display:none and there are still other visible table cells in a\n //table row; if so, offsetWidth/Height are not reliable for use when\n //determining if an element has been hidden directly using\n //display:none (it is still safe to use offsets if a parent element is\n //hidden; don safety goggles and see bug #4512 for more information).\n //(only IE 8 fails this test)\n\t\tdiv.innerHTML = \"
t
\";\n\t\ttds = div.getElementsByTagName(\"td\");\n\t\ttds[ 0 ].style.cssText = \"padding:0;margin:0;border:0;display:none\";\n\t\tisSupported = ( tds[ 0 ].offsetHeight === 0 );\n\n\t\ttds[ 0 ].style.display = \"\";\n\t\ttds[ 1 ].style.display = \"none\";\n\n\t\t// Check if empty table cells still have offsetWidth/Height\n\t\t// (IE <= 8 fail this test)\n\t\tsupport.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );\n\n\t\t// Check box-sizing and margin behavior\n\t\tdiv.innerHTML = \"\";\n\t\tdiv.style.cssText = \"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";\n\t\tsupport.boxSizing = ( div.offsetWidth === 4 );\n\t\tsupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );\n\n\t\t// NOTE: To any future maintainer, we've window.getComputedStyle\n\t\t// because jsdom on node.js will break without it.\n\t\tif ( window.getComputedStyle ) {\n\t\t\tsupport.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== \"1%\";\n\t\t\tsupport.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: \"4px\" } ).width === \"4px\";\n\n\t\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t\t// gets computed margin-right based on width of container. For more\n\t\t\t// info see bug #3333\n\t\t\t// Fails in WebKit before Feb 2011 nightlies\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\tmarginDiv = document.createElement(\"div\");\n\t\t\tmarginDiv.style.cssText = div.style.cssText = divReset;\n\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\n\t\t\tdiv.style.width = \"1px\";\n\t\t\tdiv.appendChild( marginDiv );\n\t\t\tsupport.reliableMarginRight =\n\t\t\t\t!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );\n\t\t}\n\n\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\t\t\t// Check if natively block-level elements act like inline-block\n\t\t\t// elements when setting their display to 'inline' and giving\n\t\t\t// them layout\n\t\t\t// (IE < 8 does this)\n\t\t\tdiv.innerHTML = \"\";\n\t\t\tdiv.style.cssText = divReset + \"width:1px;padding:1px;display:inline;zoom:1\";\n\t\t\tsupport.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );\n\n\t\t\t// Check if elements with layout shrink-wrap their children\n\t\t\t// (IE 6 does this)\n\t\t\tdiv.style.display = \"block\";\n\t\t\tdiv.style.overflow = \"visible\";\n\t\t\tdiv.innerHTML = \"
\";\n\t\t\tdiv.firstChild.style.width = \"5px\";\n\t\t\tsupport.shrinkWrapBlocks = ( div.offsetWidth !== 3 );\n\n\t\t\tcontainer.style.zoom = 1;\n\t\t}\n\n\t\t// Null elements to avoid leaks in IE\n\t\tbody.removeChild( container );\n\t\tcontainer = div = tds = marginDiv = null;\n\t});\n\n\t// Null elements to avoid leaks in IE\n\tfragment.removeChild( div );\n\tall = a = select = opt = input = fragment = div = null;\n\n\treturn support;\n})();\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n if (typeof module != 'undefined') module.exports = definition()\n else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n else this[name] = definition()\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\n\n if (!loaded)\n doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener)\n loaded = 1\n while (listener = fns.shift()) listener()\n })\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn)\n }\n\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n","\n/**\n * Module exports.\n */\n\nmodule.exports = getDocument;\n\n// defined by w3c\nvar DOCUMENT_NODE = 9;\n\n/**\n * Returns `true` if `w` is a Document object, or `false` otherwise.\n *\n * @param {?} d - Document object, maybe\n * @return {Boolean}\n * @private\n */\n\nfunction isDocument (d) {\n return d && d.nodeType === DOCUMENT_NODE;\n}\n\n/**\n * Returns the `document` object associated with the given `node`, which may be\n * a DOM element, the Window object, a Selection, a Range. Basically any DOM\n * object that references the Document in some way, this function will find it.\n *\n * @param {Mixed} node - DOM node, selection, or range in which to find the `document` object\n * @return {Document} the `document` object associated with `node`\n * @public\n */\n\nfunction getDocument(node) {\n if (isDocument(node)) {\n return node;\n\n } else if (isDocument(node.ownerDocument)) {\n return node.ownerDocument;\n\n } else if (isDocument(node.document)) {\n return node.document;\n\n } else if (node.parentNode) {\n return getDocument(node.parentNode);\n\n // Range support\n } else if (node.commonAncestorContainer) {\n return getDocument(node.commonAncestorContainer);\n\n } else if (node.startContainer) {\n return getDocument(node.startContainer);\n\n // Selection support\n } else if (node.anchorNode) {\n return getDocument(node.anchorNode);\n }\n}\n","\n// ------------------------------------------\n// Rellax.js\n// Buttery smooth parallax library\n// Copyright (c) 2016 Moe Amaya (@moeamaya)\n// MIT license\n//\n// Thanks to Paraxify.js and Jaime Cabllero\n// for parallax concepts\n// ------------------------------------------\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.Rellax = factory();\n }\n}(typeof window !== \"undefined\" ? window : global, function () {\n var Rellax = function(el, options){\n \"use strict\";\n\n var self = Object.create(Rellax.prototype);\n\n var posY = 0;\n var screenY = 0;\n var posX = 0;\n var screenX = 0;\n var blocks = [];\n var pause = true;\n\n // check what requestAnimationFrame to use, and if\n // it's not supported, use the onscroll event\n var loop = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n function(callback){ return setTimeout(callback, 1000 / 60); };\n\n // store the id for later use\n var loopId = null;\n\n // Test via a getter in the options object to see if the passive property is accessed\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"testPassive\", null, opts);\n window.removeEventListener(\"testPassive\", null, opts);\n } catch (e) {}\n\n // check what cancelAnimation method to use\n var clearLoop = window.cancelAnimationFrame || window.mozCancelAnimationFrame || clearTimeout;\n\n // check which transform property to use\n var transformProp = window.transformProp || (function(){\n var testEl = document.createElement('div');\n if (testEl.style.transform === null) {\n var vendors = ['Webkit', 'Moz', 'ms'];\n for (var vendor in vendors) {\n if (testEl.style[ vendors[vendor] + 'Transform' ] !== undefined) {\n return vendors[vendor] + 'Transform';\n }\n }\n }\n return 'transform';\n })();\n\n // Default Settings\n self.options = {\n speed: -2,\n\t verticalSpeed: null,\n\t horizontalSpeed: null,\n breakpoints: [576, 768, 1201],\n center: false,\n wrapper: null,\n relativeToWrapper: false,\n round: true,\n vertical: true,\n horizontal: false,\n verticalScrollAxis: \"y\",\n horizontalScrollAxis: \"x\",\n callback: function() {},\n };\n\n // User defined options (might have more in the future)\n if (options){\n Object.keys(options).forEach(function(key){\n self.options[key] = options[key];\n });\n }\n\n function validateCustomBreakpoints () {\n if (self.options.breakpoints.length === 3 && Array.isArray(self.options.breakpoints)) {\n var isAscending = true;\n var isNumerical = true;\n var lastVal;\n self.options.breakpoints.forEach(function (i) {\n if (typeof i !== 'number') isNumerical = false;\n if (lastVal !== null) {\n if (i < lastVal) isAscending = false;\n }\n lastVal = i;\n });\n if (isAscending && isNumerical) return;\n }\n // revert defaults if set incorrectly\n self.options.breakpoints = [576, 768, 1201];\n console.warn(\"Rellax: You must pass an array of 3 numbers in ascending order to the breakpoints option. Defaults reverted\");\n }\n\n if (options && options.breakpoints) {\n validateCustomBreakpoints();\n }\n\n // By default, rellax class\n if (!el) {\n el = '.rellax';\n }\n\n // check if el is a className or a node\n var elements = typeof el === 'string' ? document.querySelectorAll(el) : [el];\n\n // Now query selector\n if (elements.length > 0) {\n self.elems = elements;\n }\n\n // The elements don't exist\n else {\n console.warn(\"Rellax: The elements you're trying to select don't exist.\");\n return;\n }\n\n // Has a wrapper and it exists\n if (self.options.wrapper) {\n if (!self.options.wrapper.nodeType) {\n var wrapper = document.querySelector(self.options.wrapper);\n\n if (wrapper) {\n self.options.wrapper = wrapper;\n } else {\n console.warn(\"Rellax: The wrapper you're trying to use doesn't exist.\");\n return;\n }\n }\n }\n\n // set a placeholder for the current breakpoint\n var currentBreakpoint;\n\n // helper to determine current breakpoint\n var getCurrentBreakpoint = function (w) {\n var bp = self.options.breakpoints;\n if (w < bp[0]) return 'xs';\n if (w >= bp[0] && w < bp[1]) return 'sm';\n if (w >= bp[1] && w < bp[2]) return 'md';\n return 'lg';\n };\n\n // Get and cache initial position of all elements\n var cacheBlocks = function() {\n for (var i = 0; i < self.elems.length; i++){\n var block = createBlock(self.elems[i]);\n blocks.push(block);\n }\n };\n\n\n // Let's kick this script off\n // Build array for cached element values\n var init = function() {\n for (var i = 0; i < blocks.length; i++){\n self.elems[i].style.cssText = blocks[i].style;\n }\n\n blocks = [];\n\n screenY = window.innerHeight;\n screenX = window.innerWidth;\n currentBreakpoint = getCurrentBreakpoint(screenX);\n\n setPosition();\n\n cacheBlocks();\n\n animate();\n\n // If paused, unpause and set listener for window resizing events\n if (pause) {\n window.addEventListener('resize', init);\n pause = false;\n // Start the loop\n update();\n }\n };\n\n // We want to cache the parallax blocks'\n // values: base, top, height, speed\n // el: is dom object, return: el cache values\n var createBlock = function(el) {\n var dataPercentage = el.getAttribute( 'data-rellax-percentage' );\n var dataSpeed = el.getAttribute( 'data-rellax-speed' );\n var dataXsSpeed = el.getAttribute( 'data-rellax-xs-speed' );\n var dataMobileSpeed = el.getAttribute( 'data-rellax-mobile-speed' );\n var dataTabletSpeed = el.getAttribute( 'data-rellax-tablet-speed' );\n var dataDesktopSpeed = el.getAttribute( 'data-rellax-desktop-speed' );\n var dataVerticalSpeed = el.getAttribute('data-rellax-vertical-speed');\n var dataHorizontalSpeed = el.getAttribute('data-rellax-horizontal-speed');\n var dataVericalScrollAxis = el.getAttribute('data-rellax-vertical-scroll-axis');\n var dataHorizontalScrollAxis = el.getAttribute('data-rellax-horizontal-scroll-axis');\n var dataZindex = el.getAttribute( 'data-rellax-zindex' ) || 0;\n var dataMin = el.getAttribute( 'data-rellax-min' );\n var dataMax = el.getAttribute( 'data-rellax-max' );\n var dataMinX = el.getAttribute('data-rellax-min-x');\n var dataMaxX = el.getAttribute('data-rellax-max-x');\n var dataMinY = el.getAttribute('data-rellax-min-y');\n var dataMaxY = el.getAttribute('data-rellax-max-y');\n var mapBreakpoints;\n var breakpoints = true;\n\n if (!dataXsSpeed && !dataMobileSpeed && !dataTabletSpeed && !dataDesktopSpeed) {\n breakpoints = false;\n } else {\n mapBreakpoints = {\n 'xs': dataXsSpeed,\n 'sm': dataMobileSpeed,\n 'md': dataTabletSpeed,\n 'lg': dataDesktopSpeed\n };\n }\n\n // initializing at scrollY = 0 (top of browser), scrollX = 0 (left of browser)\n // ensures elements are positioned based on HTML layout.\n //\n // If the element has the percentage attribute, the posY and posX needs to be\n // the current scroll position's value, so that the elements are still positioned based on HTML layout\n var wrapperPosY = self.options.wrapper ? self.options.wrapper.scrollTop : (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\n // If the option relativeToWrapper is true, use the wrappers offset to top, subtracted from the current page scroll.\n if (self.options.relativeToWrapper) {\n var scrollPosY = (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\n wrapperPosY = scrollPosY - self.options.wrapper.offsetTop;\n }\n var posY = self.options.vertical ? ( dataPercentage || self.options.center ? wrapperPosY : 0 ) : 0;\n var posX = self.options.horizontal ? ( dataPercentage || self.options.center ? self.options.wrapper ? self.options.wrapper.scrollLeft : (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft) : 0 ) : 0;\n\n var blockTop = posY + el.getBoundingClientRect().top;\n var blockHeight = el.clientHeight || el.offsetHeight || el.scrollHeight;\n\n var blockLeft = posX + el.getBoundingClientRect().left;\n var blockWidth = el.clientWidth || el.offsetWidth || el.scrollWidth;\n\n // apparently parallax equation everyone uses\n var percentageY = dataPercentage ? dataPercentage : (posY - blockTop + screenY) / (blockHeight + screenY);\n var percentageX = dataPercentage ? dataPercentage : (posX - blockLeft + screenX) / (blockWidth + screenX);\n if(self.options.center){ percentageX = 0.5; percentageY = 0.5; }\n\n // Optional individual block speed as data attr, otherwise global speed\n var speed = (breakpoints && mapBreakpoints[currentBreakpoint] !== null) ? Number(mapBreakpoints[currentBreakpoint]) : (dataSpeed ? dataSpeed : self.options.speed);\n var verticalSpeed = dataVerticalSpeed ? dataVerticalSpeed : self.options.verticalSpeed;\n var horizontalSpeed = dataHorizontalSpeed ? dataHorizontalSpeed : self.options.horizontalSpeed;\n\n // Optional individual block movement axis direction as data attr, otherwise gobal movement direction\n var verticalScrollAxis = dataVericalScrollAxis ? dataVericalScrollAxis : self.options.verticalScrollAxis;\n var horizontalScrollAxis = dataHorizontalScrollAxis ? dataHorizontalScrollAxis : self.options.horizontalScrollAxis;\n\n var bases = updatePosition(percentageX, percentageY, speed, verticalSpeed, horizontalSpeed);\n\n // ~~Store non-translate3d transforms~~\n // Store inline styles and extract transforms\n var style = el.style.cssText;\n var transform = '';\n\n // Check if there's an inline styled transform\n var searchResult = /transform\\s*:/i.exec(style);\n if (searchResult) {\n // Get the index of the transform\n var index = searchResult.index;\n\n // Trim the style to the transform point and get the following semi-colon index\n var trimmedStyle = style.slice(index);\n var delimiter = trimmedStyle.indexOf(';');\n\n // Remove \"transform\" string and save the attribute\n if (delimiter) {\n transform = \" \" + trimmedStyle.slice(11, delimiter).replace(/\\s/g,'');\n } else {\n transform = \" \" + trimmedStyle.slice(11).replace(/\\s/g,'');\n }\n }\n\n return {\n baseX: bases.x,\n baseY: bases.y,\n top: blockTop,\n left: blockLeft,\n height: blockHeight,\n width: blockWidth,\n speed: speed,\n verticalSpeed: verticalSpeed,\n horizontalSpeed: horizontalSpeed,\n verticalScrollAxis: verticalScrollAxis,\n horizontalScrollAxis: horizontalScrollAxis,\n style: style,\n transform: transform,\n zindex: dataZindex,\n min: dataMin,\n max: dataMax,\n minX: dataMinX,\n maxX: dataMaxX,\n minY: dataMinY,\n maxY: dataMaxY\n };\n };\n\n // set scroll position (posY, posX)\n // side effect method is not ideal, but okay for now\n // returns true if the scroll changed, false if nothing happened\n var setPosition = function() {\n var oldY = posY;\n var oldX = posX;\n\n posY = self.options.wrapper ? self.options.wrapper.scrollTop : (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\n posX = self.options.wrapper ? self.options.wrapper.scrollLeft : (document.documentElement || document.body.parentNode || document.body).scrollLeft || window.pageXOffset;\n // If option relativeToWrapper is true, use relative wrapper value instead.\n if (self.options.relativeToWrapper) {\n var scrollPosY = (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\n posY = scrollPosY - self.options.wrapper.offsetTop;\n }\n\n\n if (oldY != posY && self.options.vertical) {\n // scroll changed, return true\n return true;\n }\n\n if (oldX != posX && self.options.horizontal) {\n // scroll changed, return true\n return true;\n }\n\n // scroll did not change\n return false;\n };\n\n // Ahh a pure function, gets new transform value\n // based on scrollPosition and speed\n // Allow for decimal pixel values\n var updatePosition = function(percentageX, percentageY, speed, verticalSpeed, horizontalSpeed) {\n var result = {};\n var valueX = ((horizontalSpeed ? horizontalSpeed : speed) * (100 * (1 - percentageX)));\n var valueY = ((verticalSpeed ? verticalSpeed : speed) * (100 * (1 - percentageY)));\n\n result.x = self.options.round ? Math.round(valueX) : Math.round(valueX * 100) / 100;\n result.y = self.options.round ? Math.round(valueY) : Math.round(valueY * 100) / 100;\n\n return result;\n };\n\n // Remove event listeners and loop again\n var deferredUpdate = function() {\n window.removeEventListener('resize', deferredUpdate);\n window.removeEventListener('orientationchange', deferredUpdate);\n (self.options.wrapper ? self.options.wrapper : window).removeEventListener('scroll', deferredUpdate);\n (self.options.wrapper ? self.options.wrapper : document).removeEventListener('touchmove', deferredUpdate);\n\n // loop again\n loopId = loop(update);\n };\n\n // Loop\n var update = function() {\n if (setPosition() && pause === false) {\n animate();\n\n // loop again\n loopId = loop(update);\n } else {\n loopId = null;\n\n // Don't animate until we get a position updating event\n window.addEventListener('resize', deferredUpdate);\n window.addEventListener('orientationchange', deferredUpdate);\n (self.options.wrapper ? self.options.wrapper : window).addEventListener('scroll', deferredUpdate, supportsPassive ? { passive: true } : false);\n (self.options.wrapper ? self.options.wrapper : document).addEventListener('touchmove', deferredUpdate, supportsPassive ? { passive: true } : false);\n }\n };\n\n // Transform3d on parallax element\n var animate = function() {\n var positions;\n for (var i = 0; i < self.elems.length; i++){\n // Determine relevant movement directions\n var verticalScrollAxis = blocks[i].verticalScrollAxis.toLowerCase();\n var horizontalScrollAxis = blocks[i].horizontalScrollAxis.toLowerCase();\n var verticalScrollX = verticalScrollAxis.indexOf(\"x\") != -1 ? posY : 0;\n var verticalScrollY = verticalScrollAxis.indexOf(\"y\") != -1 ? posY : 0;\n var horizontalScrollX = horizontalScrollAxis.indexOf(\"x\") != -1 ? posX : 0;\n var horizontalScrollY = horizontalScrollAxis.indexOf(\"y\") != -1 ? posX : 0;\n\n var percentageY = ((verticalScrollY + horizontalScrollY - blocks[i].top + screenY) / (blocks[i].height + screenY));\n var percentageX = ((verticalScrollX + horizontalScrollX - blocks[i].left + screenX) / (blocks[i].width + screenX));\n\n // Subtracting initialize value, so element stays in same spot as HTML\n positions = updatePosition(percentageX, percentageY, blocks[i].speed, blocks[i].verticalSpeed, blocks[i].horizontalSpeed);\n var positionY = positions.y - blocks[i].baseY;\n var positionX = positions.x - blocks[i].baseX;\n\n // The next two \"if\" blocks go like this:\n // Check if a limit is defined (first \"min\", then \"max\");\n // Check if we need to change the Y or the X\n // (Currently working only if just one of the axes is enabled)\n // Then, check if the new position is inside the allowed limit\n // If so, use new position. If not, set position to limit.\n\n // Check if a min limit is defined\n if (blocks[i].min !== null) {\n if (self.options.vertical && !self.options.horizontal) {\n positionY = positionY <= blocks[i].min ? blocks[i].min : positionY;\n }\n if (self.options.horizontal && !self.options.vertical) {\n positionX = positionX <= blocks[i].min ? blocks[i].min : positionX;\n }\n }\n\n // Check if directional min limits are defined\n if (blocks[i].minY != null) {\n positionY = positionY <= blocks[i].minY ? blocks[i].minY : positionY;\n }\n if (blocks[i].minX != null) {\n positionX = positionX <= blocks[i].minX ? blocks[i].minX : positionX;\n }\n\n // Check if a max limit is defined\n if (blocks[i].max !== null) {\n if (self.options.vertical && !self.options.horizontal) {\n positionY = positionY >= blocks[i].max ? blocks[i].max : positionY;\n }\n if (self.options.horizontal && !self.options.vertical) {\n positionX = positionX >= blocks[i].max ? blocks[i].max : positionX;\n }\n }\n\n // Check if directional max limits are defined\n if (blocks[i].maxY != null) {\n positionY = positionY >= blocks[i].maxY ? blocks[i].maxY : positionY;\n }\n if (blocks[i].maxX != null) {\n positionX = positionX >= blocks[i].maxX ? blocks[i].maxX : positionX;\n }\n\n var zindex = blocks[i].zindex;\n\n // Move that element\n // (Set the new translation and append initial inline transforms.)\n var translate = 'translate3d(' + (self.options.horizontal ? positionX : '0') + 'px,' + (self.options.vertical ? positionY : '0') + 'px,' + zindex + 'px) ' + blocks[i].transform;\n self.elems[i].style[transformProp] = translate;\n }\n self.options.callback(positions);\n };\n\n self.destroy = function() {\n for (var i = 0; i < self.elems.length; i++){\n self.elems[i].style.cssText = blocks[i].style;\n }\n\n // Remove resize event listener if not pause, and pause\n if (!pause) {\n window.removeEventListener('resize', init);\n pause = true;\n }\n\n // Clear the animation loop to prevent possible memory leak\n clearLoop(loopId);\n loopId = null;\n };\n\n // Init\n init();\n\n // Allow to recalculate the initial values whenever we want\n self.refresh = init;\n\n return self;\n };\n return Rellax;\n}));\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\n/**\n * Check if the DOM element `child` is within the given `parent` DOM element.\n *\n * @param {DOMElement|Range} child - the DOM element or Range to check if it's within `parent`\n * @param {DOMElement} parent - the parent node that `child` could be inside of\n * @return {Boolean} True if `child` is within `parent`. False otherwise.\n * @public\n */\n\nmodule.exports = function within (child, parent) {\n // don't throw if `child` is null\n if (!child) return false;\n\n // Range support\n if (child.commonAncestorContainer) child = child.commonAncestorContainer;\n else if (child.endContainer) child = child.endContainer;\n\n // traverse up the `parentNode` properties until `parent` is found\n var node = child;\n while (node = node.parentNode) {\n if (node == parent) return true;\n }\n\n return false;\n};\n","module.exports = jQuery;"],"sourceRoot":""}