{ "version": 3, "sources": [ "node_modules/browser-pack/_prelude.js", "app/scripts/components/autocomplete.js", "app/scripts/components/card-carousel.js", "app/scripts/components/cards.js", "app/scripts/components/carousel.js", "app/scripts/components/code.js", "app/scripts/components/communities/cards/Estate.jsx", "app/scripts/components/communities/index.js", "app/scripts/components/communities/renderEstateCards.js", "app/scripts/components/estatePicker.js", "app/scripts/components/estates.js", "app/scripts/components/facebook.js", "app/scripts/components/form.js", "app/scripts/components/forms/activateForm.js", "app/scripts/components/forms/data.js", "app/scripts/components/forms/events.js", "app/scripts/components/forms/resetForm.js", "app/scripts/components/forms/validateForm.js", "app/scripts/components/forms/watchForm.js", "app/scripts/components/icons/area-icon.js", "app/scripts/components/icons/arrow-icon.js", "app/scripts/components/icons/baths-icon.js", "app/scripts/components/icons/beds-icon.js", "app/scripts/components/icons/call-icon.js", "app/scripts/components/icons/cars-icon.js", "app/scripts/components/icons/chat-icon.js", "app/scripts/components/icons/checkbox-icon.js", "app/scripts/components/icons/childcare-icon.js", "app/scripts/components/icons/close-icon.js", "app/scripts/components/icons/community-icon.js", "app/scripts/components/icons/display-pin.js", "app/scripts/components/icons/email-circle-icon.js", "app/scripts/components/icons/email-icon.js", "app/scripts/components/icons/facebook-circle-icon.js", "app/scripts/components/icons/facebook-icon.js", "app/scripts/components/icons/facebook-square-icon.js", "app/scripts/components/icons/facebook-youtube-circle-icon.js", "app/scripts/components/icons/favourite-icon.js", "app/scripts/components/icons/instagram-icon.js", "app/scripts/components/icons/level-icon.js", "app/scripts/components/icons/mirvac-logo.js", "app/scripts/components/icons/pdf-icon.js", "app/scripts/components/icons/peet-logo.js", "app/scripts/components/icons/pin-icon.js", "app/scripts/components/icons/remove-icon.js", "app/scripts/components/icons/save-circle-icon.js", "app/scripts/components/icons/school-icon.js", "app/scripts/components/icons/search-icon.js", "app/scripts/components/icons/share-circle-icon.js", "app/scripts/components/icons/shopping-icon.js", "app/scripts/components/icons/size-icon.js", "app/scripts/components/icons/social-icon-facebook.js", "app/scripts/components/icons/social-icon-instagram.js", "app/scripts/components/icons/social-icon-linkedin.js", "app/scripts/components/icons/social-icon-youtube.js", "app/scripts/components/icons/sport-icon.js", "app/scripts/components/icons/trains-icon.js", "app/scripts/components/icons/twitter-circle-icon.js", "app/scripts/components/icons/twitter-icon.js", "app/scripts/components/icons/visit-icon.js", "app/scripts/components/layout.js", "app/scripts/components/lightbox.js", "app/scripts/components/login.js", "app/scripts/components/maps/filter.js", "app/scripts/components/maps/globals.js", "app/scripts/components/maps/index.js", "app/scripts/components/maps/styles.js", "app/scripts/components/placesOfInterest/index.js", "app/scripts/components/product.js", "app/scripts/components/productTypes.js", "app/scripts/components/products/cards/Product.jsx", "app/scripts/components/products/index.js", "app/scripts/components/products/inputs/filterCheckbox.js", "app/scripts/components/products/inputs/filterHidden.js", "app/scripts/components/products/inputs/filterReleasesCheckbox.js", "app/scripts/components/products/inputs/filterSelect.js", "app/scripts/components/products/inputs/filterText.js", "app/scripts/components/products/inputs/index.js", "app/scripts/components/products/inputs/rangeSlider.js", "app/scripts/components/products/renderProductCards.js", "app/scripts/components/products/saveProduct.js", "app/scripts/components/releases.js", "app/scripts/components/savedProducts.js", "app/scripts/components/select.js", "app/scripts/components/sidenav.js", "app/scripts/components/sticky.js", "app/scripts/components/suburbs.js", "app/scripts/components/tabs.js", "app/scripts/components/tiles.js", "app/scripts/components/tracking.js", "app/scripts/components/truncate.js", "app/scripts/components/utilities.js", "app/scripts/components/videos.js", "app/scripts/constants.js", "app/scripts/icons.js", "app/scripts/index.js", "app/scripts/lib.js", "node_modules/babel-polyfill/lib/index.js", "node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js", "node_modules/core-js/fn/regexp/escape.js", "node_modules/core-js/modules/_a-function.js", "node_modules/core-js/modules/_a-number-value.js", "node_modules/core-js/modules/_add-to-unscopables.js", "node_modules/core-js/modules/_advance-string-index.js", "node_modules/core-js/modules/_an-instance.js", "node_modules/core-js/modules/_an-object.js", "node_modules/core-js/modules/_array-copy-within.js", "node_modules/core-js/modules/_array-fill.js", "node_modules/core-js/modules/_array-from-iterable.js", "node_modules/core-js/modules/_array-includes.js", "node_modules/core-js/modules/_array-methods.js", "node_modules/core-js/modules/_array-reduce.js", "node_modules/core-js/modules/_array-species-constructor.js", "node_modules/core-js/modules/_array-species-create.js", "node_modules/core-js/modules/_bind.js", "node_modules/core-js/modules/_classof.js", "node_modules/core-js/modules/_cof.js", "node_modules/core-js/modules/_collection-strong.js", "node_modules/core-js/modules/_collection-to-json.js", "node_modules/core-js/modules/_collection-weak.js", "node_modules/core-js/modules/_collection.js", "node_modules/core-js/modules/_core.js", "node_modules/core-js/modules/_create-property.js", "node_modules/core-js/modules/_ctx.js", "node_modules/core-js/modules/_date-to-iso-string.js", "node_modules/core-js/modules/_date-to-primitive.js", "node_modules/core-js/modules/_defined.js", "node_modules/core-js/modules/_descriptors.js", "node_modules/core-js/modules/_dom-create.js", "node_modules/core-js/modules/_enum-bug-keys.js", "node_modules/core-js/modules/_enum-keys.js", "node_modules/core-js/modules/_export.js", "node_modules/core-js/modules/_fails-is-regexp.js", "node_modules/core-js/modules/_fails.js", "node_modules/core-js/modules/_fix-re-wks.js", "node_modules/core-js/modules/_flags.js", "node_modules/core-js/modules/_flatten-into-array.js", "node_modules/core-js/modules/_for-of.js", "node_modules/core-js/modules/_function-to-string.js", "node_modules/core-js/modules/_global.js", "node_modules/core-js/modules/_has.js", "node_modules/core-js/modules/_hide.js", "node_modules/core-js/modules/_html.js", "node_modules/core-js/modules/_ie8-dom-define.js", "node_modules/core-js/modules/_inherit-if-required.js", "node_modules/core-js/modules/_invoke.js", "node_modules/core-js/modules/_iobject.js", "node_modules/core-js/modules/_is-array-iter.js", "node_modules/core-js/modules/_is-array.js", "node_modules/core-js/modules/_is-integer.js", "node_modules/core-js/modules/_is-object.js", "node_modules/core-js/modules/_is-regexp.js", "node_modules/core-js/modules/_iter-call.js", "node_modules/core-js/modules/_iter-create.js", "node_modules/core-js/modules/_iter-define.js", "node_modules/core-js/modules/_iter-detect.js", "node_modules/core-js/modules/_iter-step.js", "node_modules/core-js/modules/_iterators.js", "node_modules/core-js/modules/_library.js", "node_modules/core-js/modules/_math-expm1.js", "node_modules/core-js/modules/_math-fround.js", "node_modules/core-js/modules/_math-log1p.js", "node_modules/core-js/modules/_math-scale.js", "node_modules/core-js/modules/_math-sign.js", "node_modules/core-js/modules/_meta.js", "node_modules/core-js/modules/_metadata.js", "node_modules/core-js/modules/_microtask.js", "node_modules/core-js/modules/_new-promise-capability.js", "node_modules/core-js/modules/_object-assign.js", "node_modules/core-js/modules/_object-create.js", "node_modules/core-js/modules/_object-dp.js", "node_modules/core-js/modules/_object-dps.js", "node_modules/core-js/modules/_object-forced-pam.js", "node_modules/core-js/modules/_object-gopd.js", "node_modules/core-js/modules/_object-gopn-ext.js", "node_modules/core-js/modules/_object-gopn.js", "node_modules/core-js/modules/_object-gops.js", "node_modules/core-js/modules/_object-gpo.js", "node_modules/core-js/modules/_object-keys-internal.js", "node_modules/core-js/modules/_object-keys.js", "node_modules/core-js/modules/_object-pie.js", "node_modules/core-js/modules/_object-sap.js", "node_modules/core-js/modules/_object-to-array.js", "node_modules/core-js/modules/_own-keys.js", "node_modules/core-js/modules/_parse-float.js", "node_modules/core-js/modules/_parse-int.js", "node_modules/core-js/modules/_perform.js", "node_modules/core-js/modules/_promise-resolve.js", "node_modules/core-js/modules/_property-desc.js", "node_modules/core-js/modules/_redefine-all.js", "node_modules/core-js/modules/_redefine.js", "node_modules/core-js/modules/_regexp-exec-abstract.js", "node_modules/core-js/modules/_regexp-exec.js", "node_modules/core-js/modules/_replacer.js", "node_modules/core-js/modules/_same-value.js", "node_modules/core-js/modules/_set-collection-from.js", "node_modules/core-js/modules/_set-collection-of.js", "node_modules/core-js/modules/_set-proto.js", "node_modules/core-js/modules/_set-species.js", "node_modules/core-js/modules/_set-to-string-tag.js", "node_modules/core-js/modules/_shared-key.js", "node_modules/core-js/modules/_shared.js", "node_modules/core-js/modules/_species-constructor.js", "node_modules/core-js/modules/_strict-method.js", "node_modules/core-js/modules/_string-at.js", "node_modules/core-js/modules/_string-context.js", "node_modules/core-js/modules/_string-html.js", "node_modules/core-js/modules/_string-pad.js", "node_modules/core-js/modules/_string-repeat.js", "node_modules/core-js/modules/_string-trim.js", "node_modules/core-js/modules/_string-ws.js", "node_modules/core-js/modules/_task.js", "node_modules/core-js/modules/_to-absolute-index.js", "node_modules/core-js/modules/_to-index.js", "node_modules/core-js/modules/_to-integer.js", "node_modules/core-js/modules/_to-iobject.js", "node_modules/core-js/modules/_to-length.js", "node_modules/core-js/modules/_to-object.js", "node_modules/core-js/modules/_to-primitive.js", "node_modules/core-js/modules/_typed-array.js", "node_modules/core-js/modules/_typed-buffer.js", "node_modules/core-js/modules/_typed.js", "node_modules/core-js/modules/_uid.js", "node_modules/core-js/modules/_user-agent.js", "node_modules/core-js/modules/_validate-collection.js", "node_modules/core-js/modules/_wks-define.js", "node_modules/core-js/modules/_wks-ext.js", "node_modules/core-js/modules/_wks.js", "node_modules/core-js/modules/core.get-iterator-method.js", "node_modules/core-js/modules/core.regexp.escape.js", "node_modules/core-js/modules/es6.array.copy-within.js", "node_modules/core-js/modules/es6.array.every.js", "node_modules/core-js/modules/es6.array.fill.js", "node_modules/core-js/modules/es6.array.filter.js", "node_modules/core-js/modules/es6.array.find-index.js", "node_modules/core-js/modules/es6.array.find.js", "node_modules/core-js/modules/es6.array.for-each.js", "node_modules/core-js/modules/es6.array.from.js", "node_modules/core-js/modules/es6.array.index-of.js", "node_modules/core-js/modules/es6.array.is-array.js", "node_modules/core-js/modules/es6.array.iterator.js", "node_modules/core-js/modules/es6.array.join.js", "node_modules/core-js/modules/es6.array.last-index-of.js", "node_modules/core-js/modules/es6.array.map.js", "node_modules/core-js/modules/es6.array.of.js", "node_modules/core-js/modules/es6.array.reduce-right.js", "node_modules/core-js/modules/es6.array.reduce.js", "node_modules/core-js/modules/es6.array.slice.js", "node_modules/core-js/modules/es6.array.some.js", "node_modules/core-js/modules/es6.array.sort.js", "node_modules/core-js/modules/es6.array.species.js", "node_modules/core-js/modules/es6.date.now.js", "node_modules/core-js/modules/es6.date.to-iso-string.js", "node_modules/core-js/modules/es6.date.to-json.js", "node_modules/core-js/modules/es6.date.to-primitive.js", "node_modules/core-js/modules/es6.date.to-string.js", "node_modules/core-js/modules/es6.function.bind.js", "node_modules/core-js/modules/es6.function.has-instance.js", "node_modules/core-js/modules/es6.function.name.js", "node_modules/core-js/modules/es6.map.js", "node_modules/core-js/modules/es6.math.acosh.js", "node_modules/core-js/modules/es6.math.asinh.js", "node_modules/core-js/modules/es6.math.atanh.js", "node_modules/core-js/modules/es6.math.cbrt.js", "node_modules/core-js/modules/es6.math.clz32.js", "node_modules/core-js/modules/es6.math.cosh.js", "node_modules/core-js/modules/es6.math.expm1.js", "node_modules/core-js/modules/es6.math.fround.js", "node_modules/core-js/modules/es6.math.hypot.js", "node_modules/core-js/modules/es6.math.imul.js", "node_modules/core-js/modules/es6.math.log10.js", "node_modules/core-js/modules/es6.math.log1p.js", "node_modules/core-js/modules/es6.math.log2.js", "node_modules/core-js/modules/es6.math.sign.js", "node_modules/core-js/modules/es6.math.sinh.js", "node_modules/core-js/modules/es6.math.tanh.js", "node_modules/core-js/modules/es6.math.trunc.js", "node_modules/core-js/modules/es6.number.constructor.js", "node_modules/core-js/modules/es6.number.epsilon.js", "node_modules/core-js/modules/es6.number.is-finite.js", "node_modules/core-js/modules/es6.number.is-integer.js", "node_modules/core-js/modules/es6.number.is-nan.js", "node_modules/core-js/modules/es6.number.is-safe-integer.js", "node_modules/core-js/modules/es6.number.max-safe-integer.js", "node_modules/core-js/modules/es6.number.min-safe-integer.js", "node_modules/core-js/modules/es6.number.parse-float.js", "node_modules/core-js/modules/es6.number.parse-int.js", "node_modules/core-js/modules/es6.number.to-fixed.js", "node_modules/core-js/modules/es6.number.to-precision.js", "node_modules/core-js/modules/es6.object.assign.js", "node_modules/core-js/modules/es6.object.create.js", "node_modules/core-js/modules/es6.object.define-properties.js", "node_modules/core-js/modules/es6.object.define-property.js", "node_modules/core-js/modules/es6.object.freeze.js", "node_modules/core-js/modules/es6.object.get-own-property-descriptor.js", "node_modules/core-js/modules/es6.object.get-own-property-names.js", "node_modules/core-js/modules/es6.object.get-prototype-of.js", "node_modules/core-js/modules/es6.object.is-extensible.js", "node_modules/core-js/modules/es6.object.is-frozen.js", "node_modules/core-js/modules/es6.object.is-sealed.js", "node_modules/core-js/modules/es6.object.is.js", "node_modules/core-js/modules/es6.object.keys.js", "node_modules/core-js/modules/es6.object.prevent-extensions.js", "node_modules/core-js/modules/es6.object.seal.js", "node_modules/core-js/modules/es6.object.set-prototype-of.js", "node_modules/core-js/modules/es6.object.to-string.js", "node_modules/core-js/modules/es6.parse-float.js", "node_modules/core-js/modules/es6.parse-int.js", "node_modules/core-js/modules/es6.promise.js", "node_modules/core-js/modules/es6.reflect.apply.js", "node_modules/core-js/modules/es6.reflect.construct.js", "node_modules/core-js/modules/es6.reflect.define-property.js", "node_modules/core-js/modules/es6.reflect.delete-property.js", "node_modules/core-js/modules/es6.reflect.enumerate.js", "node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js", "node_modules/core-js/modules/es6.reflect.get-prototype-of.js", "node_modules/core-js/modules/es6.reflect.get.js", "node_modules/core-js/modules/es6.reflect.has.js", "node_modules/core-js/modules/es6.reflect.is-extensible.js", "node_modules/core-js/modules/es6.reflect.own-keys.js", "node_modules/core-js/modules/es6.reflect.prevent-extensions.js", "node_modules/core-js/modules/es6.reflect.set-prototype-of.js", "node_modules/core-js/modules/es6.reflect.set.js", "node_modules/core-js/modules/es6.regexp.constructor.js", "node_modules/core-js/modules/es6.regexp.exec.js", "node_modules/core-js/modules/es6.regexp.flags.js", "node_modules/core-js/modules/es6.regexp.match.js", "node_modules/core-js/modules/es6.regexp.replace.js", "node_modules/core-js/modules/es6.regexp.search.js", "node_modules/core-js/modules/es6.regexp.split.js", "node_modules/core-js/modules/es6.regexp.to-string.js", "node_modules/core-js/modules/es6.set.js", "node_modules/core-js/modules/es6.string.anchor.js", "node_modules/core-js/modules/es6.string.big.js", "node_modules/core-js/modules/es6.string.blink.js", "node_modules/core-js/modules/es6.string.bold.js", "node_modules/core-js/modules/es6.string.code-point-at.js", "node_modules/core-js/modules/es6.string.ends-with.js", "node_modules/core-js/modules/es6.string.fixed.js", "node_modules/core-js/modules/es6.string.fontcolor.js", "node_modules/core-js/modules/es6.string.fontsize.js", "node_modules/core-js/modules/es6.string.from-code-point.js", "node_modules/core-js/modules/es6.string.includes.js", "node_modules/core-js/modules/es6.string.italics.js", "node_modules/core-js/modules/es6.string.iterator.js", "node_modules/core-js/modules/es6.string.link.js", "node_modules/core-js/modules/es6.string.raw.js", "node_modules/core-js/modules/es6.string.repeat.js", "node_modules/core-js/modules/es6.string.small.js", "node_modules/core-js/modules/es6.string.starts-with.js", "node_modules/core-js/modules/es6.string.strike.js", "node_modules/core-js/modules/es6.string.sub.js", "node_modules/core-js/modules/es6.string.sup.js", "node_modules/core-js/modules/es6.string.trim.js", "node_modules/core-js/modules/es6.symbol.js", "node_modules/core-js/modules/es6.typed.array-buffer.js", "node_modules/core-js/modules/es6.typed.data-view.js", "node_modules/core-js/modules/es6.typed.float32-array.js", "node_modules/core-js/modules/es6.typed.float64-array.js", "node_modules/core-js/modules/es6.typed.int16-array.js", "node_modules/core-js/modules/es6.typed.int32-array.js", "node_modules/core-js/modules/es6.typed.int8-array.js", "node_modules/core-js/modules/es6.typed.uint16-array.js", "node_modules/core-js/modules/es6.typed.uint32-array.js", "node_modules/core-js/modules/es6.typed.uint8-array.js", "node_modules/core-js/modules/es6.typed.uint8-clamped-array.js", "node_modules/core-js/modules/es6.weak-map.js", "node_modules/core-js/modules/es6.weak-set.js", "node_modules/core-js/modules/es7.array.flat-map.js", "node_modules/core-js/modules/es7.array.flatten.js", "node_modules/core-js/modules/es7.array.includes.js", "node_modules/core-js/modules/es7.asap.js", "node_modules/core-js/modules/es7.error.is-error.js", "node_modules/core-js/modules/es7.global.js", "node_modules/core-js/modules/es7.map.from.js", "node_modules/core-js/modules/es7.map.of.js", "node_modules/core-js/modules/es7.map.to-json.js", "node_modules/core-js/modules/es7.math.clamp.js", "node_modules/core-js/modules/es7.math.deg-per-rad.js", "node_modules/core-js/modules/es7.math.degrees.js", "node_modules/core-js/modules/es7.math.fscale.js", "node_modules/core-js/modules/es7.math.iaddh.js", "node_modules/core-js/modules/es7.math.imulh.js", "node_modules/core-js/modules/es7.math.isubh.js", "node_modules/core-js/modules/es7.math.rad-per-deg.js", "node_modules/core-js/modules/es7.math.radians.js", "node_modules/core-js/modules/es7.math.scale.js", "node_modules/core-js/modules/es7.math.signbit.js", "node_modules/core-js/modules/es7.math.umulh.js", "node_modules/core-js/modules/es7.object.define-getter.js", "node_modules/core-js/modules/es7.object.define-setter.js", "node_modules/core-js/modules/es7.object.entries.js", "node_modules/core-js/modules/es7.object.get-own-property-descriptors.js", "node_modules/core-js/modules/es7.object.lookup-getter.js", "node_modules/core-js/modules/es7.object.lookup-setter.js", "node_modules/core-js/modules/es7.object.values.js", "node_modules/core-js/modules/es7.observable.js", "node_modules/core-js/modules/es7.promise.finally.js", "node_modules/core-js/modules/es7.promise.try.js", "node_modules/core-js/modules/es7.reflect.define-metadata.js", "node_modules/core-js/modules/es7.reflect.delete-metadata.js", "node_modules/core-js/modules/es7.reflect.get-metadata-keys.js", "node_modules/core-js/modules/es7.reflect.get-metadata.js", "node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js", "node_modules/core-js/modules/es7.reflect.get-own-metadata.js", "node_modules/core-js/modules/es7.reflect.has-metadata.js", "node_modules/core-js/modules/es7.reflect.has-own-metadata.js", "node_modules/core-js/modules/es7.reflect.metadata.js", "node_modules/core-js/modules/es7.set.from.js", "node_modules/core-js/modules/es7.set.of.js", "node_modules/core-js/modules/es7.set.to-json.js", "node_modules/core-js/modules/es7.string.at.js", "node_modules/core-js/modules/es7.string.match-all.js", "node_modules/core-js/modules/es7.string.pad-end.js", "node_modules/core-js/modules/es7.string.pad-start.js", "node_modules/core-js/modules/es7.string.trim-left.js", "node_modules/core-js/modules/es7.string.trim-right.js", "node_modules/core-js/modules/es7.symbol.async-iterator.js", "node_modules/core-js/modules/es7.symbol.observable.js", "node_modules/core-js/modules/es7.system.global.js", "node_modules/core-js/modules/es7.weak-map.from.js", "node_modules/core-js/modules/es7.weak-map.of.js", "node_modules/core-js/modules/es7.weak-set.from.js", "node_modules/core-js/modules/es7.weak-set.of.js", "node_modules/core-js/modules/web.dom.iterable.js", "node_modules/core-js/modules/web.immediate.js", "node_modules/core-js/modules/web.timers.js", "node_modules/core-js/shim.js", "node_modules/d/index.js", "node_modules/desandro-matches-selector/matches-selector.js", "node_modules/es5-ext/function/noop.js", "node_modules/es5-ext/object/assign/index.js", "node_modules/es5-ext/object/assign/is-implemented.js", "node_modules/es5-ext/object/assign/shim.js", "node_modules/es5-ext/object/is-value.js", "node_modules/es5-ext/object/keys/index.js", "node_modules/es5-ext/object/keys/is-implemented.js", "node_modules/es5-ext/object/keys/shim.js", "node_modules/es5-ext/object/normalize-options.js", "node_modules/es5-ext/object/valid-callable.js", "node_modules/es5-ext/object/valid-value.js", "node_modules/es5-ext/string/#/contains/index.js", "node_modules/es5-ext/string/#/contains/is-implemented.js", "node_modules/es5-ext/string/#/contains/shim.js", "node_modules/ev-emitter/ev-emitter.js", "node_modules/eve/eve.js", "node_modules/event-emitter/index.js", "node_modules/fizzy-ui-utils/utils.js", "node_modules/get-size/get-size.js", "node_modules/imagesloaded/imagesloaded.js", "node_modules/jquery-autocomplete/jquery.autocomplete.js", "node_modules/jquery-ui/dist/jquery-ui.js", "node_modules/jquery/dist/jquery.js", "node_modules/js-cookie/src/js.cookie.js", "node_modules/masonry-layout/masonry.js", "node_modules/material-design-lite/dist/material.min.js", "node_modules/no-ui-slider/index.js", "node_modules/no-ui-slider/lib/nouislider.js", "node_modules/node-js-marker-clusterer/src/markerclusterer.js", "node_modules/outlayer/item.js", "node_modules/outlayer/outlayer.js", "node_modules/owl.carousel/dist/owl.carousel.js", "node_modules/preact-html-converter/dist/preact-html-converter.browser.js", "node_modules/preact/dist/preact.js", "node_modules/snapsvg/dist/snap.svg.js", "node_modules/spin/spin.js", "node_modules/svg-pan-zoom/src/browserify.js", "node_modules/svg-pan-zoom/src/control-icons.js", "node_modules/svg-pan-zoom/src/shadow-viewport.js", "node_modules/svg-pan-zoom/src/svg-pan-zoom.js", "node_modules/svg-pan-zoom/src/svg-utilities.js", "node_modules/svg-pan-zoom/src/uniwheel.js", "node_modules/svg-pan-zoom/src/utilities.js", "node_modules/trunk8/trunk8.js", "node_modules/type/function/is.js", "node_modules/type/object/is.js", "node_modules/type/plain-function/is.js", "node_modules/type/prototype/is.js", "node_modules/type/value/is.js" ], "names": [], "mappings": "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AQD,GAVD;AAWD,C;;;;;;;;;ACdD;;AAA+C;;kBAEhC,YAAM;AACnB,QAAM,IAAN,CAAW,SAAS,oBAAT,CAA8B,UAA9B,CAAX,EAAsD,OAAtD,CAA8D,UAAC,EAAD,EAAQ;AACpE,OAAG,YAAH,CAAgB,OAAhB,EAAyB,cAAzB;AACE;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACN;AAAA;AAAA,QAAK,WAAU,MAAf,EAAsB,IAAG,QAAzB,EAAkC,OAAM,4BAAxC,EAAqE,SAAQ,uBAA7E;AACD,+BAAM,SAAM,YAAZ,EAAyB,GAAE,kKAA3B,GADC;AAED,+BAAM,SAAM,YAAZ,EAAyB,GAAE,4QAA3B,GAFC;AAGD,+BAAM,SAAM,YAAZ,EAAyB,GAAE,+HAA3B,GAHC;AAID,+BAAM,SAAM,YAAZ,EAAyB,GAAE,4HAA3B,GAJC;AAKD,+BAAM,SAAM,YAAZ,EAAyB,GAAE,8GAA3B;AALC;AAOM;AACA;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnHM,MAoHC,EApHD;AAqHH,GAvHD;AAwHD,C;;;;;;;;;AC3HD;;AAA+C;;kBAEhC,YAAM;AACnB,QAAM,IAAN,CAAW,SAAS,oBAAT,CAA8B,SAA9B,CAAX,EAAqD,OAArD,CAA6D,UAAC,EAAD,EAAQ;AACnE,OAAG,YAAH,CAAgB,OAAhB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A,Q;;;;ACxBF;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;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;AChuBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;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;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;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;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;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;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;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;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;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;;ACzBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;;ACFA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;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;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;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;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;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;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;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;;AC9BA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACheA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpRA;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;;AC5BA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;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;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;;ACDA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;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;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACrEA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;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;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;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;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtHA;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;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;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;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;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;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACzXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnkCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7nlBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACxnVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACt6DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1iBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC36BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACx3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1+PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AC9SA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;ACt8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n $('select.autocomplete', form).each((index, select) => {\r\n const $select = $(select);\r\n const options = Array.from($('option', $select)).reduce((collection, option) => {\r\n collection.push(option.text);\r\n return collection;\r\n }, []);\r\n const $input = $(``).insertAfter($select);\r\n\r\n $input.autocomplete({\r\n source: [options],\r\n minLength: 2,\r\n visibleLimit: 4,\r\n autoselect: true\r\n }).on('selected.xdsoft', () => {\r\n $input.blur();\r\n });\r\n\r\n $select.remove();\r\n return $input;\r\n });\r\n};\r\n", "export default () => {\r\n const initializeCarousel = ($carousel) => $carousel.owlCarousel({ items: 1, nav: true, navText: ['', ''] });\r\n\r\n $('.owl-carousel.card-carousel').each((carouselIndex, carousel) => {\r\n const $carousel = $(carousel);\r\n\r\n $(window).on('resize', () => {\r\n if ($(window).width() < 840 && !$carousel.hasClass('owl-loaded')) {\r\n initializeCarousel($carousel);\r\n }\r\n else if ($(window).width() >= 840 && $carousel.hasClass('owl-loaded')) {\r\n $carousel.trigger('destroy.owl.carousel');\r\n }\r\n });\r\n });\r\n};\r\n", "export default (Masonry, imagesLoaded) => {\r\n Array.from(document.querySelectorAll('.card-container')).forEach((cards) => {\r\n const cardLayout = new Masonry(cards, {\r\n itemSelector: '.card',\r\n transitionDuration: 0\r\n });\r\n imagesLoaded(cards, () => {\r\n cardLayout.layout();\r\n });\r\n });\r\n};\r\n", "export default () => {\r\n const getThumbnails = ($wrapper) => $('.carousel-thumbnails', $wrapper);\r\n const isHeroCarousel = ($carousel) => getThumbnails($carousel.parent()).length;\r\n\r\n const updateSlideData = ({ target }) => {\r\n const $carousel = $(target);\r\n const $controller = $carousel.siblings('.carousel-controller');\r\n const $controllerData = $('.carousel-controller__data', $controller);\r\n\r\n const videoWrappers = document.getElementsByClassName('owl-video-wrapper');\r\n for (var i = 0; i < videoWrappers.length; i++) {\r\n if (videoWrappers[i] !== null) {\r\n const children = videoWrappers[i].childNodes;\r\n children.forEach(function (child) {\r\n if (child.tagName === 'IFRAME') {\r\n child.remove();\r\n }\r\n });\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n $('.owl-item.active .carousel-item__data', $carousel)\r\n .children()\r\n .clone()\r\n .appendTo($controllerData.empty());\r\n\r\n $('.carousel-item__title').trunk8({ lines: 2 });\r\n $('.carousel-item__caption').trunk8({ lines: 3 });\r\n }, 10);\r\n };\r\n\r\n const buildThumbnails = ($carousel) => {\r\n const $thumbnails = $('.carousel-thumbnails', $carousel.parent());\r\n if ($thumbnails.length) {\r\n const images = [];\r\n $('.owl-item', $carousel).each((itemIndex, item) => {\r\n const thumbnail = item.querySelector('.owl-video-tn, .carousel-item__image');\r\n if (thumbnail.tagName === 'IMG') {\r\n images.push(thumbnail.getAttribute('src'));\r\n }\r\n else {\r\n images.push(thumbnail.style.backgroundImage.slice(5, -2));\r\n }\r\n });\r\n\r\n images.forEach((imagePath, index) => {\r\n const $thumbnail = $(`
`);\r\n $thumbnail.appendTo($thumbnails);\r\n $thumbnail.data('index', index).on('click', () => {\r\n $carousel.trigger('to.owl.carousel', index);\r\n });\r\n });\r\n\r\n $carousel.trigger('translate.owl.carousel');\r\n }\r\n };\r\n\r\n const updateVideoHeight = ({ target }) => {\r\n const $images = $('.carousel-item img', target);\r\n const imageHeight = [...$images].reduce((maxHeight, image) => Math.max(maxHeight, image.getBoundingClientRect().height), 0);\r\n const $videoFrame = $('.active.owl-video-playing .owl-video-wrapper', target);\r\n const $thumbnail = $('.owl-video-tn', target);\r\n if (imageHeight) {\r\n $thumbnail.css('padding-bottom', imageHeight);\r\n }\r\n $('iframe', $videoFrame).height($thumbnail.outerHeight());\r\n };\r\n\r\n const initializeSlides = ({ target }) => {\r\n const $carousel = $(target);\r\n setTimeout(() => {\r\n updateSlideData({ target });\r\n buildThumbnails($carousel);\r\n updateVideoHeight({ target });\r\n }, 10);\r\n };\r\n\r\n const showController = ({ target }) => {\r\n $(target).addClass('video-playing');\r\n };\r\n\r\n const dimController = ({ target }) => {\r\n $(target).removeClass('video-playing');\r\n };\r\n\r\n $('.owl-carousel.carousel').each((carouselIndex, carousel) => {\r\n const $carousel = $(carousel);\r\n const $carouselItems = $carousel.find('.carousel-item');\r\n const singleItem = $carouselItems.length === 1;\r\n\r\n $carousel.toggleClass('carousel--single-item', singleItem).owlCarousel({\r\n loop: !isHeroCarousel($carousel) && !singleItem,\r\n dots: !isHeroCarousel($carousel),\r\n nav: $carousel.hasClass('carousel--hero'),\r\n items: 1,\r\n video: true,\r\n smartSpeed: 500,\r\n onInitialized: initializeSlides,\r\n onTranslate: updateSlideData,\r\n onPlayVideo: showController,\r\n onStopVideo: dimController,\r\n onResized: updateVideoHeight,\r\n mouseDrag: !singleItem,\r\n touchDrag: !singleItem,\r\n pullDrag: !singleItem\r\n });\r\n\r\n const $wrapper = $carousel.parent();\r\n const $prevButton = $('.carousel-navigation-button__previous', $wrapper);\r\n const $nextButton = $('.carousel-navigation-button__next', $wrapper);\r\n $prevButton.on('click', () => {\r\n $carousel.trigger('prev.owl.carousel');\r\n });\r\n\r\n $nextButton.on('click', () => {\r\n $carousel.trigger('next.owl.carousel');\r\n });\r\n\r\n $carousel.on('translate.owl.carousel', ({ relatedTarget = {}, item = {} }) => {\r\n const $thumbnails = $('.carousel-thumbnail', $wrapper);\r\n const { index = 0, count = 5 } = item;\r\n const { options = { loop: false } } = relatedTarget;\r\n $('.carousel-thumbnail.active', $wrapper).removeClass('active');\r\n if ($thumbnails.length > index) {\r\n $($thumbnails.get(index)).addClass('active');\r\n }\r\n if (options.loop === false) {\r\n $prevButton.toggleClass('disabled', (index === 0));\r\n $nextButton.toggleClass('disabled', (index + 1 === count));\r\n }\r\n });\r\n });\r\n};", "export default () => {\r\n $('pre code.html').each((index, code) => {\r\n const $code = $(code);\r\n const seed = Math.floor(Math.random() * 1000000000000);\r\n $(``).insertBefore($code);\r\n $(``).insertBefore($code);\r\n });\r\n};\r\n", "import { h, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\nimport { PreactHTMLConverter } from 'preact-html-converter';\r\n\r\nconst converter = PreactHTMLConverter();\r\n// converter.registerComponent('test', Test);\r\n\r\nexport class EstateCard extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n // need to add a GTM thing here for handle the (Select Item) event which is supposed to happen on click on the image or button in list view\r\n \r\n render() {\r\n const estateMainImage = { backgroundImage: `url(${ this.props.primaryImageUrl })` }\r\n const moreInfoButton = () => {\r\n if (this.props.url) {\r\n return (
\r\n clicked(this.props) }\r\n >\r\n More Information\r\n \r\n
);\r\n }\r\n return null;\r\n };\r\n\r\n return (\r\n
\r\n clicked(this.props)} target=\"_blank\" style={estateMainImage}>\r\n \r\n \r\n\r\n \r\n {this.props.name}\r\n \r\n

\r\n {this.props.name}\r\n

\r\n

{this.props.address}

\r\n
\r\n {converter.convert(this.props.description)}\r\n
\r\n { moreInfoButton() }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class EstateEmptyState extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

Sorry...

\r\n

No communities found

\r\n
\r\n )\r\n }\r\n\r\n}\r\n\r\nfunction clicked(props) {\r\n console.log('(Select Item) fired in estate')\r\n\r\n let community = {\r\n community_name: props.name,\r\n community_region: props.region,\r\n community_availability: props.projectStatus\r\n };\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n event: \"select_item\",\r\n ecommerce: {\r\n item_list_name: \"Community List\", // or Lot List\r\n items: [community] // the single item selected, in an array\r\n }\r\n });\r\n}\r\n", "import { updateFilterCriteria, filterCommunities, getFilterCriteria } from '../maps/filter';\r\nimport { renderEstateCards } from './renderEstateCards';\r\n\r\n// Default Settings\r\nvar globals = {};\r\nvar markerIcons = {\r\n active: {},\r\n inactive: {},\r\n comingActive: {},\r\n comingInactive: {},\r\n soldActive: {},\r\n soldInactive: {}\r\n};\r\nvar markers = [];\r\nconst data = {\r\n communities: []\r\n};\r\nvar gtmCommunities = {};\r\nfunction community(name = \"\", region = \"\", projectStatus = \"\") {\r\n this.name = name;\r\n this.region = region;\r\n this.availability = projectStatus;\r\n return this;\r\n}\r\n\r\n\r\nexport const communities = async (g) => {\r\n globals = g;\r\n\r\n // Calculate the projects endpoint\r\n var endPoint = globals.parentFolderIds\r\n ? globals.apiRoot + '/projects?parentId=' + globals.parentFolderIds.join(\"&parentId=\")\r\n : globals.apiRoot + '/projects';\r\n\r\n // Initilize default marker styles\r\n markerIcons.inactive = {\r\n url: '/images/pin-icon-available.svg',\r\n size: new google.maps.Size(38, 60),\r\n scaledSize: new google.maps.Size(38, 60),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(19, 60)\r\n };\r\n markerIcons.active = {\r\n url: '/images/pin-icon-available-active.svg',\r\n size: new google.maps.Size(38, 60),\r\n scaledSize: new google.maps.Size(38, 60),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(19, 60)\r\n };\r\n\r\n // Coming soon markers\r\n markerIcons.comingInactive = {\r\n url: '/images/pin-icon-coming.svg',\r\n size: new google.maps.Size(38, 60),\r\n scaledSize: new google.maps.Size(38, 60),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(19, 60)\r\n };\r\n markerIcons.comingActive = {\r\n url: '/images/pin-icon-coming-active.svg',\r\n size: new google.maps.Size(38, 60),\r\n scaledSize: new google.maps.Size(38, 60),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(19, 60)\r\n };\r\n\r\n // Sold markers\r\n markerIcons.soldInactive = {\r\n url: '/images/pin-icon-sold.svg',\r\n size: new google.maps.Size(38, 60),\r\n scaledSize: new google.maps.Size(38, 60),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(19, 60)\r\n };\r\n markerIcons.soldActive = {\r\n url: '/images/pin-icon-sold-active.svg',\r\n size: new google.maps.Size(38, 60),\r\n scaledSize: new google.maps.Size(38, 60),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(19, 60)\r\n };\r\n\r\n $.when($.ajax(endPoint))\r\n .done(function (response) {\r\n //for testing purpoises\r\n //console.log(\"i'm going to pause\");\r\n //var start = new Date().getTime();\r\n //var end = start;\r\n //while (end < start + 10000) {\r\n // end = new Date().getTime();\r\n //}\r\n //console.log(\"finished pausing\");\r\n\r\n // Set up data\r\n data.communities = response;\r\n\r\n // Set the clusterer\r\n var clusterOptions = {\r\n ignoreHidden: true,\r\n minimumClusterSize: 2,\r\n styles: [{ textColor: \"#FFFFFF\", textSize: 14, width: 56, height: 56, url: '/images/cluster-icon.png' }]\r\n };\r\n globals.cluster = new MarkerClusterer(globals.map, markers, clusterOptions);\r\n\r\n // Render the communities and cards\r\n renderCommunities(data.communities);\r\n renderEstateCards('product-card-wrapper', data.communities);\r\n\r\n // Initialise the controls and toggles\r\n initializeControls();\r\n enableViewTogglers();\r\n\r\n enableSearchStates();\r\n setAutoComplete(data.communities);\r\n\r\n setMapHeight();\r\n setFixedFilterScroll();\r\n gtmViewCommunityList(data.communities); // in here GTM fire first loaded event (View Community List)\r\n hideLoader();\r\n\r\n })\r\n .fail(function () {\r\n console.log(arguments);\r\n })\r\n};\r\n\r\nfunction renderCommunities(data) {\r\n // Remove any existing markers\r\n markers.forEach(marker => {\r\n globals.cluster.removeMarker(marker);\r\n marker.setMap(null);\r\n });\r\n markers = [];\r\n\r\n // Iterate between each data point and create a new marker\r\n data.forEach(community => {\r\n if (community.lat && community.lng && community.projectStatus == 'coming') {\r\n var marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(community.lat, community.lng),\r\n icon: markerIcons.comingInactive,\r\n label: {\r\n text: community.name,\r\n className: 'product-search__map-marker-label',\r\n fontSize: \"12px\",\r\n fontWeight: \"700\",\r\n color: '#30424C'\r\n }\r\n });\r\n\r\n // Attach click event to the marker...\r\n google.maps.event.addListener(marker, \"click\", function () {\r\n const contentString = infoWindowMarkup(community)\r\n globals.showHideInfoWindow(marker, contentString);\r\n marker.setIcon(markerIcons.comingActive);\r\n });\r\n\r\n // Add marker to cluster and marker list\r\n globals.cluster.addMarker(marker);\r\n markers.push(marker);\r\n }\r\n\r\n else if (community.lat && community.lng && community.projectStatus == 'sold') {\r\n var marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(community.lat, community.lng),\r\n icon: markerIcons.soldInactive,\r\n label: {\r\n text: community.name,\r\n className: 'product-search__map-marker-label',\r\n fontSize: \"12px\",\r\n fontWeight: \"700\",\r\n color: '#30424C'\r\n }\r\n });\r\n\r\n // Attach click event to the marker...\r\n google.maps.event.addListener(marker, \"click\", function () {\r\n const contentString = infoWindowMarkup(community)\r\n globals.showHideInfoWindow(marker, contentString);\r\n marker.setIcon(markerIcons.soldActive)\r\n });\r\n\r\n // Add marker to cluster and marker list\r\n globals.cluster.addMarker(marker);\r\n markers.push(marker);\r\n }\r\n\r\n else if (community.lat && community.lng && community.projectStatus !== 'coming' && community.projectStatus !== 'sold') {\r\n var marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(community.lat, community.lng),\r\n icon: markerIcons.inactive,\r\n label: {\r\n text: community.name,\r\n className: 'product-search__map-marker-label',\r\n fontSize: \"12px\",\r\n fontWeight: \"700\",\r\n color: '#30424C'\r\n }\r\n });\r\n\r\n // Attach click event to the marker...\r\n google.maps.event.addListener(marker, \"click\", function () {\r\n const contentString = infoWindowMarkup(community)\r\n globals.showHideInfoWindow(marker, contentString);\r\n\r\n marker.setIcon(markerIcons.active)\r\n });\r\n\r\n // Add marker to cluster and marker list\r\n globals.cluster.addMarker(marker);\r\n markers.push(marker);\r\n }\r\n\r\n });\r\n\r\n // Only fix the bounds if there are markers\r\n if (markers && markers.length > 0) {\r\n // globals.cluster.fitMapToMarkers();\r\n setMapBounds()\r\n }\r\n\r\n \r\n}\r\n\r\n\r\nfunction setMapBounds() {\r\n\r\n var bounds;\r\n\r\n if (markers.length) {\r\n\r\n var firstMarker = markers[0];\r\n bounds = new google.maps.LatLngBounds(firstMarker.position, firstMarker.position);\r\n\r\n markers.forEach(marker => {\r\n bounds.extend(marker.position);\r\n })\r\n\r\n // Create a min bounds size for filtering (prevents zooming too far without restricting manual zoom)\r\n var boundsMin = 0.02;\r\n var latDif = bounds.getNorthEast().lat() - bounds.getSouthWest().lat();\r\n var lngDif = bounds.getNorthEast().lng() - bounds.getSouthWest().lng();\r\n if (latDif < boundsMin || lngDif < boundsMin) {\r\n var lngBuff = boundsMin - lngDif;\r\n var latBuff = boundsMin - latDif;\r\n var extendPoint1 = new google.maps.LatLng(bounds.getNorthEast().lat() + latBuff, bounds.getNorthEast().lng() + lngBuff);\r\n var extendPoint2 = new google.maps.LatLng(bounds.getSouthWest().lat() - latBuff, bounds.getSouthWest().lng() - lngBuff);\r\n bounds.extend(extendPoint1);\r\n bounds.extend(extendPoint2);\r\n }\r\n\r\n globals.map.fitBounds(bounds);\r\n\r\n }\r\n\r\n};\r\n\r\n\r\nfunction infoWindowMarkup(community) {\r\n // add data object to this html to allow the dataLayer to get data about this community\r\n let dataHTML = 'data-name=\"'+community.name+'\" data-region=\"'+community.region+'\" data-availablity=\"'+community.projectStatus+'\"';\r\n\r\n let communityHTML = '';\r\n\r\n // Set the community image\r\n var communityImage = (\r\n ''\r\n );\r\n\r\n // Set the community header\r\n var communityHeader = '';\r\n if (community.logoUrl !== null) {\r\n communityHeader = (\r\n '
'\r\n );\r\n }\r\n else {\r\n communityHeader = (\r\n '

' + community.name + '

'\r\n );\r\n }\r\n\r\n // Set the community links //TODO need to figure out how to identify for the community in GTM thing here to handle the (Select Item from Map) event which is supposed to happen on click on the thumbnail or more info button on map view (product-info__more)\r\n // Have added id constructed with prefix of GTMCommId_ and community name (guid not available at this point). This will hopefully give us enough to get data from elsewhere.\r\n var communityLink = '';\r\n if (community.url !== '') {\r\n communityLink = (\r\n '
' +\r\n 'More information' +\r\n '
'\r\n );\r\n\r\n \r\n }\r\n\r\n // Set the community HTML\r\n communityHTML = (\r\n '
' +\r\n communityImage +\r\n '
' +\r\n communityHeader +\r\n '

' + community.address + '

' +\r\n '
' + community.description + '
' +\r\n communityLink +\r\n '
' +\r\n '
'\r\n );\r\n\r\n // Create final card html and return\r\n let cardHTML = (\r\n '
' +\r\n '
' +\r\n '
' +\r\n communityHTML +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n\r\n return cardHTML;\r\n}\r\n\r\nexport const deactivateCommunityMarkers = () => {\r\n // markers.forEach(marker => marker.setIcon(markerIcons.inactive));\r\n markers.forEach(function (marker) {\r\n var markerUrl = marker.icon.url;\r\n if (markerUrl == markerIcons.active.url) { marker.setIcon(markerIcons.inactive) }\r\n if (markerUrl == markerIcons.comingActive.url) { marker.setIcon(markerIcons.comingInactive) }\r\n if (markerUrl == markerIcons.soldActive.url) { marker.setIcon(markerIcons.soldInactive) }\r\n });\r\n}\r\n\r\n\r\nconst updateSearch = (inputValue, action, input) => {\r\n if (inputValue) {\r\n // Update the filter criteria based on the input value and action\r\n updateFilterCriteria({ update: inputValue, action });\r\n\r\n // Filter the data and render the markers and cards\r\n var filteredData = filterCommunities(clone(data.communities));\r\n renderCommunities(filteredData);\r\n renderEstateCards('product-card-wrapper', filteredData);\r\n setAutoComplete(filteredData);\r\n populateDataLayerObject(filteredData);\r\n }\r\n};\r\n\r\nfunction populateDataLayerObject(data) { //this allows me to update an array of community objects I can attached to a datalayer push later.\r\n gtmCommunities = [];\r\n \r\n data.forEach(function (item) {\r\n gtmCommunities.push(new community(item.name, item.region, item.projectStatus));\r\n });\r\n}\r\n\r\nfunction initializeControls() {\r\n // set from querystring\r\n var inputs = document.getElementsByClassName('product-search__filter-checkbox');\r\n for (var i = 0; i < inputs.length; i++) {\r\n var diff = 0;\r\n if (globals.productFilter !== null) {\r\n // to ensure if parameter includes 'Land' that it is not part of 'HouseAndLand'. diff in index must not be 3\r\n // they don't expect to use multiple product types in the parameters and trying to find a solution that doesn't require changing the keyword everywhere is fraught.\r\n var indexOfAnd = globals.productFilter.indexOf(\"And\");\r\n var indexOfValue = globals.productFilter.indexOf(inputs[i].value);\r\n diff = indexOfValue - indexOfAnd;\r\n }\r\n\r\n if ((!globals.productFilter || globals.productFilter.indexOf(inputs[i].value) >= 0) && diff !== 3) {\r\n inputs[i].checked = 'checked';\r\n }\r\n }\r\n var regions = document.getElementsByClassName('product-search__filter-select').Region;\r\n var regionValue = document.getElementsByClassName('product-search__filter-select-value');\r\n if (globals.regionFilter !== null && typeof (regions) !== 'undefined') { // if regions not on this this page skip this\r\n regions.value = globals.regionFilter;\r\n for (var j = 0; j < regions.length; j++) {\r\n if (regions[j].value == globals.regionFilter) {\r\n regionValue[0].innerText = regions[j].text;\r\n }\r\n }\r\n }\r\n\r\n var status = document.getElementsByClassName('product-search__filter-radiobutton');\r\n if (globals.statusFilter !== null) {\r\n for (var k = 0; k < status.length; k++) {\r\n if (status[k].value == globals.statusFilter) {\r\n status[k].checked = 'checked';\r\n }\r\n }\r\n }\r\n\r\n // Iterate between each checkbox and add the change event\r\n Array.from(document.querySelectorAll('.product-search__filter-checkbox')).forEach((input) => {\r\n input.addEventListener('change', () => {\r\n updateSearch({ [input.name]: input.value }, input.checked ? 'APPEND' : 'REMOVE');\r\n gtmEventFilters(getFilterCriteria())\r\n });\r\n if (input.checked) {\r\n updateSearch({ [input.name]: input.value }, 'APPEND');\r\n }\r\n });\r\n\r\n // Change event for dropdown select filters\r\n Array.from(document.querySelectorAll('.product-search__filter-select')).forEach((input) => {\r\n const selectedValue = () => {\r\n const options = input.children;\r\n if (options && options.length >= (input.selectedIndex + 1)) {\r\n const selected = options[input.selectedIndex];\r\n return selected && selected.value && selected.value !== '' ? selected.value : false;\r\n }\r\n return false;\r\n };\r\n\r\n input.addEventListener('change', () => {\r\n updateSearch({ [input.name]: selectedValue() });\r\n gtmEventFilters(getFilterCriteria())\r\n });\r\n if (selectedValue()) {\r\n updateSearch({ [input.name]: selectedValue() });\r\n }\r\n });\r\n\r\n // Iterate between each radio button and add the change event\r\n Array.from(document.querySelectorAll('.product-search__filter-radiobutton')).forEach((input) => {\r\n input.addEventListener('change', () => {\r\n updateSearch({ [input.name]: input.value });\r\n gtmEventFilters(getFilterCriteria())\r\n });\r\n if (input.checked && input.value) {\r\n updateSearch({ [input.name]: input.value });\r\n }\r\n });\r\n\r\n // Change event for autocomplete search input\r\n Array.from(document.querySelectorAll('.product-search__filter-search')).forEach((input) => {\r\n const inputValue = () => {\r\n const value = input.value;\r\n if (value.length > 3) { return value; }\r\n };\r\n\r\n input.addEventListener('keyup', () => {\r\n updateSearch({ [input.name]: inputValue() });\r\n });\r\n $('#filter-search-autocomplete').on('autocompleteclose', function (event, ui) {\r\n updateSearch({ [input.name]: inputValue() });\r\n gtmEventFilters(getFilterCriteria())\r\n });\r\n if (inputValue()) {\r\n updateSearch({ [input.name]: inputValue() });\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction enableViewTogglers() {\r\n var defaultView = 'list';\r\n document.getElementById('product-search-view').classList.add(defaultView + '-view');\r\n document.getElementById('filter-view-' + defaultView).setAttribute('checked', 'checked');\r\n\r\n var viewTypeRadios = document.getElementsByName('productViewType');\r\n for (var i = 0; i < viewTypeRadios.length; i++) {\r\n viewTypeRadios[i].onchange = toggleResultsView;\r\n }\r\n\r\n document.getElementById('filter-toggle').addEventListener('click', toggleFilterView);\r\n document.getElementById('filter-close').addEventListener('click', toggleFilterView);\r\n document.getElementById('filter-close-mobile').addEventListener('click', toggleFilterView);\r\n}\r\n\r\nfunction toggleResultsView() {\r\n var productSearchWrapper = document.getElementById('product-search-view');\r\n productSearchWrapper.classList.toggle('map-view');\r\n productSearchWrapper.classList.toggle('list-view');\r\n // globals.cluster.fitMapToMarkers();\r\n setMapBounds()\r\n\r\n // GTM (Google Tag Manager) Data Layer Update\r\n var viewTypeRadios = document.getElementsByName('productViewType');\r\n for (var i = 0; i < viewTypeRadios.length; i++) {\r\n if (viewTypeRadios[i].checked) {\r\n gtmEventViewToggle(viewTypeRadios[i].value);\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction toggleFilterView() {\r\n var productSearchWrapper = document.getElementById('product-search-view');\r\n productSearchWrapper.classList.toggle('show-filters');\r\n}\r\n\r\nfunction enableSearchStates() {\r\n document.getElementById('filter-search-autocomplete').addEventListener('keyup', toggleSearchClear);\r\n document.getElementById('filter-search-btn-clear').addEventListener('click', clearSearch);\r\n}\r\n\r\nfunction toggleSearchClear() {\r\n var searchInput = document.getElementById('filter-search-autocomplete');\r\n if (searchInput.value.length < 1) { searchInput.classList.remove('show-clear'); }\r\n else if (searchInput.value.length > 0) { searchInput.classList.add('show-clear'); }\r\n}\r\n\r\nfunction clearSearch() {\r\n document.getElementById('filter-search-autocomplete').value = '';\r\n toggleSearchClear();\r\n updateSearch({ 'Search': '' });\r\n}\r\n\r\nfunction setAutoComplete(communityItems) {\r\n var nameList = []\r\n const regex = /[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]/g;\r\n\r\n communityItems.forEach(community => {\r\n if (community.name.length > 3) {\r\n nameList.push(community.name);\r\n }\r\n });\r\n communityItems.forEach(community => {\r\n var text = community.description.replace(/ *\\<[^>]*\\> */g, \" \");\r\n text.replace(regex, ' ').split(' ').forEach(descWord => {\r\n if (descWord.length > 3 && nameList.includes(descWord) != true) {\r\n nameList.push(descWord);\r\n }\r\n })\r\n });\r\n $('#filter-search-autocomplete').autocomplete({\r\n source: [{\r\n data: nameList,\r\n filter: function (items, query) {\r\n if (query.length >= 3 && items.length > 0) {\r\n var result = [];\r\n items.forEach(term => {\r\n if (term.toLowerCase().indexOf(query.toLowerCase()) > -1) {\r\n result.push(term);\r\n }\r\n });\r\n return result;\r\n }\r\n return [];\r\n }\r\n }],\r\n minLength: 3,\r\n visibleLimit: 5.4,\r\n autoselect: true,\r\n showHint: false,\r\n limit: 101\r\n });\r\n}\r\n\r\nfunction setMapHeight() {\r\n var vw = $(window).width();\r\n var filterHeight = $('#product-filter-panel').outerHeight();\r\n var mapPresetMin = $('#product-search-map').css('min-height').replace('px', '');\r\n\r\n if (mapPresetMin < filterHeight && vw > 479) {\r\n $('#product-search-map').css('height', filterHeight + 'px');\r\n $('#product-search-map').css('min-height', filterHeight + 'px');\r\n }\r\n\r\n}\r\n\r\nfunction setFixedFilterScroll() {\r\n var vw = $(window).width();\r\n \r\n // If mobile set filter bar to fixed position...\r\n if (vw < 769) {\r\n // Retrieve the header\r\n var headerItem = document.getElementById('root-header');\r\n if (headerItem) {\r\n // Make the filter bar fixed position\r\n var filterBar = $('#filter-bar-mobile');\r\n filterBar.css('position', 'fixed');\r\n filterBar.css('top', headerItem.getBoundingClientRect().bottom);\r\n \r\n // Retrieve filter bar item\r\n var filterBarItem = document.getElementById('filter-bar-mobile');\r\n if (filterBarItem) {\r\n var filterBarBottom = filterBarItem.getBoundingClientRect().bottom;\r\n var filterBarHeight = filterBarItem.getBoundingClientRect().height;\r\n \r\n // Set the filter bar top if the header height changes\r\n $(window).on('scroll', function () {\r\n // Retrieve the product search view\r\n var viewItem = document.getElementById('product-search-view');\r\n if (viewItem) {\r\n var view = viewItem.getBoundingClientRect().bottom\r\n if (view < filterBarBottom) {\r\n var setNewPos = view - filterBarHeight + 'px'\r\n filterBar.css('top', setNewPos);\r\n } else {\r\n filterBar.css('top', headerItem.getBoundingClientRect().bottom);\r\n }\r\n } \r\n });\r\n }\r\n } \r\n }\r\n }\r\n\r\nfunction hideLoader() {\r\n const player = document.querySelector(\"lottie-player\");\r\n if (player !== null) {\r\n player.stop();\r\n }\r\n $('#search-loader-outer').hide();\r\n}\r\n\r\nconst clone = (productData) => {\r\n return JSON.parse(JSON.stringify(productData));\r\n};\r\n\r\n// Google tag manager / analytics function...\r\nvar gtmEventViewToggle = function (value) {\r\n dataLayer.push({\r\n 'pageCatagory': 'community_search',\r\n 'event': 'view_mode_change',\r\n 'viewMode': value,\r\n })\r\n}\r\n\r\nvar gtmEventFilters = function (filterCriteria) { // (Interact with Filter) also in products/index.js\r\n console.log(\"GTM Event fired (Interact with Filter) on communities\");\r\n\r\n var region = \"\";\r\n\r\n // if this URL is a sub page of /communities, eg /communities/perth-and-wa then the region would be Perth and WA\r\n var thisURL = window.location.pathname;\r\n if (thisURL.endsWith(\"communities\")) {\r\n //fine, extract region from filter\r\n region = ((filterCriteria.Region !== undefined) ? filterCriteria.Region : \"\");\r\n } else {\r\n // get the substring after communities to set the region filter value \r\n region = thisURL.substring(thisURL.lastIndexOf(\"/\")+1);\r\n }\r\n\r\n // Jacob from JaneLee would like to transfer available filter criteria to a string, hopefully less than 100 characters (GA4 hardlimit).\r\n var filterArray = [];\r\n filterArray.push(\"type:\" + ((filterCriteria.CommunityTypes !== undefined) ? filterCriteria.CommunityTypes.join(\"|\") : \"\"));\r\n filterArray.push(\"region:\" + region); // this could either be all or on a region community page\r\n filterArray.push(\"status:\" + ((filterCriteria.Status !== undefined) ? filterCriteria.Status : \"\"));\r\n \r\n var filter = filterArray.join(\",\");\r\n if (filter.length > 100) {\r\n filter = filter.replace(\"HouseAndLand\", \"HL\");\r\n filter = filter.replace(\"CompletedHomes\", \"Complete\");\r\n filter = filter.replace(\"Apartments\", \"Apart\");\r\n }\r\n\r\n dataLayer.push({\r\n event: 'filter_interaction',\r\n item_list_name: 'Community List',\r\n // 'filter_name': 'nameOfFilterHere', // decided we they were happy enough with complete filter status\r\n // 'filter_value': 'valueOfFilterHere',\r\n filter: filter,\r\n items: gtmCommunities\r\n })\r\n}\r\n\r\nvar gtmViewCommunityList = function (data) { //function for (View Community List)\r\n // needed to confirm what is being asked for in the items field, answer: an array of items where the item_name is repeated info of that in the community object.\r\n // therefore need to create an array of items to fit that shape\r\n\r\n console.log(\"GTM Event fired for (View Community List)\");\r\n\r\n var items = [];\r\n function item(name = \"\", communityName = \"\", communityRegion = \"\", communityAvailability = \"\") {\r\n this.item_name = name; \r\n this.community_name = communityName;\r\n this.community_region = communityRegion;\r\n this.community_availability = communityAvailability;\r\n return this;\r\n }\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n items.push(new item(data[i].name, data[i].name, data[i].region, data[i].projectStatus));\r\n }\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n event: \"view_item_list\",\r\n ecommerce: {\r\n item_list_name: \"Community List\",\r\n items: items \r\n }\r\n });\r\n}", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\nimport { EstateCard, EstateEmptyState } from './cards/Estate';\r\n\r\nexport function renderEstateCards(wrapper, estates) {\r\n document.getElementById(wrapper).innerHTML = '';\r\n var productCount = 0;\r\n\r\n // sort estates alphabetically but grouped Now selling, Comming soon, then completed at the end\r\n estates.sort((a, b) => {\r\n var nameA = a.name.toLowerCase(); // ignore upper and lowercase\r\n var nameB = b.name.toLowerCase(); // ignore upper and lowercase\r\n\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n } \r\n // names must be equal\r\n return 0; \r\n });\r\n\r\n estates.sort((a, b) => {\r\n // if there is a null project status it will throw a typeerror as it can't tolowercase a null value\r\n try {\r\n var statusA = a.projectStatus.toLowerCase();\r\n var statusB = b.projectStatus.toLowerCase();\r\n \r\n if (statusA === statusB) {\r\n return 0;\r\n }\r\n if (statusA === \"coming\") {\r\n return 1;\r\n }\r\n if (statusB === \"coming\") {\r\n return -1;\r\n }\r\n }\r\n catch (err) {\r\n return 0;\r\n }\r\n });\r\n\r\n estates.sort((a, b) => {\r\n // if there is a null project status it will throw a typeerror as it can't tolowercase a null value\r\n try {\r\n var statusA = a.projectStatus.toLowerCase();\r\n var statusB = b.projectStatus.toLowerCase();\r\n // i want the item with sold to be moved down but what if they're both sold? nothing? ok.\r\n if (statusA === statusB) {\r\n return 0;\r\n }\r\n if (statusA === \"sold\") {\r\n return 1;\r\n }\r\n if (statusB === \"sold\") {\r\n return -1;\r\n }\r\n }\r\n catch (err){\r\n return 0;\r\n }\r\n });\r\n\r\n estates.forEach(estate => {\r\n if (estate.lat && estate.lng) { // To prevent Peet Complete estates from appearing\r\n const estateCard = \r\n render(estateCard, document.getElementById(wrapper));\r\n productCount++;\r\n } \r\n });\r\n\r\n if (productCount == 0) {\r\n const estateEmptyState = ;\r\n render(estateEmptyState, document.getElementById(wrapper));\r\n }\r\n\r\n}\r\n", "export default () => {\r\n const estateStyleLink = document.querySelectorAll('link[rel=\"stylesheet\"]')[1];\r\n const estatePickers = Array.from(document.querySelectorAll('.estate-picker'));\r\n if (estatePickers.length) {\r\n const getDefaultEstate = () => {\r\n const currentEstate = estateStyleLink.getAttribute('href').match(/([a-z-]+)\\.css/i)[1];\r\n const parsedQuery = location.hash.match(/\\?estate=([a-z-]+)/i);\r\n return (parsedQuery && parsedQuery.length) >= 2 ? parsedQuery[1] : currentEstate;\r\n };\r\n\r\n const setEstateStyle = (estate) => {\r\n const currentEstate = estateStyleLink.getAttribute('href').match(/([a-z-]+)\\.css/i)[1];\r\n const newStylePath = estateStyleLink.getAttribute('href').replace(/[a-z-]+\\.css/gi, `${estate}.css`);\r\n if (currentEstate !== estate) {\r\n location.hash = `estate=${estate}`;\r\n estateStyleLink.setAttribute('href', newStylePath);\r\n }\r\n };\r\n\r\n const defaultEstate = getDefaultEstate();\r\n if (defaultEstate) {\r\n setEstateStyle(defaultEstate);\r\n }\r\n\r\n estatePickers.forEach((select) => {\r\n const $select = $(select);\r\n $(`option[value=\"${getDefaultEstate()}\"]`, $select).attr('selected', true);\r\n $select.on('change', (e) => {\r\n e.preventDefault();\r\n const selectedEstate = $('option:selected', e.target).attr('value');\r\n setEstateStyle(selectedEstate);\r\n });\r\n });\r\n }\r\n};\r\n", "export default () => {\r\n const startsWithQuery = (items, query) => items.reduce((collection, item) => {\r\n if (item.title.toLowerCase().indexOf(query.toLowerCase()) === 0) {\r\n collection.push(item);\r\n }\r\n return collection;\r\n }, []);\r\n const containsQuery = (items, query) => items.reduce((collection, item) => {\r\n if (item.title.toLowerCase().indexOf(query.toLowerCase()) > 0) {\r\n collection.push(item);\r\n }\r\n return collection;\r\n }, []);\r\n const filter = (items, query) => [...startsWithQuery(items, query), ...containsQuery(items, query)];\r\n\r\n $('.autocomplete--estates').each((index, input) => {\r\n const $input = $(input);\r\n const $wrapper = $input.closest('form');\r\n const $valueInput = $('[name=\"ItemId\"]', $wrapper);\r\n const $submitButton = $('[type=\"submit\"]', $wrapper);\r\n let first = null;\r\n $input.autocomplete({\r\n source: [{\r\n url: $input.data('src'),\r\n type: 'remote'\r\n }],\r\n valueKey: 'title',\r\n titleKey: 'title',\r\n minLength: 2,\r\n visibleLimit: 6,\r\n limit: 100,\r\n autoselect: true,\r\n highlight: true,\r\n showHint: false,\r\n getValue: ({ title, url }) => {\r\n $input.val(title);\r\n $valueInput.val(url);\r\n return title;\r\n },\r\n render: ({ title, url, level }, source, pid, query) => (\r\n `
${title}
`\r\n ),\r\n filter: (items, query) => {\r\n const filtered = filter(items, query);\r\n first = filtered[0] || {};\r\n $valueInput.val(null);\r\n return filtered;\r\n }\r\n }).on('selected.xdsoft', (e, { title, url }) => {\r\n $submitButton.focus();\r\n $valueInput.val(url);\r\n $input.val(title);\r\n }).on('blur', () => {\r\n if (first && !$valueInput.val()) {\r\n $valueInput.val(first.url);\r\n $input.val(first.title);\r\n }\r\n });\r\n\r\n return $input;\r\n });\r\n};\r\n", "import { hideLightbox, showLightbox } from './lightbox';\r\nimport { FACEBOOK_ID__MEERKATS_STAGING, FACEBOOK_ID__MEERKATS_DEV, FACEBOOK_ID__IGNIA_DEV, FACEBOOK_ID__PEET } from '../constants';\r\n\r\nconst scope = 'email';\r\nconst endpoints = {\r\n login: '/LoginRegister/FacebookLogin',\r\n register: '/LoginRegister/FacebookRegister'\r\n};\r\nconst sendData = (action, data, success, error) => {\r\n\r\n $.ajax({\r\n url: endpoints[action],\r\n type: 'POST',\r\n data: JSON.stringify(data),\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n success,\r\n error\r\n });\r\n};\r\n\r\nlet FB;\r\nconst PEET = {\r\n login: (email, autologin) => {\r\n\r\n const success = ({ saved_products: saved }) => {\r\n \r\n if (typeof saved === 'undefined') {\r\n $('.form__description--facebook-login-error').css('display', 'block');\r\n }\r\n else {\r\n $(`
${saved}
`).prependTo('.user-menu');\r\n !autologin && showLightbox('You are now logged in', 'loggedin');\r\n }\r\n };\r\n\r\n const error = ({ reason }) => {\r\n console.log(`Login error: ${reason}`); // eslint-disable-line no-console\r\n };\r\n\r\n sendData('login', { emailAddress: email }, success, error);\r\n },\r\n register: (userData) => {\r\n const success = () => {\r\n $('
0
').prependTo('.user-menu');\r\n showLightbox('Thank you for registering', 'loggedin');\r\n };\r\n\r\n const error = ({ reason }) => {\r\n console.log(`Login error: ${reason}`); // eslint-disable-line no-console\r\n };\r\n\r\n sendData('register', userData, success, error);\r\n }\r\n};\r\n\r\nconst handleLoginResponse = ({ status }, autologin) => {\r\n \r\n if (status === 'connected') { \r\n FB.api('/me', { fields: 'email' }, ({ email }) => {\r\n \r\n if (email) {\r\n //hideLightbox();\r\n PEET.login(email, autologin);\r\n }\r\n else {\r\n FB.login(handleLoginResponse, { scope, auth_type: 'rerequest' });\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst handleRegistrationResponse = ({ status }) => {\r\n if (status === 'connected') {\r\n FB.api('/me', { fields: 'email, id, cover, name, first_name, last_name, locale, picture, timezone, updated_time, verified' }, (response) => {\r\n \r\n const { email, first_name: firstName, last_name: lastName } = response;\r\n if (email) {\r\n hideLightbox();\r\n const phoneNumber = (/.+@.+\\..+/).test(email) ? null : email;\r\n const registrationData = {\r\n emailAddress: phoneNumber ? `NoFacebookEmail${(new Date()).getTime()}@peet.com.au` : email,\r\n firstName,\r\n lastName,\r\n phoneNumber,\r\n suburb: 'Facebook',\r\n facebookData: response\r\n };\r\n PEET.register(registrationData);\r\n }\r\n else {\r\n FB.login(handleLoginResponse, { scope, auth_type: 'rerequest' });\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst getFacebookId = () => {\r\n switch (window.location.hostname) {\r\n case 'peet.staging.meerkats.com.au':\r\n return FACEBOOK_ID__MEERKATS_STAGING;\r\n case 'peet.dev.local':\r\n return FACEBOOK_ID__IGNIA_DEV;\r\n case 'localhost':\r\n return FACEBOOK_ID__MEERKATS_DEV;\r\n default:\r\n return FACEBOOK_ID__PEET;\r\n }\r\n};\r\n\r\nexport const initialize = () => {\r\n if (!document.getElementById('fb-root')) {\r\n const fbRoot = document.createElement('div');\r\n fbRoot.setAttribute('id', 'fb-root');\r\n document.body.insertBefore(fbRoot, document.body.firstChild);\r\n }\r\n\r\n window.fbAsyncInit = () => {\r\n FB = window.FB;\r\n FB.init({\r\n appId: getFacebookId(),\r\n cookie: true,\r\n xfbml: true,\r\n version: 'v2.8'\r\n });\r\n };\r\n\r\n // Load the SDK asynchronously\r\n ((d, s, id) => {\r\n const fjs = d.getElementsByTagName(s)[0];\r\n if (d.getElementById(id)) return;\r\n const js = d.createElement(s); js.id = id;\r\n js.src = '//connect.facebook.net/en_US/all.js';\r\n fjs.parentNode.insertBefore(js, fjs);\r\n })(document, 'script', 'facebook-jssdk');\r\n};\r\n\r\nexport const activateLoginButtons = () => {\r\n Array.from(document.querySelectorAll('.facebook-login-button')).forEach((button) => {\r\n const $button = $(button);\r\n const buttonHandler = $button.data('action') === 'login' ? handleLoginResponse : handleRegistrationResponse;\r\n $button.on('click', (e) => {\r\n e.preventDefault();\r\n FB.login(buttonHandler, { scope });\r\n });\r\n });\r\n};\r\n", "import activateForm from './forms/activateForm';\r\n\r\nexport default () => {\r\n Array.from(document.querySelectorAll('.form')).forEach((form) => {\r\n activateForm($(form));\r\n });\r\n};\r\n", "import watchForm from './watchForm';\r\nimport resetForm from './resetForm';\r\nimport events from './events';\r\nimport select from '../select';\r\nimport { activateLoginButtons } from '../facebook';\r\n\r\nconst setEventHandlers = ($form) => {\r\n const formEvents = events($form.attr('name'));\r\n if (typeof formEvents === 'object') {\r\n Object.keys(formEvents).forEach((event) => {\r\n $form.off(event).on(event, formEvents[event]);\r\n });\r\n }\r\n select();\r\n activateLoginButtons();\r\n $form.trigger('init', { target: $form[0] });\r\n};\r\n\r\nconst prepopulateForm = ($form, data) => {\r\n Object.keys(data).forEach((key) => {\r\n let $input = $(`[name=\"${key}\"]`, $form);\r\n if ($input.length === 0) {\r\n $input = $(``).appendTo($form);\r\n }\r\n $input.val(data[key]);\r\n });\r\n};\r\n\r\nconst activateForm = ($form, data = {}) => {\r\n resetForm($form);\r\n prepopulateForm($form, data);\r\n watchForm($form);\r\n setEventHandlers($form);\r\n return $form;\r\n};\r\n\r\nexport default activateForm;\r\n", "const coalesceValues = (collection, name, value) =>\r\n typeof collection[name] === 'string'\r\n ? [collection[name], value]\r\n : [...collection[name], value];\r\n\r\nexport const getFormData = (form) =>\r\n Array.from($('input, select, textarea', form)).reduce((collection, input) => {\r\n const { tagName, type, name, checked, value } = input;\r\n if (!name) {\r\n return collection;\r\n }\r\n if (tagName === 'SELECT') {\r\n const selectedOption = $('option:selected', input);\r\n return { ...collection, [name]: selectedOption.val() };\r\n }\r\n else if (type === 'checkbox') {\r\n if (!checked) {\r\n return collection;\r\n }\r\n if (collection[name]) {\r\n return {\r\n ...collection,\r\n [name]: coalesceValues(collection, name, value)\r\n };\r\n }\r\n return { ...collection, [name]: value };\r\n }\r\n else if (type === 'radio') {\r\n if (!checked) {\r\n return collection;\r\n }\r\n return { ...collection, [name]: value };\r\n }\r\n if (collection[name]) {\r\n return { ...collection, [name]: coalesceValues(collection, name, value) };\r\n }\r\n return { ...collection, [name]: value };\r\n }, {});\r\n\r\nexport const trackFormData = (form, event = 'formSubmissionSuccess') => () => {\r\n window.dataLayer &&\r\n window.dataLayer.push({\r\n event,\r\n formId: form.getAttribute('name'),\r\n ...getFormData(form)\r\n });\r\n};\r\n\r\nexport const sendFormData = (form, success, error, always, pre) => {\r\n if (pre) { // where this was usually the old GA event (trackFormData) for successful form submission\r\n pre();\r\n }\r\n\r\n var formData = getFormData(form);\r\n var headers = {};\r\n headers[\"__RequestVerificationToken\"] = formData.__RequestVerificationToken;\r\n\r\n if(formData[\"g-recaptcha-response\"] && formData[\"g-recaptcha-response\"] instanceof Array)\r\n {\r\n var recaptchaResponses = \"\"; \r\n $.each(formData[\"g-recaptcha-response\"], function(idx, value) { \r\n recaptchaResponses = recaptchaResponses + value + \"||\";\r\n });\r\n\r\n headers[\"g-recaptcha-response\"] = recaptchaResponses.substring(0, recaptchaResponses.length-2);\r\n }\r\n else {\r\n headers[\"g-recaptcha-response\"] = formData[\"g-recaptcha-response\"];\r\n }\r\n \r\n// console.log(\"recaptcha\", headers[\"g-recaptcha-response\"]);\r\n// console.log(\"sendFormData\", getFormData(form)); \r\n// console.log(\"sendFormData\", form);\r\n\r\n \r\n return $.ajax({\r\n url: form.action || '/',\r\n type: form.method || 'POST',\r\n cache: false,\r\n headers: headers,\r\n data: JSON.stringify(formData),\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json'\r\n })\r\n .done(success)\r\n .fail(error)\r\n .always(always);\r\n};\r\n", "import { getFormData, trackFormData, sendFormData } from './data';\r\n// import { executeRecaptcha } from './recaptcha';\r\nimport { showLightbox, hideLightbox } from '../lightbox';\r\nimport { hideSticky } from '../sticky';\r\nimport autocomplete from '../autocomplete';\r\nimport suburbs from '../suburbs';\r\nimport estates from '../estates';\r\nimport { trackGoal } from '../tracking';\r\nimport { gtmUpdateOrRegisteredInterest, gtmEnquiries, gtmContactUs} from '../../components/products/index';\r\n\r\nconst events = {\r\n login: {\r\n submit: ({ target: form }) => {\r\n const success = ({ saved_products: saved , method: method}) => {\r\n if (typeof saved === 'undefined') {\r\n $('.form__description--no-account-error').css('display', 'block');\r\n $('.form__description--register').css('display', 'none');\r\n }\r\n else {\r\n $(`
${saved}
`).prependTo('.user-menu');\r\n // GTM (Customer Accounts - Log in)\r\n dataLayer.push({\r\n event: \"login\",\r\n method: method // \"{{ method used to authenticate }} \" // facebook or email // TODO get method from form?\r\n });\r\n showLightbox('You are now logged in', 'loggedin');\r\n }\r\n };\r\n const error = ({ reason }) => {\r\n console.log(`Login error: ${reason}`); // eslint-disable-line no-console\r\n };\r\n sendFormData(form, success, error);\r\n return false;\r\n }\r\n },\r\n register: {\r\n submit: ({ target: form }) => {\r\n const success = ({ status: status, reason: reason, saved_products: saved, method: method }) => {\r\n if (status == \"error\") {\r\n console.log(`Login error: ${reason}`); // eslint-disable-line no-console\r\n } else {\r\n $('
0
').prependTo('.user-menu');\r\n // GTM (Customer Accounts - Sign up)\r\n dataLayer.push({\r\n event: \"sign_up\",\r\n method: method // \"{{ method used to authenticate }} \" // facebook or email // TODO get method from form?\r\n });\r\n showLightbox('Thank you for registering', 'loggedin');\r\n }\r\n };\r\n const error = ({ reason }) => { // this is if the entire request fails\r\n console.log(`Login error: ${reason}`); // eslint-disable-line no-console\r\n };\r\n\r\n sendFormData(form, success, error);\r\n return false;\r\n },\r\n init: ({ target: form }) => {\r\n suburbs($('input[name=\"postcode\"]', form));\r\n }\r\n },\r\n registration: {\r\n submit: ({ target: form }) => {\r\n let redirectLink = form.querySelector('input[name=\"RedirectLink\"]');\r\n let submitButton = form.querySelector('button[type=\"submit\"]');\r\n //const track = trackFormData(form); // this is the old GA event replaced by form_submission_success\r\n const success = ({ message }) => {\r\n const formElement = document.getElementById('registrationForm');\r\n let paddingSize = formElement.offsetHeight / 2;\r\n\r\n if (message === 'success') {\r\n const registrationThanks = document.getElementById('registration-thanks');\r\n registrationThanks.style.display = 'block';\r\n registrationThanks.style.fontSize = 'x-large';\r\n registrationThanks.style.lineHeight = 'normal';\r\n paddingSize -= registrationThanks.offsetHeight;\r\n registrationThanks.style.padding = paddingSize.toString().concat('px 10px ', paddingSize.toString(), 'px 10px'); // padding top right bottom left\r\n if (redirectLink != null && redirectLink.value.length > 0) {\r\n window.location = redirectLink.value;\r\n }\r\n }\r\n else {\r\n const resultMessage = document.getElementById('returnMessage');\r\n resultMessage.append(message);\r\n resultMessage.style.fontSize = 'x-large';\r\n resultMessage.style.lineHeight = 'normal';\r\n paddingSize -= resultMessage.offsetHeight;\r\n resultMessage.style.padding = paddingSize.toString().concat('px 10px ', paddingSize.toString(), 'px 10px'); // padding top right bottom left\r\n }\r\n\r\n formElement.style.display = 'none';\r\n };\r\n\r\n sendFormData(form, success, null, null, null);\r\n submitButton.setAttribute('disabled', '');\r\n submitButton.innerHTML = 'Loading...';\r\n return false;\r\n },\r\n init: ({ target: form }) => {\r\n suburbs($('input[name=\"postcode\"]', form)); // to enable suburb look up on this form\r\n }\r\n },\r\n updates: {\r\n submit: ({ target: form }) => {\r\n // const track = trackFormData(form); // this is the old GA event replaced by form_submission_success\r\n trackGoal(null, 'submitRegisterUpdates'); // use goalName\r\n sendFormData(form, null, null, null, null); // removed track from pre slot\r\n var projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n var productGAInfo = document.getElementById(\"productGAinfo\");\r\n\r\n gtmUpdateOrRegisteredInterest(projectGAInfo, productGAInfo, form);\r\n showLightbox('Thanks for signing up', 'updates-survey');\r\n return false;\r\n },\r\n init: ({ target: form }) => {\r\n suburbs($('input[name=\"postcode\"]', form));\r\n }\r\n },\r\n 'updates-thanks': {\r\n submit: () => {\r\n showLightbox('Thank you for signing up', 'updates-survey');\r\n return false;\r\n }\r\n },\r\n 'updates-survey': {\r\n submit: ({ target: form }) => {\r\n const surveyStep = +form.querySelector('.form__step-input:checked').value;\r\n sendFormData(form);\r\n showLightbox('Thank you!', 'updates-survey-thankyou');\r\n return false;\r\n }\r\n },\r\n 'updates-survey-thankyou': {\r\n submit: () => {\r\n hideLightbox();\r\n return false;\r\n }\r\n },\r\n subscribe: {\r\n submit: ({ target: form }) => {\r\n showLightbox('', 'updates', getFormData(form));\r\n hideSticky();\r\n form.reset();\r\n return false;\r\n }\r\n },\r\n 'campaign-form': {\r\n submit: ({ target: form }) => {\r\n var formId = form.querySelector('input[name=\"formId\"]');\r\n showLightbox('', 'campaign-' + formId.value, getFormData(form));\r\n hideSticky();\r\n form.reset();\r\n return false;\r\n }\r\n },\r\n campaign: {\r\n submit: ({ target: form }) => {\r\n var redirectLink = form.querySelector('input[name=\"RedirectLink\"]');\r\n var submitButton = form.querySelector('button[type=\"submit\"]');\r\n\r\n if (redirectLink != null && redirectLink.value != \"\") {\r\n // const track = trackFormData(form); // this is the old GA event replaced by form_submission_success\r\n var success = function (redirectLink) {\r\n if (redirectLink != null) {\r\n window.location = redirectLink;\r\n }\r\n };\r\n sendFormData(form, success, null, null, null); // removed track from pre slot\r\n\r\n submitButton.setAttribute('disabled', true);\r\n submitButton.innerHTML = 'Loading...';\r\n \r\n return false;\r\n }\r\n else\r\n {\r\n // const track = trackFormData(form); // this is the old GA event replaced by form_submission_success\r\n sendFormData(form, null, null, null, null); // removed track from pre slot\r\n\r\n var formId = form.querySelector('input[name=\"formId\"]');\r\n showLightbox('', 'campaign-thankyou-' + formId.value);\r\n\r\n return false;\r\n } \r\n },\r\n init: ({ target: form }) => {\r\n suburbs($('input[name=\"postcode\"]', form));\r\n }\r\n },\r\n 'onPageCampaign': {\r\n submit: ({ target: form }) => {\r\n var redirectLink = form.querySelector('input[name=\"RedirectLink\"]');\r\n var submitButton = form.querySelector('button[type=\"submit\"]');\r\n var showSurvey = form.querySelector('input[name=\"showSurvey\"]');\r\n var noThanks = form.querySelector('input[name=\"noThanks\"]');\r\n // const track = trackFormData(form); // this is the old GA event replaced by form_submission_success\r\n var success = function (redirectLink) {\r\n if (redirectLink != null) {\r\n window.location = redirectLink;\r\n }\r\n };\r\n sendFormData(form, success, null, null, null); // removed track from pre slot\r\n var projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n var productGAInfo = document.getElementById(\"productGAinfo\");\r\n\r\n gtmUpdateOrRegisteredInterest(projectGAInfo, productGAInfo, form);\r\n\r\n if (redirectLink != null && redirectLink.value != \"\") {\r\n submitButton.setAttribute('disabled', true);\r\n submitButton.innerHTML = 'Loading...';\r\n }\r\n else if (noThanks.value === \"true\") {\r\n // if there's no custom intro just load the survey light box with no alterations\r\n showLightbox('Help us, help you!', 'updates-survey');\r\n }\r\n else {\r\n // they don't want to show the thank you page separate before the survey they want to merge them so\r\n // the plan is to take the id=\"onPageCampaignThankyouCustomMessage\" and plop it in the id=\"surveyCustomMessage\"\r\n // but there is only one light box visible at a time and I can't seem to access it any other way\r\n showLightbox('', 'onPageCampaign-thankyou');\r\n var titleSrc = document.getElementsByClassName(\"lightbox__title\");\r\n var titleSrcValue = \"\";\r\n if (titleSrc !== null && titleSrc[0] !== null) {\r\n if (titleSrc[0].style.display === 'none') {\r\n titleSrcValue = 'Tell us more about yourself';\r\n } else {\r\n titleSrcValue = titleSrc[0].innerHTML;\r\n }\r\n }\r\n var messageSrc = document.getElementById(\"onPageCampaignThankyouCustomMessage\");\r\n \r\n showLightbox('Help us, help you!', 'updates-survey');\r\n var messageTgt = document.getElementById(\"surveyCustomMessage\");\r\n var titleTgt = document.getElementsByClassName(\"lightbox__title\");\r\n\r\n if (messageSrc !== null && messageTgt !== null) {\r\n messageTgt.innerHTML = messageSrc.innerHTML;\r\n }\r\n // assuming the title is being copied across as well\r\n if (titleSrcValue !== \"\" && titleTgt !== null) {\r\n titleTgt[0].innerHTML = titleSrcValue;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n init: ({ target: form }) => {\r\n suburbs($('input[name=\"postcode\"]', form));\r\n }\r\n },\r\n 'campaign-thanks': {\r\n submit: ({ target: form }) => {\r\n showLightbox('Help us, help you!', 'updates-survey');\r\n return false;\r\n }\r\n },\r\n 'onPageCampaign-thankyou': {\r\n submit: ({ target: form }) => {\r\n showLightbox('Help us, help you!', 'updates-survey');\r\n return false;\r\n }\r\n\t},\r\nemail: { \r\n submit: ({ target: form }) => {\r\n // const track = trackFormData(form); // this is the old GA event replaced by form_submission_success\r\n const next = form.querySelector('input[name=\"next\"]');\r\n let goal = 'submitEnquireNow';\r\n const prodInfo = form.elements.enquireProductInfo;\r\n if (prodInfo === undefined) {\r\n goal = 'submitEmailUs';\r\n }\r\n trackGoal(null, goal);\r\n sendFormData(form, null, null, null, null); // removed track from pre slot\r\n \r\n var projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n var productGAInfo = document.getElementById(\"productGAinfo\");\r\n if (goal === 'submitEnquireNow') {\r\n gtmEnquiries(projectGAInfo, productGAInfo, form);\r\n }\r\n else {\r\n gtmContactUs(form);\r\n }\r\n\r\n showLightbox('Thank you for your enquiry!', next ? next.value : 'updates-survey');\r\n return false;\r\n },\r\n init: ({ target: form }) => {\r\n suburbs($('input[name=\"postcode\"]', form));\r\n autocomplete(form);\r\n // executeRecaptcha(form);\r\n }\r\n},\r\n 'corporate-hero-search': {\r\n init: ({ target: form }) => {\r\n estates(form);\r\n },\r\n submit: e => {\r\n e.preventDefault();\r\n const valueInput = e.target.querySelector('input[name=\"ItemId\"]');\r\n if (valueInput) {\r\n const url = valueInput.value;\r\n if (url) {\r\n const openExternal = url.match(/^http/i);\r\n if (openExternal) {\r\n window.open(url);\r\n }\r\n else {\r\n window.location = url;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'remove-saved-product': {\r\n submit: ({ target: form }) => {\r\n sendFormData(form);\r\n const $carousel = $(form).closest('.saved-products');\r\n const $allSavedProducts = $carousel.find('.saved-product');\r\n const $savedProduct = $(form).closest('.saved-product');\r\n const savedProductIndex = Array.from($allSavedProducts).indexOf($savedProduct[0]);\r\n $carousel.trigger('remove.owl.carousel', savedProductIndex);\r\n $carousel.trigger('refresh.owl.carousel');\r\n return false;\r\n }\r\n }\r\n};\r\n\r\nexport default formName => events[formName] || {};\r\n", "const resetForm = ($form) => {\r\n $form.each((index, form) => {\r\n form.reset();\r\n $('[required=\"required\"]', form)\r\n .parent()\r\n .removeClass('invalid')\r\n .addClass('pristine');\r\n });\r\n return $form;\r\n};\r\n\r\nexport default resetForm;\r\n", "const validateForm = ($fields, force) =>\r\n new Promise(resolve => {\r\n if (force) {\r\n $fields.parent().removeClass('pristine');\r\n }\r\n const $invalidFields = Array.from($fields).reduce((collection, field) => {\r\n if (field.getAttribute('type') === 'email') {\r\n if (field.value.match(/^.+@.+\\..+$/)) {\r\n return collection;\r\n }\r\n }\r\n else if (field.getAttribute('type') === 'checkbox') {\r\n if (field.checked) {\r\n return collection;\r\n }\r\n }\r\n else if (field.getAttribute('type') === 'number') {\r\n if (field.value.match(/^\\d+$/)) {\r\n return collection;\r\n }\r\n }\r\n else if (field.value) {\r\n return collection;\r\n }\r\n return [...collection, field];\r\n }, []);\r\n resolve({\r\n valid: !$invalidFields.length,\r\n invalidFields: $invalidFields\r\n });\r\n });\r\n\r\nexport default validateForm;\r\n", "import validateForm from './validateForm';\r\n\r\n//import FormRecaptcha from './FormRecaptcha';\r\n\r\n//const formRecaptcha = new FormRecaptcha();\r\n\r\nconst setFormState = ($form, valid, invalidFields) => {\r\n\r\n $form.toggleClass('invalid', !valid);\r\n $('.invalid', $form).removeClass('invalid');\r\n invalidFields.forEach((field) => {\r\n const $inputWrapper = $(field).closest(\"label\");\r\n \r\n if (!$inputWrapper.hasClass('pristine')) {\r\n $inputWrapper.addClass('invalid');\r\n }\r\n });\r\n \r\n var $suburbFooter = $(\".suburb-foot\", $form);\r\n var $suburbcodeField = $('[name=\"suburb\"]', $form);\r\n var $postcodeField = $('[name=\"postcode\"]', $form);\r\n var errorPostcodeBody = 'Please select a suburb from the dropdown.
';\r\n var errorPostcode = $('[id=\"peetPostCodeError\"]', $form);\r\n\r\n if ($suburbcodeField && $suburbcodeField.length > 0) {\r\n var $suburb = $suburbcodeField.val();\r\n\r\n if ($suburb) { \r\n if (errorPostcode.length > 0)\r\n {\r\n errorPostcode.remove();\r\n\t\t\t} \r\n }\r\n else\r\n {\r\n if ($postcodeField.hasClass('invalid'))\r\n {\r\n if (errorPostcode.length < 1)\r\n {\r\n $suburbFooter.before(errorPostcodeBody);\r\n } \r\n }\r\n else\r\n {\r\n if (errorPostcode.length < 1)\r\n {\r\n $suburbFooter.before(errorPostcodeBody);\r\n }\r\n }\r\n }\r\n }\r\n\r\n $('[type=\"submit\"]', $form).attr('disabled', !valid); \r\n};\r\n\r\nconst watchForm = ($form) => {\r\n\r\n // Does the form have recaptcha, if so execute recaptcha\r\n //const $recaptcha = $('[data-sitekey]', $form); \r\n //if ($recaptcha.length > 0) {\r\n // formRecaptcha.init($form);\r\n // formRecaptcha.execute();\r\n //}\r\n\r\n const $watchedFields = $('[required=\"required\"]', $form);\r\n const $submitButton = $('[type=\"submit\"]', $form);\r\n const $suburbcodeField = $('[name=\"suburb\"]', $form);\r\n $watchedFields.closest(\"label\").addClass('pristine');\r\n if ($watchedFields.length) {\r\n $submitButton.attr('disabled', true);\r\n } \r\n\r\n $watchedFields.on('keyup change blur focus', async ({ target }) => {\r\n $(target).closest(\"label\").removeClass('pristine');\r\n const { valid, invalidFields } = await validateForm($watchedFields);\r\n setFormState($form, valid, invalidFields);\r\n });\r\n\r\n\r\n\r\n $submitButton.closest('.form__control-group--submit').on('click', async (e) => {\r\n \r\n //const disabled = $('button[type=\"submit\"]', this).prop('disabled');\r\n\r\n //console.log(\"submit closest: \", e);\r\n\r\n //if ($recaptcha.length > 0) {\r\n // if (!disabled && !formRecaptcha.isValid ) {\r\n // formRecaptcha.execute();\r\n // e.preventDefault();\r\n // return false;\r\n // }\r\n //}\r\n\r\n if ($submitButton.attr('disabled')) {\r\n try {\r\n const { valid, invalidFields } = await validateForm($watchedFields, true);\r\n setFormState($form, valid, invalidFields);\r\n }\r\n catch (err) {\r\n console.log('Error validating form', err); // eslint-disable-line no-console\r\n }\r\n }\r\n });\r\n return $form;\r\n};\r\n\r\nexport default watchForm;\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('AreaIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('ArrowIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport const BathsIcon = () => (\r\n
\r\n \r\n \r\n \r\n
\r\n);\r\n\r\nexport default () => {\r\n [...document.getElementsByTagName('BathsIcon')].forEach((el) => {\r\n render(BathsIcon, el, BathsIcon.children);\r\n });\r\n};\r\n", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport const BedsIcon = () => (\r\n
\r\n \r\n \r\n \r\n
\r\n);\r\n\r\nexport default () => {\r\n [...document.getElementsByTagName('BedsIcon')].forEach((el) => {\r\n render(BedsIcon, el, BedsIcon.children);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('CallIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport const CarsIcon = () => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n);\r\n\r\nexport default () => {\r\n [...document.getElementsByTagName('CarsIcon')].forEach((el) => {\r\n render(CarsIcon, el, CarsIcon.children);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('ChatIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('CheckboxIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('ChildcareIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('CloseIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-close');\r\n render((\r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('CommunityIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('DisplayPin')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('EmailCircleIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('EmailIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('FacebookCircleIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('FacebookIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('FacebookSquareIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('FacebookYouTubeCircleIcon')).forEach((el) => {\r\n const facebookUrl = el.getAttribute('facebook-url');\r\n const youtubeUrl = el.getAttribute('youtube-url');\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport const FavouriteIcon = () => (\r\n
\r\n \r\n \r\n \r\n
\r\n);\r\n\r\nexport default () => {\r\n [...document.getElementsByTagName('FavouriteIcon')].forEach((el) => {\r\n render(FavouriteIcon(), el.parentElement, el.parentElement.lastChild);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('InstagramIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport const LevelIcon = () => (\r\n
\r\n \r\n \r\n \r\n
\r\n);\r\n\r\nexport default () => {\r\n [...document.getElementsByTagName('LevelIcon')].forEach((el) => {\r\n render(LevelIcon, el, LevelIcon.children);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('MirvacLogo')).forEach((el) => {\r\n el.setAttribute('class', 'logo-wrapper');\r\n render((\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n ), el);\r\n });\r\n }; \r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('PdfIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('PeetLogo')).forEach((el) => {\r\n el.setAttribute('class', 'logo-wrapper');\r\n render((\r\n // Original logo svg below\r\n //\r\n // \r\n // \r\n // \r\n // \r\n // \r\n //\r\n // end REgular/original logo\r\n // new logo 12/2022\r\n\t\t \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t \r\n // end new logo 12/2022\r\n // 125yr anniversary svg follows\r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('PinIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('RemoveIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SaveCircleIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SchoolIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SearchIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('ShareCircleIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('ShoppingIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SizeIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SocialIconFB')).forEach(el => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render(\r\n \r\n \r\n \r\n \r\n ,\r\n el\r\n );\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SocialIconInsta')).forEach(el => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n el\r\n );\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SocialIconLinked')).forEach(el => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render(\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n ,\r\n el\r\n );\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SocialIconYouTube')).forEach(el => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n el\r\n );\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('SportIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('TrainsIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('TwitterCircleIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('TwitterIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "import { h, render, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\n\r\nexport default () => {\r\n Array.from(document.getElementsByTagName('VisitIcon')).forEach((el) => {\r\n el.setAttribute('class', 'icon-wrapper');\r\n render((\r\n \r\n \r\n \r\n ), el);\r\n });\r\n};\r\n", "//import { forEach } from \"async\";\r\n\r\nexport default () => {\r\n const $header = $('header');\r\n const headerRows = document.querySelectorAll('.mdl-layout__header-row');\r\n const inCommunities = !!document.querySelector('.mdl-navigation__link--active[href=\"/communities\"]');\r\n const inLivingChoices = !!document.querySelector('.mdl-navigation__link--active[href=\"/living-choices\"]');\r\n const noCollapse = $header.hasClass('no-collapse');\r\n\r\n // Collapse corporate navigation bar\r\n if ((inCommunities || inLivingChoices) && headerRows.length > 1 && !noCollapse) {\r\n $(window).scroll(function () {\r\n if ($(window).scrollTop() >= 200) {\r\n $header.addClass('scrolled');\r\n } else if ($(window).scrollTop() < 100) {\r\n $header.removeClass('scrolled');\r\n }\r\n });\r\n }\r\n\r\n \r\n //calculate how big the visible menu is and then set the padding. will need to redo on resize of viewport, the scroll to top might become annoying.\r\n var visibleMenuHeight = 0;\r\n const $content = $('.mdl-layout__content');\r\n //$(window).resize(calculateHeight);\r\n calculateHeight();\r\n \r\n function calculateHeight() {\r\n visibleMenuHeight = 0;\r\n headerRows.forEach(sumHeights);\r\n $content.css('padding-top', visibleMenuHeight);\r\n }\r\n\r\n function sumHeights(menuItem) {\r\n visibleMenuHeight += menuItem.clientHeight;\r\n }\r\n};", "import activateForm from './forms/activateForm';\r\nimport resetForm from './forms/resetForm';\r\n\r\nconst lightboxes = {};\r\nlet register;\r\nlet show;\r\nlet hide;\r\n\r\nconst initialize = () => {\r\n if (!register) {\r\n // Create reusable elements\r\n const $obfuscator = $('
').appendTo('.mdl-layout');\r\n const $lightboxWrapper = $('
').insertAfter($obfuscator);\r\n const $lightbox = $('
').appendTo($lightboxWrapper);\r\n const $lightboxCloseButton = $('
Close
').appendTo($lightbox);\r\n const $lightboxTitle = $('

Override this

').appendTo($lightbox);\r\n const $lightboxContent = $('
').appendTo($lightbox);\r\n\r\n const setKind = (kind) => {\r\n const kindClass = (typeof kind !== 'undefined') ? `lightbox--${kind}` : '';\r\n $lightbox.attr('class', `lightbox ${kindClass}`);\r\n };\r\n\r\n register = (lightbox) => {\r\n const delay = lightbox.getAttribute('delay') * 1000;\r\n lightboxes[lightbox.getAttribute('id')] = $(lightbox).remove();\r\n if (delay) {\r\n setTimeout(() => {\r\n show(lightbox.getAttribute('title'), lightbox.getAttribute('id'));\r\n }, delay);\r\n }\r\n };\r\n\r\n show = (title, lightboxId, data) => {\r\n \r\n let $content;\r\n if (typeof lightboxId !== 'undefined') {\r\n $content = lightboxes[lightboxId].clone(true, true);\r\n $content.appendTo($lightboxContent.empty());\r\n activateForm($('.form', $content), data);\r\n\r\n if(data != null && data.url != null && $content[0].id == \"lightboxVideo\")\r\n {\r\n $content[0].children[0].src = data.url\r\n }\r\n }\r\n\r\n if (title) {\r\n $lightboxTitle.html(title);\r\n $lightboxTitle.css('display', 'block');\r\n }\r\n else if ($content.attr('default-title')) {\r\n $lightboxTitle.html($content.attr('default-title'));\r\n $lightboxTitle.css('display', 'block');\r\n }\r\n else {\r\n $lightboxTitle.css('display', 'none');\r\n }\r\n setKind(lightboxId);\r\n if (lightboxId === 'updates') {\r\n InitiateSignupFormValidation();\r\n }\r\n $obfuscator.addClass('is-visible');\r\n return $content;\r\n };\r\n\r\n hide = () => {\r\n $obfuscator.removeClass('is-visible');\r\n resetForm($('form', $lightbox));\r\n setKind();\r\n };\r\n\r\n // Add default click handlers\r\n $lightboxCloseButton.on('click', hide);\r\n $lightboxWrapper.on('click', hide);\r\n $lightbox.on('click', (e) => {\r\n e.stopPropagation();\r\n });\r\n\r\n // Automatically register Lightboxes\r\n Array.from(document.getElementsByTagName('Lightbox')).forEach(register);\r\n }\r\n\r\n return { show, hide, register };\r\n};\r\n\r\nexport default initialize;\r\nexport const showLightbox = (title, lightboxId, data) => {\r\n initialize().show(title, lightboxId, data);\r\n};\r\nexport const hideLightbox = () => {\r\n initialize().hide();\r\n};\r\n", "import { showLightbox } from './lightbox';\r\n\r\nexport default () => {\r\n const userMenu = $('.user-menu');\r\n userMenu.on('click', (e) => {\r\n e.preventDefault();\r\n if (userMenu.find('.user-menu__saved').length) {\r\n showLightbox(null, 'tools');\r\n }\r\n else {\r\n showLightbox('Login to save and compare', 'login');\r\n }\r\n });\r\n};\r\n", "//import { forEach } from 'async';\r\nimport ee from 'event-emitter';\r\n\r\nconst emitter = ee();\r\nconst criteria = {};\r\n\r\nexport const cleanFilterCriteria = () => {\r\n Object.keys(criteria).forEach((key) => {\r\n if (!criteria[key] || !criteria[key].length) {\r\n delete criteria[key];\r\n }\r\n });\r\n};\r\n\r\nexport const replaceFilterCriteria = (update = {}) => { \r\n Object.keys(update).forEach((key) => {\r\n criteria[key] = update[key];\r\n });\r\n\r\n cleanFilterCriteria();\r\n\r\n}\r\n\r\nexport const updateFilterCriteria = ({ update = {}, action = 'REPLACE' }) => {\r\n switch (action) {\r\n case 'REPLACE':\r\n Object.keys(update).forEach((key) => {\r\n criteria[key] = update[key];\r\n });\r\n break;\r\n case 'APPEND':\r\n Object.keys(update).forEach((key) => {\r\n criteria[key] = criteria[key] || [];\r\n\r\n if (criteria[key].indexOf(update[key]) === -1) {\r\n criteria[key].push(update[key]);\r\n }\r\n });\r\n break;\r\n case 'REMOVE':\r\n Object.keys(update).forEach((key) => {\r\n if(criteria[key]){\r\n const itemIndex = criteria[key].indexOf(update[key]);\r\n if (itemIndex >= 0) {\r\n criteria[key].splice(itemIndex, 1);\r\n }\r\n }\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if(update && update.Releases) {\r\n \r\n $('#release-types .property-types__options input[type=\"checkbox\"].all').prop('checked', false);\r\n\r\n if (update.Releases === \"All\") {\r\n var appending = (action == \"APPEND\");\r\n criteria.Releases = [];\r\n $('#release-types-title').text(\"No options selected\");\r\n $('#release-types .property-types__options input[type=\"checkbox\"]').each(i => {\r\n if (appending) {\r\n criteria.Releases.push($('#release-types .property-types__options input[type=\"checkbox\"]')[i].value);\r\n $('#release-types-title').text(\"Show All\");\r\n }\r\n });\r\n $('#release-types .property-types__options input[type=\"checkbox\"]').prop('checked', appending);\r\n }\r\n else {\r\n if (criteria.Releases.length > 1) {\r\n if (criteria.Releases.length == $('#release-types .property-types__options input[type=\"checkbox\"]:not(.all)').length){\r\n $('#release-types-title').text(\"Show All\");\r\n $('#release-types .property-types__options input[type=\"checkbox\"].all').prop('checked', true);\r\n }else {\r\n $('#release-types-title').text(criteria.Releases.length + \" options selected\");\r\n }\r\n }\r\n else if (criteria.Releases.length == 1) {\r\n $('#release-types-title').text($('#release-types .property-types__options input[type=\"checkbox\"]:checked').siblings().text());\r\n }\r\n else {\r\n $('#release-types-title').text(\"No options selected\");\r\n }\r\n\r\n }\r\n\r\n \r\n }\r\n cleanFilterCriteria();\r\n};\r\n\r\nexport const getFilterCriteria = (fields) => {\r\n if (fields) {\r\n return fields.reduce((filteredCriteria, field) => ({ ...filteredCriteria, [field]: criteria[field] }), {});\r\n }\r\n return criteria;\r\n};\r\n\r\n\r\nexport const filterProducts = (unfilteredData) => {\r\n let filteredData = unfilteredData;\r\n if (criteria.Area !== undefined && criteria.Area.length > 1) {\r\n filteredData = filteredData.filter(lot => lot.status.toLowerCase() == 'available');\r\n filteredData = filteredData.filter(lot => lot.lotSize >= criteria.Area[0] && lot.lotSize <= criteria.Area[1]);\r\n }\r\n if (criteria.Releases !== undefined){\r\n \r\n criteria.Releases = criteria.Releases.filter(c => c != \"All\")\r\n if (criteria.Releases.length){\r\n filteredData = filteredData.filter(lot => criteria.Releases.includes(\"\" + lot.release.name))\r\n }\r\n }\r\n\r\n filteredData.forEach(lot => {\r\n if (criteria.Price !== undefined && criteria.Price.length > 1)\r\n {\r\n lot.products = lot.products.filter(product => product.price >= criteria.Price[0] && product.price <= criteria.Price[1]);\r\n }\r\n if (criteria.ProductTypes !== undefined && criteria.Price.length > 0) {\r\n lot.products = lot.products.filter(product =>criteria.ProductTypes.includes(product.type));\r\n }\r\n if (criteria.Carbays !== undefined) {\r\n lot.products = lot.products.filter(product => product.type == \"Land\" || product.garageSpaces == criteria.Carbays[0]);\r\n }\r\n if (criteria.Baths !== undefined) {\r\n lot.products = lot.products.filter(product => product.type == \"Land\" || product.bathrooms == criteria.Baths[0]);\r\n }\r\n if (criteria.Beds !== undefined) {\r\n lot.products = lot.products.filter(product => product.type == \"Land\" || product.bedrooms == criteria.Beds[0]);\r\n }\r\n });\r\n\r\n filteredData = filteredData.filter(lot => lot.products !== undefined && lot.products.length);\r\n\r\n return filteredData\r\n\r\n}\r\n\r\n\r\nexport const filterCommunities = (unfilteredData) => {\r\n\r\n let filteredData = [];\r\n\r\n // Filter product types\r\n unfilteredData.forEach(community => {\r\n if (\r\n (!criteria.CommunityTypes || !criteria.CommunityTypes.length) ||\r\n (community.containsLand && criteria.CommunityTypes.includes('Land')) ||\r\n (community.containsHouseAndLand && criteria.CommunityTypes.includes('HouseAndLand')) ||\r\n (community.containsApartments && criteria.CommunityTypes.includes('Apartments')) ||\r\n (community.containsCompletedHomes && criteria.CommunityTypes.includes('CompletedHomes')) ||\r\n (community.containsTerraceHomes && criteria.CommunityTypes.includes('Terraces')) ||\r\n (community.containsTownhouses && criteria.CommunityTypes.includes('Townhouses')) ||\r\n (community.containsRetirementHomes && criteria.CommunityTypes.includes('Retirement Homes'))\r\n )\r\n {\r\n filteredData.push(community);\r\n }\r\n });\r\n \r\n // Filter status\r\n if (criteria.Status && criteria.Status !== \"\") {\r\n filteredData = filteredData.filter(community => community.projectStatus == criteria.Status);\r\n } \r\n \r\n // Filter regions\r\n if (criteria.Region && criteria.Region !== \"\") {\r\n filteredData = filteredData.filter(community => community.region == criteria.Region);\r\n } \r\n\r\n // Search (need to include description in filter)\r\n if ( criteria.Search ) {\r\n filteredData = filteredData.filter(community => \r\n String(community.name).toLowerCase().includes(criteria.Search.toLowerCase()) || \r\n String(community.description).toLowerCase().includes(criteria.Search.toLowerCase())\r\n )\r\n }\r\n\r\n return filteredData;\r\n}\r\n\r\nexport default emitter;", "import Spinner from 'spin';\r\nimport styleMapElements from './styles';\r\n\r\nrequire('node-js-marker-clusterer');\r\nrequire('svg-pan-zoom');\r\nrequire('snapsvg');\r\n\r\nlet globals;\r\n\r\n// constructor -------------------------------------------------------\r\nexport default ({ mapContainer} = {}) => {\r\n if (!globals) {\r\n const google = window.google;\r\n const InfoBox = window.InfoBox;\r\n let map;\r\n\r\n const container = document.getElementById(mapContainer);\r\n\r\n if (container !== null) {\r\n\r\n map = new google.maps.Map(container, {\r\n streetViewControl: false,\r\n fullscreenControl: false,\r\n mapTypeControl: false,\r\n minZoom: 5,\r\n gestureHandling: 'greedy',\r\n clickableIcons: false\r\n });\r\n }\r\n // Create blank infowindow element (content called below on marker click event)\r\n const infoWindow = new google.maps.InfoWindow({\r\n content: '',\r\n minWidth: 370,\r\n maxWidth: 370\r\n });\r\n\r\n globals = {\r\n google,\r\n InfoBox,\r\n map,\r\n infoWindow\r\n };\r\n }\r\n\r\n return globals;\r\n};\r\n\r\nconst initSpinner = (mapContainer) => {\r\n const container = document.querySelector(mapContainer);\r\n const spinnerShade = document.createElement('div');\r\n spinnerShade.classList.add('spinner-shade');\r\n container.appendChild(spinnerShade);\r\n const spinner = new Spinner({\r\n lines: 13,\r\n length: 28,\r\n width: 14,\r\n radius: 42,\r\n scale: 1,\r\n corners: 1,\r\n color: '#fff',\r\n opacity: 0.25,\r\n rotate: 0,\r\n direction: 1,\r\n speed: 1,\r\n trail: 60,\r\n fps: 20,\r\n zIndex: 2e9,\r\n className: 'spinner',\r\n top: '50%',\r\n left: '50%',\r\n shadow: false,\r\n hwaccel: false,\r\n position: 'absolute'\r\n });\r\n return {\r\n start: () => spinner.spin(container),\r\n stop: () => spinner.stop()\r\n };\r\n};\r\n\r\n", "import getGlobals from './globals';\r\nimport { communities, deactivateCommunityMarkers } from '../communities';\r\nimport { products, deactivateProductMarkers } from '../products';\r\nimport { getQueryStringValueByName, getDocumentFilterValueByName } from '../utilities';\r\n\r\nexport default async () => {\r\n const globals = getGlobals({ mapContainer: 'product-search-map'});\r\n\r\n // Set up global variables\r\n globals.apiRoot = getDocumentFilterValueByName('ApiRoot');\r\n globals.showCommunitySearch = getDocumentFilterValueByName('CommunitiesSearch');\r\n let parentFolderIdValue = getDocumentFilterValueByName('ParentFolderIds');\r\n if (parentFolderIdValue) {\r\n globals.parentFolderIds = parentFolderIdValue.split(',');\r\n }\r\n\r\n globals.productFilter = getQueryStringValueByName('productTypes');\r\n globals.regionFilter = getQueryStringValueByName('region');\r\n globals.statusFilter = getQueryStringValueByName('status');\r\n let projectIdValue = getDocumentFilterValueByName('ProjectIds');\r\n if (projectIdValue) {\r\n globals.projectIds = projectIdValue.split(',');\r\n }\r\n\r\n globals.showHideInfoWindow = (marker, contentString) => {\r\n deactivateProductMarkers();\r\n deactivateCommunityMarkers();\r\n globals.infoWindow.close();\r\n\r\n if (marker) {\r\n globals.infoWindow.setContent(contentString);\r\n globals.infoWindow.open(globals.map, marker);\r\n\r\n // add (Map Interaction) when customer clicks on pin\r\n gtmClickPinOnMap(contentString);\r\n\r\n // add click event here for (Select Item from Map) as the id should be in the dom now ... \r\n var identifiers = getIdentifiers(contentString); // because there may be more than one.\r\n\r\n setTimeout(function () { // first attempt found that on first load of page the button isn't found. subsequent attempts are fine. Have added small delay to allow the button to be available on first load.\r\n identifiers.forEach(function (identifier) {\r\n var leBooton = document.getElementById(identifier);\r\n if (leBooton != null) {\r\n leBooton.addEventListener(\"click\", gtmSelectItemFromMap.bind(null, contentString, identifier), false);\r\n }\r\n });\r\n }, 1000);\r\n }\r\n };\r\n\r\n // Communities (Map only)\r\n if (globals.showCommunitySearch) {\r\n communities(globals);\r\n }\r\n else if (globals.projectIds) {\r\n if (globals.projectIds.length > 0) {\r\n await products(globals);\r\n }\r\n }\r\n\r\n // Allow scrollwheel to zoom after map is clicked... if there is a map\r\n if (globals.map !== undefined) {\r\n google.maps.event.addListener(globals.map, 'click', function (event) {\r\n this.setOptions({ scrollwheel: true });\r\n globals.showHideInfoWindow(null, null);\r\n });\r\n }\r\n\r\n var gtmClickPinOnMap = function (data) { // (Map Interaction) \r\n console.log(\"GTM pin click fired\");\r\n\r\n // determine if community or lot\r\n var listName = \"Lot List\"\r\n if (data.includes(\"GTMCommId_\")) {\r\n listName = \"Community List\"\r\n }\r\n\r\n // populate community \r\n var community = {\r\n name: getData(\"data-name\", data) || \"corporate\",\r\n region: getData(\"data-region\", data),\r\n availability: getData(\"data-availablity\", data)\r\n }\r\n\r\n // populate lot (maybe undefined if it's a community list) maybe more than one if there's more than one product for a lot\r\n // if more than one data-blah will be data-blah#\r\n var items = [];\r\n var productCount = getData(\"data-productCount\", data);\r\n if (productCount != null) {\r\n var productCountNumber = parseInt(productCount);\r\n if (!isNaN(productCountNumber)) {\r\n if (productCountNumber > 1) {\r\n // do each data-blah# where # is the productCount\r\n for (var i = 0; i < productCountNumber; i++) {\r\n // NOTE some of the data- are not product specific, eg lotsize will be teh same for all products\r\n var lot = {\r\n name: getData(\"data-product-name\", data),\r\n type: getData(\"data-type\" + i, data),\r\n size: getData(\"data-size\", data),\r\n price: getData(\"data-price\" + i, data),\r\n stage: getData(\"data-stage\", data),\r\n bedrooms: getData(\"data-bedrooms\" + i, data),\r\n bathrooms: getData(\"data-bathrooms\" + i, data),\r\n car_spaces: getData(\"data-car_spaces\" + i, data),\r\n stories: getData(\"data-stories\" + i, data),\r\n product_id: getData(\"data-product_id\" + i, data),\r\n open_times: getData(\"data-open_times\", data),\r\n builder: getData(\"data-builder\" + i, data),\r\n frontage: getData(\"data-frontage\", data)\r\n }\r\n items.push(lot);\r\n }\r\n } else {\r\n var lot = {\r\n name: getData(\"data-product-name\", data),\r\n type: getData(\"data-type\", data),\r\n size: getData(\"data-size\", data),\r\n price: getData(\"data-price\", data),\r\n stage: getData(\"data-stage\", data),\r\n bedrooms: getData(\"data-bedrooms\", data),\r\n bathrooms: getData(\"data-bathrooms\", data),\r\n car_spaces: getData(\"data-car_spaces\", data),\r\n stories: getData(\"data-stories\", data),\r\n product_id: getData(\"data-product_id\", data),\r\n open_times: getData(\"data-open_times\", data),\r\n builder: getData(\"data-builder\", data),\r\n frontage: getData(\"data-frontage\", data)\r\n }\r\n items.push(lot);\r\n }\r\n\t\t\t}\r\n \r\n }\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n event: \"map_interaction\",\r\n item_list_name: listName,\r\n community: community,\r\n lot: items\r\n });\r\n\r\n }\r\n\r\n var gtmSelectItemFromMap = function (data, identifier) { // (Select Item from Map)\r\n console.log('gtm select item from map fired');\r\n\r\n // determine if this is a community or a lot\r\n var listName = \"Lot List\"\r\n if (identifier.includes(\"GTMCommId_\")) {\r\n listName = \"Community List\"\r\n }\r\n\r\n // get data for item\r\n var item;\r\n if (listName == \"Community List\") {\r\n item = {\r\n community_name: getData(\"data-name\", data),\r\n community_region: getData(\"data-region\", data),\r\n community_availability: getData(\"data-availablity\", data)\r\n }\r\n } else {\r\n // need to determine which productCount this one is if there is more than one\r\n var productCount = getData(\"data-productCount\", data);\r\n if (productCount != null) {\r\n var productCountNumber = parseInt(productCount);\r\n if (!isNaN(productCountNumber)) {\r\n if (productCountNumber == 1) {\r\n item = {\r\n item_id: getData(\"data-product_id\", data),\r\n item_name: getData(\"data-product-name\", data),\r\n item_brand: getData(\"data-builder\", data),\r\n lot_name: getData(\"data-product-name\", data),\r\n lot_type: getData(\"data-type\", data),\r\n lot_size: getData(\"data-size\", data),\r\n lot_price: getData(\"data-price\", data),\r\n lot_stage: getData(\"data-stage\", data),\r\n lot_bedrooms: getData(\"data-bedrooms\", data),\r\n lot_bathrooms: getData(\"data-bathrooms\", data),\r\n lot_car_spaces: getData(\"data-car_spaces\", data),\r\n lot_stories: getData(\"data-stories\", data),\r\n lot_product_id: getData(\"data-product_id\", data),\r\n lot_open_times: getData(\"data-open_times\", data),\r\n lot_builder: getData(\"data-builder\", data),\r\n lot_frontage: getData(\"data-frontage\", data)\r\n }\r\n } else {\r\n // for each data-product_id# find the one that matches the GTMblahId_GUID then extract for that.\r\n\r\n for (var i = 0; i < productCountNumber; i++) {\r\n // i = suffix\r\n // given identifier, get data-product_id[suffix] and work out which productCount is this one\r\n var dataObjName = \"data-product_id\";\r\n\r\n var test = getData(dataObjName.concat(i), data);\r\n\r\n if (test == identifier.substring(10)) {\r\n item = {\r\n item_id: getData(\"data-product_id\" +i, data),\r\n item_name: getData(\"data-product-name\", data),\r\n item_brand: getData(\"data-builder\" +i, data),\r\n lot_name: getData(\"data-product-name\", data),\r\n lot_type: getData(\"data-type\" + i, data),\r\n lot_size: getData(\"data-size\", data),\r\n lot_price: getData(\"data-price\" + i, data),\r\n lot_stage: getData(\"data-stage\", data),\r\n lot_bedrooms: getData(\"data-bedrooms\" + i, data),\r\n lot_bathrooms: getData(\"data-bathrooms\" + i, data),\r\n lot_car_spaces: getData(\"data-car_spaces\" + i, data),\r\n lot_stories: getData(\"data-stories\" + i, data),\r\n lot_product_id: getData(\"data-product_id\" + i, data),\r\n lot_open_times: getData(\"data-open_times\", data),\r\n lot_builder: getData(\"data-builder\" + i, data),\r\n lot_frontage: getData(\"data-frontage\", data)\r\n }\r\n }\r\n }\r\n }\r\n\t\t\t\t}\r\n \r\n\t\t\t} \r\n }\r\n\r\n var ecommerceItem = {};\r\n if (listName == \"Community List\") {\r\n ecommerceItem.item_list_name = listName;\r\n ecommerceItem.items = [item];\r\n\r\n }\r\n else {\r\n //this is for lots only\r\n ecommerceItem.item_list_name = listName; \r\n ecommerceItem.items = [item];\r\n\t\t}\r\n\r\n \r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n event: \"select_item\",\r\n ecommerce: ecommerceItem\r\n });\r\n }\r\n};\r\n\r\nfunction getIdentifiers(contentString) {\r\n // id will start with GTMCommId_ or GTMProdId_\r\n // if it's a product it will have a guid otherwise it will just be the community name as we didn't have the community guid\r\n // because there may be more than one indentifier in the case of products we're doing it this way.\r\n \r\n var identifiers = [];\r\n\r\n var subStrings = contentString.split(\"><\");\r\n\r\n for (var i = 0; i < subStrings.length; i++) {\r\n if (subStrings[i].includes(\"id=\\\"GTMP\")) {\r\n var indexOfId = subStrings[i].indexOf(\"id=\\\"GTMP\") + 4; // to get beginning of identifier rather than what we searched to find identifier\r\n\r\n identifiers.push(subStrings[i].substring(indexOfId, indexOfId + 46)) // where 46 is the length of the identifier\r\n }\r\n else if (subStrings[i].includes(\"id=\\\"GTMC\")) {\r\n var indexOfId = subStrings[i].indexOf(\"id=\\\"GTMC\") + 4; // to get beginning of identifier rather than what we searched to find identifier\r\n var indexOfEnd = subStrings[i].indexOf(\"\\\"\", indexOfId + 4); // find next quote after the beginning of the identifer\r\n\r\n identifiers.push(subStrings[i].substring(indexOfId, indexOfEnd)) }\r\n }\r\n \r\n return identifiers;\r\n};\r\n\r\nfunction getData(dataID, data) {\r\n // find dataID in data and extract value where location is dataID=\"VALUE\"\r\n\r\n if (data.includes(dataID)) {\r\n var indexOfId = data.indexOf(dataID) + dataID.length + 2; // to get past dataID=\"\r\n var indexOfEnd = data.indexOf(\"\\\"\", indexOfId);\r\n var result = data.substring(indexOfId, indexOfEnd);\r\n\r\n return result;\r\n }\r\n}", "export default styles => {\r\n styles.addLotPriceMarker(\r\n `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n lot marker\r\n \r\n \r\n \r\n \r\n \r\n `,\r\n 'fc-lot-price-display'\r\n );\r\n\r\n styles.addPackageMarker(\r\n `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n package marker\r\n \r\n \r\n \r\n \r\n \r\n `,\r\n 'fc-package-price-display'\r\n );\r\n\r\n styles.addEstateMarker(\r\n `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n estate marker\r\n \r\n \r\n \r\n
\r\n `\r\n );\r\n\r\n styles.addGlobalClusterOptions({\r\n gridSize: 20,\r\n maxZoom: 19\r\n });\r\n\r\n styles.addFilterLotCluster({\r\n url: '/images/lot-cluster.png',\r\n height: 44,\r\n width: 44,\r\n textSize: 14,\r\n textColor: 'white'\r\n });\r\n\r\n styles.addEstateCluster({\r\n url: '/images/lot-cluster.png',\r\n height: 44,\r\n width: 44,\r\n textSize: 14,\r\n textColor: 'white'\r\n });\r\n\r\n styles.addPackageOutline('#068450', 3);\r\n styles.addStageOutline('#5e2020', 3);\r\n // styles.addLotOutline('#5e2020', 3);\r\n};\r\n", "// Default Settings\r\nvar markerIcons = {\r\n active: {},\r\n inactive: {}\r\n};\r\nconst markers = [];\r\n\r\nexport function renderPlacesOfInterest(poiData, globals) {\r\n poiData.forEach(poi => { \r\n var icon = poi.pinImageUrl && poi.pinImageUrl !== \"\"\r\n ? {\r\n url: poi.pinImageUrl,\r\n size: new google.maps.Size(25, 25),\r\n scaledSize: new google.maps.Size(25, 25)\r\n } : null;\r\n\r\n var marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(poi.lat, poi.lng),\r\n map: globals.map,\r\n icon: icon ? icon : markerIcons.inactive\r\n });\r\n \r\n // Attach click event to the marker...\r\n (function (marker, poi) {\r\n google.maps.event.addListener(marker, \"click\", function (e) {\r\n const contentString = infoWindowMarkup(poi)\r\n globals.showHideInfoWindow(marker, contentString);\r\n });\r\n })(marker, poi);\r\n \r\n markers.push(marker);\r\n });\r\n\r\n google.maps.event.addListener(globals.map, 'zoom_changed', function() {\r\n const iconSizeAt15 = 25;\r\n const zoomLevel = globals.map.getZoom();\r\n\r\n // Check if the current zoom level is more than or less than.\r\n let iconSize = iconSizeAt15;\r\n if (zoomLevel > 15) {\r\n iconSize = Math.round(iconSizeAt15 * Math.pow(1.25, zoomLevel - 15));\r\n }\r\n else if (zoomLevel < 15) {\r\n iconSize = Math.round(iconSizeAt15 / Math.pow(1.25, 15 - zoomLevel));\r\n }\r\n\r\n // Iterate between all markers and set the size\r\n markers.forEach(marker => {\r\n if (marker.getIcon()) {\r\n marker.setIcon({\r\n url: marker.getIcon().url,\r\n size: new google.maps.Size(iconSize, iconSize),\r\n scaledSize: new google.maps.Size(iconSize, iconSize),\r\n });\r\n } \r\n });\r\n });\r\n}\r\n\r\nfunction infoWindowMarkup(poi) {\r\n let html = ''; \r\n \r\n // Set the image // TODO check if POI needs to add a GTM thing here to handle the (Select Item from Map) event which is supposed to happen on click on the thumbnail or more info button on map view (product-info__elevation)\r\n var image = poi.pageUrl \r\n ? ('')\r\n : ('
');\r\n\r\n // Set the header\r\n var header = (\r\n '

' + poi.name + '

'\r\n );\r\n \r\n // Set the link // TODO check if POI needs to add a GTM thing here to handle the (Select Item from Map) event which is supposed to happen on click on the thumbnail or more info button on map view (product-info__more)\r\n var link = '
 
';\r\n if(poi.pageUrl && poi.pageUrl !== '') {\r\n link = (\r\n '
' +\r\n '' + poi.ctaText + '' +\r\n '
'\r\n );\r\n }\r\n\r\n // Set the HTML\r\n html = (\r\n '
' +\r\n image +\r\n '
' +\r\n header +\r\n '
' + poi.description + '
' +\r\n link +\r\n '
' +\r\n '
'\r\n );\r\n \r\n // Create final card html and return\r\n let cardHTML = (\r\n '
' +\r\n '
' +\r\n '
' +\r\n html +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n \r\n return cardHTML; \r\n}\r\n\r\nexport const deactivatePlacesOfInterestMarkers = () => {\r\n markers.forEach(marker => marker.setIcon(markerIcons.inactive));\r\n}", "import { loggedIn } from '../lib';\r\nimport { showLightbox } from './lightbox';\r\nimport { setSavedProductsCount } from './savedProducts';\r\n\r\nconst activateProducts = () => {\r\n $('input[name=\"favourite\"]:not(.enabled)').on('change', ({ target: input }) => {\r\n const $input = $(input);\r\n const productID = $input.attr('value');\r\n const state = input.checked;\r\n const $form = $input.closest('form');\r\n const endpoint = $form.attr('action');\r\n const method = $form.attr('method');\r\n\r\n if (loggedIn()) {\r\n $.ajax({\r\n url: endpoint,\r\n type: method,\r\n data: JSON.stringify({ productID, state }),\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n success: ({ status, saved_products }) => {\r\n if (status === 'success') {\r\n setSavedProductsCount(saved_products);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n $input[0].checked = $input[0].checked;\r\n showLightbox('Login to save and compare', 'login');\r\n }\r\n }).addClass('enabled');\r\n};\r\n\r\nexport { activateProducts };\r\n", "export default () => {\r\n Array.from(document.querySelectorAll('.property-types')).forEach((propertyTypes) => {\r\n // console.log('.property-types', this);\r\n const allPropertyTypesInput = propertyTypes.querySelector('[value=\"All\"]');\r\n const propertyTypesLabel = propertyTypes.querySelector('label');\r\n\r\n const selectedPropertyTypes = () => (\r\n propertyTypes.querySelectorAll('[name^=\"PropertyTypes\"]:checked')\r\n );\r\n\r\n const resetFilters = () => {\r\n Array.from(propertyTypes.querySelectorAll('[name^=\"PropertyTypes\"]')).forEach((input) => {\r\n input.checked = (input === allPropertyTypesInput); // eslint-disable-line no-param-reassign\r\n });\r\n };\r\n\r\n const updateLabelText = () => {\r\n if (allPropertyTypesInput.checked) {\r\n propertyTypesLabel.innerText = 'All property types';\r\n }\r\n else {\r\n const selectedTypes = selectedPropertyTypes();\r\n if (selectedTypes.length === 1) {\r\n propertyTypesLabel.innerText = $(selectedTypes[0]).nextAll('label').text();\r\n }\r\n else {\r\n propertyTypesLabel.innerText = `${selectedTypes.length} options selected`;\r\n }\r\n }\r\n };\r\n\r\n Array.from(propertyTypes.querySelectorAll('[name^=\"PropertyTypes\"]')).forEach((input) => {\r\n const $input = $(input);\r\n // Prevent the double-firing bug as the label and input respond to the same click\r\n $input.parent().on('click', (e) => {\r\n e.stopPropagation();\r\n });\r\n $input.on('change', () => {\r\n console.log(\"change: product types\");\r\n if (input === allPropertyTypesInput || selectedPropertyTypes().length === 0) {\r\n resetFilters();\r\n }\r\n else {\r\n allPropertyTypesInput.checked = false;\r\n }\r\n updateLabelText();\r\n });\r\n });\r\n });\r\n};\r\n", "import { h, Component } from 'preact'; // eslint-disable-line no-unused-vars\r\nimport { FavouriteIcon } from '../../icons/favourite-icon';\r\n\r\nexport class ProductCard extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n // need to add a GTM thing here for handle the (Select Item) event which is supposed to happen on click on the image or button (product__summary__more-info)\r\n \r\n\r\n render() {\r\n var prodTypeClass = '';\r\n if (typeof this.props.type === 'string') { prodTypeClass = `product-info--${this.props.type.toLowerCase().replace(/\\s/g, '-')}`; }\r\n \r\n const prodMainImage = { backgroundImage: `url(${ this.props.primaryImageUrl })` }\r\n\r\n const prodSpec = () => {\r\n var productSpecHtml = '';\r\n if(this.props.type !== 'Land' && this.props.type !== 'Apartment') {\r\n productSpecHtml = (\r\n
\r\n {this.props.lot.lotSize && (
{ this.props.lot.lotSize }
)}\r\n {this.props.lot.lotWidth && (
{ this.props.lot.lotWidth }
)}\r\n {this.props.bedrooms && (
{ this.props.bedrooms }
)}\r\n {this.props.bathrooms && (
{ this.props.bathrooms }
)}\r\n {this.props.garageSpaces && (
{ this.props.garageSpaces }
)}\r\n {this.props.storeys && (
{ this.props.storeys }
)} \r\n
\r\n )\r\n } \r\n else if(this.props.type !== 'Land') {\r\n productSpecHtml = (\r\n
\r\n {this.props.bedrooms && (
{ this.props.bedrooms }
)}\r\n {this.props.bathrooms && (
{ this.props.bathrooms }
)}\r\n {this.props.garageSpaces && (
{ this.props.garageSpaces }
)}\r\n {this.props.storeys && (
{ this.props.storeys }
)}\r\n
\r\n )\r\n }\r\n else if(this.props.type == 'Land') {\r\n productSpecHtml = (\r\n
\r\n {this.props.lot.lotSize && (
{ this.props.lot.lotSize }
)}\r\n {this.props.lot.lotWidth && (
{ this.props.lot.lotWidth }
)}\r\n
\r\n )\r\n } \r\n return productSpecHtml;\r\n }\r\n\r\n const name = () => {\r\n var nameHtml = '';\r\n if (this.props.lot.marketingReleaseName !== null && this.props.lot.marketingReleaseName !== '') {\r\n nameHtml = this.props.name + ' - ' + this.props.lot.marketingReleaseName;\r\n } else {\r\n nameHtml = this.props.name;\r\n }\r\n\r\n return nameHtml;\r\n }\r\n\r\n return (\r\n
\r\n clicked(this.props)} target=\"_blank\">\r\n
{ this.props.type }
\r\n
\r\n { this.props.priceDescription }\r\n {this.props.builderName && (\r\n \r\n {\r\n \r\n )}\r\n

\r\n { name() }\r\n

\r\n { prodSpec() }\r\n
\r\n {/* TODO: Favourties toggle... */}\r\n {/* */}\r\n clicked(this.props) } target=\"_blank\">More Information\r\n
\r\n
\r\n )\r\n\r\n }\r\n\r\n}\r\n\r\nexport class ProductEmptyState extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

Due to popular demand, our products are selling quickly.

\r\n

Please keep an eye on this page, or register your details to be among the first to know once {this.props.project} has products available.

\r\n Register\r\n
\r\n )\r\n }\r\n\r\n}\r\n\r\nfunction clicked(props) {\r\n console.log(\"(Select Item) fired in product\");\r\n // TODO missing open times\r\n let product = {\r\n item_id: getGUIDfromURL(props.url),\r\n item_name: props.lot.name,\r\n item_brand: props.builderName,\r\n lot_name: props.name,\r\n lot_type: props.type,\r\n lot_size: props.lot.lotSize,\r\n lot_price: props.price,\r\n lot_stage: props.lot.release.name,\r\n lot_bedrooms: props.bedrooms,\r\n lot_bathrooms: props.bathrooms,\r\n lot_car_spaces: props.garageSpaces,\r\n lot_stories: props.storeys,\r\n lot_product_id: getGUIDfromURL(props.url),\r\n lot_open_times: \"not available at this time\", //'{{ Opening Hours }}', // 7 days a week 11am - 5pm. Public Holidays 1pm - 5pm. // TODO need to get from backend so it can travel through to here\r\n lot_builder: props.builderName,\r\n lot_frontage: props.lot.lotWidth\r\n };\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n event: \"select_item\",\r\n ecommerce: {\r\n item_list_name: \"Lot List\", \r\n items:[product]\r\n \r\n \r\n }\r\n });\r\n}\r\n\r\nfunction getGUIDfromURL(url) {\r\n // get stuff between {} and send it back\r\n var guid = url.substring(url.indexOf(\"{\") + 1, url.lastIndexOf(\"}\"));\r\n return guid;\r\n}\r\n", "import { rangeSlider, filterSelect, filterCheckbox, filterHidden, filterReleasesCheckbox } from './inputs';\r\nimport activateSaveProductButtons from './saveProduct';\r\nimport { updateFilterCriteria, filterProducts, getFilterCriteria } from '../maps/filter';\r\nimport { renderProductCards } from './renderProductCards';\r\nimport { renderPlacesOfInterest } from '../placesOfInterest';\r\nimport { getFormData } from '../forms/data';\r\n\r\n// Default Settings\r\nvar globals = {};\r\nvar markerIcons = {\r\n active: {},\r\n inactive: {}\r\n};\r\nvar markers = [];\r\nconst data = {\r\n products: []\r\n};\r\nvar gtmLots = {};\r\nfunction Lot(name= \"\",type = \"\", size = \"\", price = \"\", stage = \"\", bedrooms = \"\", bathrooms = \"\", car_spaces = \"\", stories = \"\", product_id = \"\", open_times = \"\", builder = \"\", frontage = \"\") {\r\n this.name = name;\r\n this.type = type;\r\n this.size = size;\r\n this.price = price;\r\n this.stage = stage;\r\n this.bedrooms = bedrooms;\r\n this.bathrooms = bathrooms;\r\n this.car_spaces = car_spaces;\r\n this.stories = stories;\r\n this.product_id = product_id;\r\n this.open_times = open_times;\r\n this.builder = builder;\r\n this.frontage = frontage;\r\n}\r\n\r\nexport const products = async (g) => {\r\n globals = g;\r\n\r\n // Initilize default marker styles\r\n markerIcons.inactive = {\r\n url: '/images/pin-icon.svg',\r\n size: new google.maps.Size(25, 40),\r\n scaledSize: new google.maps.Size(25, 40),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(12, 40)\r\n };\r\n markerIcons.active = {\r\n url: '/images/pin-icon-active.svg',\r\n size: new google.maps.Size(25, 40),\r\n scaledSize: new google.maps.Size(25, 40),\r\n origin: new google.maps.Point(0, 0),\r\n anchor: new google.maps.Point(12, 40)\r\n };\r\n\r\n var endpoint = globals.apiRoot + '/project-data?projectId=' + globals.projectIds.join(\"&projectId=\");\r\n\r\n $.when($.ajax(endpoint))\r\n .done(function (response) {\r\n // Set the values\r\n data.mainProject = response.mainProject;\r\n data.products = response.lots;\r\n data.placesOfInterest = response.pointsOfInterest;\r\n prepareMap(data.products);\r\n setFilterBoundaries();\r\n initializeControls();\r\n enableViewTogglers();\r\n renderPlacesOfInterest(data.placesOfInterest, globals);\r\n gtmViewLotList(data); // trigger GTM (View Lot List)\r\n\r\n // Check if there are no markers and reset map\r\n if (markers.length === 0) {\r\n setMapBounds();\r\n } \r\n })\r\n .fail(function () {\r\n console.log(arguments);\r\n });\r\n};\r\n\r\nexport const deactivateProductMarkers = () => {\r\n markers.forEach(marker => marker.setIcon(markerIcons.inactive));\r\n}\r\n\r\nconst setFilterBoundaries = () => {\r\n var filterSettings = {\r\n containsLand: false,\r\n containsHL: false,\r\n containsApartment: false,\r\n containsTerrace: false,\r\n containsTownhouses: false,\r\n lotSizeMin: -1,\r\n lotSizeMax: -1,\r\n frontageMin: -1,\r\n frontageMax: -1,\r\n priceMin: -1,\r\n priceMax: -1,\r\n beds: [],\r\n baths: [],\r\n cars: [],\r\n releases: []\r\n }\r\n\r\n data.products.forEach(lot => {\r\n\r\n if (lot.lotSize !== undefined) {\r\n filterSettings.lotSizeMin = (filterSettings.lotSizeMin == -1 || lot.lotSize < filterSettings.lotSizeMin) ? lot.lotSize : filterSettings.lotSizeMin;\r\n filterSettings.lotSizeMax = (filterSettings.lotSizeMax == -1 || lot.lotSize > filterSettings.lotSizeMax) ? lot.lotSize : filterSettings.lotSizeMax;\r\n }\r\n if (lot.lotWidth !== undefined) {\r\n filterSettings.frontageMin = (filterSettings.frontageMin == -1 || lot.lotWidth < filterSettings.frontageMin) ? lot.lotWidth : filterSettings.frontageMin;\r\n filterSettings.frontageMax = (filterSettings.frontageMax == -1 || lot.lotWidth > filterSettings.frontageMax) ? lot.lotWidth : filterSettings.frontageMax;\r\n }\r\n\r\n if (lot.release !== undefined && lot.status.toLowerCase() === \"available\") {\r\n filterSettings.releases.push(lot.release.name);\r\n }\r\n\r\n lot.products.forEach(product => {\r\n filterSettings.containsLand = filterSettings.containsLand || product.type == \"Land\";\r\n filterSettings.containsHL = filterSettings.containsHL || product.type == \"House and Land\";\r\n filterSettings.containsApartment = filterSettings.containsApartment || product.type == \"Apartment\";\r\n filterSettings.containsTerrace = filterSettings.containsTerrace || product.type == \"Terrace Home\";\r\n filterSettings.containsTownhouses = filterSettings.containsTownhouses || product.type == \"Townhouse\";\r\n\r\n if (product.bedrooms !== undefined && product.bedrooms != null) {\r\n filterSettings.beds.push(product.bedrooms);\r\n }\r\n if (product.bathrooms !== undefined && product.bathrooms != null) {\r\n filterSettings.baths.push(product.bathrooms);\r\n }\r\n if (product.garageSpaces !== undefined && product.garageSpaces != null) {\r\n filterSettings.cars.push(product.garageSpaces);\r\n }\r\n if (product.price !== undefined) {\r\n filterSettings.priceMin = (filterSettings.priceMin == -1 || product.price < filterSettings.priceMin) ? product.price : filterSettings.priceMin;\r\n filterSettings.priceMax = (filterSettings.priceMax == -1 || product.price > filterSettings.priceMax) ? product.price : filterSettings.priceMax;\r\n }\r\n });\r\n });\r\n\r\n $('div[name=\"Area\"]').attr('data-min', filterSettings.lotSizeMin).attr('data-default-min', filterSettings.lotSizeMin);\r\n $('div[name=\"Area\"]').attr('data-max', filterSettings.lotSizeMax).attr('data-default-max', filterSettings.lotSizeMax);\r\n $('div[name=\"Price\"]').attr('data-min', filterSettings.priceMin).attr('data-default-min', filterSettings.priceMin);\r\n $('div[name=\"Price\"]').attr('data-max', filterSettings.priceMax).attr('data-default-max', filterSettings.priceMax);\r\n\r\n var beds = sortedUnique(filterSettings.beds);\r\n beds.forEach(option => $('select.product-search__filter-select[name=\"Beds\"]').append(\"\"))\r\n\r\n var baths = sortedUnique(filterSettings.baths);\r\n baths.forEach(option => $('select.product-search__filter-select[name=\"Baths\"]').append(\"\"))\r\n\r\n var cars = sortedUnique(filterSettings.cars);\r\n cars.forEach(option => $('select.product-search__filter-select[name=\"Carbays\"]').append(\"\"))\r\n\r\n if ($('.release-types').length) {\r\n var releases = sortedUnique(filterSettings.releases);\r\n releases.forEach(option => {\r\n //var releaseData = option.split(\":\");\r\n //var id = releaseData[0];\r\n // var name = releaseData[1];\r\n var name = option;\r\n $('.property-types.release-types .property-types__options').append('')\r\n })\r\n }\r\n};\r\n\r\n\r\nconst sortedUnique = (arr = []) => {\r\n const map = {};\r\n const res = [];\r\n for (let i = 0; i < arr.length; i++) {\r\n if (!map[arr[i]]) {\r\n map[arr[i]] = true;\r\n res.push(arr[i]);\r\n };\r\n };\r\n return res.sort((a, b) => a - b);\r\n};\r\n\r\nconst getFormDetailsForInput = (input) => {\r\n const $input = $(input);\r\n const $form = $input.closest('form');\r\n const endpoint = $form.attr('action');\r\n const method = $form.attr('method');\r\n return { endpoint, method };\r\n};\r\n\r\nconst clone = (productData) => {\r\n return JSON.parse(JSON.stringify(productData));\r\n};\r\n\r\nconst updateSearch = (update, action, input) => {\r\n if (update) {\r\n updateFilterCriteria({ update, action });\r\n\r\n var filteredData = filterProducts(clone(data.products));\r\n renderProductPins(filteredData);\r\n renderProductCards('product-card-wrapper', filteredData, data.mainProject.name);\r\n populateDataLayerObject(filteredData);\r\n \r\n }\r\n};\r\n\r\nfunction populateDataLayerObject(data) { //this allows me to update an array of lot objects I can attached to a datalayer push later. Excluding lots with status of sold\r\n gtmLots = [];\r\n \r\n data.forEach(function (item) {\r\n if (item.status != \"Sold\") {\r\n for (var i = 0; i < item.products.length; i++) {\r\n gtmLots.push(new Lot(\r\n item.name,\r\n item.products[i].type,\r\n item.lotSize,\r\n item.products[i].price,\r\n item.release.name,\r\n item.products[i].bedrooms,\r\n item.products[i].bathrooms,\r\n item.products[i].garageSpaces,\r\n item.products[i].storeys,\r\n ExtractGUIDFromUrl(item.products[i].url),\r\n \"open times unavailable\",\r\n item.products[i].builderName,\r\n item.lotWidth\r\n ));\r\n }\r\n }\r\n });\r\n}\r\n\r\nconst initializeControls = () => {\r\n\r\n var inputs = document.getElementsByClassName('product-search__filter-checkbox')\r\n for (var i = 0; i < inputs.length; i++) {\r\n var diff = 0;\r\n if (globals.productFilter !== null) {\r\n // to ensure if parameter includes 'Land' that it is not part of 'House and Land'. diff in index must not be 4\r\n // if parameter is 'Land Townhouse' then it reads the and part of Land as and and diff is 4 \r\n // they don't expect to use multiple product types in the parameters and trying to find a solution that doesn't require changing the keyword everywhere is fraught.\r\n var indexOfAnd = globals.productFilter.indexOf(\"and\");\r\n var indexOfValue = globals.productFilter.indexOf(inputs[i].value);\r\n diff = indexOfValue - indexOfAnd;\r\n }\r\n \r\n if ((!globals.productFilter || globals.productFilter.indexOf(inputs[i].value) >= 0) && diff !== 4) {\r\n inputs[i].checked = 'checked';\r\n }\r\n }\r\n\r\n initializeFilterInputs();\r\n initializeMapFilterToggle();\r\n activateSaveProductButtons();\r\n\r\n setMapHeight();\r\n setFixedFilterScroll();\r\n\r\n}\r\n\r\nconst initializeFilterInputs = () => {\r\n filterHidden(updateSearch);\r\n rangeSlider(updateSearch, '.product-search__filter-range-slider');\r\n filterSelect(updateSearch);\r\n filterCheckbox(updateSearch);\r\n filterReleasesCheckbox(updateSearch);\r\n\r\n // Set GTM events when filter controls are adjusted...\r\n Array.from(document.querySelectorAll('.product-search__filter-range-slider, .range-slider')).forEach((slider) => {\r\n slider.noUiSlider.on('change', () => { gtmEventFilters(getFilterCriteria()) });\r\n });\r\n\r\n Array.from(document.querySelectorAll('.product-search__filter-select')).forEach((input) => {\r\n input.addEventListener('change', () => { gtmEventFilters(getFilterCriteria()) });\r\n });\r\n\r\n Array.from(document.querySelectorAll('.product-search__filter-checkbox')).forEach((input) => {\r\n input.addEventListener('change', () => { gtmEventFilters(getFilterCriteria()) });\r\n });\r\n\r\n Array.from(document.querySelectorAll('.releases-search__filter-checkbox')).forEach((input) => {\r\n input.addEventListener('change', () => { gtmEventFilters(getFilterCriteria()) });\r\n });\r\n\r\n}\r\n\r\nconst initializeMapFilterToggle = () => {\r\n const $productFilterToggle = $('#product-search__filter-toggle');\r\n const $contentScrollContainer = $('.mdl-layout__content');\r\n $productFilterToggle.on('change', () => {\r\n $contentScrollContainer.scrollTop(0);\r\n });\r\n};\r\n\r\nfunction prepareMap(productData) {\r\n renderOverlay(data.mainProject, productData);\r\n\r\n var clusterOptions = {\r\n ignoreHidden: true,\r\n minimumClusterSize: 5,\r\n styles: [{ textColor: \"#FFFFFF\", textSize: 14, width: 56, height: 56, url: '/images/cluster-icon.png' }]\r\n };\r\n\r\n globals.cluster = new MarkerClusterer(globals.map, markers, clusterOptions);\r\n\r\n};\r\n\r\nfunction renderProductPins(data) {\r\n //for testing purpoises\r\n //console.log(\"i'm going to pause\");\r\n //var start = new Date().getTime();\r\n //var end = start;\r\n //while (end < start + 10000) {\r\n // end = new Date().getTime();\r\n //}\r\n //console.log(\"finished pausing\");\r\n\r\n // Remove any existing markers\r\n markers.forEach(marker => {\r\n globals.cluster.removeMarker(marker);\r\n marker.setMap(null);\r\n });\r\n markers = [];\r\n\r\n data.forEach(lot => {\r\n if (lot.status.toLowerCase() !== \"sold\") {\r\n var marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(lot.lat, lot.lng),\r\n icon: markerIcons.inactive\r\n });\r\n\r\n (function (marker, lot) {\r\n google.maps.event.addListener(marker, \"click\", function (e) {\r\n const contentString = infoWindowMarkup(lot);\r\n globals.showHideInfoWindow(marker, contentString);\r\n marker.setIcon(markerIcons.active)\r\n //GTM if item on map clicked fire (Map Interaction) will need community and lot objects\r\n });\r\n\r\n })(marker, lot);\r\n\r\n markers.push(marker);\r\n globals.cluster.addMarker(marker);\r\n }\r\n });\r\n\r\n if (markers.length > 0) {\r\n setMapBounds();\r\n }\r\n\r\n hideLoader();\r\n \r\n};\r\n\r\n\r\n\r\nfunction setMapBounds() {\r\n\r\n var bounds = new google.maps.LatLngBounds(\r\n new google.maps.LatLng(data.mainProject.south, data.mainProject.west),\r\n new google.maps.LatLng(data.mainProject.north, data.mainProject.east));\r\n\r\n if (markers.length) {\r\n\r\n var firstMarker = markers[0];\r\n bounds = new google.maps.LatLngBounds(firstMarker.position, firstMarker.position);\r\n\r\n markers.forEach(marker => {\r\n bounds.extend(marker.position);\r\n })\r\n\r\n // Create a min bounds size for filtering (prevents zooming too far without restricting manual zoom)\r\n var boundsMin = 0.001;\r\n var latDif = bounds.getNorthEast().lat() - bounds.getSouthWest().lat();\r\n var lngDif = bounds.getNorthEast().lng() - bounds.getSouthWest().lng();\r\n if (latDif < boundsMin || lngDif < boundsMin) {\r\n var lngBuff = boundsMin - lngDif;\r\n var latBuff = boundsMin - latDif;\r\n var extendPoint1 = new google.maps.LatLng(bounds.getNorthEast().lat() + latBuff, bounds.getNorthEast().lng() + lngBuff);\r\n var extendPoint2 = new google.maps.LatLng(bounds.getSouthWest().lat() - latBuff, bounds.getSouthWest().lng() - lngBuff);\r\n bounds.extend(extendPoint1);\r\n bounds.extend(extendPoint2);\r\n }\r\n\r\n }\r\n\r\n globals.map.fitBounds(bounds);\r\n};\r\n\r\nfunction renderOverlay(projectInformation, products) {\r\n // Get svg and create inline defs element\r\n if (projectInformation.overlayImageUrl && projectInformation.overlayImageUrl !== \"\") {\r\n let getOverlayImage = new XMLHttpRequest();\r\n getOverlayImage.open(\"GET\", projectInformation.overlayImageUrl, false);\r\n getOverlayImage.overrideMimeType(\"image/svg+xml\");\r\n getOverlayImage.onload = function () {\r\n var getOverlayDocElement = getOverlayImage.responseXML.documentElement;\r\n products.forEach(lot => {\r\n var lotId = 'lot_' + lot.lotNumber;\r\n var lotLabelId = 'lot_name_' + lot.lotNumber;\r\n var lotStatus = lot.status.toLowerCase();\r\n var polyElement = getOverlayDocElement.getElementById(lotId);\r\n var labelElement = getOverlayDocElement.getElementById(lotLabelId);\r\n if (polyElement) {\r\n if (['available', 'sold', 'pending'].includes(lotStatus)) { polyElement.classList.add('lot-' + lotStatus); }\r\n else { polyElement.classList.add('lot-unavailable'); }\r\n }\r\n if (labelElement) {\r\n if (['available', 'sold', 'pending'].includes(lotStatus)) { labelElement.classList.add('lot-' + lotStatus); }\r\n else { labelElement.classList.add('lot-unavailable'); }\r\n }\r\n });\r\n\r\n document.getElementById(\"svgOverlay\").appendChild(getOverlayImage.responseXML.documentElement);\r\n }\r\n getOverlayImage.send(\"\");\r\n\r\n // The custom USGSOverlay object contains the USGS image, the bounds of the image, and a reference to the map.\r\n class USGSOverlay extends google.maps.OverlayView {\r\n constructor(overlayBounds) {\r\n super();\r\n this.bounds = overlayBounds;\r\n this.svg = document.getElementById(\"svgOverlay\").innerHTML;\r\n }\r\n\r\n // onAdd is called when the map's panes are ready and the overlay has been added to the map.\r\n onAdd() {\r\n this.div = document.createElement(\"div\");\r\n this.div.setAttribute(\"class\", \"product-search__map-overlay-wrapper\")\r\n // this.div.style.borderStyle = \"solid\";\r\n // this.div.style.borderWidth = \"1px\";\r\n this.div.style.position = \"absolute\";\r\n\r\n const svg = document.createElement(\"svg\");\r\n svg.innerHTML = this.svg;\r\n svg.style.position = \"absolute\";\r\n svg.style.width = \"100%\";\r\n svg.style.height = \"100%\";\r\n svg.setAttribute(\"class\", \"product-search__map-overlay-svg\")\r\n this.div.appendChild(svg);\r\n\r\n // Add the element to the \"overlayLayer\" pane.\r\n const panes = this.getPanes();\r\n panes.overlayLayer.appendChild(this.div);\r\n }\r\n\r\n draw() {\r\n const overlayProjection = this.getProjection();\r\n const sw = overlayProjection.fromLatLngToDivPixel(this.bounds.getSouthWest());\r\n const ne = overlayProjection.fromLatLngToDivPixel(this.bounds.getNorthEast());\r\n\r\n // Resize the image's div to fit the indicated dimensions.\r\n if (this.div) {\r\n this.div.style.left = sw.x + \"px\";\r\n this.div.style.top = ne.y + \"px\";\r\n this.div.style.width = ne.x - sw.x + \"px\";\r\n this.div.style.height = sw.y - ne.y + \"px\";\r\n }\r\n }\r\n\r\n // The onRemove() method will be called automatically from the API if we ever set the overlay's map property to 'null'.\r\n onRemove() {\r\n if (this.div) {\r\n this.div.parentNode.removeChild(this.div);\r\n delete this.div;\r\n }\r\n }\r\n\r\n // Set the visibility to 'hidden' or 'visible'.\r\n hide() {\r\n if (this.div) { this.div.style.visibility = \"hidden\"; }\r\n }\r\n\r\n show() {\r\n if (this.div) { this.div.style.visibility = \"visible\"; }\r\n }\r\n\r\n toggle() {\r\n if (this.div) {\r\n if (this.div.style.visibility === \"hidden\") { this.show(); } else { this.hide(); }\r\n }\r\n }\r\n\r\n toggleDOM(map) {\r\n if (this.getMap()) { this.setMap(null); } else { this.setMap(map); }\r\n }\r\n\r\n }\r\n\r\n const overlay = new USGSOverlay(new google.maps.LatLngBounds(\r\n new google.maps.LatLng(projectInformation.south, projectInformation.west),\r\n new google.maps.LatLng(projectInformation.north, projectInformation.east)\r\n ));\r\n\r\n overlay.setMap(globals.map);\r\n }\r\n}\r\n\r\n// Turns on toggle events + set default view ('map' or 'list')\r\nfunction enableViewTogglers() {\r\n var defaultView = 'list';\r\n document.getElementById('product-search-view').classList.add(defaultView + '-view');\r\n document.getElementById('filter-view-' + defaultView).setAttribute('checked', 'checked');\r\n\r\n var viewTypeRadios = document.getElementsByName('productViewType');\r\n for (var i = 0; i < viewTypeRadios.length; i++) { viewTypeRadios[i].onchange = toggleResultsView; }\r\n\r\n document.getElementById('filter-toggle').addEventListener('click', toggleFilterView);\r\n document.getElementById('filter-close').addEventListener('click', toggleFilterView);\r\n document.getElementById('filter-close-mobile').addEventListener('click', toggleFilterView);\r\n\r\n}\r\n\r\nfunction toggleResultsView() {\r\n var productSearchWrapper = document.getElementById('product-search-view');\r\n productSearchWrapper.classList.toggle('map-view');\r\n productSearchWrapper.classList.toggle('list-view');\r\n setMapBounds();\r\n\r\n // GTM (Google Tag Manager) Data Layer Update\r\n var viewTypeRadios = document.getElementsByName('productViewType');\r\n for (var i = 0; i < viewTypeRadios.length; i++) {\r\n if (viewTypeRadios[i].checked) {\r\n gtmEventViewToggle(viewTypeRadios[i].value);\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction toggleFilterView() {\r\n var productSearchWrapper = document.getElementById('product-search-view');\r\n productSearchWrapper.classList.toggle('show-filters');\r\n}\r\n\r\nfunction setMapHeight() {\r\n var vw = $(window).width();\r\n var filterHeight = $('#product-filter-panel').outerHeight();\r\n var mapPresetMin = $('#product-search-map').css('min-height').replace('px', '');\r\n\r\n if (mapPresetMin < filterHeight && vw > 479) {\r\n $('#product-search-map').css('height', filterHeight + 'px');\r\n $('#product-search-map').css('min-height', filterHeight + 'px');\r\n }\r\n\r\n}\r\n\r\nfunction setFixedFilterScroll() {\r\n var vw = $(window).width();\r\n\r\n // If mobile set filter bar to fixed position...\r\n if (vw < 769) {\r\n // Retrieve the header\r\n var headerItem = document.getElementById('root-header');\r\n if (headerItem) {\r\n // Make the filter bar fixed position\r\n var filterBar = $('#filter-bar-mobile');\r\n filterBar.css('position', 'fixed');\r\n filterBar.css('top', headerItem.getBoundingClientRect().bottom);\r\n\r\n // Retrieve filter bar item\r\n var filterBarItem = document.getElementById('filter-bar-mobile');\r\n if (filterBarItem) {\r\n var filterBarBottom = filterBarItem.getBoundingClientRect().bottom;\r\n var filterBarHeight = filterBarItem.getBoundingClientRect().height;\r\n\r\n // Set the filter bar top if the header height changes\r\n $(window).on('scroll', function () {\r\n // Retrieve the product search view\r\n var viewItem = document.getElementById('product-search-view');\r\n if (viewItem) {\r\n var view = viewItem.getBoundingClientRect().bottom\r\n if (view < filterBarBottom) {\r\n var setNewPos = view - filterBarHeight + 'px'\r\n filterBar.css('top', setNewPos);\r\n } else {\r\n filterBar.css('top', headerItem.getBoundingClientRect().bottom);\r\n }\r\n } \r\n });\r\n }\r\n } \r\n }\r\n}\r\n\r\nfunction hideLoader() {\r\n const player = document.querySelector(\"lottie-player\");\r\n if (player !== null) {\r\n player.stop();\r\n }\r\n $('#search-loader-outer').hide();\r\n}\r\n\r\nfunction infoWindowMarkup(lotData) {\r\n\r\n var lotSize = lotData.lotSize;\r\n var lotWidth = lotData.lotWidth;\r\n var productCount = 0;\r\n\r\n // TODO there is sometime more than one product in lotData.products array. How can we identify which product count we have selected... product_id \r\n let dataHTML = 'data-name=\"' + lotData.project.name +\r\n '\" data-region=\"' + ExtractRegionFromUrl(lotData.products[0].url) +\r\n '\" data-availablity=\"' + lotData.status +\r\n '\" data-size=\"' + lotSize +\r\n '\" data-stage=\"' + lotData.marketingReleaseName +\r\n '\" data-open_times=\"unknown at this time\" ' + // TODO get opening hours from backend somehow {{ Opening Hours }}', // 7 days a week 11am - 5pm. Public Holidays 1pm - 5pm.\r\n 'data-frontage=\"' + lotWidth + '\" ' +\r\n 'data-productCount=\"' + lotData.products.length + '\"';\r\n\r\n let productHTML = '';\r\n\r\n // If a land product does exist and is filtered replace generic head with land product head...\r\n // add a GTM id here to handle the (Select Item from Map) event which is supposed to happen on click on the thumbnail or more info button on map view (product-info__more, product-info__elevation)\r\n lotData.products.forEach(product => {\r\n if (product.type == 'Land') {\r\n var suffix = lotData.products.length > 1 ? productCount : '';\r\n var productDataHTML = 'data-product-name' + suffix + '=\"' + product.lotItem.name + '\" ' + 'data-type' + suffix + '=\"' + product.type + '\" ' +\r\n 'data-price' + suffix + '=\"' + product.price + '\" ' +\r\n 'data-bedrooms' + suffix + '=\"' + product.bedrooms + '\" ' +\r\n 'data-bathrooms' + suffix + '=\"' + product.bathrooms + '\" ' +\r\n 'data-car_spaces' + suffix + '=\"' + product.garageSpaces + '\" ' +\r\n 'data-stories' + suffix + '=\"' + product.storeys + '\" ' +\r\n 'data-product_id' + suffix + '=\"' + ExtractGUIDFromUrl(product.url) + '\" ' +\r\n 'data-builder' + suffix +'=\"' + product.builderName + '\"' ;\r\n\r\n productHTML = (\r\n '
' +\r\n '
' +\r\n '

' + product.priceDescription + '

' +\r\n '

' + product.name + '

' +\r\n '
' +\r\n (lotSize ? '
' + lotSize + '
' : '') +\r\n (lotWidth ? '
' + lotWidth + '
' : '') +\r\n '
' +\r\n '
' +\r\n 'More information' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n\r\n productCount++;\r\n }\r\n });\r\n\r\n\r\n lotData.products.forEach(product => {\r\n if (product.type != 'Land') {\r\n var suffix = lotData.products.length > 1 ? productCount : '';\r\n var productDataHTML = 'data-product-name' + suffix + '=\"' + product.lotItem.name + '\" ' + 'data-type' + suffix +'=\"' + product.type +\r\n '\" data-price' + suffix +'=\"' + product.price +\r\n '\" data-bedrooms' + suffix +'=\"' + product.bedrooms +\r\n '\" data-bathrooms' + suffix +'=\"' + product.bathrooms +\r\n '\" data-car_spaces' + suffix +'=\"' + product.garageSpaces+\r\n '\" data-stories' + suffix +'=\"' + product.storeys +\r\n '\" data-product_id' + suffix +'=\"' + ExtractGUIDFromUrl(product.url) +\r\n '\" data-builder' + suffix +'=\"' + product.builderName + '\"'\r\n\r\n // add a GTM id here to handle the (Select Item from Map) event which is supposed to happen on click on the thumbnail or more info button on map view (product-info__more, product-info__elevation)\r\n productHTML = productHTML.concat(\r\n '
' +\r\n '' +\r\n '' + product.priceDescription + '' +\r\n '
' + product.type + '
' +\r\n '
' +\r\n '\"'' +\r\n '

' + product.name + '

' +\r\n '
' +(product.bedrooms ? '
' + product.bedrooms + '
' : '') +\r\n (product.bathrooms ? '
' + product.bathrooms + '
' : '') +\r\n (product.garageSpaces ? '
' + product.garageSpaces + '
' : '') +\r\n (product.storeys ? '
' + product.storeys + '
' : '') +\r\n '
' +\r\n '
' +\r\n 'More information' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n\r\n productCount++;\r\n }\r\n });\r\n\r\n\r\n // Create final card html and return\r\n let cardHTML = (\r\n '
' +\r\n '
' +\r\n '
' +\r\n productHTML +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n\r\n return cardHTML;\r\n\r\n}\r\n\r\n// Google tag manager / analytics function...\r\nvar gtmEventViewToggle = function (value) {\r\n dataLayer.push({\r\n 'pageCatagory': 'product_search',\r\n 'event': 'view_mode_change',\r\n 'viewMode': value,\r\n })\r\n}\r\n\r\nvar gtmEventFilters = function (filterCriteria) { // (Interact with Filter) also in communities/index.js\r\n console.log(\"(interact with filter) function fired for product\");\r\n\r\n // Jacob from JaneLee would like to transfer available filter criteria to a string, hopefully less than 100 characters (GA4 hardlimit).\r\n var filterArray = [];\r\n filterArray.push(\"type:\" + ((filterCriteria.ProductTypes !== undefined) ? filterCriteria.ProductTypes.join(\"|\") : \"\"));\r\n filterArray.push(\"area:\" + filterCriteria.Area.join(\"-\"));\r\n filterArray.push(\"price:\" + filterCriteria.Price.join(\"-\"));\r\n filterArray.push(\"bed:\" + ((filterCriteria.Beds !== undefined) ? filterCriteria.Beds : \"\"));\r\n filterArray.push(\"bath:\" + ((filterCriteria.Baths !== undefined) ? filterCriteria.Baths : \"\"));\r\n filterArray.push(\"car:\" + ((filterCriteria.Carbays !== undefined) ? filterCriteria.Carbays : \"\"));\r\n \r\n var filter = filterArray.join(\",\");\r\n if (filter.length > 100) {\r\n filter.replace(\"House and Land\", \"HL\");\r\n }\r\n\r\n dataLayer.push({\r\n event: \"filter_interaction\",\r\n item_list_name: \"Lot List\",\r\n // filter_name: \"{{ name of filter }}\", // Bed\r\n // filter_value: \"{{ value selected in filter }}\", // 3\r\n filter: filter, // LeeJane agreed to complete current filter status\r\n items: gtmLots\r\n });\r\n}\r\n\r\n// for GTM event, a function to call for (PDF Download) \r\nexport var gtmEventPDFDownload = function (model, docType) {\r\n console.log(\"gtmEventPDFDownload fired\");\r\n\r\n var community = {\r\n name: model.EstateName || \"corporate\",\r\n region: model.Region,\r\n projectStatus: model.Availability\r\n };\r\n var lot = new Lot(\r\n model.Name,\r\n model.ProductType,\r\n model.LotArea,\r\n model.DisplayPrice,\r\n model.MarketingReleaseName,\r\n model.Bedrooms,\r\n model.Bathrooms,\r\n model.Garage,\r\n model.Storeys,\r\n model.ID,\r\n model.DisplaySuiteText,\r\n model.BuilderName,\r\n model.LotWidth\r\n );\r\n\r\n dataLayer.push({\r\n event: \"pdf_download\",\r\n community: community,\r\n lot: lot,\r\n filename: docType\r\n });\r\n}\r\n\r\nexport var gtmUpdateOrRegisteredInterest = function (projectGAInfo, productGAInfo, form) {\r\n console.log(\"gtmUpdateOrRegisteredInterest fired\");\r\n var community = {};\r\n var lot = {};\r\n var form = getFormData(form);\r\n \r\n if (projectGAInfo != null && projectGAInfo != undefined) {\r\n community.name = projectGAInfo.getAttribute(\"data-community-name\") || \"corporate\";\r\n community.region = projectGAInfo.getAttribute(\"data-community-region\");\r\n community.availability = projectGAInfo.getAttribute(\"data-community-availability\"); \r\n }\r\n\r\n if (productGAInfo != null && productGAInfo != undefined) {\r\n var product = productGAInfo.getAttribute(\"data-product\");\r\n var productJson = $.parseJSON(product);\r\n if (productJson != null && productJson != undefined) {\r\n lot.name = productJson.Name;\r\n lot.type = productJson.ProductType;\r\n lot.size = productJson.LotArea;\r\n lot.price = productJson.DisplayPrice;\r\n lot.stage = productJson.MarketingReleaseName;\r\n lot.bedrooms = productJson.Bedrooms;\r\n lot.bathrooms = productJson.Bathrooms;\r\n lot.car_spaces = productJson.Garage;\r\n lot.stories = productJson.Storeys;\r\n lot.product_id = productJson.ID;\r\n lot.open_times = productJson.DisplaySuiteText;\r\n lot.builder = productJson.BuilderName\r\n lot.frontage = productJson.LotWidth;\r\n }\r\n }\r\n\r\n dataLayer.push({\r\n event: \"form_submission_success\",\r\n form_type: \"Updates\",\r\n community: community, // if on a Community or Lot page or else undefined\r\n lot: lot, // if on a Lot page or else undefined\r\n postcode: form.postcode, // 3132\r\n suburb: form.suburb, // MITCHAM\r\n marketing: true, // or false - but in submitting the form they agree\r\n emailAddress: form.emailAddress,\r\n firstName: form.firstName,\r\n lastName: form.lastName,\r\n phoneNumber: form.phoneNUmber \r\n });\r\n}\r\n\r\n\r\nexport var gtmEnquiries = function (projectGAInfo, productGAInfo, form) {\r\n console.log(\"gtmEnquiries fired\");\r\n\r\n var form = getFormData(form);\r\n var community = {};\r\n var lot = {};\r\n\r\n if (projectGAInfo != null && projectGAInfo != undefined) {\r\n community.name = projectGAInfo.getAttribute(\"data-community-name\") || \"corporate\";\r\n community.region = projectGAInfo.getAttribute(\"data-community-region\");\r\n community.availability = projectGAInfo.getAttribute(\"data-community-availability\"); \r\n }\r\n\r\n if (productGAInfo != null && productGAInfo != undefined) {\r\n var product = productGAInfo.getAttribute(\"data-product\");\r\n var productJson = $.parseJSON(product);\r\n if (productJson != null && productJson != undefined) {\r\n lot.name = productJson.Name;\r\n lot.type = productJson.ProductType;\r\n lot.size = productJson.LotArea;\r\n lot.price = productJson.DisplayPrice;\r\n lot.stage = productJson.MarketingReleaseName;\r\n lot.bedrooms = productJson.Bedrooms;\r\n lot.bathrooms = productJson.Bathrooms;\r\n lot.car_spaces = productJson.Garage;\r\n lot.stories = productJson.Storeys;\r\n lot.product_id = productJson.ID;\r\n lot.open_times = productJson.DisplaySuiteText;\r\n lot.builder = productJson.BuilderName\r\n lot.frontage = productJson.LotWidth;\r\n }\r\n }\r\n\r\n dataLayer.push({\r\n event: \"form_submission_success\",\r\n form_type: \"Enquiry\",\r\n community: community, // if on a Community or Lot page or else undefined\r\n lot: lot, // if on a Lot page or else undefined\r\n postcode: form.postcode, // 3132\r\n suburb: form.suburb, // MITCHAM\r\n contact_time: form.bestContactTime,\r\n marketing: true, // or false - submiting form is taken as a true\r\n emailAddress: form.emailAddress,\r\n firstName: form.firstName,\r\n lastName: form.lastName,\r\n phoneNumber: form.phoneNumber\r\n });\r\n}\r\n\r\nexport var gtmContactUs = function (form) {\r\n console.log(\"gtmContactUs fired\");\r\n\r\n var form = getFormData(form);\r\n\r\n dataLayer.push({\r\n event: \"form_submission_success\",\r\n form_type: \"Contact Us\", \r\n postcode: form.postcode, // 3132\r\n suburb: form.suburb, // MITCHAM\r\n contact_time: form.bestContactTime,\r\n marketing: true, // or false - submitting form is taken as true\r\n emailAddress: form.emailAddress,\r\n firstName: form.firstName,\r\n lastName: form.lastName,\r\n phoneNumber: form.phoneNumber\r\n });\r\n}\r\n\r\nvar gtmViewLotList = function (data) { // (View Lot List) fired when list first viewed as I read the instructions\r\n // TODO open times\r\n\r\n console.log(\"fired (View Lot List) GA function\");\r\n\r\n var items = [];\r\n function item(itemguid = \"\", name = \"\", builder = \"\", community = {}, lot = {}) {\r\n this.item_id = itemguid; //data.product[] \r\n this.item_name = name;\r\n this.item_brand = builder;\r\n //this.community = community;\r\n //this.lot = lot;\r\n if (community !== null && community !== {}) {\r\n this.community_name = community.name;\r\n this.community_region = community.region;\r\n this.community_projectStatus = community.projectStatus;\r\n }\r\n\r\n if (lot !== null && lot !== {}) {\r\n this.lot_name = lot.name; \r\n this.lot_type = lot.type;\r\n this.lot_size = lot.size;\r\n this.lot_price = lot.price;\r\n this.lot_stage = lot.stage;\r\n this.lot_bedrooms = lot.bedrooms;\r\n this.lot_bathrooms = lot.bathrooms;\r\n this.lot_car_spaces = lot.car_spaces;\r\n this.lot_stories = lot.stories;\r\n this.lot_product_id = lot.product_id;\r\n this.lot_open_times = lot.open_times;\r\n this.lot_builder = lot.builder;\r\n this.lot_frontage = lot.frontage;\r\n\t\t}\r\n \r\n return this;\r\n }\r\n\r\n // note each lot may have more than one product, exclude those lots that are sold\r\n for (var i = 0; i < data.products.length; i++) {\r\n for (var j = 0; j < data.products[i].products.length; j++) {\r\n if (data.products[i].status != \"Sold\") {\r\n items.push(new item(\r\n ExtractGUIDFromUrl(data.products[i].products[j].url),\r\n data.products[i].products[j].name,\r\n data.products[i].products[j].builderName,\r\n FindCommunity(data),\r\n new Lot(data.products[i].name,\r\n data.products[i].products[j].type,\r\n data.products[i].lotSize,\r\n data.products[i].products[j].price,\r\n data.products[i].marketingReleaseName,\r\n data.products[i].products[j].bedrooms,\r\n data.products[i].products[j].bathrooms,\r\n data.products[i].products[j].garageSpaces,\r\n data.products[i].products[j].storeys,\r\n ExtractGUIDFromUrl(data.products[i].products[j].url),\r\n \"open times not available\",\r\n data.products[i].products[j].builderName,\r\n data.products[i].lotWidth)));\r\n }\r\n }\r\n }\r\n\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n event: \"view_item_list\",\r\n ecommerce: {\r\n item_list_name: \"Lot List\",\r\n items: items\r\n }\r\n });\r\n}\r\n\r\nfunction ExtractGUIDFromUrl(url) {\r\n if (Object.is(url, null)) return \"unknown\";\r\n // get stuff between {} and send it back\r\n var guid = url.substring(url.indexOf(\"{\") + 1, url.lastIndexOf(\"}\"));\r\n return guid;\r\n}\r\n\r\nfunction ExtractRegionFromUrl(url) {\r\n // given /communities/perth-and-wa/brabham/product-details?id={DA1E7CE0-5341-4A6D-982A-65DEE660B2EA}\r\n var region = url.substring(13, url.indexOf(\"/\", 14));\r\n return region;\r\n}\r\n\r\nfunction FindCommunity(data) {\r\n let community = {\r\n name: data.mainProject.name,\r\n region: data.mainProject.region,\r\n projectStatus: data.mainProject.availability\r\n };\r\n\r\n return community;\r\n}\r\n\r\n", "export default (updateSearch) => {\r\n Array.from(document.querySelectorAll('.product-search__filter-checkbox')).forEach((input) => {\r\n input.addEventListener('change', () => {\r\n updateSearch({ [input.name]: input.value }, input.checked ? 'APPEND' : 'REMOVE', input);\r\n });\r\n if (input.checked) {\r\n updateSearch({ [input.name]: input.value }, 'APPEND');\r\n }\r\n });\r\n Array.from(document.querySelectorAll('.releases-search__filter-checkbox')).forEach((input) => {\r\n input.addEventListener('change', () => {\r\n updateSearch({ [input.name]: input.value }, input.checked ? 'APPEND' : 'REMOVE', input);\r\n });\r\n if (input.checked) {\r\n updateSearch({ [input.name]: input.value }, 'APPEND');\r\n }\r\n });\r\n};\r\n", "export default (updateSearch) => {\r\n Array.from(document.querySelectorAll('.product-search__filter-hidden')).forEach((input) => {\r\n updateSearch({ [input.name]: input.value });\r\n });\r\n};\r\n", "import checkboxIcon from '../../icons/checkbox-icon';\r\nimport { initReleaseUI } from '../../releases';\r\n\r\nlet _visibleReleases; \r\nlet _updateSearch;\r\n\r\n\r\nexport const updateReleaseData = (releases, masterplan) => {\r\n \r\n let visibleReleases = masterplan.findReleases();\r\n let container = $('#release-types .property-types__options');\r\n\r\n if(container && _visibleReleases == null)\r\n {\r\n \r\n const selectedReleases = _getSelectedReleasesArray();\r\n const releasesList = _getAvailableReleases(releases, visibleReleases);\r\n const filterList = _filterList(releasesList, selectedReleases); \r\n const areAllSelected = _areAllSelected(filterList); \r\n const markUp = _getReleaseFilterMarkup(filterList);\r\n \r\n container.append(markUp);\r\n checkboxIcon();\r\n initReleaseCheckBox(_updateSearch);\r\n setTitle(filterList, areAllSelected); \r\n\r\n initReleaseUI();\r\n\r\n _visibleReleases = visibleReleases;\r\n }\r\n}\r\n\r\n\r\nexport default (updateSearch) => { \r\n _updateSearch = updateSearch;\r\n}\r\n\r\nconst initReleaseCheckBox = (updateSearch) => {\r\n\r\n\r\n //listen for the Select All check box\r\n let allCb = document.querySelector('.releases-search__filter-checkbox_all');\r\n let cbInputs = Array.from(document.querySelectorAll('.releases-search__filter-checkbox'));\r\n //console.log(allCb, cbInputs);\r\n \r\n const setAll = (value) => { \r\n cbInputs.forEach((i) => {\r\n //set all checkbox value without update\r\n updateSearch({ [i.name]: i.value }, value ? 'APPEND' : 'REMOVE');\r\n });\r\n };\r\n \r\n\r\n cbInputs.forEach((input) => {\r\n input.addEventListener('change', () => {\r\n\r\n cbInputs.forEach((cb) => {\r\n //on change set all non-selected checkbox values - to prevent the ui and js data getting out of sync\r\n if(cb.value != input.value) {\r\n updateSearch({ [cb.name]: cb.value }, cb.checked ? 'APPEND' : 'REMOVE'); \r\n }\r\n });\r\n\r\n //set the clicked checkbox and force search refresh\r\n updateSearch({ [input.name]: input.value }, input.checked ? 'APPEND' : 'REMOVE', input);\r\n });\r\n });\r\n\r\n\r\n \r\n if(allCb) {\r\n allCb.addEventListener('change', (i) => { \r\n\r\n setAll(false);\r\n //force search update with current values \r\n updateSearch(null,null, i.currentTarget);\r\n }); \r\n } \r\n\r\n //set init defaults\r\n cbInputs.forEach((i) => { \r\n updateSearch({ [i.name]: i.value }, i.checked ? 'APPEND' : 'REMOVE');\r\n });\r\n\r\n // trigger renew filter\r\n updateSearch(null,null, \".releases-search__filter-checkbox\");\r\n}; \r\n\r\n\r\n//private helpers -------------------------\r\n\r\n\r\nconst _getReleaseFilterMarkup = (releasesList) => {\r\n \r\n let areAllSelected = _areAllSelected(releasesList);\r\n let selectedCount = _selectedCount(releasesList);\r\n\r\n const markup = ` \r\n ${releasesList.map(r => ``).join('')}\r\n\r\n `;\r\n \r\n return markup;\r\n}\r\n\r\n//use only releases the business want to show\r\nconst _getAvailableReleases = (rawReleases, visibleReleases) => {\r\n let releasesList = [];\r\n for(let r of rawReleases)\r\n {\r\n if(_isVisibleRelease(visibleReleases, r)){\r\n releasesList.push(r);\r\n }\r\n }\r\n\r\n return releasesList;\r\n}\r\n\r\n\r\nconst _isVisibleRelease = (visibleReleases, release) => {\r\n if(visibleReleases && release)\r\n {\r\n for (let r of visibleReleases)\r\n {\r\n if(r.name == release.LotExclusivity) return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n//this is (sort of) a duplicate of updateLabelText in releases.js \r\nconst setTitle = (releasesList, areAllSelected) => {\r\n \r\n let selectedCount = _selectedCount(releasesList);\r\n\r\n let cbTitle = \"\";\r\n if (areAllSelected || selectedCount == 0)\r\n {\r\n cbTitle = \"Show All\";\r\n }\r\n else if (selectedCount > 1)\r\n {\r\n cbTitle = selectedCount + \" options selected\";\r\n }\r\n else if (selectedCount == 1)\r\n {\r\n let singleTitle = releasesList.filter(v => v.IsChecked)[0].Title;\r\n cbTitle = singleTitle;\r\n }\r\n\r\n $(\"#release-types-title\").text(cbTitle);\r\n}\r\n\r\nconst _filterList = (releasesList, selectedReleases) => {\r\n var noDuplicates = _removeDuplicates(releasesList, \"ExtraSearch\"); \r\n var filterList = [];\r\n\r\n for(let r of noDuplicates)\r\n {\r\n if(r.ExtraSearch == \"\") continue; \r\n \r\n let value = r.ReleaseDataName; //r.ExtraSearch.toLowerCase().replace(\" \",\"\");\r\n\r\n let isChecked = selectedReleases ? selectedReleases.indexOf(value) > -1 : false;\r\n\r\n\r\n let o = { Title : r.ExtraSearch, Value : value , IsChecked : isChecked };\r\n\r\n filterList.push(o);\r\n }\r\n\r\n return filterList;\r\n}\r\n\r\nconst _removeDuplicates = (myArr, prop) => {\r\n return myArr.filter((obj, pos, arr) => {\r\n return arr.map(mapObj => mapObj[prop]).indexOf(obj[prop]) === pos;\r\n });\r\n}\r\n\r\n\r\nconst _areAllSelected = (checkedItems) => {\r\n //find out if all the IsChecked properties are set to true; ie: are all checkboxes selected?\r\n if(checkedItems) {\r\n return checkedItems.every(v => v === true);\r\n }\r\n\r\n return false;\r\n}\r\n\r\nconst _checkedItems = (releasesList) => {\r\n return releasesList.map(r => r.IsChecked);\r\n}\r\n\r\nconst _selectedCount = (releasesList) => _checkedItems(releasesList).filter(v => v).length;\r\n\r\n\r\n//get selected from query string, passed through from C# \r\nconst _getSelectedReleasesArray = () => {\r\n let releaseTypesEle = document.querySelector('#release-types');\r\n let selectedReleases = \"\";\r\n\r\n if(releaseTypesEle)\r\n {\r\n let str = releaseTypesEle.getAttribute(\"data-selected-releases\");\r\n\r\n if(str){\r\n selectedReleases = str.split(\"|\");\r\n }\r\n }\r\n \r\n return selectedReleases;\r\n}", "export default (updateSearch) => {\r\n Array.from(document.querySelectorAll('.product-search__filter-select')).forEach((input) => {\r\n const selectedValue = () => {\r\n const options = input.children;\r\n if (options && options.length >= (input.selectedIndex + 1)) \r\n {\r\n const selected = options[input.selectedIndex];\r\n return selected && selected.value && selected.value !== 'Any' ? selected.value : false;\r\n }\r\n return false;\r\n };\r\n\r\n input.addEventListener('change', () => {\r\n updateSearch({ [input.name]: selectedValue() });\r\n });\r\n if (selectedValue()) {\r\n updateSearch({ [input.name]: selectedValue() });\r\n }\r\n });\r\n};\r\n", "export default (updateSearch) => {\r\n Array.from(document.querySelectorAll('.product-search__filter-search')).forEach((input) => {\r\n input.addEventListener('keyup', () => {\r\n updateSearch({ [input.name]: input.value });\r\n });\r\n if (input.value.length) {\r\n updateSearch({ [input.name]: input.value });\r\n }\r\n });\r\n};\r\n", "export rangeSlider from './rangeSlider';\r\nexport filterSelect from './filterSelect';\r\nexport filterCheckbox from './filterCheckbox';\r\nexport filterReleasesCheckbox from './filterReleasesCheckbox';\r\nexport filterHidden from './filterHidden';\r\nexport filterText from './filterText';\r\n", "import { noUiSlider } from '../../../lib';\r\n\r\nlet _updateSearch;\r\n\r\nexport default (updateSearch, sliderClass) => {\r\n _updateSearch = updateSearch;\r\n Array.from(document.querySelectorAll(sliderClass)).forEach((slider) => {\r\n const $slider = $(slider);\r\n const sliderName = $slider.attr('name') || new Date().toString();\r\n $slider.attr('name', sliderName);\r\n\r\n const stepValue = $slider.data('step') || 1;\r\n const marginValue = $slider.data('margin') || 1;\r\n let minValue = $slider.data('min') || 0;\r\n const maxValue = $slider.data('max') || 100;\r\n\r\n if (minValue >= maxValue)\r\n {\r\n minValue = 0;\r\n }\r\n\r\n const startMin = $slider.data('default-min') || minValue;\r\n const startMax = $slider.data('default-max') || maxValue;\r\n const start = [startMin, startMax];\r\n\r\n let $wrapper = $slider.closest('.product-search__filter-range-wrapper');\r\n if ($wrapper.length === 0) {\r\n $wrapper = $slider;\r\n }\r\n const $minValueLabel = $('.product-search__filter-range-value-min, .range-slider__value--min', $wrapper);\r\n const $maxValueLabel = $('.product-search__filter-range-value-max, .range-slider__value--max', $wrapper);\r\n\r\n const formatValue = (rawValue) => Math.floor(rawValue).toLocaleString();\r\n\r\n const rangeSlider = noUiSlider.create(slider, {\r\n start,\r\n connect: true,\r\n margin: marginValue,\r\n step: stepValue,\r\n range: {\r\n min: [minValue],\r\n max: [maxValue]\r\n }\r\n });\r\n\r\n rangeSlider.on('update', (values) => {\r\n $minValueLabel.find('span').text(formatValue(values[0]));\r\n $minValueLabel.find('input').val(parseInt(values[0], 10));\r\n $maxValueLabel.find('span').text(formatValue(values[1]));\r\n $maxValueLabel.find('input').val(parseInt(values[1], 10));\r\n });\r\n\r\n if (sliderName && updateSearch) {\r\n rangeSlider.on('change', (values) => {\r\n updateSearch({ [sliderName]: values.map(Math.floor) });\r\n });\r\n\r\n updateSearch({ [sliderName]: start });\r\n }\r\n });\r\n};\r\n\r\n//update criteria == false will prevent duplicate calls masterplan web services\r\nexport const updateSliderOptions = (name, options, updateCriteria ) => {\r\n const slider = document.querySelector(`.product-search__filter-range-slider[name=\"${name}\"]`);\r\n if (slider && slider.noUiSlider) {\r\n const existingOptions = slider.noUiSlider.options;\r\n slider.noUiSlider.updateOptions({ ...existingOptions, ...options });\r\n \r\n if(updateCriteria === true)\r\n {\r\n //console.log(\"2 updateSliderOptions\");\r\n _updateSearch({ [name]: options.start });\r\n }\r\n }\r\n};\r\n\r\n\r\n// helper ----------------------------------------------------------------------------------\r\n// todo: convert to private\r\nexport const getRangeConfig = (key, products) => {\r\n const range = products.filter(product => product[key]).reduce((collection, product) => ({\r\n min: Math.min(collection.min, Math.floor(product[key])),\r\n max: Math.max(collection.max, Math.ceil(product[key]))\r\n }), { min: Infinity, max: 0 });\r\n\r\n if (range.min === range.max) {\r\n range.min -= 10;\r\n range.max += 10;\r\n }\r\n\r\n return {\r\n start: [range.min, range.max],\r\n step: 1,\r\n margin: 1,\r\n range: {\r\n min: [range.min],\r\n max: [range.max]\r\n }\r\n };\r\n};", "import { h, render } from 'preact'; // eslint-disable-line no-unused-vars\r\nimport { ProductCard, ProductEmptyState } from './cards/Product';\r\n\r\nexport function renderProductCards(wrapper, lots, projectName) {\r\n document.getElementById(wrapper).innerHTML = '';\r\n var products = [];\r\n\r\n lots.forEach(lot => {\r\n if (lot.status.toLowerCase() !== \"sold\") {\r\n lot.products.forEach(product => {\r\n product.lotItem = lot;\r\n products.push(product); \r\n });\r\n } \r\n });\r\n\r\n if (products.length == 0) {\r\n const productEmptyState = ;\r\n render(productEmptyState, document.getElementById(wrapper));\r\n }\r\n else {\r\n // Sort the products by price\r\n products.sort((a, b) => a.price - b.price);\r\n products.forEach(product => {\r\n const productCards = \r\n render(productCards, document.getElementById(wrapper));\r\n });\r\n }\r\n}", "import { loggedIn } from '../../lib';\r\nimport { showLightbox } from '../lightbox';\r\n\r\nexport default () => {\r\n Array.from(document.querySelectorAll('[data-save-product]')).forEach((button) => {\r\n button.addEventListener('click', (e) => {\r\n if (loggedIn()) {\r\n e.preventDefault();\r\n $.post('/Product/UpdateFavouriteProducts', {\r\n productID: button.getAttribute('data-save-product'),\r\n state: true\r\n },\r\n () => {\r\n window.location = button.href;\r\n });\r\n }\r\n else {\r\n showLightbox('Login to save and compare', 'login');\r\n }\r\n });\r\n });\r\n};\r\n", "\r\nexport const initReleaseUI = () => {\r\n \r\n Array.from(document.querySelectorAll('.release-types')).forEach((propertyTypes) => {\r\n //console.log('.release-types', this);\r\n const allPropertyTypesInput = propertyTypes.querySelector('[value=\"All\"]');\r\n const propertyTypesLabel = propertyTypes.querySelector('label');\r\n\r\n const selectedPropertyTypes = () => (\r\n propertyTypes.querySelectorAll('[name^=\"Releases\"]:checked')\r\n );\r\n\r\n const resetFilters = () => {\r\n Array.from(propertyTypes.querySelectorAll('[name^=\"Releases\"]')).forEach((input) => {\r\n input.checked = (input === allPropertyTypesInput); // eslint-disable-line no-param-reassign\r\n });\r\n };\r\n\r\n const updateLabelText = () => {\r\n if (allPropertyTypesInput.checked) {\r\n propertyTypesLabel.innerText = 'Show All';\r\n }\r\n else {\r\n const selectedTypes = selectedPropertyTypes();\r\n if (selectedTypes.length === 1) {\r\n propertyTypesLabel.innerText = $(selectedTypes[0]).nextAll('label').text();\r\n }\r\n else {\r\n propertyTypesLabel.innerText = `${selectedTypes.length} options selected`;\r\n }\r\n }\r\n };\r\n\r\n Array.from(propertyTypes.querySelectorAll('[name^=\"Releases\"]')).forEach((input) => {\r\n const $input = $(input);\r\n // Prevent the double-firing bug as the label and input respond to the same click\r\n $input.parent().on('click', (e) => {\r\n e.stopPropagation();\r\n });\r\n $input.on('change', () => {\r\n //console.log(\"change: releases\");\r\n if (input === allPropertyTypesInput || selectedPropertyTypes().length === 0) {\r\n resetFilters();\r\n }\r\n else {\r\n allPropertyTypesInput.checked = false;\r\n }\r\n updateLabelText();\r\n });\r\n });\r\n });\r\n};\r\n", "import { loggedIn } from '../lib';\r\n\r\nexport default () => {\r\n const t = {\r\n SMALL: 3,\r\n MEDIUM: 4,\r\n LARGE: 5\r\n };\r\n\r\n const calculateProductSize = (numberOfProducts) => {\r\n if (numberOfProducts > t.MEDIUM) {\r\n return t.SMALL;\r\n }\r\n else if (numberOfProducts < t.MEDIUM) {\r\n return t.LARGE;\r\n }\r\n return t.MEDIUM;\r\n };\r\n\r\n $('.owl-carousel.saved-products').each((index, carousel) => {\r\n const $carousel = $(carousel);\r\n const $products = $('.saved-product', $carousel);\r\n const numberOfProducts = $products.length;\r\n const productSize = calculateProductSize(numberOfProducts);\r\n $carousel.addClass(`saved-products__${numberOfProducts}-col`);\r\n $carousel.owlCarousel({\r\n items: 1,\r\n loop: false,\r\n margin: 20,\r\n nav: true,\r\n navText: ['', ''],\r\n stagePadding: 10,\r\n dotsEach: 1,\r\n responsiveRefreshRate: 10,\r\n responsive: {\r\n 0: {\r\n margin: 20,\r\n stagePadding: 40\r\n },\r\n 375: {\r\n margin: 20,\r\n stagePadding: 50\r\n },\r\n 480: {\r\n items: productSize > t.MEDIUM ? 1 : 2,\r\n stagePadding: 12\r\n },\r\n 840: {\r\n items: productSize > t.MEDIUM ? 2 : 3\r\n },\r\n 1025: {\r\n items: productSize > t.SMALL ? numberOfProducts : 4\r\n },\r\n 1280: {\r\n items: Math.min(numberOfProducts, 5)\r\n }\r\n }\r\n });\r\n });\r\n};\r\n\r\nexport const setSavedProductsCount = (numberOfSavedProducts) => {\r\n if (loggedIn()) {\r\n $('.user-menu__saved').text(numberOfSavedProducts);\r\n }\r\n};\r\n", "export default () => {\r\n Array.from(document.querySelectorAll('select:not(.estate-picker)')).forEach((select) => {\r\n select.addEventListener('change', () => {\r\n // console.log(\"change: select\");\r\n const value = select.previousElementSibling;\r\n const options = select.children;\r\n if (options && options.length >= (select.selectedIndex + 1)) {\r\n value.textContent = options[select.selectedIndex].textContent;\r\n }\r\n });\r\n });\r\n};\r\n", "export default () => {\r\n const toggleButton = $('.rtl-nav-toggle');\r\n const sideNav = $('.mdl-layout__drawer--rtl');\r\n const obfuscator = $('
').appendTo('.mdl-layout');\r\n const closeButtons = $('.mdl-layout__title .material-icons');\r\n\r\n let state = false;\r\n\r\n const toggleNav = () => {\r\n state = !state;\r\n obfuscator.toggleClass('is-visible', state);\r\n sideNav.toggleClass('is-visible', state);\r\n };\r\n\r\n toggleButton.on('click', toggleNav);\r\n obfuscator.on('click', toggleNav);\r\n closeButtons.on('click', () => {\r\n $('.mdl-layout__obfuscator.is-visible').click();\r\n });\r\n};\r\n", "import cookies from 'js-cookie';\r\nimport activateForm from './forms/activateForm';\r\nimport resetForm from './forms/resetForm';\r\n\r\nconst stickies = {};\r\nlet register;\r\nlet show;\r\nlet hide;\r\n\r\nconst initialize = () => {\r\n if (!register) {\r\n // Create reusable elements\r\n const $layout = $('.mdl-layout');\r\n const $sticky = $('
').appendTo($layout);\r\n const $stickyCloseButton = $('
Close
').appendTo($sticky);\r\n const $stickyTitle = $('

').appendTo($sticky);\r\n const $stickyContent = $('
').appendTo($sticky);\r\n const $scrollContainer = $('.mdl-layout__content');\r\n\r\n register = (sticky) => {\r\n const delay = sticky.getAttribute('delay') * 1000;\r\n stickies[sticky.getAttribute('id')] = $(sticky).remove();\r\n if (!delay) {\r\n return;\r\n }\r\n setTimeout(() => {\r\n if (!cookies.get('footer-cta-closed')) {\r\n show(sticky.getAttribute('title'), sticky.getAttribute('id'));\r\n }\r\n }, delay);\r\n // $scrollContainer.on('scroll.showSticky', ({ target: scrollContainer }) => {\r\n // if (scrollContainer.scrollTop > 0 && !cookies.get('footer-cta-closed')) {\r\n // show(sticky.getAttribute('title'), sticky.getAttribute('id'));\r\n // $scrollContainer.off('scroll.showSticky');\r\n // }\r\n // });\r\n };\r\n\r\n show = (title, stickyId) => {\r\n let $content;\r\n if (typeof stickyId !== 'undefined') {\r\n $content = stickies[stickyId].clone(true, true);\r\n $content.appendTo($stickyContent.empty());\r\n activateForm($('.form', $content));\r\n }\r\n if (typeof title !== 'undefined') {\r\n $stickyTitle.text(title);\r\n }\r\n $sticky.removeClass('initializing');\r\n $sticky.addClass('sticky--active');\r\n return $content;\r\n };\r\n\r\n hide = () => {\r\n $sticky.removeClass('sticky--active');\r\n resetForm($('form', $sticky));\r\n cookies.set('footer-cta-closed', (new Date()).getTime());\r\n };\r\n\r\n // Add default click handlers\r\n $stickyCloseButton.on('click', hide);\r\n\r\n // Automatically register stickies\r\n Array.from(document.getElementsByTagName('Sticky')).forEach(register);\r\n }\r\n return { show, hide, register };\r\n};\r\n\r\nexport default initialize;\r\nexport const showSticky = (title, stickyId) => {\r\n initialize().show(title, stickyId);\r\n};\r\nexport const hideSticky = () => {\r\n initialize().hide();\r\n};\r\n", "\r\nexport default ($input) => {\r\n $input.autocomplete({\r\n titleKey: 'title',\r\n valueKey: 'value',\r\n source:[\r\n function( q,add ){\r\n \r\n if(q.length == 4){\r\n $.ajax({\r\n url: \"/Locality/Search?q=\"+encodeURIComponent(q),\r\n dataType: 'json',\r\n async: false,\r\n \r\n success: function(resp) {\r\n var collection = [];\r\n \r\n resp.forEach(function (item) {\r\n collection.push({ title: item.postcode + \" (\" + item.title + \", \" + item.state + \")\", value: item.postcode, suburb: item.title, state: item.state });\r\n });\r\n //console.log(\"x\", collection.length)\r\n add(collection)\r\n }\r\n });\r\n }\r\n }\r\n ],\r\n valid: ({ title, value }, query) => (\r\n query != \"\" && value.indexOf(query) === 0\r\n ),\r\n filter: function filter(items, query) \r\n {\r\n \r\n\r\n return items.reduce((collection, item) => {\r\n if (this.valid(item, query)) {\r\n collection.push(item);\r\n }\r\n\r\n\r\n //remove duplicates because this library wont let us replace items (only add) after ajax load\r\n return collection.filter((obj, pos, arr) => {\r\n return arr.map(mapObj => mapObj[\"title\"]).indexOf(obj[\"title\"]) === pos;\r\n });\r\n }, []);\r\n \r\n },\r\n minLength: 1,\r\n visibleLimit: 5.4,\r\n autoselect: true,\r\n showHint:false,\r\n limit: 101\r\n }).on('selected.xdsoft', (e, { suburb, state }) => {\r\n\r\n var form = $input.closest('form');\r\n let suburbElement = form.find('input[name=\"suburb\"]')[0];\r\n suburbElement.value = suburb;\r\n suburbElement.dispatchEvent(new Event('change', { bubbles: true }));\r\n $(\".suburb-foot\", form).text(suburb + \", \" + state); \r\n });\r\n return $input;\r\n};\r\n\r\n", "export default (baseClass) => {\r\n function addTab() {\r\n let parent = $(this);\r\n let tabBtns = $(baseClass + '__tab', parent);\r\n let tabBodies = $(baseClass + '__body', parent);\r\n let tabAccBodies = $(baseClass + '__accordion-body', parent);\r\n let oClass = 'is-open';\r\n\r\n function toggleTab(e) {\r\n e.preventDefault();\r\n let self = $(this);\r\n let target = $(self.attr('href'));\r\n\r\n let targetAccord = null;\r\n for (let i = 0; i < this.childNodes.length; i++) {\r\n if (this.childNodes[i].className === baseClass.substring(1) + '__accordion-body') {\r\n targetAccord = $(this.childNodes[i]);\r\n break;\r\n }\r\n }\r\n\r\n tabBtns.not(self).removeClass(oClass);\r\n tabBtns.not(self).attr('aria-expanded', 'false');\r\n self.addClass(oClass);\r\n self.attr('aria-expanded', 'true');\r\n\r\n tabBodies\r\n .not(target)\r\n .removeClass(oClass)\r\n .hide();\r\n target.addClass(oClass).fadeIn();\r\n \r\n if (screen.width < 480) {\r\n targetAccord.addClass(oClass).fadeIn();\r\n }\r\n tabAccBodies\r\n .not(targetAccord)\r\n .removeClass(oClass)\r\n .hide();\r\n }\r\n\r\n tabBodies.not('.' + oClass).fadeOut();\r\n tabAccBodies.not('.' + oClass).fadeOut();\r\n tabBtns.on('click', toggleTab);\r\n }\r\n\r\n $(baseClass).each(addTab);\r\n};\r\n", "export default () => {\r\n function isPageEditor() {\r\n return !!(typeof Sitecore !== 'undefined' && Sitecore && Sitecore.PageModes && Sitecore.PageModes.PageEditor);\r\n }\r\n\r\n const t = {\r\n XXLARGE: 1,\r\n XLARGE: 2,\r\n LARGE: 3,\r\n MEDIUM: 4,\r\n SMALL: 5\r\n };\r\n\r\n const calculateTileSize = (numberOfTiles) => (numberOfTiles >= t.SMALL ? t.SMALL : numberOfTiles);\r\n\r\n const tileConfig = (numberOfTiles, comparison, extra) => {\r\n const tileSize = calculateTileSize(numberOfTiles);\r\n return {\r\n items: tileSize < comparison ? numberOfTiles : comparison,\r\n nav: tileSize > comparison,\r\n stagePadding: tileSize > comparison ? 50 : 0,\r\n mouseDrag: tileSize > comparison,\r\n touchDrag: tileSize > comparison,\r\n ...extra\r\n };\r\n };\r\n\r\n $('.owl-carousel.tiles').each((index, tiles) => {\r\n const $tiles = $(tiles);\r\n const numberOfTiles = $('.tile', $tiles).length;\r\n $tiles.addClass(`tiles__${numberOfTiles}-col`);\r\n $tiles.owlCarousel({\r\n items: 1,\r\n loop: false,\r\n margin: 20,\r\n nav: true,\r\n navText: ['', ''],\r\n stagePadding: 0,\r\n autoWidth: isPageEditor(),\r\n onResized: () => {\r\n $tiles.trigger('refresh.owl.carousel');\r\n },\r\n responsiveRefreshRate: 10,\r\n responsive: {\r\n 0: tileConfig(numberOfTiles, t.XXLARGE, { margin: 0 }),\r\n 375: tileConfig(numberOfTiles, t.XXLARGE, { margin: 0 }),\r\n 480: tileConfig(numberOfTiles, t.XLARGE),\r\n 840: tileConfig(numberOfTiles, t.LARGE),\r\n 1025: tileConfig(numberOfTiles, t.MEDIUM),\r\n 1280: tileConfig(numberOfTiles, t.SMALL)\r\n }\r\n });\r\n });\r\n};\r\n", "export const trackGoal = (el = null, goalString = null) => {\r\n const goalname = el ? el.dataset.goalTrigger : goalString;\r\n const goalURL = `/~/media/PEET/Goals/pixel?sc_trk=${goalname}&marker=${Date.now()}`;\r\n $.get(goalURL);\r\n};\r\n\r\nexport const registerTrackingHandlers = () => {\r\n $('a[title=\"Share with friends\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Share with friends\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Connect on Facebook\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Connect on YouTube\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Connect on LinkedIn\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Connect on Instagram\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Contact Shorehaven mobile\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Contact Shorehaven phone\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('.mdl-button.mdl-js-button.mdl-button--raised.mdl-button--colored').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('.contact__phonenumbers a[href*=\"mailto\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[href*=\"tel\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('a[title=\"Share with friends\"]').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('.product__downloads-link').click(function handleClickTrack(e) { trackGoal(this); });\r\n $('.product__share-icon.connect__link').click(function handleClickTrack(e) { trackGoal(this); });\r\n\r\n // GTM click registrations\r\n $('a[title=\"Share with friends\"]').click(function handleClickTrack(e) { gtmShareWithFriends(this); }); // GTM (Share with Friends)\r\n $('a[title=\"Save and compare\"]').click(function handleClickTrack(e) { gtmSaveAndCompare(this); }); // GTM (Save and Compare)\r\n $('form[name=\"estate-hero-search\"]').find(':submit').click(function handleClickTrack(e) { gtmLotSearch(this); }); // GTM (Lot Search) to send filter details and community object when estate-hero-search form submitted\r\n // $('.carousel-wrapper').click(function handleClickTrack(e) { gtmClickOnBannerCTA(this); }); // GTM (Click on Banner/CTA) this is the entire banner which isn't what they want\r\n // the carousel-item__cta doesn't load immediately so we're attaching it when the banner is clicked \r\n $('.carousel-wrapper').on('click', '.carousel-item__cta', function handleClickTrack(e) { gtmClickOnBannerCTA(this); }); // GTM (Click on Banner/CTA)\r\n \r\n};\r\n\r\n// GTM (Share with Friends)\r\nexport const gtmShareWithFriends = (el = null) => {\r\n var community = {};\r\n var lot = {};\r\n var projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n var productGAInfo = document.getElementById(\"productGAinfo\");\r\n console.log('gtmShareWithFriends fired');\r\n\r\n\r\n if (projectGAInfo != null && projectGAInfo != undefined) {\r\n community.name = projectGAInfo.getAttribute(\"data-community-name\") || \"corporate\";\r\n community.region = projectGAInfo.getAttribute(\"data-community-region\");\r\n community.availability = projectGAInfo.getAttribute(\"data-community-availability\");\r\n }\r\n\r\n if (productGAInfo != null && productGAInfo != undefined) {\r\n var product = productGAInfo.getAttribute(\"data-product\");\r\n var productJson = $.parseJSON(product);\r\n if (productJson != null && productJson != undefined) {\r\n lot.name = productJson.Name;\r\n lot.type = productJson.ProductType;\r\n lot.size = productJson.LotArea;\r\n lot.price = productJson.DisplayPrice;\r\n lot.stage = productJson.MarketingReleaseName;\r\n lot.bedrooms = productJson.Bedrooms;\r\n lot.bathrooms = productJson.Bathrooms;\r\n lot.car_spaces = productJson.Garage;\r\n lot.stories = productJson.Storeys;\r\n lot.product_id = productJson.ID;\r\n lot.open_times = productJson.DisplaySuiteText;\r\n lot.builder = productJson.BuilderName\r\n lot.frontage = productJson.LotWidth;\r\n }\r\n }\r\n\r\n dataLayer.push({\r\n event: 'social_share',\r\n community: community,\r\n lot: lot\r\n });\r\n};\r\n\r\n// GTM (Save and compare)\r\nexport const gtmSaveAndCompare = (el = null) => {\r\n var community = {};\r\n var lot = {};\r\n var projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n var productGAInfo = document.getElementById(\"productGAinfo\");\r\n\r\n console.log('gtmSaveAndCompare fired');\r\n\r\n if (projectGAInfo != null && projectGAInfo != undefined) {\r\n community.name = projectGAInfo.getAttribute(\"data-community-name\");\r\n community.region = projectGAInfo.getAttribute(\"data-community-region\");\r\n community.availability = projectGAInfo.getAttribute(\"data-community-availability\");\r\n }\r\n\r\n if (productGAInfo != null && productGAInfo != undefined) {\r\n var product = productGAInfo.getAttribute(\"data-product\");\r\n var productJson = $.parseJSON(product);\r\n if (productJson != null && productJson != undefined) {\r\n lot.name = productJson.Name;\r\n lot.type = productJson.ProductType;\r\n lot.size = productJson.LotArea;\r\n lot.price = productJson.DisplayPrice;\r\n lot.stage = productJson.MarketingReleaseName;\r\n lot.bedrooms = productJson.Bedrooms;\r\n lot.bathrooms = productJson.Bathrooms;\r\n lot.car_spaces = productJson.Garage;\r\n lot.stories = productJson.Storeys;\r\n lot.product_id = productJson.ID;\r\n lot.open_times = productJson.DisplaySuiteText;\r\n lot.builder = productJson.BuilderName;\r\n lot.frontage = productJson.LotWidth;\r\n }\r\n }\r\n\r\n dataLayer.push({\r\n event: 'save_and_compare',\r\n community: community,\r\n lot: lot\r\n });\r\n};\r\n\r\n// GTM (Lot Search)\r\nexport const gtmLotSearch = (el = null) => {\r\n console.log('gtmLotSearch fired');\r\n let community = {};\r\n let projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n \r\n if (projectGAInfo != null && projectGAInfo != undefined) {\r\n community.name = projectGAInfo.getAttribute(\"data-community-name\") || \"corporate\";\r\n community.region = projectGAInfo.getAttribute(\"data-community-region\");\r\n community.availability = projectGAInfo.getAttribute(\"data-community-availability\");\r\n }\r\n\r\n let count = 9; // In case we can't get an exact count of how many choices there are we'll assume a not rediculous number.\r\n let countPropertyTypes = document.querySelectorAll('.form__control-group--property-type');\r\n if (countPropertyTypes !== undefined || countPropertyTypes !== null) {\r\n count = countPropertyTypes.length;\r\n } \r\n let propertyTypes = [];\r\n for (var i = 0; i < count; i++) {\r\n let checkedElement = 'PropertyTypes_' + i + '__IsChecked';\r\n let valueElement = 'PropertyTypes_' + i + '__Value';\r\n if (el.form.elements[checkedElement] !== undefined) {\r\n let checkedState = el.form.elements[checkedElement].checked;\r\n let value = el.form.elements[valueElement].value;\r\n let type = {\r\n \"checked\": checkedState,\r\n \"value\": value\r\n };\r\n propertyTypes.push(type);\r\n }\r\n }\r\n\r\n let string = '';\r\n for (const item of propertyTypes) {\r\n if (item.checked || el.form.elements['PropertyTypes'].checked) {\r\n if (string.length > 0) {\r\n string += \"|\";\r\n }\r\n string += item.value;\r\n }\r\n }\r\n\r\n dataLayer.push({\r\n event: 'lot_search',\r\n community: community,\r\n property_types: string, // eg: All property types, sourced from property-types\r\n min_price: parseInt(el.form.elements['MinPrice'].value), // 129900 (int not string)\r\n max_price: parseInt(el.form.elements['MaxPrice'].value) // 549900 (int not string)\r\n });\r\n};\r\n\r\n// GTM (Click on Banner/CTA)\r\nexport const gtmClickOnBannerCTA = (el = null) => {\r\n console.log('gtmClickOnBannerCTA fired');\r\n\r\n let community = {};\r\n let projectGAInfo = document.getElementById(\"ProjectGAInfo\");\r\n\r\n if (projectGAInfo != null && projectGAInfo != undefined) {\r\n community.name = projectGAInfo.getAttribute(\"data-community-name\") || \"corporate\";\r\n community.region = projectGAInfo.getAttribute(\"data-community-region\");\r\n community.availability = projectGAInfo.getAttribute(\"data-community-availability\");\r\n } else {\r\n community.name = \"corporate\";\r\n community.region = \"\";\r\n community.availability = \"\";\r\n }\r\n\r\n dataLayer.push({\r\n event: 'click_cta',\r\n community: community,\r\n promotion_name: $('.carousel-controller__data > .carousel-item__title')[0].textContent, // '{{ name of promotion }}', // The Future is Brabham\r\n cta_text: $('.carousel-controller__data > .carousel-item__cta')[0].innerText // '{{ text on CTA }}' // Discover our living options\r\n });\r\n};\r\n", "export default () => {\r\n const options = (config = {}, defaultLines = 1) => {\r\n let numberOfLines = defaultLines;\r\n const breakpoints = Object.keys(config).map((width) => parseInt(width, 10));\r\n const windowWidth = $(window).width();\r\n breakpoints.forEach((breakpoint) => {\r\n numberOfLines = (breakpoint <= windowWidth) ? config[breakpoint] : numberOfLines;\r\n });\r\n return { lines: numberOfLines };\r\n };\r\n const truncate = () => {\r\n $('.card-carousel h4').trunk8(options({ 320: 2, 840: 3, 1025: 3, 1280: 2 }));\r\n };\r\n\r\n $(window).on('resize', truncate).trigger('resize');\r\n};\r\n", "export const getQueryStringValueByName = (name, url = window.location.href) => {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n};\r\n\r\nexport const getDocumentFilterValueByName = (name) => {\r\n return document.getElementsByName(name).length && document.getElementsByName(name)[0].value;\r\n};", "import { showLightbox } from './lightbox';\r\n\r\nconst getYoutubeVideoId = url => {\r\n console.log(\"getYoutubeVideoId\");\r\n const regExp = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\r\n const match = url.match(regExp);\r\n\r\n\r\n if (match && match[2].length === 11) { \r\n return match[2];\r\n }\r\n return 'error'; \r\n};\r\n\r\nconst showVideoLightbox = url => {\r\n var videoId = getYoutubeVideoId(url);\r\n var embedLink = \"https://www.youtube.com/embed/\" + videoId;\r\n // console.log(\"showVideoLightbox\" + embedLink);\r\n showLightbox(null, 'lightboxVideo', { url: embedLink }); \r\n};\r\n\r\nexport default () => {\r\n //console.log(\"video default\");\r\n $('a.lightboxVideo').click(function handleClickVideo(e) {\r\n e.preventDefault();\r\n showVideoLightbox(this.href);\r\n });\r\n\r\n $('div.lightboxVideo').click(function handleClickVideo(e) {\r\n \r\n e.preventDefault();\r\n showVideoLightbox(this.attributes[1].nodeValue);\r\n });\r\n};\r\n", "export const FACEBOOK_ID__MEERKATS_STAGING = '725576127598110';\r\nexport const FACEBOOK_ID__MEERKATS_DEV = '1244816268918760';\r\nexport const FACEBOOK_ID__IGNIA_DEV = 289434864860446; //'690430101131029';\r\nexport const FACEBOOK_ID__PEET = '289434864860446';\r\n", "import peetLogo from './components/icons/peet-logo';\r\nimport mirvacLogo from './components/icons/mirvac-logo';\r\nimport areaIcon from './components/icons/area-icon';\r\nimport bathsIcon from './components/icons/baths-icon';\r\nimport bedsIcon from './components/icons/beds-icon';\r\nimport carsIcon from './components/icons/cars-icon';\r\nimport sizeIcon from './components/icons/size-icon';\r\nimport displayPin from './components/icons/display-pin';\r\nimport emailCircleIcon from './components/icons/email-circle-icon';\r\nimport facebookCircleIcon from './components/icons/facebook-circle-icon';\r\nimport facebookYouTubeCircleIcon from './components/icons/facebook-youtube-circle-icon';\r\nimport twitterCircleIcon from './components/icons/twitter-circle-icon';\r\nimport shareCircleIcon from './components/icons/share-circle-icon';\r\nimport saveCircleIcon from './components/icons/save-circle-icon';\r\nimport facebookSquareIcon from './components/icons/facebook-square-icon';\r\nimport communityIcon from './components/icons/community-icon';\r\nimport childcareIcon from './components/icons/childcare-icon';\r\nimport trainsIcon from './components/icons/trains-icon'; \r\nimport shoppingIcon from './components/icons/shopping-icon';\r\nimport sportIcon from './components/icons/sport-icon';\r\nimport schoolIcon from './components/icons/school-icon';\r\nimport instagramIcon from './components/icons/instagram-icon';\r\nimport twitterIcon from './components/icons/twitter-icon';\r\nimport facebookIcon from './components/icons/facebook-icon';\r\nimport favouriteIcon from './components/icons/favourite-icon';\r\nimport checkboxIcon from './components/icons/checkbox-icon';\r\nimport levelIcon from './components/icons/level-icon';\r\nimport arrowIcon from './components/icons/arrow-icon';\r\nimport closeIcon from './components/icons/close-icon';\r\nimport emailIcon from './components/icons/email-icon';\r\nimport visitIcon from './components/icons/visit-icon';\r\nimport chatIcon from './components/icons/chat-icon';\r\nimport callIcon from './components/icons/call-icon';\r\nimport pinIcon from './components/icons/pin-icon';\r\nimport searchIcon from './components/icons/search-icon';\r\nimport removeIcon from './components/icons/remove-icon';\r\nimport pdfIcon from './components/icons/pdf-icon';\r\nimport socialIconInsta from './components/icons/social-icon-instagram';\r\nimport socialIconFacebook from './components/icons/social-icon-facebook';\r\nimport socialIconLinkedIn from './components/icons/social-icon-linkedin';\r\nimport socialIconYouTube from './components/icons/social-icon-youtube';\r\n\r\n$(() => {\r\n mirvacLogo(); \r\n peetLogo();\r\n areaIcon();\r\n bathsIcon();\r\n bedsIcon();\r\n carsIcon();\r\n sizeIcon();\r\n displayPin();\r\n emailCircleIcon();\r\n facebookCircleIcon();\r\n facebookYouTubeCircleIcon();\r\n twitterCircleIcon();\r\n shareCircleIcon();\r\n saveCircleIcon();\r\n facebookSquareIcon();\r\n communityIcon();\r\n childcareIcon();\r\n trainsIcon();\r\n shoppingIcon();\r\n sportIcon();\r\n schoolIcon();\r\n instagramIcon();\r\n twitterIcon();\r\n favouriteIcon();\r\n checkboxIcon();\r\n levelIcon();\r\n arrowIcon();\r\n closeIcon();\r\n emailIcon();\r\n facebookIcon();\r\n visitIcon();\r\n chatIcon();\r\n callIcon();\r\n pinIcon();\r\n searchIcon();\r\n removeIcon();\r\n pdfIcon();\r\n socialIconInsta();\r\n socialIconFacebook();\r\n socialIconLinkedIn();\r\n socialIconYouTube();\r\n});\r\n", "import 'babel-polyfill';\r\nimport { $, Masonry, imagesLoaded } from './lib';\r\n\r\nimport layout from './components/layout';\r\nimport cards from './components/cards';\r\nimport carousel from './components/carousel';\r\nimport cardCarousel from './components/card-carousel';\r\nimport savedProducts from './components/savedProducts';\r\nimport tiles from './components/tiles';\r\nimport sidenav from './components/sidenav';\r\nimport lightbox from './components/lightbox';\r\nimport sticky from './components/sticky';\r\nimport select from './components/select';\r\nimport truncate from './components/truncate';\r\nimport maps from './components/maps';\r\nimport productTypes from './components/productTypes';\r\nimport form from './components/form';\r\nimport autocomplete from './components/autocomplete';\r\nimport login from './components/login';\r\nimport estates from './components/estates';\r\nimport { activateProducts } from './components/product';\r\nimport { initialize as fbInit } from './components/facebook';\r\nimport estatePicker from './components/estatePicker';\r\nimport videos from './components/videos';\r\nimport { registerTrackingHandlers } from './components/tracking';\r\nimport tabs from './components/tabs';\r\nimport rangeSlider from './components/products/inputs/rangeSlider';\r\n// Imports for new lot map feature\r\n// import { initMap, setPins, showMarkerPopout, filterZoom } from './components/maps/map-lotmap';\r\n\r\n\r\n// import stock from './components/stock';\r\nimport code from './components/code';\r\n\r\nimport './icons';\r\n\r\n// experimenting for GTM/GA stuff\r\nimport { gtmEventPDFDownload } from './components/products/index';\r\n\r\n$(() => {\r\n estatePicker();\r\n});\r\n\r\n$(window).on('load', () => {\r\n layout();\r\n select();\r\n productTypes();\r\n maps();\r\n carousel();\r\n cardCarousel();\r\n savedProducts();\r\n tiles();\r\n sidenav();\r\n window.lightbox = lightbox();\r\n window.sticky = sticky();\r\n cards(Masonry, imagesLoaded);\r\n truncate();\r\n form();\r\n login();\r\n activateProducts();\r\n autocomplete();\r\n estates();\r\n fbInit();\r\n videos();\r\n registerTrackingHandlers();\r\n code();\r\n tabs('.tab-module');\r\n rangeSlider(null, '.range-slider');\r\n window.gtmEventPDFDownload = gtmEventPDFDownload; // this lets me make it available to the product details page onclick.\r\n});\r\n", "import mdl from 'material-design-lite';\r\nimport Masonry from 'masonry-layout';\r\nimport noUiSlider from 'no-ui-slider';\r\nimport imagesLoaded from 'imagesloaded';\r\n\r\n// Put jQuery everywhere\r\nwindow.$ = window.jQuery = require('jquery');\r\n\r\n// Load jQuery plugins\r\nrequire('trunk8');\r\nrequire('owl.carousel');\r\nrequire('jquery-ui/dist/jquery-ui'); // attempting to include for tab so they don't have to import it separately\r\nrequire('jquery-autocomplete');\r\n\r\nconst $ = window.$;\r\n\r\nconst loggedIn = () => document.getElementsByClassName('user-menu__saved').length > 0;\r\n\r\nexport {\r\n mdl,\r\n Masonry,\r\n noUiSlider,\r\n imagesLoaded,\r\n $,\r\n loggedIn\r\n};\r\n", "\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});", "/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n", "require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n", "module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\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", "// 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 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", "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", "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", "// 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", "// 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", "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", "// 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", "// 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", "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 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", "// 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", "'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", "// 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", "var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\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", "// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\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 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 core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\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", "// 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", "'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", "'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.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\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", "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", "// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\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", "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 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", "module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\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, '$') !== '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';\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", "'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\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", "module.exports = require('./_shared')('native-function-to-string', Function.toString);\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", "var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\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", "var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\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');\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", "// 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", "// 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", "// 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", "// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\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", "module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\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", "// 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", "'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", "'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", "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", "module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n", "module.exports = {};\n", "module.exports = false;\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", "// 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", "// 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", "// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\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", "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", "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", "var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n", "'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\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", "// 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", "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", "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", "'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\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", "// 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", "// 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", "exports.f = Object.getOwnPropertySymbols;\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 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", "// 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", "exports.f = {}.propertyIsEnumerable;\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", "var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\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", "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 $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", "module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n", "var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\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 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", "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", "'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';\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", "module.exports = function (regExp, replace) {\n var replacer = replace === Object(replace) ? function (part) {\n return replace[part];\n } : replace;\n return function (it) {\n return String(it).replace(regExp, replacer);\n };\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", "'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n", "'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\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", "'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 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", "var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\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: '© 2020 Denis Pushkarev (zloirock.ru)'\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 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", "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", "// 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 $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, '"') + '\"';\n return p1 + '>' + S + '';\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", "// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\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", "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", "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 ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\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", "// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\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", "// 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", "// 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", "// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\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", "'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n", "'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n", "var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\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", "var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\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", "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", "exports.f = require('./_wks');\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 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", "// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export');\nvar $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\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", "'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", "// 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 $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// 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';\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 $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';\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", "'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", "// 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", "'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", "'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", "'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", "'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", "'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", "'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';\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", "'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", "'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", "'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", "require('./_set-species')('Array');\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", "// 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';\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 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", "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", "// 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", "'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 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", "'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.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", "// 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", "// 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", "// 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", "// 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", "// 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", "// 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", "// 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.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", "// 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", "// 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", "// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\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", "// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\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", "// 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.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", "'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", "// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\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", "// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\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", "// 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", "// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n", "// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\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", "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", "'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 $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", "// 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", "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", "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", "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", "// 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", "// 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.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\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", "// 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", "// 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", "// 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", "// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\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", "// 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", "// 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", "// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\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", "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 $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", "'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\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", "// 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", "// 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", "// 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", "'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", "// 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", "// 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", "// 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", "// 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", "// 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", "// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\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", "// 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", "// 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", "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", "'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", "// 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 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", "'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", "'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", "'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", "'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", "'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", "'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", "'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", "'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", "'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 $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", "// 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", "'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", "'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", "'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", "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", "// 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", "'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", "'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", "'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 $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", "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", "'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", "// 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", "'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", "'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';\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';\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", "'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", "'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n", "var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n", "require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n", "require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\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", "'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n", "'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n", "'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatten');\n", "'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n", "// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export');\nvar microtask = require('./_microtask')();\nvar process = require('./_global').process;\nvar isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n", "// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export');\nvar cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n", "// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n", "// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar scale = require('./_math-scale');\nvar fround = require('./_math-fround');\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n", "// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n", "// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n", "// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n", "// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { scale: require('./_math-scale') });\n", "// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n", "// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n", "'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n", "'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n", "// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n", "// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n", "'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n", "'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n", "// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n", "'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export');\nvar global = require('./_global');\nvar core = require('./_core');\nvar microtask = require('./_microtask')();\nvar OBSERVABLE = require('./_wks')('observable');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar anInstance = require('./_an-instance');\nvar redefineAll = require('./_redefine-all');\nvar hide = require('./_hide');\nvar forOf = require('./_for-of');\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\nrequire('./_set-species')('Observable');\n", "// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n", "'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\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", "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", "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", "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 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", "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", "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", "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 $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", "// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n", "// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n", "'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export');\nvar $at = require('./_string-at')(true);\nvar $fails = require('./_fails');\n\nvar FORCED = $fails(function () {\n return '𠮷'.at(0) !== '𠮷';\n});\n\n$export($export.P + $export.F * FORCED, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n", "'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export');\nvar defined = require('./_defined');\nvar toLength = require('./_to-length');\nvar isRegExp = require('./_is-regexp');\nvar getFlags = require('./_flags');\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n", "'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n", "'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n", "'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n", "'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n", "require('./_wks-define')('asyncIterator');\n", "require('./_wks-define')('observable');\n", "// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', { global: require('./_global') });\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\nrequire('./_set-collection-from')('WeakSet');\n", "// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\nrequire('./_set-collection-of')('WeakSet');\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", "var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n", "// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\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');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./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');\nrequire('./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');\nrequire('./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.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');\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');\nrequire('./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');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./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');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.array.flat-map');\nrequire('./modules/es7.array.flatten');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.map.of');\nrequire('./modules/es7.set.of');\nrequire('./modules/es7.weak-map.of');\nrequire('./modules/es7.weak-set.of');\nrequire('./modules/es7.map.from');\nrequire('./modules/es7.set.from');\nrequire('./modules/es7.weak-map.from');\nrequire('./modules/es7.weak-set.from');\nrequire('./modules/es7.global');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.clamp');\nrequire('./modules/es7.math.deg-per-rad');\nrequire('./modules/es7.math.degrees');\nrequire('./modules/es7.math.fscale');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.rad-per-deg');\nrequire('./modules/es7.math.radians');\nrequire('./modules/es7.math.scale');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.math.signbit');\nrequire('./modules/es7.promise.finally');\nrequire('./modules/es7.promise.try');\nrequire('./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');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n", "\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n", "/**\n * matchesSelector v2.0.2\n * matchesSelector( element, '.selector' )\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n\n( function( window, factory ) {\n /*global define: false, module: false */\n 'use strict';\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.matchesSelector = factory();\n }\n\n}( window, function factory() {\n 'use strict';\n\n var matchesMethod = ( function() {\n var ElemProto = window.Element.prototype;\n // check for the standard method name first\n if ( ElemProto.matches ) {\n return 'matches';\n }\n // check un-prefixed\n if ( ElemProto.matchesSelector ) {\n return 'matchesSelector';\n }\n // check vendor prefixes\n var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];\n\n for ( var i=0; i < prefixes.length; i++ ) {\n var prefix = prefixes[i];\n var method = prefix + 'MatchesSelector';\n if ( ElemProto[ method ] ) {\n return method;\n }\n }\n })();\n\n return function matchesSelector( elem, selector ) {\n return elem[ matchesMethod ]( selector );\n };\n\n}));\n", "\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n", "\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n", "\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n", "\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n", "\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n", "\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n", "\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n", "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n", "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n", "\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n", "\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n", "/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n", "// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n// \n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// \n// http://www.apache.org/licenses/LICENSE-2.0\n// \n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┐ \\\\\n// │ Eve 0.4.2 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.4.2\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n comaseparator = /\\s*,\\s*/,\n wildcard = \"*\",\n fun = function () {},\n numsort = function (a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {n: {}},\n firstDefined = function () {\n for (var i = 0, ii = this.length; i < ii; i++) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n lastDefined = function () {\n var i = this.length;\n while (--i) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n /*\\\n * eve\n [ method ]\n\n * Fires event with given `name`, given scope and other parameters.\n\n > Arguments\n\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n\n = (object) array of returned values from the listeners. Array has two methods `.firstDefined()` and `.lastDefined()` to get first or last not `undefined` value.\n \\*/\n eve = function (name, scope) {\n name = String(name);\n var e = events,\n oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n f = false,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event,\n errors = [];\n out.firstDefined = firstDefined;\n out.lastDefined = lastDefined;\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l)\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out;\n };\n // Undocumented. Debug only.\n eve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n\n > Arguments\n\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n \n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`” for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment. \n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt` function will be called before `eatIt`.\n *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”.\n \\*/\n eve.on = function (name, f) {\n name = String(name);\n if (typeof f != \"function\") {\n return function () {};\n }\n var names = name.split(comaseparator);\n for (var i = 0, ii = names.length; i < ii; i++) {\n (function (name) {\n var names = name.split(separator),\n e = events,\n exist;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\n exist = true;\n break;\n }\n !exist && e.f.push(f);\n }(names[i]));\n }\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n * Arguments that will be passed to the result function will be also\n * concated to the list of final arguments.\n | el.onclick = eve.f(\"click\", 1, 2);\n | eve.on(\"click\", function (a, b, c) {\n | console.log(a, b, c); // 1, 2, [event object]\n | });\n > Arguments\n - event (string) event name\n - varargs (…) and any other arguments\n = (function) possible event handler function\n \\*/\n eve.f = function (event) {\n var attrs = [].slice.call(arguments, 1);\n return function () {\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n };\n };\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n > Arguments\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(current_event);\n }\n return current_event;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n * If no arguments specified all the events will be cleared.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n if (!name) {\n eve._events = events = {n: {}};\n return;\n }\n var names = name.split(comaseparator);\n if (names.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n eve.off(names[i], f);\n }\n return;\n }\n names = name.split(separator);\n var e,\n key,\n splice,\n i, ii, j, jj,\n cur = [events];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n }\n } else {\n for (key in e) if (e[has](key)) {\n splice.push(e[key]);\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n !funcs.length && delete e.n[key].f;\n }\n } else {\n delete e.f;\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n e = e.n;\n }\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n > Arguments\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function () {\n eve.unbind(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n (typeof module != \"undefined\" && module.exports) ? (module.exports = eve) : (typeof define === \"function\" && define.amd ? (define(\"eve\", [], function() { return eve; })) : (glob.eve = eve));\n})(this);\n", "'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n", "/**\n * Fizzy UI utils v2.0.7\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'desandro-matches-selector/matches-selector'\n ], function( matchesSelector ) {\n return factory( window, matchesSelector );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('desandro-matches-selector')\n );\n } else {\n // browser global\n window.fizzyUIUtils = factory(\n window,\n window.matchesSelector\n );\n }\n\n}( window, function factory( window, matchesSelector ) {\n\n'use strict';\n\nvar utils = {};\n\n// ----- extend ----- //\n\n// extends objects\nutils.extend = function( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n};\n\n// ----- modulo ----- //\n\nutils.modulo = function( num, div ) {\n return ( ( num % div ) + div ) % div;\n};\n\n// ----- makeArray ----- //\n\nvar arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nutils.makeArray = function( obj ) {\n if ( Array.isArray( obj ) ) {\n // use object if already an array\n return obj;\n }\n // return empty array if undefined or null. #6\n if ( obj === null || obj === undefined ) {\n return [];\n }\n\n var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if ( isArrayLike ) {\n // convert nodeList to array\n return arraySlice.call( obj );\n }\n\n // array of single index\n return [ obj ];\n};\n\n// ----- removeFrom ----- //\n\nutils.removeFrom = function( ary, obj ) {\n var index = ary.indexOf( obj );\n if ( index != -1 ) {\n ary.splice( index, 1 );\n }\n};\n\n// ----- getParent ----- //\n\nutils.getParent = function( elem, selector ) {\n while ( elem.parentNode && elem != document.body ) {\n elem = elem.parentNode;\n if ( matchesSelector( elem, selector ) ) {\n return elem;\n }\n }\n};\n\n// ----- getQueryElement ----- //\n\n// use element as selector string\nutils.getQueryElement = function( elem ) {\n if ( typeof elem == 'string' ) {\n return document.querySelector( elem );\n }\n return elem;\n};\n\n// ----- handleEvent ----- //\n\n// enable .ontype to trigger from .addEventListener( elem, 'type' )\nutils.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// ----- filterFindElements ----- //\n\nutils.filterFindElements = function( elems, selector ) {\n // make array of elems\n elems = utils.makeArray( elems );\n var ffElems = [];\n\n elems.forEach( function( elem ) {\n // check that elem is an actual element\n if ( !( elem instanceof HTMLElement ) ) {\n return;\n }\n // add elem if no selector\n if ( !selector ) {\n ffElems.push( elem );\n return;\n }\n // filter & find items if we have a selector\n // filter\n if ( matchesSelector( elem, selector ) ) {\n ffElems.push( elem );\n }\n // find children\n var childElems = elem.querySelectorAll( selector );\n // concat childElems to filterFound array\n for ( var i=0; i < childElems.length; i++ ) {\n ffElems.push( childElems[i] );\n }\n });\n\n return ffElems;\n};\n\n// ----- debounceMethod ----- //\n\nutils.debounceMethod = function( _class, methodName, threshold ) {\n threshold = threshold || 100;\n // original method\n var method = _class.prototype[ methodName ];\n var timeoutName = methodName + 'Timeout';\n\n _class.prototype[ methodName ] = function() {\n var timeout = this[ timeoutName ];\n clearTimeout( timeout );\n\n var args = arguments;\n var _this = this;\n this[ timeoutName ] = setTimeout( function() {\n method.apply( _this, args );\n delete _this[ timeoutName ];\n }, threshold );\n };\n};\n\n// ----- docReady ----- //\n\nutils.docReady = function( callback ) {\n var readyState = document.readyState;\n if ( readyState == 'complete' || readyState == 'interactive' ) {\n // do async to allow for other scripts to run. metafizzy/flickity#441\n setTimeout( callback );\n } else {\n document.addEventListener( 'DOMContentLoaded', callback );\n }\n};\n\n// ----- htmlInit ----- //\n\n// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/\nutils.toDashed = function( str ) {\n return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {\n return $1 + '-' + $2;\n }).toLowerCase();\n};\n\nvar console = window.console;\n/**\n * allow user to initialize classes via [data-namespace] or .js-namespace class\n * htmlInit( Widget, 'widgetName' )\n * options are parsed from data-namespace-options\n */\nutils.htmlInit = function( WidgetClass, namespace ) {\n utils.docReady( function() {\n var dashedNamespace = utils.toDashed( namespace );\n var dataAttr = 'data-' + dashedNamespace;\n var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );\n var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );\n var elems = utils.makeArray( dataAttrElems )\n .concat( utils.makeArray( jsDashElems ) );\n var dataOptionsAttr = dataAttr + '-options';\n var jQuery = window.jQuery;\n\n elems.forEach( function( elem ) {\n var attr = elem.getAttribute( dataAttr ) ||\n elem.getAttribute( dataOptionsAttr );\n var options;\n try {\n options = attr && JSON.parse( attr );\n } catch ( error ) {\n // log error, do not initialize\n if ( console ) {\n console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +\n ': ' + error );\n }\n return;\n }\n // initialize\n var instance = new WidgetClass( elem, options );\n // make available via $().data('namespace')\n if ( jQuery ) {\n jQuery.data( elem, namespace, instance );\n }\n });\n\n });\n};\n\n// ----- ----- //\n\nreturn utils;\n\n}));\n", "/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n( function( window, factory ) {\n /* jshint strict: false */ /* globals define, module */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.getSize = factory();\n }\n\n})( window, function factory() {\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') == -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console == 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nvar measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getStyle( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1' );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild( div );\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem == 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem != 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display == 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';\n\n // get all measurements\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\nreturn getSize;\n\n});\n", "/*!\n * imagesLoaded v4.1.4\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n( function( window, factory ) { 'use strict';\n // universal module definition\n\n /*global define: false, module: false, require: false */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.imagesLoaded = factory(\n window,\n window.EvEmitter\n );\n }\n\n})( typeof window !== 'undefined' ? window : this,\n\n// -------------------------- factory -------------------------- //\n\nfunction factory( window, EvEmitter ) {\n\n'use strict';\n\nvar $ = window.jQuery;\nvar console = window.console;\n\n// -------------------------- helpers -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nvar arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nfunction makeArray( obj ) {\n if ( Array.isArray( obj ) ) {\n // use object if already an array\n return obj;\n }\n\n var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if ( isArrayLike ) {\n // convert nodeList to array\n return arraySlice.call( obj );\n }\n\n // array of single index\n return [ obj ];\n}\n\n// -------------------------- imagesLoaded -------------------------- //\n\n/**\n * @param {Array, Element, NodeList, String} elem\n * @param {Object or Function} options - if function, use as callback\n * @param {Function} onAlways - callback function\n */\nfunction ImagesLoaded( elem, options, onAlways ) {\n // coerce ImagesLoaded() without new, to be new ImagesLoaded()\n if ( !( this instanceof ImagesLoaded ) ) {\n return new ImagesLoaded( elem, options, onAlways );\n }\n // use elem as selector string\n var queryElem = elem;\n if ( typeof elem == 'string' ) {\n queryElem = document.querySelectorAll( elem );\n }\n // bail if bad element\n if ( !queryElem ) {\n console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );\n return;\n }\n\n this.elements = makeArray( queryElem );\n this.options = extend( {}, this.options );\n // shift arguments if no options set\n if ( typeof options == 'function' ) {\n onAlways = options;\n } else {\n extend( this.options, options );\n }\n\n if ( onAlways ) {\n this.on( 'always', onAlways );\n }\n\n this.getImages();\n\n if ( $ ) {\n // add jQuery Deferred object\n this.jqDeferred = new $.Deferred();\n }\n\n // HACK check async to allow time to bind listeners\n setTimeout( this.check.bind( this ) );\n}\n\nImagesLoaded.prototype = Object.create( EvEmitter.prototype );\n\nImagesLoaded.prototype.options = {};\n\nImagesLoaded.prototype.getImages = function() {\n this.images = [];\n\n // filter & find items if we have an item selector\n this.elements.forEach( this.addElementImages, this );\n};\n\n/**\n * @param {Node} element\n */\nImagesLoaded.prototype.addElementImages = function( elem ) {\n // filter siblings\n if ( elem.nodeName == 'IMG' ) {\n this.addImage( elem );\n }\n // get background image on element\n if ( this.options.background === true ) {\n this.addElementBackgroundImages( elem );\n }\n\n // find children\n // no non-element nodes, #143\n var nodeType = elem.nodeType;\n if ( !nodeType || !elementNodeTypes[ nodeType ] ) {\n return;\n }\n var childImgs = elem.querySelectorAll('img');\n // concat childElems to filterFound array\n for ( var i=0; i < childImgs.length; i++ ) {\n var img = childImgs[i];\n this.addImage( img );\n }\n\n // get child background images\n if ( typeof this.options.background == 'string' ) {\n var children = elem.querySelectorAll( this.options.background );\n for ( i=0; i < children.length; i++ ) {\n var child = children[i];\n this.addElementBackgroundImages( child );\n }\n }\n};\n\nvar elementNodeTypes = {\n 1: true,\n 9: true,\n 11: true\n};\n\nImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n // Firefox returns null if in a hidden iframe https://bugzil.la/548397\n return;\n }\n // get url inside url(\"...\")\n var reURL = /url\\((['\"])?(.*?)\\1\\)/gi;\n var matches = reURL.exec( style.backgroundImage );\n while ( matches !== null ) {\n var url = matches && matches[2];\n if ( url ) {\n this.addBackground( url, elem );\n }\n matches = reURL.exec( style.backgroundImage );\n }\n};\n\n/**\n * @param {Image} img\n */\nImagesLoaded.prototype.addImage = function( img ) {\n var loadingImage = new LoadingImage( img );\n this.images.push( loadingImage );\n};\n\nImagesLoaded.prototype.addBackground = function( url, elem ) {\n var background = new Background( url, elem );\n this.images.push( background );\n};\n\nImagesLoaded.prototype.check = function() {\n var _this = this;\n this.progressedCount = 0;\n this.hasAnyBroken = false;\n // complete if no images\n if ( !this.images.length ) {\n this.complete();\n return;\n }\n\n function onProgress( image, elem, message ) {\n // HACK - Chrome triggers event before object properties have changed. #83\n setTimeout( function() {\n _this.progress( image, elem, message );\n });\n }\n\n this.images.forEach( function( loadingImage ) {\n loadingImage.once( 'progress', onProgress );\n loadingImage.check();\n });\n};\n\nImagesLoaded.prototype.progress = function( image, elem, message ) {\n this.progressedCount++;\n this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;\n // progress event\n this.emitEvent( 'progress', [ this, image, elem ] );\n if ( this.jqDeferred && this.jqDeferred.notify ) {\n this.jqDeferred.notify( this, image );\n }\n // check if completed\n if ( this.progressedCount == this.images.length ) {\n this.complete();\n }\n\n if ( this.options.debug && console ) {\n console.log( 'progress: ' + message, image, elem );\n }\n};\n\nImagesLoaded.prototype.complete = function() {\n var eventName = this.hasAnyBroken ? 'fail' : 'done';\n this.isComplete = true;\n this.emitEvent( eventName, [ this ] );\n this.emitEvent( 'always', [ this ] );\n if ( this.jqDeferred ) {\n var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';\n this.jqDeferred[ jqMethod ]( this );\n }\n};\n\n// -------------------------- -------------------------- //\n\nfunction LoadingImage( img ) {\n this.img = img;\n}\n\nLoadingImage.prototype = Object.create( EvEmitter.prototype );\n\nLoadingImage.prototype.check = function() {\n // If complete is true and browser supports natural sizes,\n // try to check for image status manually.\n var isComplete = this.getIsImageComplete();\n if ( isComplete ) {\n // report based on naturalWidth\n this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n return;\n }\n\n // If none of the checks above matched, simulate loading on detached element.\n this.proxyImage = new Image();\n this.proxyImage.addEventListener( 'load', this );\n this.proxyImage.addEventListener( 'error', this );\n // bind to image as well for Firefox. #191\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n this.proxyImage.src = this.img.src;\n};\n\nLoadingImage.prototype.getIsImageComplete = function() {\n // check for non-zero, non-undefined naturalWidth\n // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671\n return this.img.complete && this.img.naturalWidth;\n};\n\nLoadingImage.prototype.confirm = function( isLoaded, message ) {\n this.isLoaded = isLoaded;\n this.emitEvent( 'progress', [ this, this.img, message ] );\n};\n\n// ----- events ----- //\n\n// trigger specified handler for event type\nLoadingImage.prototype.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\nLoadingImage.prototype.onload = function() {\n this.confirm( true, 'onload' );\n this.unbindEvents();\n};\n\nLoadingImage.prototype.onerror = function() {\n this.confirm( false, 'onerror' );\n this.unbindEvents();\n};\n\nLoadingImage.prototype.unbindEvents = function() {\n this.proxyImage.removeEventListener( 'load', this );\n this.proxyImage.removeEventListener( 'error', this );\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n};\n\n// -------------------------- Background -------------------------- //\n\nfunction Background( url, element ) {\n this.url = url;\n this.element = element;\n this.img = new Image();\n}\n\n// inherit LoadingImage prototype\nBackground.prototype = Object.create( LoadingImage.prototype );\n\nBackground.prototype.check = function() {\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n this.img.src = this.url;\n // check if image is already complete\n var isComplete = this.getIsImageComplete();\n if ( isComplete ) {\n this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n this.unbindEvents();\n }\n};\n\nBackground.prototype.unbindEvents = function() {\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n};\n\nBackground.prototype.confirm = function( isLoaded, message ) {\n this.isLoaded = isLoaded;\n this.emitEvent( 'progress', [ this, this.element, message ] );\n};\n\n// -------------------------- jQuery -------------------------- //\n\nImagesLoaded.makeJQueryPlugin = function( jQuery ) {\n jQuery = jQuery || window.jQuery;\n if ( !jQuery ) {\n return;\n }\n // set local variable\n $ = jQuery;\n // $().imagesLoaded()\n $.fn.imagesLoaded = function( options, callback ) {\n var instance = new ImagesLoaded( this, options, callback );\n return instance.jqDeferred.promise( $(this) );\n };\n};\n// try making plugin\nImagesLoaded.makeJQueryPlugin();\n\n// -------------------------- -------------------------- //\n\nreturn ImagesLoaded;\n\n});\n", "/**\r\n * @preserve jQuery Autocomplete plugin v1.2.1\r\n * @homepage http://xdsoft.net/jqplugins/autocomplete/\r\n * (c) 2014, Chupurnov Valeriy \r\n */\r\n(function ($) {\r\n\t'use strict';\r\n\tvar\tARROWLEFT = 37,\r\n\t\tARROWRIGHT = 39,\r\n\t\tARROWUP = 38,\r\n\t\tARROWDOWN = 40,\r\n\t\tTAB = 9,\r\n\t\tCTRLKEY = 17,\r\n\t\tSHIFTKEY = 16,\r\n\t\tDEL = 46,\r\n\t\tENTER = 13,\r\n\t\tESC = 27,\r\n\t\tBACKSPACE = 8,\r\n\t\tAKEY = 65,\r\n\t\tCKEY = 67,\r\n\t\tVKEY = 86,\r\n\t\tZKEY = 90,\r\n\t\tYKEY = 89,\r\n\t\tdefaultSetting = {},\r\n\t\tcurrentInput = false,\r\n\t\tctrlDown = false,\r\n\t\tshiftDown = false,\r\n\t\tinterval_for_visibility,\r\n\t\tpublics = {},\r\n\t\taccent_map = {\r\n\t\t\t'ẚ':'a','Á':'a','á':'a','À':'a','à':'a','Ă':'a','ă':'a','Ắ':'a','ắ':'a','Ằ':'a','ằ':'a','Ẵ':'a','ẵ':'a','Ẳ':'a',\r\n\t\t\t'Ẫ':'a','ẫ':'a','Ẩ':'a','ẩ':'a','Ǎ':'a','ǎ':'a','Å':'a','å':'a','Ǻ':'a','ǻ':'a','Ä':'a','ä':'a','Ǟ':'a','ǟ':'a',\r\n\t\t\t'Ã':'a','ã':'a','Ȧ':'a','ȧ':'a','Ǡ':'a','ǡ':'a','Ą':'a','ą':'a','Ā':'a','ā':'a','Ả':'a','ả':'a','Ȁ':'a','ȁ':'a',\r\n\t\t\t'Ȃ':'a','ȃ':'a','Ạ':'a','ạ':'a','Ặ':'a','ặ':'a','Ậ':'a','ậ':'a','Ḁ':'a','ḁ':'a','Ⱥ':'a','ⱥ':'a','Ǽ':'a','ǽ':'a',\r\n\t\t\t'Ǣ':'a','ǣ':'a','Ḃ':'b','ḃ':'b','Ḅ':'b','ḅ':'b','Ḇ':'b','ḇ':'b','Ƀ':'b','ƀ':'b','ᵬ':'b','Ɓ':'b','ɓ':'b','Ƃ':'b',\r\n\t\t\t'ƃ':'b','Ć':'c','ć':'c','Ĉ':'c','ĉ':'c','Č':'c','č':'c','Ċ':'c','ċ':'c','Ç':'c','ç':'c','Ḉ':'c','ḉ':'c','Ȼ':'c',\r\n\t\t\t'ȼ':'c','Ƈ':'c','ƈ':'c','ɕ':'c','Ď':'d','ď':'d','Ḋ':'d','ḋ':'d','Ḑ':'d','ḑ':'d','Ḍ':'d','ḍ':'d','Ḓ':'d','ḓ':'d',\r\n\t\t\t'Ḏ':'d','ḏ':'d','Đ':'d','đ':'d','ᵭ':'d','Ɖ':'d','ɖ':'d','Ɗ':'d','ɗ':'d','Ƌ':'d','ƌ':'d','ȡ':'d','ð':'d','É':'e',\r\n\t\t\t'Ə':'e','Ǝ':'e','ǝ':'e','é':'e','È':'e','è':'e','Ĕ':'e','ĕ':'e','Ê':'e','ê':'e','Ế':'e','ế':'e','Ề':'e','ề':'e',\r\n\t\t\t'Ễ':'e','ễ':'e','Ể':'e','ể':'e','Ě':'e','ě':'e','Ë':'e','ë':'e','Ẽ':'e','ẽ':'e','Ė':'e','ė':'e','Ȩ':'e','ȩ':'e',\r\n\t\t\t'Ḝ':'e','ḝ':'e','Ę':'e','ę':'e','Ē':'e','ē':'e','Ḗ':'e','ḗ':'e','Ḕ':'e','ḕ':'e','Ẻ':'e','ẻ':'e','Ȅ':'e','ȅ':'e',\r\n\t\t\t'Ȇ':'e','ȇ':'e','Ẹ':'e','ẹ':'e','Ệ':'e','ệ':'e','Ḙ':'e','ḙ':'e','Ḛ':'e','ḛ':'e','Ɇ':'e','ɇ':'e','ɚ':'e','ɝ':'e',\r\n\t\t\t'Ḟ':'f','ḟ':'f','ᵮ':'f','Ƒ':'f','ƒ':'f','Ǵ':'g','ǵ':'g','Ğ':'g','ğ':'g','Ĝ':'g','ĝ':'g','Ǧ':'g','ǧ':'g','Ġ':'g',\r\n\t\t\t'ġ':'g','Ģ':'g','ģ':'g','Ḡ':'g','ḡ':'g','Ǥ':'g','ǥ':'g','Ɠ':'g','ɠ':'g','Ĥ':'h','ĥ':'h','Ȟ':'h','ȟ':'h','Ḧ':'h',\r\n\t\t\t'ḧ':'h','Ḣ':'h','ḣ':'h','Ḩ':'h','ḩ':'h','Ḥ':'h','ḥ':'h','Ḫ':'h','ḫ':'h','H':'h','̱':'h','ẖ':'h','Ħ':'h','ħ':'h',\r\n\t\t\t'Ⱨ':'h','ⱨ':'h','Í':'i','í':'i','Ì':'i','ì':'i','Ĭ':'i','ĭ':'i','Î':'i','î':'i','Ǐ':'i','ǐ':'i','Ï':'i','ï':'i',\r\n\t\t\t'Ḯ':'i','ḯ':'i','Ĩ':'i','ĩ':'i','İ':'i','i':'i','Į':'i','į':'i','Ī':'i','ī':'i','Ỉ':'i','ỉ':'i','Ȉ':'i','ȉ':'i',\r\n\t\t\t'Ȋ':'i','ȋ':'i','Ị':'i','ị':'i','Ḭ':'i','ḭ':'i','I':'i','ı':'i','Ɨ':'i','ɨ':'i','Ĵ':'j','ĵ':'j','J':'j','̌':'j',\r\n\t\t\t'ǰ':'j','ȷ':'j','Ɉ':'j','ɉ':'j','ʝ':'j','ɟ':'j','ʄ':'j','Ḱ':'k','ḱ':'k','Ǩ':'k','ǩ':'k','Ķ':'k','ķ':'k','Ḳ':'k',\r\n\t\t\t'ḳ':'k','Ḵ':'k','ḵ':'k','Ƙ':'k','ƙ':'k','Ⱪ':'k','ⱪ':'k','Ĺ':'a','ĺ':'l','Ľ':'l','ľ':'l','Ļ':'l','ļ':'l','Ḷ':'l',\r\n\t\t\t'ḷ':'l','Ḹ':'l','ḹ':'l','Ḽ':'l','ḽ':'l','Ḻ':'l','ḻ':'l','Ł':'l','ł':'l','̣':'l','Ŀ':'l',\r\n\t\t\t'ŀ':'l','Ƚ':'l','ƚ':'l','Ⱡ':'l','ⱡ':'l','Ɫ':'l','ɫ':'l','ɬ':'l','ɭ':'l','ȴ':'l','Ḿ':'m','ḿ':'m','Ṁ':'m','ṁ':'m',\r\n\t\t\t'Ṃ':'m','ṃ':'m','ɱ':'m','Ń':'n','ń':'n','Ǹ':'n','ǹ':'n','Ň':'n','ň':'n','Ñ':'n','ñ':'n','Ṅ':'n','ṅ':'n','Ņ':'n',\r\n\t\t\t'ņ':'n','Ṇ':'n','ṇ':'n','Ṋ':'n','ṋ':'n','Ṉ':'n','ṉ':'n','Ɲ':'n','ɲ':'n','Ƞ':'n','ƞ':'n','ɳ':'n','ȵ':'n','N':'n',\r\n\t\t\t'̈':'n','n':'n','Ó':'o','ó':'o','Ò':'o','ò':'o','Ŏ':'o','ŏ':'o','Ô':'o','ô':'o','Ố':'o','ố':'o','Ồ':'o',\r\n\t\t\t'ồ':'o','Ỗ':'o','ỗ':'o','Ổ':'o','ổ':'o','Ǒ':'o','ǒ':'o','Ö':'o','ö':'o','Ȫ':'o','ȫ':'o','Ő':'o','ő':'o','Õ':'o',\r\n\t\t\t'õ':'o','Ṍ':'o','ṍ':'o','Ṏ':'o','ṏ':'o','Ȭ':'o','ȭ':'o','Ȯ':'o','ȯ':'o','Ȱ':'o','ȱ':'o','Ø':'o','ø':'o','Ǿ':'o',\r\n\t\t\t'ǿ':'o','Ǫ':'o','ǫ':'o','Ǭ':'o','ǭ':'o','Ō':'o','ō':'o','Ṓ':'o','ṓ':'o','Ṑ':'o','ṑ':'o','Ỏ':'o','ỏ':'o','Ȍ':'o',\r\n\t\t\t'ȍ':'o','Ȏ':'o','ȏ':'o','Ơ':'o','ơ':'o','Ớ':'o','ớ':'o','Ờ':'o','ờ':'o','Ỡ':'o','ỡ':'o','Ở':'o','ở':'o','Ợ':'o',\r\n\t\t\t'ợ':'o','Ọ':'o','ọ':'o','Ộ':'o','ộ':'o','Ɵ':'o','ɵ':'o','Ṕ':'p','ṕ':'p','Ṗ':'p','ṗ':'p','Ᵽ':'p','Ƥ':'p','ƥ':'p',\r\n\t\t\t'P':'p','̃':'p','p':'p','ʠ':'q','Ɋ':'q','ɋ':'q','Ŕ':'r','ŕ':'r','Ř':'r','ř':'r','Ṙ':'r','ṙ':'r','Ŗ':'r',\r\n\t\t\t'ŗ':'r','Ȑ':'r','ȑ':'r','Ȓ':'r','ȓ':'r','Ṛ':'r','ṛ':'r','Ṝ':'r','ṝ':'r','Ṟ':'r','ṟ':'r','Ɍ':'r','ɍ':'r','ᵲ':'r',\r\n\t\t\t'ɼ':'r','Ɽ':'r','ɽ':'r','ɾ':'r','ᵳ':'r','ß':'s','Ś':'s','ś':'s','Ṥ':'s','ṥ':'s','Ŝ':'s','ŝ':'s','Š':'s','š':'s',\r\n\t\t\t'Ṧ':'s','ṧ':'s','Ṡ':'s','ṡ':'s','ẛ':'s','Ş':'s','ş':'s','Ṣ':'s','ṣ':'s','Ṩ':'s','ṩ':'s','Ș':'s','ș':'s','ʂ':'s',\r\n\t\t\t'S':'s','̩':'s','s':'s','Þ':'t','þ':'t','Ť':'t','ť':'t','T':'t','ẗ':'t','Ṫ':'t','ṫ':'t','Ţ':'t','ţ':'t','Ṭ':'t',\r\n\t\t\t'ṭ':'t','Ț':'t','ț':'t','Ṱ':'t','ṱ':'t','Ṯ':'t','ṯ':'t','Ŧ':'t','ŧ':'t','Ⱦ':'t','ⱦ':'t','ᵵ':'t',\r\n\t\t\t'ƫ':'t','Ƭ':'t','ƭ':'t','Ʈ':'t','ʈ':'t','ȶ':'t','Ú':'u','ú':'u','Ù':'u','ù':'u','Ŭ':'u','ŭ':'u','Û':'u','û':'u',\r\n\t\t\t'Ǔ':'u','ǔ':'u','Ů':'u','ů':'u','Ü':'u','ü':'u','Ǘ':'u','ǘ':'u','Ǜ':'u','ǜ':'u','Ǚ':'u','ǚ':'u','Ǖ':'u','ǖ':'u',\r\n\t\t\t'Ű':'u','ű':'u','Ũ':'u','ũ':'u','Ṹ':'u','ṹ':'u','Ų':'u','ų':'u','Ū':'u','ū':'u','Ṻ':'u','ṻ':'u','Ủ':'u','ủ':'u',\r\n\t\t\t'Ȕ':'u','ȕ':'u','Ȗ':'u','ȗ':'u','Ư':'u','ư':'u','Ứ':'u','ứ':'u','Ừ':'u','ừ':'u','Ữ':'u','ữ':'u','Ử':'u','ử':'u',\r\n\t\t\t'Ự':'u','ự':'u','Ụ':'u','ụ':'u','Ṳ':'u','ṳ':'u','Ṷ':'u','ṷ':'u','Ṵ':'u','ṵ':'u','Ʉ':'u','ʉ':'u','Ṽ':'v','ṽ':'v',\r\n\t\t\t'Ṿ':'v','ṿ':'v','Ʋ':'v','ʋ':'v','Ẃ':'w','ẃ':'w','Ẁ':'w','ẁ':'w','Ŵ':'w','ŵ':'w','W':'w','̊':'w','ẘ':'w','Ẅ':'w',\r\n\t\t\t'ẅ':'w','Ẇ':'w','ẇ':'w','Ẉ':'w','ẉ':'w','Ẍ':'x','ẍ':'x','Ẋ':'x','ẋ':'x','Ý':'y','ý':'y','Ỳ':'y','ỳ':'y','Ŷ':'y',\r\n\t\t\t'ŷ':'y','Y':'y','ẙ':'y','Ÿ':'y','ÿ':'y','Ỹ':'y','ỹ':'y','Ẏ':'y','ẏ':'y','Ȳ':'y','ȳ':'y','Ỷ':'y','ỷ':'y',\r\n\t\t\t'Ỵ':'y','ỵ':'y','ʏ':'y','Ɏ':'y','ɏ':'y','Ƴ':'y','ƴ':'y','Ź':'z','ź':'z','Ẑ':'z','ẑ':'z','Ž':'z','ž':'z','Ż':'z',\r\n\t\t\t'ż':'z','Ẓ':'z','ẓ':'z','Ẕ':'z','ẕ':'z','Ƶ':'z','ƶ':'z','Ȥ':'z','ȥ':'z','ʐ':'z','ʑ':'z','Ⱬ':'z','ⱬ':'z','Ǯ':'z',\r\n\t\t\t'ǯ':'z','ƺ':'z','2':'2','6':'6','B':'B','F':'F','J':'J','N':'N','R':'R','V':'V','Z':'Z','b':'b','f':'f','j':'j',\r\n\t\t\t'n':'n','r':'r','v':'v','z':'z','1':'1','5':'5','9':'9','A':'A','E':'E','I':'I','M':'M','Q':'Q','U':'U','Y':'Y',\r\n\t\t\t'a':'a','e':'e','i':'i','m':'m','q':'q','u':'u','y':'y','0':'0','4':'4','8':'8','D':'D','H':'H','L':'L','P':'P',\r\n\t\t\t'T':'T','X':'X','d':'d','h':'h','l':'l','p':'p','t':'t','x':'x','3':'3','7':'7','C':'C','G':'G','K':'K','O':'O',\r\n\t\t\t'S':'S','W':'W','c':'c','g':'g','k':'k','o':'o','s':'s','w':'w','ẳ':'a','Â':'a','â':'a','Ấ':'a','ấ':'a','Ầ':'a','ầ':'a'\r\n\t\t};\r\n\r\n\tif (window.getComputedStyle === undefined) {\r\n\t\twindow.getComputedStyle = (function () {\r\n\t\t\tfunction getPixelSize(element, style, property, fontSize) {\r\n\t\t\t\tvar\tsizeWithSuffix = style[property],\r\n\t\t\t\t\tsize = parseFloat(sizeWithSuffix),\r\n\t\t\t\t\tsuffix = sizeWithSuffix.split(/\\d/)[0],\r\n\t\t\t\t\trootSize;\r\n\r\n\t\t\t\tfontSize = fontSize !== null ? fontSize : /%|em/.test(suffix) && element.parentElement ? getPixelSize(element.parentElement, element.parentElement.currentStyle, 'fontSize', null) : 16;\r\n\t\t\t\trootSize = property === 'fontSize' ? fontSize : /width/i.test(property) ? element.clientWidth : element.clientHeight;\r\n\r\n\t\t\t\treturn (suffix === 'em') ? size * fontSize : (suffix === 'in') ? size * 96 : (suffix === 'pt') ? size * 96 / 72 : (suffix === '%') ? size / 100 * rootSize : size;\r\n\t\t\t}\r\n\r\n\t\t\tfunction setShortStyleProperty(style, property) {\r\n\t\t\t\tvar\tborderSuffix = property === 'border' ? 'Width' : '',\r\n\t\t\t\t\tt = property + 'Top' + borderSuffix,\r\n\t\t\t\t\tr = property + 'Right' + borderSuffix,\r\n\t\t\t\t\tb = property + 'Bottom' + borderSuffix,\r\n\t\t\t\t\tl = property + 'Left' + borderSuffix;\r\n\r\n\t\t\t\tstyle[property] = (style[t] === style[r] === style[b] === style[l] ? [style[t]]\r\n\t\t\t\t\t: style[t] === style[b] && style[l] === style[r] ? [style[t], style[r]]\r\n\t\t\t\t\t\t: style[l] === style[r] ? [style[t], style[r], style[b]]\r\n\t\t\t\t\t\t\t: [style[t], style[r], style[b], style[l]]).join(' ');\r\n\t\t\t}\r\n\r\n\t\t\tfunction CSSStyleDeclaration(element) {\r\n\t\t\t\tvar\tcurrentStyle = element.currentStyle,\r\n\t\t\t\t\tstyle = this,\r\n\t\t\t\t\tproperty,\r\n\t\t\t\t\tfontSize = getPixelSize(element, currentStyle, 'fontSize', null);\r\n\t\t\t\t\r\n\t\t\t\tfor (property in currentStyle) {\r\n\t\t\t\t\tif (currentStyle.hasOwnProperty(property)) {\r\n\t\t\t\t\t\tif (/width|height|margin.|padding.|border.+W/.test(property) && style[property] !== 'auto') {\r\n\t\t\t\t\t\t\tstyle[property] = getPixelSize(element, currentStyle, property, fontSize) + 'px';\r\n\t\t\t\t\t\t} else if (property === 'styleFloat') {\r\n\t\t\t\t\t\t\tstyle.float = currentStyle[property];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstyle[property] = currentStyle[property];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetShortStyleProperty(style, 'margin');\r\n\t\t\t\tsetShortStyleProperty(style, 'padding');\r\n\t\t\t\tsetShortStyleProperty(style, 'border');\r\n\r\n\t\t\t\tstyle.fontSize = fontSize + 'px';\r\n\r\n\t\t\t\treturn style;\r\n\t\t\t}\r\n\r\n\t\t\tCSSStyleDeclaration.prototype = {\r\n\t\t\t\tconstructor: CSSStyleDeclaration,\r\n\t\t\t\tgetPropertyPriority: function () {},\r\n\t\t\t\tgetPropertyValue: function (prop) {\r\n\t\t\t\t\treturn this[prop] || '';\r\n\t\t\t\t},\r\n\t\t\t\titem: function () {},\r\n\t\t\t\tremoveProperty: function () {},\r\n\t\t\t\tsetProperty: function () {},\r\n\t\t\t\tgetPropertyCSSValue: function () {}\r\n\t\t\t};\r\n\r\n\t\t\tfunction getComputedStyle(element) {\r\n\t\t\t\treturn new CSSStyleDeclaration(element);\r\n\t\t\t}\r\n\r\n\t\t\treturn getComputedStyle;\r\n\t\t}(this));\r\n\t}\r\n\r\n\r\n\t$(document)\r\n\t\t.on('keydown.xdsoftctrl', function (e) {\r\n\t\t\tif (e.keyCode === CTRLKEY) {\r\n\t\t\t\tctrlDown = true;\r\n\t\t\t}\r\n\t\t\tif (e.keyCode === SHIFTKEY) {\r\n\t\t\t\tctrlDown = true;\r\n\t\t\t}\r\n\t\t})\r\n\t\t.on('keyup.xdsoftctrl', function (e) {\r\n\t\t\tif (e.keyCode === CTRLKEY) {\r\n\t\t\t\tctrlDown = false;\r\n\t\t\t}\r\n\t\t\tif (e.keyCode === SHIFTKEY) {\r\n\t\t\t\tctrlDown = false;\r\n\t\t\t}\r\n\t\t});\r\n\t\r\n\tfunction accentReplace (s) {\r\n\t\tif (!s) { return ''; }\r\n\t\tvar ret = '',i;\r\n\t\tfor (i=0; i < s.length; i+=1) {\r\n\t\t\tret += accent_map[s.charAt(i)] || s.charAt(i);\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\t\r\n\tfunction escapeRegExp (str) {\r\n\t\treturn str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\r\n\t}\r\n\t\r\n\tfunction getCaretPosition(input) {\r\n\t\tif (!input) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.selectionStart) {\r\n\t\t\treturn input.selectionStart;\r\n\t\t}\r\n\t\tif (document.selection) {\r\n\t\t\tinput.focus();\r\n\t\t\tvar sel = document.selection.createRange(),\r\n\t\t\t\tselLen = document.selection.createRange().text.length;\r\n\t\t\tsel.moveStart('character', -input.value.length);\r\n\t\t\treturn sel.text.length - selLen;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setCaretPosition(input, pos) {\r\n\t\tif (input.setSelectionRange) {\r\n\t\t\tinput.focus();\r\n\t\t\tinput.setSelectionRange(pos, pos);\r\n\t\t} else if (input.createTextRange) {\r\n\t\t\tvar range = input.createTextRange();\r\n\t\t\trange.collapse(true);\r\n\t\t\trange.moveEnd('character', pos);\r\n\t\t\trange.moveStart('character', pos);\r\n\t\t\trange.select();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction isset(value) {\r\n\t\treturn value !== undefined;\r\n\t}\r\n\r\n\tfunction safe_call(callback, args, callback2, defaultValue) {\r\n\t\tif (isset(callback) && !$.isArray(callback)) {\r\n\t\t\treturn $.isFunction(callback) ? callback.apply(this,args):defaultValue;\r\n\t\t}\r\n\t\tif(isset(callback2)) {\r\n\t\t\treturn safe_call.call(this,callback2,args);\r\n\t\t}\r\n\t\treturn defaultValue;\r\n\t};\r\n\r\n\tfunction __safe( callbackName,source,args,defaultValue ){\r\n\t\tvar undefinedVar;\r\n\t\treturn safe_call.call( this, (isset(this.source[source])&&this.source[source].hasOwnProperty(callbackName))?this.source[source][callbackName]:undefinedVar,args, function(){\r\n\t\t\treturn safe_call.call(this,\r\n\t\t\t\t\tisset(this[callbackName][source])?\r\n\t\t\t\t\t\tthis[callbackName][source]:(\r\n\t\t\t\t\t\t\tisset(this[callbackName][0])?\r\n\t\t\t\t\t\t\t\tthis[callbackName][0]:(\r\n\t\t\t\t\t\t\t\t\tthis.hasOwnProperty(callbackName)?\r\n\t\t\t\t\t\t\t\t\t\tthis[callbackName]:\r\n\t\t\t\t\t\t\t\t\t\tundefinedVar\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\targs,\r\n\t\t\t\t\tdefaultSetting[callbackName][source]||defaultSetting[callbackName][0]||defaultSetting[callbackName],\r\n\t\t\t\t\tdefaultValue\r\n\t\t\t);\r\n\t\t},defaultValue);\r\n\t};\r\n\r\n\tfunction __get( property,source ){\r\n\t\tif(!isset(source))\r\n\t\t\tsource = 0;\r\n\t\t\r\n\t\tif( $.isArray(this.source) && isset(this.source[source]) && isset(this.source[source][property]))\r\n\t\t\treturn this.source[source][property];\r\n\t\t\t\r\n\t\tif( isset(this[property]) ){\r\n\t\t\tif( $.isArray(this[property]) ){\r\n\t\t\t\tif( isset(this[property][source]) )\r\n\t\t\t\t\treturn this[property][source];\r\n\t\t\t\tif( isset(this[property][0]) )\r\n\t\t\t\t\treturn this[property][0];\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn this[property];\r\n\t\t}\r\n\t\t\r\n\t\treturn null;\r\n\t};\r\n\r\n\tfunction loadRemote( url,sourceObject,done,debug ){\r\n\t\t$.ajax($.extend(true,{\r\n\t\t\turl : url,\r\n\t\t\ttype : 'GET' ,\r\n\t\t\tasync:true,\r\n\t\t\tcache :false,\r\n\t\t\tdataType : 'json'\r\n\t\t },sourceObject.ajax))\r\n\t\t \r\n\t\t .done(function( data ){\r\n\t\t\tdone&&done.apply(this,$.makeArray(arguments));\r\n\t\t })\r\n\t\t \r\n\t\t .fail(function( jqXHR, textStatus ){\r\n\t\t\tif( debug )\r\n\t\t\t\tconsole.log(\"Request failed: \" + textStatus);\r\n\t\t });\r\n\t}\r\n\r\n\r\n\tfunction findRight( data,query ){\r\n\t\tvar right = false,source;\r\n\t\t\r\n\t\tfor (source = 0;source < data.length;source += 1) {\r\n\t\t\tif( right = __safe.call(this,\"findRight\",source,[data[source],query,source]) ){\r\n\t\t\t\treturn {right:right,source:source};\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfunction processData( data,query ){\r\n\t\tvar source;\r\n\t\tpreparseData\r\n\t\t\t.call( this,data,query );\r\n\t\t\r\n\t\tfor (source = 0;source < data.length;source += 1) {\r\n\t\t\tdata[source] = __safe.call(this,\r\n\t\t\t\t'filter',\r\n\t\t\t\tsource,\r\n\t\t\t\t[data[source], query, source],\r\n\t\t\t\tdata[source]\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tfunction collectData( query,datasource,callback ){\r\n\t\tvar options = this,source;\r\n\t\t\r\n\t\tif( $.isFunction(options.source) ){\r\n\t\t\t\toptions.source.apply(options,[query,function(items){\r\n\t\t\t\t\tdatasource = [items];\r\n\t\t\t\t\tsafe_call.call(options,callback,[query]);\r\n\t\t\t\t},datasource,0]);\r\n\t\t}else{\r\n\t\t\tfor (source = 0;source < options.source.length;source += 1) {\r\n\t\t\t\tif ($.isArray(options.source[source])) {\r\n\t\t\t\t\tdatasource[source] = options.source[source];\r\n\t\t\t\t} else if ($.isFunction(options.source[source])) {\r\n\t\t\t\t\toptions.source[source].apply(options,[query,function(items){\r\n\t\t\t\t\t\tif (!datasource[source]) {\r\n\t\t\t\t\t\t\tdatasource[source] = [];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (items && $.isArray(items)) {\r\n\t\t\t\t\t\t\tdatasource[source] = datasource[source].concat(items);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\tsafe_call.call(options,callback,[query]);\r\n\t\t\t\t\t}, datasource,source]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswitch (options.source[source].type) {\r\n\t\t\t\t\t\tcase 'remote':\r\n\t\t\t\t\t\t\tif (isset(options.source[source].url)) {\r\n\t\t\t\t\t\t\t\tif (!isset(options.source[source].minLength) || query.length >= options.source[source].minLength){\r\n\t\t\t\t\t\t\t\t\tvar url = __safe.call(options,'replace',source,[options.source[source].url,query],'');\r\n\t\t\t\t\t\t\t\t\tif (!datasource[source]) {\r\n\t\t\t\t\t\t\t\t\t\tdatasource[source] = [];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t(function (source) {\r\n\t\t\t\t\t\t\t\t\t\tloadRemote(url,options.source[source], function(resp){\r\n\t\t\t\t\t\t\t\t\t\t\tdatasource[source] = resp;\r\n\t\t\t\t\t\t\t\t\t\t\tsafe_call.call(options,callback,[query]);\r\n\t\t\t\t\t\t\t\t\t\t},options.debug);\r\n\t\t\t\t\t\t\t\t\t}(source));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tif( isset(options.source[source]['data']) ){\r\n\t\t\t\t\t\t\t\tdatasource[source] = options.source[source]['data'];\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tdatasource[source] = options.source[source];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tsafe_call.call(options,callback,[query]);\r\n\t};\r\n\r\n\tfunction preparseData( data,query ){\r\n\t\tfor( var source=0;source=this.limit )\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t$div = $(__safe.call(this,\r\n\t\t\t\t\t'render',source,\r\n\t\t\t\t\t[data[source][i],source,i,query],\r\n\t\t\t\t\t''\r\n\t\t\t\t));\r\n\t\t\t\t\r\n\t\t\t\t$div.data('source',source);\r\n\t\t\t\t$div.data('pid',i);\r\n\t\t\t\t$div.data('item',data[source][i]);\r\n\t\t\t\t\r\n\t\t\t\t$divs.push($div);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\treturn $divs;\r\n\t};\r\n\r\n\tfunction getItem( $div,dataset ){\r\n\t\tif( isset($div.data('source')) && \r\n\t\t\tisset($div.data('pid')) && \r\n\t\t\tisset(dataset[$div.data('source')]) && \r\n\t\t\tisset(dataset[$div.data('source')][$div.data('pid')]) \r\n\t\t){\r\n\t\t\treturn dataset[$div.data('source')][$div.data('pid')]\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tfunction getValue( $div,dataset ){\r\n\t\tvar item = getItem($div,dataset);\r\n\t\t\r\n\t\tif( item ){\r\n\t\t\treturn __safe.call(this,\r\n\t\t\t\t'getValue',$div.data('source'),\r\n\t\t\t\t[item,$div.data('source')]\r\n\t\t\t);\r\n\t\t}else{\r\n\t\t\tif( isset($div.data('value')) ){\r\n\t\t\t\treturn decodeURIComponent($div.data('value'));\r\n\t\t\t}else{\r\n\t\t\t\treturn $div.html();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tdefaultSetting = {\r\n\t\tvalueKey: 'value',\r\n\t\ttitleKey: 'title',\r\n\t\thighlight: true,\r\n\r\n\t\tshowHint: true,\r\n\r\n\t\tdropdownWidth: '100%',\r\n\t\tdropdownStyle: {},\r\n\t\titemStyle: {},\r\n\t\thintStyle: false,\r\n\t\tstyle: false,\r\n\r\n\t\tdebug: true,\r\n\t\topenOnFocus: true,\r\n\t\tcloseOnBlur: true,\r\n\r\n\t\tautoselect: false,\r\n\t\t\r\n\t\taccents: true,\r\n\t\treplaceAccentsForRemote: true,\r\n\t\t\r\n\t\tlimit: 20,\r\n\t\tvisibleLimit: 20,\r\n\t\tvisibleHeight: 0,\r\n\t\tdefaultHeightItem: 30,\r\n\r\n\t\ttimeoutUpdate: 10,\r\n\r\n\t\tget: function (property, source) {\r\n\t\t\treturn __get.call(this,property,source);\r\n\t\t},\r\n\t\t\r\n\t\treplace: [\r\n\t\t\tfunction (url, query) {\r\n\t\t\t\tif (this.replaceAccentsForRemote) {\r\n\t\t\t\t\tquery = accentReplace(query);\r\n\t\t\t\t}\r\n\t\t\t\treturn url.replace('%QUERY%',encodeURIComponent(query));\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\tequal:function( value,query ){\r\n\t\t\treturn query.toLowerCase()==value.substr(0,query.length).toLowerCase();\r\n\t\t},\r\n\t\t\r\n\t\tfindRight:[\r\n\t\t\tfunction(items,query,source){\r\n\t\t\t\tvar results = [],value = '',i;\r\n\t\t\t\t\r\n\t\t\t\tfor (i = 0;i < items.length;i += 1) {\r\n\t\t\t\t\tvalue = __safe.call(this,'getValue',source,[items[i],source]);\r\n\t\t\t\t\tif( __safe.call(this,'equal',source,[value,query,source],false) ){\r\n\t\t\t\t\t\treturn items[i];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\tvalid:[\r\n\t\t\tfunction (value, query) {\r\n\t\t\t\tif (this.accents) {\r\n\t\t\t\t\tvalue = accentReplace(value);\r\n\t\t\t\t\tquery = accentReplace(query);\r\n\t\t\t\t}\r\n\t\t\t\treturn value.toLowerCase().indexOf(query.toLowerCase())!=-1;\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\tfilter:[\r\n\t\t\tfunction (items, query, source) {\r\n\t\t\t\tvar results = [], value = '',i;\r\n\t\t\t\tfor (i = 0;i < items.length;i += 1) {\r\n\t\t\t\t\tvalue = isset(items[i][this.get('valueKey', source)]) ? items[i][this.get('valueKey', source)] : items[i].toString();\r\n\t\t\t\t\tif (__safe.call(this, 'valid', source, [value, query])) {\r\n\t\t\t\t\t\tresults.push(items[i]); \r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn results;\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\tpreparse:function(items){\r\n\t\t\treturn items;\r\n\t\t},\r\n\t\t\r\n\t\tgetValue:[\r\n\t\t\tfunction ( item,source ){\r\n\t\t\t\treturn isset(item[this.get('valueKey',source)])?item[this.get('valueKey',source)]:item.toString();\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\tgetTitle:[\r\n\t\t\tfunction ( item,source ){\r\n\t\t\t\treturn isset(item[this.get('titleKey',source)])?item[this.get('titleKey',source)]:item.toString();\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\trender:[\r\n\t\t\tfunction (item, source, pid, query) {\r\n\t\t\t\tvar value = isset(item[this.get('valueKey', source)]) ? item[this.get('valueKey', source)] : item.toString(),\r\n\t\t\t\t\ttitle = (isset(item[this.get('titleKey', source)]) ? item[this.get('titleKey', source)] : value) + '',\r\n\t\t\t\t\t_value = '',\r\n\t\t\t\t\t_query = '',\r\n\t\t\t\t\t_title = '',\r\n\t\t\t\t\thilite_hints = '',\r\n\t\t\t\t\thighlighted = '',\r\n\t\t\t\t\tc, h, i,\r\n\t\t\t\t\tspos = 0;\r\n\t\t\t\t\t\r\n\t\t\t\tif (this.highlight) {\r\n\t\t\t\t\tif (!this.accents) {\r\n\t\t\t\t\t\ttitle = title.replace(new RegExp('('+escapeRegExp(query)+')','i'),'$1');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t_title = accentReplace(title).toLowerCase().replace(/[<>]+/g, ''),\r\n\t\t\t\t\t\t_query = accentReplace(query).toLowerCase().replace(/[<>]+/g, '');\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\thilite_hints = _title.replace(new RegExp(escapeRegExp(_query), 'g'), '<'+_query+'>');\r\n\t\t\t\t\t\tfor (i=0;i < hilite_hints.length;i += 1) {\r\n\t\t\t\t\t\t\tc = title.charAt(spos);\r\n\t\t\t\t\t\t\th = hilite_hints.charAt(i);\r\n\t\t\t\t\t\t\tif (h === '<') {\r\n\t\t\t\t\t\t\t\thighlighted += '';\r\n\t\t\t\t\t\t\t} else if (h === '>') {\r\n\t\t\t\t\t\t\t\thighlighted += '';\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tspos += 1;\r\n\t\t\t\t\t\t\t\thighlighted += c;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttitle = highlighted;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\treturn '
'\r\n\t\t\t\t\t\t\t+title+\r\n\t\t\t\t\t\t'
';\r\n\t\t\t}\r\n\t\t],\r\n\t\t\r\n\t\tsource:[]\r\n\t};\r\n\tfunction init( that,options ){\r\n\t\tif( $(that).hasClass('xdsoft_input') )\r\n\t\t\t\treturn;\r\n\t\t\r\n\t\tvar $box = $('
'),\r\n\t\t\t$dropdown = $('
'),\r\n\t\t\t$hint = $(''),\r\n\t\t\t$input = $(that),\r\n\t\t\ttimer1 = 0,\r\n\t\t\tdataset = [],\r\n\t\t\tiOpen\t= false,\r\n\t\t\tvalue = '',\r\n\t\t\tcurrentValue = '',\r\n\t\t\tcurrentSelect = '',\r\n\t\t\tactive = null,\r\n\t\t\tpos = 0;\r\n\t\t\r\n\t\t//it can be used to access settings\r\n\t\t$input.data('autocomplete_options', options);\r\n\t\t\r\n\t\t$dropdown\r\n\t\t\t.on('mousedown', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t})\r\n\t\t\t.on('updatescroll.xdsoft', function() {\r\n\t\t\t\tvar _act = $dropdown.find('.active');\r\n\t\t\t\tif (!_act.length) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar top = _act.position().top,\r\n\t\t\t\t\tactHght = _act.outerHeight(true),\r\n\t\t\t\t\tscrlTop = $dropdown.scrollTop(),\r\n\t\t\t\t\thght = $dropdown.height();\r\n\t\t\t\t\t\r\n\t\t\t\tif (top <0) {\r\n\t\t\t\t\t$dropdown.scrollTop(scrlTop-Math.abs(top));\r\n\t\t\t\t} else if (top+actHght>hght) {\r\n\t\t\t\t\t$dropdown.scrollTop(scrlTop+top+actHght-hght);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\r\n\t\t$box\r\n\t\t\t.css({\r\n\t\t\t\t'display':$input.css('display'),\r\n\t\t\t\t'width':$input.css('width')\r\n\t\t\t});\r\n\t\t\r\n\t\tif( options.style )\r\n\t\t\t$box.css(options.style);\r\n\t\t\t\r\n\t\t$input\r\n\t\t\t.addClass('xdsoft_input')\r\n\t\t\t.attr('autocomplete','off');\r\n\t\t\r\n\t\t$dropdown\r\n\t\t\t.on('mousemove','div',function(){\r\n\t\t\t\tif( $(this).hasClass('active') )\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t$dropdown.find('div').removeClass('active');\r\n\t\t\t\t$(this).addClass('active');\r\n\t\t\t})\r\n\t\t\t.on('mousedown','div',function(){\r\n\t\t\t\t$dropdown.find('div').removeClass('active');\r\n\t\t\t\t$(this).addClass('active');\r\n\t\t\t\t$input.trigger('pick.xdsoft');\r\n\t\t\t})\r\n\r\n\t\tfunction manageData(){\r\n\t\t\tif( $input.val()!=currentValue ){\r\n\t\t\t\tcurrentValue = $input.val();\r\n\t\t\t}else\r\n\t\t\t\treturn;\r\n\r\n\t\t\tcollectData.call(options,currentValue,dataset,function( query ){\r\n\t\t\t\tif( query != currentValue )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tvar right;\t\r\n\t\t\t\tprocessData.call(options,dataset,query);\r\n\r\n\t\t\t\t$input.trigger('updateContent.xdsoft');\r\n\r\n\t\t\t\tif( options.showHint && currentValue.length && currentValue.length<=$input.prop('size') && (right = findRight.call(options,dataset,currentValue)) ){\r\n\t\t\t\t\tvar title \t= __safe.call(options,'getTitle',right.source,[right.right,right.source]);\r\n\t\t\t\t\ttitle = /*''+*/query+/*''+*/title.substr(query.length);\r\n\t\t\t\t\t$hint.val( title );\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$hint.val('');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfunction manageKey (event) {\r\n\t\t\tvar key = event.which,right;\r\n\t\t\t\r\n\t\t\tswitch( key ){\r\n\t\t\t\tcase AKEY: case CKEY: case VKEY: case ZKEY: case YKEY:\r\n\t\t\t\t\tif (event.shiftKey || event.ctrlKey) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t\tcase SHIFTKEY:\t\r\n\t\t\t\tcase CTRLKEY:\r\n\t\t\t\t\treturn true;\r\n\t\t\t\tbreak;\r\n\t\t\t\tcase ARROWRIGHT:\t\r\n\t\t\t\tcase ARROWLEFT:\r\n\t\t\t\t\tif (ctrlDown || shiftDown || event.shiftKey || event.ctrlKey) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvalue = $input.val();\r\n\t\t\t\t\tpos = getCaretPosition($input[0]);\r\n\t\t\t\t\tif (key === ARROWRIGHT && pos === value.length) {\r\n\t\t\t\t\t\tif (right = findRight.call(options, dataset, value)){\r\n\t\t\t\t\t\t\t$input.trigger('pick.xdsoft', [\r\n\t\t\t\t\t\t\t\t__safe.call(options,\r\n\t\t\t\t\t\t\t\t\t'getValue', right.source,\r\n\t\t\t\t\t\t\t\t\t[right.right, right.source]\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$input.trigger('pick.xdsoft');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\tcase TAB:\r\n\t\t\t\treturn true;\r\n\t\t\t\tcase ENTER:\r\n\t\t\t\t\tif (iOpen) {\r\n\t\t\t\t\t\t$input.trigger('pick.xdsoft');\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t\tcase ESC:\r\n\t\t\t\t\t$input\r\n\t\t\t\t\t\t.val(currentValue)\r\n\t\t\t\t\t\t.trigger('close.xdsoft');\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\treturn false;\r\n\t\t\t\tcase ARROWDOWN:\r\n\t\t\t\tcase ARROWUP:\r\n\t\t\t\t\tif (!iOpen) {\r\n\t\t\t\t\t\t$input.trigger('open.xdsoft');\r\n\t\t\t\t\t\t$input.trigger('updateContent.xdsoft');\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tactive = $dropdown.find('div.active');\r\n\t\t\t\t\t\r\n\t\t\t\t\tvar next = key==ARROWDOWN?'next':'prev', timepick = true;\r\n\t\t\t\t\t\r\n\t\t\t\t\tif( active.length ){\r\n\t\t\t\t\t\tactive.removeClass('active');\r\n\t\t\t\t\t\tif( active[next]().length ){\r\n\t\t\t\t\t\t\tactive[next]().addClass('active');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$input.val(currentValue);\r\n\t\t\t\t\t\t\ttimepick = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$dropdown.children().eq(key==ARROWDOWN?0:-1).addClass('active');\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif( timepick ){\r\n\t\t\t\t\t\t$input.trigger('timepick.xdsoft');\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t$dropdown\r\n\t\t\t\t\t\t.trigger('updatescroll.xdsoft');\r\n\t\t\t\t\t\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\treturn false;\t\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\t$input\r\n\t\t\t.data('xdsoft_autocomplete',dataset)\r\n\t\t\t.after($box)\r\n\t\t\t.on('pick.xdsoft', function( event,_value ){\r\n\r\n\t\t\t\t$input\r\n\t\t\t\t\t.trigger('timepick.xdsoft',_value)\r\n\t\t\t\t\r\n\t\t\t\tcurrentSelect = currentValue = $input.val();\r\n\t\t\t\t\r\n\t\t\t\t$input\r\n\t\t\t\t\t.trigger('close.xdsoft');\r\n\t\t\t\t\r\n\t\t\t\tcurrentInput = false;\r\n\t\t\t\t\r\n\t\t\t\tactive = $dropdown.find('div.active').eq(0);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\tif( !active.length )\r\n\t\t\t\t\tactive = $dropdown.children().first();\r\n\t\t\t\t\t\r\n\t\t\t\t$input.trigger('selected.xdsoft',[getItem(active,dataset)]);\r\n\t\t\t})\r\n\t\t\t.on('timepick.xdsoft', function( event,_value ){\r\n\t\t\t\tactive = $dropdown.find('div.active');\r\n\t\t\t\t\t\t\t\r\n\t\t\t\tif( !active.length )\r\n\t\t\t\t\tactive = $dropdown.children().first();\r\n\t\t\t\t\r\n\t\t\t\tif( active.length ){\r\n\t\t\t\t\tif( !isset(_value) ){\r\n\t\t\t\t\t\t$input.val(getValue.call(options,active,dataset));\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$input.val(_value);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$input.trigger('autocompleted.xdsoft',[getItem(active,dataset)]);\r\n\t\t\t\t\t$hint.val('');\r\n\t\t\t\t\tsetCaretPosition($input[0],$input.val().length);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.on('keydown.xdsoft keypress.xdsoft input.xdsoft cut.xdsoft paste.xdsoft', function( event ){\r\n\t\t\t\tvar ret = manageKey(event);\r\n\t\t\t\t\r\n\t\t\t\tif (ret === false || ret === true) {\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif (!iOpen) {\r\n\t\t\t\t\t$input.trigger('open.xdsoft');\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\tmanageData();\r\n\t\t\t\t},1);\r\n\t\t\t\t\r\n\t\t\t\tmanageData();\r\n\t\t\t});\r\n\t\t\r\n\t\tcurrentValue = $input.val();\r\n\t\t\r\n\t\tcollectData.call(options, $input.val(),dataset,function( query ){\r\n\t\t\tprocessData.call(options,dataset,query);\r\n\t\t});\r\n\t\t\r\n\t\tif( options.openOnFocus ){\r\n\t\t\t$input.on('focusin.xdsoft',function(){\r\n\t\t\t\t$input.trigger('open.xdsoft');\r\n\t\t\t\t$input.trigger('updateContent.xdsoft');\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\tif( options.closeOnBlur )\r\n\t\t\t$input.on('focusout.xdsoft',function(){\r\n\t\t\t\t$input.trigger('close.xdsoft');\r\n\t\t\t});\r\n\t\t\t\r\n\t\t$box\r\n\t\t\t.append($input)\r\n\t\t\t.append($dropdown);\r\n\r\n\r\n\t\tvar olderBackground = false,\r\n\t\t\ttimerUpdate = 0;\r\n\t\t\r\n\t\t$input\r\n\t\t\t.on('updateHelperPosition.xdsoft',function(){\r\n\t\t\t\tclearTimeout(timerUpdate);\r\n\t\t\t\ttimerUpdate = setTimeout(function(){\r\n\t\t\t\t\t$box.css({\r\n\t\t\t\t\t\t'display':$input.css('display'),\r\n\t\t\t\t\t\t'width':$input.css('width')\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$dropdown.css($.extend(true,{\r\n\t\t\t\t\t\tleft:$input.position().left,\r\n\t\t\t\t\t\ttop:$input.position().top+parseInt($input.css('marginTop'))+parseInt($input[0].offsetHeight),\r\n\t\t\t\t\t\tmarginLeft:$input.css('marginLeft'),\r\n\t\t\t\t\t\tmarginRight:$input.css('marginRight'),\r\n\t\t\t\t\t\twidth:options.dropdownWidth=='100%'?$input[0].offsetWidth:options.dropdownWidth\r\n\t\t\t\t\t},options.dropdownStyle));\r\n\t\t\t\t\t\r\n\t\t\t\t\tif( options.showHint ){\r\n\t\t\t\t\t\tvar style = getComputedStyle($input[0], \"\");\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$hint[0].style.cssText = style.cssText;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$hint.css({\r\n\t\t\t\t\t\t\t'box-sizing':style.boxSizing,\r\n\t\t\t\t\t\t\tborderStyle:'solid',\r\n\t\t\t\t\t\t\tborderCollapse:style.borderCollapse,\r\n\t\t\t\t\t\t\tborderLeftWidth:style.borderLeftWidth,\r\n\t\t\t\t\t\t\tborderRightWidth:style.borderRightWidth,\r\n\t\t\t\t\t\t\tborderTopWidth:style.borderTopWidth,\r\n\t\t\t\t\t\t\tborderBottomWidth:style.borderBottomWidth,\r\n\t\t\t\t\t\t\tpaddingBottom:style.paddingBottom,\r\n\t\t\t\t\t\t\tmarginBottom:style.marginBottom,\r\n\t\t\t\t\t\t\tpaddingTop:style.paddingTop,\r\n\t\t\t\t\t\t\tmarginTop:style.marginTop,\r\n\t\t\t\t\t\t\tpaddingLeft:style.paddingLeft,\r\n\t\t\t\t\t\t\tmarginLeft:style.marginLeft,\r\n\t\t\t\t\t\t\tpaddingRight:style.paddingRight,\r\n\t\t\t\t\t\t\tmarginRight:style.marginRight,\r\n\t\t\t\t\t\t\tmaxHeight:style.maxHeight,\r\n\t\t\t\t\t\t\tminHeight:style.minHeight,\r\n\t\t\t\t\t\t\tmaxWidth:style.maxWidth,\r\n\t\t\t\t\t\t\tminWidth:style.minWidth,\r\n\t\t\t\t\t\t\twidth:style.width,\r\n\t\t\t\t\t\t\tletterSpacing:style.letterSpacing,\r\n\t\t\t\t\t\t\tlineHeight:style.lineHeight,\r\n\t\t\t\t\t\t\toutlineWidth:style.outlineWidth,\r\n\t\t\t\t\t\t\tfontFamily:style.fontFamily,\r\n\t\t\t\t\t\t\tfontVariant:style.fontVariant,\r\n\t\t\t\t\t\t\tfontStyle:style.fontStyle,\r\n\t\t\t\t\t\t\tfontSize:style.fontSize,\r\n\t\t\t\t\t\t\tfontWeight:style.fontWeight,\r\n\t\t\t\t\t\t\tflex:style.flex,\r\n\t\t\t\t\t\t\tjustifyContent:style.justifyContent,\r\n\t\t\t\t\t\t\tborderRadius:style.borderRadius,\r\n\t\t\t\t\t\t\t'-webkit-box-shadow':'none',\r\n\t\t\t\t\t\t\t'box-shadow':'none'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$input.css('font-size',style.fontSize)// fix bug with em font size\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$hint.innerHeight($input.innerHeight());\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$hint.css($.extend(true,{\r\n\t\t\t\t\t\t\tposition:'absolute',\r\n\t\t\t\t\t\t\tzIndex:'1',\r\n\t\t\t\t\t\t\tborderColor:'transparent',\r\n\t\t\t\t\t\t\toutlineColor:'transparent',\r\n\t\t\t\t\t\t\tleft:$input.position().left,\r\n\t\t\t\t\t\t\ttop:$input.position().top,\r\n\t\t\t\t\t\t\tbackground:$input.css('background')\r\n\t\t\t\t\t\t},options.hintStyle));\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif( olderBackground!==false ){\r\n\t\t\t\t\t\t\t$hint.css('background',olderBackground);\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tolderBackground = $input.css('background');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$input\r\n\t\t\t\t\t\t\t.css('background','transparent')\r\n\t\t\t\t\t\t$box\r\n\t\t\t\t\t\t\t.append($hint);\r\n\t\t\t\t\t}\r\n\t\t\t\t},options.timeoutUpdate||1);\r\n\t\t\t});\r\n\t\t\r\n\t\tif ($input.is(':visible')) {\r\n\t\t\t$input\r\n\t\t\t\t.trigger('updateHelperPosition.xdsoft');\r\n\t\t} else {\r\n\t\t\tinterval_for_visibility = setInterval(function () {\r\n\t\t\t\tif ($input.is(':visible')) {\r\n\t\t\t\t\t$input\r\n\t\t\t\t\t\t.trigger('updateHelperPosition.xdsoft');\r\n\t\t\t\t\tclearInterval(interval_for_visibility);\r\n\t\t\t\t}\r\n\t\t\t},100);\r\n\t\t}\r\n\t\t\r\n\t\t$(window).on('resize',function () {\r\n\t\t\t$box.css({\r\n\t\t\t\t'width':'auto'\r\n\t\t\t});\r\n\t\t\t$input\r\n\t\t\t\t.trigger('updateHelperPosition.xdsoft');\r\n\t\t})\r\n\t\t\r\n\t\t$input\t\r\n\t\t\t.on('close.xdsoft',function(){\r\n\t\t\t\tif( !iOpen )\r\n\t\t\t\t\treturn;\r\n\t\t\t\t\t\r\n\t\t\t\t$dropdown\r\n\t\t\t\t\t.hide();\r\n\t\t\t\t\r\n\t\t\t\t$hint\r\n\t\t\t\t\t.empty();\t\r\n\r\n\t\t\t\tif( !options.autoselect )\r\n\t\t\t\t\t$input.val(currentValue);\r\n\t\t\t\t\t\r\n\t\t\t\tiOpen = false;\r\n\r\n\t\t\t\tcurrentInput = false;\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t.on('updateContent.xdsoft',function(){\r\n\t\t\t\tvar out = renderData.call(options,dataset,$input.val()),\r\n\t\t\t\t\thght = 10;\r\n\t\t\t\t\r\n\t\t\t\tif (out.length) {\r\n\t\t\t\t\t$dropdown.show()\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$dropdown.hide()\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(out).each(function(){\r\n\t\t\t\t\tthis.css($.extend(true,{\r\n\t\t\t\t\t\tpaddingLeft:$input.css('paddingLeft'),\r\n\t\t\t\t\t\tpaddingRight:$input.css('paddingRight')\r\n\t\t\t\t\t},options.itemStyle));\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$dropdown\r\n\t\t\t\t\t.html(out);\r\n\t\t\t\t\t\r\n\t\t\t\tif (options.visibleHeight){\r\n\t\t\t\t\thght = options.visibleHeight;\r\n\t\t\t\t} else {\r\n\t\t\t\t\thght = options.visibleLimit * ((out[0] ? out[0].outerHeight(true) : 0) || options.defaultHeightItem) + 5;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t$dropdown\r\n\t\t\t\t\t.css('maxHeight', hght+'px')\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t.on('open.xdsoft',function(){\r\n\t\t\t\tif( iOpen )\r\n\t\t\t\t\treturn;\r\n\t\t\t\t\r\n\t\t\t\t$dropdown\r\n\t\t\t\t\t.show()\r\n\r\n\t\t\t\tiOpen = true;\r\n\t\t\t\t\t\r\n\t\t\t\tcurrentInput = $input;\r\n\t\t\t})\r\n\t\t\t.on('destroy.xdsoft',function(){\r\n\t\t\t\t$input.removeClass('xdsoft');\r\n\t\t\t\t$box.after($input);\r\n\t\t\t\t$box.remove();\r\n\t\t\t\tclearTimeout(timer1);\r\n\t\t\t\tcurrentInput = false;\r\n\t\t\t\t$input.data('xdsoft_autocomplete',null);\r\n\t\t\t\t$input\r\n\t\t\t\t\t.off('.xdsoft')\r\n\t\t\t});\r\n\t};\r\n\t\r\n\tpublics = {\r\n\t\tdestroy: function () {\r\n\t\t\treturn this.trigger('destroy.xdsoft');\r\n\t\t},\r\n\t\tupdate: function () {\r\n\t\t\treturn this.trigger('updateHelperPosition.xdsoft');\t\r\n\t\t},\r\n\t\toptions: function (_options) {\r\n\t\t\tif (this.data('autocomplete_options') && $.isPlainObject(_options)) {\r\n\t\t\t\tthis.data('autocomplete_options', $.extend(true, this.data('autocomplete_options'), _options));\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\t\tsetSource: function (_newsource, id) {\r\n\t\t\tif(this.data('autocomplete_options') && ($.isPlainObject(_newsource) || $.isFunction(_newsource) || $.isArray(_newsource))) {\r\n\t\t\t\tvar options = this.data('autocomplete_options'), \r\n\t\t\t\t\tdataset = this.data('xdsoft_autocomplete'),\r\n\t\t\t\t\tsource \t= options.source;\r\n\t\t\t\tif (id!==undefined && !isNaN(id)) {\r\n\t\t\t\t\tif ($.isPlainObject(_newsource) || $.isArray(_newsource)) {\r\n\t\t\t\t\t\tsource[id] = $.extend(true,$.isArray(_newsource) ? [] : {}, _newsource);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsource[id] = _newsource;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif ($.isFunction(_newsource)) {\r\n\t\t\t\t\t\tthis.data('autocomplete_options').source = _newsource;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$.extend(true, source, _newsource);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tcollectData.call(options, this.val(), dataset,function( query ){\r\n\t\t\t\t\tprocessData.call(options,dataset,query);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\t\tgetSource: function (id) {\r\n\t\t\tif (this.data('autocomplete_options')) {\r\n\t\t\t\tvar source = this.data('autocomplete_options').source;\r\n\t\t\t\tif (id!==undefined && !isNaN(id) &&source[id]) {\r\n\t\t\t\t\treturn source[id];\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn source;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t} \r\n\t};\r\n\t\r\n\t$.fn.autocomplete = function(_options, _second, _third){\r\n\t\tif ($.type(_options) === 'string' && publics[_options]) {\r\n\t\t\treturn publics[_options].call(this, _second, _third);\r\n\t\t}\r\n\t\treturn this.each(function () {\r\n\t\t\tvar options = $.extend(true, {}, defaultSetting, _options);\r\n\t\t\tinit(this, options);\r\n\t\t});\r\n\t};\r\n}(jQuery));", "/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n( function( factory ) {\n\t\"use strict\";\n\t\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.13.3\";\n\n\n/*!\n * jQuery UI Widget 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: https://api.jqueryui.com/jQuery.widget/\n//>>demos: https://jqueryui.com/widget/\n\n\nvar widgetUuid = 0;\nvar widgetHasOwnProperty = Array.prototype.hasOwnProperty;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\n\t\t\t// Only trigger remove when necessary to save time\n\t\t\tevents = $._data( elem, \"events\" );\n\t\t\tif ( events && events.remove ) {\n\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( Array.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this || !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( typeof value !== \"function\" ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof instance[ options ] !== \"function\" ||\n\t\t\t\t\t\toptions.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
\",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction bindRemoveEvent() {\n\t\t\tvar nodesToBind = [];\n\n\t\t\toptions.element.each( function( _, element ) {\n\t\t\t\tvar isTracked = $.map( that.classesElementLookup, function( elements ) {\n\t\t\t\t\treturn elements;\n\t\t\t\t} )\n\t\t\t\t\t.some( function( elements ) {\n\t\t\t\t\t\treturn elements.is( element );\n\t\t\t\t\t} );\n\n\t\t\t\tif ( !isTracked ) {\n\t\t\t\t\tnodesToBind.push( element );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthat._on( $( nodesToBind ), {\n\t\t\t\tremove: \"_untrackClassesElement\"\n\t\t\t} );\n\t\t}\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tbindRemoveEvent();\n\t\t\t\t\tcurrent = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\n\t\tthis._off( $( event.target ) );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( typeof callback === \"function\" &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t} else if ( options === true ) {\n\t\t\toptions = {};\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: https://api.jqueryui.com/position/\n//>>demos: https://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction isWindow( obj ) {\n\treturn obj != null && obj === obj.window;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
\" +\n\t\t\t\t\"
\" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisElemWindow = isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isElemWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isElemWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\n\t\t// Make sure string options are treated as CSS selectors\n\t\ttarget = typeof options.of === \"string\" ?\n\t\t\t$( document ).find( options.of ) :\n\t\t\t$( options.of ),\n\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI :data 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: :data Selector\n//>>group: Core\n//>>description: Selects elements which have data stored under the specified key.\n//>>docs: https://api.jqueryui.com/data-selector/\n\n\nvar data = $.extend( $.expr.pseudos, {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo( function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t} ) :\n\n\t\t// Support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t}\n} );\n\n/*!\n * jQuery UI Disable Selection 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: disableSelection\n//>>group: Core\n//>>description: Disable selection of text content within the set of matched elements.\n//>>docs: https://api.jqueryui.com/disableSelection/\n\n// This file is deprecated\n\nvar disableSelection = $.fn.extend( {\n\tdisableSelection: ( function() {\n\t\tvar eventType = \"onselectstart\" in document.createElement( \"div\" ) ?\n\t\t\t\"selectstart\" :\n\t\t\t\"mousedown\";\n\n\t\treturn function() {\n\t\t\treturn this.on( eventType + \".ui-disableSelection\", function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tenableSelection: function() {\n\t\treturn this.off( \".ui-disableSelection\" );\n\t}\n} );\n\n\n\n// Create a local jQuery because jQuery Color relies on it and the\n// global may not exist with AMD and a custom build (#10199).\n// This module is a noop if used as a regular AMD module.\n// eslint-disable-next-line no-unused-vars\nvar jQuery = $;\n\n\n/*!\n * jQuery Color Animations v2.2.0\n * https://github.com/jquery/jquery-color\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * Date: Sun May 10 09:02:36 2020 +0200\n */\n\n\n\n\tvar stepHooks = \"backgroundColor borderBottomColor borderLeftColor borderRightColor \" +\n\t\t\"borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",\n\n\tclass2type = {},\n\ttoString = class2type.toString,\n\n\t// plusequals test for += 100 -= 100\n\trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n\n\t// a set of RE's that can match strings and generate color tuples.\n\tstringParsers = [ {\n\t\t\tre: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ],\n\t\t\t\t\texecResult[ 3 ],\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ] * 2.55,\n\t\t\t\t\texecResult[ 2 ] * 2.55,\n\t\t\t\t\texecResult[ 3 ] * 2.55,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ], 16 ),\n\t\t\t\t\texecResult[ 4 ] ?\n\t\t\t\t\t\t( parseInt( execResult[ 4 ], 16 ) / 255 ).toFixed( 2 ) :\n\t\t\t\t\t\t1\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 ),\n\t\t\t\t\texecResult[ 4 ] ?\n\t\t\t\t\t\t( parseInt( execResult[ 4 ] + execResult[ 4 ], 16 ) / 255 )\n\t\t\t\t\t\t\t.toFixed( 2 ) :\n\t\t\t\t\t\t1\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tspace: \"hsla\",\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ] / 100,\n\t\t\t\t\texecResult[ 3 ] / 100,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t} ],\n\n\t// jQuery.Color( )\n\tcolor = jQuery.Color = function( color, green, blue, alpha ) {\n\t\treturn new jQuery.Color.fn.parse( color, green, blue, alpha );\n\t},\n\tspaces = {\n\t\trgba: {\n\t\t\tprops: {\n\t\t\t\tred: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tgreen: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thsla: {\n\t\t\tprops: {\n\t\t\t\thue: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"degrees\"\n\t\t\t\t},\n\t\t\t\tsaturation: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t},\n\t\t\t\tlightness: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tpropTypes = {\n\t\t\"byte\": {\n\t\t\tfloor: true,\n\t\t\tmax: 255\n\t\t},\n\t\t\"percent\": {\n\t\t\tmax: 1\n\t\t},\n\t\t\"degrees\": {\n\t\t\tmod: 360,\n\t\t\tfloor: true\n\t\t}\n\t},\n\tsupport = color.support = {},\n\n\t// element for support tests\n\tsupportElem = jQuery( \"

\" )[ 0 ],\n\n\t// colors = jQuery.Color.names\n\tcolors,\n\n\t// local aliases of functions called often\n\teach = jQuery.each;\n\n// determine rgba support immediately\nsupportElem.style.cssText = \"background-color:rgba(1,1,1,.5)\";\nsupport.rgba = supportElem.style.backgroundColor.indexOf( \"rgba\" ) > -1;\n\n// define cache name and alpha properties\n// for rgba and hsla spaces\neach( spaces, function( spaceName, space ) {\n\tspace.cache = \"_\" + spaceName;\n\tspace.props.alpha = {\n\t\tidx: 3,\n\t\ttype: \"percent\",\n\t\tdef: 1\n\t};\n} );\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction getType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\treturn typeof obj === \"object\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n\nfunction clamp( value, prop, allowEmpty ) {\n\tvar type = propTypes[ prop.type ] || {};\n\n\tif ( value == null ) {\n\t\treturn ( allowEmpty || !prop.def ) ? null : prop.def;\n\t}\n\n\t// ~~ is an short way of doing floor for positive numbers\n\tvalue = type.floor ? ~~value : parseFloat( value );\n\n\t// IE will pass in empty strings as value for alpha,\n\t// which will hit this case\n\tif ( isNaN( value ) ) {\n\t\treturn prop.def;\n\t}\n\n\tif ( type.mod ) {\n\n\t\t// we add mod before modding to make sure that negatives values\n\t\t// get converted properly: -10 -> 350\n\t\treturn ( value + type.mod ) % type.mod;\n\t}\n\n\t// for now all property types without mod have min and max\n\treturn Math.min( type.max, Math.max( 0, value ) );\n}\n\nfunction stringParse( string ) {\n\tvar inst = color(),\n\t\trgba = inst._rgba = [];\n\n\tstring = string.toLowerCase();\n\n\teach( stringParsers, function( _i, parser ) {\n\t\tvar parsed,\n\t\t\tmatch = parser.re.exec( string ),\n\t\t\tvalues = match && parser.parse( match ),\n\t\t\tspaceName = parser.space || \"rgba\";\n\n\t\tif ( values ) {\n\t\t\tparsed = inst[ spaceName ]( values );\n\n\t\t\t// if this was an rgba parse the assignment might happen twice\n\t\t\t// oh well....\n\t\t\tinst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];\n\t\t\trgba = inst._rgba = parsed._rgba;\n\n\t\t\t// exit each( stringParsers ) here because we matched\n\t\t\treturn false;\n\t\t}\n\t} );\n\n\t// Found a stringParser that handled it\n\tif ( rgba.length ) {\n\n\t\t// if this came from a parsed string, force \"transparent\" when alpha is 0\n\t\t// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\n\t\tif ( rgba.join() === \"0,0,0,0\" ) {\n\t\t\tjQuery.extend( rgba, colors.transparent );\n\t\t}\n\t\treturn inst;\n\t}\n\n\t// named colors\n\treturn colors[ string ];\n}\n\ncolor.fn = jQuery.extend( color.prototype, {\n\tparse: function( red, green, blue, alpha ) {\n\t\tif ( red === undefined ) {\n\t\t\tthis._rgba = [ null, null, null, null ];\n\t\t\treturn this;\n\t\t}\n\t\tif ( red.jquery || red.nodeType ) {\n\t\t\tred = jQuery( red ).css( green );\n\t\t\tgreen = undefined;\n\t\t}\n\n\t\tvar inst = this,\n\t\t\ttype = getType( red ),\n\t\t\trgba = this._rgba = [];\n\n\t\t// more than 1 argument specified - assume ( red, green, blue, alpha )\n\t\tif ( green !== undefined ) {\n\t\t\tred = [ red, green, blue, alpha ];\n\t\t\ttype = \"array\";\n\t\t}\n\n\t\tif ( type === \"string\" ) {\n\t\t\treturn this.parse( stringParse( red ) || colors._default );\n\t\t}\n\n\t\tif ( type === \"array\" ) {\n\t\t\teach( spaces.rgba.props, function( _key, prop ) {\n\t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n\t\t\t} );\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( type === \"object\" ) {\n\t\t\tif ( red instanceof color ) {\n\t\t\t\teach( spaces, function( _spaceName, space ) {\n\t\t\t\t\tif ( red[ space.cache ] ) {\n\t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\teach( spaces, function( _spaceName, space ) {\n\t\t\t\t\tvar cache = space.cache;\n\t\t\t\t\teach( space.props, function( key, prop ) {\n\n\t\t\t\t\t\t// if the cache doesn't exist, and we know how to convert\n\t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n\n\t\t\t\t\t\t\t// if the value was null, we don't need to copy it\n\t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it either\n\t\t\t\t\t\t\tif ( key === \"alpha\" || red[ key ] == null ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// this is the only case where we allow nulls for ALL properties.\n\t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n\t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// everything defined but alpha?\n\t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {\n\n\t\t\t\t\t\t// use the default of 1\n\t\t\t\t\t\tif ( inst[ cache ][ 3 ] == null ) {\n\t\t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( space.from ) {\n\t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t},\n\tis: function( compare ) {\n\t\tvar is = color( compare ),\n\t\t\tsame = true,\n\t\t\tinst = this;\n\n\t\teach( spaces, function( _, space ) {\n\t\t\tvar localCache,\n\t\t\t\tisCache = is[ space.cache ];\n\t\t\tif ( isCache ) {\n\t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];\n\t\t\t\teach( space.props, function( _, prop ) {\n\t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n\t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx ] );\n\t\t\t\t\t\treturn same;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn same;\n\t\t} );\n\t\treturn same;\n\t},\n\t_space: function() {\n\t\tvar used = [],\n\t\t\tinst = this;\n\t\teach( spaces, function( spaceName, space ) {\n\t\t\tif ( inst[ space.cache ] ) {\n\t\t\t\tused.push( spaceName );\n\t\t\t}\n\t\t} );\n\t\treturn used.pop();\n\t},\n\ttransition: function( other, distance ) {\n\t\tvar end = color( other ),\n\t\t\tspaceName = end._space(),\n\t\t\tspace = spaces[ spaceName ],\n\t\t\tstartColor = this.alpha() === 0 ? color( \"transparent\" ) : this,\n\t\t\tstart = startColor[ space.cache ] || space.to( startColor._rgba ),\n\t\t\tresult = start.slice();\n\n\t\tend = end[ space.cache ];\n\t\teach( space.props, function( _key, prop ) {\n\t\t\tvar index = prop.idx,\n\t\t\t\tstartValue = start[ index ],\n\t\t\t\tendValue = end[ index ],\n\t\t\t\ttype = propTypes[ prop.type ] || {};\n\n\t\t\t// if null, don't override start value\n\t\t\tif ( endValue === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if null - use end\n\t\t\tif ( startValue === null ) {\n\t\t\t\tresult[ index ] = endValue;\n\t\t\t} else {\n\t\t\t\tif ( type.mod ) {\n\t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue += type.mod;\n\t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue -= type.mod;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );\n\t\t\t}\n\t\t} );\n\t\treturn this[ spaceName ]( result );\n\t},\n\tblend: function( opaque ) {\n\n\t\t// if we are already opaque - return ourself\n\t\tif ( this._rgba[ 3 ] === 1 ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tvar rgb = this._rgba.slice(),\n\t\t\ta = rgb.pop(),\n\t\t\tblend = color( opaque )._rgba;\n\n\t\treturn color( jQuery.map( rgb, function( v, i ) {\n\t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n\t\t} ) );\n\t},\n\ttoRgbaString: function() {\n\t\tvar prefix = \"rgba(\",\n\t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n\t\t\t\tif ( v != null ) {\n\t\t\t\t\treturn v;\n\t\t\t\t}\n\t\t\t\treturn i > 2 ? 1 : 0;\n\t\t\t} );\n\n\t\tif ( rgba[ 3 ] === 1 ) {\n\t\t\trgba.pop();\n\t\t\tprefix = \"rgb(\";\n\t\t}\n\n\t\treturn prefix + rgba.join() + \")\";\n\t},\n\ttoHslaString: function() {\n\t\tvar prefix = \"hsla(\",\n\t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n\t\t\t\tif ( v == null ) {\n\t\t\t\t\tv = i > 2 ? 1 : 0;\n\t\t\t\t}\n\n\t\t\t\t// catch 1 and 2\n\t\t\t\tif ( i && i < 3 ) {\n\t\t\t\t\tv = Math.round( v * 100 ) + \"%\";\n\t\t\t\t}\n\t\t\t\treturn v;\n\t\t\t} );\n\n\t\tif ( hsla[ 3 ] === 1 ) {\n\t\t\thsla.pop();\n\t\t\tprefix = \"hsl(\";\n\t\t}\n\t\treturn prefix + hsla.join() + \")\";\n\t},\n\ttoHexString: function( includeAlpha ) {\n\t\tvar rgba = this._rgba.slice(),\n\t\t\talpha = rgba.pop();\n\n\t\tif ( includeAlpha ) {\n\t\t\trgba.push( ~~( alpha * 255 ) );\n\t\t}\n\n\t\treturn \"#\" + jQuery.map( rgba, function( v ) {\n\n\t\t\t// default to 0 when nulls exist\n\t\t\tv = ( v || 0 ).toString( 16 );\n\t\t\treturn v.length === 1 ? \"0\" + v : v;\n\t\t} ).join( \"\" );\n\t},\n\ttoString: function() {\n\t\treturn this._rgba[ 3 ] === 0 ? \"transparent\" : this.toRgbaString();\n\t}\n} );\ncolor.fn.parse.prototype = color.fn;\n\n// hsla conversions adapted from:\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\n\nfunction hue2rgb( p, q, h ) {\n\th = ( h + 1 ) % 1;\n\tif ( h * 6 < 1 ) {\n\t\treturn p + ( q - p ) * h * 6;\n\t}\n\tif ( h * 2 < 1 ) {\n\t\treturn q;\n\t}\n\tif ( h * 3 < 2 ) {\n\t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\n\t}\n\treturn p;\n}\n\nspaces.hsla.to = function( rgba ) {\n\tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {\n\t\treturn [ null, null, null, rgba[ 3 ] ];\n\t}\n\tvar r = rgba[ 0 ] / 255,\n\t\tg = rgba[ 1 ] / 255,\n\t\tb = rgba[ 2 ] / 255,\n\t\ta = rgba[ 3 ],\n\t\tmax = Math.max( r, g, b ),\n\t\tmin = Math.min( r, g, b ),\n\t\tdiff = max - min,\n\t\tadd = max + min,\n\t\tl = add * 0.5,\n\t\th, s;\n\n\tif ( min === max ) {\n\t\th = 0;\n\t} else if ( r === max ) {\n\t\th = ( 60 * ( g - b ) / diff ) + 360;\n\t} else if ( g === max ) {\n\t\th = ( 60 * ( b - r ) / diff ) + 120;\n\t} else {\n\t\th = ( 60 * ( r - g ) / diff ) + 240;\n\t}\n\n\t// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%\n\t// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)\n\tif ( diff === 0 ) {\n\t\ts = 0;\n\t} else if ( l <= 0.5 ) {\n\t\ts = diff / add;\n\t} else {\n\t\ts = diff / ( 2 - add );\n\t}\n\treturn [ Math.round( h ) % 360, s, l, a == null ? 1 : a ];\n};\n\nspaces.hsla.from = function( hsla ) {\n\tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {\n\t\treturn [ null, null, null, hsla[ 3 ] ];\n\t}\n\tvar h = hsla[ 0 ] / 360,\n\t\ts = hsla[ 1 ],\n\t\tl = hsla[ 2 ],\n\t\ta = hsla[ 3 ],\n\t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n\t\tp = 2 * l - q;\n\n\treturn [\n\t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n\t\ta\n\t];\n};\n\n\neach( spaces, function( spaceName, space ) {\n\tvar props = space.props,\n\t\tcache = space.cache,\n\t\tto = space.to,\n\t\tfrom = space.from;\n\n\t// makes rgba() and hsla()\n\tcolor.fn[ spaceName ] = function( value ) {\n\n\t\t// generate a cache for this space if it doesn't exist\n\t\tif ( to && !this[ cache ] ) {\n\t\t\tthis[ cache ] = to( this._rgba );\n\t\t}\n\t\tif ( value === undefined ) {\n\t\t\treturn this[ cache ].slice();\n\t\t}\n\n\t\tvar ret,\n\t\t\ttype = getType( value ),\n\t\t\tarr = ( type === \"array\" || type === \"object\" ) ? value : arguments,\n\t\t\tlocal = this[ cache ].slice();\n\n\t\teach( props, function( key, prop ) {\n\t\t\tvar val = arr[ type === \"object\" ? key : prop.idx ];\n\t\t\tif ( val == null ) {\n\t\t\t\tval = local[ prop.idx ];\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = clamp( val, prop );\n\t\t} );\n\n\t\tif ( from ) {\n\t\t\tret = color( from( local ) );\n\t\t\tret[ cache ] = local;\n\t\t\treturn ret;\n\t\t} else {\n\t\t\treturn color( local );\n\t\t}\n\t};\n\n\t// makes red() green() blue() alpha() hue() saturation() lightness()\n\teach( props, function( key, prop ) {\n\n\t\t// alpha is included in more than one space\n\t\tif ( color.fn[ key ] ) {\n\t\t\treturn;\n\t\t}\n\t\tcolor.fn[ key ] = function( value ) {\n\t\t\tvar local, cur, match, fn,\n\t\t\t\tvtype = getType( value );\n\n\t\t\tif ( key === \"alpha\" ) {\n\t\t\t\tfn = this._hsla ? \"hsla\" : \"rgba\";\n\t\t\t} else {\n\t\t\t\tfn = spaceName;\n\t\t\t}\n\t\t\tlocal = this[ fn ]();\n\t\t\tcur = local[ prop.idx ];\n\n\t\t\tif ( vtype === \"undefined\" ) {\n\t\t\t\treturn cur;\n\t\t\t}\n\n\t\t\tif ( vtype === \"function\" ) {\n\t\t\t\tvalue = value.call( this, cur );\n\t\t\t\tvtype = getType( value );\n\t\t\t}\n\t\t\tif ( value == null && prop.empty ) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( vtype === \"string\" ) {\n\t\t\t\tmatch = rplusequals.exec( value );\n\t\t\t\tif ( match ) {\n\t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === \"+\" ? 1 : -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = value;\n\t\t\treturn this[ fn ]( local );\n\t\t};\n\t} );\n} );\n\n// add cssHook and .fx.step function for each named hook.\n// accept a space separated string of properties\ncolor.hook = function( hook ) {\n\tvar hooks = hook.split( \" \" );\n\teach( hooks, function( _i, hook ) {\n\t\tjQuery.cssHooks[ hook ] = {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar parsed, curElem,\n\t\t\t\t\tbackgroundColor = \"\";\n\n\t\t\t\tif ( value !== \"transparent\" && ( getType( value ) !== \"string\" || ( parsed = stringParse( value ) ) ) ) {\n\t\t\t\t\tvalue = color( parsed || value );\n\t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n\t\t\t\t\t\tcurElem = hook === \"backgroundColor\" ? elem.parentNode : elem;\n\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t( backgroundColor === \"\" || backgroundColor === \"transparent\" ) &&\n\t\t\t\t\t\t\tcurElem && curElem.style\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem, \"backgroundColor\" );\n\t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n\t\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvalue = value.blend( backgroundColor && backgroundColor !== \"transparent\" ?\n\t\t\t\t\t\t\tbackgroundColor :\n\t\t\t\t\t\t\t\"_default\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = value.toRgbaString();\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\telem.style[ hook ] = value;\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tjQuery.fx.step[ hook ] = function( fx ) {\n\t\t\tif ( !fx.colorInit ) {\n\t\t\t\tfx.start = color( fx.elem, hook );\n\t\t\t\tfx.end = color( fx.end );\n\t\t\t\tfx.colorInit = true;\n\t\t\t}\n\t\t\tjQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );\n\t\t};\n\t} );\n\n};\n\ncolor.hook( stepHooks );\n\njQuery.cssHooks.borderColor = {\n\texpand: function( value ) {\n\t\tvar expanded = {};\n\n\t\teach( [ \"Top\", \"Right\", \"Bottom\", \"Left\" ], function( _i, part ) {\n\t\t\texpanded[ \"border\" + part + \"Color\" ] = value;\n\t\t} );\n\t\treturn expanded;\n\t}\n};\n\n// Basic color names only.\n// Usage of any of the other color names requires adding yourself or including\n// jquery.color.svg-names.js.\ncolors = jQuery.Color.names = {\n\n\t// 4.1. Basic color keywords\n\taqua: \"#00ffff\",\n\tblack: \"#000000\",\n\tblue: \"#0000ff\",\n\tfuchsia: \"#ff00ff\",\n\tgray: \"#808080\",\n\tgreen: \"#008000\",\n\tlime: \"#00ff00\",\n\tmaroon: \"#800000\",\n\tnavy: \"#000080\",\n\tolive: \"#808000\",\n\tpurple: \"#800080\",\n\tred: \"#ff0000\",\n\tsilver: \"#c0c0c0\",\n\tteal: \"#008080\",\n\twhite: \"#ffffff\",\n\tyellow: \"#ffff00\",\n\n\t// 4.2.3. \"transparent\" color keyword\n\ttransparent: [ null, null, null, 0 ],\n\n\t_default: \"#ffffff\"\n};\n\n\n/*!\n * jQuery UI Effects 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Effects Core\n//>>group: Effects\n/* eslint-disable max-len */\n//>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.\n/* eslint-enable max-len */\n//>>docs: https://api.jqueryui.com/category/effects-core/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar dataSpace = \"ui-effects-\",\n\tdataSpaceStyle = \"ui-effects-style\",\n\tdataSpaceAnimated = \"ui-effects-animated\";\n\n$.effects = {\n\teffect: {}\n};\n\n/******************************************************************************/\n/****************************** CLASS ANIMATIONS ******************************/\n/******************************************************************************/\n( function() {\n\nvar classAnimationActions = [ \"add\", \"remove\", \"toggle\" ],\n\tshorthandStyles = {\n\t\tborder: 1,\n\t\tborderBottom: 1,\n\t\tborderColor: 1,\n\t\tborderLeft: 1,\n\t\tborderRight: 1,\n\t\tborderTop: 1,\n\t\tborderWidth: 1,\n\t\tmargin: 1,\n\t\tpadding: 1\n\t};\n\n$.each(\n\t[ \"borderLeftStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderTopStyle\" ],\n\tfunction( _, prop ) {\n\t\t$.fx.step[ prop ] = function( fx ) {\n\t\t\tif ( fx.end !== \"none\" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {\n\t\t\t\tjQuery.style( fx.elem, prop, fx.end );\n\t\t\t\tfx.setAttr = true;\n\t\t\t}\n\t\t};\n\t}\n);\n\nfunction camelCase( string ) {\n\treturn string.replace( /-([\\da-z])/gi, function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t} );\n}\n\nfunction getElementStyles( elem ) {\n\tvar key, len,\n\t\tstyle = elem.ownerDocument.defaultView ?\n\t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null ) :\n\t\t\telem.currentStyle,\n\t\tstyles = {};\n\n\tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {\n\t\tlen = style.length;\n\t\twhile ( len-- ) {\n\t\t\tkey = style[ len ];\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ camelCase( key ) ] = style[ key ];\n\t\t\t}\n\t\t}\n\n\t// Support: Opera, IE <9\n\t} else {\n\t\tfor ( key in style ) {\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ key ] = style[ key ];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn styles;\n}\n\nfunction styleDifference( oldStyle, newStyle ) {\n\tvar diff = {},\n\t\tname, value;\n\n\tfor ( name in newStyle ) {\n\t\tvalue = newStyle[ name ];\n\t\tif ( oldStyle[ name ] !== value ) {\n\t\t\tif ( !shorthandStyles[ name ] ) {\n\t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {\n\t\t\t\t\tdiff[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n// Support: jQuery <1.8\nif ( !$.fn.addBack ) {\n\t$.fn.addBack = function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t};\n}\n\n$.effects.animateClass = function( value, duration, easing, callback ) {\n\tvar o = $.speed( duration, easing, callback );\n\n\treturn this.queue( function() {\n\t\tvar animated = $( this ),\n\t\t\tbaseClass = animated.attr( \"class\" ) || \"\",\n\t\t\tapplyClassChange,\n\t\t\tallAnimations = o.children ? animated.find( \"*\" ).addBack() : animated;\n\n\t\t// Map the animated objects to store the original styles.\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tvar el = $( this );\n\t\t\treturn {\n\t\t\t\tel: el,\n\t\t\t\tstart: getElementStyles( this )\n\t\t\t};\n\t\t} );\n\n\t\t// Apply class change\n\t\tapplyClassChange = function() {\n\t\t\t$.each( classAnimationActions, function( i, action ) {\n\t\t\t\tif ( value[ action ] ) {\n\t\t\t\t\tanimated[ action + \"Class\" ]( value[ action ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t\tapplyClassChange();\n\n\t\t// Map all animated objects again - calculate new styles and diff\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tthis.end = getElementStyles( this.el[ 0 ] );\n\t\t\tthis.diff = styleDifference( this.start, this.end );\n\t\t\treturn this;\n\t\t} );\n\n\t\t// Apply original class\n\t\tanimated.attr( \"class\", baseClass );\n\n\t\t// Map all animated objects again - this time collecting a promise\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tvar styleInfo = this,\n\t\t\t\tdfd = $.Deferred(),\n\t\t\t\topts = $.extend( {}, o, {\n\t\t\t\t\tqueue: false,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tdfd.resolve( styleInfo );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\tthis.el.animate( this.diff, opts );\n\t\t\treturn dfd.promise();\n\t\t} );\n\n\t\t// Once all animations have completed:\n\t\t$.when.apply( $, allAnimations.get() ).done( function() {\n\n\t\t\t// Set the final class\n\t\t\tapplyClassChange();\n\n\t\t\t// For each animated element,\n\t\t\t// clear all css properties that were animated\n\t\t\t$.each( arguments, function() {\n\t\t\t\tvar el = this.el;\n\t\t\t\t$.each( this.diff, function( key ) {\n\t\t\t\t\tel.css( key, \"\" );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// This is guarnteed to be there if you use jQuery.speed()\n\t\t\t// it also handles dequeuing the next anim...\n\t\t\to.complete.call( animated[ 0 ] );\n\t\t} );\n\t} );\n};\n\n$.fn.extend( {\n\taddClass: ( function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn speed ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t} )( $.fn.addClass ),\n\n\tremoveClass: ( function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn arguments.length > 1 ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t} )( $.fn.removeClass ),\n\n\ttoggleClass: ( function( orig ) {\n\t\treturn function( classNames, force, speed, easing, callback ) {\n\t\t\tif ( typeof force === \"boolean\" || force === undefined ) {\n\t\t\t\tif ( !speed ) {\n\n\t\t\t\t\t// Without speed parameter\n\t\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t\t} else {\n\t\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t\t( force ? { add: classNames } : { remove: classNames } ),\n\t\t\t\t\t\tspeed, easing, callback );\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Without force parameter\n\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t{ toggle: classNames }, force, speed, easing );\n\t\t\t}\n\t\t};\n\t} )( $.fn.toggleClass ),\n\n\tswitchClass: function( remove, add, speed, easing, callback ) {\n\t\treturn $.effects.animateClass.call( this, {\n\t\t\tadd: add,\n\t\t\tremove: remove\n\t\t}, speed, easing, callback );\n\t}\n} );\n\n} )();\n\n/******************************************************************************/\n/*********************************** EFFECTS **********************************/\n/******************************************************************************/\n\n( function() {\n\nif ( $.expr && $.expr.pseudos && $.expr.pseudos.animated ) {\n\t$.expr.pseudos.animated = ( function( orig ) {\n\t\treturn function( elem ) {\n\t\t\treturn !!$( elem ).data( dataSpaceAnimated ) || orig( elem );\n\t\t};\n\t} )( $.expr.pseudos.animated );\n}\n\nif ( $.uiBackCompat !== false ) {\n\t$.extend( $.effects, {\n\n\t\t// Saves a set of properties in a data storage\n\t\tsave: function( element, set ) {\n\t\t\tvar i = 0, length = set.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\t\telement.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Restores a set of previously saved properties from a data storage\n\t\trestore: function( element, set ) {\n\t\t\tvar val, i = 0, length = set.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\t\tval = element.data( dataSpace + set[ i ] );\n\t\t\t\t\telement.css( set[ i ], val );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tsetMode: function( el, mode ) {\n\t\t\tif ( mode === \"toggle\" ) {\n\t\t\t\tmode = el.is( \":hidden\" ) ? \"show\" : \"hide\";\n\t\t\t}\n\t\t\treturn mode;\n\t\t},\n\n\t\t// Wraps the element around a wrapper that copies position properties\n\t\tcreateWrapper: function( element ) {\n\n\t\t\t// If the element is already wrapped, return it\n\t\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\t\treturn element.parent();\n\t\t\t}\n\n\t\t\t// Wrap the element\n\t\t\tvar props = {\n\t\t\t\t\twidth: element.outerWidth( true ),\n\t\t\t\t\theight: element.outerHeight( true ),\n\t\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t\t},\n\t\t\t\twrapper = $( \"

\" )\n\t\t\t\t\t.addClass( \"ui-effects-wrapper\" )\n\t\t\t\t\t.css( {\n\t\t\t\t\t\tfontSize: \"100%\",\n\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\tpadding: 0\n\t\t\t\t\t} ),\n\n\t\t\t\t// Store the size in case width/height are defined in % - Fixes #5245\n\t\t\t\tsize = {\n\t\t\t\t\twidth: element.width(),\n\t\t\t\t\theight: element.height()\n\t\t\t\t},\n\t\t\t\tactive = document.activeElement;\n\n\t\t\t// Support: Firefox\n\t\t\t// Firefox incorrectly exposes anonymous content\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tactive.id;\n\t\t\t} catch ( e ) {\n\t\t\t\tactive = document.body;\n\t\t\t}\n\n\t\t\telement.wrap( wrapper );\n\n\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t$( active ).trigger( \"focus\" );\n\t\t\t}\n\n\t\t\t// Hotfix for jQuery 1.4 since some change in wrap() seems to actually\n\t\t\t// lose the reference to the wrapped element\n\t\t\twrapper = element.parent();\n\n\t\t\t// Transfer positioning properties to the wrapper\n\t\t\tif ( element.css( \"position\" ) === \"static\" ) {\n\t\t\t\twrapper.css( { position: \"relative\" } );\n\t\t\t\telement.css( { position: \"relative\" } );\n\t\t\t} else {\n\t\t\t\t$.extend( props, {\n\t\t\t\t\tposition: element.css( \"position\" ),\n\t\t\t\t\tzIndex: element.css( \"z-index\" )\n\t\t\t\t} );\n\t\t\t\t$.each( [ \"top\", \"left\", \"bottom\", \"right\" ], function( i, pos ) {\n\t\t\t\t\tprops[ pos ] = element.css( pos );\n\t\t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n\t\t\t\t\t\tprops[ pos ] = \"auto\";\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\telement.css( {\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tright: \"auto\",\n\t\t\t\t\tbottom: \"auto\"\n\t\t\t\t} );\n\t\t\t}\n\t\t\telement.css( size );\n\n\t\t\treturn wrapper.css( props ).show();\n\t\t},\n\n\t\tremoveWrapper: function( element ) {\n\t\t\tvar active = document.activeElement;\n\n\t\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\t\telement.parent().replaceWith( element );\n\n\t\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t\t$( active ).trigger( \"focus\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn element;\n\t\t}\n\t} );\n}\n\n$.extend( $.effects, {\n\tversion: \"1.13.3\",\n\n\tdefine: function( name, mode, effect ) {\n\t\tif ( !effect ) {\n\t\t\teffect = mode;\n\t\t\tmode = \"effect\";\n\t\t}\n\n\t\t$.effects.effect[ name ] = effect;\n\t\t$.effects.effect[ name ].mode = mode;\n\n\t\treturn effect;\n\t},\n\n\tscaledDimensions: function( element, percent, direction ) {\n\t\tif ( percent === 0 ) {\n\t\t\treturn {\n\t\t\t\theight: 0,\n\t\t\t\twidth: 0,\n\t\t\t\touterHeight: 0,\n\t\t\t\touterWidth: 0\n\t\t\t};\n\t\t}\n\n\t\tvar x = direction !== \"horizontal\" ? ( ( percent || 100 ) / 100 ) : 1,\n\t\t\ty = direction !== \"vertical\" ? ( ( percent || 100 ) / 100 ) : 1;\n\n\t\treturn {\n\t\t\theight: element.height() * y,\n\t\t\twidth: element.width() * x,\n\t\t\touterHeight: element.outerHeight() * y,\n\t\t\touterWidth: element.outerWidth() * x\n\t\t};\n\n\t},\n\n\tclipToBox: function( animation ) {\n\t\treturn {\n\t\t\twidth: animation.clip.right - animation.clip.left,\n\t\t\theight: animation.clip.bottom - animation.clip.top,\n\t\t\tleft: animation.clip.left,\n\t\t\ttop: animation.clip.top\n\t\t};\n\t},\n\n\t// Injects recently queued functions to be first in line (after \"inprogress\")\n\tunshift: function( element, queueLength, count ) {\n\t\tvar queue = element.queue();\n\n\t\tif ( queueLength > 1 ) {\n\t\t\tqueue.splice.apply( queue,\n\t\t\t\t[ 1, 0 ].concat( queue.splice( queueLength, count ) ) );\n\t\t}\n\t\telement.dequeue();\n\t},\n\n\tsaveStyle: function( element ) {\n\t\telement.data( dataSpaceStyle, element[ 0 ].style.cssText );\n\t},\n\n\trestoreStyle: function( element ) {\n\t\telement[ 0 ].style.cssText = element.data( dataSpaceStyle ) || \"\";\n\t\telement.removeData( dataSpaceStyle );\n\t},\n\n\tmode: function( element, mode ) {\n\t\tvar hidden = element.is( \":hidden\" );\n\n\t\tif ( mode === \"toggle\" ) {\n\t\t\tmode = hidden ? \"show\" : \"hide\";\n\t\t}\n\t\tif ( hidden ? mode === \"hide\" : mode === \"show\" ) {\n\t\t\tmode = \"none\";\n\t\t}\n\t\treturn mode;\n\t},\n\n\t// Translates a [top,left] array into a baseline value\n\tgetBaseline: function( origin, original ) {\n\t\tvar y, x;\n\n\t\tswitch ( origin[ 0 ] ) {\n\t\tcase \"top\":\n\t\t\ty = 0;\n\t\t\tbreak;\n\t\tcase \"middle\":\n\t\t\ty = 0.5;\n\t\t\tbreak;\n\t\tcase \"bottom\":\n\t\t\ty = 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ty = origin[ 0 ] / original.height;\n\t\t}\n\n\t\tswitch ( origin[ 1 ] ) {\n\t\tcase \"left\":\n\t\t\tx = 0;\n\t\t\tbreak;\n\t\tcase \"center\":\n\t\t\tx = 0.5;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tx = 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tx = origin[ 1 ] / original.width;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t},\n\n\t// Creates a placeholder element so that the original element can be made absolute\n\tcreatePlaceholder: function( element ) {\n\t\tvar placeholder,\n\t\t\tcssPosition = element.css( \"position\" ),\n\t\t\tposition = element.position();\n\n\t\t// Lock in margins first to account for form elements, which\n\t\t// will change margin if you explicitly set height\n\t\t// see: https://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380\n\t\t// Support: Safari\n\t\telement.css( {\n\t\t\tmarginTop: element.css( \"marginTop\" ),\n\t\t\tmarginBottom: element.css( \"marginBottom\" ),\n\t\t\tmarginLeft: element.css( \"marginLeft\" ),\n\t\t\tmarginRight: element.css( \"marginRight\" )\n\t\t} )\n\t\t.outerWidth( element.outerWidth() )\n\t\t.outerHeight( element.outerHeight() );\n\n\t\tif ( /^(static|relative)/.test( cssPosition ) ) {\n\t\t\tcssPosition = \"absolute\";\n\n\t\t\tplaceholder = $( \"<\" + element[ 0 ].nodeName + \">\" ).insertAfter( element ).css( {\n\n\t\t\t\t// Convert inline to inline block to account for inline elements\n\t\t\t\t// that turn to inline block based on content (like img)\n\t\t\t\tdisplay: /^(inline|ruby)/.test( element.css( \"display\" ) ) ?\n\t\t\t\t\t\"inline-block\" :\n\t\t\t\t\t\"block\",\n\t\t\t\tvisibility: \"hidden\",\n\n\t\t\t\t// Margins need to be set to account for margin collapse\n\t\t\t\tmarginTop: element.css( \"marginTop\" ),\n\t\t\t\tmarginBottom: element.css( \"marginBottom\" ),\n\t\t\t\tmarginLeft: element.css( \"marginLeft\" ),\n\t\t\t\tmarginRight: element.css( \"marginRight\" ),\n\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t} )\n\t\t\t.outerWidth( element.outerWidth() )\n\t\t\t.outerHeight( element.outerHeight() )\n\t\t\t.addClass( \"ui-effects-placeholder\" );\n\n\t\t\telement.data( dataSpace + \"placeholder\", placeholder );\n\t\t}\n\n\t\telement.css( {\n\t\t\tposition: cssPosition,\n\t\t\tleft: position.left,\n\t\t\ttop: position.top\n\t\t} );\n\n\t\treturn placeholder;\n\t},\n\n\tremovePlaceholder: function( element ) {\n\t\tvar dataKey = dataSpace + \"placeholder\",\n\t\t\t\tplaceholder = element.data( dataKey );\n\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.remove();\n\t\t\telement.removeData( dataKey );\n\t\t}\n\t},\n\n\t// Removes a placeholder if it exists and restores\n\t// properties that were modified during placeholder creation\n\tcleanUp: function( element ) {\n\t\t$.effects.restoreStyle( element );\n\t\t$.effects.removePlaceholder( element );\n\t},\n\n\tsetTransition: function( element, list, factor, value ) {\n\t\tvalue = value || {};\n\t\t$.each( list, function( i, x ) {\n\t\t\tvar unit = element.cssUnit( x );\n\t\t\tif ( unit[ 0 ] > 0 ) {\n\t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n\t\t\t}\n\t\t} );\n\t\treturn value;\n\t}\n} );\n\n// Return an effect options object for the given parameters:\nfunction _normalizeArguments( effect, options, speed, callback ) {\n\n\t// Allow passing all options as the first parameter\n\tif ( $.isPlainObject( effect ) ) {\n\t\toptions = effect;\n\t\teffect = effect.effect;\n\t}\n\n\t// Convert to an object\n\teffect = { effect: effect };\n\n\t// Catch (effect, null, ...)\n\tif ( options == null ) {\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, callback)\n\tif ( typeof options === \"function\" ) {\n\t\tcallback = options;\n\t\tspeed = null;\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, speed, ?)\n\tif ( typeof options === \"number\" || $.fx.speeds[ options ] ) {\n\t\tcallback = speed;\n\t\tspeed = options;\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, options, callback)\n\tif ( typeof speed === \"function\" ) {\n\t\tcallback = speed;\n\t\tspeed = null;\n\t}\n\n\t// Add options to effect\n\tif ( options ) {\n\t\t$.extend( effect, options );\n\t}\n\n\tspeed = speed || options.duration;\n\teffect.duration = $.fx.off ? 0 :\n\t\ttypeof speed === \"number\" ? speed :\n\t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n\t\t$.fx.speeds._default;\n\n\teffect.complete = callback || options.complete;\n\n\treturn effect;\n}\n\nfunction standardAnimationOption( option ) {\n\n\t// Valid standard speeds (nothing, number, named speed)\n\tif ( !option || typeof option === \"number\" || $.fx.speeds[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Invalid strings - treat as \"normal\" speed\n\tif ( typeof option === \"string\" && !$.effects.effect[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Complete callback\n\tif ( typeof option === \"function\" ) {\n\t\treturn true;\n\t}\n\n\t// Options hash (but not naming an effect)\n\tif ( typeof option === \"object\" && !option.effect ) {\n\t\treturn true;\n\t}\n\n\t// Didn't match any standard API\n\treturn false;\n}\n\n$.fn.extend( {\n\teffect: function( /* effect, options, speed, callback */ ) {\n\t\tvar args = _normalizeArguments.apply( this, arguments ),\n\t\t\teffectMethod = $.effects.effect[ args.effect ],\n\t\t\tdefaultMode = effectMethod.mode,\n\t\t\tqueue = args.queue,\n\t\t\tqueueName = queue || \"fx\",\n\t\t\tcomplete = args.complete,\n\t\t\tmode = args.mode,\n\t\t\tmodes = [],\n\t\t\tprefilter = function( next ) {\n\t\t\t\tvar el = $( this ),\n\t\t\t\t\tnormalizedMode = $.effects.mode( el, mode ) || defaultMode;\n\n\t\t\t\t// Sentinel for duck-punching the :animated pseudo-selector\n\t\t\t\tel.data( dataSpaceAnimated, true );\n\n\t\t\t\t// Save effect mode for later use,\n\t\t\t\t// we can't just call $.effects.mode again later,\n\t\t\t\t// as the .show() below destroys the initial state\n\t\t\t\tmodes.push( normalizedMode );\n\n\t\t\t\t// See $.uiBackCompat inside of run() for removal of defaultMode in 1.14\n\t\t\t\tif ( defaultMode && ( normalizedMode === \"show\" ||\n\t\t\t\t\t\t( normalizedMode === defaultMode && normalizedMode === \"hide\" ) ) ) {\n\t\t\t\t\tel.show();\n\t\t\t\t}\n\n\t\t\t\tif ( !defaultMode || normalizedMode !== \"none\" ) {\n\t\t\t\t\t$.effects.saveStyle( el );\n\t\t\t\t}\n\n\t\t\t\tif ( typeof next === \"function\" ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( $.fx.off || !effectMethod ) {\n\n\t\t\t// Delegate to the original method (e.g., .show()) if possible\n\t\t\tif ( mode ) {\n\t\t\t\treturn this[ mode ]( args.duration, complete );\n\t\t\t} else {\n\t\t\t\treturn this.each( function() {\n\t\t\t\t\tif ( complete ) {\n\t\t\t\t\t\tcomplete.call( this );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction run( next ) {\n\t\t\tvar elem = $( this );\n\n\t\t\tfunction cleanup() {\n\t\t\t\telem.removeData( dataSpaceAnimated );\n\n\t\t\t\t$.effects.cleanUp( elem );\n\n\t\t\t\tif ( args.mode === \"hide\" ) {\n\t\t\t\t\telem.hide();\n\t\t\t\t}\n\n\t\t\t\tdone();\n\t\t\t}\n\n\t\t\tfunction done() {\n\t\t\t\tif ( typeof complete === \"function\" ) {\n\t\t\t\t\tcomplete.call( elem[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\tif ( typeof next === \"function\" ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override mode option on a per element basis,\n\t\t\t// as toggle can be either show or hide depending on element state\n\t\t\targs.mode = modes.shift();\n\n\t\t\tif ( $.uiBackCompat !== false && !defaultMode ) {\n\t\t\t\tif ( elem.is( \":hidden\" ) ? mode === \"hide\" : mode === \"show\" ) {\n\n\t\t\t\t\t// Call the core method to track \"olddisplay\" properly\n\t\t\t\t\telem[ mode ]();\n\t\t\t\t\tdone();\n\t\t\t\t} else {\n\t\t\t\t\teffectMethod.call( elem[ 0 ], args, done );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( args.mode === \"none\" ) {\n\n\t\t\t\t\t// Call the core method to track \"olddisplay\" properly\n\t\t\t\t\telem[ mode ]();\n\t\t\t\t\tdone();\n\t\t\t\t} else {\n\t\t\t\t\teffectMethod.call( elem[ 0 ], args, cleanup );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Run prefilter on all elements first to ensure that\n\t\t// any showing or hiding happens before placeholder creation,\n\t\t// which ensures that any layout changes are correctly captured.\n\t\treturn queue === false ?\n\t\t\tthis.each( prefilter ).each( run ) :\n\t\t\tthis.queue( queueName, prefilter ).queue( queueName, run );\n\t},\n\n\tshow: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"show\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.show ),\n\n\thide: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"hide\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.hide ),\n\n\ttoggle: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) || typeof option === \"boolean\" ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"toggle\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.toggle ),\n\n\tcssUnit: function( key ) {\n\t\tvar style = this.css( key ),\n\t\t\tval = [];\n\n\t\t$.each( [ \"em\", \"px\", \"%\", \"pt\" ], function( i, unit ) {\n\t\t\tif ( style.indexOf( unit ) > 0 ) {\n\t\t\t\tval = [ parseFloat( style ), unit ];\n\t\t\t}\n\t\t} );\n\t\treturn val;\n\t},\n\n\tcssClip: function( clipObj ) {\n\t\tif ( clipObj ) {\n\t\t\treturn this.css( \"clip\", \"rect(\" + clipObj.top + \"px \" + clipObj.right + \"px \" +\n\t\t\t\tclipObj.bottom + \"px \" + clipObj.left + \"px)\" );\n\t\t}\n\t\treturn parseClip( this.css( \"clip\" ), this );\n\t},\n\n\ttransfer: function( options, done ) {\n\t\tvar element = $( this ),\n\t\t\ttarget = $( options.to ),\n\t\t\ttargetFixed = target.css( \"position\" ) === \"fixed\",\n\t\t\tbody = $( \"body\" ),\n\t\t\tfixTop = targetFixed ? body.scrollTop() : 0,\n\t\t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n\t\t\tendPosition = target.offset(),\n\t\t\tanimation = {\n\t\t\t\ttop: endPosition.top - fixTop,\n\t\t\t\tleft: endPosition.left - fixLeft,\n\t\t\t\theight: target.innerHeight(),\n\t\t\t\twidth: target.innerWidth()\n\t\t\t},\n\t\t\tstartPosition = element.offset(),\n\t\t\ttransfer = $( \"
\" );\n\n\t\ttransfer\n\t\t\t.appendTo( \"body\" )\n\t\t\t.addClass( options.className )\n\t\t\t.css( {\n\t\t\t\ttop: startPosition.top - fixTop,\n\t\t\t\tleft: startPosition.left - fixLeft,\n\t\t\t\theight: element.innerHeight(),\n\t\t\t\twidth: element.innerWidth(),\n\t\t\t\tposition: targetFixed ? \"fixed\" : \"absolute\"\n\t\t\t} )\n\t\t\t.animate( animation, options.duration, options.easing, function() {\n\t\t\t\ttransfer.remove();\n\t\t\t\tif ( typeof done === \"function\" ) {\n\t\t\t\t\tdone();\n\t\t\t\t}\n\t\t\t} );\n\t}\n} );\n\nfunction parseClip( str, element ) {\n\t\tvar outerWidth = element.outerWidth(),\n\t\t\touterHeight = element.outerHeight(),\n\t\t\tclipRegex = /^rect\\((-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto)\\)$/,\n\t\t\tvalues = clipRegex.exec( str ) || [ \"\", 0, outerWidth, outerHeight, 0 ];\n\n\t\treturn {\n\t\t\ttop: parseFloat( values[ 1 ] ) || 0,\n\t\t\tright: values[ 2 ] === \"auto\" ? outerWidth : parseFloat( values[ 2 ] ),\n\t\t\tbottom: values[ 3 ] === \"auto\" ? outerHeight : parseFloat( values[ 3 ] ),\n\t\t\tleft: parseFloat( values[ 4 ] ) || 0\n\t\t};\n}\n\n$.fx.step.clip = function( fx ) {\n\tif ( !fx.clipInit ) {\n\t\tfx.start = $( fx.elem ).cssClip();\n\t\tif ( typeof fx.end === \"string\" ) {\n\t\t\tfx.end = parseClip( fx.end, fx.elem );\n\t\t}\n\t\tfx.clipInit = true;\n\t}\n\n\t$( fx.elem ).cssClip( {\n\t\ttop: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top,\n\t\tright: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right,\n\t\tbottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom,\n\t\tleft: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left\n\t} );\n};\n\n} )();\n\n/******************************************************************************/\n/*********************************** EASING ***********************************/\n/******************************************************************************/\n\n( function() {\n\n// Based on easing equations from Robert Penner (http://robertpenner.com/easing)\n\nvar baseEasings = {};\n\n$.each( [ \"Quad\", \"Cubic\", \"Quart\", \"Quint\", \"Expo\" ], function( i, name ) {\n\tbaseEasings[ name ] = function( p ) {\n\t\treturn Math.pow( p, i + 2 );\n\t};\n} );\n\n$.extend( baseEasings, {\n\tSine: function( p ) {\n\t\treturn 1 - Math.cos( p * Math.PI / 2 );\n\t},\n\tCirc: function( p ) {\n\t\treturn 1 - Math.sqrt( 1 - p * p );\n\t},\n\tElastic: function( p ) {\n\t\treturn p === 0 || p === 1 ? p :\n\t\t\t-Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 );\n\t},\n\tBack: function( p ) {\n\t\treturn p * p * ( 3 * p - 2 );\n\t},\n\tBounce: function( p ) {\n\t\tvar pow2,\n\t\t\tbounce = 4;\n\n\t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}\n\t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );\n\t}\n} );\n\n$.each( baseEasings, function( name, easeIn ) {\n\t$.easing[ \"easeIn\" + name ] = easeIn;\n\t$.easing[ \"easeOut\" + name ] = function( p ) {\n\t\treturn 1 - easeIn( 1 - p );\n\t};\n\t$.easing[ \"easeInOut\" + name ] = function( p ) {\n\t\treturn p < 0.5 ?\n\t\t\teaseIn( p * 2 ) / 2 :\n\t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n\t};\n} );\n\n} )();\n\nvar effect = $.effects;\n\n\n/*!\n * jQuery UI Effects Blind 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Blind Effect\n//>>group: Effects\n//>>description: Blinds the element.\n//>>docs: https://api.jqueryui.com/blind-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectBlind = $.effects.define( \"blind\", \"hide\", function( options, done ) {\n\tvar map = {\n\t\t\tup: [ \"bottom\", \"top\" ],\n\t\t\tvertical: [ \"bottom\", \"top\" ],\n\t\t\tdown: [ \"top\", \"bottom\" ],\n\t\t\tleft: [ \"right\", \"left\" ],\n\t\t\thorizontal: [ \"right\", \"left\" ],\n\t\t\tright: [ \"left\", \"right\" ]\n\t\t},\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"up\",\n\t\tstart = element.cssClip(),\n\t\tanimate = { clip: $.extend( {}, start ) },\n\t\tplaceholder = $.effects.createPlaceholder( element );\n\n\tanimate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ];\n\n\tif ( options.mode === \"show\" ) {\n\t\telement.cssClip( animate.clip );\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.css( $.effects.clipToBox( animate ) );\n\t\t}\n\n\t\tanimate.clip = start;\n\t}\n\n\tif ( placeholder ) {\n\t\tplaceholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing );\n\t}\n\n\telement.animate( animate, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Bounce 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Bounce Effect\n//>>group: Effects\n//>>description: Bounces an element horizontally or vertically n times.\n//>>docs: https://api.jqueryui.com/bounce-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectBounce = $.effects.define( \"bounce\", function( options, done ) {\n\tvar upAnim, downAnim, refValue,\n\t\telement = $( this ),\n\n\t\t// Defaults:\n\t\tmode = options.mode,\n\t\thide = mode === \"hide\",\n\t\tshow = mode === \"show\",\n\t\tdirection = options.direction || \"up\",\n\t\tdistance = options.distance,\n\t\ttimes = options.times || 5,\n\n\t\t// Number of internal animations\n\t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n\t\tspeed = options.duration / anims,\n\t\teasing = options.easing,\n\n\t\t// Utility:\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ),\n\t\ti = 0,\n\n\t\tqueuelen = element.queue().length;\n\n\t$.effects.createPlaceholder( element );\n\n\trefValue = element.css( ref );\n\n\t// Default distance for the BIGGEST bounce is the outer Distance / 3\n\tif ( !distance ) {\n\t\tdistance = element[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]() / 3;\n\t}\n\n\tif ( show ) {\n\t\tdownAnim = { opacity: 1 };\n\t\tdownAnim[ ref ] = refValue;\n\n\t\t// If we are showing, force opacity 0 and set the initial position\n\t\t// then do the \"first\" animation\n\t\telement\n\t\t\t.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n\t\t\t.animate( downAnim, speed, easing );\n\t}\n\n\t// Start at the smallest distance if we are hiding\n\tif ( hide ) {\n\t\tdistance = distance / Math.pow( 2, times - 1 );\n\t}\n\n\tdownAnim = {};\n\tdownAnim[ ref ] = refValue;\n\n\t// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\n\tfor ( ; i < times; i++ ) {\n\t\tupAnim = {};\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\telement\n\t\t\t.animate( upAnim, speed, easing )\n\t\t\t.animate( downAnim, speed, easing );\n\n\t\tdistance = hide ? distance * 2 : distance / 2;\n\t}\n\n\t// Last Bounce when Hiding\n\tif ( hide ) {\n\t\tupAnim = { opacity: 0 };\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\telement.animate( upAnim, speed, easing );\n\t}\n\n\telement.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Clip 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Clip Effect\n//>>group: Effects\n//>>description: Clips the element on and off like an old TV.\n//>>docs: https://api.jqueryui.com/clip-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectClip = $.effects.define( \"clip\", \"hide\", function( options, done ) {\n\tvar start,\n\t\tanimate = {},\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"vertical\",\n\t\tboth = direction === \"both\",\n\t\thorizontal = both || direction === \"horizontal\",\n\t\tvertical = both || direction === \"vertical\";\n\n\tstart = element.cssClip();\n\tanimate.clip = {\n\t\ttop: vertical ? ( start.bottom - start.top ) / 2 : start.top,\n\t\tright: horizontal ? ( start.right - start.left ) / 2 : start.right,\n\t\tbottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom,\n\t\tleft: horizontal ? ( start.right - start.left ) / 2 : start.left\n\t};\n\n\t$.effects.createPlaceholder( element );\n\n\tif ( options.mode === \"show\" ) {\n\t\telement.cssClip( animate.clip );\n\t\tanimate.clip = start;\n\t}\n\n\telement.animate( animate, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n\n} );\n\n\n/*!\n * jQuery UI Effects Drop 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Drop Effect\n//>>group: Effects\n//>>description: Moves an element in one direction and hides it at the same time.\n//>>docs: https://api.jqueryui.com/drop-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectDrop = $.effects.define( \"drop\", \"hide\", function( options, done ) {\n\n\tvar distance,\n\t\telement = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\tdirection = options.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ) ? \"-=\" : \"+=\",\n\t\toppositeMotion = ( motion === \"+=\" ) ? \"-=\" : \"+=\",\n\t\tanimation = {\n\t\t\topacity: 0\n\t\t};\n\n\t$.effects.createPlaceholder( element );\n\n\tdistance = options.distance ||\n\t\telement[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ) / 2;\n\n\tanimation[ ref ] = motion + distance;\n\n\tif ( show ) {\n\t\telement.css( animation );\n\n\t\tanimation[ ref ] = oppositeMotion + distance;\n\t\tanimation.opacity = 1;\n\t}\n\n\t// Animate\n\telement.animate( animation, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Explode 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Explode Effect\n//>>group: Effects\n/* eslint-disable max-len */\n//>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness.\n/* eslint-enable max-len */\n//>>docs: https://api.jqueryui.com/explode-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectExplode = $.effects.define( \"explode\", \"hide\", function( options, done ) {\n\n\tvar i, j, left, top, mx, my,\n\t\trows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3,\n\t\tcells = rows,\n\t\telement = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\n\t\t// Show and then visibility:hidden the element before calculating offset\n\t\toffset = element.show().css( \"visibility\", \"hidden\" ).offset(),\n\n\t\t// Width and height of a piece\n\t\twidth = Math.ceil( element.outerWidth() / cells ),\n\t\theight = Math.ceil( element.outerHeight() / rows ),\n\t\tpieces = [];\n\n\t// Children animate complete:\n\tfunction childComplete() {\n\t\tpieces.push( this );\n\t\tif ( pieces.length === rows * cells ) {\n\t\t\tanimComplete();\n\t\t}\n\t}\n\n\t// Clone the element for each row and cell.\n\tfor ( i = 0; i < rows; i++ ) { // ===>\n\t\ttop = offset.top + i * height;\n\t\tmy = i - ( rows - 1 ) / 2;\n\n\t\tfor ( j = 0; j < cells; j++ ) { // |||\n\t\t\tleft = offset.left + j * width;\n\t\t\tmx = j - ( cells - 1 ) / 2;\n\n\t\t\t// Create a clone of the now hidden main element that will be absolute positioned\n\t\t\t// within a wrapper div off the -left and -top equal to size of our pieces\n\t\t\telement\n\t\t\t\t.clone()\n\t\t\t\t.appendTo( \"body\" )\n\t\t\t\t.wrap( \"
\" )\n\t\t\t\t.css( {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tvisibility: \"visible\",\n\t\t\t\t\tleft: -j * width,\n\t\t\t\t\ttop: -i * height\n\t\t\t\t} )\n\n\t\t\t\t// Select the wrapper - make it overflow: hidden and absolute positioned based on\n\t\t\t\t// where the original was located +left and +top equal to the size of pieces\n\t\t\t\t.parent()\n\t\t\t\t\t.addClass( \"ui-effects-explode\" )\n\t\t\t\t\t.css( {\n\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\theight: height,\n\t\t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n\t\t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n\t\t\t\t\t\topacity: show ? 0 : 1\n\t\t\t\t\t} )\n\t\t\t\t\t.animate( {\n\t\t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n\t\t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n\t\t\t\t\t\topacity: show ? 1 : 0\n\t\t\t\t\t}, options.duration || 500, options.easing, childComplete );\n\t\t}\n\t}\n\n\tfunction animComplete() {\n\t\telement.css( {\n\t\t\tvisibility: \"visible\"\n\t\t} );\n\t\t$( pieces ).remove();\n\t\tdone();\n\t}\n} );\n\n\n/*!\n * jQuery UI Effects Fade 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Fade Effect\n//>>group: Effects\n//>>description: Fades the element.\n//>>docs: https://api.jqueryui.com/fade-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectFade = $.effects.define( \"fade\", \"toggle\", function( options, done ) {\n\tvar show = options.mode === \"show\";\n\n\t$( this )\n\t\t.css( \"opacity\", show ? 0 : 1 )\n\t\t.animate( {\n\t\t\topacity: show ? 1 : 0\n\t\t}, {\n\t\t\tqueue: false,\n\t\t\tduration: options.duration,\n\t\t\teasing: options.easing,\n\t\t\tcomplete: done\n\t\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Fold 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Fold Effect\n//>>group: Effects\n//>>description: Folds an element first horizontally and then vertically.\n//>>docs: https://api.jqueryui.com/fold-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectFold = $.effects.define( \"fold\", \"hide\", function( options, done ) {\n\n\t// Create element\n\tvar element = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tsize = options.size || 15,\n\t\tpercent = /([0-9]+)%/.exec( size ),\n\t\thorizFirst = !!options.horizFirst,\n\t\tref = horizFirst ? [ \"right\", \"bottom\" ] : [ \"bottom\", \"right\" ],\n\t\tduration = options.duration / 2,\n\n\t\tplaceholder = $.effects.createPlaceholder( element ),\n\n\t\tstart = element.cssClip(),\n\t\tanimation1 = { clip: $.extend( {}, start ) },\n\t\tanimation2 = { clip: $.extend( {}, start ) },\n\n\t\tdistance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ],\n\n\t\tqueuelen = element.queue().length;\n\n\tif ( percent ) {\n\t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];\n\t}\n\tanimation1.clip[ ref[ 0 ] ] = size;\n\tanimation2.clip[ ref[ 0 ] ] = size;\n\tanimation2.clip[ ref[ 1 ] ] = 0;\n\n\tif ( show ) {\n\t\telement.cssClip( animation2.clip );\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.css( $.effects.clipToBox( animation2 ) );\n\t\t}\n\n\t\tanimation2.clip = start;\n\t}\n\n\t// Animate\n\telement\n\t\t.queue( function( next ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder\n\t\t\t\t\t.animate( $.effects.clipToBox( animation1 ), duration, options.easing )\n\t\t\t\t\t.animate( $.effects.clipToBox( animation2 ), duration, options.easing );\n\t\t\t}\n\n\t\t\tnext();\n\t\t} )\n\t\t.animate( animation1, duration, options.easing )\n\t\t.animate( animation2, duration, options.easing )\n\t\t.queue( done );\n\n\t$.effects.unshift( element, queuelen, 4 );\n} );\n\n\n/*!\n * jQuery UI Effects Highlight 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Highlight Effect\n//>>group: Effects\n//>>description: Highlights the background of an element in a defined color for a custom duration.\n//>>docs: https://api.jqueryui.com/highlight-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectHighlight = $.effects.define( \"highlight\", \"show\", function( options, done ) {\n\tvar element = $( this ),\n\t\tanimation = {\n\t\t\tbackgroundColor: element.css( \"backgroundColor\" )\n\t\t};\n\n\tif ( options.mode === \"hide\" ) {\n\t\tanimation.opacity = 0;\n\t}\n\n\t$.effects.saveStyle( element );\n\n\telement\n\t\t.css( {\n\t\t\tbackgroundImage: \"none\",\n\t\t\tbackgroundColor: options.color || \"#ffff99\"\n\t\t} )\n\t\t.animate( animation, {\n\t\t\tqueue: false,\n\t\t\tduration: options.duration,\n\t\t\teasing: options.easing,\n\t\t\tcomplete: done\n\t\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Size 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Size Effect\n//>>group: Effects\n//>>description: Resize an element to a specified width and height.\n//>>docs: https://api.jqueryui.com/size-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectSize = $.effects.define( \"size\", function( options, done ) {\n\n\t// Create element\n\tvar baseline, factor, temp,\n\t\telement = $( this ),\n\n\t\t// Copy for children\n\t\tcProps = [ \"fontSize\" ],\n\t\tvProps = [ \"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\" ],\n\t\thProps = [ \"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\" ],\n\n\t\t// Set options\n\t\tmode = options.mode,\n\t\trestore = mode !== \"effect\",\n\t\tscale = options.scale || \"both\",\n\t\torigin = options.origin || [ \"middle\", \"center\" ],\n\t\tposition = element.css( \"position\" ),\n\t\tpos = element.position(),\n\t\toriginal = $.effects.scaledDimensions( element ),\n\t\tfrom = options.from || original,\n\t\tto = options.to || $.effects.scaledDimensions( element, 0 );\n\n\t$.effects.createPlaceholder( element );\n\n\tif ( mode === \"show\" ) {\n\t\ttemp = from;\n\t\tfrom = to;\n\t\tto = temp;\n\t}\n\n\t// Set scaling factor\n\tfactor = {\n\t\tfrom: {\n\t\t\ty: from.height / original.height,\n\t\t\tx: from.width / original.width\n\t\t},\n\t\tto: {\n\t\t\ty: to.height / original.height,\n\t\t\tx: to.width / original.width\n\t\t}\n\t};\n\n\t// Scale the css box\n\tif ( scale === \"box\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tfrom = $.effects.setTransition( element, vProps, factor.from.y, from );\n\t\t\tto = $.effects.setTransition( element, vProps, factor.to.y, to );\n\t\t}\n\n\t\t// Horizontal props scaling\n\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\tfrom = $.effects.setTransition( element, hProps, factor.from.x, from );\n\t\t\tto = $.effects.setTransition( element, hProps, factor.to.x, to );\n\t\t}\n\t}\n\n\t// Scale the content\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tfrom = $.effects.setTransition( element, cProps, factor.from.y, from );\n\t\t\tto = $.effects.setTransition( element, cProps, factor.to.y, to );\n\t\t}\n\t}\n\n\t// Adjust the position properties based on the provided origin points\n\tif ( origin ) {\n\t\tbaseline = $.effects.getBaseline( origin, original );\n\t\tfrom.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top;\n\t\tfrom.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left;\n\t\tto.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top;\n\t\tto.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left;\n\t}\n\tdelete from.outerHeight;\n\tdelete from.outerWidth;\n\telement.css( from );\n\n\t// Animate the children if desired\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\tvProps = vProps.concat( [ \"marginTop\", \"marginBottom\" ] ).concat( cProps );\n\t\thProps = hProps.concat( [ \"marginLeft\", \"marginRight\" ] );\n\n\t\t// Only animate children with width attributes specified\n\t\t// TODO: is this right? should we include anything with css width specified as well\n\t\telement.find( \"*[width]\" ).each( function() {\n\t\t\tvar child = $( this ),\n\t\t\t\tchildOriginal = $.effects.scaledDimensions( child ),\n\t\t\t\tchildFrom = {\n\t\t\t\t\theight: childOriginal.height * factor.from.y,\n\t\t\t\t\twidth: childOriginal.width * factor.from.x,\n\t\t\t\t\touterHeight: childOriginal.outerHeight * factor.from.y,\n\t\t\t\t\touterWidth: childOriginal.outerWidth * factor.from.x\n\t\t\t\t},\n\t\t\t\tchildTo = {\n\t\t\t\t\theight: childOriginal.height * factor.to.y,\n\t\t\t\t\twidth: childOriginal.width * factor.to.x,\n\t\t\t\t\touterHeight: childOriginal.height * factor.to.y,\n\t\t\t\t\touterWidth: childOriginal.width * factor.to.x\n\t\t\t\t};\n\n\t\t\t// Vertical props scaling\n\t\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\t\tchildFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom );\n\t\t\t\tchildTo = $.effects.setTransition( child, vProps, factor.to.y, childTo );\n\t\t\t}\n\n\t\t\t// Horizontal props scaling\n\t\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\t\tchildFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom );\n\t\t\t\tchildTo = $.effects.setTransition( child, hProps, factor.to.x, childTo );\n\t\t\t}\n\n\t\t\tif ( restore ) {\n\t\t\t\t$.effects.saveStyle( child );\n\t\t\t}\n\n\t\t\t// Animate children\n\t\t\tchild.css( childFrom );\n\t\t\tchild.animate( childTo, options.duration, options.easing, function() {\n\n\t\t\t\t// Restore children\n\t\t\t\tif ( restore ) {\n\t\t\t\t\t$.effects.restoreStyle( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Animate\n\telement.animate( to, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: function() {\n\n\t\t\tvar offset = element.offset();\n\n\t\t\tif ( to.opacity === 0 ) {\n\t\t\t\telement.css( \"opacity\", from.opacity );\n\t\t\t}\n\n\t\t\tif ( !restore ) {\n\t\t\t\telement\n\t\t\t\t\t.css( \"position\", position === \"static\" ? \"relative\" : position )\n\t\t\t\t\t.offset( offset );\n\n\t\t\t\t// Need to save style here so that automatic style restoration\n\t\t\t\t// doesn't restore to the original styles from before the animation.\n\t\t\t\t$.effects.saveStyle( element );\n\t\t\t}\n\n\t\t\tdone();\n\t\t}\n\t} );\n\n} );\n\n\n/*!\n * jQuery UI Effects Scale 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Scale Effect\n//>>group: Effects\n//>>description: Grows or shrinks an element and its content.\n//>>docs: https://api.jqueryui.com/scale-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectScale = $.effects.define( \"scale\", function( options, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tmode = options.mode,\n\t\tpercent = parseInt( options.percent, 10 ) ||\n\t\t\t( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== \"effect\" ? 0 : 100 ) ),\n\n\t\tnewOptions = $.extend( true, {\n\t\t\tfrom: $.effects.scaledDimensions( el ),\n\t\t\tto: $.effects.scaledDimensions( el, percent, options.direction || \"both\" ),\n\t\t\torigin: options.origin || [ \"middle\", \"center\" ]\n\t\t}, options );\n\n\t// Fade option to support puff\n\tif ( options.fade ) {\n\t\tnewOptions.from.opacity = 1;\n\t\tnewOptions.to.opacity = 0;\n\t}\n\n\t$.effects.effect.size.call( this, newOptions, done );\n} );\n\n\n/*!\n * jQuery UI Effects Puff 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Puff Effect\n//>>group: Effects\n//>>description: Creates a puff effect by scaling the element up and hiding it at the same time.\n//>>docs: https://api.jqueryui.com/puff-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectPuff = $.effects.define( \"puff\", \"hide\", function( options, done ) {\n\tvar newOptions = $.extend( true, {}, options, {\n\t\tfade: true,\n\t\tpercent: parseInt( options.percent, 10 ) || 150\n\t} );\n\n\t$.effects.effect.scale.call( this, newOptions, done );\n} );\n\n\n/*!\n * jQuery UI Effects Pulsate 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Pulsate Effect\n//>>group: Effects\n//>>description: Pulsates an element n times by changing the opacity to zero and back.\n//>>docs: https://api.jqueryui.com/pulsate-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectPulsate = $.effects.define( \"pulsate\", \"show\", function( options, done ) {\n\tvar element = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tshowhide = show || hide,\n\n\t\t// Showing or hiding leaves off the \"last\" animation\n\t\tanims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n\t\tduration = options.duration / anims,\n\t\tanimateTo = 0,\n\t\ti = 1,\n\t\tqueuelen = element.queue().length;\n\n\tif ( show || !element.is( \":visible\" ) ) {\n\t\telement.css( \"opacity\", 0 ).show();\n\t\tanimateTo = 1;\n\t}\n\n\t// Anims - 1 opacity \"toggles\"\n\tfor ( ; i < anims; i++ ) {\n\t\telement.animate( { opacity: animateTo }, duration, options.easing );\n\t\tanimateTo = 1 - animateTo;\n\t}\n\n\telement.animate( { opacity: animateTo }, duration, options.easing );\n\n\telement.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Shake 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Shake Effect\n//>>group: Effects\n//>>description: Shakes an element horizontally or vertically n times.\n//>>docs: https://api.jqueryui.com/shake-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectShake = $.effects.define( \"shake\", function( options, done ) {\n\n\tvar i = 1,\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"left\",\n\t\tdistance = options.distance || 20,\n\t\ttimes = options.times || 3,\n\t\tanims = times * 2 + 1,\n\t\tspeed = Math.round( options.duration / anims ),\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tpositiveMotion = ( direction === \"up\" || direction === \"left\" ),\n\t\tanimation = {},\n\t\tanimation1 = {},\n\t\tanimation2 = {},\n\n\t\tqueuelen = element.queue().length;\n\n\t$.effects.createPlaceholder( element );\n\n\t// Animation\n\tanimation[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance;\n\tanimation1[ ref ] = ( positiveMotion ? \"+=\" : \"-=\" ) + distance * 2;\n\tanimation2[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance * 2;\n\n\t// Animate\n\telement.animate( animation, speed, options.easing );\n\n\t// Shakes\n\tfor ( ; i < times; i++ ) {\n\t\telement\n\t\t\t.animate( animation1, speed, options.easing )\n\t\t\t.animate( animation2, speed, options.easing );\n\t}\n\n\telement\n\t\t.animate( animation1, speed, options.easing )\n\t\t.animate( animation, speed / 2, options.easing )\n\t\t.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Slide 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Slide Effect\n//>>group: Effects\n//>>description: Slides an element in and out of the viewport.\n//>>docs: https://api.jqueryui.com/slide-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectSlide = $.effects.define( \"slide\", \"show\", function( options, done ) {\n\tvar startClip, startRef,\n\t\telement = $( this ),\n\t\tmap = {\n\t\t\tup: [ \"bottom\", \"top\" ],\n\t\t\tdown: [ \"top\", \"bottom\" ],\n\t\t\tleft: [ \"right\", \"left\" ],\n\t\t\tright: [ \"left\", \"right\" ]\n\t\t},\n\t\tmode = options.mode,\n\t\tdirection = options.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tpositiveMotion = ( direction === \"up\" || direction === \"left\" ),\n\t\tdistance = options.distance ||\n\t\t\telement[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ),\n\t\tanimation = {};\n\n\t$.effects.createPlaceholder( element );\n\n\tstartClip = element.cssClip();\n\tstartRef = element.position()[ ref ];\n\n\t// Define hide animation\n\tanimation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef;\n\tanimation.clip = element.cssClip();\n\tanimation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ];\n\n\t// Reverse the animation if we're showing\n\tif ( mode === \"show\" ) {\n\t\telement.cssClip( animation.clip );\n\t\telement.css( ref, animation[ ref ] );\n\t\tanimation.clip = startClip;\n\t\tanimation[ ref ] = startRef;\n\t}\n\n\t// Actually animate\n\telement.animate( animation, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Transfer 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Transfer Effect\n//>>group: Effects\n//>>description: Displays a transfer effect from one element to another.\n//>>docs: https://api.jqueryui.com/transfer-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effect;\nif ( $.uiBackCompat !== false ) {\n\teffect = $.effects.define( \"transfer\", function( options, done ) {\n\t\t$( this ).transfer( options, done );\n\t} );\n}\nvar effectsEffectTransfer = effect;\n\n\n/*!\n * jQuery UI Focusable 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: :focusable Selector\n//>>group: Core\n//>>description: Selects elements which can be focused.\n//>>docs: https://api.jqueryui.com/focusable-selector/\n\n\n// Selectors\n$.ui.focusable = function( element, hasTabindex ) {\n\tvar map, mapName, img, focusableIfVisible, fieldset,\n\t\tnodeName = element.nodeName.toLowerCase();\n\n\tif ( \"area\" === nodeName ) {\n\t\tmap = element.parentNode;\n\t\tmapName = map.name;\n\t\tif ( !element.href || !mapName || map.nodeName.toLowerCase() !== \"map\" ) {\n\t\t\treturn false;\n\t\t}\n\t\timg = $( \"img[usemap='#\" + mapName + \"']\" );\n\t\treturn img.length > 0 && img.is( \":visible\" );\n\t}\n\n\tif ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) {\n\t\tfocusableIfVisible = !element.disabled;\n\n\t\tif ( focusableIfVisible ) {\n\n\t\t\t// Form controls within a disabled fieldset are disabled.\n\t\t\t// However, controls within the fieldset's legend do not get disabled.\n\t\t\t// Since controls generally aren't placed inside legends, we skip\n\t\t\t// this portion of the check.\n\t\t\tfieldset = $( element ).closest( \"fieldset\" )[ 0 ];\n\t\t\tif ( fieldset ) {\n\t\t\t\tfocusableIfVisible = !fieldset.disabled;\n\t\t\t}\n\t\t}\n\t} else if ( \"a\" === nodeName ) {\n\t\tfocusableIfVisible = element.href || hasTabindex;\n\t} else {\n\t\tfocusableIfVisible = hasTabindex;\n\t}\n\n\treturn focusableIfVisible && $( element ).is( \":visible\" ) && visible( $( element ) );\n};\n\n// Support: IE 8 only\n// IE 8 doesn't resolve inherit to visible/hidden for computed values\nfunction visible( element ) {\n\tvar visibility = element.css( \"visibility\" );\n\twhile ( visibility === \"inherit\" ) {\n\t\telement = element.parent();\n\t\tvisibility = element.css( \"visibility\" );\n\t}\n\treturn visibility === \"visible\";\n}\n\n$.extend( $.expr.pseudos, {\n\tfocusable: function( element ) {\n\t\treturn $.ui.focusable( element, $.attr( element, \"tabindex\" ) != null );\n\t}\n} );\n\nvar focusable = $.ui.focusable;\n\n\n\n// Support: IE8 Only\n// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop\n// with a string, so we need to find the proper form.\nvar form = $.fn._form = function() {\n\treturn typeof this[ 0 ].form === \"string\" ? this.closest( \"form\" ) : $( this[ 0 ].form );\n};\n\n\n/*!\n * jQuery UI Form Reset Mixin 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Form Reset Mixin\n//>>group: Core\n//>>description: Refresh input widgets when their form is reset\n//>>docs: https://api.jqueryui.com/form-reset-mixin/\n\n\nvar formResetMixin = $.ui.formResetMixin = {\n\t_formResetHandler: function() {\n\t\tvar form = $( this );\n\n\t\t// Wait for the form reset to actually happen before refreshing\n\t\tsetTimeout( function() {\n\t\t\tvar instances = form.data( \"ui-form-reset-instances\" );\n\t\t\t$.each( instances, function() {\n\t\t\t\tthis.refresh();\n\t\t\t} );\n\t\t} );\n\t},\n\n\t_bindFormResetHandler: function() {\n\t\tthis.form = this.element._form();\n\t\tif ( !this.form.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar instances = this.form.data( \"ui-form-reset-instances\" ) || [];\n\t\tif ( !instances.length ) {\n\n\t\t\t// We don't use _on() here because we use a single event handler per form\n\t\t\tthis.form.on( \"reset.ui-form-reset\", this._formResetHandler );\n\t\t}\n\t\tinstances.push( this );\n\t\tthis.form.data( \"ui-form-reset-instances\", instances );\n\t},\n\n\t_unbindFormResetHandler: function() {\n\t\tif ( !this.form.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar instances = this.form.data( \"ui-form-reset-instances\" );\n\t\tinstances.splice( $.inArray( this, instances ), 1 );\n\t\tif ( instances.length ) {\n\t\t\tthis.form.data( \"ui-form-reset-instances\", instances );\n\t\t} else {\n\t\t\tthis.form\n\t\t\t\t.removeData( \"ui-form-reset-instances\" )\n\t\t\t\t.off( \"reset.ui-form-reset\" );\n\t\t}\n\t}\n};\n\n\n/*!\n * jQuery UI Support for jQuery core 1.8.x and newer 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n */\n\n//>>label: jQuery 1.8+ Support\n//>>group: Core\n//>>description: Support version 1.8.x and newer of jQuery core\n\n\n// Support: jQuery 1.9.x or older\n// $.expr[ \":\" ] is deprecated.\nif ( !$.expr.pseudos ) {\n\t$.expr.pseudos = $.expr[ \":\" ];\n}\n\n// Support: jQuery 1.11.x or older\n// $.unique has been renamed to $.uniqueSort\nif ( !$.uniqueSort ) {\n\t$.uniqueSort = $.unique;\n}\n\n// Support: jQuery 2.2.x or older.\n// This method has been defined in jQuery 3.0.0.\n// Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js\nif ( !$.escapeSelector ) {\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\tvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n\n\tvar fcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t};\n\n\t$.escapeSelector = function( sel ) {\n\t\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n\t};\n}\n\n// Support: jQuery 3.4.x or older\n// These methods have been defined in jQuery 3.5.0.\nif ( !$.fn.even || !$.fn.odd ) {\n\t$.fn.extend( {\n\t\teven: function() {\n\t\t\treturn this.filter( function( i ) {\n\t\t\t\treturn i % 2 === 0;\n\t\t\t} );\n\t\t},\n\t\todd: function() {\n\t\t\treturn this.filter( function( i ) {\n\t\t\t\treturn i % 2 === 1;\n\t\t\t} );\n\t\t}\n\t} );\n}\n\n;\n/*!\n * jQuery UI Keycode 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: https://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Labels 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: labels\n//>>group: Core\n//>>description: Find all the labels associated with a given input\n//>>docs: https://api.jqueryui.com/labels/\n\n\nvar labels = $.fn.labels = function() {\n\tvar ancestor, selector, id, labels, ancestors;\n\n\tif ( !this.length ) {\n\t\treturn this.pushStack( [] );\n\t}\n\n\t// Check control.labels first\n\tif ( this[ 0 ].labels && this[ 0 ].labels.length ) {\n\t\treturn this.pushStack( this[ 0 ].labels );\n\t}\n\n\t// Support: IE <= 11, FF <= 37, Android <= 2.3 only\n\t// Above browsers do not support control.labels. Everything below is to support them\n\t// as well as document fragments. control.labels does not work on document fragments\n\tlabels = this.eq( 0 ).parents( \"label\" );\n\n\t// Look for the label based on the id\n\tid = this.attr( \"id\" );\n\tif ( id ) {\n\n\t\t// We don't search against the document in case the element\n\t\t// is disconnected from the DOM\n\t\tancestor = this.eq( 0 ).parents().last();\n\n\t\t// Get a full set of top level ancestors\n\t\tancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );\n\n\t\t// Create a selector for the label based on the id\n\t\tselector = \"label[for='\" + $.escapeSelector( id ) + \"']\";\n\n\t\tlabels = labels.add( ancestors.find( selector ).addBack( selector ) );\n\n\t}\n\n\t// Return whatever we have found for labels\n\treturn this.pushStack( labels );\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: https://api.jqueryui.com/scrollParent/\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Tabbable 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: :tabbable Selector\n//>>group: Core\n//>>description: Selects elements which can be tabbed to.\n//>>docs: https://api.jqueryui.com/tabbable-selector/\n\n\nvar tabbable = $.extend( $.expr.pseudos, {\n\ttabbable: function( element ) {\n\t\tvar tabIndex = $.attr( element, \"tabindex\" ),\n\t\t\thasTabindex = tabIndex != null;\n\t\treturn ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex );\n\t}\n} );\n\n\n/*!\n * jQuery UI Unique ID 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: https://api.jqueryui.com/uniqueId/\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n/*!\n * jQuery UI Accordion 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Accordion\n//>>group: Widgets\n/* eslint-disable max-len */\n//>>description: Displays collapsible content panels for presenting information in a limited amount of space.\n/* eslint-enable max-len */\n//>>docs: https://api.jqueryui.com/accordion/\n//>>demos: https://jqueryui.com/accordion/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/accordion.css\n//>>css.theme: ../../themes/base/theme.css\n\n\nvar widgetsAccordion = $.widget( \"ui.accordion\", {\n\tversion: \"1.13.3\",\n\toptions: {\n\t\tactive: 0,\n\t\tanimate: {},\n\t\tclasses: {\n\t\t\t\"ui-accordion-header\": \"ui-corner-top\",\n\t\t\t\"ui-accordion-header-collapsed\": \"ui-corner-all\",\n\t\t\t\"ui-accordion-content\": \"ui-corner-bottom\"\n\t\t},\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theader: function( elem ) {\n\t\t\treturn elem.find( \"> li > :first-child\" ).add( elem.find( \"> :not(li)\" ).even() );\n\t\t},\n\t\theightStyle: \"auto\",\n\t\ticons: {\n\t\t\tactiveHeader: \"ui-icon-triangle-1-s\",\n\t\t\theader: \"ui-icon-triangle-1-e\"\n\t\t},\n\n\t\t// Callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null\n\t},\n\n\thideProps: {\n\t\tborderTopWidth: \"hide\",\n\t\tborderBottomWidth: \"hide\",\n\t\tpaddingTop: \"hide\",\n\t\tpaddingBottom: \"hide\",\n\t\theight: \"hide\"\n\t},\n\n\tshowProps: {\n\t\tborderTopWidth: \"show\",\n\t\tborderBottomWidth: \"show\",\n\t\tpaddingTop: \"show\",\n\t\tpaddingBottom: \"show\",\n\t\theight: \"show\"\n\t},\n\n\t_create: function() {\n\t\tvar options = this.options;\n\n\t\tthis.prevShow = this.prevHide = $();\n\t\tthis._addClass( \"ui-accordion\", \"ui-widget ui-helper-reset\" );\n\t\tthis.element.attr( \"role\", \"tablist\" );\n\n\t\t// Don't allow collapsible: false and active: false / null\n\t\tif ( !options.collapsible && ( options.active === false || options.active == null ) ) {\n\t\t\toptions.active = 0;\n\t\t}\n\n\t\tthis._processPanels();\n\n\t\t// handle negative values\n\t\tif ( options.active < 0 ) {\n\t\t\toptions.active += this.headers.length;\n\t\t}\n\t\tthis._refresh();\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\theader: this.active,\n\t\t\tpanel: !this.active.length ? $() : this.active.next()\n\t\t};\n\t},\n\n\t_createIcons: function() {\n\t\tvar icon, children,\n\t\t\ticons = this.options.icons;\n\n\t\tif ( icons ) {\n\t\t\ticon = $( \"\" );\n\t\t\tthis._addClass( icon, \"ui-accordion-header-icon\", \"ui-icon \" + icons.header );\n\t\t\ticon.prependTo( this.headers );\n\t\t\tchildren = this.active.children( \".ui-accordion-header-icon\" );\n\t\t\tthis._removeClass( children, icons.header )\n\t\t\t\t._addClass( children, null, icons.activeHeader )\n\t\t\t\t._addClass( this.headers, \"ui-accordion-icons\" );\n\t\t}\n\t},\n\n\t_destroyIcons: function() {\n\t\tthis._removeClass( this.headers, \"ui-accordion-icons\" );\n\t\tthis.headers.children( \".ui-accordion-header-icon\" ).remove();\n\t},\n\n\t_destroy: function() {\n\t\tvar contents;\n\n\t\t// Clean up main element\n\t\tthis.element.removeAttr( \"role\" );\n\n\t\t// Clean up headers\n\t\tthis.headers\n\t\t\t.removeAttr( \"role aria-expanded aria-selected aria-controls tabIndex\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis._destroyIcons();\n\n\t\t// Clean up content panels\n\t\tcontents = this.headers.next()\n\t\t\t.css( \"display\", \"\" )\n\t\t\t.removeAttr( \"role aria-hidden aria-labelledby\" )\n\t\t\t.removeUniqueId();\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tcontents.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tif ( this.options.event ) {\n\t\t\t\tthis._off( this.headers, this.options.event );\n\t\t\t}\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\t// Setting collapsible: false while collapsed; open first panel\n\t\tif ( key === \"collapsible\" && !value && this.options.active === false ) {\n\t\t\tthis._activate( 0 );\n\t\t}\n\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis._destroyIcons();\n\t\t\tif ( value ) {\n\t\t\t\tthis._createIcons();\n\t\t\t}\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._super( value );\n\n\t\tthis.element.attr( \"aria-disabled\", value );\n\n\t\t// Support: IE8 Only\n\t\t// #5332 / #6059 - opacity doesn't cascade to positioned elements in IE\n\t\t// so we need to add the disabled class to the headers and panels\n\t\tthis._toggleClass( null, \"ui-state-disabled\", !!value );\n\t\tthis._toggleClass( this.headers.add( this.headers.next() ), null, \"ui-state-disabled\",\n\t\t\t!!value );\n\t},\n\n\t_keydown: function( event ) {\n\t\tif ( event.altKey || event.ctrlKey ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar keyCode = $.ui.keyCode,\n\t\t\tlength = this.headers.length,\n\t\t\tcurrentIndex = this.headers.index( event.target ),\n\t\t\ttoFocus = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase keyCode.RIGHT:\n\t\tcase keyCode.DOWN:\n\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) % length ];\n\t\t\tbreak;\n\t\tcase keyCode.LEFT:\n\t\tcase keyCode.UP:\n\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) % length ];\n\t\t\tbreak;\n\t\tcase keyCode.SPACE:\n\t\tcase keyCode.ENTER:\n\t\t\tthis._eventHandler( event );\n\t\t\tbreak;\n\t\tcase keyCode.HOME:\n\t\t\ttoFocus = this.headers[ 0 ];\n\t\t\tbreak;\n\t\tcase keyCode.END:\n\t\t\ttoFocus = this.headers[ length - 1 ];\n\t\t\tbreak;\n\t\t}\n\n\t\tif ( toFocus ) {\n\t\t\t$( event.target ).attr( \"tabIndex\", -1 );\n\t\t\t$( toFocus ).attr( \"tabIndex\", 0 );\n\t\t\t$( toFocus ).trigger( \"focus\" );\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_panelKeyDown: function( event ) {\n\t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n\t\t\t$( event.currentTarget ).prev().trigger( \"focus\" );\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar options = this.options;\n\t\tthis._processPanels();\n\n\t\t// Was collapsed or no panel\n\t\tif ( ( options.active === false && options.collapsible === true ) ||\n\t\t\t\t!this.headers.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\n\t\t// active false only when collapsible is true\n\t\t} else if ( options.active === false ) {\n\t\t\tthis._activate( 0 );\n\n\t\t// was active, but active panel is gone\n\t\t} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\n\n\t\t\t// all remaining panel are disabled\n\t\t\tif ( this.headers.length === this.headers.find( \".ui-state-disabled\" ).length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\n\t\t\t// activate previous panel\n\t\t\t} else {\n\t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\n\t\t\t}\n\n\t\t// was active, active panel still exists\n\t\t} else {\n\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.headers.index( this.active );\n\t\t}\n\n\t\tthis._destroyIcons();\n\n\t\tthis._refresh();\n\t},\n\n\t_processPanels: function() {\n\t\tvar prevHeaders = this.headers,\n\t\t\tprevPanels = this.panels;\n\n\t\tif ( typeof this.options.header === \"function\" ) {\n\t\t\tthis.headers = this.options.header( this.element );\n\t\t} else {\n\t\t\tthis.headers = this.element.find( this.options.header );\n\t\t}\n\t\tthis._addClass( this.headers, \"ui-accordion-header ui-accordion-header-collapsed\",\n\t\t\t\"ui-state-default\" );\n\n\t\tthis.panels = this.headers.next().filter( \":not(.ui-accordion-content-active)\" ).hide();\n\t\tthis._addClass( this.panels, \"ui-accordion-content\", \"ui-helper-reset ui-widget-content\" );\n\n\t\t// Avoid memory leaks (#10056)\n\t\tif ( prevPanels ) {\n\t\t\tthis._off( prevHeaders.not( this.headers ) );\n\t\t\tthis._off( prevPanels.not( this.panels ) );\n\t\t}\n\t},\n\n\t_refresh: function() {\n\t\tvar maxHeight,\n\t\t\toptions = this.options,\n\t\t\theightStyle = options.heightStyle,\n\t\t\tparent = this.element.parent();\n\n\t\tthis.active = this._findActive( options.active );\n\t\tthis._addClass( this.active, \"ui-accordion-header-active\", \"ui-state-active\" )\n\t\t\t._removeClass( this.active, \"ui-accordion-header-collapsed\" );\n\t\tthis._addClass( this.active.next(), \"ui-accordion-content-active\" );\n\t\tthis.active.next().show();\n\n\t\tthis.headers\n\t\t\t.attr( \"role\", \"tab\" )\n\t\t\t.each( function() {\n\t\t\t\tvar header = $( this ),\n\t\t\t\t\theaderId = header.uniqueId().attr( \"id\" ),\n\t\t\t\t\tpanel = header.next(),\n\t\t\t\t\tpanelId = panel.uniqueId().attr( \"id\" );\n\t\t\t\theader.attr( \"aria-controls\", panelId );\n\t\t\t\tpanel.attr( \"aria-labelledby\", headerId );\n\t\t\t} )\n\t\t\t.next()\n\t\t\t\t.attr( \"role\", \"tabpanel\" );\n\n\t\tthis.headers\n\t\t\t.not( this.active )\n\t\t\t\t.attr( {\n\t\t\t\t\t\"aria-selected\": \"false\",\n\t\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\t\ttabIndex: -1\n\t\t\t\t} )\n\t\t\t\t.next()\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t} )\n\t\t\t\t\t.hide();\n\n\t\t// Make sure at least one header is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.headers.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active.attr( {\n\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\ttabIndex: 0\n\t\t\t} )\n\t\t\t\t.next()\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t\t} );\n\t\t}\n\n\t\tthis._createIcons();\n\n\t\tthis._setupEvents( options.event );\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each( function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t} );\n\n\t\t\tthis.headers.each( function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t} );\n\n\t\t\tthis.headers.next()\n\t\t\t\t.each( function() {\n\t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t\t} )\n\t\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.headers.next()\n\t\t\t\t.each( function() {\n\t\t\t\t\tvar isVisible = $( this ).is( \":visible\" );\n\t\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t\t$( this ).show();\n\t\t\t\t\t}\n\t\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).css( \"height\", \"\" ).height() );\n\t\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t.height( maxHeight );\n\t\t}\n\t},\n\n\t_activate: function( index ) {\n\t\tvar active = this._findActive( index )[ 0 ];\n\n\t\t// Trying to activate the already active panel\n\t\tif ( active === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Trying to collapse, simulate a click on the currently active header\n\t\tactive = active || this.active[ 0 ];\n\n\t\tthis._eventHandler( {\n\t\t\ttarget: active,\n\t\t\tcurrentTarget: active,\n\t\t\tpreventDefault: $.noop\n\t\t} );\n\t},\n\n\t_findActive: function( selector ) {\n\t\treturn typeof selector === \"number\" ? this.headers.eq( selector ) : $();\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {\n\t\t\tkeydown: \"_keydown\"\n\t\t};\n\t\tif ( event ) {\n\t\t\t$.each( event.split( \" \" ), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t} );\n\t\t}\n\n\t\tthis._off( this.headers.add( this.headers.next() ) );\n\t\tthis._on( this.headers, events );\n\t\tthis._on( this.headers.next(), { keydown: \"_panelKeyDown\" } );\n\t\tthis._hoverable( this.headers );\n\t\tthis._focusable( this.headers );\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar activeChildren, clickedChildren,\n\t\t\toptions = this.options,\n\t\t\tactive = this.active,\n\t\t\tclicked = $( event.currentTarget ),\n\t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : clicked.next(),\n\t\t\ttoHide = active.next(),\n\t\t\teventData = {\n\t\t\t\toldHeader: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewHeader: collapsing ? $() : clicked,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif (\n\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.headers.index( clicked );\n\n\t\t// When the call to ._toggle() comes after the class changes\n\t\t// it causes a very odd bug in IE 8 (see #6720)\n\t\tthis.active = clickedIsActive ? $() : clicked;\n\t\tthis._toggle( eventData );\n\n\t\t// Switch classes\n\t\t// corner classes on the previously active header stay after the animation\n\t\tthis._removeClass( active, \"ui-accordion-header-active\", \"ui-state-active\" );\n\t\tif ( options.icons ) {\n\t\t\tactiveChildren = active.children( \".ui-accordion-header-icon\" );\n\t\t\tthis._removeClass( activeChildren, null, options.icons.activeHeader )\n\t\t\t\t._addClass( activeChildren, null, options.icons.header );\n\t\t}\n\n\t\tif ( !clickedIsActive ) {\n\t\t\tthis._removeClass( clicked, \"ui-accordion-header-collapsed\" )\n\t\t\t\t._addClass( clicked, \"ui-accordion-header-active\", \"ui-state-active\" );\n\t\t\tif ( options.icons ) {\n\t\t\t\tclickedChildren = clicked.children( \".ui-accordion-header-icon\" );\n\t\t\t\tthis._removeClass( clickedChildren, null, options.icons.header )\n\t\t\t\t\t._addClass( clickedChildren, null, options.icons.activeHeader );\n\t\t\t}\n\n\t\t\tthis._addClass( clicked.next(), \"ui-accordion-content-active\" );\n\t\t}\n\t},\n\n\t_toggle: function( data ) {\n\t\tvar toShow = data.newPanel,\n\t\t\ttoHide = this.prevShow.length ? this.prevShow : data.oldPanel;\n\n\t\t// Handle activating a panel during the animation for another activation\n\t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n\t\tthis.prevShow = toShow;\n\t\tthis.prevHide = toHide;\n\n\t\tif ( this.options.animate ) {\n\t\t\tthis._animate( toShow, toHide, data );\n\t\t} else {\n\t\t\ttoHide.hide();\n\t\t\ttoShow.show();\n\t\t\tthis._toggleComplete( data );\n\t\t}\n\n\t\ttoHide.attr( {\n\t\t\t\"aria-hidden\": \"true\"\n\t\t} );\n\t\ttoHide.prev().attr( {\n\t\t\t\"aria-selected\": \"false\",\n\t\t\t\"aria-expanded\": \"false\"\n\t\t} );\n\n\t\t// if we're switching panels, remove the old header from the tab order\n\t\t// if we're opening from collapsed state, remove the previous header from the tab order\n\t\t// if we're collapsing, then keep the collapsing header in the tab order\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\ttoHide.prev().attr( {\n\t\t\t\t\"tabIndex\": -1,\n\t\t\t\t\"aria-expanded\": \"false\"\n\t\t\t} );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.headers.filter( function() {\n\t\t\t\treturn parseInt( $( this ).attr( \"tabIndex\" ), 10 ) === 0;\n\t\t\t} )\n\t\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow\n\t\t\t.attr( \"aria-hidden\", \"false\" )\n\t\t\t.prev()\n\t\t\t\t.attr( {\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t} );\n\t},\n\n\t_animate: function( toShow, toHide, data ) {\n\t\tvar total, easing, duration,\n\t\t\tthat = this,\n\t\t\tadjust = 0,\n\t\t\tboxSizing = toShow.css( \"box-sizing\" ),\n\t\t\tdown = toShow.length &&\n\t\t\t\t( !toHide.length || ( toShow.index() < toHide.index() ) ),\n\t\t\tanimate = this.options.animate || {},\n\t\t\toptions = down && animate.down || animate,\n\t\t\tcomplete = function() {\n\t\t\t\tthat._toggleComplete( data );\n\t\t\t};\n\n\t\tif ( typeof options === \"number\" ) {\n\t\t\tduration = options;\n\t\t}\n\t\tif ( typeof options === \"string\" ) {\n\t\t\teasing = options;\n\t\t}\n\n\t\t// fall back from options to animation in case of partial down settings\n\t\teasing = easing || options.easing || animate.easing;\n\t\tduration = duration || options.duration || animate.duration;\n\n\t\tif ( !toHide.length ) {\n\t\t\treturn toShow.animate( this.showProps, duration, easing, complete );\n\t\t}\n\t\tif ( !toShow.length ) {\n\t\t\treturn toHide.animate( this.hideProps, duration, easing, complete );\n\t\t}\n\n\t\ttotal = toShow.show().outerHeight();\n\t\ttoHide.animate( this.hideProps, {\n\t\t\tduration: duration,\n\t\t\teasing: easing,\n\t\t\tstep: function( now, fx ) {\n\t\t\t\tfx.now = Math.round( now );\n\t\t\t}\n\t\t} );\n\t\ttoShow\n\t\t\t.hide()\n\t\t\t.animate( this.showProps, {\n\t\t\t\tduration: duration,\n\t\t\t\teasing: easing,\n\t\t\t\tcomplete: complete,\n\t\t\t\tstep: function( now, fx ) {\n\t\t\t\t\tfx.now = Math.round( now );\n\t\t\t\t\tif ( fx.prop !== \"height\" ) {\n\t\t\t\t\t\tif ( boxSizing === \"content-box\" ) {\n\t\t\t\t\t\t\tadjust += fx.now;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( that.options.heightStyle !== \"content\" ) {\n\t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() - adjust );\n\t\t\t\t\t\tadjust = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t},\n\n\t_toggleComplete: function( data ) {\n\t\tvar toHide = data.oldPanel,\n\t\t\tprev = toHide.prev();\n\n\t\tthis._removeClass( toHide, \"ui-accordion-content-active\" );\n\t\tthis._removeClass( prev, \"ui-accordion-header-active\" )\n\t\t\t._addClass( prev, \"ui-accordion-header-collapsed\" );\n\n\t\t// Work around for rendering bug in IE (#5421)\n\t\tif ( toHide.length ) {\n\t\t\ttoHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;\n\t\t}\n\t\tthis._trigger( \"activate\", null, data );\n\t}\n} );\n\n\n\nvar safeActiveElement = $.ui.safeActiveElement = function( document ) {\n\tvar activeElement;\n\n\t// Support: IE 9 only\n\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an ' );\n\t\thtml.attr( 'height', height );\n\t\thtml.attr( 'width', width );\n\t\tif (video.type === 'youtube') {\n\t\t\thtml.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id );\n\t\t} else if (video.type === 'vimeo') {\n\t\t\thtml.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' );\n\t\t} else if (video.type === 'vzaar') {\n\t\t\thtml.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' );\n\t\t}\n\n\t\tiframe = $(html).wrap( '
' ).insertAfter(item.find('.owl-video'));\n\n\t\tthis._playing = item.addClass('owl-video-playing');\n\t};\n\n\t/**\n\t * Checks whether an video is currently in full screen mode or not.\n\t * @todo Bad style because looks like a readonly method but changes members.\n\t * @protected\n\t * @returns {Boolean}\n\t */\n\tVideo.prototype.isInFullScreen = function() {\n\t\tvar element = document.fullscreenElement || document.mozFullScreenElement ||\n\t\t\t\tdocument.webkitFullscreenElement;\n\n\t\treturn element && $(element).parent().hasClass('owl-video-frame');\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t */\n\tVideo.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tthis._core.$element.off('click.owl.video');\n\n\t\tfor (handler in this._handlers) {\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.Video = Video;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Animate Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the animate plugin.\n\t * @class The Navigation Plugin\n\t * @param {Owl} scope - The Owl Carousel\n\t */\n\tvar Animate = function(scope) {\n\t\tthis.core = scope;\n\t\tthis.core.options = $.extend({}, Animate.Defaults, this.core.options);\n\t\tthis.swapping = true;\n\t\tthis.previous = undefined;\n\t\tthis.next = undefined;\n\n\t\tthis.handlers = {\n\t\t\t'change.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\n\t\t\t\t\tthis.previous = this.core.current();\n\t\t\t\t\tthis.next = e.property.value;\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis.swapping = e.type == 'translated';\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'translate.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\n\t\t\t\t\tthis.swap();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\tthis.core.$element.on(this.handlers);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tAnimate.Defaults = {\n\t\tanimateOut: false,\n\t\tanimateIn: false\n\t};\n\n\t/**\n\t * Toggles the animation classes whenever an translations starts.\n\t * @protected\n\t * @returns {Boolean|undefined}\n\t */\n\tAnimate.prototype.swap = function() {\n\n\t\tif (this.core.settings.items !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!$.support.animation || !$.support.transition) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.core.speed(0);\n\n\t\tvar left,\n\t\t\tclear = $.proxy(this.clear, this),\n\t\t\tprevious = this.core.$stage.children().eq(this.previous),\n\t\t\tnext = this.core.$stage.children().eq(this.next),\n\t\t\tincoming = this.core.settings.animateIn,\n\t\t\toutgoing = this.core.settings.animateOut;\n\n\t\tif (this.core.current() === this.previous) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (outgoing) {\n\t\t\tleft = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\n\t\t\tprevious.one($.support.animation.end, clear)\n\t\t\t\t.css( { 'left': left + 'px' } )\n\t\t\t\t.addClass('animated owl-animated-out')\n\t\t\t\t.addClass(outgoing);\n\t\t}\n\n\t\tif (incoming) {\n\t\t\tnext.one($.support.animation.end, clear)\n\t\t\t\t.addClass('animated owl-animated-in')\n\t\t\t\t.addClass(incoming);\n\t\t}\n\t};\n\n\tAnimate.prototype.clear = function(e) {\n\t\t$(e.target).css( { 'left': '' } )\n\t\t\t.removeClass('animated owl-animated-out owl-animated-in')\n\t\t\t.removeClass(this.core.settings.animateIn)\n\t\t\t.removeClass(this.core.settings.animateOut);\n\t\tthis.core.onTransitionEnd();\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t * @public\n\t */\n\tAnimate.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tfor (handler in this.handlers) {\n\t\t\tthis.core.$element.off(handler, this.handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Autoplay Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author Artus Kolanowski\n * @author David Deutsch\n * @author Tom De Caluwé\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the autoplay plugin.\n\t * @class The Autoplay Plugin\n\t * @param {Owl} scope - The Owl Carousel\n\t */\n\tvar Autoplay = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * The autoplay timeout id.\n\t\t * @type {Number}\n\t\t */\n\t\tthis._call = null;\n\n\t\t/**\n\t\t * Depending on the state of the plugin, this variable contains either\n\t\t * the start time of the timer or the current timer value if it's\n\t\t * paused. Since we start in a paused state we initialize the timer\n\t\t * value.\n\t\t * @type {Number}\n\t\t */\n\t\tthis._time = 0;\n\n\t\t/**\n\t\t * Stores the timeout currently used.\n\t\t * @type {Number}\n\t\t */\n\t\tthis._timeout = 0;\n\n\t\t/**\n\t\t * Indicates whenever the autoplay is paused.\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis._paused = true;\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name === 'settings') {\n\t\t\t\t\tif (this._core.settings.autoplay) {\n\t\t\t\t\t\tthis.play();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.stop();\n\t\t\t\t\t}\n\t\t\t\t} else if (e.namespace && e.property.name === 'position' && this._paused) {\n\t\t\t\t\t// Reset the timer. This code is triggered when the position\n\t\t\t\t\t// of the carousel was changed through user interaction.\n\t\t\t\t\tthis._time = 0;\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.autoplay) {\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'play.owl.autoplay': $.proxy(function(e, t, s) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis.play(t, s);\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'stop.owl.autoplay': $.proxy(function(e) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis.stop();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'mouseover.owl.autoplay': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n\t\t\t\t\tthis.pause();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'mouseleave.owl.autoplay': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'touchstart.owl.core': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n\t\t\t\t\tthis.pause();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'touchend.owl.core': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause) {\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// register event handlers\n\t\tthis._core.$element.on(this._handlers);\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, Autoplay.Defaults, this._core.options);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tAutoplay.Defaults = {\n\t\tautoplay: false,\n\t\tautoplayTimeout: 5000,\n\t\tautoplayHoverPause: false,\n\t\tautoplaySpeed: false\n\t};\n\n\t/**\n\t * Transition to the next slide and set a timeout for the next transition.\n\t * @private\n\t * @param {Number} [speed] - The animation speed for the animations.\n\t */\n\tAutoplay.prototype._next = function(speed) {\n\t\tthis._call = window.setTimeout(\n\t\t\t$.proxy(this._next, this, speed),\n\t\t\tthis._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read()\n\t\t);\n\n\t\tif (this._core.is('interacting') || document.hidden) {\n\t\t\treturn;\n\t\t}\n\t\tthis._core.next(speed || this._core.settings.autoplaySpeed);\n\t}\n\n\t/**\n\t * Reads the current timer value when the timer is playing.\n\t * @public\n\t */\n\tAutoplay.prototype.read = function() {\n\t\treturn new Date().getTime() - this._time;\n\t};\n\n\t/**\n\t * Starts the autoplay.\n\t * @public\n\t * @param {Number} [timeout] - The interval before the next animation starts.\n\t * @param {Number} [speed] - The animation speed for the animations.\n\t */\n\tAutoplay.prototype.play = function(timeout, speed) {\n\t\tvar elapsed;\n\n\t\tif (!this._core.is('rotating')) {\n\t\t\tthis._core.enter('rotating');\n\t\t}\n\n\t\ttimeout = timeout || this._core.settings.autoplayTimeout;\n\n\t\t// Calculate the elapsed time since the last transition. If the carousel\n\t\t// wasn't playing this calculation will yield zero.\n\t\telapsed = Math.min(this._time % (this._timeout || timeout), timeout);\n\n\t\tif (this._paused) {\n\t\t\t// Start the clock.\n\t\t\tthis._time = this.read();\n\t\t\tthis._paused = false;\n\t\t} else {\n\t\t\t// Clear the active timeout to allow replacement.\n\t\t\twindow.clearTimeout(this._call);\n\t\t}\n\n\t\t// Adjust the origin of the timer to match the new timeout value.\n\t\tthis._time += this.read() % timeout - elapsed;\n\n\t\tthis._timeout = timeout;\n\t\tthis._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed);\n\t};\n\n\t/**\n\t * Stops the autoplay.\n\t * @public\n\t */\n\tAutoplay.prototype.stop = function() {\n\t\tif (this._core.is('rotating')) {\n\t\t\t// Reset the clock.\n\t\t\tthis._time = 0;\n\t\t\tthis._paused = true;\n\n\t\t\twindow.clearTimeout(this._call);\n\t\t\tthis._core.leave('rotating');\n\t\t}\n\t};\n\n\t/**\n\t * Pauses the autoplay.\n\t * @public\n\t */\n\tAutoplay.prototype.pause = function() {\n\t\tif (this._core.is('rotating') && !this._paused) {\n\t\t\t// Pause the clock.\n\t\t\tthis._time = this.read();\n\t\t\tthis._paused = true;\n\n\t\t\twindow.clearTimeout(this._call);\n\t\t}\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t */\n\tAutoplay.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tthis.stop();\n\n\t\tfor (handler in this._handlers) {\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Navigation Plugin\n * @version 2.3.4\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\t'use strict';\n\n\t/**\n\t * Creates the navigation plugin.\n\t * @class The Navigation Plugin\n\t * @param {Owl} carousel - The Owl Carousel.\n\t */\n\tvar Navigation = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * Indicates whether the plugin is initialized or not.\n\t\t * @protected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis._initialized = false;\n\n\t\t/**\n\t\t * The current paging indexes.\n\t\t * @protected\n\t\t * @type {Array}\n\t\t */\n\t\tthis._pages = [];\n\n\t\t/**\n\t\t * All DOM elements of the user interface.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._controls = {};\n\n\t\t/**\n\t\t * Markup for an indicator.\n\t\t * @protected\n\t\t * @type {Array.}\n\t\t */\n\t\tthis._templates = [];\n\n\t\t/**\n\t\t * The carousel element.\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis.$element = this._core.$element;\n\n\t\t/**\n\t\t * Overridden methods of the carousel.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._overrides = {\n\t\t\tnext: this._core.next,\n\t\t\tprev: this._core.prev,\n\t\t\tto: this._core.to\n\t\t};\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\n\t\t\t\t\tthis._templates.push('
' +\n\t\t\t\t\t\t$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
');\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'added.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\n\t\t\t\t\tthis._templates.splice(e.position, 0, this._templates.pop());\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'remove.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\n\t\t\t\t\tthis._templates.splice(e.position, 1);\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\n\t\t\t\t\tthis.draw();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && !this._initialized) {\n\t\t\t\t\tthis._core.trigger('initialize', null, 'navigation');\n\t\t\t\t\tthis.initialize();\n\t\t\t\t\tthis.update();\n\t\t\t\t\tthis.draw();\n\t\t\t\t\tthis._initialized = true;\n\t\t\t\t\tthis._core.trigger('initialized', null, 'navigation');\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._initialized) {\n\t\t\t\t\tthis._core.trigger('refresh', null, 'navigation');\n\t\t\t\t\tthis.update();\n\t\t\t\t\tthis.draw();\n\t\t\t\t\tthis._core.trigger('refreshed', null, 'navigation');\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, Navigation.Defaults, this._core.options);\n\n\t\t// register event handlers\n\t\tthis.$element.on(this._handlers);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t * @todo Rename `slideBy` to `navBy`\n\t */\n\tNavigation.Defaults = {\n\t\tnav: false,\n\t\tnavText: [\n\t\t\t'',\n\t\t\t''\n\t\t],\n\t\tnavSpeed: false,\n\t\tnavElement: 'button type=\"button\" role=\"presentation\"',\n\t\tnavContainer: false,\n\t\tnavContainerClass: 'owl-nav',\n\t\tnavClass: [\n\t\t\t'owl-prev',\n\t\t\t'owl-next'\n\t\t],\n\t\tslideBy: 1,\n\t\tdotClass: 'owl-dot',\n\t\tdotsClass: 'owl-dots',\n\t\tdots: true,\n\t\tdotsEach: false,\n\t\tdotsData: false,\n\t\tdotsSpeed: false,\n\t\tdotsContainer: false\n\t};\n\n\t/**\n\t * Initializes the layout of the plugin and extends the carousel.\n\t * @protected\n\t */\n\tNavigation.prototype.initialize = function() {\n\t\tvar override,\n\t\t\tsettings = this._core.settings;\n\n\t\t// create DOM structure for relative navigation\n\t\tthis._controls.$relative = (settings.navContainer ? $(settings.navContainer)\n\t\t\t: $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');\n\n\t\tthis._controls.$previous = $('<' + settings.navElement + '>')\n\t\t\t.addClass(settings.navClass[0])\n\t\t\t.html(settings.navText[0])\n\t\t\t.prependTo(this._controls.$relative)\n\t\t\t.on('click', $.proxy(function(e) {\n\t\t\t\tthis.prev(settings.navSpeed);\n\t\t\t}, this));\n\t\tthis._controls.$next = $('<' + settings.navElement + '>')\n\t\t\t.addClass(settings.navClass[1])\n\t\t\t.html(settings.navText[1])\n\t\t\t.appendTo(this._controls.$relative)\n\t\t\t.on('click', $.proxy(function(e) {\n\t\t\t\tthis.next(settings.navSpeed);\n\t\t\t}, this));\n\n\t\t// create DOM structure for absolute navigation\n\t\tif (!settings.dotsData) {\n\t\t\tthis._templates = [ $('