{"version":3,"sources":["./node_modules/core-js/modules/es6.math.cbrt.js","./node_modules/core-js/modules/_function-to-string.js","./node_modules/core-js/modules/es6.string.blink.js","./node_modules/core-js/modules/_html.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js","./node_modules/core-js/modules/es6.number.is-finite.js","./node_modules/core-js/modules/es6.object.set-prototype-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/modules/_string-ws.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js","./node_modules/core-js/modules/_is-object.js","./node_modules/core-js/modules/es6.array.species.js","./node_modules/core-js/modules/es6.string.italics.js","./node_modules/zone.js/dist/zone.js","./node_modules/core-js/modules/es6.reflect.get.js","./node_modules/core-js/modules/es6.array.filter.js","./node_modules/core-js/modules/es6.string.fixed.js","./node_modules/core-js/modules/_string-context.js","./node_modules/core-js/modules/_parse-float.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js","./node_modules/core-js/modules/_enum-keys.js","./node_modules/core-js/modules/_iter-step.js","./node_modules/core-js/modules/_math-log1p.js","./node_modules/core-js/modules/es6.object.is.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js","./node_modules/core-js/modules/_a-function.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js","./node_modules/core-js/modules/es6.function.bind.js","./node_modules/core-js/modules/es6.math.atanh.js","./node_modules/core-js/modules/_redefine-all.js","./node_modules/core-js/modules/es6.reflect.apply.js","./node_modules/core-js/modules/es7.reflect.get-metadata.js","./node_modules/core-js/modules/es7.reflect.define-metadata.js","./node_modules/core-js/es6/function.js","./node_modules/core-js/modules/_collection.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/modules/_enum-bug-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/core-js/modules/es6.object.get-prototype-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","./node_modules/core-js/modules/_species-constructor.js","./node_modules/core-js/modules/es6.array.of.js","./node_modules/core-js/modules/_array-species-constructor.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js","./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/modules/es6.number.is-nan.js","./node_modules/core-js/modules/es6.array.for-each.js","./node_modules/core-js/modules/es6.string.small.js","./node_modules/core-js/modules/_bind.js","./node_modules/core-js/modules/_create-property.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js","./node_modules/core-js/modules/es6.object.assign.js","./node_modules/core-js/es6/object.js","./node_modules/core-js/modules/es6.map.js","./node_modules/core-js/modules/es6.math.imul.js","./node_modules/core-js/modules/es6.string.starts-with.js","./node_modules/core-js/modules/_an-instance.js","./node_modules/core-js/modules/es6.reflect.has.js","./node_modules/core-js/modules/es6.number.to-fixed.js","./node_modules/core-js/modules/_advance-string-index.js","./node_modules/core-js/modules/_iter-define.js","./node_modules/core-js/modules/es6.date.to-json.js","./node_modules/core-js/modules/_string-at.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js","./node_modules/core-js/modules/es6.math.fround.js","./node_modules/core-js/modules/es6.math.log1p.js","./node_modules/core-js/modules/es6.number.parse-int.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js","./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","./node_modules/core-js/modules/es6.object.to-string.js","./node_modules/core-js/modules/_flags.js","./node_modules/core-js/modules/_array-methods.js","./node_modules/core-js/es6/math.js","./node_modules/core-js/modules/es6.math.sign.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js","./node_modules/core-js/modules/es6.array.reduce.js","./node_modules/core-js/modules/_object-keys.js","./node_modules/core-js/modules/es6.object.freeze.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js","./node_modules/core-js/modules/es6.weak-map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/modules/_is-array.js","./node_modules/core-js/modules/_object-gopd.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js","./node_modules/core-js/modules/es6.string.strike.js","./node_modules/core-js/modules/_object-dps.js","./node_modules/core-js/modules/es6.string.repeat.js","./node_modules/core-js/es7/reflect.js","./node_modules/core-js/modules/es6.object.is-extensible.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js","./node_modules/core-js/modules/es6.parse-int.js","./node_modules/core-js/modules/_iter-call.js","./node_modules/core-js/modules/es6.object.define-property.js","./node_modules/core-js/modules/es6.array.from.js","./node_modules/core-js/modules/es6.reflect.construct.js","./node_modules/core-js/modules/es6.array.slice.js","./node_modules/core-js/modules/_classof.js","./node_modules/core-js/modules/es6.array.find-index.js","./node_modules/core-js/modules/_fix-re-wks.js","./node_modules/core-js/modules/es6.function.has-instance.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js","./node_modules/core-js/modules/es6.reflect.is-extensible.js","./node_modules/core-js/modules/_dom-create.js","./node_modules/core-js/modules/core.get-iterator-method.js","./node_modules/core-js/modules/es6.string.sup.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js","./node_modules/core-js/modules/es6.math.cosh.js","./node_modules/core-js/modules/es6.object.get-own-property-names.js","./node_modules/core-js/modules/_object-gops.js","./node_modules/core-js/modules/_wks.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js","./node_modules/core-js/modules/es6.regexp.split.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/modules/_redefine.js","./node_modules/core-js/modules/_object-create.js","./node_modules/core-js/modules/es6.string.includes.js","./node_modules/core-js/modules/es6.array.is-array.js","./node_modules/core-js/modules/_library.js","./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","./node_modules/core-js/modules/_math-expm1.js","./node_modules/core-js/modules/_cof.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/modules/es6.number.epsilon.js","./node_modules/core-js/es6/number.js","./node_modules/core-js/modules/_strict-method.js","./node_modules/core-js/modules/_is-array-iter.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js","./node_modules/core-js/modules/_invoke.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js","./node_modules/core-js/modules/es6.math.clz32.js","./node_modules/core-js/modules/_hide.js","../../../../../../packages/localize/src/localize/src/global.ts","../../../../../../packages/localize/src/localize/src/localize.ts","../../../../../../packages/localize/src/localize/index.ts","../../../../../../packages/localize/init/index.ts","./node_modules/core-js/modules/_metadata.js","./node_modules/core-js/modules/_wks-ext.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js","./node_modules/core-js/modules/_array-fill.js","./node_modules/core-js/modules/es6.array.join.js","./node_modules/core-js/modules/es6.regexp.flags.js","./node_modules/core-js/modules/es6.regexp.search.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js","./node_modules/core-js/modules/_string-html.js","./node_modules/core-js/modules/_object-gpo.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js","./node_modules/core-js/modules/_wks-define.js","./node_modules/core-js/modules/es7.reflect.metadata.js","./node_modules/core-js/modules/es6.regexp.constructor.js","./node_modules/core-js/modules/_parse-int.js","./node_modules/core-js/modules/_array-from-iterable.js","./node_modules/core-js/modules/_iter-create.js","./node_modules/core-js/modules/es6.object.keys.js","./node_modules/core-js/modules/_to-integer.js","./node_modules/core-js/modules/_property-desc.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js","./node_modules/core-js/modules/_to-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js","./node_modules/core-js/modules/es6.string.bold.js","./node_modules/core-js/modules/es6.array.reduce-right.js","./node_modules/core-js/modules/es6.regexp.match.js","./node_modules/core-js/modules/_for-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js","./node_modules/core-js/modules/es6.set.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js","./node_modules/core-js/modules/es6.string.trim.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js","./node_modules/core-js/modules/es6.math.asinh.js","./node_modules/core-js/modules/_fails-is-regexp.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js","./node_modules/core-js/modules/_regexp-exec.js","./node_modules/core-js/modules/_object-pie.js","./node_modules/core-js/modules/es6.array.index-of.js","./node_modules/core-js/modules/es6.object.is-sealed.js","./node_modules/core-js/es6/string.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js","./node_modules/core-js/modules/es6.number.to-precision.js","./node_modules/core-js/modules/_shared.js","./node_modules/core-js/es6/set.js","./node_modules/core-js/es6/reflect.js","./node_modules/core-js/modules/es6.array.sort.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js","./node_modules/core-js/modules/es6.string.from-code-point.js","./node_modules/core-js/modules/es6.object.define-properties.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js","./node_modules/core-js/modules/_export.js","./node_modules/core-js/modules/_iter-detect.js","./node_modules/core-js/modules/_inherit-if-required.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/modules/es6.number.parse-float.js","./node_modules/core-js/modules/es6.string.iterator.js","./node_modules/core-js/modules/_object-sap.js","./node_modules/core-js/modules/_regexp-exec-abstract.js","./node_modules/core-js/modules/es6.array.every.js","./node_modules/core-js/modules/_shared-key.js","./node_modules/core-js/modules/_iobject.js","./node_modules/core-js/modules/_meta.js","./node_modules/core-js/modules/_collection-weak.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js","./node_modules/core-js/modules/es6.object.is-frozen.js","./node_modules/core-js/modules/es6.string.sub.js","./node_modules/core-js/modules/es6.regexp.to-string.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/modules/_to-iobject.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/modules/_has.js","./node_modules/core-js/modules/_to-primitive.js","./node_modules/core-js/modules/es6.math.sinh.js","./node_modules/core-js/modules/es6.string.fontcolor.js","./node_modules/core-js/modules/es6.array.fill.js","./node_modules/core-js/modules/es6.array.map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/modules/_object-assign.js","./node_modules/core-js/modules/_to-absolute-index.js","./node_modules/core-js/modules/es6.array.copy-within.js","./node_modules/core-js/es6/array.js","./node_modules/core-js/modules/es6.array.find.js","./node_modules/core-js/modules/es6.array.some.js","./node_modules/core-js/modules/_global.js","./node_modules/core-js/modules/_object-gopn-ext.js","./node_modules/core-js/modules/es6.math.log10.js","./node_modules/core-js/modules/es6.string.raw.js","./node_modules/core-js/modules/es6.date.now.js","./node_modules/core-js/modules/_fails.js","./node_modules/core-js/modules/_set-species.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js","./node_modules/core-js/modules/_array-reduce.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/modules/es6.reflect.enumerate.js","./node_modules/core-js/modules/es6.function.name.js","./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","./node_modules/core-js/modules/es6.number.is-integer.js","./node_modules/core-js/modules/_set-to-string-tag.js","./node_modules/core-js/modules/es6.math.acosh.js","./node_modules/core-js/modules/_core.js","./node_modules/core-js/modules/_date-to-primitive.js","./node_modules/core-js/modules/_same-value.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/modules/es6.number.max-safe-integer.js","./node_modules/core-js/modules/es6.date.to-string.js","./node_modules/core-js/modules/es6.string.anchor.js","./node_modules/core-js/modules/es6.object.create.js","./node_modules/core-js/modules/es6.math.trunc.js","./src/polyfills.ts","./node_modules/core-js/modules/_iterators.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/modules/_object-dp.js","./node_modules/core-js/modules/_set-proto.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/modules/es6.reflect.define-property.js","./node_modules/core-js/modules/es7.reflect.has-metadata.js","./node_modules/core-js/es6/parse-float.js","./node_modules/core-js/modules/es6.symbol.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js","./node_modules/core-js/modules/es6.date.to-iso-string.js","./node_modules/core-js/modules/_date-to-iso-string.js","./node_modules/core-js/modules/_object-gopn.js","./node_modules/core-js/modules/_math-fround.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js","./node_modules/core-js/modules/es6.reflect.set.js","./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","./node_modules/core-js/modules/es6.number.min-safe-integer.js","./node_modules/core-js/modules/_string-repeat.js","./node_modules/core-js/modules/_math-sign.js","./node_modules/core-js/modules/_ctx.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es6.array.last-index-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js","./node_modules/core-js/modules/_own-keys.js","./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","./node_modules/core-js/modules/es6.object.prevent-extensions.js","./node_modules/core-js/modules/_is-integer.js","./node_modules/core-js/modules/_add-to-unscopables.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js","./node_modules/core-js/modules/es6.string.big.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js","./node_modules/core-js/modules/_to-length.js","./node_modules/core-js/modules/_descriptors.js","./node_modules/core-js/modules/es6.string.fontsize.js","./node_modules/core-js/es6/date.js","./node_modules/core-js/modules/es6.math.expm1.js","./node_modules/core-js/modules/es6.string.code-point-at.js","./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js","./node_modules/core-js/es6/parse-int.js","./node_modules/core-js/modules/es6.regexp.replace.js","./node_modules/core-js/modules/es6.math.log2.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js","./node_modules/core-js/es6/map.js","./node_modules/core-js/modules/_string-trim.js","./node_modules/core-js/modules/_is-regexp.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js","./node_modules/core-js/modules/web.dom.iterable.js","./node_modules/@angular-devkit/build-angular/src/webpack/jit-polyfills.js","./node_modules/core-js/es6/regexp.js","./node_modules/core-js/modules/es6.string.ends-with.js","./node_modules/core-js/modules/_validate-collection.js","./node_modules/core-js/modules/es6.regexp.exec.js","./node_modules/core-js/modules/es6.number.is-safe-integer.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/modules/es6.string.link.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js","./node_modules/core-js/modules/es6.parse-float.js","./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/modules/es6.reflect.delete-property.js","./node_modules/core-js/modules/_array-copy-within.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/modules/_defined.js","./node_modules/core-js/es6/symbol.js","./node_modules/core-js/modules/_a-number-value.js","./node_modules/core-js/modules/_array-includes.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js","./node_modules/core-js/modules/_collection-strong.js","./node_modules/core-js/modules/es6.math.tanh.js","./node_modules/core-js/modules/es6.math.hypot.js","./node_modules/core-js/modules/es6.number.constructor.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js","./node_modules/core-js/modules/es6.reflect.own-keys.js","./node_modules/core-js/modules/_ie8-dom-define.js","./node_modules/core-js/modules/_an-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js","./node_modules/hammerjs/hammer.js","./node_modules/core-js/modules/es6.date.to-primitive.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js","./node_modules/core-js/modules/_uid.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js","./node_modules/core-js/modules/es6.array.iterator.js","./node_modules/core-js/modules/es6.object.seal.js","./node_modules/core-js/modules/_array-species-create.js","./node_modules/core-js/modules/_object-keys-internal.js","./node_modules/core-js/modules/es7.reflect.delete-metadata.js"],"names":["global","factory","Zone$1","performance","mark","name","performanceMeasure","label","checkDuplicate","__symbol__","Error","Zone","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","Object","defineProperty","get","zone","current","enumerable","configurable","_currentZoneFrame","_currentTask","__load_patch","fn","hasOwnProperty","perfName","_api","prototype","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","setNativePromise","NativePromise","window","__values","o","m","Symbol","iterator","done","api","ObjectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","ObjectDefineProperty","readableObjectToString","obj","className","constructor","JSON","stringify","_uncaughtPromiseErrors","creationTrace","e","rejection","console","message","stack","_loop_1","uncaughtPromiseError","shift","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","currentTask","writable","scheduleResolveOrReject","error_1","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","executor","race","values","e_1","_a","res","rej","onResolve","onReject","values_1","values_1_1","e_1_1","return","all","e_2","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","values_2","values_2_1","e_2_1","catch","finally","onFinally","ZONE_AWARE_PROMISE","desc","set","NewNativePromise","symbolThenPatched","Ctor","proto","prop","originalThen","_this","wrapped","Promise","fetch","fetchTaskScheduling","fetchTaskAborting","OriginalAbortController","supportAbort","abortNative","abortController","signal","placeholder","Array","slice","fetchPromise","ctor","resource","aborted","abort","ObjectGetPrototypeOf","getPrototypeOf","ObjectCreate","create","ArraySlice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","wrapWithCurrentZone","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","patchPrototype","fnNames","name_1","prototypeDesc","isPropertyWritable","patched","attachOriginToPatched","propertyDesc","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames","wrapFn","event","eventNameSymbol","listener","result","errorEvent","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","patchClass","OriginalClass","a","instance","copySymbolProperties","src","dest","getOwnPropertySymbols","symbols","forEach","shouldCopySymbolProperties","patchFn","delegateName","patchDelegate_1","patchMacroTask","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","isIEOrEdge","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","eventNameToString","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","checkIsPassive","capture","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","blackListedEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","isHandleEvent","falseEventName","trueEventName","symbolCapture","constructorName","targetSource","unshift","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","patchEventPrototype","Event","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","timer","clearTask","delay","handle","ref","unref","bind","id","_defineProperty","_getOwnPropertyDescriptor","_create","unconfigurablesKey","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","defineProperties","props","isFrozen","_redefineProperty","descJson","log","WS","WebSocket","EventTarget","x","y","socket","proxySocket","proxySocketProto","onmessageDesc","propName","propertySymbol","globalWebSocket","globalEventHandlersEventNames","documentEventNames","windowEventNames","htmlElementEventNames","mediaElementEventNames","ieElementEventNames","webglEventNames","formEventNames","detailEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","concat","filterProperties","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","propertyDescriptorPatch","supportsWebSocket","canPatchViaPropertyDescriptor","ignoreErrorProperties","Document","Element","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget_1","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","patchViaCapturingAllTheEvents","ON_READY_STATE_CHANGE","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","unboundKey","property","onproperty","elt","bound","parentElement","eventTargetPatch","WTF_ISSUE_555","NO_EVENT_TARGET","split","EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","map","isDisableIECheck","isEnableCrossContextCheck","FUNCTION_WRAPPER","BROWSER_TOOLS","targets","checkIEAndCrossContext","nativeDelegate","testString","apiTypes","patchEvent","patchCallbacks","targetName","method","callbacks","opts","descriptor","registerElementPatch","document","patchCustomElements","customElements","clear","blockingMethods","s","SYMBOL_BLACK_LISTED_EVENTS","XMLHttpRequestEventTarget","HTMLCanvasElement","toBlob","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","sendNative","placeholderCallback","openNative","XMLHTTPREQUEST_SOURCE","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt","reason","exportName","VENDOR_PREFIXES","TEST_ELEMENT","createElement","TYPE_FUNCTION","round","Math","abs","now","Date","setTimeoutContext","timeout","context","setTimeout","bindFn","invokeArrayArg","arg","isArray","each","deprecate","deprecationMessage","replace","warn","assign","output","index","nextKey","extend","merge","inherit","child","base","baseP","childP","_super","boundFn","boolOrFn","val","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","node","parentNode","inStr","str","find","trim","inArray","findByKey","toArray","uniqueArray","sort","sortUniqueArray","b","prefixed","prefix","camelProp","toUpperCase","_uniqueId","uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","parentWindow","MOBILE_REGEX","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","test","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","COMPUTE_INTERVAL","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","enable","init","evEl","evTarget","evWin","destroy","createInputInstance","Type","inputClass","PointerEventInput","TouchInput","MouseInput","TouchMouseInput","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","computeInputData","emit","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","srcEvent","offset","offsetDelta","prevDelta","last","lastInterval","velocity","velocityX","velocityY","direction","clientX","clientY","p1","p2","sqrt","atan2","PI","start","end","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","pressed","MEhandler","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","MSPointerEvent","PointerEvent","store","pointerEvents","PEhandler","removePointer","eventTypeNormalized","toLowerCase","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","started","TEhandler","touches","normalizeSingleTouches","changed","changedTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","targetIds","MTEhandler","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","touch","DEDUP_TIMEOUT","DEDUP_DISTANCE","mouse","primaryTouch","lastTouches","TMEhandler","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","recordTouches","isSyntheticEvent","eventData","setLastTouch","lastTouch","lts","removeLastTouch","t","dx","dy","PREFIXED_TOUCH_ACTION","style","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","getTouchActionProps","TouchAction","compute","actions","update","touchAction","recognizers","recognizer","getTouchAction","cleanTouchActions","join","preventDefaults","prevented","hasNone","hasPanY","hasPanX","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","touchMap","cssSupports","CSS","supports","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","Recognizer","defaults","simultaneous","requireFail","recognizeWith","otherRecognizer","getRecognizerByNameIfManager","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","stateStr","additionalEvent","tryEmit","canEmit","inputDataClone","reset","directionStr","AttrRecognizer","attrTest","optionPointers","isRecognized","isValid","PanRecognizer","pX","pY","threshold","directionTest","hasMoved","PinchRecognizer","inOut","PressRecognizer","_timer","_input","time","validPointers","validMovement","validTime","clearTimeout","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","Hammer","preset","Manager","VERSION","domEvents","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","handlers","oldCssProps","toggleCssProps","item","stop","force","stopped","curRecognizer","existing","remove","on","events","off","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","define"],"mappings":"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AAO,CAAC,oDAAwC;AAChD,mBAAO,CAAC,6CAAiC;;AAEzC,iBAAiB,mBAAO,CAAC,8BAAkB;;;;;;;;;;;;;ACnB9B;AACb,aAAa,mBAAO,CAAC,kCAAsB;AAC3C,eAAe,mBAAO,CAAC,oCAAwB;AAC/C;;AAEA;AACA,iBAAiB,mBAAO,CAAC,2BAAe;AACxC,yBAAyB,mEAAmE;AAC5F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AClBD;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC;;AAEA;AACA,gCAAgC,mBAAO,CAAC,sBAAU;AAClD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AChBD;AACa;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,0BAAc;AACrC,cAAc,mBAAO,CAAC,+BAAmB;AACzC;AACA;;AAEA,gCAAgC,mBAAO,CAAC,gCAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACjBD;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACPY;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,mBAAmB,mBAAO,CAAC,+BAAmB;AAC9C,aAAa,mBAAO,CAAC,8BAAkB;AACvC;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,sBAAU;AACxB;AACA,kBAAkB;AAClB,CAAC;AACD;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACjHY;AACb,SAAS,mBAAO,CAAC,0BAAc;;AAE/B;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACPa;AACb,cAAc,mBAAO,CAAC,wBAAY;AAClC,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,yBAAa;AACpC,WAAW,mBAAO,CAAC,qBAAS;AAC5B,gBAAgB,mBAAO,CAAC,0BAAc;AACtC,kBAAkB,mBAAO,CAAC,4BAAgB;AAC1C,qBAAqB,mBAAO,CAAC,kCAAsB;AACnD,qBAAqB,mBAAO,CAAC,2BAAe;AAC5C,eAAe,mBAAO,CAAC,oBAAQ;AAC/B,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;;ACpEa;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,0BAAc;AACrC,kBAAkB,mBAAO,CAAC,6BAAiB;;AAE3C,gCAAgC,mBAAO,CAAC,sBAAU;AAClD;AACA,mCAAmC,2BAA2B,UAAU,EAAE,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8B;AACjE,WAAW,mBAAO,CAAC,8BAAkB;AACrC,0BAA0B,mBAAO,CAAC,yCAA6B;;AAE/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;;;;;;;;;;;;ACxHa;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,cAAc,mBAAO,CAAC,6BAAiB;;AAEvC,iCAAiC,mBAAO,CAAC,8BAAkB;AAC3D;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACTD;AACA,YAAY,mBAAO,CAAC,qCAAyB;AAC7C,kBAAkB,mBAAO,CAAC,8BAAkB;;AAE5C;AACA;AACA;;;;;;;;;;;;ACNA;AACA,eAAe,mBAAO,CAAC,0BAAc;AACrC,WAAW,mBAAO,CAAC,qBAAS;;AAE5B,mBAAO,CAAC,2BAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACRD,aAAa,mBAAO,CAAC,iCAAqB;;AAE1C;;;;;;;;;;;;ACFA,sBAAsB,mBAAO,CAAC,4CAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS,EAAE;AACzD,CAAC,gB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D,iBAAiB,mBAAO,CAAC,4BAAgB;AACzC,YAAY,mBAAO,CAAC,sBAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,yBAAyB,EAAE;;AAEhE;AACA,mBAAO,CAAC,2BAAe;AACvB;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,mFAAmF;AACnF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;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;;;;;;;;;;;;ACrID,QAAQ,mBAAO,CAAC,iCAAqB;AACrC;AACA,UAAU,mBAAO,CAAC,+BAAmB;AACrC,4BAA4B,mBAAO,CAAC,2CAA+B;AACnE,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,qBAAqB,mBAAO,CAAC,kDAAsC;AACnE,cAAc,mBAAO,CAAC,kCAAsB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,gCAAgC;AACnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AChCD,yBAAyB,mBAAO,CAAC,+CAAmC;AACpE,kBAAkB,mBAAO,CAAC,wCAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA,aAAa,mBA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A;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpDa;AACb,kBAAkB,mBAAO,CAAC,6BAAiB;AAC3C,cAAc,mBAAO,CAAC,qBAAS;AAC/B,eAAe,mBAAO,CAAC,0BAAc;AACrC,eAAe,mBAAO,CAAC,0BAAc;AACrC,iBAAiB,mBAAO,CAAC,4BAAgB;AACzC,YAAY,mBAAO,CAAC,uBAAW;AAC/B,wBAAwB,mBAAO,CAAC,8BAAkB;AAClD,WAAW,mBAAO,CAAC,oBAAQ;AAC3B,eAAe,mBAAO,CAAC,oCAAwB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;ACpFa;AACb,wBAAwB,mBAAO,CAAC,yCAA6B;AAC7D,aAAa,mBAAO,CAAC,wCAA4B;AACjD,+BAA+B,mBAAO,CAAC,qDAAyC;AAChF,qBAAqB,mBAAO,CAAC,4CAAgC;AAC7D,gBAAgB,mBAAO,CAAC,oCAAwB;;AAEhD,8BAA8B,aAAa;;AAE3C;AACA;AACA,6DAA6D,0CAA0C;AACvG;AACA;AACA;AACA;;;;;;;;;;;;ACfA,yBAAyB,mBAAO,CAAC,+CAAmC;AACpE,kBAAkB,mBAAO,CAAC,wCAA4B;;AAEtD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA,eAAe,mBAAO,CAAC,0BAAc;;AAErC,mBAAO,CAAC,2BAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACPY;AACb;AACA,mBAAO,CAAC,4BAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb,mBAAO,CAAC,gCAAoB;AAC5B,eAAe,mBAAO,CAAC,0BAAc;AACrC,aAAa,mBAAO,CAAC,sBAAU;AAC/B,kBAAkB,mBAAO,CAAC,4BAAgB;AAC1C;AACA;;AAEA;AACA,EAAE,mBAAO,CAAC,yBAAa;AACvB;;AAEA;AACA,IAAI,mBAAO,CAAC,sBAAU,eAAe,wBAAwB,0BAA0B,YAAY,EAAE;AACrG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA;AACA,cAAc,mBAAO,CAAC,wBAAY;AAClC,cAAc,mBAAO,CAAC,wBAAY;AAClC;AACA;AACA;;;;;;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,sCAA0B;AACpD,2BAA2B,mBAAO,CAAC,iDAAqC;AACxE,+BAA+B,mBAAO,CAAC,qDAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;;;;ACTA,uBAAuB;AACvB;AACA;AACA;;;;;;;;;;;;ACHA;AACA,eAAe,mBAAO,CAAC,0BAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACXA;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,YAAY,mBAAO,CAAC,2BAAe;AACnC;;AAEA;AACA,gCAAgC,mBAAO,CAAC,sBAAU;AAClD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACdY;AACb;AACA,mBAAO,CAAC,4BAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACND;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC,6BAA6B,OAAO,mBAAO,CAAC,2BAAe,GAAG;;AAE9D,mBAAO,CAAC,mCAAuB;;;;;;;;;;;;;ACLlB;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,WAAW,mBAAO,CAAC,8BAAkB;;AAErC,iCAAiC,mBAAO,CAAC,8BAAkB;AAC3D;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACTD;;;;;;;;;;;;ACAA,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;ACJD,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,kBAAkB,mBAAO,CAAC,4BAAgB;AAC1C,cAAc,mBAAO,CAAC,4BAAgB;AACtC,WAAW,mBAAO,CAAC,4BAAgB;AACnC,UAAU,mBAAO,CAAC,2BAAe;AACjC,eAAe,mBAAO,CAAC,0BAAc;AACrC,cAAc,mBAAO,CAAC,wBAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,sBAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;ACrCD,gBAAgB,mBAAO,CAAC,2BAAe;AACvC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC,6BAA6B,aAAa,mBAAO,CAAC,kCAAsB,GAAG;;AAE3E,mBAAO,CAAC,mCAAuB;;;;;;;;;;;;ACL/B,mBAAO,CAAC,4CAAgC;AACxC,mBAAO,CAAC,2CAA+B;AACvC,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,qCAAyB;AACjC,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,wCAA4B;AACpC,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,2CAA+B;AACvC,mBAAO,CAAC,sCAA0B;AAClC,mBAAO,CAAC,yCAA6B;AACrC,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,wCAA4B;AACpC,mBAAO,CAAC,yCAA6B;AACrC,mBAAO,CAAC,+CAAmC;AAC3C,mBAAO,CAAC,2CAA+B;AACvC,mBAAO,CAAC,gDAAoC;AAC5C,mBAAO,CAAC,8CAAkC;AAC1C,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,6CAAiC;AACzC,mBAAO,CAAC,0CAA8B;AACtC,mBAAO,CAAC,2CAA+B;AACvC,iBAAiB,mBAAO,CAAC,8BAAkB;;;;;;;;;;;;;ACtB9B;AACb;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,YAAY,mBAAO,CAAC,8BAAkB;AACtC;AACA;AACA;AACA,0CAA0C,gBAAgB,EAAE;AAC5D;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAO,CAAC,mCAAuB;;;;;;;;;;;;;ACblB;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,YAAY,mBAAO,CAAC,8BAAkB;;AAEtC,iCAAiC,mBAAO,CAAC,8BAAkB;AAC3D;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;;;;ACLzC;AACA,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,WAAW,mBAAO,CAAC,4BAAgB;AACnC,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AClBA;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACPD,cAAc,mBAAO,CAAC,uBAAW;AACjC,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,eAAe,mBAAO,CAAC,0BAAc;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;ACjBD;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC,4BAA4B,mBAAmB,6BAA6B,EAAE,EAAE;;;;;;;;;;;;ACHhF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACNa;AACb,aAAa,mBAAO,CAAC,uBAAW;AAChC,SAAS,mBAAO,CAAC,2BAAc;AAC/B,kBAAkB,mBAAO,CAAC,4BAAgB;AAC1C,cAAc,mBAAO,CAAC,oBAAQ;;AAE9B;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;;;;;;ACZA,cAAc,mBAAO,CAAC,sCAA0B;;AAEhD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,eAAe,mBAAO,CAAC,0BAAc;AACrC,cAAc,mBAAO,CAAC,wBAAY;AAClC,eAAe,mBAAO,CAAC,0BAAc;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,sCAAsC;AAC9C;AACA;AACA;AACA;;;;;;;;;;;;AC3BA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJa;AACb;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,0BAAc;AACrC;AACA,+BAA+B;AAC/B,cAAc;AACd,0BAA0B;AAC1B;AACA;AACA;AACA,mBAAO,CAAC,4BAAgB;AACxB;AACA;AACA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACzBD,SAAS,mBAAO,CAAC,2BAAc;AAC/B;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,4BAAgB;AAC1C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACfD,eAAe,mBAAO,CAAC,yBAAa;AACpC,eAAe,mBAAO,CAAC,0BAAc;AACrC;AACA;;AAEA,cAAc;AACd;AACA,CAAC,EAAE;;;;;;;;;;;;ACPH;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC,8BAA8B,YAAY,mBAAO,CAAC,2BAAe,GAAG;;;;;;;;;;;;ACHpE,UAAU,mBAAO,CAAC,2BAAc;AAChC,UAAU,mBAAO,CAAC,oBAAQ;AAC1B,UAAU,mBAAO,CAAC,oBAAQ;;AAE1B;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;;;;;ACNA;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,YAAY,mBAAO,CAAC,2BAAe;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACjBD,6BAA6B;AAC7B,uCAAuC;;;;;;;;;;;;;ACD1B;AACb,eAAe,mBAAO,CAAC,0BAAc;AACrC,kBAAkB,mBAAO,CAAC,6BAAiB;AAC3C;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,4BAA4B,mBAAO,CAAC,2CAA+B;AACnE,eAAe,mBAAO,CAAC,oCAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,GAAG,gCAAgC;AACnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACdD;;;;;;;;;;;;;ACAa;AACb,mCAAmC;AACnC;;AAEA;AACA,gFAAgF,OAAO;;AAEvF;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACZD;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC,8BAA8B,qCAAqC;;;;;;;;;;;;ACHnE;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,yBAAa;AACvB;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACXa;AACb;AACA,mBAAO,CAAC,4BAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACND,cAAc,mBAAO,CAAC,uBAAW;AACjC;AACA,8BAA8B,SAAS,mBAAO,CAAC,8BAAkB,GAAG;;;;;;;;;;;;ACFpE;AACA,cAAc,mBAAO,CAAC,uBAAW;;AAEjC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;GAEG;AAC6B;AAChC,+EAA+E;AAC/E,qDAAqD;AACzB;AACA;AACE;AACC;AACE;AACL;AACF;AACE;AACF;AACC;AACC;AACH;AACA;AACI;AAEA;AACF;AACT;AAElB,2EAA2E;AAC3E,0CAA0C;AAC1C,6EAA6E;AAE7E,kBAAkB;AAClB,yBAAyB;AAEzB,aAAa;AACb,+DAA+D;AAC/D,8BAA8B;AAE9B,4CAA4C;AAC5C,gEAAgE;AAChE,iBAAiB;AAEjB,0BAA0B;AAC1B,yBAAyB;AACzB,yBAAyB;;;;;;;;;;;;AC1CzB;;;;;;;;;;;;;ACAa;AACb,aAAa,mBAAO,CAAC,iCAAqB;AAC1C,kBAAkB,mBAAO,CAAC,uCAA2B;AACrD,6BAA6B,mBAAO,CAAC,4CAAgC;AACrE,iBAAiB,mBAAO,CAAC,qCAAyB;AAClD,qBAAqB,mBAAO,CAAC,0CAA8B;AAC3D,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,0BAA0B,mBAAO,CAAC,yCAA6B;AAC/D,sBAAsB,mBAAO,CAAC,0CAA8B;;AAE5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACLA,eAAe,mBAAO,CAAC,0BAAc;AACrC,qBAAqB,mBAAO,CAAC,+BAAmB;AAChD,kBAAkB,mBAAO,CAAC,6BAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,4BAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AACA;AACA,eAAe,mBAAO,CAAC,0BAAc;AACrC,eAAe,mBAAO,CAAC,0BAAc;AACrC;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,cAAc,mBAAO,CAAC,oBAAQ,iBAAiB,mBAAO,CAAC,4BAAgB;AACvE;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;;;;;;ACxBA,oBAAoB,mBAAO,CAAC,wCAA4B;;AAExD;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA,SAAS,mBAAO,CAAC,2BAAc;AAC/B,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,0BAAc;AACrC,kBAAkB,mBAAO,CAAC,6BAAiB;;AAE3C;AACA,gCAAgC,mBAAO,CAAC,sBAAU;AAClD;AACA,gCAAgC,MAAM,WAAW,OAAO,WAAW;AACnE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtBD,eAAe,mBAAO,CAAC,yBAAa;AACpC,eAAe,mBAAO,CAAC,0BAAc;AACrC,qBAAqB,mBAAO,CAAC,2BAAe;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,CAAC,EAAE;;;;;;;;;;;;ACfH,mBAAO,CAAC,wCAA4B;AACpC,iBAAiB,mBAAO,CAAC,8BAAkB;;;;;;;;;;;;;ACD9B;AACb;AACA,aAAa,mBAAO,CAAC,uBAAW;AAChC,UAAU,mBAAO,CAAC,oBAAQ;AAC1B,kBAAkB,mBAAO,CAAC,4BAAgB;AAC1C,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,yBAAa;AACpC,WAAW,mBAAO,CAAC,qBAAS;AAC5B,aAAa,mBAAO,CAAC,sBAAU;AAC/B,aAAa,mBAAO,CAAC,uBAAW;AAChC,qBAAqB,mBAAO,CAAC,kCAAsB;AACnD,UAAU,mBAAO,CAAC,oBAAQ;AAC1B,UAAU,mBAAO,CAAC,oBAAQ;AAC1B,aAAa,mBAAO,CAAC,wBAAY;AACjC,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,eAAe,mBAAO,CAAC,0BAAc;AACrC,cAAc,mBAAO,CAAC,yBAAa;AACnC,eAAe,mBAAO,CAAC,0BAAc;AACrC,eAAe,mBAAO,CAAC,0BAAc;AACrC,eAAe,mBAAO,CAAC,0BAAc;AACrC,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,kBAAkB,mBAAO,CAAC,6BAAiB;AAC3C,iBAAiB,mBAAO,CAAC,8BAAkB;AAC3C,cAAc,mBAAO,CAAC,8BAAkB;AACxC,cAAc,mBAAO,CAAC,gCAAoB;AAC1C,YAAY,mBAAO,CAAC,4BAAgB;AACpC,YAAY,mBAAO,CAAC,4BAAgB;AACpC,UAAU,mBAAO,CAAC,2BAAc;AAChC,YAAY,mBAAO,CAAC,4BAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,4BAAgB;AAC1B,EAAE,mBAAO,CAAC,2BAAe;AACzB;;AAEA,sBAAsB,mBAAO,CAAC,wBAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,8CAA8C,YAAY,EAAE;;AAE5D;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,oCAAoC,mBAAO,CAAC,qBAAS;AACrD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrPA,eAAe,mBAAO,CAAC,oCAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,kBAAkB,mBAAO,CAAC,mCAAuB;;AAEjD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACPY;AACb;AACA,YAAY,mBAAO,CAAC,sBAAU;AAC9B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACzBD;AACA,YAAY,mBAAO,CAAC,qCAAyB;AAC7C,iBAAiB,mBAAO,CAAC,8BAAkB;;AAE3C;AACA;AACA;;;;;;;;;;;;ACNA;AACA,WAAW,mBAAO,CAA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;;ACzLa;AACb;AACA,mBAAO,CAAC,4BAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACND,mBAAO,CAAC,uDAA2C;AACnD,mBAAO,CAAC,uDAA2C;AACnD,mBAAO,CAAC,oDAAwC;AAChD,mBAAO,CAAC,yDAA6C;AACrD,mBAAO,CAAC,wDAA4C;AACpD,mBAAO,CAAC,6DAAiD;AACzD,mBAAO,CAAC,oDAAwC;AAChD,mBAAO,CAAC,wDAA4C;AACpD,mBAAO,CAAC,gDAAoC;;;;;;;;;;;;ACR5C;AACA,gBAAgB,mBAAO,CAAC,2BAAe;AACvC;AACA;AACA,2DAA2D;AAC3D;;;;;;;;;;;;ACLA;AACA,kBAAkB,mBAAO,CAAC,sBAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;;;;;;ACHY;AACb;AACA,mBAAO,CAAC,4BAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACND,mBAAO,CAAC,qCAAyB;AACjC,mBAAO,CAAC,yCAA6B;AACrC,mBAAO,CAAC,+CAAmC;AAC3C,mBAAO,CAAC,2CAA+B;AACvC,mBAAO,CAAC,8CAAkC;AAC1C;;;;;;;;;;;;ACLA;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,aAAa,mBAAO,CAAC,2BAAe;;AAEpC,iEAAiE,gBAAgB;;;;;;;;;;;;;ACJpE;AACb,cAAc,mBAAO,CAAC,uBAAW;AACjC,UAAU,mBAAO,CAAC,0BAAc;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACRD;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,eAAe,mBAAO,CAAC,0BAAc;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA,mBAAO,CAAC,sCAA0B;AAClC,iBAAiB,mBAAO,CAAC,8BAAkB;;;;;;;;;;;;;ACD9B;;AAEb,eAAe,mBAAO,CAAC,0BAAc;AACrC,eAAe,mBAAO,CAAC,0BAAc;AACrC,eAAe,mBAAO,CAAC,0BAAc;AACrC,gBAAgB,mBAAO,CAAC,2BAAe;AACvC,yBAAyB,mBAAO,CAAC,qCAAyB;AAC1D,iBAAiB,mBAAO,CAAC,qCAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,2BAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;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;AAC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BAAO,CAAC,oCAAwB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;AC/IA;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC,YAAY,mBAAO,CAAC,2BAAe;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXD;AACA,cAAc,mBAAO,CAAC,uBAAW;AACjC;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACxBY;AACb,aAAa,mBAAO,CAAC,uBAAW;AAChC,UAAU,mBAAO,CAAC,oBAAQ;AAC1B,UAAU,mBA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","file":"polyfills.js","sourcesContent":["// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n  cbrt: function cbrt(x) {\n    return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n  }\n});\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n  return function blink() {\n    return createHTML(this, 'blink', '', '');\n  };\n});\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\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","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n  isFinite: function isFinite(it) {\n    return typeof it == 'number' && _isFinite(it);\n  }\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\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","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n  if (hasOwn) return true;\n  var parent = getPrototypeOf(O);\n  return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\n// `Reflect.hasMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n    return ordinaryHasMetadata(metadataKey, anObject(target), targetKey);\n  }\n});\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","require('./_set-species')('Array');\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n  return function italics() {\n    return createHTML(this, 'i', '', '');\n  };\n});\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n    var performance = global['performance'];\n    function mark(name) {\n        performance && performance['mark'] && performance['mark'](name);\n    }\n    function performanceMeasure(name, label) {\n        performance && performance['measure'] && performance['measure'](name, label);\n    }\n    mark('Zone');\n    var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n    if (global['Zone']) {\n        // if global['Zone'] already exists (maybe zone.js was already loaded or\n        // some other lib also registered a global object named Zone), we may need\n        // to throw an error, but sometimes user may not want this error.\n        // For example,\n        // we have two web pages, page1 includes zone.js, page2 doesn't.\n        // and the 1st time user load page1 and page2, everything work fine,\n        // but when user load page2 again, error occurs because global['Zone'] already exists.\n        // so we add a flag to let user choose whether to throw this error or not.\n        // By default, if existing Zone is from zone.js, we will not throw the error.\n        if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n            throw new Error('Zone already loaded.');\n        }\n        else {\n            return global['Zone'];\n        }\n    }\n    var Zone = /** @class */ (function () {\n        function Zone(parent, zoneSpec) {\n            this._parent = parent;\n            this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '<root>';\n            this._properties = zoneSpec && zoneSpec.properties || {};\n            this._zoneDelegate =\n                new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n        }\n        Zone.assertZonePatched = function () {\n            if (global['Promise'] !== patches['ZoneAwarePromise']) {\n                throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n                    'has been overwritten.\\n' +\n                    'Most likely cause is that a Promise polyfill has been loaded ' +\n                    'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n                    'If you must load one, do so before loading zone.js.)');\n            }\n        };\n        Object.defineProperty(Zone, \"root\", {\n            get: function () {\n                var zone = Zone.current;\n                while (zone.parent) {\n                    zone = zone.parent;\n                }\n                return zone;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        Object.defineProperty(Zone, \"current\", {\n            get: function () {\n                return _currentZoneFrame.zone;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        Object.defineProperty(Zone, \"currentTask\", {\n            get: function () {\n                return _currentTask;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        Zone.__load_patch = function (name, fn) {\n            if (patches.hasOwnProperty(name)) {\n                if (checkDuplicate) {\n                    throw Error('Already loaded patch: ' + name);\n                }\n            }\n            else if (!global['__Zone_disable_' + name]) {\n                var perfName = 'Zone:' + name;\n                mark(perfName);\n                patches[name] = fn(global, Zone, _api);\n                performanceMeasure(perfName, perfName);\n            }\n        };\n        Object.defineProperty(Zone.prototype, \"parent\", {\n            get: function () {\n                return this._parent;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        Object.defineProperty(Zone.prototype, \"name\", {\n            get: function () {\n                return this._name;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        Zone.prototype.get = function (key) {\n            var zone = this.getZoneWith(key);\n            if (zone)\n                return zone._properties[key];\n        };\n        Zone.prototype.getZoneWith = function (key) {\n            var current = this;\n            while (current) {\n                if (current._properties.hasOwnProperty(key)) {\n                    return current;\n                }\n                current = current._parent;\n            }\n            return null;\n        };\n        Zone.prototype.fork = function (zoneSpec) {\n            if (!zoneSpec)\n                throw new Error('ZoneSpec required!');\n            return this._zoneDelegate.fork(this, zoneSpec);\n        };\n        Zone.prototype.wrap = function (callback, source) {\n            if (typeof callback !== 'function') {\n                throw new Error('Expecting function got: ' + callback);\n            }\n            var _callback = this._zoneDelegate.intercept(this, callback, source);\n            var zone = this;\n            return function () {\n                return zone.runGuarded(_callback, this, arguments, source);\n            };\n        };\n        Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n            _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n            try {\n                return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n            }\n            finally {\n                _currentZoneFrame = _currentZoneFrame.parent;\n            }\n        };\n        Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n            if (applyThis === void 0) { applyThis = null; }\n            _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n            try {\n                try {\n                    return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n                }\n                catch (error) {\n                    if (this._zoneDelegate.handleError(this, error)) {\n                        throw error;\n                    }\n                }\n            }\n            finally {\n                _currentZoneFrame = _currentZoneFrame.parent;\n            }\n        };\n        Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n            if (task.zone != this) {\n                throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n                    (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n            }\n            // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n            // will run in notScheduled(canceled) state, we should not try to\n            // run such kind of task but just return\n            if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n                return;\n            }\n            var reEntryGuard = task.state != running;\n            reEntryGuard && task._transitionTo(running, scheduled);\n            task.runCount++;\n            var previousTask = _currentTask;\n            _currentTask = task;\n            _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n            try {\n                if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n                    task.cancelFn = undefined;\n                }\n                try {\n                    return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n                }\n                catch (error) {\n                    if (this._zoneDelegate.handleError(this, error)) {\n                        throw error;\n                    }\n                }\n            }\n            finally {\n                // if the task's state is notScheduled or unknown, then it has already been cancelled\n                // we should not reset the state to scheduled\n                if (task.state !== notScheduled && task.state !== unknown) {\n                    if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n                        reEntryGuard && task._transitionTo(scheduled, running);\n                    }\n                    else {\n                        task.runCount = 0;\n                        this._updateTaskCount(task, -1);\n                        reEntryGuard &&\n                            task._transitionTo(notScheduled, running, notScheduled);\n                    }\n                }\n                _currentZoneFrame = _currentZoneFrame.parent;\n                _currentTask = previousTask;\n            }\n        };\n        Zone.prototype.scheduleTask = function (task) {\n            if (task.zone && task.zone !== this) {\n                // check if the task was rescheduled, the newZone\n                // should not be the children of the original zone\n                var newZone = this;\n                while (newZone) {\n                    if (newZone === task.zone) {\n                        throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n                    }\n                    newZone = newZone.parent;\n                }\n            }\n            task._transitionTo(scheduling, notScheduled);\n            var zoneDelegates = [];\n            task._zoneDelegates = zoneDelegates;\n            task._zone = this;\n            try {\n                task = this._zoneDelegate.scheduleTask(this, task);\n            }\n            catch (err) {\n                // should set task's state to unknown when scheduleTask throw error\n                // because the err may from reschedule, so the fromState maybe notScheduled\n                task._transitionTo(unknown, scheduling, notScheduled);\n                // TODO: @JiaLiPassion, should we check the result from handleError?\n                this._zoneDelegate.handleError(this, err);\n                throw err;\n            }\n            if (task._zoneDelegates === zoneDelegates) {\n                // we have to check because internally the delegate can reschedule the task.\n                this._updateTaskCount(task, 1);\n            }\n            if (task.state == scheduling) {\n                task._transitionTo(scheduled, scheduling);\n            }\n            return task;\n        };\n        Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n            return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n        };\n        Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n            return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n        };\n        Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n            return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n        };\n        Zone.prototype.cancelTask = function (task) {\n            if (task.zone != this)\n                throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n                    (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n            task._transitionTo(canceling, scheduled, running);\n            try {\n                this._zoneDelegate.cancelTask(this, task);\n            }\n            catch (err) {\n                // if error occurs when cancelTask, transit the state to unknown\n                task._transitionTo(unknown, canceling);\n                this._zoneDelegate.handleError(this, err);\n                throw err;\n            }\n            this._updateTaskCount(task, -1);\n            task._transitionTo(notScheduled, canceling);\n            task.runCount = 0;\n            return task;\n        };\n        Zone.prototype._updateTaskCount = function (task, count) {\n            var zoneDelegates = task._zoneDelegates;\n            if (count == -1) {\n                task._zoneDelegates = null;\n            }\n            for (var i = 0; i < zoneDelegates.length; i++) {\n                zoneDelegates[i]._updateTaskCount(task.type, count);\n            }\n        };\n        Zone.__symbol__ = __symbol__;\n        return Zone;\n    }());\n    var DELEGATE_ZS = {\n        name: '',\n        onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n        onScheduleTask: function (delegate, _, target, task) {\n            return delegate.scheduleTask(target, task);\n        },\n        onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n            return delegate.invokeTask(target, task, applyThis, applyArgs);\n        },\n        onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n    };\n    var ZoneDelegate = /** @class */ (function () {\n        function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n            this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n            this.zone = zone;\n            this._parentDelegate = parentDelegate;\n            this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n            this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n            this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n            this._interceptZS =\n                zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n            this._interceptDlgt =\n                zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n            this._interceptCurrZone =\n                zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n            this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n            this._invokeDlgt =\n                zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n            this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n            this._handleErrorZS =\n                zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n            this._handleErrorDlgt =\n                zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n            this._handleErrorCurrZone =\n                zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n            this._scheduleTaskZS =\n                zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n            this._scheduleTaskDlgt = zoneSpec &&\n                (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n            this._scheduleTaskCurrZone =\n                zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n            this._invokeTaskZS =\n                zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n            this._invokeTaskDlgt =\n                zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n            this._invokeTaskCurrZone =\n                zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n            this._cancelTaskZS =\n                zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n            this._cancelTaskDlgt =\n                zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n            this._cancelTaskCurrZone =\n                zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n            this._hasTaskZS = null;\n            this._hasTaskDlgt = null;\n            this._hasTaskDlgtOwner = null;\n            this._hasTaskCurrZone = null;\n            var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n            var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n            if (zoneSpecHasTask || parentHasTask) {\n                // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n                // a case all task related interceptors must go through this ZD. We can't short circuit it.\n                this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n                this._hasTaskDlgt = parentDelegate;\n                this._hasTaskDlgtOwner = this;\n                this._hasTaskCurrZone = zone;\n                if (!zoneSpec.onScheduleTask) {\n                    this._scheduleTaskZS = DELEGATE_ZS;\n                    this._scheduleTaskDlgt = parentDelegate;\n                    this._scheduleTaskCurrZone = this.zone;\n                }\n                if (!zoneSpec.onInvokeTask) {\n                    this._invokeTaskZS = DELEGATE_ZS;\n                    this._invokeTaskDlgt = parentDelegate;\n                    this._invokeTaskCurrZone = this.zone;\n                }\n                if (!zoneSpec.onCancelTask) {\n                    this._cancelTaskZS = DELEGATE_ZS;\n                    this._cancelTaskDlgt = parentDelegate;\n                    this._cancelTaskCurrZone = this.zone;\n                }\n            }\n        }\n        ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n            return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n                new Zone(targetZone, zoneSpec);\n        };\n        ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n            return this._interceptZS ?\n                this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n                callback;\n        };\n        ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n            return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n                callback.apply(applyThis, applyArgs);\n        };\n        ZoneDelegate.prototype.handleError = function (targetZone, error) {\n            return this._handleErrorZS ?\n                this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n                true;\n        };\n        ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n            var returnTask = task;\n            if (this._scheduleTaskZS) {\n                if (this._hasTaskZS) {\n                    returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n                }\n                returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n                if (!returnTask)\n                    returnTask = task;\n            }\n            else {\n                if (task.scheduleFn) {\n                    task.scheduleFn(task);\n                }\n                else if (task.type == microTask) {\n                    scheduleMicroTask(task);\n                }\n                else {\n                    throw new Error('Task is missing scheduleFn.');\n                }\n            }\n            return returnTask;\n        };\n        ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n            return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n                task.callback.apply(applyThis, applyArgs);\n        };\n        ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n            var value;\n            if (this._cancelTaskZS) {\n                value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n            }\n            else {\n                if (!task.cancelFn) {\n                    throw Error('Task is not cancelable');\n                }\n                value = task.cancelFn(task);\n            }\n            return value;\n        };\n        ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n            // hasTask should not throw error so other ZoneDelegate\n            // can still trigger hasTask callback\n            try {\n                this._hasTaskZS &&\n                    this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n            }\n            catch (err) {\n                this.handleError(targetZone, err);\n            }\n        };\n        ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n            var counts = this._taskCounts;\n            var prev = counts[type];\n            var next = counts[type] = prev + count;\n            if (next < 0) {\n                throw new Error('More tasks executed then were scheduled.');\n            }\n            if (prev == 0 || next == 0) {\n                var isEmpty = {\n                    microTask: counts['microTask'] > 0,\n                    macroTask: counts['macroTask'] > 0,\n                    eventTask: counts['eventTask'] > 0,\n                    change: type\n                };\n                this.hasTask(this.zone, isEmpty);\n            }\n        };\n        return ZoneDelegate;\n    }());\n    var ZoneTask = /** @class */ (function () {\n        function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n            this._zone = null;\n            this.runCount = 0;\n            this._zoneDelegates = null;\n            this._state = 'notScheduled';\n            this.type = type;\n            this.source = source;\n            this.data = options;\n            this.scheduleFn = scheduleFn;\n            this.cancelFn = cancelFn;\n            this.callback = callback;\n            var self = this;\n            // TODO: @JiaLiPassion options should have interface\n            if (type === eventTask && options && options.useG) {\n                this.invoke = ZoneTask.invokeTask;\n            }\n            else {\n                this.invoke = function () {\n                    return ZoneTask.invokeTask.call(global, self, this, arguments);\n                };\n            }\n        }\n        ZoneTask.invokeTask = function (task, target, args) {\n            if (!task) {\n                task = this;\n            }\n            _numberOfNestedTaskFrames++;\n            try {\n                task.runCount++;\n                return task.zone.runTask(task, target, args);\n            }\n            finally {\n                if (_numberOfNestedTaskFrames == 1) {\n                    drainMicroTaskQueue();\n                }\n                _numberOfNestedTaskFrames--;\n            }\n        };\n        Object.defineProperty(ZoneTask.prototype, \"zone\", {\n            get: function () {\n                return this._zone;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        Object.defineProperty(ZoneTask.prototype, \"state\", {\n            get: function () {\n                return this._state;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        ZoneTask.prototype.cancelScheduleRequest = function () {\n            this._transitionTo(notScheduled, scheduling);\n        };\n        ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n            if (this._state === fromState1 || this._state === fromState2) {\n                this._state = toState;\n                if (toState == notScheduled) {\n                    this._zoneDelegates = null;\n                }\n            }\n            else {\n                throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n            }\n        };\n        ZoneTask.prototype.toString = function () {\n            if (this.data && typeof this.data.handleId !== 'undefined') {\n                return this.data.handleId.toString();\n            }\n            else {\n                return Object.prototype.toString.call(this);\n            }\n        };\n        // add toJSON method to prevent cyclic error when\n        // call JSON.stringify(zoneTask)\n        ZoneTask.prototype.toJSON = function () {\n            return {\n                type: this.type,\n                state: this.state,\n                source: this.source,\n                zone: this.zone.name,\n                runCount: this.runCount\n            };\n        };\n        return ZoneTask;\n    }());\n    //////////////////////////////////////////////////////\n    //////////////////////////////////////////////////////\n    ///  MICROTASK QUEUE\n    //////////////////////////////////////////////////////\n    //////////////////////////////////////////////////////\n    var symbolSetTimeout = __symbol__('setTimeout');\n    var symbolPromise = __symbol__('Promise');\n    var symbolThen = __symbol__('then');\n    var _microTaskQueue = [];\n    var _isDrainingMicrotaskQueue = false;\n    var nativeMicroTaskQueuePromise;\n    function scheduleMicroTask(task) {\n        // if we are not running in any task, and there has not been anything scheduled\n        // we must bootstrap the initial task creation by manually scheduling the drain\n        if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n            // We are not running in Task, so we need to kickstart the microtask queue.\n            if (!nativeMicroTaskQueuePromise) {\n                if (global[symbolPromise]) {\n                    nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n                }\n            }\n            if (nativeMicroTaskQueuePromise) {\n                var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n                if (!nativeThen) {\n                    // native Promise is not patchable, we need to use `then` directly\n                    // issue 1078\n                    nativeThen = nativeMicroTaskQueuePromise['then'];\n                }\n                nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n            }\n            else {\n                global[symbolSetTimeout](drainMicroTaskQueue, 0);\n            }\n        }\n        task && _microTaskQueue.push(task);\n    }\n    function drainMicroTaskQueue() {\n        if (!_isDrainingMicrotaskQueue) {\n            _isDrainingMicrotaskQueue = true;\n            while (_microTaskQueue.length) {\n                var queue = _microTaskQueue;\n                _microTaskQueue = [];\n                for (var i = 0; i < queue.length; i++) {\n                    var task = queue[i];\n                    try {\n                        task.zone.runTask(task, null, null);\n                    }\n                    catch (error) {\n                        _api.onUnhandledError(error);\n                    }\n                }\n            }\n            _api.microtaskDrainDone();\n            _isDrainingMicrotaskQueue = false;\n        }\n    }\n    //////////////////////////////////////////////////////\n    //////////////////////////////////////////////////////\n    ///  BOOTSTRAP\n    //////////////////////////////////////////////////////\n    //////////////////////////////////////////////////////\n    var NO_ZONE = { name: 'NO ZONE' };\n    var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n    var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n    var patches = {};\n    var _api = {\n        symbol: __symbol__,\n        currentZoneFrame: function () { return _currentZoneFrame; },\n        onUnhandledError: noop,\n        microtaskDrainDone: noop,\n        scheduleMicroTask: scheduleMicroTask,\n        showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n        patchEventTarget: function () { return []; },\n        patchOnProperties: noop,\n        patchMethod: function () { return noop; },\n        bindArguments: function () { return []; },\n        patchThen: function () { return noop; },\n        setNativePromise: function (NativePromise) {\n            // sometimes NativePromise.resolve static function\n            // is not ready yet, (such as core-js/es6.promise)\n            // so we need to check here.\n            if (NativePromise && typeof NativePromise.resolve === 'function') {\n                nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n            }\n        },\n    };\n    var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n    var _currentTask = null;\n    var _numberOfNestedTaskFrames = 0;\n    function noop() { }\n    function __symbol__(name) {\n        return '__zone_symbol__' + name;\n    }\n    performanceMeasure('Zone', 'Zone');\n    return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n    if (m) return m.call(o);\n    return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n    var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n    var ObjectDefineProperty = Object.defineProperty;\n    function readableObjectToString(obj) {\n        if (obj && obj.toString === Object.prototype.toString) {\n            var className = obj.constructor && obj.constructor.name;\n            return (className ? className : '') + ': ' + JSON.stringify(obj);\n        }\n        return obj ? obj.toString() : Object.prototype.toString.call(obj);\n    }\n    var __symbol__ = api.symbol;\n    var _uncaughtPromiseErrors = [];\n    var symbolPromise = __symbol__('Promise');\n    var symbolThen = __symbol__('then');\n    var creationTrace = '__creationTrace__';\n    api.onUnhandledError = function (e) {\n        if (api.showUncaughtError()) {\n            var rejection = e && e.rejection;\n            if (rejection) {\n                console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n            }\n            else {\n                console.error(e);\n            }\n        }\n    };\n    api.microtaskDrainDone = function () {\n        while (_uncaughtPromiseErrors.length) {\n            var _loop_1 = function () {\n                var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n                try {\n                    uncaughtPromiseError.zone.runGuarded(function () {\n                        throw uncaughtPromiseError;\n                    });\n                }\n                catch (error) {\n                    handleUnhandledRejection(error);\n                }\n            };\n            while (_uncaughtPromiseErrors.length) {\n                _loop_1();\n            }\n        }\n    };\n    var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n    function handleUnhandledRejection(e) {\n        api.onUnhandledError(e);\n        try {\n            var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n            if (handler && typeof handler === 'function') {\n                handler.call(this, e);\n            }\n        }\n        catch (err) {\n        }\n    }\n    function isThenable(value) {\n        return value && value.then;\n    }\n    function forwardResolution(value) {\n        return value;\n    }\n    function forwardRejection(rejection) {\n        return ZoneAwarePromise.reject(rejection);\n    }\n    var symbolState = __symbol__('state');\n    var symbolValue = __symbol__('value');\n    var symbolFinally = __symbol__('finally');\n    var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n    var symbolParentPromiseState = __symbol__('parentPromiseState');\n    var source = 'Promise.then';\n    var UNRESOLVED = null;\n    var RESOLVED = true;\n    var REJECTED = false;\n    var REJECTED_NO_CATCH = 0;\n    function makeResolver(promise, state) {\n        return function (v) {\n            try {\n                resolvePromise(promise, state, v);\n            }\n            catch (err) {\n                resolvePromise(promise, false, err);\n            }\n            // Do not return value or you will break the Promise spec.\n        };\n    }\n    var once = function () {\n        var wasCalled = false;\n        return function wrapper(wrappedFunction) {\n            return function () {\n                if (wasCalled) {\n                    return;\n                }\n                wasCalled = true;\n                wrappedFunction.apply(null, arguments);\n            };\n        };\n    };\n    var TYPE_ERROR = 'Promise resolved with itself';\n    var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n    // Promise Resolution\n    function resolvePromise(promise, state, value) {\n        var onceWrapper = once();\n        if (promise === value) {\n            throw new TypeError(TYPE_ERROR);\n        }\n        if (promise[symbolState] === UNRESOLVED) {\n            // should only get value.then once based on promise spec.\n            var then = null;\n            try {\n                if (typeof value === 'object' || typeof value === 'function') {\n                    then = value && value.then;\n                }\n            }\n            catch (err) {\n                onceWrapper(function () {\n                    resolvePromise(promise, false, err);\n                })();\n                return promise;\n            }\n            // if (value instanceof ZoneAwarePromise) {\n            if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n                value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n                value[symbolState] !== UNRESOLVED) {\n                clearRejectedNoCatch(value);\n                resolvePromise(promise, value[symbolState], value[symbolValue]);\n            }\n            else if (state !== REJECTED && typeof then === 'function') {\n                try {\n                    then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n                }\n                catch (err) {\n                    onceWrapper(function () {\n                        resolvePromise(promise, false, err);\n                    })();\n                }\n            }\n            else {\n                promise[symbolState] = state;\n                var queue = promise[symbolValue];\n                promise[symbolValue] = value;\n                if (promise[symbolFinally] === symbolFinally) {\n                    // the promise is generated by Promise.prototype.finally\n                    if (state === RESOLVED) {\n                        // the state is resolved, should ignore the value\n                        // and use parent promise value\n                        promise[symbolState] = promise[symbolParentPromiseState];\n                        promise[symbolValue] = promise[symbolParentPromiseValue];\n                    }\n                }\n                // record task information in value when error occurs, so we can\n                // do some additional work such as render longStackTrace\n                if (state === REJECTED && value instanceof Error) {\n                    // check if longStackTraceZone is here\n                    var trace = Zone.currentTask && Zone.currentTask.data &&\n                        Zone.currentTask.data[creationTrace];\n                    if (trace) {\n                        // only keep the long stack trace into error when in longStackTraceZone\n                        ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n                    }\n                }\n                for (var i = 0; i < queue.length;) {\n                    scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n                }\n                if (queue.length == 0 && state == REJECTED) {\n                    promise[symbolState] = REJECTED_NO_CATCH;\n                    try {\n                        // try to print more readable error log\n                        throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n                            (value && value.stack ? '\\n' + value.stack : ''));\n                    }\n                    catch (err) {\n                        var error_1 = err;\n                        error_1.rejection = value;\n                        error_1.promise = promise;\n                        error_1.zone = Zone.current;\n                        error_1.task = Zone.currentTask;\n                        _uncaughtPromiseErrors.push(error_1);\n                        api.scheduleMicroTask(); // to make sure that it is running\n                    }\n                }\n            }\n        }\n        // Resolving an already resolved promise is a noop.\n        return promise;\n    }\n    var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n    function clearRejectedNoCatch(promise) {\n        if (promise[symbolState] === REJECTED_NO_CATCH) {\n            // if the promise is rejected no catch status\n            // and queue.length > 0, means there is a error handler\n            // here to handle the rejected promise, we should trigger\n            // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n            // eventHandler\n            try {\n                var handler = Zone[REJECTION_HANDLED_HANDLER];\n                if (handler && typeof handler === 'function') {\n                    handler.call(this, { rejection: promise[symbolValue], promise: promise });\n                }\n            }\n            catch (err) {\n            }\n            promise[symbolState] = REJECTED;\n            for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n                if (promise === _uncaughtPromiseErrors[i].promise) {\n                    _uncaughtPromiseErrors.splice(i, 1);\n                }\n            }\n        }\n    }\n    function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n        clearRejectedNoCatch(promise);\n        var promiseState = promise[symbolState];\n        var delegate = promiseState ?\n            (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n            (typeof onRejected === 'function') ? onRejected : forwardRejection;\n        zone.scheduleMicroTask(source, function () {\n            try {\n                var parentPromiseValue = promise[symbolValue];\n                var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n                if (isFinallyPromise) {\n                    // if the promise is generated from finally call, keep parent promise's state and value\n                    chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n                    chainPromise[symbolParentPromiseState] = promiseState;\n                }\n                // should not pass value to finally callback\n                var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n                    [] :\n                    [parentPromiseValue]);\n                resolvePromise(chainPromise, true, value);\n            }\n            catch (error) {\n                // if error occurs, should always return this error\n                resolvePromise(chainPromise, false, error);\n            }\n        }, chainPromise);\n    }\n    var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n    var ZoneAwarePromise = /** @class */ (function () {\n        function ZoneAwarePromise(executor) {\n            var promise = this;\n            if (!(promise instanceof ZoneAwarePromise)) {\n                throw new Error('Must be an instanceof Promise.');\n            }\n            promise[symbolState] = UNRESOLVED;\n            promise[symbolValue] = []; // queue;\n            try {\n                executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n            }\n            catch (error) {\n                resolvePromise(promise, false, error);\n            }\n        }\n        ZoneAwarePromise.toString = function () {\n            return ZONE_AWARE_PROMISE_TO_STRING;\n        };\n        ZoneAwarePromise.resolve = function (value) {\n            return resolvePromise(new this(null), RESOLVED, value);\n        };\n        ZoneAwarePromise.reject = function (error) {\n            return resolvePromise(new this(null), REJECTED, error);\n        };\n        ZoneAwarePromise.race = function (values) {\n            var e_1, _a;\n            var resolve;\n            var reject;\n            var promise = new this(function (res, rej) {\n                resolve = res;\n                reject = rej;\n            });\n            function onResolve(value) {\n                promise && (promise = null || resolve(value));\n            }\n            function onReject(error) {\n                promise && (promise = null || reject(error));\n            }\n            try {\n                for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n                    var value = values_1_1.value;\n                    if (!isThenable(value)) {\n                        value = this.resolve(value);\n                    }\n                    value.then(onResolve, onReject);\n                }\n            }\n            catch (e_1_1) { e_1 = { error: e_1_1 }; }\n            finally {\n                try {\n                    if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n                }\n                finally { if (e_1) throw e_1.error; }\n            }\n            return promise;\n        };\n        ZoneAwarePromise.all = function (values) {\n            var e_2, _a;\n            var resolve;\n            var reject;\n            var promise = new this(function (res, rej) {\n                resolve = res;\n                reject = rej;\n            });\n            // Start at 2 to prevent prematurely resolving if .then is called immediately.\n            var unresolvedCount = 2;\n            var valueIndex = 0;\n            var resolvedValues = [];\n            var _loop_2 = function (value) {\n                if (!isThenable(value)) {\n                    value = this_1.resolve(value);\n                }\n                var curValueIndex = valueIndex;\n                value.then(function (value) {\n                    resolvedValues[curValueIndex] = value;\n                    unresolvedCount--;\n                    if (unresolvedCount === 0) {\n                        resolve(resolvedValues);\n                    }\n                }, reject);\n                unresolvedCount++;\n                valueIndex++;\n            };\n            var this_1 = this;\n            try {\n                for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n                    var value = values_2_1.value;\n                    _loop_2(value);\n                }\n            }\n            catch (e_2_1) { e_2 = { error: e_2_1 }; }\n            finally {\n                try {\n                    if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n                }\n                finally { if (e_2) throw e_2.error; }\n            }\n            // Make the unresolvedCount zero-based again.\n            unresolvedCount -= 2;\n            if (unresolvedCount === 0) {\n                resolve(resolvedValues);\n            }\n            return promise;\n        };\n        ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n            var chainPromise = new this.constructor(null);\n            var zone = Zone.current;\n            if (this[symbolState] == UNRESOLVED) {\n                this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n            }\n            else {\n                scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n            }\n            return chainPromise;\n        };\n        ZoneAwarePromise.prototype.catch = function (onRejected) {\n            return this.then(null, onRejected);\n        };\n        ZoneAwarePromise.prototype.finally = function (onFinally) {\n            var chainPromise = new this.constructor(null);\n            chainPromise[symbolFinally] = symbolFinally;\n            var zone = Zone.current;\n            if (this[symbolState] == UNRESOLVED) {\n                this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n            }\n            else {\n                scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n            }\n            return chainPromise;\n        };\n        return ZoneAwarePromise;\n    }());\n    // Protect against aggressive optimizers dropping seemingly unused properties.\n    // E.g. Closure Compiler in advanced mode.\n    ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n    ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n    ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n    ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n    var NativePromise = global[symbolPromise] = global['Promise'];\n    var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n    var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n    if (!desc || desc.configurable) {\n        desc && delete desc.writable;\n        desc && delete desc.value;\n        if (!desc) {\n            desc = { configurable: true, enumerable: true };\n        }\n        desc.get = function () {\n            // if we already set ZoneAwarePromise, use patched one\n            // otherwise return native one.\n            return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n        };\n        desc.set = function (NewNativePromise) {\n            if (NewNativePromise === ZoneAwarePromise) {\n                // if the NewNativePromise is ZoneAwarePromise\n                // save to global\n                global[ZONE_AWARE_PROMISE] = NewNativePromise;\n            }\n            else {\n                // if the NewNativePromise is not ZoneAwarePromise\n                // for example: after load zone.js, some library just\n                // set es6-promise to global, if we set it to global\n                // directly, assertZonePatched will fail and angular\n                // will not loaded, so we just set the NewNativePromise\n                // to global[symbolPromise], so the result is just like\n                // we load ES6 Promise before zone.js\n                global[symbolPromise] = NewNativePromise;\n                if (!NewNativePromise.prototype[symbolThen]) {\n                    patchThen(NewNativePromise);\n                }\n                api.setNativePromise(NewNativePromise);\n            }\n        };\n        ObjectDefineProperty(global, 'Promise', desc);\n    }\n    global['Promise'] = ZoneAwarePromise;\n    var symbolThenPatched = __symbol__('thenPatched');\n    function patchThen(Ctor) {\n        var proto = Ctor.prototype;\n        var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n        if (prop && (prop.writable === false || !prop.configurable)) {\n            // check Ctor.prototype.then propertyDescriptor is writable or not\n            // in meteor env, writable is false, we should ignore such case\n            return;\n        }\n        var originalThen = proto.then;\n        // Keep a reference to the original method.\n        proto[symbolThen] = originalThen;\n        Ctor.prototype.then = function (onResolve, onReject) {\n            var _this = this;\n            var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n                originalThen.call(_this, resolve, reject);\n            });\n            return wrapped.then(onResolve, onReject);\n        };\n        Ctor[symbolThenPatched] = true;\n    }\n    api.patchThen = patchThen;\n    if (NativePromise) {\n        patchThen(NativePromise);\n    }\n    // This is not part of public API, but it is useful for tests, so we expose it.\n    Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n    return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n    var fetch = global['fetch'];\n    var ZoneAwarePromise = global.Promise;\n    var symbolThenPatched = api.symbol('thenPatched');\n    var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n    var fetchTaskAborting = api.symbol('fetchTaskAborting');\n    if (typeof fetch !== 'function') {\n        return;\n    }\n    var OriginalAbortController = global['AbortController'];\n    var supportAbort = typeof OriginalAbortController === 'function';\n    var abortNative = null;\n    if (supportAbort) {\n        global['AbortController'] = function () {\n            var abortController = new OriginalAbortController();\n            var signal = abortController.signal;\n            signal.abortController = abortController;\n            return abortController;\n        };\n        abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n            if (self.task) {\n                return self.task.zone.cancelTask(self.task);\n            }\n            return delegate.apply(self, args);\n        }; });\n    }\n    var placeholder = function () { };\n    global['fetch'] = function () {\n        var _this = this;\n        var args = Array.prototype.slice.call(arguments);\n        var options = args.length > 1 ? args[1] : null;\n        var signal = options && options.signal;\n        return new Promise(function (res, rej) {\n            var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n                var fetchPromise;\n                var zone = Zone.current;\n                try {\n                    zone[fetchTaskScheduling] = true;\n                    fetchPromise = fetch.apply(_this, args);\n                }\n                catch (error) {\n                    rej(error);\n                    return;\n                }\n                finally {\n                    zone[fetchTaskScheduling] = false;\n                }\n                if (!(fetchPromise instanceof ZoneAwarePromise)) {\n                    var ctor = fetchPromise.constructor;\n                    if (!ctor[symbolThenPatched]) {\n                        api.patchThen(ctor);\n                    }\n                }\n                fetchPromise.then(function (resource) {\n                    if (task.state !== 'notScheduled') {\n                        task.invoke();\n                    }\n                    res(resource);\n                }, function (error) {\n                    if (task.state !== 'notScheduled') {\n                        task.invoke();\n                    }\n                    rej(error);\n                });\n            }, function () {\n                if (!supportAbort) {\n                    rej('No AbortController supported, can not cancel fetch');\n                    return;\n                }\n                if (signal && signal.abortController && !signal.aborted &&\n                    typeof signal.abortController.abort === 'function' && abortNative) {\n                    try {\n                        Zone.current[fetchTaskAborting] = true;\n                        abortNative.call(signal.abortController);\n                    }\n                    finally {\n                        Zone.current[fetchTaskAborting] = false;\n                    }\n                }\n                else {\n                    rej('cancel fetch need a AbortController.signal');\n                }\n            });\n            if (signal && signal.abortController) {\n                signal.abortController.task = task;\n            }\n        });\n    };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n    return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n    return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n    for (var i = args.length - 1; i >= 0; i--) {\n        if (typeof args[i] === 'function') {\n            args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n        }\n    }\n    return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n    var source = prototype.constructor['name'];\n    var _loop_1 = function (i) {\n        var name_1 = fnNames[i];\n        var delegate = prototype[name_1];\n        if (delegate) {\n            var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n            if (!isPropertyWritable(prototypeDesc)) {\n                return \"continue\";\n            }\n            prototype[name_1] = (function (delegate) {\n                var patched = function () {\n                    return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n                };\n                attachOriginToPatched(patched, delegate);\n                return patched;\n            })(delegate);\n        }\n    };\n    for (var i = 0; i < fnNames.length; i++) {\n        _loop_1(i);\n    }\n}\nfunction isPropertyWritable(propertyDesc) {\n    if (!propertyDesc) {\n        return true;\n    }\n    if (propertyDesc.writable === false) {\n        return false;\n    }\n    return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n    {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n    {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n    !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n    // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n    // event will be undefined, so we need to use window.event\n    event = event || _global.event;\n    if (!event) {\n        return;\n    }\n    var eventNameSymbol = zoneSymbolEventNames[event.type];\n    if (!eventNameSymbol) {\n        eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n    }\n    var target = this || event.target || _global;\n    var listener = target[eventNameSymbol];\n    var result;\n    if (isBrowser && target === internalWindow && event.type === 'error') {\n        // window.onerror have different signiture\n        // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n        // and onerror callback will prevent default when callback return true\n        var errorEvent = event;\n        result = listener &&\n            listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n        if (result === true) {\n            event.preventDefault();\n        }\n    }\n    else {\n        result = listener && listener.apply(this, arguments);\n        if (result != undefined && !result) {\n            event.preventDefault();\n        }\n    }\n    return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n    var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n    if (!desc && prototype) {\n        // when patch window object, use prototype to check prop exist or not\n        var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n        if (prototypeDesc) {\n            desc = { enumerable: true, configurable: true };\n        }\n    }\n    // if the descriptor not exists or is not configurable\n    // just return\n    if (!desc || !desc.configurable) {\n        return;\n    }\n    var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n    if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n        return;\n    }\n    // A property descriptor cannot have getter/setter and be writable\n    // deleting the writable and value properties avoids this error:\n    //\n    // TypeError: property descriptors must not specify a value or be writable when a\n    // getter or setter has been specified\n    delete desc.writable;\n    delete desc.value;\n    var originalDescGet = desc.get;\n    var originalDescSet = desc.set;\n    // substr(2) cuz 'onclick' -> 'click', etc\n    var eventName = prop.substr(2);\n    var eventNameSymbol = zoneSymbolEventNames[eventName];\n    if (!eventNameSymbol) {\n        eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n    }\n    desc.set = function (newValue) {\n        // in some of windows's onproperty callback, this is undefined\n        // so we need to check it\n        var target = this;\n        if (!target && obj === _global) {\n            target = _global;\n        }\n        if (!target) {\n            return;\n        }\n        var previousValue = target[eventNameSymbol];\n        if (previousValue) {\n            target.removeEventListener(eventName, wrapFn);\n        }\n        // issue #978, when onload handler was added before loading zone.js\n        // we should remove it with originalDescSet\n        if (originalDescSet) {\n            originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n        }\n        if (typeof newValue === 'function') {\n            target[eventNameSymbol] = newValue;\n            target.addEventListener(eventName, wrapFn, false);\n        }\n        else {\n            target[eventNameSymbol] = null;\n        }\n    };\n    // The getter would return undefined for unassigned properties but the default value of an\n    // unassigned property is null\n    desc.get = function () {\n        // in some of windows's onproperty callback, this is undefined\n        // so we need to check it\n        var target = this;\n        if (!target && obj === _global) {\n            target = _global;\n        }\n        if (!target) {\n            return null;\n        }\n        var listener = target[eventNameSymbol];\n        if (listener) {\n            return listener;\n        }\n        else if (originalDescGet) {\n            // result will be null when use inline event attribute,\n            // such as <button onclick=\"func();\">OK</button>\n            // because the onclick function is internal raw uncompiled handler\n            // the onclick will be evaluated when first time event was triggered or\n            // the property is accessed, https://github.com/angular/zone.js/issues/525\n            // so we should use original native get to retrieve the handler\n            var value = originalDescGet && originalDescGet.call(this);\n            if (value) {\n                desc.set.call(this, value);\n                if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n                    target.removeAttribute(prop);\n                }\n                return value;\n            }\n        }\n        return null;\n    };\n    ObjectDefineProperty(obj, prop, desc);\n    obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n    if (properties) {\n        for (var i = 0; i < properties.length; i++) {\n            patchProperty(obj, 'on' + properties[i], prototype);\n        }\n    }\n    else {\n        var onProperties = [];\n        for (var prop in obj) {\n            if (prop.substr(0, 2) == 'on') {\n                onProperties.push(prop);\n            }\n        }\n        for (var j = 0; j < onProperties.length; j++) {\n            patchProperty(obj, onProperties[j], prototype);\n        }\n    }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n    var OriginalClass = _global[className];\n    if (!OriginalClass)\n        return;\n    // keep original class in global\n    _global[zoneSymbol(className)] = OriginalClass;\n    _global[className] = function () {\n        var a = bindArguments(arguments, className);\n        switch (a.length) {\n            case 0:\n                this[originalInstanceKey] = new OriginalClass();\n                break;\n            case 1:\n                this[originalInstanceKey] = new OriginalClass(a[0]);\n                break;\n            case 2:\n                this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n                break;\n            case 3:\n                this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n                break;\n            case 4:\n                this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n                break;\n            default:\n                throw new Error('Arg list too long.');\n        }\n    };\n    // attach original delegate to patched function\n    attachOriginToPatched(_global[className], OriginalClass);\n    var instance = new OriginalClass(function () { });\n    var prop;\n    for (prop in instance) {\n        // https://bugs.webkit.org/show_bug.cgi?id=44721\n        if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n            continue;\n        (function (prop) {\n            if (typeof instance[prop] === 'function') {\n                _global[className].prototype[prop] = function () {\n                    return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n                };\n            }\n            else {\n                ObjectDefineProperty(_global[className].prototype, prop, {\n                    set: function (fn) {\n                        if (typeof fn === 'function') {\n                            this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n                            // keep callback in wrapped function so we can\n                            // use it in Function.prototype.toString to return\n                            // the native one.\n                            attachOriginToPatched(this[originalInstanceKey][prop], fn);\n                        }\n                        else {\n                            this[originalInstanceKey][prop] = fn;\n                        }\n                    },\n                    get: function () {\n                        return this[originalInstanceKey][prop];\n                    }\n                });\n            }\n        }(prop));\n    }\n    for (prop in OriginalClass) {\n        if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n            _global[className][prop] = OriginalClass[prop];\n        }\n    }\n}\nfunction copySymbolProperties(src, dest) {\n    if (typeof Object.getOwnPropertySymbols !== 'function') {\n        return;\n    }\n    var symbols = Object.getOwnPropertySymbols(src);\n    symbols.forEach(function (symbol) {\n        var desc = Object.getOwnPropertyDescriptor(src, symbol);\n        Object.defineProperty(dest, symbol, {\n            get: function () {\n                return src[symbol];\n            },\n            set: function (value) {\n                if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n                    // if src[symbol] is not writable or not have a setter, just return\n                    return;\n                }\n                src[symbol] = value;\n            },\n            enumerable: desc ? desc.enumerable : true,\n            configurable: desc ? desc.configurable : true\n        });\n    });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n    var proto = target;\n    while (proto && !proto.hasOwnProperty(name)) {\n        proto = ObjectGetPrototypeOf(proto);\n    }\n    if (!proto && target[name]) {\n        // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n        proto = target;\n    }\n    var delegateName = zoneSymbol(name);\n    var delegate = null;\n    if (proto && !(delegate = proto[delegateName])) {\n        delegate = proto[delegateName] = proto[name];\n        // check whether proto[name] is writable\n        // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n        var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n        if (isPropertyWritable(desc)) {\n            var patchDelegate_1 = patchFn(delegate, delegateName, name);\n            proto[name] = function () {\n                return patchDelegate_1(this, arguments);\n            };\n            attachOriginToPatched(proto[name], delegate);\n            if (shouldCopySymbolProperties) {\n                copySymbolProperties(delegate, proto[name]);\n            }\n        }\n    }\n    return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n    var setNative = null;\n    function scheduleTask(task) {\n        var data = task.data;\n        data.args[data.cbIdx] = function () {\n            task.invoke.apply(this, arguments);\n        };\n        setNative.apply(data.target, data.args);\n        return task;\n    }\n    setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n        var meta = metaCreator(self, args);\n        if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n            return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n        }\n        else {\n            // cause an error by calling it directly.\n            return delegate.apply(self, args);\n        }\n    }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n    patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n    try {\n        var ua = internalWindow.navigator.userAgent;\n        if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n            return true;\n        }\n    }\n    catch (error) {\n    }\n    return false;\n}\nfunction isIEOrEdge() {\n    if (isDetectedIEOrEdge) {\n        return ieOrEdge;\n    }\n    isDetectedIEOrEdge = true;\n    try {\n        var ua = internalWindow.navigator.userAgent;\n        if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n            ieOrEdge = true;\n        }\n        return ieOrEdge;\n    }\n    catch (error) {\n    }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n    // patch Func.prototype.toString to let them look like native\n    var originalFunctionToString = Function.prototype.toString;\n    var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n    var PROMISE_SYMBOL = zoneSymbol('Promise');\n    var ERROR_SYMBOL = zoneSymbol('Error');\n    var newFunctionToString = function toString() {\n        if (typeof this === 'function') {\n            var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n            if (originalDelegate) {\n                if (typeof originalDelegate === 'function') {\n                    return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n                }\n                else {\n                    return Object.prototype.toString.call(originalDelegate);\n                }\n            }\n            if (this === Promise) {\n                var nativePromise = global[PROMISE_SYMBOL];\n                if (nativePromise) {\n                    return originalFunctionToString.apply(nativePromise, arguments);\n                }\n            }\n            if (this === Error) {\n                var nativeError = global[ERROR_SYMBOL];\n                if (nativeError) {\n                    return originalFunctionToString.apply(nativeError, arguments);\n                }\n            }\n        }\n        return originalFunctionToString.apply(this, arguments);\n    };\n    newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n    Function.prototype.toString = newFunctionToString;\n    // patch Object.prototype.toString to let them look like native\n    var originalObjectToString = Object.prototype.toString;\n    var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n    Object.prototype.toString = function () {\n        if (this instanceof Promise) {\n            return PROMISE_OBJECT_TO_STRING;\n        }\n        return originalObjectToString.apply(this, arguments);\n    };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n    try {\n        var options = Object.defineProperty({}, 'passive', {\n            get: function () {\n                passiveSupported = true;\n            }\n        });\n        window.addEventListener('test', options, options);\n        window.removeEventListener('test', options, options);\n    }\n    catch (err) {\n        passiveSupported = false;\n    }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n    useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n    var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n    var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n    var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n    var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n    var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n    var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n    var PREPEND_EVENT_LISTENER = 'prependListener';\n    var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n    var invokeTask = function (task, target, event) {\n        // for better performance, check isRemoved which is set\n        // by removeEventListener\n        if (task.isRemoved) {\n            return;\n        }\n        var delegate = task.callback;\n        if (typeof delegate === 'object' && delegate.handleEvent) {\n            // create the bind version of handleEvent when invoke\n            task.callback = function (event) { return delegate.handleEvent(event); };\n            task.originalDelegate = delegate;\n        }\n        // invoke static task.invoke\n        task.invoke(task, target, [event]);\n        var options = task.options;\n        if (options && typeof options === 'object' && options.once) {\n            // if options.once is true, after invoke once remove listener here\n            // only browser need to do this, nodejs eventEmitter will cal removeListener\n            // inside EventEmitter.once\n            var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n            target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n        }\n    };\n    // global shared zoneAwareCallback to handle all event callback with capture = false\n    var globalZoneAwareCallback = function (event) {\n        // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n        // event will be undefined, so we need to use window.event\n        event = event || _global.event;\n        if (!event) {\n            return;\n        }\n        // event.target is needed for Samsung TV and SourceBuffer\n        // || global is needed https://github.com/angular/zone.js/issues/190\n        var target = this || event.target || _global;\n        var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n        if (tasks) {\n            // invoke all tasks which attached to current target with given event.type and capture = false\n            // for performance concern, if task.length === 1, just invoke\n            if (tasks.length === 1) {\n                invokeTask(tasks[0], target, event);\n            }\n            else {\n                // https://github.com/angular/zone.js/issues/836\n                // copy the tasks array before invoke, to avoid\n                // the callback will remove itself or other listener\n                var copyTasks = tasks.slice();\n                for (var i = 0; i < copyTasks.length; i++) {\n                    if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n                        break;\n                    }\n                    invokeTask(copyTasks[i], target, event);\n                }\n            }\n        }\n    };\n    // global shared zoneAwareCallback to handle all event callback with capture = true\n    var globalZoneAwareCaptureCallback = function (event) {\n        // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n        // event will be undefined, so we need to use window.event\n        event = event || _global.event;\n        if (!event) {\n            return;\n        }\n        // event.target is needed for Samsung TV and SourceBuffer\n        // || global is needed https://github.com/angular/zone.js/issues/190\n        var target = this || event.target || _global;\n        var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n        if (tasks) {\n            // invoke all tasks which attached to current target with given event.type and capture = false\n            // for performance concern, if task.length === 1, just invoke\n            if (tasks.length === 1) {\n                invokeTask(tasks[0], target, event);\n            }\n            else {\n                // https://github.com/angular/zone.js/issues/836\n                // copy the tasks array before invoke, to avoid\n                // the callback will remove itself or other listener\n                var copyTasks = tasks.slice();\n                for (var i = 0; i < copyTasks.length; i++) {\n                    if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n                        break;\n                    }\n                    invokeTask(copyTasks[i], target, event);\n                }\n            }\n        }\n    };\n    function patchEventTargetMethods(obj, patchOptions) {\n        if (!obj) {\n            return false;\n        }\n        var useGlobalCallback = true;\n        if (patchOptions && patchOptions.useG !== undefined) {\n            useGlobalCallback = patchOptions.useG;\n        }\n        var validateHandler = patchOptions && patchOptions.vh;\n        var checkDuplicate = true;\n        if (patchOptions && patchOptions.chkDup !== undefined) {\n            checkDuplicate = patchOptions.chkDup;\n        }\n        var returnTarget = false;\n        if (patchOptions && patchOptions.rt !== undefined) {\n            returnTarget = patchOptions.rt;\n        }\n        var proto = obj;\n        while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n            proto = ObjectGetPrototypeOf(proto);\n        }\n        if (!proto && obj[ADD_EVENT_LISTENER]) {\n            // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n            proto = obj;\n        }\n        if (!proto) {\n            return false;\n        }\n        if (proto[zoneSymbolAddEventListener]) {\n            return false;\n        }\n        var eventNameToString = patchOptions && patchOptions.eventNameToString;\n        // a shared global taskData to pass data for scheduleEventTask\n        // so we do not need to create a new object just for pass some data\n        var taskData = {};\n        var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n        var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n            proto[REMOVE_EVENT_LISTENER];\n        var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n            proto[LISTENERS_EVENT_LISTENER];\n        var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n            proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n        var nativePrependEventListener;\n        if (patchOptions && patchOptions.prepend) {\n            nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n                proto[patchOptions.prepend];\n        }\n        function checkIsPassive(task) {\n            if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n                typeof taskData.options !== 'undefined' && taskData.options !== null) {\n                // options is a non-null non-undefined object\n                // passive is not supported\n                // don't pass options as object\n                // just pass capture as a boolean\n                task.options = !!taskData.options.capture;\n                taskData.options = task.options;\n            }\n        }\n        var customScheduleGlobal = function (task) {\n            // if there is already a task for the eventName + capture,\n            // just return, because we use the shared globalZoneAwareCallback here.\n            if (taskData.isExisting) {\n                return;\n            }\n            checkIsPassive(task);\n            return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n        };\n        var customCancelGlobal = function (task) {\n            // if task is not marked as isRemoved, this call is directly\n            // from Zone.prototype.cancelTask, we should remove the task\n            // from tasksList of target first\n            if (!task.isRemoved) {\n                var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n                var symbolEventName = void 0;\n                if (symbolEventNames) {\n                    symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n                }\n                var existingTasks = symbolEventName && task.target[symbolEventName];\n                if (existingTasks) {\n                    for (var i = 0; i < existingTasks.length; i++) {\n                        var existingTask = existingTasks[i];\n                        if (existingTask === task) {\n                            existingTasks.splice(i, 1);\n                            // set isRemoved to data for faster invokeTask check\n                            task.isRemoved = true;\n                            if (existingTasks.length === 0) {\n                                // all tasks for the eventName + capture have gone,\n                                // remove globalZoneAwareCallback and remove the task cache from target\n                                task.allRemoved = true;\n                                task.target[symbolEventName] = null;\n                            }\n                            break;\n                        }\n                    }\n                }\n            }\n            // if all tasks for the eventName + capture have gone,\n            // we will really remove the global event callback,\n            // if not, return\n            if (!task.allRemoved) {\n                return;\n            }\n            return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n        };\n        var customScheduleNonGlobal = function (task) {\n            checkIsPassive(task);\n            return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n        };\n        var customSchedulePrepend = function (task) {\n            return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n        };\n        var customCancelNonGlobal = function (task) {\n            return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n        };\n        var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n        var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n        var compareTaskCallbackVsDelegate = function (task, delegate) {\n            var typeOfDelegate = typeof delegate;\n            return (typeOfDelegate === 'function' && task.callback === delegate) ||\n                (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n        };\n        var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n        var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n        var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n            if (returnTarget === void 0) { returnTarget = false; }\n            if (prepend === void 0) { prepend = false; }\n            return function () {\n                var target = this || _global;\n                var eventName = arguments[0];\n                var delegate = arguments[1];\n                if (!delegate) {\n                    return nativeListener.apply(this, arguments);\n                }\n                if (isNode && eventName === 'uncaughtException') {\n                    // don't patch uncaughtException of nodejs to prevent endless loop\n                    return nativeListener.apply(this, arguments);\n                }\n                // don't create the bind delegate function for handleEvent\n                // case here to improve addEventListener performance\n                // we will create the bind delegate when invoke\n                var isHandleEvent = false;\n                if (typeof delegate !== 'function') {\n                    if (!delegate.handleEvent) {\n                        return nativeListener.apply(this, arguments);\n                    }\n                    isHandleEvent = true;\n                }\n                if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n                    return;\n                }\n                var options = arguments[2];\n                if (blackListedEvents) {\n                    // check black list\n                    for (var i = 0; i < blackListedEvents.length; i++) {\n                        if (eventName === blackListedEvents[i]) {\n                            return nativeListener.apply(this, arguments);\n                        }\n                    }\n                }\n                var capture;\n                var once = false;\n                if (options === undefined) {\n                    capture = false;\n                }\n                else if (options === true) {\n                    capture = true;\n                }\n                else if (options === false) {\n                    capture = false;\n                }\n                else {\n                    capture = options ? !!options.capture : false;\n                    once = options ? !!options.once : false;\n                }\n                var zone = Zone.current;\n                var symbolEventNames = zoneSymbolEventNames$1[eventName];\n                var symbolEventName;\n                if (!symbolEventNames) {\n                    // the code is duplicate, but I just want to get some better performance\n                    var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n                    var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n                    var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n                    var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n                    zoneSymbolEventNames$1[eventName] = {};\n                    zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n                    zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n                    symbolEventName = capture ? symbolCapture : symbol;\n                }\n                else {\n                    symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n                }\n                var existingTasks = target[symbolEventName];\n                var isExisting = false;\n                if (existingTasks) {\n                    // already have task registered\n                    isExisting = true;\n                    if (checkDuplicate) {\n                        for (var i = 0; i < existingTasks.length; i++) {\n                            if (compare(existingTasks[i], delegate)) {\n                                // same callback, same capture, same event name, just return\n                                return;\n                            }\n                        }\n                    }\n                }\n                else {\n                    existingTasks = target[symbolEventName] = [];\n                }\n                var source;\n                var constructorName = target.constructor['name'];\n                var targetSource = globalSources[constructorName];\n                if (targetSource) {\n                    source = targetSource[eventName];\n                }\n                if (!source) {\n                    source = constructorName + addSource +\n                        (eventNameToString ? eventNameToString(eventName) : eventName);\n                }\n                // do not create a new object as task.data to pass those things\n                // just use the global shared one\n                taskData.options = options;\n                if (once) {\n                    // if addEventListener with once options, we don't pass it to\n                    // native addEventListener, instead we keep the once setting\n                    // and handle ourselves.\n                    taskData.options.once = false;\n                }\n                taskData.target = target;\n                taskData.capture = capture;\n                taskData.eventName = eventName;\n                taskData.isExisting = isExisting;\n                var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n                // keep taskData into data to allow onScheduleEventTask to access the task information\n                if (data) {\n                    data.taskData = taskData;\n                }\n                var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n                // should clear taskData.target to avoid memory leak\n                // issue, https://github.com/angular/angular/issues/20442\n                taskData.target = null;\n                // need to clear up taskData because it is a global object\n                if (data) {\n                    data.taskData = null;\n                }\n                // have to save those information to task in case\n                // application may call task.zone.cancelTask() directly\n                if (once) {\n                    options.once = true;\n                }\n                if (!(!passiveSupported && typeof task.options === 'boolean')) {\n                    // if not support passive, and we pass an option object\n                    // to addEventListener, we should save the options to task\n                    task.options = options;\n                }\n                task.target = target;\n                task.capture = capture;\n                task.eventName = eventName;\n                if (isHandleEvent) {\n                    // save original delegate for compare to check duplicate\n                    task.originalDelegate = delegate;\n                }\n                if (!prepend) {\n                    existingTasks.push(task);\n                }\n                else {\n                    existingTasks.unshift(task);\n                }\n                if (returnTarget) {\n                    return target;\n                }\n            };\n        };\n        proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n        if (nativePrependEventListener) {\n            proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n        }\n        proto[REMOVE_EVENT_LISTENER] = function () {\n            var target = this || _global;\n            var eventName = arguments[0];\n            var options = arguments[2];\n            var capture;\n            if (options === undefined) {\n                capture = false;\n            }\n            else if (options === true) {\n                capture = true;\n            }\n            else if (options === false) {\n                capture = false;\n            }\n            else {\n                capture = options ? !!options.capture : false;\n            }\n            var delegate = arguments[1];\n            if (!delegate) {\n                return nativeRemoveEventListener.apply(this, arguments);\n            }\n            if (validateHandler &&\n                !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n                return;\n            }\n            var symbolEventNames = zoneSymbolEventNames$1[eventName];\n            var symbolEventName;\n            if (symbolEventNames) {\n                symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n            }\n            var existingTasks = symbolEventName && target[symbolEventName];\n            if (existingTasks) {\n                for (var i = 0; i < existingTasks.length; i++) {\n                    var existingTask = existingTasks[i];\n                    if (compare(existingTask, delegate)) {\n                        existingTasks.splice(i, 1);\n                        // set isRemoved to data for faster invokeTask check\n                        existingTask.isRemoved = true;\n                        if (existingTasks.length === 0) {\n                            // all tasks for the eventName + capture have gone,\n                            // remove globalZoneAwareCallback and remove the task cache from target\n                            existingTask.allRemoved = true;\n                            target[symbolEventName] = null;\n                        }\n                        existingTask.zone.cancelTask(existingTask);\n                        if (returnTarget) {\n                            return target;\n                        }\n                        return;\n                    }\n                }\n            }\n            // issue 930, didn't find the event name or callback\n            // from zone kept existingTasks, the callback maybe\n            // added outside of zone, we need to call native removeEventListener\n            // to try to remove it.\n            return nativeRemoveEventListener.apply(this, arguments);\n        };\n        proto[LISTENERS_EVENT_LISTENER] = function () {\n            var target = this || _global;\n            var eventName = arguments[0];\n            var listeners = [];\n            var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n            for (var i = 0; i < tasks.length; i++) {\n                var task = tasks[i];\n                var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n                listeners.push(delegate);\n            }\n            return listeners;\n        };\n        proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n            var target = this || _global;\n            var eventName = arguments[0];\n            if (!eventName) {\n                var keys = Object.keys(target);\n                for (var i = 0; i < keys.length; i++) {\n                    var prop = keys[i];\n                    var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n                    var evtName = match && match[1];\n                    // in nodejs EventEmitter, removeListener event is\n                    // used for monitoring the removeListener call,\n                    // so just keep removeListener eventListener until\n                    // all other eventListeners are removed\n                    if (evtName && evtName !== 'removeListener') {\n                        this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n                    }\n                }\n                // remove removeListener listener finally\n                this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n            }\n            else {\n                var symbolEventNames = zoneSymbolEventNames$1[eventName];\n                if (symbolEventNames) {\n                    var symbolEventName = symbolEventNames[FALSE_STR];\n                    var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n                    var tasks = target[symbolEventName];\n                    var captureTasks = target[symbolCaptureEventName];\n                    if (tasks) {\n                        var removeTasks = tasks.slice();\n                        for (var i = 0; i < removeTasks.length; i++) {\n                            var task = removeTasks[i];\n                            var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n                            this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n                        }\n                    }\n                    if (captureTasks) {\n                        var removeTasks = captureTasks.slice();\n                        for (var i = 0; i < removeTasks.length; i++) {\n                            var task = removeTasks[i];\n                            var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n                            this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n                        }\n                    }\n                }\n            }\n            if (returnTarget) {\n                return this;\n            }\n        };\n        // for native toString patch\n        attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n        attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n        if (nativeRemoveAllListeners) {\n            attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n        }\n        if (nativeListeners) {\n            attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n        }\n        return true;\n    }\n    var results = [];\n    for (var i = 0; i < apis.length; i++) {\n        results[i] = patchEventTargetMethods(apis[i], patchOptions);\n    }\n    return results;\n}\nfunction findEventTasks(target, eventName) {\n    var foundTasks = [];\n    for (var prop in target) {\n        var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n        var evtName = match && match[1];\n        if (evtName && (!eventName || evtName === eventName)) {\n            var tasks = target[prop];\n            if (tasks) {\n                for (var i = 0; i < tasks.length; i++) {\n                    foundTasks.push(tasks[i]);\n                }\n            }\n        }\n    }\n    return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n    var Event = global['Event'];\n    if (Event && Event.prototype) {\n        api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n            self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n            // we need to call the native stopImmediatePropagation\n            // in case in some hybrid application, some part of\n            // application will be controlled by zone, some are not\n            delegate && delegate.apply(self, args);\n        }; });\n    }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n    var setNative = null;\n    var clearNative = null;\n    setName += nameSuffix;\n    cancelName += nameSuffix;\n    var tasksByHandleId = {};\n    function scheduleTask(task) {\n        var data = task.data;\n        function timer() {\n            try {\n                task.invoke.apply(this, arguments);\n            }\n            finally {\n                // issue-934, task will be cancelled\n                // even it is a periodic task such as\n                // setInterval\n                if (!(task.data && task.data.isPeriodic)) {\n                    if (typeof data.handleId === 'number') {\n                        // in non-nodejs env, we remove timerId\n                        // from local cache\n                        delete tasksByHandleId[data.handleId];\n                    }\n                    else if (data.handleId) {\n                        // Node returns complex objects as handleIds\n                        // we remove task reference from timer object\n                        data.handleId[taskSymbol] = null;\n                    }\n                }\n            }\n        }\n        data.args[0] = timer;\n        data.handleId = setNative.apply(window, data.args);\n        return task;\n    }\n    function clearTask(task) {\n        return clearNative(task.data.handleId);\n    }\n    setNative =\n        patchMethod(window, setName, function (delegate) { return function (self, args) {\n            if (typeof args[0] === 'function') {\n                var options = {\n                    isPeriodic: nameSuffix === 'Interval',\n                    delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n                        undefined,\n                    args: args\n                };\n                var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n                if (!task) {\n                    return task;\n                }\n                // Node.js must additionally support the ref and unref functions.\n                var handle = task.data.handleId;\n                if (typeof handle === 'number') {\n                    // for non nodejs env, we save handleId: task\n                    // mapping in local cache for clearTimeout\n                    tasksByHandleId[handle] = task;\n                }\n                else if (handle) {\n                    // for nodejs env, we save task\n                    // reference in timerId Object for clearTimeout\n                    handle[taskSymbol] = task;\n                }\n                // check whether handle is null, because some polyfill or browser\n                // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n                if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n                    typeof handle.unref === 'function') {\n                    task.ref = handle.ref.bind(handle);\n                    task.unref = handle.unref.bind(handle);\n                }\n                if (typeof handle === 'number' || handle) {\n                    return handle;\n                }\n                return task;\n            }\n            else {\n                // cause an error by calling it directly.\n                return delegate.apply(window, args);\n            }\n        }; });\n    clearNative =\n        patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n            var id = args[0];\n            var task;\n            if (typeof id === 'number') {\n                // non nodejs env.\n                task = tasksByHandleId[id];\n            }\n            else {\n                // nodejs env.\n                task = id && id[taskSymbol];\n                // other environments.\n                if (!task) {\n                    task = id;\n                }\n            }\n            if (task && typeof task.type === 'string') {\n                if (task.state !== 'notScheduled' &&\n                    (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n                    if (typeof id === 'number') {\n                        delete tasksByHandleId[id];\n                    }\n                    else if (id) {\n                        id[taskSymbol] = null;\n                    }\n                    // Do not cancel already canceled functions\n                    task.zone.cancelTask(task);\n                }\n            }\n            else {\n                // cause an error by calling it directly.\n                delegate.apply(window, args);\n            }\n        }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n    Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n    Object.defineProperty = function (obj, prop, desc) {\n        if (isUnconfigurable(obj, prop)) {\n            throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n        }\n        var originalConfigurableFlag = desc.configurable;\n        if (prop !== 'prototype') {\n            desc = rewriteDescriptor(obj, prop, desc);\n        }\n        return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n    };\n    Object.defineProperties = function (obj, props) {\n        Object.keys(props).forEach(function (prop) {\n            Object.defineProperty(obj, prop, props[prop]);\n        });\n        return obj;\n    };\n    Object.create = function (obj, proto) {\n        if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n            Object.keys(proto).forEach(function (prop) {\n                proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n            });\n        }\n        return _create(obj, proto);\n    };\n    Object.getOwnPropertyDescriptor = function (obj, prop) {\n        var desc = _getOwnPropertyDescriptor(obj, prop);\n        if (desc && isUnconfigurable(obj, prop)) {\n            desc.configurable = false;\n        }\n        return desc;\n    };\n}\nfunction _redefineProperty(obj, prop, desc) {\n    var originalConfigurableFlag = desc.configurable;\n    desc = rewriteDescriptor(obj, prop, desc);\n    return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n    return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n    // issue-927, if the desc is frozen, don't try to change the desc\n    if (!Object.isFrozen(desc)) {\n        desc.configurable = true;\n    }\n    if (!desc.configurable) {\n        // issue-927, if the obj is frozen, don't try to set the desc to obj\n        if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n            _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n        }\n        if (obj[unconfigurablesKey]) {\n            obj[unconfigurablesKey][prop] = true;\n        }\n    }\n    return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n    try {\n        return _defineProperty(obj, prop, desc);\n    }\n    catch (error) {\n        if (desc.configurable) {\n            // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n            // retry with the original flag value\n            if (typeof originalConfigurableFlag == 'undefined') {\n                delete desc.configurable;\n            }\n            else {\n                desc.configurable = originalConfigurableFlag;\n            }\n            try {\n                return _defineProperty(obj, prop, desc);\n            }\n            catch (error) {\n                var descJson = null;\n                try {\n                    descJson = JSON.stringify(desc);\n                }\n                catch (error) {\n                    descJson = desc.toString();\n                }\n                console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n            }\n        }\n        else {\n            throw error;\n        }\n    }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n    var WS = _global.WebSocket;\n    // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n    // On older Chrome, no need since EventTarget was already patched\n    if (!_global.EventTarget) {\n        patchEventTarget(_global, [WS.prototype]);\n    }\n    _global.WebSocket = function (x, y) {\n        var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n        var proxySocket;\n        var proxySocketProto;\n        // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n        var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n        if (onmessageDesc && onmessageDesc.configurable === false) {\n            proxySocket = ObjectCreate(socket);\n            // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n            // but proxySocket not, so we will keep socket as prototype and pass it to\n            // patchOnProperties method\n            proxySocketProto = socket;\n            [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n                proxySocket[propName] = function () {\n                    var args = ArraySlice.call(arguments);\n                    if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n                        var eventName = args.length > 0 ? args[0] : undefined;\n                        if (eventName) {\n                            var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n                            socket[propertySymbol] = proxySocket[propertySymbol];\n                        }\n                    }\n                    return socket[propName].apply(socket, args);\n                };\n            });\n        }\n        else {\n            // we can patch the real socket\n            proxySocket = socket;\n        }\n        patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n        return proxySocket;\n    };\n    var globalWebSocket = _global['WebSocket'];\n    for (var prop in WS) {\n        globalWebSocket[prop] = WS[prop];\n    }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n    'abort',\n    'animationcancel',\n    'animationend',\n    'animationiteration',\n    'auxclick',\n    'beforeinput',\n    'blur',\n    'cancel',\n    'canplay',\n    'canplaythrough',\n    'change',\n    'compositionstart',\n    'compositionupdate',\n    'compositionend',\n    'cuechange',\n    'click',\n    'close',\n    'contextmenu',\n    'curechange',\n    'dblclick',\n    'drag',\n    'dragend',\n    'dragenter',\n    'dragexit',\n    'dragleave',\n    'dragover',\n    'drop',\n    'durationchange',\n    'emptied',\n    'ended',\n    'error',\n    'focus',\n    'focusin',\n    'focusout',\n    'gotpointercapture',\n    'input',\n    'invalid',\n    'keydown',\n    'keypress',\n    'keyup',\n    'load',\n    'loadstart',\n    'loadeddata',\n    'loadedmetadata',\n    'lostpointercapture',\n    'mousedown',\n    'mouseenter',\n    'mouseleave',\n    'mousemove',\n    'mouseout',\n    'mouseover',\n    'mouseup',\n    'mousewheel',\n    'orientationchange',\n    'pause',\n    'play',\n    'playing',\n    'pointercancel',\n    'pointerdown',\n    'pointerenter',\n    'pointerleave',\n    'pointerlockchange',\n    'mozpointerlockchange',\n    'webkitpointerlockerchange',\n    'pointerlockerror',\n    'mozpointerlockerror',\n    'webkitpointerlockerror',\n    'pointermove',\n    'pointout',\n    'pointerover',\n    'pointerup',\n    'progress',\n    'ratechange',\n    'reset',\n    'resize',\n    'scroll',\n    'seeked',\n    'seeking',\n    'select',\n    'selectionchange',\n    'selectstart',\n    'show',\n    'sort',\n    'stalled',\n    'submit',\n    'suspend',\n    'timeupdate',\n    'volumechange',\n    'touchcancel',\n    'touchmove',\n    'touchstart',\n    'touchend',\n    'transitioncancel',\n    'transitionend',\n    'waiting',\n    'wheel'\n];\nvar documentEventNames = [\n    'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n    'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n    'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n    'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n    'absolutedeviceorientation',\n    'afterinput',\n    'afterprint',\n    'appinstalled',\n    'beforeinstallprompt',\n    'beforeprint',\n    'beforeunload',\n    'devicelight',\n    'devicemotion',\n    'deviceorientation',\n    'deviceorientationabsolute',\n    'deviceproximity',\n    'hashchange',\n    'languagechange',\n    'message',\n    'mozbeforepaint',\n    'offline',\n    'online',\n    'paint',\n    'pageshow',\n    'pagehide',\n    'popstate',\n    'rejectionhandled',\n    'storage',\n    'unhandledrejection',\n    'unload',\n    'userproximity',\n    'vrdisplyconnected',\n    'vrdisplaydisconnected',\n    'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n    'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n    'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n    'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n    'activate',\n    'afterupdate',\n    'ariarequest',\n    'beforeactivate',\n    'beforedeactivate',\n    'beforeeditfocus',\n    'beforeupdate',\n    'cellchange',\n    'controlselect',\n    'dataavailable',\n    'datasetchanged',\n    'datasetcomplete',\n    'errorupdate',\n    'filterchange',\n    'layoutcomplete',\n    'losecapture',\n    'move',\n    'moveend',\n    'movestart',\n    'propertychange',\n    'resizeend',\n    'resizestart',\n    'rowenter',\n    'rowexit',\n    'rowsdelete',\n    'rowsinserted',\n    'command',\n    'compassneedscalibration',\n    'deactivate',\n    'help',\n    'mscontentzoom',\n    'msmanipulationstatechanged',\n    'msgesturechange',\n    'msgesturedoubletap',\n    'msgestureend',\n    'msgesturehold',\n    'msgesturestart',\n    'msgesturetap',\n    'msgotpointercapture',\n    'msinertiastart',\n    'mslostpointercapture',\n    'mspointercancel',\n    'mspointerdown',\n    'mspointerenter',\n    'mspointerhover',\n    'mspointerleave',\n    'mspointermove',\n    'mspointerout',\n    'mspointerover',\n    'mspointerup',\n    'pointerout',\n    'mssitemodejumplistitemremoved',\n    'msthumbnailclick',\n    'stop',\n    'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n    'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n    'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n    if (!ignoreProperties || ignoreProperties.length === 0) {\n        return onProperties;\n    }\n    var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n    if (!tip || tip.length === 0) {\n        return onProperties;\n    }\n    var targetIgnoreProperties = tip[0].ignoreProperties;\n    return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n    // check whether target is available, sometimes target will be undefined\n    // because different browser or some 3rd party plugin.\n    if (!target) {\n        return;\n    }\n    var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n    patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n    if (isNode && !isMix) {\n        return;\n    }\n    var supportsWebSocket = typeof WebSocket !== 'undefined';\n    if (canPatchViaPropertyDescriptor()) {\n        var ignoreProperties = _global['__Zone_ignore_on_properties'];\n        // for browsers that we can patch the descriptor:  Chrome & Firefox\n        if (isBrowser) {\n            var internalWindow = window;\n            var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n            // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n            // so we need to pass WindowPrototype to check onProp exist or not\n            patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n            patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n            if (typeof internalWindow['SVGElement'] !== 'undefined') {\n                patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n            }\n            patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n            patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n            patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n            patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n            patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n            patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n            patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n            var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n            if (HTMLMarqueeElement_1) {\n                patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n            }\n            var Worker_1 = internalWindow['Worker'];\n            if (Worker_1) {\n                patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n            }\n        }\n        patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n        var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n        if (XMLHttpRequestEventTarget_1) {\n            patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n        }\n        if (typeof IDBIndex !== 'undefined') {\n            patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n            patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n            patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n            patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n            patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n            patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n        }\n        if (supportsWebSocket) {\n            patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n        }\n    }\n    else {\n        // Safari, Android browsers (Jelly Bean)\n        patchViaCapturingAllTheEvents();\n        patchClass('XMLHttpRequest');\n        if (supportsWebSocket) {\n            apply(api, _global);\n        }\n    }\n}\nfunction canPatchViaPropertyDescriptor() {\n    if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n        typeof Element !== 'undefined') {\n        // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n        // IDL interface attributes are not configurable\n        var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n        if (desc && !desc.configurable)\n            return false;\n    }\n    var ON_READY_STATE_CHANGE = 'onreadystatechange';\n    var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n    var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n    // add enumerable and configurable here because in opera\n    // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n    // without adding enumerable and configurable will cause onreadystatechange\n    // non-configurable\n    // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n    // we should set a real desc instead a fake one\n    if (xhrDesc) {\n        ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n            enumerable: true,\n            configurable: true,\n            get: function () {\n                return true;\n            }\n        });\n        var req = new XMLHttpRequest();\n        var result = !!req.onreadystatechange;\n        // restore original desc\n        ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n        return result;\n    }\n    else {\n        var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n        ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n            enumerable: true,\n            configurable: true,\n            get: function () {\n                return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n            },\n            set: function (value) {\n                this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n            }\n        });\n        var req = new XMLHttpRequest();\n        var detectFunc = function () { };\n        req.onreadystatechange = detectFunc;\n        var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n        req.onreadystatechange = null;\n        return result;\n    }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n    var _loop_1 = function (i) {\n        var property = eventNames[i];\n        var onproperty = 'on' + property;\n        self.addEventListener(property, function (event) {\n            var elt = event.target, bound, source;\n            if (elt) {\n                source = elt.constructor['name'] + '.' + onproperty;\n            }\n            else {\n                source = 'unknown.' + onproperty;\n            }\n            while (elt) {\n                if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n                    bound = wrapWithCurrentZone(elt[onproperty], source);\n                    bound[unboundKey] = elt[onproperty];\n                    elt[onproperty] = bound;\n                }\n                elt = elt.parentElement;\n            }\n        }, true);\n    };\n    for (var i = 0; i < eventNames.length; i++) {\n        _loop_1(i);\n    }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n    var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n    var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n        .split(',');\n    var EVENT_TARGET = 'EventTarget';\n    var apis = [];\n    var isWtf = _global['wtf'];\n    var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n    if (isWtf) {\n        // Workaround for: https://github.com/google/tracing-framework/issues/555\n        apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n    }\n    else if (_global[EVENT_TARGET]) {\n        apis.push(EVENT_TARGET);\n    }\n    else {\n        // Note: EventTarget is not available in all browsers,\n        // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n        apis = NO_EVENT_TARGET;\n    }\n    var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n    var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n    var ieOrEdge = isIEOrEdge();\n    var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n    var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n    var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n    //  predefine all __zone_symbol__ + eventName + true/false string\n    for (var i = 0; i < eventNames.length; i++) {\n        var eventName = eventNames[i];\n        var falseEventName = eventName + FALSE_STR;\n        var trueEventName = eventName + TRUE_STR;\n        var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n        var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n        zoneSymbolEventNames$1[eventName] = {};\n        zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n        zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n    }\n    //  predefine all task.source string\n    for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n        var target = WTF_ISSUE_555_ARRAY[i];\n        var targets = globalSources[target] = {};\n        for (var j = 0; j < eventNames.length; j++) {\n            var eventName = eventNames[j];\n            targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n        }\n    }\n    var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n        if (!isDisableIECheck && ieOrEdge) {\n            if (isEnableCrossContextCheck) {\n                try {\n                    var testString = delegate.toString();\n                    if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n                        nativeDelegate.apply(target, args);\n                        return false;\n                    }\n                }\n                catch (error) {\n                    nativeDelegate.apply(target, args);\n                    return false;\n                }\n            }\n            else {\n                var testString = delegate.toString();\n                if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n                    nativeDelegate.apply(target, args);\n                    return false;\n                }\n            }\n        }\n        else if (isEnableCrossContextCheck) {\n            try {\n                delegate.toString();\n            }\n            catch (error) {\n                nativeDelegate.apply(target, args);\n                return false;\n            }\n        }\n        return true;\n    };\n    var apiTypes = [];\n    for (var i = 0; i < apis.length; i++) {\n        var type = _global[apis[i]];\n        apiTypes.push(type && type.prototype);\n    }\n    // vh is validateHandler to check event handler\n    // is valid or not(for security check)\n    patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n    api.patchEventTarget = patchEventTarget;\n    return true;\n}\nfunction patchEvent(global, api) {\n    patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n    var symbol = Zone.__symbol__(method);\n    if (target[symbol]) {\n        return;\n    }\n    var nativeDelegate = target[symbol] = target[method];\n    target[method] = function (name, opts, options) {\n        if (opts && opts.prototype) {\n            callbacks.forEach(function (callback) {\n                var source = targetName + \".\" + method + \"::\" + callback;\n                var prototype = opts.prototype;\n                if (prototype.hasOwnProperty(callback)) {\n                    var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n                    if (descriptor && descriptor.value) {\n                        descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n                        _redefineProperty(opts.prototype, callback, descriptor);\n                    }\n                    else if (prototype[callback]) {\n                        prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n                    }\n                }\n                else if (prototype[callback]) {\n                    prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n                }\n            });\n        }\n        return nativeDelegate.call(target, name, opts, options);\n    };\n    attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n    if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n        return;\n    }\n    var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n    patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n    if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n        return;\n    }\n    var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n    patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n    api.patchOnProperties = patchOnProperties;\n    api.patchMethod = patchMethod;\n    api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n    var set = 'set';\n    var clear = 'clear';\n    patchTimer(global, set, clear, 'Timeout');\n    patchTimer(global, set, clear, 'Interval');\n    patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n    patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n    patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n    patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n    var blockingMethods = ['alert', 'prompt', 'confirm'];\n    for (var i = 0; i < blockingMethods.length; i++) {\n        var name_1 = blockingMethods[i];\n        patchMethod(global, name_1, function (delegate, symbol, name) {\n            return function (s, args) {\n                return Zone.current.run(delegate, global, args, name);\n            };\n        });\n    }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n    // load blackListEvents from global\n    var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n    if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n        Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n    }\n    patchEvent(global, api);\n    eventTargetPatch(global, api);\n    // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n    var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n    if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n        api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n    }\n    patchClass('MutationObserver');\n    patchClass('WebKitMutationObserver');\n    patchClass('IntersectionObserver');\n    patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n    propertyDescriptorPatch(api, global);\n    propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n    registerElementPatch(global);\n    patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n    var HTMLCanvasElement = global['HTMLCanvasElement'];\n    if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n        HTMLCanvasElement.prototype.toBlob) {\n        patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n            return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n        });\n    }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n    // Treat XMLHttpRequest as a macrotask.\n    patchXHR(global);\n    var XHR_TASK = zoneSymbol('xhrTask');\n    var XHR_SYNC = zoneSymbol('xhrSync');\n    var XHR_LISTENER = zoneSymbol('xhrListener');\n    var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n    var XHR_URL = zoneSymbol('xhrURL');\n    var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n    function patchXHR(window) {\n        var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n        function findPendingTask(target) {\n            return target[XHR_TASK];\n        }\n        var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n        var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n        if (!oriAddListener) {\n            var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n            if (XMLHttpRequestEventTarget_1) {\n                var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n                oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n                oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n            }\n        }\n        var READY_STATE_CHANGE = 'readystatechange';\n        var SCHEDULED = 'scheduled';\n        function scheduleTask(task) {\n            var data = task.data;\n            var target = data.target;\n            target[XHR_SCHEDULED] = false;\n            target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n            // remove existing event listener\n            var listener = target[XHR_LISTENER];\n            if (!oriAddListener) {\n                oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n                oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n            }\n            if (listener) {\n                oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n            }\n            var newListener = target[XHR_LISTENER] = function () {\n                if (target.readyState === target.DONE) {\n                    // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n                    // readyState=4 multiple times, so we need to check task state here\n                    if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n                        // check whether the xhr has registered onload listener\n                        // if that is the case, the task should invoke after all\n                        // onload listeners finish.\n                        var loadTasks = target['__zone_symbol__loadfalse'];\n                        if (loadTasks && loadTasks.length > 0) {\n                            var oriInvoke_1 = task.invoke;\n                            task.invoke = function () {\n                                // need to load the tasks again, because in other\n                                // load listener, they may remove themselves\n                                var loadTasks = target['__zone_symbol__loadfalse'];\n                                for (var i = 0; i < loadTasks.length; i++) {\n                                    if (loadTasks[i] === task) {\n                                        loadTasks.splice(i, 1);\n                                    }\n                                }\n                                if (!data.aborted && task.state === SCHEDULED) {\n                                    oriInvoke_1.call(task);\n                                }\n                            };\n                            loadTasks.push(task);\n                        }\n                        else {\n                            task.invoke();\n                        }\n                    }\n                    else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n                        // error occurs when xhr.send()\n                        target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n                    }\n                }\n            };\n            oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n            var storedTask = target[XHR_TASK];\n            if (!storedTask) {\n                target[XHR_TASK] = task;\n            }\n            sendNative.apply(target, data.args);\n            target[XHR_SCHEDULED] = true;\n            return task;\n        }\n        function placeholderCallback() { }\n        function clearTask(task) {\n            var data = task.data;\n            // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n            // to prevent it from firing. So instead, we store info for the event listener.\n            data.aborted = true;\n            return abortNative.apply(data.target, data.args);\n        }\n        var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n            self[XHR_SYNC] = args[2] == false;\n            self[XHR_URL] = args[1];\n            return openNative.apply(self, args);\n        }; });\n        var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n        var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n        var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n        var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n            if (Zone.current[fetchTaskScheduling] === true) {\n                // a fetch is scheduling, so we are using xhr to polyfill fetch\n                // and because we already schedule macroTask for fetch, we should\n                // not schedule a macroTask for xhr again\n                return sendNative.apply(self, args);\n            }\n            if (self[XHR_SYNC]) {\n                // if the XHR is sync there is no task to schedule, just execute the code.\n                return sendNative.apply(self, args);\n            }\n            else {\n                var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n                var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n                if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n                    task.state === SCHEDULED) {\n                    // xhr request throw error when send\n                    // we should invoke task instead of leaving a scheduled\n                    // pending macroTask\n                    task.invoke();\n                }\n            }\n        }; });\n        var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n            var task = findPendingTask(self);\n            if (task && typeof task.type == 'string') {\n                // If the XHR has already completed, do nothing.\n                // If the XHR has already been aborted, do nothing.\n                // Fix #569, call abort multiple times before done will cause\n                // macroTask task count be negative number\n                if (task.cancelFn == null || (task.data && task.data.aborted)) {\n                    return;\n                }\n                task.zone.cancelTask(task);\n            }\n            else if (Zone.current[fetchTaskAborting] === true) {\n                // the abort is called from fetch polyfill, we need to call native abort of XHR.\n                return abortNative.apply(self, args);\n            }\n            // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n            // task\n            // to cancel. Do nothing.\n        }; });\n    }\n});\nZone.__load_patch('geolocation', function (global) {\n    /// GEO_LOCATION\n    if (global['navigator'] && global['navigator'].geolocation) {\n        patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n    }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n    // handle unhandled promise rejection\n    function findPromiseRejectionHandler(evtName) {\n        return function (e) {\n            var eventTasks = findEventTasks(global, evtName);\n            eventTasks.forEach(function (eventTask) {\n                // windows has added unhandledrejection event listener\n                // trigger the event listener\n                var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n                if (PromiseRejectionEvent) {\n                    var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n                    eventTask.invoke(evt);\n                }\n            });\n        };\n    }\n    if (global['PromiseRejectionEvent']) {\n        Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n            findPromiseRejectionHandler('unhandledrejection');\n        Zone[zoneSymbol('rejectionHandledHandler')] =\n            findPromiseRejectionHandler('rejectionhandled');\n    }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n  var receiver = arguments.length < 3 ? target : arguments[2];\n  var desc, proto;\n  if (anObject(target) === receiver) return target[propertyKey];\n  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n    ? desc.value\n    : desc.get !== undefined\n      ? desc.get.call(receiver)\n      : undefined;\n  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n  return function fixed() {\n    return createHTML(this, 'tt', '', '');\n  };\n});\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n  if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n  return String(defined(that));\n};\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n  var string = $trim(String(str), 3);\n  var result = $parseFloat(string);\n  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n  }\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    /* global ActiveXObject */\n    activeXDocument = document.domain && new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n  atanh: function atanh(x) {\n    return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n  }\n});\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) redefine(target, key, src[key], safe);\n  return target;\n};\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n  rApply(function () { /* empty */ });\n}), 'Reflect', {\n  apply: function apply(target, thisArgument, argumentsList) {\n    var T = aFunction(target);\n    var L = anObject(argumentsList);\n    return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n  }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n  if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n  var parent = getPrototypeOf(O);\n  return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n  return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n  ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","require('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nmodule.exports = require('../modules/_core').Function;\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n  var Base = global[NAME];\n  var C = Base;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var proto = C && C.prototype;\n  var O = {};\n  var fixMethod = function (KEY) {\n    var fn = proto[KEY];\n    redefine(proto, KEY,\n      KEY == 'delete' ? function (a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'has' ? function has(a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'get' ? function get(a) {\n        return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n        : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n    );\n  };\n  if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n    new C().entries().next();\n  }))) {\n    // create collection constructor\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    var instance = new C();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new C();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n    if (!ACCEPT_ITERABLES) {\n      C = wrapper(function (target, iterable) {\n        anInstance(target, C, NAME);\n        var that = inheritIfRequired(new Base(), target, C);\n        if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n        return that;\n      });\n      C.prototype = proto;\n      proto.constructor = C;\n    }\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n    // weak collections should not contains .clear method\n    if (IS_WEAK && proto.clear) delete proto.clear;\n  }\n\n  setToStringTag(C, NAME);\n\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F * (C != Base), O);\n\n  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n  return C;\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","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\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","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\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","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n    return gOPD.f(anObject(target), propertyKey);\n  }\n});\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n  function F() { /* empty */ }\n  return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n  // 22.1.2.3 Array.of( ...items)\n  of: function of(/* ...args */) {\n    var index = 0;\n    var aLen = arguments.length;\n    var result = new (typeof this == 'function' ? this : Array)(aLen);\n    while (aLen > index) createProperty(result, index, arguments[index++]);\n    result.length = aLen;\n    return result;\n  }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n  var C;\n  if (isArray(original)) {\n    C = original.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\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 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 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 metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n  return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n    , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\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 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","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n  forEach: function forEach(callbackfn /* , thisArg */) {\n    return $forEach(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n  return function small() {\n    return createHTML(this, 'small', '', '');\n  };\n});\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n  if (!(len in factories)) {\n    for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n    // eslint-disable-next-line no-new-func\n    factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n  } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n  var fn = aFunction(this);\n  var partArgs = arraySlice.call(arguments, 1);\n  var bound = function (/* args... */) {\n    var args = partArgs.concat(arraySlice.call(arguments));\n    return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n  };\n  if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n  return bound;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n  for (var key in src) redefine(target, key, src[key], options);\n  return target;\n};\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\n\nmodule.exports = require('../modules/_core').Object;\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.1.3.6 Map.prototype.get(key)\n  get: function get(key) {\n    var entry = strong.getEntry(validate(this, MAP), key);\n    return entry && entry.v;\n  },\n  // 23.1.3.9 Map.prototype.set(key, value)\n  set: function set(key, value) {\n    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n  }\n}, strong, true);\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n  return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n  imul: function imul(x, y) {\n    var UINT16 = 0xffff;\n    var xn = +x;\n    var yn = +y;\n    var xl = UINT16 & xn;\n    var yl = UINT16 & yn;\n    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n  }\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = context(this, searchString, STARTS_WITH);\n    var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return $startsWith\n      ? $startsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n  has: function has(target, propertyKey) {\n    return propertyKey in target;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n  var i = -1;\n  var c2 = c;\n  while (++i < 6) {\n    c2 += n * data[i];\n    data[i] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\nvar divide = function (n) {\n  var i = 6;\n  var c = 0;\n  while (--i >= 0) {\n    c += data[i];\n    data[i] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\nvar numToString = function () {\n  var i = 6;\n  var s = '';\n  while (--i >= 0) {\n    if (s !== '' || i === 0 || data[i] !== 0) {\n      var t = String(data[i]);\n      s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n    }\n  } return s;\n};\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n  // V8 ~ Android 4.3-\n  $toFixed.call({});\n})), 'Number', {\n  toFixed: function toFixed(fractionDigits) {\n    var x = aNumberValue(this, ERROR);\n    var f = toInteger(fractionDigits);\n    var s = '';\n    var m = ZERO;\n    var e, z, j, k;\n    if (f < 0 || f > 20) throw RangeError(ERROR);\n    // eslint-disable-next-line no-self-compare\n    if (x != x) return 'NaN';\n    if (x <= -1e21 || x >= 1e21) return String(x);\n    if (x < 0) {\n      s = '-';\n      x = -x;\n    }\n    if (x > 1e-21) {\n      e = log(x * pow(2, 69, 1)) - 69;\n      z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(0, z);\n        j = f;\n        while (j >= 7) {\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        m = numToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        m = numToString() + repeat.call(ZERO, f);\n      }\n    }\n    if (f > 0) {\n      k = m.length;\n      m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n    } else {\n      m = s + m;\n    } return m;\n  }\n});\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n  return new Date(NaN).toJSON() !== null\n    || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n  // eslint-disable-next-line no-unused-vars\n  toJSON: function toJSON(key) {\n    var O = toObject(this);\n    var pv = toPrimitive(O);\n    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n  }\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar ordinaryDefineOwnMetadata = ReflectMetadataModule.set;\n\n// `Reflect.metadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  metadata: function metadata(metadataKey, metadataValue) {\n    return function decorator(target, key) {\n      ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));\n    };\n  }\n});\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar ordinaryGetOwnMetadata = ReflectMetadataModule.get;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n  if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n  var parent = getPrototypeOf(O);\n  return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\n// `Reflect.getMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n    return ordinaryGetMetadata(metadataKey, anObject(target), targetKey);\n  }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n  return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n    , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n  require('./_redefine')(Object.prototype, 'toString', function toString() {\n    return '[object ' + classof(this) + ']';\n  }, true);\n}\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\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.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\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  var create = $create || asc;\n  return function ($this, callbackfn, that) {\n    var O = toObject($this);\n    var self = IObject(O);\n    var f = ctx(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var val, res;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      val = self[index];\n      res = f(val, index, O);\n      if (TYPE) {\n        if (IS_MAP) result[index] = res;   // map\n        else if (res) switch (TYPE) {\n          case 3: return true;             // some\n          case 5: return val;              // find\n          case 6: return index;            // findIndex\n          case 2: result.push(val);        // filter\n        } else if (IS_EVERY) return false; // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n","require('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nmodule.exports = require('../modules/_core').Math;\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n  return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n  this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n  return find(store.entries, function (it) {\n    return it[0] === key;\n  });\n};\n\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.entries.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = findIndex(this.entries, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.entries.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        id: id++,\n        frozen: undefined\n      });\n      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var data = getWeakData(anObject(key), true);\n      if (data === true) uncaughtFrozenStore(state).set(key, value);\n      else data[state.id] = value;\n      return that;\n    };\n\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n        return data && $has(data, state.id) && delete data[state.id];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state).has(key);\n        return data && $has(data, state.id);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.3.3.3 WeakMap.prototype.get(key)\n      get: function get(key) {\n        var state = getInternalState(this);\n        if (isObject(key)) {\n          var data = getWeakData(key);\n          if (data === true) return uncaughtFrozenStore(state).get(key);\n          return data ? data[state.id] : undefined;\n        }\n      },\n      // 23.3.3.5 WeakMap.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key, value);\n      }\n    } : {\n      // 23.4.3.1 WeakSet.prototype.add(value)\n      add: function add(value) {\n        return define(this, value, true);\n      }\n    });\n\n    return C;\n  }\n};\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n  reduce: function reduce(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n  }\n});\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n  return function freeze(it) {\n    return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n  };\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\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","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n  return function WeakMap() {\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\n\nvar methods = {\n  // 23.3.3.3 WeakMap.prototype.get(key)\n  get: function get(key) {\n    if (isObject(key)) {\n      var data = getWeak(key);\n      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  // 23.3.3.5 WeakMap.prototype.set(key, value)\n  set: function set(key, value) {\n    return weak.def(validate(this, WEAK_MAP), key, value);\n  }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function (key) {\n    var proto = $WeakMap.prototype;\n    var method = proto[key];\n    redefine(proto, key, function (a, b) {\n      // store frozen objects on internal weakmap shim\n      if (isObject(a) && !isExtensible(a)) {\n        if (!this._f) this._f = new InternalMap();\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      // store all the rest on native weakmap\n      } return method.call(this, a, b);\n    });\n  });\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","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\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 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';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n  return function strike() {\n    return createHTML(this, 'strike', '', '');\n  };\n});\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n  // 21.1.3.13 String.prototype.repeat(count)\n  repeat: require('./_string-repeat')\n});\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n  return function isExtensible(it) {\n    return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n  };\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 getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\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 (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\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 !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n  rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\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 rConstruct(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","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n  if (html) arraySlice.call(html);\n}), 'Array', {\n  slice: function slice(begin, end) {\n    var len = toLength(this.length);\n    var klass = cof(this);\n    end = end === undefined ? len : end;\n    if (klass == 'Array') return arraySlice.call(this, begin, end);\n    var start = toAbsoluteIndex(begin, len);\n    var upTo = toAbsoluteIndex(end, len);\n    var size = toLength(upTo - start);\n    var cloned = new Array(size);\n    var i = 0;\n    for (; i < size; i++) cloned[i] = klass == 'String'\n      ? this.charAt(start + i)\n      : this[start + i];\n    return cloned;\n  }\n});\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('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, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n  // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\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) {\n  var SYMBOL = wks(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    re.exec = function () { execCalled = true; return null; };\n    if (KEY === 'split') {\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    }\n    re[SYMBOL]('');\n    return !execCalled;\n  }) : undefined;\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var fns = exec(\n      defined,\n      SYMBOL,\n      ''[KEY],\n      function maybeCallNative(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    );\n    var strfn = fns[0];\n    var rxfn = fns[1];\n\n    redefine(String.prototype, KEY, strfn);\n    hide(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 rxfn.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 rxfn.call(string, this); }\n    );\n  }\n};\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n  if (typeof this != 'function' || !isObject(O)) return false;\n  if (!isObject(this.prototype)) return O instanceof this;\n  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n  while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n  return false;\n} });\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.getOwnMetadataKeys` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n    var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);\n    return ordinaryOwnMetadataKeys(anObject(target), targetKey);\n  }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n  isExtensible: function isExtensible(target) {\n    anObject(target);\n    return $isExtensible ? $isExtensible(target) : true;\n  }\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n  return function sup() {\n    return createHTML(this, 'sup', '', '');\n  };\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 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 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","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  cosh: function cosh(x) {\n    return (exp(x = +x) + exp(-x)) / 2;\n  }\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n  return require('./_object-gopn-ext').f;\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\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 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","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, 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(this);\n      if (separator === undefined && limit === 0) return [];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) return $split.call(string, separator, limit);\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      var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 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[LAST_INDEX];\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n          lastLength = match[0][LENGTH];\n          lastLastIndex = lastIndex;\n          if (output[LENGTH] >= splitLimit) break;\n        }\n        if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // 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] > splitLimit ? output.slice(0, splitLimit) : output;\n    };\n  // Chakra, V8\n  } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n    };\n  } else {\n    internalSplit = $split;\n  }\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 = defined(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 !== $split);\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});\n","var $ = require('../internals/export');\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nvar Set = require('../modules/es.set');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar iterate = require('../internals/iterate');\n\nvar ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar from = function (iter) {\n  var result = [];\n  iterate(iter, result.push, result);\n  return result;\n};\n\nvar ordinaryMetadataKeys = function (O, P) {\n  var oKeys = ordinaryOwnMetadataKeys(O, P);\n  var parent = getPrototypeOf(O);\n  if (parent === null) return oKeys;\n  var pKeys = ordinaryMetadataKeys(parent, P);\n  return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\n// `Reflect.getMetadataKeys` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n    var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);\n    return ordinaryMetadataKeys(anObject(target), targetKey);\n  }\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","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n  return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~context(this, searchString, INCLUDES)\n      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","module.exports = false;\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getPrototypeOf: function getPrototypeOf(target) {\n    return getProto(anObject(target));\n  }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n  // Old FF bug\n  || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n  // Tor Browser bug\n  || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\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","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","require('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nmodule.exports = require('../modules/_core').Number;\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call\n    arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n  });\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\n\nvar setMetadata = function (it) {\n  defineProperty(it, METADATA, { value: {\n    objectID: 'O' + ++id, // object ID\n    weakData: {}          // weak collections IDs\n  } });\n};\n\nvar fastKey = function (it, create) {\n  // return a primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMetadata(it);\n  // return object ID\n  } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n  if (!has(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMetadata(it);\n  // return the store of weak collections IDs\n  } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar meta = module.exports = {\n  REQUIRED: false,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\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","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  clz32: function clz32(x) {\n    return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n  }\n});\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// **********************************************************************************************\n// This code to access the global object is mostly copied from `packages/core/src/util/global.ts`\n\ndeclare global {\n  var WorkerGlobalScope: any;\n}\n\nconst __globalThis = typeof globalThis !== 'undefined' && globalThis;\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n    self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Always use __globalThis if available; this is the spec-defined global variable across all\n// environments.\n// Then fallback to __global first; in Node tests both __global and __window may be defined.\nexport const _global: any = __globalThis || __global || __window || __self;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport interface LocalizeFn {\n  (messageParts: TemplateStringsArray, ...expressions: readonly any[]): string;\n\n  /**\n   * A function that converts an input \"message with expressions\" into a translated \"message with\n   * expressions\".\n   *\n   * The conversion may be done in place, modifying the array passed to the function, so\n   * don't assume that this has no side-effects.\n   *\n   * The expressions must be passed in since it might be they need to be reordered for\n   * different translations.\n   */\n  translate?: TranslateFn;\n  /**\n   * The current locale of the translated messages.\n   *\n   * The compile-time translation inliner is able to replace the following code:\n   *\n   * ```\n   * typeof $localize !== \"undefined\" && $localize.locale\n   * ```\n   *\n   * with a string literal of the current locale. E.g.\n   *\n   * ```\n   * \"fr\"\n   * ```\n   */\n  locale?: string;\n}\n\nexport interface TranslateFn {\n  (messageParts: TemplateStringsArray,\n   expressions: readonly any[]): [TemplateStringsArray, readonly any[]];\n}\n\n/**\n * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular 18n guide](guide/i18n#template-translations).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n */\nexport const $localize: LocalizeFn = function(\n    messageParts: TemplateStringsArray, ...expressions: readonly any[]) {\n  if ($localize.translate) {\n    // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n    const translation = $localize.translate(messageParts, expressions);\n    messageParts = translation[0];\n    expressions = translation[1];\n  }\n  let message = stripBlock(messageParts[0], messageParts.raw[0]);\n  for (let i = 1; i < messageParts.length; i++) {\n    message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n  }\n  return message;\n};\n\nconst BLOCK_MARKER = ':';\n\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart: string, rawMessagePart: string) {\n  return rawMessagePart.charAt(0) === BLOCK_MARKER ?\n      messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1) :\n      messagePart;\n}\n\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nfunction findEndOfBlock(cooked: string, raw: string): number {\n  /***********************************************************************************************\n   * This function is repeated in `src/utils/messages.ts` and the two should be kept in sync.\n   * The reason is that this file is marked as having side-effects, and if we import `messages.ts`\n   * into it, the whole of `src/utils` will be included in this bundle and none of the functions\n   * will be tree shaken.\n   ***********************************************************************************************/\n  for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n    if (raw[rawIndex] === '\\\\') {\n      rawIndex++;\n    } else if (cooked[cookedIndex] === BLOCK_MARKER) {\n      return cookedIndex;\n    }\n  }\n  throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {_global} from './src/global';\nexport {$localize, LocalizeFn, TranslateFn} from './src/localize';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {$localize, _global, LocalizeFn} from '../src/localize';\n\nexport {LocalizeFn, TranslateFn} from '../src/localize';\n\n// Attach $localize to the global context, as a side-effect of this module.\n_global.$localize = $localize;\n\n// `declare global` allows us to escape the current module and place types on the global namespace\ndeclare global {\n  /**\n   * Tag a template literal string for localization.\n   *\n   * For example:\n   *\n   * ```ts\n   * $localize `some string to localize`\n   * ```\n   *\n   * **Providing meaning, description and id**\n   *\n   * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n   * string by pre-pending it with a colon delimited block of the form:\n   *\n   * ```ts\n   * $localize`:meaning|description@@id:source message text`;\n   *\n   * $localize`:meaning|:source message text`;\n   * $localize`:description:source message text`;\n   * $localize`:@@id:source message text`;\n   * ```\n   *\n   * This format is the same as that used for `i18n` markers in Angular templates. See the\n   * [Angular 18n guide](guide/i18n#template-translations).\n   *\n   * **Naming placeholders**\n   *\n   * If the template literal string contains expressions, then the expressions will be automatically\n   * associated with placeholder names for you.\n   *\n   * For example:\n   *\n   * ```ts\n   * $localize `Hi ${name}! There are ${items.length} items.`;\n   * ```\n   *\n   * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n   *\n   * The recommended practice is to name the placeholder associated with each expression though.\n   *\n   * Do this by providing the placeholder name wrapped in `:` characters directly after the\n   * expression. These placeholder names are stripped out of the rendered localized string.\n   *\n   * For example, to name the `items.length` expression placeholder `itemCount` you write:\n   *\n   * ```ts\n   * $localize `There are ${items.length}:itemCount: items`;\n   * ```\n   *\n   * **Escaping colon markers**\n   *\n   * If you need to use a `:` character directly at the start of a tagged string that has no\n   * metadata block, or directly after a substitution expression that has no name you must escape\n   * the `:` by preceding it with a backslash:\n   *\n   * For example:\n   *\n   * ```ts\n   * // message has a metadata block so no need to escape colon\n   * $localize `:some description::this message starts with a colon (:)`;\n   * // no metadata block so the colon must be escaped\n   * $localize `\\:this message starts with a colon (:)`;\n   * ```\n   *\n   * ```ts\n   * // named substitution so no need to escape colon\n   * $localize `${label}:label:: ${}`\n   * // anonymous substitution so colon must be escaped\n   * $localize `${label}\\: ${}`\n   * ```\n   *\n   * **Processing localized strings:**\n   *\n   * There are three scenarios:\n   *\n   * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n   * transpiler, removing the tag and replacing the template literal string with a translated\n   * literal string from a collection of translations provided to the transpilation tool.\n   *\n   * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n   * reorders the parts (static strings and expressions) of the template literal string with strings\n   * from a collection of translations loaded at run-time.\n   *\n   * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n   * the original template literal string without applying any translations to the parts. This\n   * version is used during development or where there is no need to translate the localized\n   * template literals.\n   *\n   * @param messageParts a collection of the static parts of the template string.\n   * @param expressions a collection of the values of each placeholder in the template string.\n   * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n   */\n  const $localize: LocalizeFn;\n}\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n  var targetMetadata = store.get(target);\n  if (!targetMetadata) {\n    if (!create) return undefined;\n    store.set(target, targetMetadata = new Map());\n  }\n  var keyMetadata = targetMetadata.get(targetKey);\n  if (!keyMetadata) {\n    if (!create) return undefined;\n    targetMetadata.set(targetKey, keyMetadata = new Map());\n  } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n  var metadataMap = getOrCreateMetadataMap(O, P, false);\n  return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n  var metadataMap = getOrCreateMetadataMap(O, P, false);\n  return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n  getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n  var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n  var keys = [];\n  if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n  return keys;\n};\nvar toMetaKey = function (it) {\n  return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n  $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n  store: store,\n  map: getOrCreateMetadataMap,\n  has: ordinaryHasOwnMetadata,\n  get: ordinaryGetOwnMetadata,\n  set: ordinaryDefineOwnMetadata,\n  keys: ordinaryOwnMetadataKeys,\n  key: toMetaKey,\n  exp: exp\n};\n","exports.f = require('./_wks');\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 $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar getOrCreateMetadataMap = ReflectMetadataModule.getMap;\nvar store = ReflectMetadataModule.store;\n\n// `Reflect.deleteMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n    var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n    if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n    if (metadataMap.size) return true;\n    var targetMetadata = store.get(target);\n    targetMetadata['delete'](targetKey);\n    return !!targetMetadata.size || store['delete'](target);\n  }\n});\n","module.exports = function (it) {\n  if (typeof it != 'function') {\n    throw TypeError(String(it) + ' is not a function');\n  } return it;\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = toLength(O.length);\n  var aLen = arguments.length;\n  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n  var end = aLen > 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","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n  join: function join(separator) {\n    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n  }\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n  configurable: true,\n  get: require('./_flags')\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n  return [\n    // `String.prototype.search` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.search\n    function search(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[SEARCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n    },\n    // `RegExp.prototype[@@search]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n    function (regexp) {\n      var res = maybeCallNative($search, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      var previousLastIndex = rx.lastIndex;\n      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n      var result = regExpExec(rx, S);\n      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n      return result === null ? -1 : result.index;\n    }\n  ];\n});\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n  var S = String(defined(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n  var O = {};\n  O[NAME] = exec(createHTML);\n  $export($export.P + $export.F * fails(function () {\n    var test = ''[NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  }), 'String', O);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = 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 ? ObjectProto : null;\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 global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n  return function decorator(target, targetKey) {\n    ordinaryDefineOwnMetadata(\n      metadataKey, metadataValue,\n      (targetKey !== undefined ? anObject : aFunction)(target),\n      toMetaKey(targetKey)\n    );\n  };\n} });\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n  re2[require('./_wks')('match')] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n  $RegExp = function RegExp(p, f) {\n    var tiRE = this instanceof $RegExp;\n    var piRE = isRegExp(p);\n    var fiU = f === undefined;\n    return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n      : inheritIfRequired(CORRECT_NEW\n        ? new Base(piRE && !fiU ? p.source : p, f)\n        : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n      , tiRE ? this : proto, $RegExp);\n  };\n  var proxy = function (key) {\n    key in $RegExp || dP($RegExp, key, {\n      configurable: true,\n      get: function () { return Base[key]; },\n      set: function (it) { Base[key] = it; }\n    });\n  };\n  for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n  proto.constructor = $RegExp;\n  $RegExp.prototype = proto;\n  require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n  var string = $trim(String(str), 3);\n  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n  var result = [];\n  forOf(iter, false, result.push, result, ITERATOR);\n  return result;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\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","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n  var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n  var iterator, iterFn, index, length, result, next, step;\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = toLength(iterable.length); length > index; index++) {\n        result = AS_ENTRIES\n          ? boundFunction(anObject(step = iterable[index])[0], step[1])\n          : boundFunction(iterable[index]);\n        if (result && result instanceof Result) return result;\n      } return new Result(false);\n    }\n    iterator = iterFn.call(iterable);\n  }\n\n  next = iterator.next;\n  while (!(step = next.call(iterator)).done) {\n    result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n    if (typeof result == 'object' && result && result instanceof Result) return result;\n  } return new Result(false);\n};\n\niterate.stop = function (result) {\n  return new Result(true, result);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\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","module.exports = function (it, Constructor, name) {\n  if (!(it instanceof Constructor)) {\n    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n  } return it;\n};\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n  return function bold() {\n    return createHTML(this, 'b', '', '');\n  };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n  reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n  }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, 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 = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[MATCH];\n      return fn !== undefined ? fn.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($match, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      if (!rx.global) return regExpExec(rx, S);\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","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.hasOwnMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n    return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey);\n  }\n});\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n  return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.2.3.1 Set.prototype.add(value)\n  add: function add(value) {\n    return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n  }\n}, strong);\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n  return function trim() {\n    return $trim(this, 3);\n  };\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  // Chrome 38 Symbol has incorrect toString conversion\n  // eslint-disable-next-line no-undef\n  return !String(Symbol());\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n  var re = /./;\n  try {\n    '/./'[KEY](re);\n  } catch (e) {\n    try {\n      re[MATCH] = false;\n      return !'/./'[KEY](re);\n    } catch (f) { /* empty */ }\n  } return true;\n};\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryGetOwnMetadata = ReflectMetadataModule.get;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.getOwnMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n    return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey);\n  }\n});\n","'use strict';\n\nvar regexpFlags = require('./_flags');\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 LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/,\n      re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\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;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n    match = nativeExec.call(re, str);\n\n    if (UPDATES_LAST_INDEX_WRONG && match) {\n      re[LAST_INDEX] = 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      // eslint-disable-next-line no-loop-func\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","exports.f = {}.propertyIsEnumerable;\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? $native.apply(this, arguments) || 0\n      : $indexOf(this, searchElement, arguments[1]);\n  }\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n  return function isSealed(it) {\n    return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n  };\n});\n","require('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').String;\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","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n  // IE7-\n  return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n  // V8 ~ Android 4.3-\n  $toPrecision.call({});\n})), 'Number', {\n  toPrecision: function toPrecision(precision) {\n    var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n    return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n  }\n});\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nmodule.exports = require('../modules/_core').Set;\n","require('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core').Reflect;\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n  // IE8-\n  test.sort(undefined);\n}) || !fails(function () {\n  // V8 bug\n  test.sort(null);\n  // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n  // 22.1.3.25 Array.prototype.sort(comparefn)\n  sort: function sort(comparefn) {\n    return comparefn === undefined\n      ? $sort.call(toObject(this))\n      : $sort.call(toObject(this), aFunction(comparefn));\n  }\n});\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n  // 21.1.2.2 String.fromCodePoint(...codePoints)\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n    var res = [];\n    var aLen = arguments.length;\n    var i = 0;\n    var code;\n    while (aLen > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n      res.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n      );\n    } return res.join('');\n  }\n});\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\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 NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP) {\n  var store = new WeakMap();\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return objectHas(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return objectHas(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if (target) redefine(target, key, out, type & $export.U);\n    // export\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n  var S = target.constructor;\n  var P;\n  if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n    setPrototypeOf(that, P);\n  } return that;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.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 new TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n  if (classof(R) !== 'RegExp') {\n    throw new TypeError('RegExp#exec called on incompatible receiver');\n  }\n  return builtinExec.call(R, S);\n};\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n  every: function every(callbackfn /* , thisArg */) {\n    return $every(this, callbackfn, arguments[1]);\n  }\n});\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n  return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n  this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n  return arrayFind(store.a, function (it) {\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.a.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = arrayFindIndex(this.a, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.a.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;      // collection type\n      that._i = id++;      // collection id\n      that._l = undefined; // leak store for uncaught frozen objects\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var data = getWeak(anObject(key), true);\n    if (data === true) uncaughtFrozenStore(that).set(key, value);\n    else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\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 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","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n  return function isFrozen(it) {\n    return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n  };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n  return function sub() {\n    return createHTML(this, 'sub', '', '');\n  };\n});\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n  require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n  define(function toString() {\n    var R = anObject(this);\n    return '/'.concat(R.source, '/',\n      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n  });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n  define(function toString() {\n    return $toString.call(this);\n  });\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","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\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 (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n  return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n  sinh: function sinh(x) {\n    return Math.abs(x = +x) < 1\n      ? (expm1(x) - expm1(-x)) / 2\n      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n  }\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n  return function fontcolor(color) {\n    return createHTML(this, 'font', 'color', color);\n  };\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments[1]);\n  }\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  return Object.isExtensible(Object.preventExtensions({}));\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';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","require('../modules/es6.string.iterator');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nmodule.exports = require('../modules/_core').Array;\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n  some: function some(callbackfn /* , thisArg */) {\n    return $some(this, callbackfn, arguments[1]);\n  }\n});\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\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 gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log10: function log10(x) {\n    return Math.log(x) * Math.LOG10E;\n  }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n  // 21.1.2.4 String.raw(callSite, ...substitutions)\n  raw: function raw(callSite) {\n    var tpl = toIObject(callSite.raw);\n    var len = toLength(tpl.length);\n    var aLen = arguments.length;\n    var res = [];\n    var i = 0;\n    while (len > i) {\n      res.push(String(tpl[i++]));\n      if (i < aLen) res.push(String(arguments[i]));\n    } return res.join('');\n  }\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\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 aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n  aFunction(callbackfn);\n  var O = toObject(that);\n  var self = IObject(O);\n  var length = toLength(O.length);\n  var index = isRight ? length - 1 : 0;\n  var i = isRight ? -1 : 1;\n  if (aLen < 2) for (;;) {\n    if (index in self) {\n      memo = self[index];\n      index += i;\n      break;\n    }\n    index += i;\n    if (isRight ? index < 0 : length <= index) {\n      throw TypeError('Reduce of empty array with no initial value');\n    }\n  }\n  for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n    memo = callbackfn(memo, self[index], index, O);\n  }\n  return memo;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n  this._t = anObject(iterated); // target\n  this._i = 0;                  // next index\n  var keys = this._k = [];      // keys\n  var key;\n  for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n  var that = this;\n  var keys = that._k;\n  var key;\n  do {\n    if (that._i >= keys.length) return { value: undefined, done: true };\n  } while (!((key = keys[that._i++]) in that._t));\n  return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n  enumerate: function enumerate(target) {\n    return new Enumerate(target);\n  }\n});\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n  configurable: true,\n  get: function () {\n    try {\n      return ('' + this).match(nameRE)[1];\n    } catch (e) {\n      return '';\n    }\n  }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n  return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n  && Math.floor($acosh(Number.MAX_VALUE)) == 710\n  // Tor Browser bug: Math.acosh(Infinity) -> NaN\n  && $acosh(Infinity) == Infinity\n), 'Math', {\n  acosh: function acosh(x) {\n    return (x = +x) < 1 ? NaN : x > 94906265.62425156\n      ? Math.log(x) + Math.LN2\n      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n  }\n});\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n  if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n  return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n  // eslint-disable-next-line no-self-compare\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar ordinaryDefineOwnMetadata = ReflectMetadataModule.set;\n\n// `Reflect.defineMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n  defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) {\n    var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]);\n    ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey);\n  }\n});\n","module.exports = false;\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","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n  require('./_redefine')(DateProto, TO_STRING, function toString() {\n    var value = getTime.call(this);\n    // eslint-disable-next-line no-self-compare\n    return value === value ? $toString.call(this) : INVALID_DATE;\n  });\n}\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n  return function anchor(name) {\n    return createHTML(this, 'a', 'name', name);\n  };\n});\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  trunc: function trunc(it) {\n    return (it > 0 ? Math.floor : Math.ceil)(it);\n  }\n});\n","/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\nimport '@angular/localize/init';\n// This file includes polyfills needed by Angular and is loaded before the app.\n// You can add your own extra polyfills to this file.\nimport 'core-js/es6/symbol';\nimport 'core-js/es6/object';\nimport 'core-js/es6/function';\nimport 'core-js/es6/parse-int';\nimport 'core-js/es6/parse-float';\nimport 'core-js/es6/number';\nimport 'core-js/es6/math';\nimport 'core-js/es6/string';\nimport 'core-js/es6/date';\nimport 'core-js/es6/array';\nimport 'core-js/es6/regexp';\nimport 'core-js/es6/map';\nimport 'core-js/es6/set';\nimport 'core-js/es6/reflect';\n\nimport 'core-js/es7/reflect';\nimport 'zone.js/dist/zone';\nimport 'hammerjs';\n\n// If you need to support the browsers/features below, uncomment the import\n// and run `npm install import-name-here';\n// Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html\n\n// Needed for: IE9\n// import 'classlist.js';\n\n// Animations\n// Needed for: All but Chrome and Firefox, Not supported in IE9\n// import 'web-animations-js';\n\n// Date, currency, decimal and percent pipes\n// Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10\n// import 'intl';\n\n// NgClass on SVG elements\n// Needed for: IE10, IE11\n// import 'classlist.js';\n","module.exports = {};\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n  return function WeakMap() {\n    return init(this, arguments.length ? arguments[0] : undefined);\n  };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n  InternalMetadataModule.REQUIRED = true;\n  var WeakMapPrototype = $WeakMap.prototype;\n  var nativeDelete = WeakMapPrototype['delete'];\n  var nativeHas = WeakMapPrototype.has;\n  var nativeGet = WeakMapPrototype.get;\n  var nativeSet = WeakMapPrototype.set;\n  redefineAll(WeakMapPrototype, {\n    'delete': function (key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeDelete.call(this, key) || state.frozen['delete'](key);\n      } return nativeDelete.call(this, key);\n    },\n    has: function has(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) || state.frozen.has(key);\n      } return nativeHas.call(this, key);\n    },\n    get: function get(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n      } return nativeGet.call(this, key);\n    },\n    set: function set(key, value) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n      } else nativeSet.call(this, key, value);\n      return this;\n    }\n  });\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 anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* 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","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\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","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n  // eslint-disable-next-line no-undef\n  Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n  defineProperty: function defineProperty(target, propertyKey, attributes) {\n    anObject(target);\n    propertyKey = toPrimitive(propertyKey, true);\n    anObject(attributes);\n    try {\n      dP.f(target, propertyKey, attributes);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n  if (hasOwn) return true;\n  var parent = getPrototypeOf(O);\n  return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n  return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","require('../modules/es6.parse-float');\nmodule.exports = require('../modules/_core').parseFloat;\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\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\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\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($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n  try {\n    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (error) {\n    var returnMethod = iterator['return'];\n    if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n    throw error;\n  }\n};\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n  toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n  return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n  return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n  $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n  var d = this;\n  var y = d.getUTCFullYear();\n  var m = d.getUTCMilliseconds();\n  var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n  return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n    '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n    'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n    ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n  return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n  var $abs = Math.abs(x);\n  var $sign = sign(x);\n  var a, result;\n  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n  a = (1 + EPSILON32 / EPSILON) * $abs;\n  result = a - (a - $abs);\n  // eslint-disable-next-line no-self-compare\n  if (result > MAX32 || result != result) return $sign * Infinity;\n  return $sign * result;\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","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n  var receiver = arguments.length < 4 ? target : arguments[3];\n  var ownDesc = gOPD.f(anObject(target), propertyKey);\n  var existingDescriptor, proto;\n  if (!ownDesc) {\n    if (isObject(proto = getPrototypeOf(target))) {\n      return set(proto, propertyKey, V, receiver);\n    }\n    ownDesc = createDesc(0);\n  }\n  if (has(ownDesc, 'value')) {\n    if (ownDesc.writable === false || !isObject(receiver)) return false;\n    if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n      if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n      existingDescriptor.value = V;\n      dP.f(receiver, propertyKey, existingDescriptor);\n    } else dP.f(receiver, propertyKey, createDesc(0, V));\n    return true;\n  }\n  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n  setPrototypeOf: function setPrototypeOf(target, proto) {\n    setProto.check(target, proto);\n    try {\n      setProto.set(target, proto);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n  var str = String(defined(this));\n  var res = '';\n  var n = toInteger(count);\n  if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n  return res;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n  // eslint-disable-next-line no-self-compare\n  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!has(WellKnownSymbolsStore, name)) {\n    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n  lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n    // convert -0 to +0\n    if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n    var O = toIObject(this);\n    var length = toLength(O.length);\n    var index = length - 1;\n    if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n    if (index < 0) index = length + index;\n    for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n    return -1;\n  }\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","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n  var keys = gOPN.f(anObject(it));\n  var getSymbols = gOPS.f;\n  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n  return function preventExtensions(it) {\n    return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n  };\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        index: create(null),\n        first: undefined,\n        last: undefined,\n        size: 0\n      });\n      if (!DESCRIPTORS) that.size = 0;\n      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var entry = getEntry(that, key);\n      var previous, index;\n      // change existing entry\n      if (entry) {\n        entry.value = value;\n      // create new entry\n      } else {\n        state.last = entry = {\n          index: index = fastKey(key, true),\n          key: key,\n          value: value,\n          previous: previous = state.last,\n          next: undefined,\n          removed: false\n        };\n        if (!state.first) state.first = entry;\n        if (previous) previous.next = entry;\n        if (DESCRIPTORS) state.size++;\n        else that.size++;\n        // add to index\n        if (index !== 'F') state.index[index] = entry;\n      } return that;\n    };\n\n    var getEntry = function (that, key) {\n      var state = getInternalState(that);\n      // fast case\n      var index = fastKey(key);\n      var entry;\n      if (index !== 'F') return state.index[index];\n      // frozen object case\n      for (entry = state.first; entry; entry = entry.next) {\n        if (entry.key == key) return entry;\n      }\n    };\n\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        var that = this;\n        var state = getInternalState(that);\n        var data = state.index;\n        var entry = state.first;\n        while (entry) {\n          entry.removed = true;\n          if (entry.previous) entry.previous = entry.previous.next = undefined;\n          delete data[entry.index];\n          entry = entry.next;\n        }\n        state.first = state.last = undefined;\n        if (DESCRIPTORS) state.size = 0;\n        else that.size = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = this;\n        var state = getInternalState(that);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.next;\n          var prev = entry.previous;\n          delete state.index[entry.index];\n          entry.removed = true;\n          if (prev) prev.next = next;\n          if (next) next.previous = prev;\n          if (state.first == entry) state.first = next;\n          if (state.last == entry) state.last = prev;\n          if (DESCRIPTORS) state.size--;\n          else that.size--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.next : state.first) {\n          boundFunction(entry.value, entry.key, this);\n          // revert to the last existing entry\n          while (entry && entry.removed) entry = entry.previous;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.1.3.6 Map.prototype.get(key)\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // 23.1.3.9 Map.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // 23.2.3.1 Set.prototype.add(value)\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return C;\n  },\n  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n      setInternalState(this, {\n        type: ITERATOR_NAME,\n        target: iterated,\n        state: getInternalCollectionState(iterated),\n        kind: kind,\n        last: undefined\n      });\n    }, function () {\n      var state = getInternalIteratorState(this);\n      var kind = state.kind;\n      var entry = state.last;\n      // revert to the last existing entry\n      while (entry && entry.removed) entry = entry.previous;\n      // get next entry\n      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n        // or finish the iteration\n        state.target = undefined;\n        return { value: undefined, done: true };\n      }\n      // return step by kind\n      if (kind == 'keys') return { value: entry.key, done: false };\n      if (kind == 'values') return { value: entry.value, done: false };\n      return { value: [entry.key, entry.value], done: false };\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n  return function big() {\n    return createHTML(this, 'big', '', '');\n  };\n});\n","require('../modules/esnext.reflect.define-metadata');\nrequire('../modules/esnext.reflect.delete-metadata');\nrequire('../modules/esnext.reflect.get-metadata');\nrequire('../modules/esnext.reflect.get-metadata-keys');\nrequire('../modules/esnext.reflect.get-own-metadata');\nrequire('../modules/esnext.reflect.get-own-metadata-keys');\nrequire('../modules/esnext.reflect.has-metadata');\nrequire('../modules/esnext.reflect.has-own-metadata');\nrequire('../modules/esnext.reflect.metadata');\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n  return function fontsize(size) {\n    return createHTML(this, 'font', 'size', size);\n  };\n});\n","require('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nmodule.exports = Date;\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n  // 21.1.3.3 String.prototype.codePointAt(pos)\n  codePointAt: function codePointAt(pos) {\n    return $at(this, pos);\n  }\n});\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n  preventExtensions: function preventExtensions(target) {\n    anObject(target);\n    try {\n      if ($preventExtensions) $preventExtensions(target);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line no-undef\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func\n  Function('return this')();\n","require('../modules/es6.parse-int');\nmodule.exports = require('../modules/_core').parseInt;\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\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\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\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 = defined(this);\n      var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n      return fn !== undefined\n        ? fn.call(searchValue, O, replaceValue)\n        : $replace.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      var res = maybeCallNative($replace, regexp, this, replaceValue);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var functionalReplace = typeof replaceValue === 'function';\n      if (!functionalReplace) replaceValue = String(replaceValue);\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        results.push(result);\n        if (!global) break;\n        var matchStr = String(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\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 $replace.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","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log2: function log2(x) {\n    return Math.log(x) / Math.LN2;\n  }\n});\n","module.exports = {};\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nmodule.exports = require('../modules/_core').Map;\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n  var exp = {};\n  var FORCE = fails(function () {\n    return !!spaces[KEY]() || non[KEY]() != non;\n  });\n  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n  if (ALIAS) exp[ALIAS] = fn;\n  $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n  string = String(defined(string));\n  if (TYPE & 1) string = string.replace(ltrim, '');\n  if (TYPE & 2) string = string.replace(rtrim, '');\n  return string;\n};\n\nmodule.exports = exporter;\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\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","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n  CSSRuleList: true, // TODO: Not spec compliant, should be false.\n  CSSStyleDeclaration: false,\n  CSSValueList: false,\n  ClientRectList: false,\n  DOMRectList: false,\n  DOMStringList: false,\n  DOMTokenList: true,\n  DataTransferItemList: false,\n  FileList: false,\n  HTMLAllCollection: false,\n  HTMLCollection: false,\n  HTMLFormElement: false,\n  HTMLSelectElement: false,\n  MediaList: true, // TODO: Not spec compliant, should be false.\n  MimeTypeArray: false,\n  NamedNodeMap: false,\n  NodeList: true,\n  PaintRequestList: false,\n  Plugin: false,\n  PluginArray: false,\n  SVGLengthList: false,\n  SVGNumberList: false,\n  SVGPathSegList: false,\n  SVGPointList: false,\n  SVGStringList: false,\n  SVGTransformList: false,\n  SourceBufferList: false,\n  StyleSheetList: true, // TODO: Not spec compliant, should be false.\n  TextTrackCueList: false,\n  TextTrackList: false,\n  TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n  var NAME = collections[i];\n  var explicit = DOMIterables[NAME];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  var key;\n  if (proto) {\n    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n  }\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport 'core-js/proposals/reflect-metadata';\n","require('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').RegExp;\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = context(this, searchString, ENDS_WITH);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n    var search = String(searchString);\n    return $endsWith\n      ? $endsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n  return it;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n  target: 'RegExp',\n  proto: true,\n  forced: regexpExec !== /./.exec\n}, {\n  exec: regexpExec\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n  isSafeInteger: function isSafeInteger(number) {\n    return isInteger(number) && abs(number) <= 0x1fffffffffffff;\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 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","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n  return function link(url) {\n    return createHTML(this, 'a', 'href', url);\n  };\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n  var oKeys = ordinaryOwnMetadataKeys(O, P);\n  var parent = getPrototypeOf(O);\n  if (parent === null) return oKeys;\n  var pKeys = ordinaryMetadataKeys(parent, P);\n  return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n  return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\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","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  deleteProperty: function deleteProperty(target, propertyKey) {\n    var desc = gOPD(anObject(target), propertyKey);\n    return desc && !desc.configurable ? false : delete target[propertyKey];\n  }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\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 = Math.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","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","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n  if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n  return +it;\n};\n","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($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++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\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","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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var NativeConstructor = global[CONSTRUCTOR_NAME];\n  var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n  var Constructor = NativeConstructor;\n  var exported = {};\n\n  var fixMethod = function (KEY) {\n    var nativeMethod = NativePrototype[KEY];\n    redefine(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        nativeMethod.call(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        nativeMethod.call(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  // eslint-disable-next-line max-len\n  if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n    new NativeConstructor().entries().next();\n  })))) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.REQUIRED = true;\n  } else if (isForced(CONSTRUCTOR_NAME, true)) {\n    var instance = new Constructor();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    // eslint-disable-next-line no-new\n    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new NativeConstructor();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n\n    if (!ACCEPT_ITERABLES) {\n      Constructor = wrapper(function (dummy, iterable) {\n        anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n        return that;\n      });\n      Constructor.prototype = NativePrototype;\n      NativePrototype.constructor = Constructor;\n    }\n\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n    // weak collections should not contains .clear method\n    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n  }\n\n  exported[CONSTRUCTOR_NAME] = Constructor;\n  $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n  setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n  return Constructor;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n  // fast case\n  var index = fastKey(key);\n  var entry;\n  if (index !== 'F') return that._i[index];\n  // frozen object case\n  for (entry = that._f; entry; entry = entry.n) {\n    if (entry.k == key) return entry;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;         // collection type\n      that._i = create(null); // index\n      that._f = undefined;    // first entry\n      that._l = undefined;    // last entry\n      that[SIZE] = 0;         // size\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n          entry.r = true;\n          if (entry.p) entry.p = entry.p.n = undefined;\n          delete data[entry.i];\n        }\n        that._f = that._l = undefined;\n        that[SIZE] = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = validate(this, NAME);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.n;\n          var prev = entry.p;\n          delete that._i[entry.i];\n          entry.r = true;\n          if (prev) prev.n = next;\n          if (next) next.p = prev;\n          if (that._f == entry) that._f = next;\n          if (that._l == entry) that._l = prev;\n          that[SIZE]--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        validate(this, NAME);\n        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.n : this._f) {\n          f(entry.v, entry.k, this);\n          // revert to the last existing entry\n          while (entry && entry.r) entry = entry.p;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(validate(this, NAME), key);\n      }\n    });\n    if (DESCRIPTORS) dP(C.prototype, 'size', {\n      get: function () {\n        return validate(this, NAME)[SIZE];\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var entry = getEntry(that, key);\n    var prev, index;\n    // change existing entry\n    if (entry) {\n      entry.v = value;\n    // create new entry\n    } else {\n      that._l = entry = {\n        i: index = fastKey(key, true), // <- index\n        k: key,                        // <- key\n        v: value,                      // <- value\n        p: prev = that._l,             // <- previous entry\n        n: undefined,                  // <- next entry\n        r: false                       // <- removed\n      };\n      if (!that._f) that._f = entry;\n      if (prev) prev.n = entry;\n      that[SIZE]++;\n      // add to index\n      if (index !== 'F') that._i[index] = entry;\n    } return that;\n  },\n  getEntry: getEntry,\n  setStrong: function (C, NAME, IS_MAP) {\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    $iterDefine(C, NAME, function (iterated, kind) {\n      this._t = validate(iterated, NAME); // target\n      this._k = kind;                     // kind\n      this._l = undefined;                // previous\n    }, function () {\n      var that = this;\n      var kind = that._k;\n      var entry = that._l;\n      // revert to the last existing entry\n      while (entry && entry.r) entry = entry.p;\n      // get next entry\n      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n        // or finish the iteration\n        that._t = undefined;\n        return step(1);\n      }\n      // return step by kind\n      if (kind == 'keys') return step(0, entry.k);\n      if (kind == 'values') return step(0, entry.v);\n      return step(0, [entry.k, entry.v]);\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(NAME);\n  }\n};\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  tanh: function tanh(x) {\n    var a = expm1(x = +x);\n    var b = expm1(-x);\n    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n  }\n});\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n  hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n    var sum = 0;\n    var i = 0;\n    var aLen = arguments.length;\n    var larg = 0;\n    var arg, div;\n    while (i < aLen) {\n      arg = abs(arguments[i++]);\n      if (larg < arg) {\n        div = larg / arg;\n        sum = sum * div * div + 1;\n        larg = arg;\n      } else if (arg > 0) {\n        div = arg / larg;\n        sum += div * div;\n      } else sum += arg;\n    }\n    return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n  }\n});\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  if (typeof it == 'string' && it.length > 2) {\n    it = TRIM ? it.trim() : $trim(it, 3);\n    var first = it.charCodeAt(0);\n    var third, radix, maxCode;\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 /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n        default: return +it;\n      }\n      for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n        code = digits.charCodeAt(i);\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\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n  $Number = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var that = this;\n    return that instanceof $Number\n      // check on 1..constructor(foo) case\n      && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n        ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n  };\n  for (var keys = require('./_descriptors') ? gOPN(Base) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES6 (in case, if modules with ES6 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(Base, key = keys[j]) && !has($Number, key)) {\n      dP($Number, key, gOPD(Base, key));\n    }\n  }\n  $Number.prototype = proto;\n  proto.constructor = $Number;\n  require('./_redefine')(global, NUMBER, $Number);\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","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.6.5',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n  'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n    return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n    if (Array.isArray(arg)) {\n        each(arg, context[fn], context);\n        return true;\n    }\n    return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n    var i;\n\n    if (!obj) {\n        return;\n    }\n\n    if (obj.forEach) {\n        obj.forEach(iterator, context);\n    } else if (obj.length !== undefined) {\n        i = 0;\n        while (i < obj.length) {\n            iterator.call(context, obj[i], i, obj);\n            i++;\n        }\n    } else {\n        for (i in obj) {\n            obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n        }\n    }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n    var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n    return function() {\n        var e = new Error('get-stack-trace');\n        var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n            .replace(/^\\s+at\\s+/gm, '')\n            .replace(/^Object.<anonymous>\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n        var log = window.console && (window.console.warn || window.console.log);\n        if (log) {\n            log.call(window.console, deprecationMessage, stack);\n        }\n        return method.apply(this, arguments);\n    };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n    assign = function assign(target) {\n        if (target === undefined || target === null) {\n            throw new TypeError('Cannot convert undefined or null to object');\n        }\n\n        var output = Object(target);\n        for (var index = 1; index < arguments.length; index++) {\n            var source = arguments[index];\n            if (source !== undefined && source !== null) {\n                for (var nextKey in source) {\n                    if (source.hasOwnProperty(nextKey)) {\n                        output[nextKey] = source[nextKey];\n                    }\n                }\n            }\n        }\n        return output;\n    };\n} else {\n    assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n    var keys = Object.keys(src);\n    var i = 0;\n    while (i < keys.length) {\n        if (!merge || (merge && dest[keys[i]] === undefined)) {\n            dest[keys[i]] = src[keys[i]];\n        }\n        i++;\n    }\n    return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n    return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n    var baseP = base.prototype,\n        childP;\n\n    childP = child.prototype = Object.create(baseP);\n    childP.constructor = child;\n    childP._super = baseP;\n\n    if (properties) {\n        assign(childP, properties);\n    }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n    return function boundFn() {\n        return fn.apply(context, arguments);\n    };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n    if (typeof val == TYPE_FUNCTION) {\n        return val.apply(args ? args[0] || undefined : undefined, args);\n    }\n    return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n    return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n    each(splitStr(types), function(type) {\n        target.addEventListener(type, handler, false);\n    });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n    each(splitStr(types), function(type) {\n        target.removeEventListener(type, handler, false);\n    });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n    while (node) {\n        if (node == parent) {\n            return true;\n        }\n        node = node.parentNode;\n    }\n    return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n    return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n    return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n    if (src.indexOf && !findByKey) {\n        return src.indexOf(find);\n    } else {\n        var i = 0;\n        while (i < src.length) {\n            if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n                return i;\n            }\n            i++;\n        }\n        return -1;\n    }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n    return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n    var results = [];\n    var values = [];\n    var i = 0;\n\n    while (i < src.length) {\n        var val = key ? src[i][key] : src[i];\n        if (inArray(values, val) < 0) {\n            results.push(src[i]);\n        }\n        values[i] = val;\n        i++;\n    }\n\n    if (sort) {\n        if (!key) {\n            results = results.sort();\n        } else {\n            results = results.sort(function sortUniqueArray(a, b) {\n                return a[key] > b[key];\n            });\n        }\n    }\n\n    return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n    var prefix, prop;\n    var camelProp = property[0].toUpperCase() + property.slice(1);\n\n    var i = 0;\n    while (i < VENDOR_PREFIXES.length) {\n        prefix = VENDOR_PREFIXES[i];\n        prop = (prefix) ? prefix + camelProp : property;\n\n        if (prop in obj) {\n            return prop;\n        }\n        i++;\n    }\n    return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n    return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n    var doc = element.ownerDocument || element;\n    return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n    var self = this;\n    this.manager = manager;\n    this.callback = callback;\n    this.element = manager.element;\n    this.target = manager.options.inputTarget;\n\n    // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n    // so when disabled the input events are completely bypassed.\n    this.domHandler = function(ev) {\n        if (boolOrFn(manager.options.enable, [manager])) {\n            self.handler(ev);\n        }\n    };\n\n    this.init();\n\n}\n\nInput.prototype = {\n    /**\n     * should handle the inputEvent data and trigger the callback\n     * @virtual\n     */\n    handler: function() { },\n\n    /**\n     * bind the events\n     */\n    init: function() {\n        this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n        this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n        this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n    },\n\n    /**\n     * unbind the events\n     */\n    destroy: function() {\n        this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n        this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n        this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n    }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n    var Type;\n    var inputClass = manager.options.inputClass;\n\n    if (inputClass) {\n        Type = inputClass;\n    } else if (SUPPORT_POINTER_EVENTS) {\n        Type = PointerEventInput;\n    } else if (SUPPORT_ONLY_TOUCH) {\n        Type = TouchInput;\n    } else if (!SUPPORT_TOUCH) {\n        Type = MouseInput;\n    } else {\n        Type = TouchMouseInput;\n    }\n    return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n    var pointersLen = input.pointers.length;\n    var changedPointersLen = input.changedPointers.length;\n    var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n    var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n    input.isFirst = !!isFirst;\n    input.isFinal = !!isFinal;\n\n    if (isFirst) {\n        manager.session = {};\n    }\n\n    // source event is the normalized value of the domEvents\n    // like 'touchstart, mouseup, pointerdown'\n    input.eventType = eventType;\n\n    // compute scale, rotation etc\n    computeInputData(manager, input);\n\n    // emit secret event\n    manager.emit('hammer.input', input);\n\n    manager.recognize(input);\n    manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n    var session = manager.session;\n    var pointers = input.pointers;\n    var pointersLength = pointers.length;\n\n    // store the first input to calculate the distance and direction\n    if (!session.firstInput) {\n        session.firstInput = simpleCloneInputData(input);\n    }\n\n    // to compute scale and rotation we need to store the multiple touches\n    if (pointersLength > 1 && !session.firstMultiple) {\n        session.firstMultiple = simpleCloneInputData(input);\n    } else if (pointersLength === 1) {\n        session.firstMultiple = false;\n    }\n\n    var firstInput = session.firstInput;\n    var firstMultiple = session.firstMultiple;\n    var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n    var center = input.center = getCenter(pointers);\n    input.timeStamp = now();\n    input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n    input.angle = getAngle(offsetCenter, center);\n    input.distance = getDistance(offsetCenter, center);\n\n    computeDeltaXY(session, input);\n    input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n    var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n    input.overallVelocityX = overallVelocity.x;\n    input.overallVelocityY = overallVelocity.y;\n    input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n    input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n    input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n    input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n        session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n    computeIntervalInputData(session, input);\n\n    // find the correct target\n    var target = manager.element;\n    if (hasParent(input.srcEvent.target, target)) {\n        target = input.srcEvent.target;\n    }\n    input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n    var center = input.center;\n    var offset = session.offsetDelta || {};\n    var prevDelta = session.prevDelta || {};\n    var prevInput = session.prevInput || {};\n\n    if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n        prevDelta = session.prevDelta = {\n            x: prevInput.deltaX || 0,\n            y: prevInput.deltaY || 0\n        };\n\n        offset = session.offsetDelta = {\n            x: center.x,\n            y: center.y\n        };\n    }\n\n    input.deltaX = prevDelta.x + (center.x - offset.x);\n    input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n    var last = session.lastInterval || input,\n        deltaTime = input.timeStamp - last.timeStamp,\n        velocity, velocityX, velocityY, direction;\n\n    if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n        var deltaX = input.deltaX - last.deltaX;\n        var deltaY = input.deltaY - last.deltaY;\n\n        var v = getVelocity(deltaTime, deltaX, deltaY);\n        velocityX = v.x;\n        velocityY = v.y;\n        velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n        direction = getDirection(deltaX, deltaY);\n\n        session.lastInterval = input;\n    } else {\n        // use latest velocity info if it doesn't overtake a minimum period\n        velocity = last.velocity;\n        velocityX = last.velocityX;\n        velocityY = last.velocityY;\n        direction = last.direction;\n    }\n\n    input.velocity = velocity;\n    input.velocityX = velocityX;\n    input.velocityY = velocityY;\n    input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n    // make a simple copy of the pointers because we will get a reference if we don't\n    // we only need clientXY for the calculations\n    var pointers = [];\n    var i = 0;\n    while (i < input.pointers.length) {\n        pointers[i] = {\n            clientX: round(input.pointers[i].clientX),\n            clientY: round(input.pointers[i].clientY)\n        };\n        i++;\n    }\n\n    return {\n        timeStamp: now(),\n        pointers: pointers,\n        center: getCenter(pointers),\n        deltaX: input.deltaX,\n        deltaY: input.deltaY\n    };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n    var pointersLength = pointers.length;\n\n    // no need to loop when only one touch\n    if (pointersLength === 1) {\n        return {\n            x: round(pointers[0].clientX),\n            y: round(pointers[0].clientY)\n        };\n    }\n\n    var x = 0, y = 0, i = 0;\n    while (i < pointersLength) {\n        x += pointers[i].clientX;\n        y += pointers[i].clientY;\n        i++;\n    }\n\n    return {\n        x: round(x / pointersLength),\n        y: round(y / pointersLength)\n    };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n    return {\n        x: x / deltaTime || 0,\n        y: y / deltaTime || 0\n    };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n    if (x === y) {\n        return DIRECTION_NONE;\n    }\n\n    if (abs(x) >= abs(y)) {\n        return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n    }\n    return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n    if (!props) {\n        props = PROPS_XY;\n    }\n    var x = p2[props[0]] - p1[props[0]],\n        y = p2[props[1]] - p1[props[1]];\n\n    return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n    if (!props) {\n        props = PROPS_XY;\n    }\n    var x = p2[props[0]] - p1[props[0]],\n        y = p2[props[1]] - p1[props[1]];\n    return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n    return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n    return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n    mousedown: INPUT_START,\n    mousemove: INPUT_MOVE,\n    mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n    this.evEl = MOUSE_ELEMENT_EVENTS;\n    this.evWin = MOUSE_WINDOW_EVENTS;\n\n    this.pressed = false; // mousedown state\n\n    Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n    /**\n     * handle mouse events\n     * @param {Object} ev\n     */\n    handler: function MEhandler(ev) {\n        var eventType = MOUSE_INPUT_MAP[ev.type];\n\n        // on start we want to have the left mouse button down\n        if (eventType & INPUT_START && ev.button === 0) {\n            this.pressed = true;\n        }\n\n        if (eventType & INPUT_MOVE && ev.which !== 1) {\n            eventType = INPUT_END;\n        }\n\n        // mouse must be down\n        if (!this.pressed) {\n            return;\n        }\n\n        if (eventType & INPUT_END) {\n            this.pressed = false;\n        }\n\n        this.callback(this.manager, eventType, {\n            pointers: [ev],\n            changedPointers: [ev],\n            pointerType: INPUT_TYPE_MOUSE,\n            srcEvent: ev\n        });\n    }\n});\n\nvar POINTER_INPUT_MAP = {\n    pointerdown: INPUT_START,\n    pointermove: INPUT_MOVE,\n    pointerup: INPUT_END,\n    pointercancel: INPUT_CANCEL,\n    pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n    2: INPUT_TYPE_TOUCH,\n    3: INPUT_TYPE_PEN,\n    4: INPUT_TYPE_MOUSE,\n    5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n    POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n    POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n    this.evEl = POINTER_ELEMENT_EVENTS;\n    this.evWin = POINTER_WINDOW_EVENTS;\n\n    Input.apply(this, arguments);\n\n    this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n    /**\n     * handle mouse events\n     * @param {Object} ev\n     */\n    handler: function PEhandler(ev) {\n        var store = this.store;\n        var removePointer = false;\n\n        var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n        var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n        var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n        var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n        // get index of the event in the store\n        var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n        // start and mouse must be down\n        if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n            if (storeIndex < 0) {\n                store.push(ev);\n                storeIndex = store.length - 1;\n            }\n        } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n            removePointer = true;\n        }\n\n        // it not found, so the pointer hasn't been down (so it's probably a hover)\n        if (storeIndex < 0) {\n            return;\n        }\n\n        // update the event in the store\n        store[storeIndex] = ev;\n\n        this.callback(this.manager, eventType, {\n            pointers: store,\n            changedPointers: [ev],\n            pointerType: pointerType,\n            srcEvent: ev\n        });\n\n        if (removePointer) {\n            // remove from the store\n            store.splice(storeIndex, 1);\n        }\n    }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n    touchstart: INPUT_START,\n    touchmove: INPUT_MOVE,\n    touchend: INPUT_END,\n    touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n    this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n    this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n    this.started = false;\n\n    Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n    handler: function TEhandler(ev) {\n        var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n        // should we handle the touch events?\n        if (type === INPUT_START) {\n            this.started = true;\n        }\n\n        if (!this.started) {\n            return;\n        }\n\n        var touches = normalizeSingleTouches.call(this, ev, type);\n\n        // when done, reset the started state\n        if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n            this.started = false;\n        }\n\n        this.callback(this.manager, type, {\n            pointers: touches[0],\n            changedPointers: touches[1],\n            pointerType: INPUT_TYPE_TOUCH,\n            srcEvent: ev\n        });\n    }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n    var all = toArray(ev.touches);\n    var changed = toArray(ev.changedTouches);\n\n    if (type & (INPUT_END | INPUT_CANCEL)) {\n        all = uniqueArray(all.concat(changed), 'identifier', true);\n    }\n\n    return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n    touchstart: INPUT_START,\n    touchmove: INPUT_MOVE,\n    touchend: INPUT_END,\n    touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n    this.evTarget = TOUCH_TARGET_EVENTS;\n    this.targetIds = {};\n\n    Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n    handler: function MTEhandler(ev) {\n        var type = TOUCH_INPUT_MAP[ev.type];\n        var touches = getTouches.call(this, ev, type);\n        if (!touches) {\n            return;\n        }\n\n        this.callback(this.manager, type, {\n            pointers: touches[0],\n            changedPointers: touches[1],\n            pointerType: INPUT_TYPE_TOUCH,\n            srcEvent: ev\n        });\n    }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n    var allTouches = toArray(ev.touches);\n    var targetIds = this.targetIds;\n\n    // when there is only one touch, the process can be simplified\n    if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n        targetIds[allTouches[0].identifier] = true;\n        return [allTouches, allTouches];\n    }\n\n    var i,\n        targetTouches,\n        changedTouches = toArray(ev.changedTouches),\n        changedTargetTouches = [],\n        target = this.target;\n\n    // get target touches from touches\n    targetTouches = allTouches.filter(function(touch) {\n        return hasParent(touch.target, target);\n    });\n\n    // collect touches\n    if (type === INPUT_START) {\n        i = 0;\n        while (i < targetTouches.length) {\n            targetIds[targetTouches[i].identifier] = true;\n            i++;\n        }\n    }\n\n    // filter changed touches to only contain touches that exist in the collected target ids\n    i = 0;\n    while (i < changedTouches.length) {\n        if (targetIds[changedTouches[i].identifier]) {\n            changedTargetTouches.push(changedTouches[i]);\n        }\n\n        // cleanup removed touches\n        if (type & (INPUT_END | INPUT_CANCEL)) {\n            delete targetIds[changedTouches[i].identifier];\n        }\n        i++;\n    }\n\n    if (!changedTargetTouches.length) {\n        return;\n    }\n\n    return [\n        // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n        uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n        changedTargetTouches\n    ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n    Input.apply(this, arguments);\n\n    var handler = bindFn(this.handler, this);\n    this.touch = new TouchInput(this.manager, handler);\n    this.mouse = new MouseInput(this.manager, handler);\n\n    this.primaryTouch = null;\n    this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n    /**\n     * handle mouse and touch events\n     * @param {Hammer} manager\n     * @param {String} inputEvent\n     * @param {Object} inputData\n     */\n    handler: function TMEhandler(manager, inputEvent, inputData) {\n        var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n            isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n        if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n            return;\n        }\n\n        // when we're in a touch event, record touches to  de-dupe synthetic mouse event\n        if (isTouch) {\n            recordTouches.call(this, inputEvent, inputData);\n        } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n            return;\n        }\n\n        this.callback(manager, inputEvent, inputData);\n    },\n\n    /**\n     * remove the event listeners\n     */\n    destroy: function destroy() {\n        this.touch.destroy();\n        this.mouse.destroy();\n    }\n});\n\nfunction recordTouches(eventType, eventData) {\n    if (eventType & INPUT_START) {\n        this.primaryTouch = eventData.changedPointers[0].identifier;\n        setLastTouch.call(this, eventData);\n    } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n        setLastTouch.call(this, eventData);\n    }\n}\n\nfunction setLastTouch(eventData) {\n    var touch = eventData.changedPointers[0];\n\n    if (touch.identifier === this.primaryTouch) {\n        var lastTouch = {x: touch.clientX, y: touch.clientY};\n        this.lastTouches.push(lastTouch);\n        var lts = this.lastTouches;\n        var removeLastTouch = function() {\n            var i = lts.indexOf(lastTouch);\n            if (i > -1) {\n                lts.splice(i, 1);\n            }\n        };\n        setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n    }\n}\n\nfunction isSyntheticEvent(eventData) {\n    var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n    for (var i = 0; i < this.lastTouches.length; i++) {\n        var t = this.lastTouches[i];\n        var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n        if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n            return true;\n        }\n    }\n    return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n    this.manager = manager;\n    this.set(value);\n}\n\nTouchAction.prototype = {\n    /**\n     * set the touchAction value on the element or enable the polyfill\n     * @param {String} value\n     */\n    set: function(value) {\n        // find out the touch-action by the event handlers\n        if (value == TOUCH_ACTION_COMPUTE) {\n            value = this.compute();\n        }\n\n        if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n            this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n        }\n        this.actions = value.toLowerCase().trim();\n    },\n\n    /**\n     * just re-set the touchAction value\n     */\n    update: function() {\n        this.set(this.manager.options.touchAction);\n    },\n\n    /**\n     * compute the value for the touchAction property based on the recognizer's settings\n     * @returns {String} value\n     */\n    compute: function() {\n        var actions = [];\n        each(this.manager.recognizers, function(recognizer) {\n            if (boolOrFn(recognizer.options.enable, [recognizer])) {\n                actions = actions.concat(recognizer.getTouchAction());\n            }\n        });\n        return cleanTouchActions(actions.join(' '));\n    },\n\n    /**\n     * this method is called on each input cycle and provides the preventing of the browser behavior\n     * @param {Object} input\n     */\n    preventDefaults: function(input) {\n        var srcEvent = input.srcEvent;\n        var direction = input.offsetDirection;\n\n        // if the touch action did prevented once this session\n        if (this.manager.session.prevented) {\n            srcEvent.preventDefault();\n            return;\n        }\n\n        var actions = this.actions;\n        var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n        var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n        var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n        if (hasNone) {\n            //do not prevent defaults if this is a tap gesture\n\n            var isTapPointer = input.pointers.length === 1;\n            var isTapMovement = input.distance < 2;\n            var isTapTouchTime = input.deltaTime < 250;\n\n            if (isTapPointer && isTapMovement && isTapTouchTime) {\n                return;\n            }\n        }\n\n        if (hasPanX && hasPanY) {\n            // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n            return;\n        }\n\n        if (hasNone ||\n            (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n            (hasPanX && direction & DIRECTION_VERTICAL)) {\n            return this.preventSrc(srcEvent);\n        }\n    },\n\n    /**\n     * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n     * @param {Object} srcEvent\n     */\n    preventSrc: function(srcEvent) {\n        this.manager.session.prevented = true;\n        srcEvent.preventDefault();\n    }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n    // none\n    if (inStr(actions, TOUCH_ACTION_NONE)) {\n        return TOUCH_ACTION_NONE;\n    }\n\n    var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n    var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n    // if both pan-x and pan-y are set (different recognizers\n    // for different directions, e.g. horizontal pan but vertical swipe?)\n    // we need none (as otherwise with pan-x pan-y combined none of these\n    // recognizers will work, since the browser would handle all panning\n    if (hasPanX && hasPanY) {\n        return TOUCH_ACTION_NONE;\n    }\n\n    // pan-x OR pan-y\n    if (hasPanX || hasPanY) {\n        return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n    }\n\n    // manipulation\n    if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n        return TOUCH_ACTION_MANIPULATION;\n    }\n\n    return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n    if (!NATIVE_TOUCH_ACTION) {\n        return false;\n    }\n    var touchMap = {};\n    var cssSupports = window.CSS && window.CSS.supports;\n    ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n        // If css.supports is not supported but there is native touch-action assume it supports\n        // all values. This is the case for IE 10 and 11.\n        touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n    });\n    return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n *               Possible\n *                  |\n *            +-----+---------------+\n *            |                     |\n *      +-----+-----+               |\n *      |           |               |\n *   Failed      Cancelled          |\n *                          +-------+------+\n *                          |              |\n *                      Recognized       Began\n *                                         |\n *                                      Changed\n *                                         |\n *                                  Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n    this.options = assign({}, this.defaults, options || {});\n\n    this.id = uniqueId();\n\n    this.manager = null;\n\n    // default is enable true\n    this.options.enable = ifUndefined(this.options.enable, true);\n\n    this.state = STATE_POSSIBLE;\n\n    this.simultaneous = {};\n    this.requireFail = [];\n}\n\nRecognizer.prototype = {\n    /**\n     * @virtual\n     * @type {Object}\n     */\n    defaults: {},\n\n    /**\n     * set options\n     * @param {Object} options\n     * @return {Recognizer}\n     */\n    set: function(options) {\n        assign(this.options, options);\n\n        // also update the touchAction, in case something changed about the directions/enabled state\n        this.manager && this.manager.touchAction.update();\n        return this;\n    },\n\n    /**\n     * recognize simultaneous with an other recognizer.\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    recognizeWith: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n            return this;\n        }\n\n        var simultaneous = this.simultaneous;\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        if (!simultaneous[otherRecognizer.id]) {\n            simultaneous[otherRecognizer.id] = otherRecognizer;\n            otherRecognizer.recognizeWith(this);\n        }\n        return this;\n    },\n\n    /**\n     * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    dropRecognizeWith: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n            return this;\n        }\n\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        delete this.simultaneous[otherRecognizer.id];\n        return this;\n    },\n\n    /**\n     * recognizer can only run when an other is failing\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    requireFailure: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n            return this;\n        }\n\n        var requireFail = this.requireFail;\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        if (inArray(requireFail, otherRecognizer) === -1) {\n            requireFail.push(otherRecognizer);\n            otherRecognizer.requireFailure(this);\n        }\n        return this;\n    },\n\n    /**\n     * drop the requireFailure link. it does not remove the link on the other recognizer.\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    dropRequireFailure: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n            return this;\n        }\n\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        var index = inArray(this.requireFail, otherRecognizer);\n        if (index > -1) {\n            this.requireFail.splice(index, 1);\n        }\n        return this;\n    },\n\n    /**\n     * has require failures boolean\n     * @returns {boolean}\n     */\n    hasRequireFailures: function() {\n        return this.requireFail.length > 0;\n    },\n\n    /**\n     * if the recognizer can recognize simultaneous with an other recognizer\n     * @param {Recognizer} otherRecognizer\n     * @returns {Boolean}\n     */\n    canRecognizeWith: function(otherRecognizer) {\n        return !!this.simultaneous[otherRecognizer.id];\n    },\n\n    /**\n     * You should use `tryEmit` instead of `emit` directly to check\n     * that all the needed recognizers has failed before emitting.\n     * @param {Object} input\n     */\n    emit: function(input) {\n        var self = this;\n        var state = this.state;\n\n        function emit(event) {\n            self.manager.emit(event, input);\n        }\n\n        // 'panstart' and 'panmove'\n        if (state < STATE_ENDED) {\n            emit(self.options.event + stateStr(state));\n        }\n\n        emit(self.options.event); // simple 'eventName' events\n\n        if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n            emit(input.additionalEvent);\n        }\n\n        // panend and pancancel\n        if (state >= STATE_ENDED) {\n            emit(self.options.event + stateStr(state));\n        }\n    },\n\n    /**\n     * Check that all the require failure recognizers has failed,\n     * if true, it emits a gesture event,\n     * otherwise, setup the state to FAILED.\n     * @param {Object} input\n     */\n    tryEmit: function(input) {\n        if (this.canEmit()) {\n            return this.emit(input);\n        }\n        // it's failing anyway\n        this.state = STATE_FAILED;\n    },\n\n    /**\n     * can we emit?\n     * @returns {boolean}\n     */\n    canEmit: function() {\n        var i = 0;\n        while (i < this.requireFail.length) {\n            if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n                return false;\n            }\n            i++;\n        }\n        return true;\n    },\n\n    /**\n     * update the recognizer\n     * @param {Object} inputData\n     */\n    recognize: function(inputData) {\n        // make a new copy of the inputData\n        // so we can change the inputData without messing up the other recognizers\n        var inputDataClone = assign({}, inputData);\n\n        // is is enabled and allow recognizing?\n        if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n            this.reset();\n            this.state = STATE_FAILED;\n            return;\n        }\n\n        // reset when we've reached the end\n        if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n            this.state = STATE_POSSIBLE;\n        }\n\n        this.state = this.process(inputDataClone);\n\n        // the recognizer has recognized a gesture\n        // so trigger an event\n        if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n            this.tryEmit(inputDataClone);\n        }\n    },\n\n    /**\n     * return the state of the recognizer\n     * the actual recognizing happens in this method\n     * @virtual\n     * @param {Object} inputData\n     * @returns {Const} STATE\n     */\n    process: function(inputData) { }, // jshint ignore:line\n\n    /**\n     * return the preferred touch-action\n     * @virtual\n     * @returns {Array}\n     */\n    getTouchAction: function() { },\n\n    /**\n     * called when the gesture isn't allowed to recognize\n     * like when another is being recognized or it is disabled\n     * @virtual\n     */\n    reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n    if (state & STATE_CANCELLED) {\n        return 'cancel';\n    } else if (state & STATE_ENDED) {\n        return 'end';\n    } else if (state & STATE_CHANGED) {\n        return 'move';\n    } else if (state & STATE_BEGAN) {\n        return 'start';\n    }\n    return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n    if (direction == DIRECTION_DOWN) {\n        return 'down';\n    } else if (direction == DIRECTION_UP) {\n        return 'up';\n    } else if (direction == DIRECTION_LEFT) {\n        return 'left';\n    } else if (direction == DIRECTION_RIGHT) {\n        return 'right';\n    }\n    return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n    var manager = recognizer.manager;\n    if (manager) {\n        return manager.get(otherRecognizer);\n    }\n    return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n    Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n    /**\n     * @namespace\n     * @memberof AttrRecognizer\n     */\n    defaults: {\n        /**\n         * @type {Number}\n         * @default 1\n         */\n        pointers: 1\n    },\n\n    /**\n     * Used to check if it the recognizer receives valid input, like input.distance > 10.\n     * @memberof AttrRecognizer\n     * @param {Object} input\n     * @returns {Boolean} recognized\n     */\n    attrTest: function(input) {\n        var optionPointers = this.options.pointers;\n        return optionPointers === 0 || input.pointers.length === optionPointers;\n    },\n\n    /**\n     * Process the input and return the state for the recognizer\n     * @memberof AttrRecognizer\n     * @param {Object} input\n     * @returns {*} State\n     */\n    process: function(input) {\n        var state = this.state;\n        var eventType = input.eventType;\n\n        var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n        var isValid = this.attrTest(input);\n\n        // on cancel input and we've recognized before, return STATE_CANCELLED\n        if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n            return state | STATE_CANCELLED;\n        } else if (isRecognized || isValid) {\n            if (eventType & INPUT_END) {\n                return state | STATE_ENDED;\n            } else if (!(state & STATE_BEGAN)) {\n                return STATE_BEGAN;\n            }\n            return state | STATE_CHANGED;\n        }\n        return STATE_FAILED;\n    }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n\n    this.pX = null;\n    this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof PanRecognizer\n     */\n    defaults: {\n        event: 'pan',\n        threshold: 10,\n        pointers: 1,\n        direction: DIRECTION_ALL\n    },\n\n    getTouchAction: function() {\n        var direction = this.options.direction;\n        var actions = [];\n        if (direction & DIRECTION_HORIZONTAL) {\n            actions.push(TOUCH_ACTION_PAN_Y);\n        }\n        if (direction & DIRECTION_VERTICAL) {\n            actions.push(TOUCH_ACTION_PAN_X);\n        }\n        return actions;\n    },\n\n    directionTest: function(input) {\n        var options = this.options;\n        var hasMoved = true;\n        var distance = input.distance;\n        var direction = input.direction;\n        var x = input.deltaX;\n        var y = input.deltaY;\n\n        // lock to axis?\n        if (!(direction & options.direction)) {\n            if (options.direction & DIRECTION_HORIZONTAL) {\n                direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n                hasMoved = x != this.pX;\n                distance = Math.abs(input.deltaX);\n            } else {\n                direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n                hasMoved = y != this.pY;\n                distance = Math.abs(input.deltaY);\n            }\n        }\n        input.direction = direction;\n        return hasMoved && distance > options.threshold && direction & options.direction;\n    },\n\n    attrTest: function(input) {\n        return AttrRecognizer.prototype.attrTest.call(this, input) &&\n            (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n    },\n\n    emit: function(input) {\n\n        this.pX = input.deltaX;\n        this.pY = input.deltaY;\n\n        var direction = directionStr(input.direction);\n\n        if (direction) {\n            input.additionalEvent = this.options.event + direction;\n        }\n        this._super.emit.call(this, input);\n    }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof PinchRecognizer\n     */\n    defaults: {\n        event: 'pinch',\n        threshold: 0,\n        pointers: 2\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_NONE];\n    },\n\n    attrTest: function(input) {\n        return this._super.attrTest.call(this, input) &&\n            (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n    },\n\n    emit: function(input) {\n        if (input.scale !== 1) {\n            var inOut = input.scale < 1 ? 'in' : 'out';\n            input.additionalEvent = this.options.event + inOut;\n        }\n        this._super.emit.call(this, input);\n    }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n    Recognizer.apply(this, arguments);\n\n    this._timer = null;\n    this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n    /**\n     * @namespace\n     * @memberof PressRecognizer\n     */\n    defaults: {\n        event: 'press',\n        pointers: 1,\n        time: 251, // minimal time of the pointer to be pressed\n        threshold: 9 // a minimal movement is ok, but keep it low\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_AUTO];\n    },\n\n    process: function(input) {\n        var options = this.options;\n        var validPointers = input.pointers.length === options.pointers;\n        var validMovement = input.distance < options.threshold;\n        var validTime = input.deltaTime > options.time;\n\n        this._input = input;\n\n        // we only allow little movement\n        // and we've reached an end event, so a tap is possible\n        if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n            this.reset();\n        } else if (input.eventType & INPUT_START) {\n            this.reset();\n            this._timer = setTimeoutContext(function() {\n                this.state = STATE_RECOGNIZED;\n                this.tryEmit();\n            }, options.time, this);\n        } else if (input.eventType & INPUT_END) {\n            return STATE_RECOGNIZED;\n        }\n        return STATE_FAILED;\n    },\n\n    reset: function() {\n        clearTimeout(this._timer);\n    },\n\n    emit: function(input) {\n        if (this.state !== STATE_RECOGNIZED) {\n            return;\n        }\n\n        if (input && (input.eventType & INPUT_END)) {\n            this.manager.emit(this.options.event + 'up', input);\n        } else {\n            this._input.timeStamp = now();\n            this.manager.emit(this.options.event, this._input);\n        }\n    }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof RotateRecognizer\n     */\n    defaults: {\n        event: 'rotate',\n        threshold: 0,\n        pointers: 2\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_NONE];\n    },\n\n    attrTest: function(input) {\n        return this._super.attrTest.call(this, input) &&\n            (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n    }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof SwipeRecognizer\n     */\n    defaults: {\n        event: 'swipe',\n        threshold: 10,\n        velocity: 0.3,\n        direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n        pointers: 1\n    },\n\n    getTouchAction: function() {\n        return PanRecognizer.prototype.getTouchAction.call(this);\n    },\n\n    attrTest: function(input) {\n        var direction = this.options.direction;\n        var velocity;\n\n        if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n            velocity = input.overallVelocity;\n        } else if (direction & DIRECTION_HORIZONTAL) {\n            velocity = input.overallVelocityX;\n        } else if (direction & DIRECTION_VERTICAL) {\n            velocity = input.overallVelocityY;\n        }\n\n        return this._super.attrTest.call(this, input) &&\n            direction & input.offsetDirection &&\n            input.distance > this.options.threshold &&\n            input.maxPointers == this.options.pointers &&\n            abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n    },\n\n    emit: function(input) {\n        var direction = directionStr(input.offsetDirection);\n        if (direction) {\n            this.manager.emit(this.options.event + direction, input);\n        }\n\n        this.manager.emit(this.options.event, input);\n    }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n    Recognizer.apply(this, arguments);\n\n    // previous time and center,\n    // used for tap counting\n    this.pTime = false;\n    this.pCenter = false;\n\n    this._timer = null;\n    this._input = null;\n    this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n    /**\n     * @namespace\n     * @memberof PinchRecognizer\n     */\n    defaults: {\n        event: 'tap',\n        pointers: 1,\n        taps: 1,\n        interval: 300, // max time between the multi-tap taps\n        time: 250, // max time of the pointer to be down (like finger on the screen)\n        threshold: 9, // a minimal movement is ok, but keep it low\n        posThreshold: 10 // a multi-tap can be a bit off the initial position\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_MANIPULATION];\n    },\n\n    process: function(input) {\n        var options = this.options;\n\n        var validPointers = input.pointers.length === options.pointers;\n        var validMovement = input.distance < options.threshold;\n        var validTouchTime = input.deltaTime < options.time;\n\n        this.reset();\n\n        if ((input.eventType & INPUT_START) && (this.count === 0)) {\n            return this.failTimeout();\n        }\n\n        // we only allow little movement\n        // and we've reached an end event, so a tap is possible\n        if (validMovement && validTouchTime && validPointers) {\n            if (input.eventType != INPUT_END) {\n                return this.failTimeout();\n            }\n\n            var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n            var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n            this.pTime = input.timeStamp;\n            this.pCenter = input.center;\n\n            if (!validMultiTap || !validInterval) {\n                this.count = 1;\n            } else {\n                this.count += 1;\n            }\n\n            this._input = input;\n\n            // if tap count matches we have recognized it,\n            // else it has began recognizing...\n            var tapCount = this.count % options.taps;\n            if (tapCount === 0) {\n                // no failing requirements, immediately trigger the tap event\n                // or wait as long as the multitap interval to trigger\n                if (!this.hasRequireFailures()) {\n                    return STATE_RECOGNIZED;\n                } else {\n                    this._timer = setTimeoutContext(function() {\n                        this.state = STATE_RECOGNIZED;\n                        this.tryEmit();\n                    }, options.interval, this);\n                    return STATE_BEGAN;\n                }\n            }\n        }\n        return STATE_FAILED;\n    },\n\n    failTimeout: function() {\n        this._timer = setTimeoutContext(function() {\n            this.state = STATE_FAILED;\n        }, this.options.interval, this);\n        return STATE_FAILED;\n    },\n\n    reset: function() {\n        clearTimeout(this._timer);\n    },\n\n    emit: function() {\n        if (this.state == STATE_RECOGNIZED) {\n            this._input.tapCount = this.count;\n            this.manager.emit(this.options.event, this._input);\n        }\n    }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n    options = options || {};\n    options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n    return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n    /**\n     * set if DOM events are being triggered.\n     * But this is slower and unused by simple implementations, so disabled by default.\n     * @type {Boolean}\n     * @default false\n     */\n    domEvents: false,\n\n    /**\n     * The value for the touchAction property/fallback.\n     * When set to `compute` it will magically set the correct value based on the added recognizers.\n     * @type {String}\n     * @default compute\n     */\n    touchAction: TOUCH_ACTION_COMPUTE,\n\n    /**\n     * @type {Boolean}\n     * @default true\n     */\n    enable: true,\n\n    /**\n     * EXPERIMENTAL FEATURE -- can be removed/changed\n     * Change the parent input target element.\n     * If Null, then it is being set the to main element.\n     * @type {Null|EventTarget}\n     * @default null\n     */\n    inputTarget: null,\n\n    /**\n     * force an input class\n     * @type {Null|Function}\n     * @default null\n     */\n    inputClass: null,\n\n    /**\n     * Default recognizer setup when calling `Hammer()`\n     * When creating a new Manager these will be skipped.\n     * @type {Array}\n     */\n    preset: [\n        // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n        [RotateRecognizer, {enable: false}],\n        [PinchRecognizer, {enable: false}, ['rotate']],\n        [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n        [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n        [TapRecognizer],\n        [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n        [PressRecognizer]\n    ],\n\n    /**\n     * Some CSS properties can be used to improve the working of Hammer.\n     * Add them to this method and they will be set when creating a new Manager.\n     * @namespace\n     */\n    cssProps: {\n        /**\n         * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n         * @type {String}\n         * @default 'none'\n         */\n        userSelect: 'none',\n\n        /**\n         * Disable the Windows Phone grippers when pressing an element.\n         * @type {String}\n         * @default 'none'\n         */\n        touchSelect: 'none',\n\n        /**\n         * Disables the default callout shown when you touch and hold a touch target.\n         * On iOS, when you touch and hold a touch target such as a link, Safari displays\n         * a callout containing information about the link. This property allows you to disable that callout.\n         * @type {String}\n         * @default 'none'\n         */\n        touchCallout: 'none',\n\n        /**\n         * Specifies whether zooming is enabled. Used by IE10>\n         * @type {String}\n         * @default 'none'\n         */\n        contentZooming: 'none',\n\n        /**\n         * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n         * @type {String}\n         * @default 'none'\n         */\n        userDrag: 'none',\n\n        /**\n         * Overrides the highlight color shown when the user taps a link or a JavaScript\n         * clickable element in iOS. This property obeys the alpha value, if specified.\n         * @type {String}\n         * @default 'rgba(0,0,0,0)'\n         */\n        tapHighlightColor: 'rgba(0,0,0,0)'\n    }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n    this.options = assign({}, Hammer.defaults, options || {});\n\n    this.options.inputTarget = this.options.inputTarget || element;\n\n    this.handlers = {};\n    this.session = {};\n    this.recognizers = [];\n    this.oldCssProps = {};\n\n    this.element = element;\n    this.input = createInputInstance(this);\n    this.touchAction = new TouchAction(this, this.options.touchAction);\n\n    toggleCssProps(this, true);\n\n    each(this.options.recognizers, function(item) {\n        var recognizer = this.add(new (item[0])(item[1]));\n        item[2] && recognizer.recognizeWith(item[2]);\n        item[3] && recognizer.requireFailure(item[3]);\n    }, this);\n}\n\nManager.prototype = {\n    /**\n     * set options\n     * @param {Object} options\n     * @returns {Manager}\n     */\n    set: function(options) {\n        assign(this.options, options);\n\n        // Options that need a little more setup\n        if (options.touchAction) {\n            this.touchAction.update();\n        }\n        if (options.inputTarget) {\n            // Clean up existing event listeners and reinitialize\n            this.input.destroy();\n            this.input.target = options.inputTarget;\n            this.input.init();\n        }\n        return this;\n    },\n\n    /**\n     * stop recognizing for this session.\n     * This session will be discarded, when a new [input]start event is fired.\n     * When forced, the recognizer cycle is stopped immediately.\n     * @param {Boolean} [force]\n     */\n    stop: function(force) {\n        this.session.stopped = force ? FORCED_STOP : STOP;\n    },\n\n    /**\n     * run the recognizers!\n     * called by the inputHandler function on every movement of the pointers (touches)\n     * it walks through all the recognizers and tries to detect the gesture that is being made\n     * @param {Object} inputData\n     */\n    recognize: function(inputData) {\n        var session = this.session;\n        if (session.stopped) {\n            return;\n        }\n\n        // run the touch-action polyfill\n        this.touchAction.preventDefaults(inputData);\n\n        var recognizer;\n        var recognizers = this.recognizers;\n\n        // this holds the recognizer that is being recognized.\n        // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n        // if no recognizer is detecting a thing, it is set to `null`\n        var curRecognizer = session.curRecognizer;\n\n        // reset when the last recognizer is recognized\n        // or when we're in a new session\n        if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n            curRecognizer = session.curRecognizer = null;\n        }\n\n        var i = 0;\n        while (i < recognizers.length) {\n            recognizer = recognizers[i];\n\n            // find out if we are allowed try to recognize the input for this one.\n            // 1.   allow if the session is NOT forced stopped (see the .stop() method)\n            // 2.   allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n            //      that is being recognized.\n            // 3.   allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n            //      this can be setup with the `recognizeWith()` method on the recognizer.\n            if (session.stopped !== FORCED_STOP && ( // 1\n                    !curRecognizer || recognizer == curRecognizer || // 2\n                    recognizer.canRecognizeWith(curRecognizer))) { // 3\n                recognizer.recognize(inputData);\n            } else {\n                recognizer.reset();\n            }\n\n            // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n            // current active recognizer. but only if we don't already have an active recognizer\n            if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n                curRecognizer = session.curRecognizer = recognizer;\n            }\n            i++;\n        }\n    },\n\n    /**\n     * get a recognizer by its event name.\n     * @param {Recognizer|String} recognizer\n     * @returns {Recognizer|Null}\n     */\n    get: function(recognizer) {\n        if (recognizer instanceof Recognizer) {\n            return recognizer;\n        }\n\n        var recognizers = this.recognizers;\n        for (var i = 0; i < recognizers.length; i++) {\n            if (recognizers[i].options.event == recognizer) {\n                return recognizers[i];\n            }\n        }\n        return null;\n    },\n\n    /**\n     * add a recognizer to the manager\n     * existing recognizers with the same event name will be removed\n     * @param {Recognizer} recognizer\n     * @returns {Recognizer|Manager}\n     */\n    add: function(recognizer) {\n        if (invokeArrayArg(recognizer, 'add', this)) {\n            return this;\n        }\n\n        // remove existing\n        var existing = this.get(recognizer.options.event);\n        if (existing) {\n            this.remove(existing);\n        }\n\n        this.recognizers.push(recognizer);\n        recognizer.manager = this;\n\n        this.touchAction.update();\n        return recognizer;\n    },\n\n    /**\n     * remove a recognizer by name or instance\n     * @param {Recognizer|String} recognizer\n     * @returns {Manager}\n     */\n    remove: function(recognizer) {\n        if (invokeArrayArg(recognizer, 'remove', this)) {\n            return this;\n        }\n\n        recognizer = this.get(recognizer);\n\n        // let's make sure this recognizer exists\n        if (recognizer) {\n            var recognizers = this.recognizers;\n            var index = inArray(recognizers, recognizer);\n\n            if (index !== -1) {\n                recognizers.splice(index, 1);\n                this.touchAction.update();\n            }\n        }\n\n        return this;\n    },\n\n    /**\n     * bind event\n     * @param {String} events\n     * @param {Function} handler\n     * @returns {EventEmitter} this\n     */\n    on: function(events, handler) {\n        if (events === undefined) {\n            return;\n        }\n        if (handler === undefined) {\n            return;\n        }\n\n        var handlers = this.handlers;\n        each(splitStr(events), function(event) {\n            handlers[event] = handlers[event] || [];\n            handlers[event].push(handler);\n        });\n        return this;\n    },\n\n    /**\n     * unbind event, leave emit blank to remove all handlers\n     * @param {String} events\n     * @param {Function} [handler]\n     * @returns {EventEmitter} this\n     */\n    off: function(events, handler) {\n        if (events === undefined) {\n            return;\n        }\n\n        var handlers = this.handlers;\n        each(splitStr(events), function(event) {\n            if (!handler) {\n                delete handlers[event];\n            } else {\n                handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n            }\n        });\n        return this;\n    },\n\n    /**\n     * emit event to the listeners\n     * @param {String} event\n     * @param {Object} data\n     */\n    emit: function(event, data) {\n        // we also want to trigger dom events\n        if (this.options.domEvents) {\n            triggerDomEvent(event, data);\n        }\n\n        // no handlers, so skip it all\n        var handlers = this.handlers[event] && this.handlers[event].slice();\n        if (!handlers || !handlers.length) {\n            return;\n        }\n\n        data.type = event;\n        data.preventDefault = function() {\n            data.srcEvent.preventDefault();\n        };\n\n        var i = 0;\n        while (i < handlers.length) {\n            handlers[i](data);\n            i++;\n        }\n    },\n\n    /**\n     * destroy the manager and unbinds all events\n     * it doesn't unbind dom events, that is the user own responsibility\n     */\n    destroy: function() {\n        this.element && toggleCssProps(this, false);\n\n        this.handlers = {};\n        this.session = {};\n        this.input.destroy();\n        this.element = null;\n    }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n    var element = manager.element;\n    if (!element.style) {\n        return;\n    }\n    var prop;\n    each(manager.options.cssProps, function(value, name) {\n        prop = prefixed(element.style, name);\n        if (add) {\n            manager.oldCssProps[prop] = element.style[prop];\n            element.style[prop] = value;\n        } else {\n            element.style[prop] = manager.oldCssProps[prop] || '';\n        }\n    });\n    if (!add) {\n        manager.oldCssProps = {};\n    }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n    var gestureEvent = document.createEvent('Event');\n    gestureEvent.initEvent(event, true, true);\n    gestureEvent.gesture = data;\n    data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n    INPUT_START: INPUT_START,\n    INPUT_MOVE: INPUT_MOVE,\n    INPUT_END: INPUT_END,\n    INPUT_CANCEL: INPUT_CANCEL,\n\n    STATE_POSSIBLE: STATE_POSSIBLE,\n    STATE_BEGAN: STATE_BEGAN,\n    STATE_CHANGED: STATE_CHANGED,\n    STATE_ENDED: STATE_ENDED,\n    STATE_RECOGNIZED: STATE_RECOGNIZED,\n    STATE_CANCELLED: STATE_CANCELLED,\n    STATE_FAILED: STATE_FAILED,\n\n    DIRECTION_NONE: DIRECTION_NONE,\n    DIRECTION_LEFT: DIRECTION_LEFT,\n    DIRECTION_RIGHT: DIRECTION_RIGHT,\n    DIRECTION_UP: DIRECTION_UP,\n    DIRECTION_DOWN: DIRECTION_DOWN,\n    DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n    DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n    DIRECTION_ALL: DIRECTION_ALL,\n\n    Manager: Manager,\n    Input: Input,\n    TouchAction: TouchAction,\n\n    TouchInput: TouchInput,\n    MouseInput: MouseInput,\n    PointerEventInput: PointerEventInput,\n    TouchMouseInput: TouchMouseInput,\n    SingleTouchInput: SingleTouchInput,\n\n    Recognizer: Recognizer,\n    AttrRecognizer: AttrRecognizer,\n    Tap: TapRecognizer,\n    Pan: PanRecognizer,\n    Swipe: SwipeRecognizer,\n    Pinch: PinchRecognizer,\n    Rotate: RotateRecognizer,\n    Press: PressRecognizer,\n\n    on: addEventListeners,\n    off: removeEventListeners,\n    each: each,\n    merge: merge,\n    extend: extend,\n    assign: assign,\n    inherit: inherit,\n    bindFn: bindFn,\n    prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n//  style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n    define(function() {\n        return Hammer;\n    });\n} else if (typeof module != 'undefined' && module.exports) {\n    module.exports = Hammer;\n} else {\n    window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","module.exports = {};\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 id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nvar Map = require('../modules/es.map');\nvar WeakMap = require('../modules/es.weak-map');\nvar shared = require('../internals/shared');\n\nvar metadata = shared('metadata');\nvar store = metadata.store || (metadata.store = new WeakMap());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n  var targetMetadata = store.get(target);\n  if (!targetMetadata) {\n    if (!create) return;\n    store.set(target, targetMetadata = new Map());\n  }\n  var keyMetadata = targetMetadata.get(targetKey);\n  if (!keyMetadata) {\n    if (!create) return;\n    targetMetadata.set(targetKey, keyMetadata = new Map());\n  } return keyMetadata;\n};\n\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n  var metadataMap = getOrCreateMetadataMap(O, P, false);\n  return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\n\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n  var metadataMap = getOrCreateMetadataMap(O, P, false);\n  return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\n\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n  getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\n\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n  var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n  var keys = [];\n  if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n  return keys;\n};\n\nvar toMetadataKey = function (it) {\n  return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\n\nmodule.exports = {\n  store: store,\n  getMap: getOrCreateMetadataMap,\n  has: ordinaryHasOwnMetadata,\n  get: ordinaryGetOwnMetadata,\n  set: ordinaryDefineOwnMetadata,\n  keys: ordinaryOwnMetadataKeys,\n  toKey: toMetadataKey\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n  return function seal(it) {\n    return $seal && isObject(it) ? $seal(meta(it)) : it;\n  };\n});\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n  return new (speciesConstructor(original))(length);\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) 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    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n  var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n  var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n  if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n  if (metadataMap.size) return true;\n  var targetMetadata = store.get(target);\n  targetMetadata['delete'](targetKey);\n  return !!targetMetadata.size || store['delete'](target);\n} });\n"],"sourceRoot":"webpack:///"}